@font-face {

    font-family: 'Intro';

    src: url('../fonts/Intro.eot');

    src: url('../fonts/Intro.eot') format('embedded-opentype'),

    url('../fonts/Intro.woff2') format('woff2'),

    url('../fonts/Intro.woff') format('woff'),

    url('../fonts/Intro.ttf') format('truetype'),

    url('../fonts/Intro.svg#Intro') format('svg');

    font-weight: 400;

    font-style: normal;

}



/*common*/

body {

    background: #CCE6FC;

}

input {

    -webkit-appearance: none !important;

}

body, button, textarea, input {

    font-family: 'Montserrat', sans-serif;

    font-weight: 400;

}

button {

    font-weight: 700;

    cursor: pointer;

}

button, textarea, input {

    box-sizing: border-box;

    border: none;

    outline: none;

}

.content {

    margin: 0 auto;

    padding: 0 20px;

    max-width: 1110px;

}

.page-wrap {

    position: relative;

    overflow: hidden;

}

.clear-fix:after {

    content: '';

    display: block;

    clear: both;

}

.flex-container {

    display: flex;

    display: -moz-flex;

    display: -webkit-flex;

    display: -o-flex;

    display: -ms-flex;

    flex-wrap: wrap;

    -webkit-flex-wrap: wrap;

    -ms-flex-wrap: wrap;

}

.va-middle {

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;

}

.spacer_bottom,

.spacer_top,

.spacer {

    -ms-flex-pack: justify;

    justify-content: space-between;

    display: -ms-flexbox;

    display: flex;

    flex-wrap: wrap;

    -webkit-flex-wrap: wrap;

    -ms-flex-wrap: wrap;

}

.spacer > * {

    -ms-flex-item-align: center;

    align-self: center;

}

.spacer_bottom > * {

    -ms-flex-item-align: end;

    align-self: flex-end;

}

.spacer_top > * {

    -ms-flex-item-align: start;

    align-self: flex-start;

}

.pos-center {

    position: absolute;

    top: 0;

    bottom: 0;

    left: 0;

    right: 0;

    margin: auto;

}

.d-ib {

    display: inline-block;

}

.hidden {

    display: none !important;

}

.yellow-btn {

    font-weight: 700;

    max-width: 413px;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    border: 1px solid rgba(255, 255, 255, 0.5);

    box-sizing: border-box;

    box-shadow: 0 3px 0 #E0A829, 3px 4px 10px #FFCC40, 0 0 13px rgba(255, 190, 22, 0.5);

    border-radius: 10px;

    height: 64px;

    width: 100%;

    font-size: 14px;

    text-align: center;

    color: #531E00;

    position: relative;

}

.yellow-btn:hover {

    background: linear-gradient(180deg, rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 100%), linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

}

.yellow-btn_bd:before {

    content: '';

    position: absolute;

    top: 5px;

    bottom: 5px;

    right: 4px;

    left: 4px;

    border: 1px dashed rgba(255, 255, 255, 0.5);

    box-sizing: border-box;

    border-radius: 10px;

}

.blue-btn {

    background: radial-gradient(111.22% 111.22% at 40.47% -0.72%, rgba(255, 255, 255, 0.66) 0%, rgba(255, 255, 255, 0) 100%), #61B4FF;

    box-shadow: 0 4px 2px #0081F7;

    border-radius: 10px;

    height: 49px;

    max-width: 153px;

    width: 100%;

    font-weight: 400;

    font-size: 14px;

    line-height: 17px;

}

.blue-btn:hover {

    color: #FFFFFF;

    background: radial-gradient(111.22% 111.22% at 40.47% -0.72%, rgba(255, 255, 255, 0.66) 0%, rgba(255, 255, 255, 0) 100%), #007BEC;

    box-shadow: 0 4px 2px #90CAFF;

}

.blue-btn .svg-icon {

    fill: #2F66B8;

}

.blue-btn:hover .svg-icon {

    fill: #FFFFFF;

}

.white-btn {

    background: linear-gradient(94.74deg, #FFFFFF 30.83%, rgba(255, 255, 255, 0) 76.02%), #ECECEC;

    border: 2px solid rgba(255, 255, 255, 0.5);

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 20px;

    height: 45px;

    max-width: 255px;

    width: 100%;

    font-weight: 500;

    font-size: 14px;

    position: relative;

}

.white-btn:hover {

    color: #FFFFFF;

    background: #61B4FF;

}

h2 {

    font-family: 'Intro', sans-serif;

    text-transform: uppercase;

    font-size: 36px;

    line-height: 36px;

}

.blue-btn,

.ppy__btn,

.yellow-btn,

.callback-btn,

.green-btn {

    position: relative;

    -webkit-backface-visibility: hidden;

    backface-visibility: hidden;

    -webkit-transform: translateZ(0);

    transform: translateZ(0);

    -webkit-user-select: none;

    -moz-user-select: none;

    -ms-user-select: none;

    user-select: none;

    white-space: nowrap;

    overflow: hidden;

}

.ppy__btn:before,

.blue-btn:after,

.callback-btn:after,

.yellow-btn:after {

    content: "";

    width: 100%;

    height: 100%;

    background: linear-gradient(110deg,hsla(0,0%,100%,0) 15%,hsla(0,0%,100%,.75) 25%,hsla(0,0%,100%,0) 35%);

    position: absolute;

    left: 0;

    top: 0;

    -webkit-animation: bntGradientAnimation 2.5s linear infinite;

    animation: bntGradientAnimation 2.5s linear infinite;

    -webkit-transform: translate(-50%, 0);

    transform: translate(-50%, 0);

    animation-delay: 2s;

}



@-webkit-keyframes bntGradientAnimation {

    0% {

        opacity: .1;

        -webkit-transform: translate(-50%, 0);

        transform: translate(-50%, 0);

    }

    16% {

        opacity: 1;

        -webkit-transform: translate(35%, 0);

        transform: translate(35%, 0);

    }

    22% {

        opacity: .5;

        -webkit-transform: translate(55%, 0);

        transform: translate(55%, 0);

    }

    40% {

        -webkit-transform: translate(120%, 0);

        transform: translate(120%, 0);

    }

    100% {

        opacity: .35;

        -webkit-transform: translate(120%, 0);

        transform: translate(120%, 0);

    }

}

@keyframes bntGradientAnimation {

    0% {

        opacity: .1;

        -webkit-transform: translate(-50%, 0);

        transform: translate(-50%, 0);

    }

    16% {

        opacity: 1;

        -webkit-transform: translate(35%, 0);

        transform: translate(35%, 0);

    }

    22% {

        opacity: .5;

        -webkit-transform: translate(55%, 0);

        transform: translate(55%, 0);

    }

    40% {

        -webkit-transform: translate(120%, 0);

        transform: translate(120%, 0);

    }

    100% {

        opacity: .35;

        -webkit-transform: translate(120%, 0);

        transform: translate(120%, 0);

    }

}

/*end common*/



/*header*/

.header {

    background: #61B4FF;

    position: relative;

    z-index: 60;

}

.header__left {

    position: relative;

    padding: 27px 39px 7px 30px;

}

.header__left:after {

    content: '';

    position: absolute;

    top: 0; right: 0;

    width: 1500px;

    height: 100px;

    background: #FFFFFF;

}

.header__right > *,

.header__left > * {

    position: relative;

    z-index: 3;

    display: inline-block;

    vertical-align: middle;

}

.logo {

    background: url('../images/logo.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 160px;

    height: 45px;

}

.header__title {

    position: relative;

    top: 1px;

    margin-left: 16px;

    font-size: 14px;

    line-height: 120%;

}

.icon-phone {

    width: 18px;

    height: 19px;

}

.phone {

    padding-left: 52px;

    position: relative;

    color: #FFFFFF;

}

.phone__icon {

    position: absolute;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    width: 36px;

    height: 36px;

    border-radius: 50%;

    left: 0;

    top: 1px;

}

.phone__number {

    font-weight: bold;

    font-size: 18px;

    line-height: 22px;

    text-decoration: none;

    color: #FFFFFF;

}

.phone__time {

    margin-top: 2px;

    font-weight: 500;

    font-size: 12px;

    line-height: 15px;

}

.header__right {

    padding-top: 18px;

    padding-bottom: 18px;

}

.callback-btn {

    margin-left: 57px;

    position: relative;

    top: 1px;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    border: 1px solid rgba(255, 255, 255, 0.5);

    box-sizing: border-box;

    box-shadow: 0 0 13px rgba(255, 190, 22, 0.5);

    border-radius: 8px;

    width: 167px;

    height: 41px;

    font-weight: bold;

    font-size: 14px;

    line-height: 17px;

    padding-top: 2px;

    color: #531E00;

}

.callback-btn:hover {

    background: linear-gradient(180deg, rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 100%), linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    box-shadow: 0 3px 0 #E0A829, 3px 4px 35px #FFCC40, 0 0 13px rgba(255, 190, 22, 0.5);

}

/*end header*/



/*main*/

.main {

    position: relative;

    padding-bottom: 137px;

    padding-top: 91px;

    overflow: hidden;

    background: linear-gradient(to bottom, #7dc1ff, #CCE6FC);

}

.main:after,

.main:before {

    content: '';

    position: absolute;

}

.main:before {

    background: url('../images/bg/main-right-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    top: -46px;

    right: 0;

    width: 100%;

    max-width: 1440px;

    height: 767px;

}

.main:after {

    background: url('../images/bg/main-left-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 472px;

    height: 320px;

    top: 323px;

    left: 0;

}

.main .content {

    position: relative;

    z-index: 3;

}

.main__left {

    padding-left: 26px;

}

h1 {

    font-family: 'Intro', sans-serif;

    text-transform: uppercase;

    font-weight: 400;

    font-size: 48px;

    line-height: 48px;

    color: #FFFFFF;

    text-shadow: 1px 0 0 #87C6FF, -1px 0 0 #87C6FF, 0 -1px 0 #87C6FF, 0 1px 0 #87C6FF, 0 4px 37px rgba(52, 123, 188, 0.5);

}

h1 small {

    text-shadow: none;

    background: #090E01;

    border: 1px solid rgba(255, 255, 255, 0.29);

    box-sizing: border-box;

    text-align: center;

    width: 280px;

    font-size: 24px;

    display: inline-block;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 9px;

    height: 44px;

    line-height: 44px;

    margin-left: -6px;

    position: relative;

    top: -6px;

}

.m-advantages {

    margin-top: 38px;

}

.m-advantage {

    background: rgba(253, 253, 253, 0.2);

    border: 1px solid #FFFFFF;

    box-sizing: border-box;

    backdrop-filter: blur(10px);

    width: 220px;

    height: 80px;

    padding: 4px 20px 4px 72px;

    border-radius: 10px;

    margin-right: 31px;

    position: relative;

}

.m-advantage:last-child {

    margin-right: 0;

}

.m-advantage__desc {

    font-size: 14px;

    line-height: 17px;

    color: #000000;

}

.m-advantage__desc strong {

    font-weight: 700;

}

.m-advantage__bg {

    position: absolute;

}

.m-advantage__bg_1 {

    background: url('../images/m-advantages/item-1.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 112px;

    height: 99px;

    left: -33px;

    top: -13px;

}

.m-advantage__bg_2 {

    background: url('../images/m-advantages/item-2.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 96px;

    height: 117px;

    top: -20px;

    left: -24px;

}

.main__desc {

    margin-top: 45px;

    max-width: 410px;

    font-size: 18px;

    line-height: 22px;

}

.main__desc strong {

    font-weight: 700;

}

.main__info {

    margin-top: 13px;

    font-size: 12px;

    line-height: 15px;

    max-width: 410px;

}

.main__btn-wrap {

    margin-top: 44px;

}

.main__btn-wrap {

    position: relative;

}

.main__btn-wrap:after {

    content: '';

    position: absolute;

    background: url('../images/decor/btn-decor-1.png') no-repeat center;

    width: 79px;

    height: 78px;

    left: 13px;

    bottom: -1px;

    pointer-events: none;

}

.main__scroll {

    position: absolute;

    bottom: -78px;

    left: 0; right: 0;

    width: 45px;

    margin: 0 auto;

    text-align: center;

}

.main__scroll span {

    font-size: 12px;

    line-height: 15px;

    display: block;

}

.main__scroll .svg-icon {

    margin-top: 7px;

    width: 28px;

    height: 125px;

}

/*end main*/



/*guarantees*/

.guarantees {

    position: relative;

    z-index: 5;

}

.guarantees .content {

    position: relative;

}

.guarantees .content:after {

    content: '';

    left: 20px;

    width: 2000px;

    top: 0; bottom: 0;

    background: #FFFFFF;

    border-radius: 5px;

    position: absolute;

}

.guarantees__list {

    position: relative;

    z-index: 5;

    max-width: 920px;

    padding: 33px 0 34px 95px;

}

.guarantee {

    width: 29.89%;

    box-sizing: border-box;

    background: #EAF5FF;

    margin-right: 5.16%;

    padding: 10px 10px 16px;

}

.guarantee:last-child {

    margin-right: 0;

}

.guarantee__bg {

    height: 161px;

    width: 206px;

    margin: 0 auto;

    position: relative;

    border-radius: 10px;

}

.guarantee__bg_white {

    background: #FFFFFF;

}

.guarantee__title {

    margin-top: 16px;

    font-weight: bold;

    font-size: 18px;

    line-height: 22px;

    text-align: center;

}

.guarantee__desc {

    margin-top: 33px;

    font-size: 14px;

    line-height: 17px;

}

.guarantee__desc strong {

    font-weight: 700;

}

.guarantee img {

    position: absolute;

}

.guarantee:nth-child(1) img {

    left: 0; right: 0; bottom: 0;

    margin: 0 auto;

}

.guarantee:nth-child(2) img {

    left: 0; bottom: 0;

}

.guarantee:nth-child(3) img {

    top: 1px;

    right: 17px;

}

/*end guarantees*/



/*about*/

.about {

    position: relative;

    height: 827px;

    margin-top: -221px;

}

.about:after {

    content: '';

    position: absolute;

    top: 0; bottom: 0; left: 0;

    right: 165px;

    background: url('../images/bg/about-bg.jpg') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

}

.about .content {

    position: relative;

    z-index: 5;

    padding-bottom: 50px;

    padding-top: 295px;

}

.about h2 {

    color: #ffffff;

}

.about__text {

    margin-top: 17px;

    padding: 23px 14px 21px;

    background: rgba(6, 22, 65, 0.2);

    backdrop-filter: blur(6px);

    max-width: 445px;

    box-sizing: border-box;

    border-radius: 10px;

}

.about__text p {

    font-size: 14px;

    line-height: 17px;

    margin-bottom: 20px;

    color: #FFFFFF;

    text-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

}

.about__text p:last-child {

    margin-bottom: 0;

}

.about__text p span {

    text-shadow: none;

}

.about__photo {

    background: url('../images/bg/about-photo.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 622px;

    height: 305px;

    position: absolute;

    top: 350px;

    right: -62px;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 10px;

}

.about__btn {

    max-width: 445px;

    height: 74px;

    font-size: 18px;

    text-shadow: 0 0 4px #FFFBEE;

}

.about__btn-wrap {

    width: 100%;

    max-width: 445px;

    margin-top: 29px;

    display: inline-block;

    font-size: 0;

    position: relative;

}

.about__btn-wrap:after {

    content: '';

    position: absolute;

    background: url('../images/decor/btn-decor-2.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 125px;

    height: 85px;

    top: -5px;

    left: -24px;

    pointer-events: none;

}

.about__left-bg {

    left: 0;

    position: absolute;

    bottom: -106px;

    background: url('../images/bg/about-left-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 432px;

    height: 223px;

    z-index: 2;

}

.about__right-bg {

    position: absolute;

    right: 0;

    bottom: -284px;

    background: url('../images/bg/about-right-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 695px;

    height: 520px;

    z-index: 6;

}

/*end about*/



/*prices*/

.prices {

    position: relative;

    z-index: 10;

    padding-top: 61px;

}

.prices h2 {

    position: relative;

    padding-left: 68px;

}

.prices h2:after {

    content: '';

    position: absolute;

    background: url('../images/decor/title-decor-1.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 120px;

    height: 120px;

    left: -36px;

    top: -34px;

}

.prices__desc {

    margin-top: 29px;

    font-size: 14px;

    line-height: 17px;

}

.icon-btn-arrow {

    width: 25px;

    height: 16px;

}

.prices__list {

    margin-top: 39px;

}

.price {

    width: 31.53%;

    background: #FFFFFF;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 10px;

    margin-right: 2.7%;

}

.price:last-child {

    margin-right: 0;

}

.price__photo {

    padding-top: 63.23%;

    position: relative;

    overflow: hidden;

    border: 3px solid #FFFFFF;

    box-sizing: border-box;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 10px;

}

.price__photo img {

    position: absolute;

    left: 0; top: 0;

    height: 100%;

    width: 100%;

    object-fit: cover;

}

.price__body {

    padding: 19px 15px 40px;

}

.price__title {

    text-align: center;

    font-weight: bold;

    font-size: 24px;

    line-height: 29px;

}

.price__size {

    font-size: 12px;

    line-height: 15px;

    min-width: 151px;

    text-align: center;

}

.price__desc {

    margin-top: 21px;

    font-size: 14px;

    line-height: 17px;

    min-height: 115px;

}

.price__btn .svg-icon {

    position: relative;

    margin-left: 2px;

    top: 2px;

}

.price__bottom {

    padding-top: 3px;

}

/*end prices*/



/*white-bg*/

.white-bg {

    background: url('../images/bg/white-bg.svg') no-repeat center top;

    -webkit-background-size: cover;

    background-size: cover;

    padding-top: 112px;

    padding-bottom: 167px;

    margin-top: 50px;

    position: relative;

}

.white-bg:after {

    content: '';

    position: absolute;

    background: url('../images/bg/white-right-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 428px;

    height: 266px;

    top: -105px;

    right: 0;

}

/*end white-bg*/



/*types*/

.types h2 {

    padding-left: 68px;

    position: relative;

}

.types h2:after {

    content: '';

    position: absolute;

    background: url('../images/decor/title-decor-2.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 36px;

    height: 36px;

    left: 11px;

    top: -1px;

}

.types h2 strong {

    color: #d10000;

}

.types__wrap {

    margin-top: 48px;

    padding: 34px 30px 40px;

    border: 1px dashed #CBCBCB;

    box-sizing: border-box;

    position: relative;

    border-radius: 10px;

}

.types__wrap:after {

    content: '';

    position: absolute;

    background: url('../images/bg/types-decor.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 40px;

    height: 45px;

    right: 436px;

    top: -23px;

}

.types__list {

    max-width: 920px;

    margin: 0 auto;

}

.type {

    width: 27.71%;

    text-align: center;

}

.type img {

    width: 100%;

}

.type__title {

    margin-top: 7px;

    background: #FFFFFF;

    height: 79px;

    line-height: 78px;

    font-weight: bold;

    font-size: 24px;

    border: 1px solid #C4E3FF;

    box-sizing: border-box;

    border-radius: 10px;

}

.type__desc {

    margin-top: 17px;

    font-size: 14px;

    line-height: 17px;

}

/*end types*/



/*call*/

.call {

    margin-top: 60px;

}

.call__form {

    background: #61B4FF;

    border: 1px solid #C4E3FF;

    box-sizing: border-box;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 13px;

    max-width: 920px;

    margin: 0 auto;

    padding: 35px 42px 35px 21px;

    position: relative;

}

.call__form:after {

    content: '';

    position: absolute;

    background: url('../images/bg/call-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 241px;

    height: 249px;

    bottom: 1px;

    left: -170px;

}

.call__left {

    padding: 42px 69px 50px 68px;

    box-sizing: border-box;

    background: rgba(0, 92, 231, 0.5);

    border-radius: 20px;

    width: 392px;

    position: relative;

}

.icon-call-arrow {

    width: 41px;

    height: 24px;

}

.call__arrow {

    position: absolute;

    right: -27px;

    top: 0; bottom: 0;

    margin: auto;

    width: 77px;

    height: 64px;

    background: #FFFFFF;

    border-radius: 10px;

}

.call__desc {

    font-size: 18px;

    line-height: 22px;

    color: #ffffff;

}

.call__desc strong {

    font-weight: 700;

}

.call__fields {

    width: 46.78%;

}

.call__label {

    display: block;

}

.call__label-title {

    display: block;

    color: #ffffff;

    font-size: 12px;

    line-height: 15px;

}

.call__label-title strong {

    font-weight: 500;

    font-size: 14px;

    line-height: 17px;

}

.call__label-title i {

    font-weight: 500;

}

.call__field {

    margin-top: 5px;

    width: 100%;

    background: #FFFFFF;

    height: 48px;

    border: 1px solid #CBCBCB;

    box-sizing: border-box;

    border-radius: 10px;

    padding-left: 20px;

}

.call__btn {

    font-size: 14px;

    height: 60px;

    max-width: inherit;

    margin-top: 0;

}

.call__btn-wrap {

    margin-top: 20px;

    font-size: 0;

    display: inline-block;

    width: 100%;

    position: relative;

}

.call__btn-wrap:after {

    content: '';

    position: absolute;

    background: url('../images/decor/btn-decor-3.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 44px;

    height: 44px;

    top: 7px;

    left: 28px;

    pointer-events: none;

}

/*end call*/



/*diff*/

.diff {

    padding-top: 61px;

}

.diff h2 {

    position: relative;

    padding-left: 56px;

}

.diff h2:after {

    content: '';

    position: absolute;

    background: url('../images/decor/title-decor-3.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 36px;

    height: 36px;

    left: 0;

    top: -2px;

}

.diff__desc {

    font-size: 14px;

    line-height: 17px;

    margin-top: 20px;

}

.icon-diff-arrow {

    width: 40px;

    height: 20px;

}

.diff__list {

    margin-top: 55px;

}

.diff__item {

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    font-size: 0;

    width: 48.64%;

    position: relative;

    border-radius: 12px;

}

.diff__item img {

    width: 100%;

    border-radius: 12px;

}

.diff__item-btn {

    border-radius: 50%;

    background: #61B4FF;

    border: 1px solid #FFFFFF;

    box-sizing: border-box;

    box-shadow: 0 0 12px #4CA9FF;

    width: 40px;

    height: 40px;

}

.diff__item-btn .svg-icon {

    left: -1px;

}

.diff__item-before,

.diff__item-after {

    position: absolute;

    bottom: 0;

    text-align: center;

    width: 84px;

    height: 53px;

    font-size: 14px;

    line-height: 54px;

    background: #FFFFFF;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 10px;

}

.diff__item-before {

    left: 0;

}

.diff__item-after {

    right: 0;

}

/*end diff*/



/*calc*/

.calc {

    margin-top: -100px;

    position: relative;

    z-index: 50;

}

.calc__wrap {

    max-width: 920px;

    margin: 0 auto;

    padding: 21px 20px 38px;

    box-sizing: border-box;

    background: url('../images/bg/calc-bg.png') no-repeat center bottom;

    -webkit-background-size: cover;

    background-size: cover;

    border: 1px solid #CCE6FC;

    box-shadow: 0 4px 4px rgba(97, 180, 255, 0.2);

    border-radius: 10px;

    text-align: center;

}

.calc__btn {

    font-size: 18px;

    height: 74px;

    max-width: 445px;

    display: block;

}

.calc__btn-wrap {

    margin-top: 21px;

    display: inline-block;

    width: 100%;

    max-width: 445px;

    font-size: 0;

    position: relative;

}

.calc__btn-wrap:after {

    content: '';

    position: absolute;

    background: url('../images/decor/btn-decor-4.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 361px;

    height: 208px;

    bottom: -40px;

    left: -112px;

    pointer-events: none;

}

.icon-calc-arrow {

    width: 16px;

    height: 13px;

}

.calc__title {

    font-size: 18px;

    line-height: 22px;

}

.calc__title .svg-icon {

    position: relative;

    top: 1px;

    margin-left: 4px;

    margin-right: 4px;

}

/*end calc*/



/*ppy*/

.ppy {

    position: relative;

    z-index: 10;

    min-height: 685px;

    padding-bottom: 50px;

    margin-top: -100px;

    box-sizing: border-box;

    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #CDE6FC 100%), #87C6FF;

}

.ppy:after,

.ppy:before {

    content: '';

    position: absolute;

}

.ppy:after {

    left: 0;

    top: 71px;

    background: url('../images/bg/ppy-left-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 925px;

    height: 677px;

}

.ppy:before {

    right: 0;

    top: 186px;

    background: url('../images/bg/ppy-right-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 702px;

    height: 509px;

}

.ppy .content {

    position: relative;

    z-index: 5;

}

.ppy__right {

    max-width: 445px;

    margin-left: auto;

    padding-top: 195px;

}

.ppy__text {

    margin-top: 14px;

    background: rgba(255, 255, 255, 0.5);

    border: 1px solid #FFFFFF;

    box-sizing: border-box;

    border-radius: 10px;

    padding: 16px 26px 13px;

    font-size: 14px;

    line-height: 17px;

}

.ppy__text p {

    margin-bottom: 34px;

}

.ppy__text p:last-child {

    margin-bottom: 0;

    margin-top: -17px;

}

.ppy__btn-wrap {

    position: relative;

    max-width: 255px;

    width: 100%;

    display: inline-block;

    font-size: 0;

    margin-top: 31px;

}

.ppy__btn-wrap:after {

    content: '';

    position: absolute;

    background: url('../images/decor/btn-decor-5.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 65px;

    height: 77px;

    left: 4px;

    top: -17px;

    pointer-events: none;

}

.ppy__gallery {

    font-size: 0;

    width: 350px;

    position: absolute;

    right: 580px;

    top: 198px;

}

.ppy__slide {

    background: #FFFFFF;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 5px;

    border: 5px solid #ffffff;

    position: relative;

}

.ppy__slide:after {

    content: '';

    padding-top: 100%;

    display: block;

}

.ppy__slide img {

    position: absolute;

    left: 0; top: 0;

    height: 100%;

    border-radius: 5px;

    object-fit: cover;

    width: 100%;

}

.ppy__gallery-control {

    margin-top: 53px;

    text-align: center;

}

.ppy__gallery-next,

.ppy__gallery-prev {

    cursor: pointer;

    display: inline-block;

    vertical-align: top;

    width: 40px;

    height: 40px;

    position: relative;

    border-radius: 50%;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    box-shadow: 0 1px 0 #E0A829, 0 4px 7px #FFCC40;

}

.ppy__gallery-next .svg-icon,

.ppy__gallery-prev .svg-icon {

    width: 17px;

    height: 16px;

}

.ppy__gallery-next:hover,

.ppy__gallery-prev:hover {

    background: linear-gradient(180deg, rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 100%), linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

}

.ppy__gallery-prev {

    margin-right: 80px;

}

/*end ppy*/



/*sum*/

.sum {

    min-height: 800px;

    position: relative;

    margin-top: -335px;

}

.sum:after,

.sum:before {

    content: '';

    position: absolute;

    pointer-events: none;

}

.sum:after {

    background: url('../images/bg/sum-left-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    bottom: -207px;

    width: 752px;

    height: 1078px;

    left: 0;

    z-index: 50;

}

.sum:before {

    background: url('../images/bg/sum-right-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    bottom: -142px;

    width: 519px;

    height: 881px;

    right: 0;

}

.sum .content {

    position: relative;

    top: 200px;

    z-index: 55;

}

.sum__bg {

    background: url('../images/bg/sum-bg.png') no-repeat right bottom;

    z-index: 3;

    position: absolute;

    width: 100%;

    height: 100%;

    left: 0; top: 0;

}

.sum__left {

    margin-top: 200px;

    padding-top: 82px;

    padding-left: 96px;

    max-width: 370px;

}

.sum__title {

    font-size: 24px;

    line-height: 29px;

    position: relative;

}

.sum__title em {

    font-weight: 700;

}

.sum__title strong {

    font-weight: 900;

}

.sum__title:after {

    content: '';

    position: absolute;

    background: url('../images/decor/sum-decor.png') no-repeat;

    width: 174px;

    height: 191px;

    top: -53px;

    right: -144px;

}

.sum__desc {

    margin-top: 41px;

    font-weight: 500;

    font-size: 18px;

    line-height: 22px;

}

.sum__desc strong {

    font-weight: 700;

}

.sum__info {

    margin-top: 40px;

    max-width: 230px;

    font-size: 14px;

    line-height: 17px;

}

.sum__info strong {

    font-weight: 900;

    color: #8EC200;

}

.sum__btn {

    font-size: 18px;

    max-width: 350px;

    height: 60px;

}

.sum__btn-wrap {

    display: inline-block;

    font-size: 0;

    position: relative;

    width: 100%;

    max-width: 350px;

    margin-top: 26px;

}

.sum__btn-wrap:after {

    content: '';

    position: absolute;

    background: url('../images/decor/btn-decor-6.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 98px;

    height: 98px;

    left: -27px;

    top: -9px;

    pointer-events: none;

}

/*end sum*/



/*faq*/

.faq {

    background: linear-gradient(to top, #CCE6FC 0%, rgba(255, 255, 255, 0) 100%), #FFFFFF;

    padding-top: 63px;

    position: relative;

    z-index: 80;

    margin-top: -10px;

    padding-bottom: 374px;

    min-height: 1093px;

    box-sizing: border-box;

}

.faq h2 {

    padding-left: 58px;

    position: relative;

}

.faq h2:after {

    content: '';

    position: absolute;

    background: url('../images/decor/title-decor-4.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    left: 1px;

    top: -1px;

    width: 36px;

    height: 36px;

}

.faq__list {

    margin-top: 58px;

    position: relative;

    z-index: 30;

}

.faq__col {

    width: 48.64%;

}

.faq__item {

    background: #FFFFFF;

    border: 1px solid #CBCBCB;

    box-sizing: border-box;

    border-radius: 10px;

    margin-bottom: 20px;

}

.faq__item:last-child {

    margin-bottom: 0;

}

.faq__item-top {

    cursor: pointer;

    position: relative;

    padding: 27px 80px 26px 16px;

}

.faq__item-top {

    min-height: 77px;

    box-sizing: border-box;

    padding-top: 15px;

    padding-bottom: 15px;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;

}

.faq__item-title {

    font-size: 14px;

    line-height: 17px;

}

.faq__item-title strong {

    font-size: 18px;

    line-height: 22px;

}

.faq__item.open .faq__item-title strong {

    font-weight: bold;

}

.faq__item-btn {

    right: 16px;

    top: 0; bottom: 0;

    margin: auto;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    box-shadow: 0 1px 0 #E0A829, 0 4px 7px #FFCC40;

    width: 40px;

    height: 40px;

    cursor: pointer;

    position: absolute;

    border-radius: 50%;

}

.faq__item-btn:hover {

    background: linear-gradient(180deg, rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 100%), linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

}

.icon-faq-arrow {

    width: 20px;

    height: 21px;

    bottom: -2px;

}

.faq__item .icon-faq-arrow {

    transition: all, 0.3s;

}

.faq__item.open .icon-faq-arrow {

    transform: rotate(-180deg);

    -moz-transform: rotate(-180deg);

    -webkit-transform: rotate(-180deg);

    -o-transform: rotate(-180deg);

    -ms-transform: rotate(-180deg);

}

.faq__item-content {

    display: none;

    padding: 12px 16px 46px;

}

.faq__item-content p {

    font-size: 14px;

    line-height: 17px;

}

/*end faq*/



/*gallery*/

.gallery {

    margin-top: -273px;

    position: relative;

    padding-bottom: 83px;

    z-index: 81;

}

.gallery .content {

    position: relative;

    z-index: 5;

}

.gallery:after,

.gallery:before {

    content: '';

    position: absolute;

}

.gallery:after {

    background: url('../images/bg/gallery-left-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    bottom: -12px;

    left: 0;

    width: 1101px;

    height: 791px;

    top: -122px;

    z-index: 2;

}

.gallery:before {

    background: url('../images/bg/gallery-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 1112px;

    height: 935px;

    left: -64px;

    right: 0;

    margin: 0 auto;

    bottom: -12px;

}

.gallery h2 {

    padding-left: 58px;

    position: relative;

    margin-bottom: 58px;

}

.gallery h2:after {

    content: '';

    position: absolute;

    background: url('../images/decor/title-decor-5.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 36px;

    height: 36px;

    left: 1px;

    top: -2px;

}

.gallery__wrap {

    position: relative;

    font-size: 0;

    margin-bottom: 76px;

}

.gallery__slider {

    max-width: 350px;

    margin-left: auto;

    margin-right: auto;

}

.gallery__slide {

    position: relative;

    background: #FFFFFF;

    border: 5px solid #ffffff;

    box-shadow: 0 4px 20px rgba(52, 123, 188, 0.5);

    border-radius: 5px;

}

.gallery__slide:after {

    content: '';

    padding-top: 100%;

    display: block;

}

.gallery__slide img {

    position: absolute;

    left: 0; top: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: 5px;

}

.icon-slider-prev,

.icon-slider-next {

    width: 17px;

    height: 16px;

}

.gallery__slider-next,

.gallery__slider-prev {

    top: 0; bottom: 0;

    margin: auto;

    width: 40px;

    height: 40px;

    z-index: 10;

    position: absolute;

    border-radius: 50%;

    background: linear-gradient(94.74deg, #FFFFFF 30.83%, rgba(255, 255, 255, 0) 76.02%), #ECECEC;

    border: 1px solid #FFFFFF;

    box-sizing: border-box;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    cursor: pointer;

}

.gallery__slider-next:hover,

.gallery__slider-prev:hover {

    background: #61B4FF;

}

.gallery__slider-next:hover .svg-icon,

.gallery__slider-prev:hover .svg-icon {

    fill: #ffffff;

}

.gallery__slider-prev {

    left: 0;

}

.gallery__slider-next {

    right: 0;

}

.big-gallery__wrap {

    position: relative;

    padding-left: 90px;

    padding-right: 90px;

}

.big-gallery__slide {

    display: block;

    position: relative;

    border: 7px solid #ffffff;

    background: #FFFFFF;

    box-shadow: 0 4px 12px rgba(52, 123, 188, 0.4);

    border-radius: 5px;

}

.big-gallery__slide:after {

    content: '';

    display: block;

    padding-top: 89.76%;

}

.big-gallery__slide img {

    position: absolute;

    left: 0; top: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    border-radius: 5px;

}

/*end gallery*/



/*free*/

.free {

    background: url('../images/bg/free-bg.png') no-repeat center;

    -webkit-background-size: 100% 100%;

    background-size: 100% 100%;

    z-index: 30;

    position: relative;

    padding-top: 147px;

    padding-bottom: 159px;

}

.free:after,

.free:before {

    content: '';

    position: absolute;

}

.free:after {

    top: -425px;

    right: 0;

    background: url('../images/bg/free-right-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 441px;

    height: 892px;

}

.free:before {

    top: 41px;

    left: 0;

    right: 0;

    margin: 0 auto;

    background: url('../images/bg/free-content-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 572px;

    height: 497px;

}

.free .content {

    position: relative;

    z-index: 10;

}

.free h2 {

    padding-left: 58px;

    position: relative;

}

.free h2:after {

    content: '';

    position: absolute;

    background: url('../images/decor/title-decor-6.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 36px;

    height: 36px;

    left: 2px;

    top: -4px;

    bottom: 0;

    margin: auto;

}

.free__left {

    max-width: 470px;

}

.free__text {

    margin-top: 68px;

    max-width: 445px;

    background: rgba(255, 255, 255, 0.5);

    backdrop-filter: blur(14px);

    border-radius: 10px;

    padding: 52px 20px 45px 25px;

}

.free__text p {

    font-size: 14px;

    line-height: 17px;

    margin-bottom: 17px;

}

.free__text p:last-child {

    margin-bottom: 0;

}

.free__text p em {

    font-weight: bold;

}

.free__text p strong {

    font-weight: bold;

    text-transform: uppercase;

    color: #61B4FF;

}

.app {

    position: relative;

    top: 3px;

    max-width: 445px;

    width: 100%;

    background: rgba(255, 255, 255, 0.6);

    border: 1px solid #CBCBCB;

    box-sizing: border-box;

    backdrop-filter: blur(14px);

    border-radius: 10px;

    padding: 32px 42px 41px;

}

.app__title {

    font-size: 18px;

    line-height: 22px;

    text-align: center;

}

.app__title strong {

    font-weight: 700;

    text-transform: uppercase;

}

.form__info,

.app__info {

    margin-top: 22px;

    font-size: 12px;

    line-height: 15px;

    color: #CBCBCB;

}

.form__info a,

.app__info a {

    color: inherit;

}

.form__info a:hover,

.app__info a:hover {

    text-decoration: none;

}

.form__fields {

    margin-top: 41px;

}

.form__label {

    display: block;

}

.form__label-title {

    display: block;

    font-size: 12px;

    line-height: 15px;

    color: #CBCBCB;

}

.form__label-title strong {

    font-weight: 500;

    font-size: 14px;

    line-height: 17px;

    color: #000000;

}

.form__field {

    padding-left: 20px;

    height: 48px;

    width: 100%;

    margin-top: 5px;

    background: #FFFFFF;

    border: 1px solid #CBCBCB;

    box-sizing: border-box;

    border-radius: 10px;

}

.form__btn {

    margin-top: 40px;

    font-size: 14px;

    max-width: inherit;

    height: 74px;

}

.app__tag {

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    border-radius: 34px 34px 0 34px;

    width: 114px;

    height: 48px;

    text-align: center;

    line-height: 48px;

    top: -22px;

    right: -1px;

    position: absolute;

    font-weight: 900;

    font-size: 18px;

    color: #ffffff;

}

/*end free*/



/*contacts*/

.contacts {

    position: relative;

    padding-top: 100px;

    z-index: 40;

}

.contacts:after {

    content: '';

    position: absolute;

    background: url('../images/bg/contacts-left-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 640px;

    height: 1029px;

    top: -568px;

    left: 0;

}

.contacts .content {

    position: relative;

    z-index: 10;

}

.contacts__wrap {

    position: relative;

}

.contacts__left {

    position: relative;

    z-index: 5;

    background: rgba(255, 255, 255, 0.8);

    border: 1px solid #C4E3FF;

    box-sizing: border-box;

    backdrop-filter: blur(5px);

    border-radius: 10px;

    width: 445px;

    padding: 39px 40px 43px 40px;

}

.contacts__title {

    font-weight: bold;

    font-size: 24px;

    line-height: 29px;

}

.contact {

    display: inline-block;

    padding: 19px 10px 18px 65px;

    border: 1px dashed #C4E3FF;

    box-sizing: border-box;

    border-radius: 10px;

    font-size: 14px;

    line-height: 17px;

    position: relative;

}

.contact__desc a {

    color: inherit;

    text-decoration: none;

}

.contacts__list {

    margin-top: 40px;

}

.contacts__list li {

    margin-bottom: 15px;

}

.contacts__list li:last-child {

    margin-bottom: 0;

}

.contact__icon {

    position: absolute;

    top: 0; bottom: 0;

    margin: auto;

    left: 9px;

    width: 36px;

    height: 36px;

}

.contact__icon_1 {

    background: url('../images/contacts/icon-1.svg') no-repeat center;

}

.contact__icon_2 {

    background: url('../images/contacts/icon-2.svg') no-repeat center;

}

.contact__icon_3 {

    background: url('../images/contacts/icon-3.svg') no-repeat center;

}

.contacts__btn {

    font-size: 14px;

    height: 60px;

    max-width: 310px;

    margin-top: 40px;

}

#map {

    position: absolute;

    top: 0;

    bottom: 0;

    left: 380px;

    right: 0;

    background: #C4C4C4;

    border-radius: 10px;

    box-shadow: 0 4px 4px rgba(97, 180, 255, 0.2);

}

/*end contacts*/



/*collage*/

.collage {

    background: url('../images/bg/collage-bg.jpg') no-repeat center top;

    -webkit-background-size: cover;

    background-size: cover;

    min-height: 1295px;

    padding-top: 365px;

    padding-bottom: 34px;

    box-sizing: border-box;

    margin-top: -264px;

}

.collage h2 {

    padding-left: 68px;

    position: relative;

}

.collage h2:after {

    content: '';

    position: absolute;

    background: url('../images/decor/title-decor-7.svg') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    left: 11px;

    top: -1px;

    width: 36px;

    height: 36px;

}

.collage__desc {

    margin-top: 38px;

    padding: 40px 20px;

    font-size: 24px;

    line-height: 29px;

    background: rgba(255, 255, 255, 0.8);

    border-radius: 5px;

    text-align: center;

}

.collage__desc:last-child {

    margin-top: 40px;

}

.collage__list {

    font-size: 0;

    margin-bottom: -20px;

    margin-top: 60px;

}

.collage__col {

    width: 31.53%;

}

.collage__middle,

.collage__small,

.collage__big {

    overflow: hidden;

    position: relative;

    border-radius: 5px;

}

.collage__middle img,

.collage__small img,

.collage__big img {

    position: absolute;

    width: 100%;

    height: 100%;

    left: 0; top: 0;

    object-fit: cover;

}

.collage__middle:after,

.collage__small:after,

.collage__big:after {

    content: '';

    display: block;

    padding-top: 68.57%;

}

.collage__small {

    margin-bottom: 5.9%;

    width: 45.71%;

}

.collage__small:nth-last-child(1),

.collage__small:nth-last-child(2) {

    margin-bottom: 0;

}

.collage__small:after {

    padding-top: 68.75%;

}

.collage__col-block {

    width: 45.71%;

}

.collage__col-block .collage__small {

    width: 100%;

    margin-bottom: 12.7%;

}

.collage__col-block .collage__small:last-child {

    margin-bottom: 0;

}

.collage__middle:after {

    padding-top: 150%;

}

.collage__col {

    margin-bottom: 20px;

}

.collage__item {

    display: block;

    cursor: pointer;

    position: relative;

}

.collage__item:hover {

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

}

.collage__item:hover:before {

    content: '';

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    z-index: 2;

    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%)

}

.icon-zoom {

    width: 31px;

    height: 31px;

    display: none;

}

.collage__item:hover .icon-zoom {

    display: block;

    z-index: 5;

}

/*end collage*/



/*footer*/

.footer {

    border-top: 27px solid #ffffff;

    background: #C4E3FF;

    padding-top: 29px;

    padding-bottom: 43px;

    position: relative;

}

.thank__block:after,

.footer:after {

    content: '';

    position: absolute;

    left: 0;

    right: 0;

    top: -4px;

    margin: 0 auto;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    box-shadow: 0 0 13px rgba(255, 190, 22, 0.5);

    border-radius: 10px;

    width: 540px;

    height: 10px;

}

.footer__left {

    padding-top: 12px;

    max-width: 194px;

}

.footer__logo {

    background: url('../images/logo.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 160px;

    height: 45px;

    display: block;

}

.copyright {

    margin-top: 12px;

    font-size: 14px;

    line-height: 17px;

}

.site-map {

    position: relative;

    left: -15px;

    padding-top: 14px;

}

.site-map li {

    margin-bottom: 15px;

}

.site-map li:last-child {

    margin-bottom: 0;

}

.site-map a {

    font-size: 14px;

    line-height: 17px;

    color: #000000;

    text-decoration: none;

}

.site-map a:hover {

    text-decoration: underline;

}

.social {

    font-size: 0;

}

.social__link {

    display: inline-block;

    vertical-align: top;

    width: 36px;

    height: 36px;

    margin-right: 20px;

}

.social__link:last-child {

    margin-right: 0;

}

.footer__right {

    width: 160px;

}

.social__link_inst {

    background: url('../images/social/icon-1.svg') no-repeat center;

}

.social__link_vk {

    background: url('../images/social/icon-2.svg') no-repeat center;

}

.footer .phone {

    padding-left: 56px;

}

.footer .phone__number {

    color: #000000;

    font-weight: bold;

    font-size: 14px;

    line-height: 17px;

}

.footer .phone__time {

    color: #000000;

    padding-top: 4px;

    font-size: 12px;

    line-height: 15px;

}

.footer__contact {

    margin-top: 34px;

    padding-left: 56px;

    position: relative;

}

.footer__contact .contact__icon {

    left: 0;

    top: -1px;

}

.footer__contact p {

    font-size: 14px;

    line-height: 17px;

}

.footer__contact p strong {

    display: block;

    font-weight: 700;

}

.footer__contacts {

    position: relative;

    right: -9px;

    padding-top: 10px;

}

/*end footer*/



/*overlay*/

.overlay {

    position: fixed;

    width: 100%;

    height: 100%;

    left: 0;

    top: 0;

    padding: 20px;

    box-sizing: border-box;

    overflow: auto;

    z-index: 1000;

    background: rgba(0, 0, 0, 0.8);

    display: none;

}

.popup__close {

    cursor: pointer;

    font-size: 0;

    position: absolute;

    width: 36px;

    height: 36px;

    top: 20px;

    right: 20px;

}

.popup__close:hover .svg-icon {

    stroke: #FFD43B;

}

.icon-close {

    width: 36px;

    height: 36px;

    stroke: #D10000;

}

.popup {

    display: none;

    opacity: 0;

    top: -100px;

    background: #FFFFFF;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 20px;

    max-width: 825px;

    margin: 50px auto;

    position: relative;

    box-sizing: border-box;

    padding: 48px 95px 57px;

}

.popup-app:after {

    content: '';

    position: absolute;

    background: url('../images/bg/popup-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 315px;

    height: 350px;

    left: 50px;

    bottom: 86px;

}

.popup__form {

    position: relative;

    z-index: 5;

    max-width: 350px;

    margin-left: auto;

}

.popup__form-title {

    text-align: center;

    font-size: 18px;

    line-height: 22px;

}

.popup__form-title em {

    font-weight: 700;

}

/*end overlay*/



/*thank*/

.thank {

    background: url('../images/bg/thank-bg.jpg') no-repeat center top;

    -webkit-background-size: cover;

    background-size: cover;

    padding-top: 105px;

    padding-bottom: 111px;

}

.thank + .footer {

    border-top: none;

}

.thank__block {

    position: relative;

    background: rgba(255, 255, 255, 0.8);

    border: 2px solid #FFFFFF;

    box-sizing: border-box;

    box-shadow: 0 4px 4px rgba(97, 180, 255, 0.2);

    border-radius: 20px;

    padding: 54px 20px 92px;

}

.thank__block:after {

    top: -12px;

}

.thank__title {

    font-family: 'Intro', sans-serif;

    text-transform: uppercase;

    text-align: center;

    font-size: 36px;

    line-height: 36px;

}

.thank__wrap {

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    border-radius: 20px;

    max-width: 574px;

    box-sizing: border-box;

    padding: 61px 65px 61px 112px;

    margin: 146px auto 0;

    font-size: 24px;

    line-height: 29px;

    text-align: center;

    position: relative;

    right: -78px;

}

.thank__wrap:before {

    content: '';

    position: absolute;

    background: url('../images/bg/thank-content-bg.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 227px;

    height: 291px;

    top: -111px;

    left: -145px;

    z-index: 2;

}

.thank__wrap:after {

    content: '';

    position: absolute;

    top: 10px;

    bottom: 10px;

    right: 21px;

    left: 21px;

    border: 1px dashed #FFFFFF;

    box-sizing: border-box;

    border-radius: 20px;

}

.thank__bottom {

    margin-top: 38px;

    text-align: center;

    font-size: 0;

}

.step {

    display: none;

}

.step.active {

    display: block;

}

.step__info,

.thank__info {

    font-size: 14px;

    line-height: 17px;

}

.thank__bottom > * {

    display: inline-block;

    vertical-align: middle;

}

.thank__ok {

    height: 56px;

    width: 134px;

    margin-left: 20px;

    margin-right: 20px;

    position: relative;

}

.icon-thank {

    width: 24px;

    height: 24px;

}

.icon-return {

    width: 17px;

    height: 16px;

}

.return {

    width: 40px;

    height: 40px;

    border-radius: 50%;

    position: relative;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    box-shadow: 0 1px 0 #E0A829, 0 4px 7px #FFCC40;

}

.return:hover {

    background: linear-gradient(180deg, rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 100%), linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

}

.thank__percent {

    width: 100%;

    text-align: center;

    top: -55px;

    position: absolute;

    left: 0;

    font-weight: bold;

    font-size: 24px;

    line-height: 29px;

}

/*end thank*/



/*quiz-html*/

.quiz {

    padding-top: 90px;

    padding-bottom: 90px;

    background: url('../images/bg/quiz-bg.jpg') no-repeat center top;

    -webkit-background-size: cover;

    background-size: cover;

    position: fixed;

    left: 0;

    width: 100%;

    height: 100%;

    display: none;

    opacity: 0;

    box-sizing: border-box;

    top: 0 !important;

    overflow: auto;

    z-index: 99999!important

}

.quiz__form {

    background: rgba(255, 255, 255, 0.8);

    border: 2px solid #FFFFFF;

    box-sizing: border-box;

    box-shadow: 0 4px 4px rgba(97, 180, 255, 0.2);

    border-radius: 20px;

    position: relative;

    padding: 54px 20px 80px;

    min-height: 605px;

}

.progress {

    position: absolute;

    max-width: 540px;

    bottom: 100%;

    left: 0; right: 0;

    margin: 0 auto 2px;

}

.progress__percent {

    transition: all, 0.3s;

    display: inline-block;

    text-align: center;

    width: 65px;

    font-weight: bold;

    font-size: 24px;

    line-height: 29px;

}

.progress__line {

    margin-top: 14px;

    overflow: hidden;

    display: block;

    background: #61B4FF;

    border-radius: 10px;

    height: 10px;

    position: relative;

}

.progress__line:after {

    content: '';

    transition: all, 0.3s;

    position: absolute;

    width: 0;

    height: 100%;

    left: 0; top: 0;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    border-radius: 10px;

}

.progress_1 .progress__percent,

.progress_1 .progress__line:after {

    width: 12.59%;

}

.progress_2 .progress__percent,

.progress_2 .progress__line:after {

    width: 25.18%;

}

.progress_3 .progress__percent,

.progress_3 .progress__line:after {

    width: 37.77%;

}

.progress_4 .progress__percent,

.progress_4 .progress__line:after {

    width: 50.37%;

}

.progress_5 .progress__percent,

.progress_5 .progress__line:after {

    width: 62.96%;

}

.progress_6 .progress__percent,

.progress_6 .progress__line:after {

    width: 75.55%;

}

.progress_7 .progress__percent,

.progress_7 .progress__line:after {

    width: 88.14%;

}

.step__title {

    padding-left: 20px;

    padding-right: 20px;

    font-family: 'Intro', sans-serif;

    text-align: center;

    font-size: 36px;

    line-height: 36px;

    min-height: 72px;

}

.step__title small {

    display: block;

    font-size: 66%;

}

.step__title strong {

    color: #d10000;

}

.step__title-icon {

    width: 36px;

    height: 36px;

    background: url('../images/decor/title-decor-8.svg') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    display: inline-block;

    position: relative;

    top: 3px;

    margin-right: 10px;

}

.step__bottom {

    margin-top: 46px;

    text-align: center;

    font-size: 0;

}

.step__ok > *,

.step__bottom > * {

    display: inline-block;

    vertical-align: middle;

}

button.step__ok {

    padding-bottom: 4px;

    line-height: 47px;

}

.step__ok {

    margin-left: 20px;

    margin-right: 20px;

    width: 134px;

    height: 49px;

    line-height: 49px;

    font-size: 14px;

    text-decoration: none;

    color: #000;

    text-align: center;

}

.icon-next-arrow {

    margin-left: 22px;

    width: 24px;

    height: 16px;

}

.radios {

    text-align: center;

    font-size: 0;

    margin-top: 50px;

}

.radio {

    display: inline-block;

    vertical-align: top;

    width: 160px;

    margin-right: 30px;

    cursor: pointer;

    position: relative;

}

.radio input {

    position: absolute;

    left: -10000px;

}

.radio:last-child {

    margin-right: 0;

}

.radio__photo {

    display: block;

    position: relative;

    background: #FFFFFF;

    box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    border-radius: 5px;

    border: 2px solid #ffffff;

}

.radio__photo:after {

    content: '';

    display: block;

    padding-top: 100%;

}

.radio__photo img {

    position: absolute;

    width: 100%;

    height: 100%;

    left: 0; top: 0;

    object-fit: cover;

    border-radius: 5px;

}

.radio__title {

    margin-top: 21px;

    display: block;

    text-align: center;

    font-size: 14px;

    line-height: 17px;

}

.radio input:checked + .radio__photo:before {

    content: '';

    position: absolute;

    left: 0; top: 0;

    background: rgba(0, 0, 0, 0.4);

    width: 100%;

    height: 100%;

    border-radius: 5px;

    z-index: 5;

}

.icon-check {

    display: none;

    z-index: 10;

    width: 60px;

    height: 60px;

}

.radio input:checked + .radio__photo .icon-check {

    display: block;

}

.ppy__gallery .owl-carousel .owl-stage-outer {

    overflow: visible;

}

.ppy__right {

    position: relative;

    z-index: 10;

}

.ppy .ppy__slide {

    transition: all, 0.3s;

}

.ppy .owl-item.active + .owl-item + .owl-item + .owl-item + .owl-item .ppy__slide,

.ppy .owl-item.active + .owl-item + .owl-item + .owl-item .ppy__slide,

.ppy .owl-item.active + .owl-item + .owl-item .ppy__slide,

.ppy .owl-item.active + .owl-item .ppy__slide {

    opacity: 0;

}

.gallery .owl-dots,

.ppy .owl-dots {

    position: absolute;

    width: 100%;

    left: 0;

    text-align: center;

    font-size: 0;

    bottom: -28px;

}

.gallery button.owl-dot,

.ppy button.owl-dot {

    display: inline-block;

    vertical-align: top;

    background: #C4E3FF;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    margin-right: 10px;

}

.gallery button.owl-dot:hover,

.gallery button.owl-dot.active,

.ppy button.owl-dot:hover,

.ppy button.owl-dot.active {

    background: #61B4FF;

}

.gallery button.owl-dot:last-child,

.ppy button.owl-dot:last-child {

    margin-right: 0;

}

.gallery__slide {

    display: block;

    max-width: 290px;

    margin-left: auto;

    margin-right: auto;

    transition: all, 0.3s;

}

.gallery__wrap {

    min-height: 350px;

    margin-bottom: 46px;

    padding-top: 30px;

    margin-top: -30px;

    padding-bottom: 30px;

}

.owl-item.active .gallery__slide {

    max-width: 100%;

}

.gallery__slider .owl-carousel .owl-stage-outer {

    padding: 40px 350px;

    margin: -40px -350px;

}

.gallery button.owl-dot {

    background: #ffffff;

}

.gallery .owl-dots {

    bottom: -8px;

}

.gallery__slider .owl-carousel .owl-stage-outer,

.gallery__slider .owl-carousel {

    position: static;

}

.big-gallery__wrap .owl-dots {

    bottom: 2px;

}

.big-gallery__wrap .owl-carousel .owl-stage-outer {

    padding: 40px 10px;

    margin: -40px -10px;

}

.fancybox-button--play,

.fancybox-button--thumbs,

.fancybox-button--zoom {

    display: none !important;

}

#map > * > * > * > *:nth-child(2) {

    -webkit-filter: grayscale(100%);

}

.ymaps-2-1-78-ground-pane {

    -webkit-filter: grayscale(100%);

}

/*end quiz-html*/



/*popups*/

.popup-calc {

    padding: 48px 98px 51px;

    max-width: 546px;

}

.popup-calc__title {

    font-weight: bold;

    font-size: 24px;

    line-height: 29px;

    text-align: center;

    margin-bottom: -17px;

}

.select .form__field {

    height: 44px;

}

.popup-calc .form__label {

    margin-bottom: 28px;

}

.popup-range {

    padding-top: 4px;

}

.popup-range__title {

    font-weight: 500;

    font-size: 14px;

    line-height: 17px;

    color: #000000;

}

.popup-range__line {

    margin-top: 17px;

}

.popup-range .spacer {

    margin-top: 15px;

    font-size: 12px;

    line-height: 15px;

    color: #000000;

}

.select__wrap {

    cursor: pointer;

    display: block;

    margin-top: 5px;

    position: relative;

}

.select__wrap input {

    margin-top: 0;

    position: relative;

    z-index: 4;

}

.select__wrap .svg-icon {

    position: absolute;

    z-index: 8;

    right: 20px;

    top: 0; bottom: 0;

    margin: auto;

}

.icon-select-arrow {

    width: 20px;

    height: 20px;

}

.select__wrap {

    position: relative;

    cursor: pointer;

}

.select__wrap.open .select__list {

    display: block;

}

.select__wrap.open .svg-icon {

    transform: rotate(-180deg);

}

.select__list {

    display: none;

    left: 0; top: 0;

    padding-top: 44px;

    width: 100%;

    position: absolute;

    border: 1px solid #CBCBCB;

    box-sizing: border-box;

    border-radius: 10px;

    background: #ffffff;

    z-index: 2;

}

.select__item {

    display: block;

    height: 40px;

    font-size: 14px;

    line-height: 40px;

    padding-left: 20px;

}

.select__item:hover {

    color: #ffbe16;

}

.noUi-target {

    display: block;

    height: 4px;

    background: #2F66B8;

    border: none;

    box-shadow: none;

}

.noUi-connect {

    background: #61B4FF;

}

.noUi-horizontal .noUi-handle:after,

.noUi-horizontal .noUi-handle:before {

    display: none;

}

.noUi-horizontal .noUi-handle {

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    width: 14px;

    height: 14px;

    right: -7px;

    top: -5px;

    border-radius: 50%;

    border: none;

    box-shadow: none;

}

.noUi-tooltip {

    opacity: 0;

    transition: all, 0.3s;

}

.popup-range {

    padding-left: 20px;

    padding-right: 20px;

    margin-left: -20px;

    margin-right: -20px;

}

.popup-range:hover .noUi-tooltip {

    opacity: 1;

}

.popup-type {

    max-width: 825px;

    padding: 48px 65px 50px 380px;

}

.popup-type__title {

    font-weight: bold;

    font-size: 24px;

    line-height: 29px;

    color: #000000;

}

.popup-type__text {

    margin-bottom: 30px;

    min-height: 239px;

    margin-top: 21px;

}

.popup-type__text p {

    font-size: 14px;

    line-height: 17px;

    color: #000000;

    margin-bottom: 17px;

}

.popup-type__text p:last-child {

    margin-bottom: 0;

}

.popup-type__btn {

    font-size: 14px;

    height: 74px;

    max-width: 350px;

}

.popup-type__slider {

    position: absolute;

    top: 82px;

    left: 37px;

    z-index: 0;

    width: 300px;

}

.popup-type__slide {

    display: block;

    position: relative;


    z-index: 0;

    padding-top: 100%;

}

.popup-type__slide img {

    border-radius: 5px;

    position: absolute;

    left: 0; top: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.popup-type__prev,

.popup-type__next {

    cursor: pointer;

    z-index: 10;

    display: inline-block;

    vertical-align: top;

    width: 40px;

    height: 40px;

    position: absolute;

    top: 0; bottom: 0;

    margin: auto;

    border-radius: 50%;

    background: linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

    box-shadow: 0 1px 0 #E0A829, 0 4px 7px #FFCC40;

}

.popup-type__prev .svg-icon,

.popup-type__next .svg-icon {

    width: 17px;

    height: 16px;

}

.popup-type__next:hover,

.popup-type__prev:hover {

    background: linear-gradient(180deg, rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 100%), linear-gradient(269deg, #FFBE16 -7.63%, rgba(255, 255, 255, 0) 104.12%), #FFD43B;

}

.popup-type__prev {

    left: -12px;

}

.popup-type__next {

    right: -12px;

}

.popup-type .owl-dots {

    position: absolute;

    width: 100%;

    left: 0;

    text-align: center;

    font-size: 0;

    bottom: -28px;

}

.popup-type button.owl-dot {

    display: inline-block;

    vertical-align: top;

    background: #C4E3FF;

    width: 8px;

    height: 8px;

    border-radius: 50%;

    margin-right: 10px;

}

.popup-type button.owl-dot:hover,

.popup-type button.owl-dot.active {

    background: #61B4FF;

}

.popup-type button.owl-dot:last-child {

    margin-right: 0;

}

.price__photo {

    cursor: pointer;

}

.twentytwenty-overlay {

    display: none !important;

}

.twentytwenty-handle {

    border: none;

    box-shadow: none;

    background: url('../images/diff-btn.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 64px;

    height: 64px;

    margin-top: -32px;

    margin-left: -32px;

}

.twentytwenty-left-arrow,

.twentytwenty-right-arrow {

    display: none;

}

.twentytwenty-container {

    border-radius: 10px;

}

.free h2 i {

    display: none;

}

.quiz-range {

    padding-top: 127px;

    padding-bottom: 95px;

    max-width: 730px;

    margin-left: auto;

    margin-right: auto;

}

.quiz-range__title {

    color: #000;

    font-size: 14px;

    line-height: 17px;

}

.quiz .noUi-tooltip {

    opacity: 1;

}

.noUi-marker {

    display: none !important;

}

.noUi-value {

    font-size: 14px;

    line-height: 17px;

    color: #000;

}

.quiz-range__line {

    margin-top: 39px;

}

.noUi-pips-horizontal {

    padding-top: 7px;

}

.q-map {

    text-align: center;

    font-size: 0;

}

.q-map > * {

    display: inline-block;

    vertical-align: middle;

}

.q-map__bg {

    max-width: 100%;

    border-radius: 20px;

}

.q-map__list {

    text-align: left;

    width: 100%;

    max-width: 350px;

    margin-left: 30px;

}

.q-map__item {

    cursor: pointer;

    display: -webkit-box;

    display: -webkit-flex;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -webkit-align-items: center;

    -ms-flex-align: center;

    align-items: center;

    min-height: 36px;

    padding-left: 56px;

    position: relative;

    margin-bottom: 15px;

}

.q-map__item:last-child {

    margin-bottom: 0;

}

.q-map__item input {

    position: absolute;

    left: -10000px;

}

.q-map__item-desc {

    font-size: 14px;

    line-height: 17px;

    color: #000000;

}

.q-map__item-btn {

    position: absolute;

    top: 0;

    left: 0;

    background: #FFFFFF;

    border: 2px solid #61B4FF;

    box-sizing: border-box;

    width: 40px;

    height: 40px;

    border-radius: 50%;

    box-shadow: inset 0 2px 4px #61B4FF;

}

.q-map__item input:checked + .q-map__item-btn {

    background: #61B4FF;

    border: 1px solid #FFFFFF;

    box-sizing: border-box;

    box-shadow: 0 4px 4px rgba(97, 180, 255, 0.5);

}

.q-map__item input:checked + .q-map__item-btn:after {

    content: '';

    position: absolute;

    border-radius: 50%;

    width: 16px;

    height: 16px;

    top: 0; bottom: 0; left: 0; right: 0;

    margin: auto;

    background: #FFFFFF;

}

.q-map {

    margin-top: -11px;

    margin-bottom: -15px;

}

.step__done-title {

    font-weight: bold;

    text-align: center;

    padding-top: 4px;

    font-size: 24px;

    line-height: 29px;

}

.step__done-title strong {

    color: #7DC03A;

}

.done {

    margin: 69px auto -6px;

    right: -45px;

    padding: 62px 23px;

    background: #FFFFFF;

    border-radius: 20px;

    max-width: 635px;

    box-sizing: border-box;

    position: relative;

}

.done:after {

    content: '';

    position: absolute;

    background: url('../images/bg/quiz-done.png') no-repeat center;

    -webkit-background-size: cover;

    background-size: cover;

    width: 330px;

    height: 281px;

    top: -51px;

    left: -153px;

}

.done .form__info {

    margin-top: 6px;

}

.done__right {

    max-width: 400px;

    margin-left: auto;

}

.done__gift {

    position: absolute;

    top: -19px;

    right: 0;

    background: #61B4FF;

    border-radius: 10px 10px 0 10px;

    max-width: 420px;

    padding: 10px;

    font-size: 14px;

    line-height: 17px;

    color: #ffffff;

}

/*end popups*/













































@media all and (max-width: 1250px) {

    .contacts:after {

        top: -320px;

        width: 440px;

        height: 707px;

    }

    .about__right-bg {

        right: -100px;

    }

    .about:after {

        right: 0;

    }

    .sum:after {

        left: -200px;

    }

}



@media all and (max-width: 1100px) {

    .footer__right {

        width: auto;

    }

    .site-map {

        left: 0;

    }

    .footer__contacts {

        right: 0;

    }

    .collage {

        min-height: inherit;

    }

    h2 {

        font-size: 34px;

    }

    .guarantees__list {

        padding-left: 40px;

    }

    .about__photo {

        width: 560px;

        height: 275px;

    }

    .about__right-bg {

        right: -180px;

    }

    .price__title {

        min-height: 87px;

    }

    .price__bottom {

        margin-top: 16px;

        display: block;

    }

    .price__size {

        margin-top: 14px;

    }

    .price__btn {

        display: block;

        margin-left: auto;

        margin-right: auto;

    }

    .price__desc {

        min-height: inherit;

    }

    .radio {

        width: 130px;

        margin-right: 20px;

    }

    .radio__title {

        font-size: 13px;

    }

    .step__title-icon {

        width: 32px;

        height: 32px;

    }

    .step__title {

        padding-left: 0;

        padding-right: 0;

        font-size: 32px;

        line-height: 32px;

    }

}



@media all and (max-width: 980px) {

    .gallery:before,

    .gallery:after,

    .free:after,

    .free:before {

        display: none;

    }

    .free {

        background: #ffffff;

    }

    .contacts__left {

        max-width: 290px;

        padding: 39px 15px 42px;

    }

    .contacts__list {

        padding-left: 8px;

        padding-right: 0;

    }

    .contacts__list li:first-child .contact {

        padding-top: 10px;

        padding-bottom: 10px;

    }

    .contacts__btn {

        max-width: 202px;

        margin-left: auto;

        margin-right: auto;

        display: block;

    }

    #map {

        left: 260px;

    }

    .guarantees__list {

        padding-left: 0;

    }

    .guarantees .content:after {

        background: none;

    }

    .about {

        margin-top: -105px;

    }

    .guarantee {

        width: 31%;

        margin-right: 3.5%;

    }

    .about__btn-wrap {

        display: none;

    }

    .about {

        background: url('../images/bg/about-bg-mobile.jpg') no-repeat center top;

        -webkit-background-size: cover;

        background-size: cover;

        min-height: 980px;

        height: auto;

    }

    .about:after {

        display: none;

    }

    .about__left-bg,

    .about__right-bg {

        display: none;

    }

    .about__photo {

        position: relative;

        display: block;

        margin-left: auto;

        margin-right: auto;

        max-width: 622px;

        width: auto;

        height: auto;

        top: 0;

        right: 0;

    }

    .about__text {

        margin-top: 22px;

        max-width: inherit;

    }

    .about h2 {

        text-align: center;

        margin-bottom: 134px;

    }

    .about .content {

        padding-top: 106px;

    }

    .about__photo:after {

        content: '';

        display: block;

        padding-top: 49.03%;

    }

    .about__text {

        max-width: 622px;

        margin-left: auto;

        margin-right: auto;

    }

    .types__wrap {

        padding: 0;

        border: none;

    }

    .type {

        width: 29%;

    }

    .call__fields {

        width: 42.78%;

    }

    .ppy__gallery {

        right: 520px;

    }

    .sum__bg {

        right: -200px;

        width: auto;

    }

    .header__left {

        width: 100%;

        text-align: center;

    }

    .header__title {

        text-align: left;

    }

    .header__right {

        margin-left: auto;

        margin-right: auto;

        margin-top: 15px;

    }

    .header__left:after {

        right: -20px;

    }

    .main__scroll {

        display: none;

    }

    .free__bg {

        background: url('../images/bg/free-mobile-bg.jpg') no-repeat center top;

        -webkit-background-size: cover;

        background-size: cover;

        width: 100%;

        left: 0;

        position: absolute;

        top: -641px;

        height: 1269px;

    }

    .free .content {

        display: block;

    }

    .free__left {

        display: block;

        width: 100%;

        margin-left: auto;

        margin-right: auto;

    }

    .free h2 {

        top: -70px;

    }

    .free__text {

        margin-top: 140px;

    }

    .free {

        padding-bottom: 95px;

    }

    .app {

        top: 0;

        margin-left: auto;

        margin-right: auto;

        margin-top: 40px;

    }

}



@media all and (max-width: 900px) {

    .footer__right {

        width: 160px;

    }

    .footer__left {

        width: 100%;

        text-align: center;

        max-width: inherit;

        padding-bottom: 30px;

    }

    .footer__logo {

        margin-left: auto;

        margin-right: auto;

    }

    h2 {

        font-size: 32px;

    }

    .type {

        width: 31.5%;

    }

    .type__title {

        font-size: 21px;

    }

    .call__fields {

        margin-top: 60px;

        max-width: 260px;

        margin-left: auto;

        margin-right: auto;

        width: 100%;

    }

    .call__form:after {

        background: url('../images/bg/call-bg-mobile.png') no-repeat center;

        -webkit-background-size: cover;

        background-size: cover;

        width: 89px;

        height: 132px;

        left: 0; right: 0;

        margin: 0 auto;

        top: -89px;

        bottom: auto;

    }

    .call__label-title {

        color: #000000;

    }

    .call__form {

        padding: 0;

        background: none;

        box-shadow: none;

        border: none;

        max-width: 400px;

        margin-left: auto;

        margin-right: auto;

    }

    .call__btn {

        padding-top: 4px;

    }

    .call__btn-wrap {

        margin-top: 40px;

    }

    .call__left {

        text-align: center;

        padding: 56px 17px;

    }

    .call__btn-wrap:after {

        left: auto;

        right: -20px;

        margin: 0 auto;

    }

    .call {

        padding-top: 77px;

    }

    .call__arrow {

        left: 0;

        right: 0;

        margin: 0 auto;

        top: auto;

        bottom: -40px;

        transform: rotate(90deg);

    }

    .ppy__right {

        max-width: 100%;

    }

    .ppy__gallery {

        margin-top: 56px;

        position: relative;

        display: block;

        margin-left: auto;

        margin-right: auto;

        top: 0;

        right: 0;

    }

    .ppy .owl-item.active + .owl-item + .owl-item + .owl-item + .owl-item .ppy__slide,

    .ppy .owl-item.active + .owl-item + .owl-item + .owl-item .ppy__slide,

    .ppy .owl-item.active + .owl-item + .owl-item .ppy__slide,

    .ppy .owl-item.active + .owl-item .ppy__slide {

        opacity: 1;

    }

    .ppy__gallery {

        max-width: 350px;

        width: 100%;

    }

    .sum:after,

    .sum:before,

    .sum__bg {

        background: none;

    }

    .ppy__bg {

        background: url('../images/bg/sum-bg-mobile.png') no-repeat center;

        -webkit-background-size: cover;

        background-size: cover;

        height: 1338px;

        left: 0;

        width: 100%;

        position: absolute;

        bottom: -980px;

    }

    .sum__left {

        padding-left: 0;

        max-width: 290px;

    }

    .sum__title {

        max-width: 220px;

    }

    .sum__desc {

        margin-top: 68px;

    }

    .sum__btn-wrap {

        margin-top: 39px;

    }

    .sum {

        margin-top: -347px;

        padding-bottom: 337px;

    }

    .sum__btn-wrap:after {

        width: 64px;

        height: 64px;

        left: -17px;

        top: 0;

    }

    .contacts:after {

        pointer-events: none;

    }

}



@media all and (max-width: 850px) {

    .prices__list {

        max-width: 500px;

        margin-left: auto;

        margin-right: auto;

    }

    .price__title {

        min-height: inherit;

    }

    .price {

        width: 100%;

        margin-right: 0;

        margin-bottom: 20px;

    }

    .price:last-child {

        margin-bottom: 0;

    }

    .overlay {

        padding: 10px;

    }

    .popup-calc {

        padding: 48px 30px 51px;

    }

    .popup-calc__title {

        font-size: 22px;

    }

    .form__btn {

        height: 60px;

    }

    .popup-app:after {

        display: none;

    }

    .popup-type__slider {

        position: relative;

        display: block;

        top: 0;

        left: 0;

        margin-left: auto;

        margin-right: auto;

        max-width: 300px;

        width: 100%;

    }

    .popup-type {

        padding: 68px 30px 50px;

    }

    .popup-type__text {

        min-height: inherit;

    }

    .popup-type__right {

        padding-top: 50px;

    }

    .popup-app {

        padding: 58px 30px 57px;

    }

    .popup__form-title {

        font-size: 17px;

    }

    .popup {

        max-width: 360px;

    }

    .radios {

        margin-top: 50px;

    }

    .step__title {

        font-size: 26px;

        line-height: 1.2;

    }

    .step__title-icon {

        width: 26px;

        height: 26px;

    }

    .radio__title {

        font-size: 15px;

        margin-top: 0;

    }

    .radio {

        text-align: left;

        min-height: 50px;

        width: 100%;

        margin-right: 0;

        box-sizing: border-box;

        padding-left: 80px;

        display: -webkit-box;

        display: -webkit-flex;

        display: -ms-flexbox;

        display: flex;

        -webkit-box-align: center;

        -webkit-align-items: center;

        -ms-flex-align: center;

        align-items: center;

        margin-bottom: 15px;

    }

    .radios {

        max-width: 400px;

        margin-left: auto;

        margin-right: auto;

    }

    .radio:last-child {

        margin-bottom: 0;

    }

    .radio__photo {

        width: 50px;

        position: absolute;

        left: 0; top: 0;

    }

    .icon-check {

        width: 20px;

        height: 20px;

    }

    .popup__close {

        top: 15px;

        right: 15px;

    }

    .quiz__form {

        min-height: inherit;

        padding: 54px 20px 40px;

        z-index: 99999!important;

    }

    .radio__title {

        text-align: left;

    }

    .progress {

        width: 90%;

        max-width: 540px;

    }

    .quiz__form {

        border-radius: 10px;

    }

    .thank__wrap:before {

        display: none;

    }

    .thank__wrap {

        right: 0;

        margin-top: 70px;

        padding-left: 50px;

        padding-right: 50px;

        margin-left: auto;

        margin-right: auto;

    }

    .thank__block:after {

        left: 20px;

        right: 20px;

        width: auto;

    }

    .done:after {

        display: none;

    }

    .done {

        max-width: 440px;

        right: 0;

    }

    .done__right {

        margin-right: auto;

    }

    .step__done-title br {

        display: none;

    }

}



@media all and (max-width: 800px) {

    .q-map__list {

        margin-top: 30px;

        display: block;

        margin-left: auto;

        margin-right: auto;

    }

    .q-map {

        margin-bottom: 10px;

    }

}



@media all and (max-width: 765px) {

    .footer__right {

        width: auto;

    }

    .content {

        padding-left: 15px;

        padding-right: 15px;

    }

    .collage__col:nth-child(3n),

    .collage__col {

        width: 48%;

        margin-right: 4%;

    }

    .collage__col:nth-child(2n) {

        margin-right: 0;

    }

    h2 {

        font-size: 30px;

    }

    .collage {

        margin-top: 0;

        padding-top: 100px;

        background: linear-gradient(0deg, #FFFFFF 0.35%, rgba(255, 255, 255, 0) 100%), #CCE6FC;

    }

    .guarantee {

        width: 100%;

        margin-right: 0;

        margin-bottom: 30px;

    }

    .guarantee:last-child {

        margin-bottom: 0;

    }

    .guarantees__list {

        padding-left: 90px;

        padding-right: 90px;

    }

    .type {

        width: 100%;

        margin-bottom: 20px;

    }

    .type:last-child {

        margin-bottom: 0;

    }

    .type__title {

        font-size: 24px;

    }

    .types__list {

        max-width: 320px;

    }

    .types__wrap:after {

        display: none;

    }

    .diff__item {

        width: 100%;

        margin-bottom: 43px;

    }

    .diff__item:last-child {

        margin-bottom: 0;

    }

    .faq__col {

        width: 100%;

        margin-bottom: 20px;

    }

    .faq__col:last-child {

        margin-bottom: 0;

    }

    .quiz-range {

        padding-top: 50px;

        padding-bottom: 50px;

    }

    .noUi-value {

        font-size: 12px;

    }

}



@media all and (max-width: 720px) {

    .main:after,

    .main:before {

        display: none;

    }

    h1 {

        font-size: 36px;

        line-height: 36px;

        text-align: center;

        text-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    }

    .m-advantages {

        margin-top: 340px;

        display: block;

    }

    .m-advantage {

        margin-left: auto;

        margin-right: auto;

        margin-bottom: 19px;

    }

    .m-advantage:last-child {

        margin-right: auto;

        margin-bottom: 0;

    }

    h1 small {

        display: block;

        margin-left: auto;

        margin-right: auto;

        width: 220px;

        line-height: 42px;

        height: 44px;

        font-size: 16px;

        margin-top: 20px;

    }

    .main {

        padding-top: 28px;

        padding-bottom: 7px;

        background: #CCE6FC;

        overflow: visible;

    }

    .main__left {

        padding-left: 0;

    }

    .main__desc,

    .main__info {

        max-width: 290px;

        margin-left: auto;

        margin-right: auto;

        text-align: center;

    }

    .main__desc {

        padding-top: 6px;

    }

    .main__btn {

        max-width: 290px;

        height: 60px;

        margin-left: auto;

        margin-right: auto;

        display: block;

        font-size: 12px;

    }

    .main__btn-wrap:after {

        width: 61px;

        height: 61px;

        -webkit-background-size: cover;

        background-size: cover;

        left: 10px;

    }

    .main__btn-wrap {

        display: block;

        margin-left: auto;

        margin-right: auto;

        max-width: 290px;

        margin-top: 28px;

    }

    .main__bg {

        background: url('../images/bg/main-mobile-bg.jpg') no-repeat center;

        -webkit-background-size: cover;

        background-size: cover;

        width: 100%;

        left: 0;

        top: 94px;

        height: 566px;

        position: absolute;

    }

    .main__bg-bottom {

        background: url('../images/bg/main-bottom-mobile-bg.jpg') no-repeat center;

        -webkit-background-size: cover;

        background-size: cover;

        top: 810px;

        position: absolute;

        left: 0;

        right: 0;

        margin: 0 auto;

        width: 100%;

        max-width: 544px;

        height: 320px;

    }

}



@media all and (max-width: 550px) {

    .footer .content {

        max-width: 286px;

    }

    .footer {

        padding-top: 41px;

        padding-bottom: 60px;

    }

    .site-map {

        width: 100%;

        text-align: center;

        padding-top: 10px;

    }

    .footer__contacts {

        margin-top: 40px;

    }

    .footer__right {

        width: 100%;

        text-align: center;

        margin-top: 50px;

    }

    h2 {

        font-size: 24px;

        line-height: 24px;

    }

    .collage h2 {

        max-width: 280px;

        padding-left: 56px;

    }

    .collage h2:after {

        left: 0;

        top: 0;

        bottom: 0;

        margin: auto;

    }

    .collage {

        padding-top: 97px;

    }

    .collage__desc:last-child {

        padding-left: 0;

        padding-right: 0;

    }

    .collage__desc {

        margin-top: 22px;

    }

    .collage__list {

        margin-top: 20px;

    }

    .contacts__left {

        width: 100%;

        max-width: inherit;

    }

    .contacts__list {

        max-width: 260px;

    }

    #map {

        margin-top: -64px;

        position: static;

        height: 450px;

    }

    .guarantees__list {

        padding-left: 40px;

        padding-right: 40px;

    }

    .guarantees__list {

        padding-bottom: 0;

    }

    .about .content {

        padding-top: 143px;

    }

    .about h2 {

        margin-bottom: 117px;

    }

    .prices h2 {

        max-width: 220px;

        padding-left: 66px;

    }

    .prices h2:after {

        top: -30px;

    }

    .prices {

        padding-top: 0;

        margin-top: -51px;

    }

    .prices__desc {

        display: none;

    }

    .prices__list {

        margin-top: 42px;

    }

    .price__body {

        padding: 20px 5px 36px 5px;

    }

    .price__bottom {

        margin-top: 14px;

    }

    .types__list {

        max-width: 255px;

    }

    .types h2 {

        padding-left: 56px;

        max-width: 210px;

    }

    .types h2:after {

        left: 0; top: 0; bottom: 0;

        margin: auto;

    }

    .white-bg {

        z-index: 20;

        margin-top: 24px;

        padding-top: 140px;

    }

    .white-bg:after {

        right: -55px;

    }

    .types__wrap {

        margin-top: 38px;

    }

    .diff h2 {

        font-size: 36px;

        line-height: 36px;

    }

    .diff h2:after {

        top: 0; bottom: 0;

        margin: auto;

    }

    .diff {

        padding-top: 106px;

    }

    .diff__desc {

        padding-top: 4px;

    }

    .diff__list {

        margin-top: 47px;

    }

    .diff__item-btn {

        width: 21px;

        height: 21px;

        border: 1px solid #FFFFFF;

    }

    .diff__item-btn .svg-icon {

        width: 16px;

        height: 7px;

    }

    .diff__item-before, .diff__item-after {

        width: 50px;

        height: 28px;

        line-height: 28px;

        font-size: 14px;

    }

    .calc__title {

        display: none;

    }

    .calc__btn-wrap {

        margin-top: 0;

    }

    .calc__wrap {

        padding: 36px 5px 154px;

    }

    .calc {

        margin-top: -148px;

    }

    .white-bg {

        padding-bottom: 202px;

    }

    .ppy {

        margin-top: -118px;

    }

    .calc__btn-wrap {

        position: static;

    }

    .calc__wrap {

        position: relative;

        overflow: hidden;

    }

    .calc__btn-wrap:after {

        bottom: 0;

        left: auto;

        right: -90px;

    }

    .ppy h2 {

        font-size: 36px;

        line-height: 36px;

    }

    .ppy__text {

        padding-left: 17px;

        padding-right: 17px;

    }

    .ppy__btn-wrap {

        max-width: 255px;

        margin-top: 41px;

        display: block;

        margin-left: auto;

        margin-right: auto;

    }

    .ppy:after {

        left: 0;

        width: 100%;

        right: 0;

        background: url('../images/bg/ppy-center-bg.png') no-repeat center;

        -webkit-background-size: cover;

        background-size: cover;

        height: 509px;

        top: 260px;

    }

    .ppy:before {

        background: url('../images/bg/ppy-left-bg-mobile.png') no-repeat;

        width: 164px;

        height: 339px;

        top: 610px;

        left: 0;

    }

    .contacts {

        padding-top: 154px;

    }

    .step__title {

        font-size: 22px;

        line-height: 1.2;

    }

    .step__title-icon {

        width: 22px;

        height: 22px;

    }

    .radios {

        margin-top: 30px;

    }

    .step__ok {

        margin-right: 0;

    }

    .step__info {

        display: block;

        margin-top: 22px;

    }

    .logo {

        display: block;

        margin-left: auto;

        margin-right: auto;

    }

    .header__title {

        padding-top: 8px;

        text-align: center;

        margin-left: 0;

    }

    .header__left {

        padding-top: 17px;

        padding-left: 0;

        padding-right: 0;

    }

    .header__left:after {

        height: 120px;

    }

    .callback-btn {

        margin-top: 19px;

        width: 148px;

        height: 39px;

        display: block;

        margin-left: auto;

        margin-right: auto;

        font-size: 12px;

    }

    .header__right {

        padding-bottom: 23px;

        padding-top: 16px;

    }

    .faq h2:after {

        top: 0;

        bottom: 0;

        margin: auto;

    }

    .faq__list {

        margin-top: 46px;

    }

    .faq {

        padding-top: 42px;

        padding-bottom: 331px;

    }

    .gallery h2:after {

        top: 1px;

    }

    .gallery__wrap {

        min-height: inherit;

        margin-top: -46px;

    }

    .gallery .owl-dots {

        bottom: 2px;

    }

    .gallery__slider {

        padding-left: 45px;

        padding-right: 45px;

    }

    .gallery__slide {

        max-width: inherit;

    }

    .faq {

        z-index: 30;

    }

    .big-gallery__slide,

    .gallery__slide {

        border-width: 3px;

    }

    .big-gallery__wrap {

        padding-left: 45px;

        padding-right: 45px;

    }

    .gallery__wrap {

        margin-bottom: 38px;

    }

    .contacts:after {

        top: -304px;

    }

    .free h2 i {

        display: inline;

    }

    .free h2 {

        top: -65px;

    }

    .free__text {

        padding: 25px 13px 25px 16px;

    }

    .app {

        margin-top: 25px;

        padding-left: 5px;

        padding-right: 5px;

        padding-bottom: 26px;

    }

    .app .form__fields {

        margin-top: 31px;

    }

    .app .form__btn {

        max-width: 260px;

        margin-left: auto;

        margin-right: auto;

        display: block;

        margin-top: 30px;

    }

    .app__info {

        padding-left: 22px;

        padding-right: 22px;

    }

    .sum__title:after {

        -webkit-background-size: 100% auto;

        background-size: 100% auto;

        background-position: center;

        width: 100px;

        right: -80px;

        top: -70px;

    }

    .thank__ok {

        margin-right: 0;

    }

    .thank__info {

        display: block;

        margin-top: 15px;

    }

    .thank__block {

        padding: 50px 20px 50px;

    }

    .thank__wrap {

        margin-top: 50px;

        padding: 30px 20px;

        font-size: 21px;

    }

    .thank__title {

        font-size: 25px;

        line-height: 29px;

    }

    .thank__wrap:after {

        left: 10px;

        right: 10px;

    }

    .quiz-range {

        padding-left: 10px;

        padding-right: 10px;

    }

    .q-map {

        margin-top: 10px;

    }

    .step__done-title {

        font-size: 20px;

        line-height: 1.2;

    }

    .done {

        padding-left: 15px;

        padding-right: 15px;

        margin-left: -10px;

        margin-right: -10px;

    }

}



@media all and (max-width: 450px) {

    .collage__col:nth-child(3n), .collage__col {

        margin-right: 0;

        width: 100%;

    }

    .footer:after {

        left: -20px;

    }

    .collage__big {

        box-shadow: 0 4px 37px rgba(52, 123, 188, 0.5);

    }

    .guarantees__list {

        padding-left: 8px;

        padding-right: 8px;

    }

    .about__text {

        padding: 18px 7px 32px;

    }

    .twentytwenty-handle {

        width: 44px;

        height: 44px;

        margin-top: -22px;

        margin-left: -22px;

    }

    .twentytwenty-horizontal .twentytwenty-handle:before {

        margin-bottom: 16px;

    }

    .twentytwenty-horizontal .twentytwenty-handle:after {

        margin-top: 16px;

    }

    .noUi-value {

        font-size: 11px;

    }

}



@media all and (max-width: 370px) {

    .popup {

        border-radius: 8px;

        padding-left: 20px;

        padding-right: 20px;

    }

    .popup__form-title {

        font-size: 16px;

    }

    .noUi-value {

        font-size: 10px;

    }

}



@media all and (max-width: 340px) {

    .popup {

        padding-left: 15px;

        padding-right: 15px;

    }

}

















:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}

@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}





































