@font-face {
    font-family: 'Involve';
    src: url('fonts/Involve-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Involve';
    src: url('fonts/Involve-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Involve';
    src: url('fonts/Involve-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Involve';
    src: url('fonts/Involve-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@media(min-width:1920px) {
    html {
        font-size: 1px;
    }
}

* {
    box-sizing: border-box;
    
}
:root{
    --work-width: 1360rem;
    --font-a: 16rem;
    --font-p: 16rem;
    --font-h1: 48rem;
    --font-h2: 36rem;
    --font-h3: 20rem;
    --font-h4: 16rem;
    --font-h5: 16rem;
    --font-h6: 16rem;
    --black: #1A1A1A;
    --blue: #2C74B5;
    --gray: #e7e7e7;
    --font-family: "Involve", sans-serif;
}
html {
    font-size: 0.052084vw;
    scroll-behavior: smooth;
    margin: 0 auto;
    padding: 0;
}

body {
    font-size: 16rem;
    font-family: var(--font-family);
    position: relative;
    z-index: 1;
    margin: 0 auto;
    line-height: 130%;

}

a,
p {
    color: var(--black);
    font-size: var(--font-a);
    font-weight: 400;
    line-height: 130%;
    text-decoration: none;
    transition: all ease .5s;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    display: block;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}
a[href]:hover{
    color:#aad1f4
}
h1, .h1{
    font-size: var(--font-h1);
    font-weight: 600;
    line-height: 130%;
}
h2, .h2{
    font-size: var(--font-h2);
    font-weight: 600;
    line-height: 130%;
}
h3, .h3{
    font-size: var(--font-h3);
    font-style: normal;
    font-weight: 600;
}
h4, .h4{
    font-size: var(--font-h4);
    line-height: normal;
}
h5, .h5{
    font-size: var(--font-h5);
    line-height: 150%;
}
h6, .h6{
    font-size: var(--font-h6);
    line-height: 150%;
}
input{
    padding: 15rem 24rem;
    font-family:  var(--font-family);
    font-size: 16rem;
    border-radius: 0;
    border-color: var(--gray);
}
input::placeholder{
	opacity:0.7;
}
.no-scroll{
    overflow: hidden;
}
.row{
    width: 100%;
}
.column{
    width: var(--work-width);
    margin: 0 auto;
}
.mobileBlockMenu{
    display: block;
    position: fixed;
    left: 0;
    width: 100%;
    top:-100%;
    background-color: #fff;
    transition: all ease .5s;
    z-index: 1200;
}
.mobileBlockMenu.active{
    top:0;
}
.mobileBlockTop{
    display: flex;
    justify-content: space-between;
    height: 100rem;
    align-items: center;
    padding: 20rem 24rem;
    border-bottom: 1rem solid #F1F2F6;
}
.mobileBlockExit img{
    height: 60rem;
    width: 60rem;
    object-fit: contain;
}
.mobileBlockBody{
    padding: 30rem 24rem;
    border-bottom: 1rem solid #F1F2F6;
}
.search{
    width: auto;
}
.search form{
    display: flex;
    position: relative;
}
.search form input{
    width: 600rem;
}
.search button{
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    background-color: var(--blue);
    transition: all ease 0.5s;
}
.search button:hover{
    opacity: 0.8;
}
.mobileBlockItemMenu ul{
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: start;
}
.mobileBlockItemMenu ul a{
    display: block;
    padding: 20rem 0;
    font-size: 20rem;
    color: var(--black);
    font-weight: 600;
    text-transform: uppercase;
    border-bottom: 1rem solid #F1F2F6;
}
.popupBlock{
	display: none;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 600rem;
    background: white;
    padding: 30rem;
    box-shadow: 0 4rem 8rem rgba(0, 0, 0, 0.1);
    z-index: 1000;
    box-sizing: border-box;
    border-radius: 30rem;
}
.close-btn {
    position: absolute;
    right: 30rem;
    top: 30rem;
}
.close-btn img {
    width: 40rem;
    cursor: pointer;
}
.boxProdPopup {
    display: flex;
    flex-direction: column;
    align-items: center;
	gap:20rem;
}
.prodPopupTitle {
    font-size: var(--font-h2);
    font-weight: 600;
    text-align: center;
}
.boxProdPopup p {
    text-align: center;
}
.popupBlock .wpcf7{
	width: 100%;
}
.boxProdPopup input {
    border-radius: 5rem;
    background: #E6E6E6;
    padding: 13rem 30rem;
    width: 100%;
    color: #898989;
    font-size: 16rem;
    font-weight: 400;
    line-height: 24rem;
    border: none;
}
.cfBox{
    display: flex;
    flex-wrap: wrap;
    gap: 30rem;
}
.cfBoxFull{
    width: 100%;
}
.cfBoxMedium{
    width: calc(50% - 15rem);
}
.cfBoxMin{
    width: calc(100% / 3 - 20rem);
}
.cfBox input {
    border-radius: 5rem;
    background: none;
    padding: 13rem 30rem;
    width: 100%;
    color: var(--black);
    font-size: 16rem;
    font-weight: 400;
    line-height: 24rem;
    border: none;
	font-family: var(--font-family);
}
.cfBox textarea {
    border-radius: 5rem;
    width: 100%;
    background: #FFF;
    padding: 20rem 40rem;
    font-size: 16rem;
    height: 130rem;
    font-family: var(--font-family);
}
.cfBox input.wpcf7-submit {
    color: #FFF;
    background: var(--akcent);
    cursor: pointer;
}
#overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 999; 
    transition: all ease .5s;
}
#overlay.active{
    display: block;
}
.breadcrumbs ol{
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap:8rem;
}
/* Делаем ссылку флекс-контейнером */
.mobile-nav-menu li.menu-item-has-children > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* padding, background и т.д. */
}

/* Сама иконка */
.my-mobile-arrow {
    display: inline-flex;
    transition: transform 0.3s;
}

/* Если хотим вращать стрелку при открытом подменю */
.my-mobile-arrow.opened {
    transform: rotate(180deg);
}

/* Скрываем подменю по умолчанию */
.mobile-nav-menu .sub-menu {
    display: none;
}
.header__container{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    padding: 24rem 0;
}
.container{
    width: 1560rem;
    margin: 0 auto;
}
.header__nav ul{
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 30rem;
}
.header__nav a{
    color: #fff;
    font-size: 18rem;
    font-weight: 700;
}
.header__container--scrolled{
    background-color: #fff;
}
.header__container--scrolled a{
    color:#000
}
.hero{
    position: relative;
}
.hero__background{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 5;
    object-fit: cover;
    object-position: center;
}
.hero__container{
    padding: 470rem 0 128rem;
    position: relative;
    z-index: 10;
}
.hero__title{
    width: 1120rem;
    font-size: 64rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
}
.hero__subtitle{
    margin: 24rem 0 40rem;
    font-size: 24rem;
    color: #fff;
    font-weight: 600;
}
.btn-primary{
    display: block;
    width: max-content;
    padding: 12rem 24rem;
    color: #fff;
    background-color: var(--blue);
    font-size: 18rem;
    font-weight: 700;
}
.hero::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(270deg, rgba(233, 95, 103, 0.60) 0.26%, rgba(86, 132, 177, 0.60) 99.69%), lightgray -213.728px -253px / 111.43% 137.874% no-repeat;;
    z-index: 7;
    opacity: .6;
}
.about{
    margin: 130rem 0;
}
.about__container{
    height: 360rem;
    position: relative;
    overflow: hidden;
    padding: 30rem;
    background-color: #F7F7F7;
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
}
.about__title{
    font-size: 40rem;
    color:var(--blue);
    display: inline-block;
    font-weight: 700;
    text-transform: uppercase;
    padding-bottom: 5rem;
    border-bottom: 1rem solid var(--blue);
    margin-bottom: 50rem;
}
.about__block{
    display: flex;
    justify-content: space-between;
}
.about__text{
    width: 760rem;
    font-size: 24rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--blue);
    line-height: 120%;
}
.about__right{
    width: 580rem;
    padding: 16rem 24rem;
    background-color: var(--blue);
}
.about__right h3, 
.about__right p{
    font-size: 24rem;
    color:#fff;
    font-weight: 600;
    text-align: center;
}
.about__right h4{
    font-size: 56rem;
    color: #fff;
    text-align: center;
    font-weight: 600;
    margin: 8rem 0;
    text-transform: uppercase;
}
.advant{
    position: relative;
    overflow: hidden;
    background: #F7F7F7;
    box-shadow: 0px 0px 8.5px 0px rgba(67, 85, 102, 0.50);
    padding: 60rem 0 40rem;
}
.advant__img-1,
.advant__img-2{
    position: absolute;
    z-index: 1;
}
.advant__img-1{
    width: 420rem;
    left: 0;
    bottom: 0;
}
.advant__img-2{
    width: 500rem;
    top: 0;
    right: -180rem;
}
.advant__items{
    z-index: 10;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 100rem;
}
.advant__item{
    width: 320rem;
    height: 320rem;
    position: relative;
    border-radius: 500rem;
}
.advant__item::before{
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 500rem;
    padding: 2rem;
    background: linear-gradient(270deg, #E95F67 -20.58%, #2C74B5 139.95%);
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; 
    mask-composite: exclude;
}
.advant__icon{
    position: absolute;
    z-index: 20;
    top: -24rem;
    left: 50%;
    transform: translateX(-50%);
    width: 140rem;
    text-align: center;
    background-color:#F7F7F7;
}
.advant__icon img{
    height: 80rem;
}
.advant__item-title{
    margin: 120rem 0 8rem;
    text-align: center;
    color: var(--blue);
    text-transform: uppercase;
    font-size: 24rem;
    font-weight: 600;
    line-height: 130%;
}
.advant__item-text{
    width: 210rem;
    margin: 8rem auto 0;
    color: var(--blue);
    font-size: 18rem;
    font-weight: 500;
    text-align: center;
}
.opros{
    margin: 130rem 0;
}
.opros__container{
    padding: 40rem 64rem;
    background: linear-gradient(270deg, #E95F67 -20.58%, #2C74B5 115.25%);
    box-shadow: 0px 0px 8.5px 0px rgba(67, 85, 102, 0.50);
}
.opros__title{
    display: inline-block;
    color: #fff;
    font-size: 40rem;
    font-weight: 700;
    padding-bottom: 5rem;
    border-bottom: 1rem solid #fff;
    text-transform: uppercase;
    margin-bottom: 50rem;
}
.form-box{
    display: flex;
    flex-wrap: wrap;
    gap:50rem 64rem;
}
.form-box__item{
    width: calc(100% / 3 - 128rem / 3);
}
.form-box__input input,
.form-box__input select{
    width: 100%;
    padding: 10rem 16rem;
    position: relative;
    font-size: 18rem;    
    font-weight: 500;
    border: none;
}

.form-box__title{
    color:#fff;
    margin-bottom: 16rem;
    font-size: 18rem;
    font-weight: 500;
    
}
.form-box__input select{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none; 
    position: relative;
}
.form-box__input .wpcf7-form-control-wrap[data-name^="select-"]::after{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 41rem;
    width: 40rem;
    pointer-events: none; 
    z-index: 5;
    background-size: cover;
    background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%3E%3Crect%20width%3D%2240%22%20height%3D%2240%22%20fill%3D%22%232C74B5%22/%3E%3Cpath%20d%3D%22M11.9906%2016.9906L20%2025L28.0095%2016.9906L27.0048%2016L20%2023.0047L12.9953%2016L11.9906%2016.9906Z%22%20fill%3D%22white%22/%3E%3C/svg%3E");
}
.form-box__input .wpcf7-form-control-wrap{
    display: block;
}
.form-box__proof{
    width: 100%;
}
.form-box__proof .wpcf7-list-item-label{
    color: #fff;
}
.form-box__proof input{
    width: auto;
}
.form-box__send button{
    padding: 12rem 24rem;
    background-color: #E95F67;
    color: #fff;
    cursor: pointer;
    font-size: 18rem;
    line-height: 150%;
    font-weight: 700;
    border: none;
}
.form-box__send .wpcf7-submit[disabled]{
    background-color: #ccc;
    cursor: not-allowed;
}
footer{
    background-color: var(--blue);
}
.footer__container ul{
    list-style-type: none;
    margin: 0;
    padding: 40rem 0;
    display: flex;
    align-items: center;
    gap: 30rem;
    
}
.footer__container ul a{
    color: #fff;
    font-size: 18rem;
    font-weight: 700;
}
.form-box__input span{
    color: #fff;
}

@media(max-width: 600px){
    html{
        font-size: 0.16666666vw;
    }
    .container{
        width: 100%;
        padding: 0 16rem;
    }
    .hero__container{
        padding: 240rem 16rem 120rem;
    }
    .hero__title{
        font-size: 50rem;
        width: 100%;
    }
    .about,
    .opros{
        margin: 80rem 0;
    }
    .about__block{
        flex-direction: column;
        gap: 24rem;
    }
    .about__container{
        padding: 60rem 30rem;
        height: auto;
    }
    .about__text{
        width: 100%;
    }
    .about__right{
        width: 100%
    }
    .advant__items{
        flex-direction: column;
    }
    .advant__img-1 svg{
        width: 200rem;
    }
    .advant__img-2 svg{
        width: 300rem;
    }
    .opros__container{
        padding: 30rem 16rem;
    }
    .form-box__items{
        align-items: flex-end;
    }
    .form-box__item{
        width: calc(50% - 32rem);
        
    }
    .form-box__item:nth-child(3){
        display: none;
    }
}