*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

body, h1, h2, h3, h4, h5, h6, p,
figure, blockquote, dl, dd {
  margin: 0;
}

ul[role='list'], ol[role='list'] {
  list-style: none;
  padding: 0;
  margin: 0;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

html, body {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-optical-sizing: auto;
  color: #111;
  background: #fff;
}

:root{
    /* Desktop sizes */
    --h1-size: 56px;
    --h2-size: 48px;
    --h3-size: 36px;
    --h4-size: 28px;
    --h5-size: 24px;
    --h6-size: 20px;
    --text-size: 18px;
    --supertitle-size: 14px;

    --lh: 1.4;

    --black: #343434;
    --grey: #6F6F6F; 
    --grey-block: #F1F3FA; 
    --light-grey: #E6E6E6;
    --blue: #0963AC;
    --light-blue: #F1F3FA;
    --white: #FFFFFF;
}

@media (max-width: 767px) {
  :root {
    --h1-size: 32px;
    --h2-size: 28px;
    --h3-size: 24px;
    --h4-size: 20px;
    --h5-size: 18px;
    --h6-size: 16px;
    --text-size: 16px;
    --supertitle-size: 12px;
  }
}

h1,.h1 { font-size: var(--h1-size); line-height: var(--lh); margin:0 0 .6em; }
h2,.h2 { font-size: var(--h2-size); line-height: var(--lh); margin:0 0 .6em; }
h3,.h3 { font-size: var(--h3-size); line-height: var(--lh); margin:0 0 .5em; }
h4,.h4 { font-size: var(--h4-size); line-height: var(--lh); margin:0 0 .5em; }
h5,.h5 { font-size: var(--h5-size); line-height: var(--lh); margin:0 0 .4em; }
h6,.h6 { font-size: var(--h6-size); line-height: var(--lh); margin:0 0 .4em; }

p, .text {
    font-size: var(--text-size);
    line-height: var(--lh);
    margin: 0 0 1em;
}
body{
    /*background-image: url(/homepage.jpg);
    background-position: top center;
    background-repeat: no-repeat;*/
    min-height: 9722px;
}
.blue{
    color: var(--blue);
}
.black{
    color: var(--black);
}
.grey{
    color: var(--grey);
}
.white{
    color: var(--white);
}
.light-grey{
    color: var(--light-blue);
}
.light-blue{
    color: var(--light-blue);
}
.blue-bg{
    background-color: var(--blue);
}
.black-bg{
    background-color: var(--black);
}
.grey-bg{
    background-color: var(--grey);
}
.white-bg{
    background-color: var(--white);
}
.light-grey-bg{
    background-color: var(--light-grey);
}
.light-blue-bg{
    background-color: var(--light-blue);
}
.container{
    width: 100%;
    max-width: 1720px;
    margin: 0 auto;
}
.container-fluid{
    width: 100%;
    margin: 0 auto;
}
.row{
    display: flex;
    flex-wrap: wrap;
}
.row.no-wrap{
    flex-wrap: nowrap;
}
.col{
    flex: 1;
    box-sizing: border-box;
}
.col-auto{
    box-sizing: border-box;
}
.mt20{
    margin-top: 20px;
}
.mt160{
    margin-top: 160px;
}
.button{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 17px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    text-align: center;
    cursor: pointer;
    border-radius: 100px;
    -moz-border-radius: 100px;
    -webkit-border-radius: 100px;
    position: relative;
    border: 1px solid transparent;
    white-space: nowrap;
}

.button-icon{
    display: flex;
    width: 60px;
    height: 60px;
    padding: 0;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: 100px;
    -moz-border-radius: 100px;
    -webkit-border-radius: 100px;
    position: relative;
}
.dotStyle::after{
    display: block;
    content: ' ';
    position: absolute;
    right: 24px;
    top: 50%;
    margin-top: -3px;
    width: 7px;
    height: 7px;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    background-color: #000;
}
.button.dotStyle{
    padding-right: 64px;
}
.button svg{
    margin-right: 2px;
}
.button-white{
    background-color: var(--white);
    color: var(--blue);
    border-color: var(--white);
}
.button-blue{
    background-color: var(--blue);
    color: var(--white);
    border-color: var(--blue);
}
.button-transparent{
    background-color: transparent;
    color: var(--white);
    border-color: var(--white);
}
.button.dotStyle.button-white::after{
    background-color: var(--blue);
}
.button.dotStyle.button-blue::after{
    background-color: var(--white);
}
.button.dotStyle.button-transparent::after{
    background-color: var(--white);
}
header.container{
    padding-top: 20px;
}
header.container > .row{
    padding: 16px 24px;
    gap: 24px;
    justify-content: space-between;
    background-color: var(--light-blue);
    border-radius: 16px;
    -moz-border-radius: 16px;
    -webkit-border-radius: 16px;
}
header.container > .row > .col-auto{
    display: flex;
    align-items: center;
}
.col-auto.logo{
    padding-left: 7px;
}
header nav{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 52px;
    border-radius: 100px;
    -moz-border-radius: 100px;
    -webkit-border-radius: 100px;

}
header nav .nav-item > a{
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
    color: var(--black);
    position: relative;
}
header nav .nav-item > a:hover{
    color: var(--blue);
}
.nav-wrap{
    flex: 2;
    max-width: 733px;
}
.col-auto.buttons-wrap{
    display: flex;
    gap: 16px;
}
.contact-wrap > .row{
    gap: 12px;
}
.contact-wrap-text{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
}
.contact-wrap-text a{
    font-weight: 700;
    font-size: 20px;
    letter-spacing: -3%;
    color: var(--black);
    text-decoration: none;
    position: relative;
}
.contact-wrap-text a:hover{
    color: var(--blue);
}
.nav-item.has-children a:hover svg path{
    fill: var(--blue);
}
.contact-wrap-text span{
    font-weight: 500;
    font-size: 14px;
    color: var(--grey);
}
.has-children > a{
    padding-right: 13px;
}
.has-children svg{
    top: 50%;
    margin-top: -3px;
    position: absolute;
    right: 0;
}
.big-banner{
    height: 600px;
    background-image: url(/images/rectangle-34624476.jpg);
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 16px;
    -moz-border-radius: 16px;
    -webkit-border-radius: 16px;
}
.big-banner h1{
    max-width: 830px;
    margin: 0 0 14px 0;
}
.big-banner p{
    max-width: 700px;
    margin: 0;
}
.row.banner-buttons{
    gap: 20px;
    margin-top: 36px;
}
.row2col{
    display: grid;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}
.gray-bg-box{
    background-color: var(--grey-block);
    padding: 20px 32px;
    -webkit-border-radius: 16px;
    -webkit-border-bottom-right-radius: 0;
    -moz-border-radius: 16px;
    -moz-border-radius-bottomright: 0;
    border-radius: 16px;
    border-bottom-right-radius: 0;
    position: relative;
    overflow: hidden;
}
.gray-bg-box h5{
    color: var(--black);
    max-width: 374px;
}
.gray-bg-box p{
    color: var(--grey);
    max-width: 374px;
    padding: 3px 0 13px 0;
    font-size: var(--text-size);
    margin: 0;
}
.button-arrow-right svg{
    margin-left: 14px;
    margin-right: 0;
}
.bg-box-image{
    position: absolute;
}
.item-image-1{
    top: -38px;
    right: -79px;
}
.item-image-2{
    top: -38px;
    right: -101px;
}
.block-subtitle{
    font-size: var(--supertitle-size);
    font-weight: 500;
    color: var(--blue);
    padding-left: 8px;
    position: relative;
    margin-bottom: 16px;
}
.block-subtitle::before{
    display: block;
    content: ' ';
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -2px;
    width: 4px;
    height: 4px;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    background-color: var(--blue);
}
.big-block .h2{
    color: var(--black);
    font-weight: 700;
    margin-bottom: 20px;
}
.big-block-head{
    padding-bottom: 48px;
}
.big-block-head p{
    color: var(--grey);
    font-weight: 500;
    font-size: var(--text-size);
    margin-bottom: 0;
    padding-bottom: 0;
}
.col-align-end{
    justify-content: end;
    display: flex;
    flex-direction: column;
    align-items: end;
}
.greed5-2{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}
.greed-gray-box-item{
    background-color: var(--light-blue);
    padding: 16px 20px 40px 20px;
    -webkit-border-radius: 16px;
    -webkit-border-bottom-right-radius: 0;
    -moz-border-radius: 16px;
    -moz-border-radius-bottomright: 0;
    border-radius: 16px;
    border-bottom-right-radius: 0;
    position: relative;
    overflow: hidden;
}
.greed-gray-box-item .h6{
    color: var(--black);
    font-weight: 700;
}
.cat-box-item a{
    text-decoration: none;
    color: var(--blue);
    font-weight: 700;
    font-size: var(--h6-size);
    position: relative
}
.cat-box-item a + a{
    margin-left: 30px;
}
.cat-box-item a + a::before{
    display: block;
    content: ' ';
    position: absolute;
    left: -18px;
    top: 50%;
    margin-top: -2px;
    width: 6px;
    height: 6px;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    background-color: var(--blue);
}
.greed-gray-box-image-box{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 270px;
}
.greed-gray-box-item .button{
    position: absolute;
    bottom: 20px;
    right: 20px;
    padding: 20px 32px;
}