html {
    overflow-y: scroll;
}

/* h1 {
    font-size: 35px;
    line-height: 40px;
} */
/*************** ZOYA ***********************/

/* @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Spectral+SC:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap'); */

body {
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
}

img {
    max-width: 100%;
}

h1, h2,
.services .block-title,
.contacts .block-title,
.photo-gallery .block-title,
.about .block-title,
.advantages .block-title {
    font-family: "Spectral SC", serif;
    font-weight: 600;
    font-style: normal;
}

h1 {
    font-size: 64px;
}

h2,
.services .block-title,
.contacts .block-title,
.photo-gallery .block-title,
.about .block-title,
.advantages .block-title {

    font-size: 36px;
    color: var(--color-main);
}

h3, h4, h5, h6 {
    font-family: "Spectral SC", serif;
    font-weight: 500;
    font-style: normal;

}

.btn {
    font-size: 16px;
    line-height: 100%;
    font-weight: 500;
    font-family: "Montserrat", sans-serif;
    border-radius: 10px;
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 16px;
    padding-bottom: 16px;
}

.btn-primary {
    color: #fff;
    background-color: var(--color-main);
    border-color: var(--color-main);

}

.btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:focus {
    color: #fff;
    background-color: var(--color-main-hover);
    border-color: var(--color-main-hover);
}




/* ### GENERAL ### */

.search-api-page-block-form {
    border-radius: var(--border-radius);
    overflow: hidden;
    display: flex;
    width: 100%;
}

.search-api-page-block-form form {
    width: 100%;
}

.search-api-page-block-form .form-search {
    height: 54px;
    width: 100%;
    background-color: var(--color-white);
}

.search-api-page-block-form .form-search::placeholder {
    color: transparent;
}

.search-api-page-block-form .form-actions {
    height: 54px;
    width: 52px;
    flex-shrink: 0;
}

.search-api-page-block-form .form-actions .btn {
    height: 100%;
    width: 100%;
    background-size: 90%;
    min-width: auto;
}


/******************** MAIN START******************************/
.main {
    padding-top: 50px;
    padding-bottom: 50px;
}

.main h1 {
    font-size: 50px;
    margin-bottom: 40px;
    line-height: 1;
    color: var(--color-main);
}

.main p {
    margin-bottom: 30px;
    font-size: 18px;
}

.main ul li {
    margin-bottom: 30px;
    font-size: 18px;
}

/******************** MAIN END******************************/

/******************** HEADER START **********************/
.header {
    padding-bottom: 30px;
}

.row.top-bar-items {
    align-items: center;
    display: flex;
    justify-content: center;
    padding-top: 20px;

}

.header .col-right {
    display: flex;
    justify-content: flex-end;
}

.header .col-right .btn {
    padding-left: 30px;
    padding-right: 30px;
}

.header .col-center {
    text-align: center;
}

.header .col-center a.logo {
    display: block;
}

.header-mobile-block {
    margin-top: 30px;
}

.contact-info {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 15px;
    color: var(--color-black);
}


.contact-info .icon {
    min-width: 25px;
    text-align: center;
}

.contact-info a {
    text-decoration: none;
    color: var(--color-black);
}

.contact-info a:hover {
    color: var(--color-link-hover);
}


/* .header-mobile-block {
    display: none;
} */

/******************** HEADER END **********************/
/******************** NAVIGATION START **********************/

div#page .navigation {
    background-color: var(--color-main);
}

.navigation ul,
.navigation ul.sf-menu {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}

.navigation ul li:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.navigation ul li a {
    display: block;
    /* padding: 15px 20px; */
    padding: 13px 22px;
    text-decoration: none;
    color: var(--color-white);
}

.navigation ul.menu a.is-active {
    color: var(--color-white);
}




.mm-menu .navigation ul,
.mm-menu .navigation ul.sf-menu {
    align-items: flex-start;
}

.mm-menu .navigation ul li a {
    color: var(--color-main);
    font-size: 20px;
    line-height: 35px;
}

.mm-menu .navigation ul li a:hover {
    color: var(--color-main-hover);
}

.mm-menu .navigation ul li:hover {
    background-color: transparent;
}

/* div#page .navigation .region.region-navigation div#block-vesta-theme-osnovnayanavigaciya-2>ul li a {
    padding: 13px 22px;
} */

/******************** NAVIGATION END **********************/


/******************** TOP SECTION START **********************/
.top-section h1, .top-section .block-title {
    color: var(--color-white);
    text-transform: uppercase;
    font-size: 64px;
    margin-bottom: 66px;

}





.top-section p {
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 500;
    color: var(--color-white);
    font-size: 24px;
}



.top-section {
    background-image: url(../image/cover.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    padding-top: 170px;
    padding-bottom: 160px;

}

.top-section .field--name-field-url a {
    display: inline-flex;
    font-size: 20px;
    padding: 0 60px;
    height: 60px;
    line-height: 60px;
    color: var(--color-white);
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.27);
    border: 2px solid var(--color-white);
    backdrop-filter: blur(2px);
    transition: background-color 0.3s ease;
    text-align: center;
    margin-top: 64px;
    text-decoration: none;
}

.top-section .field--name-field-url a:hover {
    background-color: rgba(255, 255, 255, 0.6);
    color: #fff;
    text-decoration: none;
}

.top-section .btn-myprimary {
    display: inline-flex;
}

.btn-white-opacity {
    font-size: 20px;
    padding: 0 60px;
    height: 60px;
    line-height: 60px;
    color: var(--color-white);
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.27);
    border: 2px solid var(--color-white);
    backdrop-filter: blur(2px);
    transition: background-color 0.3s ease;
    text-align: center;

}

.btn-white-opacity:hover {
    background-color: rgba(255, 255, 255, 0.6);
    color: #fff;
}

/******************** TOP SECTION END **********************/


/******************** QUIZ START **********************/

.webform-submission-form {
    position: relative;
}

.quiz {
    padding-top: 120px;
    padding-bottom: 70px;
    .quiz .form-actions
}



.quiz .progress-tracker {
    height: 10px;
    border: 1px solid rgb(0 0 0 / 20%);
    border-radius: 10px;
    overflow: hidden;
    margin: 0;
}

.quiz .webform-progress__status {
    text-align: center;
    position: absolute;
    left: 0;
    top: -30px;
    font-size: 20px;
}

.quiz .webform-progress-tracker .progress-step .progress-text {
    display: none;
}

.quiz .progress-marker:before, .quiz .progress-marker:after {
    display: none;
}

.quiz .progress-step {
    height: 10px;
    background-color: transparent;
}

.quiz .progress-step.is-complete {
    background-color: var(--color-main);
}

.quiz .progress-step.is-active:not(:last-child) {
    background: linear-gradient(90deg, rgba(26, 120, 152, 1) 0%, rgba(26, 120, 152, 0) 100%);
}

.quiz .progress-step:last-child.is-active {
    background-color: var(--color-main);
}


.quiz .form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
    margin-bottom: 0;
}

.quiz .webform-progress {
    position: absolute;
    width: calc(100% - 240px);
    bottom: 20px;
}


.quiz .form-checkboxes .form-item, .quiz .form-radios .form-item {
    margin-top: 0;
    margin-bottom: 30px;
    border: 1px solid #999;
    height: 64px;
    border-radius: 10px;
    line-height: 64px;
    padding: 0;
    font-size: 20px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: flex-end;

}




.quiz .fieldset-legend {
    font-size: 36px;
    display: block;
    color: var(--color-main);
    font-family: "Spectral SC", serif;
    font-weight: 600;
    margin-bottom: 40px
}

.quiz .fieldset-legend>span {
    font-size: 24px;
    display: block;
    color: #999999;
    font-family: "Spectral SC", serif;
    font-weight: 500;
    margin-top: 40px;
}

.quiz .fieldset-legend.form-required:after {
    display: none;
}

.quiz .form-item--error-message {
    margin-bottom: 30px;
    display: flex;
    align-items: center;
}

.quiz .form-item--error-message, .quiz .form-item--error-message strong {
    font-size: 20px;
    font-weight: 400;
}

.quiz [data-drupal-messages] {
    display: none !important;
}

/* .quiz .form-item--error-message::before {
    display: none;
} */



/* ///////////////////// */



.quiz .form-item.form-type-radio label.option {
    display: block;
    height: 100%;
    width: calc(100% - 114px);
    margin: 0;
    position: relative;
}

.quiz .form-item.form-type-radio label.option::before {
    content: '';
    display: inline-block;
    width: 26px;
    height: 26px;
    background: var(--color-main);
    opacity: 0.26;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: -56px;
    transition: 0.2s ease-in;

}

.quiz .form-item.form-type-radio label.option::after {
    content: '';
    display: inline-block;
    width: 26px;
    height: 26px;
    background-image: url(../image/check.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%) scale(0);
    left: -56px;
    transition: 0.2s ease-in;

}

.quiz .form-item.form-type-radio input:checked+label.option::after {
    transform: translate(0, -50%) scale(1);
}

.quiz .form-item.form-type-radio input:checked+label.option::before {
    opacity: 1;
}

.quiz .form-item.form-type-radio input {
    display: none;
}

.quiz .btn.form-submit {
    padding-left: 0px;
    padding-right: 0px;
    width: 200px;
    text-align: center;
}

.quiz .form-item-markup {
    font-size: 18px;
    margin-bottom: 30px;
}

/* //////////////////////////////////// */









@media (min-width: 400px) {
    .quiz .webform-options-display-two-columns {

        max-width: 100%;

    }
}

/******************** QUIZ END **********************/


/******************** SERVICES START **********************/
.services {
    background-color: #E8E9EC;
    padding-top: 95px;
    padding-bottom: 80px;
}

.services h2, .services .block-title {
    margin-bottom: 44px;

}



.services .view-content .views-col {
    margin-bottom: 30px;
}


.services .column-content {
    padding-top: 45px;
    padding-bottom: 40px;
    padding-left: 55px;
    padding-right: 55px;
    background: var(--color-white);
    box-shadow: 0px 36px 10px rgba(228, 230, 231, 0.02),
        0px 23px 9px rgba(228, 230, 231, 0.15),
        0px 13px 8px rgba(228, 230, 231, 0.5),
        0px 6px 6px rgba(228, 230, 231, 0.85),
        0px 1px 3px rgba(228, 230, 231, 0.98);
    border-radius: 15px;
    height: 100%;
    display: flex;
    flex-direction: column;
}


.column-content h4 {
    font-size: 20px;
    line-height: 150%;
    margin-bottom: 22px;
}

.services .column-content .descr {
    flex: 1;
    margin-bottom: 0;
    font-size: 16px;
    line-height: 150%;
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 400;
    margin-bottom: 30px;

}

.services .column-content .views-field.views-field-nothing {
    margin-top: auto;
}

.services .column-content .callback .btn {

    height: 44px;
    border-radius: 10px;
    background-color: var(--color-main);
    color: var(--color-white);
    font-size: 16px;
    line-height: 16px;

    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.services .column-content .callback .btn:hover, .services .column-content .callback .btn:active, .services .column-content .callback .btn:focus {
    color: var(--color-white);
    background-color: var(--color-main-hover);
    border-color: var(--color-main-hover);
}

.services .column-content .views-field.views-field-field-service-price {
    margin-top: auto;
    margin-bottom: 36px;
    display: flex;
    gap: 7px;
    align-items: flex-end;
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 150%;
    color: var(--color-black);
}

.services .column-content .price {}

/******************** SERVICES END **********************/



/******************** ADVANTAGES START **********************/

.advantages {
    padding-top: 150px;
    padding-bottom: 20px;
}

.advantages h2, .advantages .block-title {
    margin-bottom: 45px;
}

.warranty .numb {

    color: var(--color-main);
    font-family: "Spectral SC", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 160px;
    width: 80px;

}

.warranty .right {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 30px;
    padding-bottom: 30px;
    color: var(--color-black);
}


.warranty h4 {

    font-size: 20px;

    margin-bottom: 35px;


}



.warranty .descr {
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
}


.warranty {
    display: flex;
    align-items: stretch;
    gap: 50px;
    border-radius: 15px;
    margin-bottom: 30px;
}

/******************** ADVANTAGES END **********************/

/******************** CONTACTS START **********************/

.contacts {

    padding-top: 135px;
    padding-bottom: 80px;
}

.contacts .block-title {
    margin-bottom: 40px;

}

.contacts .map-block {
    border-radius: 15px;
    overflow: hidden;
}

.contacts .info-block {}

/******************** CONTACTS END **********************/
/* ******************GALLERY START ************************* */


section.photo-gallery {
    padding-top: 135px;
    padding-bottom: 135px;
}

.photo-gallery .col-gallery {
    margin-bottom: 30px;

}

.photo-gallery h2, .photo-gallery .block-title {
    margin-bottom: 45px;
}

.photo-gallery .photoswipe-gallery a {
    display: block;
}

.photo-gallery img {
    border-radius: 15px;
}

.js-pager__items.pager {
    padding: 0;
    margin: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.js-pager__items.pager a {
    background: var(--color-main);
    height: 50px;
    line-height: 50px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    text-decoration: none;
    color: var(--color-white);
    padding-left: 60px;
    padding-right: 60px;
}

.js-pager__items.pager a:hover {
    color: var(--color-white);
    background-color: var(--color-main-hover);
    border-color: var(--color-main-hover);
}



/* ******************GALLERY END ************************* */


/* ******************ABOUT START ************************* */
.about {

    padding-top: 65px;
    padding-bottom: 106px;
}

.about h2, .about .block-title {
    margin-bottom: 35px;
}

.about-left img {
    margin-bottom: 30px;
    border-radius: 15px;
    width: 100%;
}

.about-right {
    padding-top: 5px;
}

.about-right p {

    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    margin-bottom: 20px;


}

/* ******************ABOUT END ************************* */

/* ******************TIMER START ************************* */
.form-section {
    background-image: url(../image/cover.jpg);
    background-size: 100% 65%;
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 180px;
}

.form-section h3 {
    font-family: "Spectral SC", serif;
    font-weight: 600;
    font-style: normal;
    font-size: 24px;
    color: var(--color-main);
    margin-bottom: 40px;
}

.form-section .form-block {
    width: 100%;
    max-width: 1380px;
    padding-left: 60px;
    padding-right: 60px;
    padding-top: 80px;
    padding-bottom: 70px;
    border-radius: 20px;
    border: 0.5px solid var(--color-border);
    margin: 0 auto;
    background-color: var(--color-white);

}

.form-block .col-form {
    max-width: 550px;
}


.form-control {

    height: 48px;
    padding: 18px;

    line-height: 1.5;
    color: var(--color-black);
    background-color: #E8E9EC;
    border-color: #E8E9EC;

    border: 1px solid #ced4da;
    border-radius: 10px;
    margin-bottom: 20px;
}

.form-control:focus {
    color: var(--color-black);
}


.form-control::-webkit-input-placeholder,
.form-control::-moz-placeholder,
.form-control:-ms-input-placeholder,
.form-control::placeholder,
input.form-control::placeholder {
    color: var(--color-black);
    opacity: 1;
}

strong.error,
.form-item.js-form-type-tel+strong.error.form-item--error-message,
.form-item.js-form-type-tel+strong.error.form-item--error-message+strong.error.form-item--error-message {
    margin-top: 10px !important;
    color: var(--color-black);
    padding-left: 15px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 400;
}

.form-item--error-message:before {
    margin-right: 5px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.form-block .col-timer {}

.timer-block {
    color: var(--color-main);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.timer-block .timer-col {

    font-family: "Spectral SC", serif;
    font-weight: 600;
    font-style: normal;
    font-size: 128px;
    line-height: 1;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 30px;
}

.timer-block .timer-col.dots {}

.timer-block .timer-col .timer-value {}

.timer-block .timer-col .timer-descr {
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;

}


.btn.form-submit,
.btn {
    padding-left: 60px;
    padding-right: 60px;
    font-weight: 500;
}




/* .form-item {
    margin-bottom: 20px;


} */

/* ******************TIMER END ************************* */

/******************* FOOTER START *******************/


.footer {
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: var(--color-black);

}

/* .footer-menu ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-menu ul li a {
    padding: 10px 20px;
    display: block;
} */

.region-footer-center ul li:hover {
    color: var(--color-link-hover);
}

.footer a {
    text-decoration: none;
    color: var(--color-black);
}

.footer a:hover {
    color: var(--color-link-hover);
}

.info-footer {
    display: block;
    font-size: 14px;
    font-weight: 400;
}

.footer-logo img {
    padding-bottom: 20px;
}


.webvesta {
    align-items: center;
    display: flex;

    justify-content: center;
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 149%;
    color: var(--color-border);
}

/******************* FOOTER START *******************/


.footer {
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: var(--color-black);
    padding-top: 45px;
    border-top: 1px solid var(--color-border);

}

.footer-menu ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.footer-menu ul li a {
    padding: 10px 20px;
    display: block;
}

.footer a {
    text-decoration: none;
    color: var(--color-black);
}

.info-footer {
    display: block;
    font-size: 14px;
    font-weight: 400;
}

.footer-logo img {
    padding-bottom: 20px;
}




.vesta_backlink {
    align-items: center;
    display: flex;

    justify-content: center;
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 149%;
    color: var(--color-border);
}

.vesta_backlink a {

    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 149%;
    color: var(--color-border);
}

/* FOOTR END */

/* FOOTR END */




/* *** ADAPTIVE *** */
@media screen and (max-width: 1199px) {
    .form-section h3 {
        margin-bottom: 30px;
    }

    .timer-block .timer-col {
        font-size: 100px;
    }
}

@media screen and (max-width: 991px) {
    .header {
        padding-bottom: 0px;
    }

    .container-sm,
    .container {
        max-width: 100%;
    }

    .header .col-center a.logo {
        display: block;
        max-width: 150px;
        margin: 0 auto;
    }

    .form-section {
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 80px;
    }

    .form-section .form-block {
        max-width: 100%;
        padding-left: 30px;
        padding-right: 30px;
        padding-top: 40px;
        padding-bottom: 40px;
        margin-bottom: 40px;
    }

    .form-section h3 {
        text-align: center;
    }

    .form-block .col-form {
        margin: 0 auto;
        margin-top: 40px;
    }

    .timer-block {
        justify-content: center;
        gap: 15px;
    }

    .quiz .form-item.form-type-radio label.option {
        display: block;
        height: 100%;
        width: calc(100% - 50px);
        margin: 0;
        position: relative;
    }

    .quiz .form-item.form-type-radio label.option::before {
        left: -36px;
    }

    .quiz .form-item.form-type-radio label.option::after {
        left: -36px;
    }

}





@media screen and (max-width: 767px) {



    .header .col-right {
        justify-content: flex-start;
    }

    .top-section {
        padding-top: 70px;
        padding-bottom: 60px;
    }

    .top-section h1,
    .top-section .block-title {

        font-size: 40px;
    }

    h2, .services .block-title, .contacts .block-title, .photo-gallery .block-title, .about .block-title, .advantages .block-title {
        font-size: 30px;
    }

    .top-section h1, .top-section .block-title {
        margin-bottom: 30px;
    }

    .top-section .field--name-field-url a {
        margin-top: 30px;
    }

    .quiz {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .quiz .fieldset-legend {
        font-size: 30px;
        margin-bottom: 30px;
    }

    .quiz .fieldset-legend>span {
        font-size: 20px;
        margin-top: 30px;
    }


    .quiz .form-item--error-message, .quiz .form-item--error-message strong {
        font-size: 16px;
    }

    .advantages {
        padding-top: 50px;
    }

    .warranty {
        gap: 15px;
    }

    .warranty .right {
        padding-top: 0;
        padding-bottom: 0;
    }

    .warranty .numb {
        font-size: 120px;

    }

    section.photo-gallery {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    section.photo-gallery .photoswipe-gallery {
        width: 100%;
    }

    .form-block .col-form {
        max-width: 100%;
    }

    .timer-block .timer-col {
        font-size: 85px;
    }

    .contacts {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .contacts .block-title {
        margin-bottom: 30px;
    }

    .footer .col-left {
        margin-bottom: 30px;
    }

    .footer .col-right {
        display: flex;
        justify-content: flex-start;
    }

}

@media screen and (max-width: 576px) {
    .timer-block .timer-col {
        font-size: 75px;
    }
}

@media (min-width: 768px) {
    .webform-options-display-two-columns {
        column-count: 2;
    }
}

@media (min-width: 400px) {
    .webform-options-display-two-columns {
        column-count: 1;
    }
}