/*@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:400&subset=latin,latin-ext);
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lobster&family=Philosopher:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

@font-face {
    font-family: "RobotoBold";
    src: url("../fonts/Roboto-Bold.ttf");
}

@font-face {
    font-family: "Roboto-Regular";
    src: url("../fonts/Roboto-Regular.ttf");
}

:root {
    --textColorDefault: #303030;
    --textColorDark: #696969;
    --textColorBlack: #000000;
    --inputPlaceholderColor: #606060;
    --textLight: #9cabc0;
    --linkHoverColor: #0B73BC;
    --accentColor: #0B73BC;
    --secondaryColor: #1e4487;
    --accentColorLight: #20A5F4;
    --accentColorLighter: #F4F9FF;
    --accentColorLightest: #F4F9FF;
    --accentColorDark: #1e4487;
    --accentColorDarker: #001c5f;
    --accentColorDarkest: #1e4487;
    --backColor: #ffffff;
    --backColor2: #f5f3ed;
    --backColor3: #f8f8f8;
    --backDarkColor: var(--accentColorDark);
    --headerHeight: 90px;
    --borderLightColor: #e0e0e0;
    --footerBackColor: #303030;
    --section-margin: 80px;

    --theme-primary-color: #20A5F4 !important;
    --site-max-width: 1440px;
    --theme-site-width: 1440px;

    --heroSectionHeight: 480px;

    font-family: Inter, sans-serif;
}

@media (max-width: 767px) {
    :root {
        --headerHeight: 70px;
        --section-margin: 50px;
        --heroSectionHeight: 400px;
    }
}

*,
:after,
:before {
    box-sizing: border-box;
}

a {
    text-decoration: none;

    color: var(--accentColorDarker);
}

section p a {
}

a:hover {
    color: var(--accentColorDark);
}

body,
html {
    height: 100%;
    font-size: 18px;
}

body {
    background-color: var(--backColor);
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    line-height: 1.3;
    position: relative;
    visibility: visible;
    overflow-x: hidden;
    color: var(--textColorDefault);
    padding-right: 0 !important;
}

@media (max-width: 1280px) {
    body,
    html {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    body,
    html {
        font-size: 14px;
    }
}

@media (max-width: 500px) {
    body,
    html {
        font-size: 14px;
    }
}

p {
    line-height: 1.5;
}

p b {
    font-weight: normal;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 500;
    line-height: 1.2;
    color: inherit;
}

h2 {
    font-weight: 600;
    font-size: 36px;
    margin-bottom: 15px;
    color: var(--accentColor);
    text-transform: uppercase;
}

h3 {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--accentColor);
}

h4 {
    font-weight: 500;
    font-size: 24px;
    color: var(--textColorBlack);
}

h5 {
    font-weight: 600;
    font-size: 17px;
    color: var(--textColorBlack);
    line-height: 1.3;
}

@media (max-width: 1440px) {
    h2 {
        font-size: 30px;
    }

    h3 {
        font-size: 18px;
    }

    h4 {
        font-size: 18px;
    }

    h5 {
        font-size: 15px;
    }
}

@media (max-width: 767px) {
    h2 {
        font-size: 24px;
    }

    h3 {
        font-size: 16px;
    }

    h4 {
        font-size: 16px;
    }

    h5 {
        font-size: 14px;
    }
}

.header-container {
    max-width: var(--site-max-width);
    align-items: center;
}

.header-container h3,
.header-container h2,
.header-container h4,
.header-container a {
    text-decoration: none;
}

.header-container h3 {
    font-weight: bold;
    color: var(--accentColor);
}

.logo,
    /*.footer-area .logo,*/
.sticky-header .logo,
.sticky-header.sticky .logo {
    height: 85px;
}

@media (max-width: 767px) {
    .sticky-header .logo,
    .sticky-header.sticky .logo {
        max-width: 100px;
    }
}

.footer-contacts {
    display: flex;
    flex-direction: column;
}

.footer-contacts span {
    margin-left: 34px;
    color: var(--textColorBlack);
}

.footer-contacts p {
    margin-top: 30px;
    line-height: 1.3;
    color: var(--textColorBlack);
}

.footer-contacts a img {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}

.footer-contacts .social,
.elementor-widget-container .social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.elementor-widget-container .social img,
.footer-contacts .social img {
    width: 40px;
    height: 40px;
    margin-right: 6px;
}

.elementor-widget-container .social img:hover,
.footer-contacts .social img:hover {
    background-color: white;
    border-radius: 30px;
}

.footer-contacts p,
.footer-contacts a {
    margin-bottom: 10px;
}

.footer-contacts a:hover {
    color: var(--accentColor);
}

.footer-contacts .flex-column {
    gap: 2px;
}

.footer-contacts .contacts-block {
    margin-bottom: 20px;
}

.footer-contacts h6 {
    font-weight: 700;
    font-size: 18px;
    color: white;

}

.logo-block {
    display: flex;
    align-items: center;
}

.logo-block p {
    margin-left: 30px;
    margin-bottom: 0;
    font-weight: bold;
    color: #606060;
}

.header-area {
    height: var(--headerHeight);
    /*display: flex;*/
    /*align-items: center;*/
}

.row {
    --bs-gutter-x: 30px;
    --bs-gutter-y: 0;
}

@media (max-width: 767px) {
    .row {
        --bs-gutter-x: 20px;
        --bs-gutter-y: 0;
    }
}

/*.header-area .row {
    margin: 0;
}*/

.header-area div {
    height: 100%;
}

.header-mobile .logo-block p {
    margin-left: 15px;
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1.2;
}

.header-mobile-logo-row .col-9 {
    padding-right: 0;
}

.header-addresses,
.header-phones {
    display: flex;
    column-gap: 30px;
    margin: 0;
}

/*@media (min-width: 1280px) {
    .header-addresses,
    .header-phones {
    }
}*/

@media (max-width: 990px) {
    .header-addresses,
    .header-phones {
        display: flex;
        flex-direction: column;
        gap: 6px;
        align-items: flex-end;
    }
}

.header-contacts {
    align-items: center;
    overflow: hidden;
    column-gap: 30px;
}

@media (max-width: 500px) {
    .header-contacts {
        /*background: transparent;*/
        margin-left: 0;
    }
}

.header-button-wrapper {
    justify-content: center;
    display: flex;
    align-items: center;
    flex: 1;
}

.header-contacts button {
    margin-right: 0;
}

@media (max-width: 1160px) {
    .header-contacts button {
        display: none;
    }
}

.section-contacts img,
.header-contacts img {
    height: 24px;
    width: 24px;
    margin-right: 10px;
}

@media (max-width: 500px) {
    .header-contacts img {
        margin-right: 0;
    }
}

@media (max-width: 500px) {
    .header-contacts img {
        display: none;
    }

    .header-contacts a img {
        display: block;
    }
}

.section-contacts a,
.service-section a,
.contacts-block .contacts-row.phone a
    /*.header-contacts p,*/
    /*.header-contacts a */
{
    font-size: 20px;
    font-weight: normal;
    text-decoration: none;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    font-family: RobotoBold, sans-serif;
}

.service-section a:hover {
    color: var(--accentColor);
}

.header-contacts a:hover {
    color: var(--accentColor) !important;
}

.header-contacts a.button-accent {
    height: fit-content;
}

.header-contacts p,
.header-contacts a {
    color: var(--textColorDefault);
}

@media (max-width: 500px) {
    .section-contacts p,
    .section-contacts a,
    .header-contacts p,
    .header-contacts a {
        font-size: 16px;
        /*color: var(--textColorBlack);*/
    }
}

.header-contacts p img,
.header-contacts a img {
    width: 24px;
    height: 24px;
}

.header-social {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: flex-end;
}

.header-social img {
    width: 40px;
    height: 40px;
}

.header-navigation {
    display: flex;
    gap: 30px;
    align-items: center;
}

@media (max-width: 1060px) {
    .header-navigation {
        margin-left: 30px;
    }
}

.header-icons {
    height: 100px;
    gap: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.header-icons img {
    width: 28px;
    height: 28px;
}

.header-navigation a {
    font-size: 16px;
    text-transform: none;
    color: var(--textColorDefault);
    text-decoration: none;
    padding: 10px 0;
    border-bottom: 2px solid transparent;
    border-top: 2px solid transparent;
}

.header-navigation a strong {
    text-transform: uppercase;
}

.header-navigation a:hover {
    color: var(--accentColor);
    border-bottom: 2px solid var(--accentColor);
}

.main-content {
    /*padding-top: var(--headerHeight);*/
    padding-top: 0;
}

.main-content-sticky {
}

@media (max-width: 990px) {
    .main-content-sticky {
    }
}

.main-content-back {
    background-size: auto;
}

.section-hero {
    position: relative;
    display: flex;
    align-items: center;
}

.section-hero {
    height: var(--heroSectionHeight);
    /*background: url("./../images/hero-back.jpg") no-repeat center;*/
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}


.section-hero:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(90deg, #F8F8F7ff 0%, #F8F8F700 75%);
}

.section-hero .container {
    z-index: 1;
}

.section-hero .container,
.section-hero .row {
    height: 100%;
}

.hero-box {
    display: block;
    flex-direction: column;
    width: 100%;
    padding-bottom: 30px;
}

.hero-title {
    color: var(--accentColor);
    font-family: Inter, sans-serif;
    font-size: 48px;
    font-weight: bolder;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.hero-text {
    font-size: 18px;
    line-height: 1.3;
    font-weight: 500;
    font-family: Inter, sans-serif;
    color: var(--textColorDefault);
    margin-bottom: 20px;
}

@media (min-width: 1250px) {
    .hero-text {
        padding-right: 20px;
    }
}

.hero-box div {
    width: fit-content;
}

.hero-box span {
    font-size: 14px;
    font-weight: 500;
    color: var(--accentColor);
    margin-top: 5px;
}

@media (max-width: 767px) {
    .hero-box {
    }

    .hero-title {
        font-size: 32px;
    }

    .hero-text {
        font-size: 14px;
    }

    .hero-box span {
        font-size: 12px;
    }
}

div:has(> .hero-image) {
    padding-bottom: 30px;
}

.hero-image {
    /*position: absolute;*/
    /*right: -130px;*/
    /*top: -140px;*/
    /* opacity: 0;
    -webkit-transition: all 0.5s ease-in-out 1s;
    -moz-transition: all 0.5s ease-in-out 1s;
    -o-transition: all 0.5s ease-in-out 1s;*/
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: bottom;
    /*transition: all 0.5s ease-in-out 1s;*/
}

.section-hero section,
.hero.container section {
    height: 100%;
}

.section-hero section .container,
.hero.container section .container {
    height: 100%;
    display: flex;
    align-items: center;
    width: 100%;
}

.section-hero section .container .row,
.hero.container section .container .row {
    width: 100%;
}

.hero-frame {
    padding: 40px;
    border-radius: 40px;
    /*row-gap: 30px;*/
    display: flex;
    flex-direction: column;
    background-color: #00000080;
    width: fit-content;
    backdrop-filter: blur(20px);
}

@media (max-width: 767px) {
    .hero-frame {
        padding: 40px 20px;
        border-radius: 20px;
    }
}

.hero-desc-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.hero-desc-row img {
    width: 6px;
    height: 6px;
}

.hero-buttons-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 20px;
    row-gap: 10px;
    flex-wrap: wrap;
}

.hero-frame h5,
.hero-frame p {
    font-size: 2rem;
    color: white;
    font-weight: 500;
    text-shadow: 2px 3px 0 rgba(0, 0, 0, 0.5);
}

@media (max-width: 500px) {
    .hero-frame h5,
    .hero-frame p {
        font-size: 1.25rem;
    }
}

.hero-frame h1 {
    color: white;
    font-family: Philosopher, sans-serif;
    font-size: 44px;
    font-weight: normal;
    line-height: 1.2;
    text-transform: none;
    margin-bottom: 30px;
}

@media (max-width: 1440px) {
    .hero-frame h1 {
        font-size: 40px;
    }
}

@media (max-width: 1280px) {
    .hero-frame h1 {
        font-size: 36px;
    }
}

@media (max-width: 900px) {
    .hero-frame h1 {
        font-size: 34px;
    }
}

@media (max-width: 500px) {
    .hero-frame h1 {
        font-size: 34px;
    }
}

.hero-frame h3 {
    color: white;
    margin-bottom: 10px;

    font-weight: normal;
    font-size: 20px;
    line-height: 1.3;
}

.hero-frame .hero-desc-row h3 {
    margin-bottom: 0;
}

.hero-frame h3 strong {
    font-weight: normal;
    color: var(--accentColor);
}

@media (max-width: 1440px) {
    .hero-frame h3 {
        font-size: 20px;
    }
}

@media (max-width: 1280px) {
    .hero-frame h3 {
        font-size: 20px;
    }
}

@media (max-width: 900px) {
    .hero-frame h3 {
        font-size: 20px;
    }
}

@media (max-width: 500px) {
    .hero-frame h3 {
        font-size: 20px;
    }
}

.hero2 h3 {
    color: var(--textColorDark);
}

.hero-frame h1 b {
    color: var(--accentColor);
}

.hero-frame h5 {
    font-weight: 100;

    margin-bottom: 10px;
    font-size: 20px;
}

.hero-frame ul {
    padding-left: 1rem;
    margin-bottom: 40px;
}

.hero-frame ul li {
    font-size: 24px;
    list-style: square;
    font-weight: bold;
    margin-bottom: 8px;
    color: var(--accentColorDarker);
}

@media (max-width: 450px) {
    .hero-frame ul li {
        font-size: 15px;
    }
}

.button-accent:not(.unset):not(.link),
.button-accent {
    width: fit-content;
    padding: 14px 28px;
    color: white;
    font-weight: bold;
    font-size: 17px;
    background-color: var(--accentColorLight);
    border: none;
    text-transform: uppercase;
    border-radius: 60px;
}

@media (max-width: 767px) {
    .button-accent:not(.unset):not(.link),
    .button-accent,
    .button-light {
        padding: 10px 20px;
        font-size: 14px;
    }
}

a.button-accent:not(.unset):not(.link):hover,
a.button-accent:hover,
.button-accent:hover {
    background-color: var(--accentColor) !important;
    color: white !important;
}

.button-accent.inverse:not(.unset):not(.link).inverse,
.button-accent.inverse,
a.button-accent.inverse {
    background-color: white;
    color: var(--accentColor);
    transition: box-shadow ease 0.5s, transform ease 0.5s;
    border: 2px solid white;
}

.button-accent.inverse:not(.unset):not(.link).inverse:hover,
.button-accent.inverse:hover,
a.button-accent.inverse:hover {
    background-color: var(--accentColorLightest);
    /*color: var(--accentColorLight);*/
    box-shadow: 0 4px 16px #00378080;
    -webkit-box-shadow: 0 4px 16px #00378080;
    -moz-box-shadow: 0 4px 16px #00378080;
    transform: translateY(-2px);
    border: 2px solid white;
}

.button-light:not(.unset):not(.link):hover,
.button-light:hover {
    background: linear-gradient(0deg, #1462a0 0%, #509edc 100%);
    color: white;
    border-radius: 4px;
}

.button-light:active {
    background: linear-gradient(
            180deg,
            var(--accentColorDark) 0%,
            var(--accentColor) 100%
    );
    color: white;
}

.button-light span {
    z-index: 2;
    position: relative;
}

.button-accent-dark:not(.unset):not(.link),
.button-accent-dark {
    border: 0;
    background-color: var(--accentColorDark);
    padding: 15px 36px;
    color: #ffffff;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
}

.button-accent-dark:not(.unset):not(.link):hover,
.button-accent-dark:hover {
    background-color: var(--accentColorDarker);
    color: #ffffff;
}

.header-transparent {
    background-color: transparent;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 9;
}

.hero-button:hover {
    background-color: #abccec;
    color: black;
}

.container {
    max-width: var(--site-max-width);
}

.gallery {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin: 30px 0;
}

.gallery > * {
    /*width: 32%;*/
    flex: 1;
    min-width: 30%;
    max-height: 350px;
}

@media (max-width: 767px) {
    .gallery > * {
        min-width: 45%;
        max-height: 150px;
    }
}

.gallery div:has(img) {
    overflow: hidden;
}

.gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.gallery img:hover {
    transform: scale(1.05, 1.05);
    /*transition: all 0.3s ease-in-out 0.3s;*/
}

.popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    justify-content: center;
    align-items: center;
    z-index: 100;
}

.popup-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 80%;
}

.popup img {
    border: 8px solid #fff;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.popup .caption {
    color: white;
    text-align: center;
    margin-top: 10px;
}

.popup .close {
    display: block;
    position: absolute;
    float: right;
    top: -10px;
    right: -30px;
    font-size: 36px;
    color: rgb(255, 255, 255);
    cursor: pointer;
    opacity: 0.7;
    -webkit-transition: opacity 0.2s;
    -moz-transition: opacity 0.2s;
    -o-transition: opacity 0.2s;
    transition: opacity 0.3s;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

.section {
    margin-top: var(--section-margin);
}

.sticky-header {
    transition: all 0.4s ease-out;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    /*noinspection CssUnknownProperty*/
    -ms-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
}

.sticky-header.sticky-show {
    animation-name: a !important;
}

.sticky-header.sticky {
    background-color: white;
    box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.2);
    /*box-shadow: 0 4px 16px 0px rgba(0, 0, 0, 0.1);*/
    position: fixed;

    left: 0;
    top: 0 !important;
    width: 100%;
    z-index: 59;
    /*animation-name: b;*/
    /*animation-duration: .5s;*/
    /*animation-fill-mode: both;*/
    transition: all 0.4s ease-out;
    -webkit-transition: all 0.4s ease-out;
    -moz-transition: all 0.4s ease-out;
    /*noinspection CssUnknownProperty*/
    -ms-transition: all 0.4s ease-out;
    -o-transition: all 0.4s ease-out;
}

.section .section-title {
    padding-bottom: 15px;
    text-align: center;
}

.section-services .section-title h4 {
    color: #666666;
    font-size: 20px;
}

.section-services .button-accent {
    margin-top: 20px;
}

.section-title h5 {
    color: #606060;
}

/*Секция вызвать мастера*/
.service-section {
    object-fit: cover;
    /*padding: 20px 60px;*/
    padding-top: 20px;
    padding-bottom: 20px;
    /*margin-top: 80px;*/
    /*margin-bottom: 80px;*/
}

.service-section .container {
    /*background-color: var(--accentColorLight);*/
    /*background-image: url(/assets/images/bg_service.png);*/
    background-image: url(../images/bg_service.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.service-section .container .row {
    height: 180px;
    align-items: center;
}

.service-section h4 {
    margin-bottom: 0;
}

.service-info {
    display: flex;
    align-items: center;
}

.service-info h3 {
    font-family: OswaldBold, sans-serif;
    text-transform: uppercase;
    font-size: 32px;
    color: var(--secondaryColor);
}

.service-info img {
    margin-right: 50px;
    margin-left: 50px;
}

@media (max-width: 991px) {
    .service-section .container .row {
        height: auto;
        align-items: center;
    }

    .service-info {
        display: flex;
        align-items: flex-start;
        padding-top: 20px;
        padding-bottom: 20px;
        column-gap: 10px;
    }
}

@media (max-width: 767px) {
    .service-info h3 {
        font-size: 24px;
    }

    .service-info img {
        margin-right: 0;
        margin-left: 0;
        height: 32px;
        width: auto;
    }
}

.service-info div {
    display: flex;
    flex-direction: column;
}

.service-info div p {
    margin: 0;
}

.service-button {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
}

@media (max-width: 991px) {
    .service-button {
        margin-bottom: 20px;
    }
}

.service-button p {
    margin: 5px 0 0 0;
    font-family: RobotoBold, sans-serif;
    font-size: 24px;
}

@media (max-width: 767px) {
    .section-contacts .section-title h5 {
        color: #606060;
        font-size: 16px;
    }
}

.section-services img {
    width: 100%;
    height: 350px;
    object-fit: cover;
}

@media (max-width: 450px) {
    .section-services img {
        width: 100%;
        height: 240px;
        object-fit: cover;
    }
}

.section-services h4 {
    margin-top: 15px;
    font-size: 24px;
    padding-right: 10px;
    text-align: center;
}

.service-single p {
    margin-bottom: 0;
    margin-top: 0;
    text-align: center;
}

.section-services p {
    /*font-size: 24px;*/
    font-size: inherit;
    /*color: var(--accentColorDark);*/
    color: var(--textColorDefault);
    /*padding-right: 10px;*/
    margin-bottom: 20px;
}

.service-single a {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    grid-template-areas: "overlap";
    /*background-color: #000;*/
    border-radius: 5px;
}

.service-single a img {
    display: flex;
    align-items: flex-end;
    grid-area: overlap;
    /*align-self: center;*/
    /*justify-self: center;*/
    /*opacity: 0.7;*/
}

.service-single a h4 {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding: 15px 30px;
    background-color: #ffffffe0;
    width: 100%;
    color: var(--accentColorDarker);
    font-weight: 700;
    text-decoration: none;
    z-index: 51;
    grid-area: overlap;
    align-self: flex-start;
    justify-self: flex-start;

    text-transform: uppercase;
}

@media (max-width: 500px) {
    .service-single a h4,
    .section-services h4 {
        font-size: 18px;
        padding: 8px 10px;
    }
}

.service-single a h4 b {
    font-size: 18px;
    font-weight: 600;
    color: var(--textColorDark);
}

@media (max-width: 500px) {
    .service-single a h4 b {
        font-size: 15px;
    }
}

.foreground-black {
    margin: 0 0 0 0;
    background-color: #00000060;
    width: 100%;
    height: 100%;
    z-index: 50;
    grid-area: overlap;
    align-self: flex-end;
    justify-self: flex-start;
}

.service-photo {
    overflow: hidden;
    /*noinspection CssInvalidPropertyValue*/
    overflow-wrap: anywhere;
}

.service-photo img {
    display: flex;
    align-items: flex-end;

    transform-origin: center;
    transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);

    grid-area: overlap;
    align-self: center;
    justify-self: center;
}

.service-photo img:hover {
    transform: scale(1.06);
}

.footer-area {
    background-color: var(--accentColorLightest);
    margin-top: var(--section-margin);
    padding-top: var(--section-margin);
}

@media (max-width: 767px) {
    .footer-area {
    }
}

footer h3 {
    text-transform: uppercase;
}

footer .footer-nav-menu a h5 {
    margin-bottom: 12px;
    font-size: 16px;
}

footer .footer-nav-menu a h5:hover {
    color: var(--accentColor);
}

.horizontal {
    display: flex;
    align-items: center;
}

.footer-area ul li .horizontal {
    display: flex;
    align-items: center;
}

.footer-area ul li .horizontal img {
    width: 40px;
    height: 40px;
    margin-right: 20px;
}

.footer-area ul {
    padding-left: 0;
}

.footer-area li {
    list-style: none;
}

.footer-area li {
    padding-bottom: 15px;
}

.contacts-list p,
.contacts-list a,
.footer-area li p,
.footer-area li a {
    color: var(--accentColor);
    text-decoration: none;
}

.contacts-list a:hover,
.footer-area li a:hover {
    color: var(--accentColorDark);
}

.footer-area li p img,
.contacts-list p img,
.contacts-list a img,
.footer-area li a img {
    height: 28px;
    width: 28px;
    margin-right: 6px;
}

.contacts-list p img,
.contacts-list a img {
    height: 32px;
    width: 32px;
    margin-right: 10px;
}

.contacts-list .horizontal a img {
    height: 48px;
    width: 48px;
    margin-right: 20px;
}

@media (max-width: 557px) {
    .contacts-list p img,
    .contacts-list a img {
        height: 24px;
        width: 24px;
        margin-right: 10px;
    }
}

.footer-area .footer-main .footer1 .col-12 {
    padding-top: 30px;
}

.footer-menu {
    font-size: 18px;
}

.footer-menu ul li a {
    color: white;
    border-bottom: 2px solid transparent;
    padding: 5px 0;
}

.footer-menu ul li a:hover {
    color: white;
    border-bottom: 2px solid white;
}

.footer-buttons-block {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    border-top: 1px solid #e0e0e0;
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (max-width: 450px) {
    .footer-buttons-block {
        gap: 20px;
        border-top: 0;
        padding-top: 0;
        padding-bottom: 30px;
    }
}

.input-field {
    padding: 16px 32px;
    background-color: white;
    border-radius: 2px;
    border: 1px solid var(--borderLightColor);
    max-width: 300px;
}

.request-call-form {
    text-align: center;
    text-align: -webkit-center;
}

.request-call-form input,
.request-call-form button {
    width: 240px;
}

@media (max-width: 500px) {
    .request-call-form input,
    .request-call-form button {
        width: 100%;
        max-width: 100%;
    }
}

.modal-body {
    padding: 40px;
}

/*
form textarea,
form input {
    background: #f0f0f0;
    border-radius: 3px;
    padding: 8px 16px;
    border: 0;
    width: 100%;
}

form button {
    display: block;
    margin-top: 20px;
    min-width: 200px;
    width: 100%;
}

@media (max-width: 767px) {
    form button {
        margin-top: 0;
    }
}*/

/* Photo Modal styles*/
#photoModal {
    border-radius: 5px;
    cursor: pointer;
    transition: 0.3s;
}

/*#photoModal:hover {opacity: 0.7;}*/

.modal-photo {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 60; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0, 0, 0); /* Fallback color */
    background-color: rgba(0, 0, 0, 0.9); /* Black w/ opacity */
}

.modal-photo-content {
    margin: auto;
    display: block;
    width: 80%;
    /* max-width: 700px; */
    object-fit: contain;
    height: 90%;
}

.clickable-img {
    cursor: pointer;
}

@keyframes zoom {
    from {
        transform: scale(0);
    }
    to {
        transform: scale(1);
    }
}

@media only screen and (max-width: 700px) {
    .modal-photo-content {
        width: 100%;
    }
}

.prices-table tr,
.prices-table td {
    border: 1px solid #cdd8e0;
}

.prices-table td {
    padding: 10px 20px;
}

@media (max-width: 450px) {
    .prices-table td {
        padding: 10px 10px;
    }
}

.prices-table tr td:nth-child(2) {
    background-color: #f6f8fa;
}

.prices-table tr td:nth-child(3) {
    background-color: #eaf3f9;
    font-weight: bold;
    color: var(--accentColorDarker);
}

.table-header {
    font-weight: bold;
}

.table-header td {
    padding-top: 40px;
}

tr.table-header,
.table-header td {
    border: 0;
    background-color: transparent !important;
}

.contacts-list {
    display: flex;
    flex-direction: column;
}

.contacts-list p,
.contacts-list a {
    font-size: 20px;
    margin-bottom: 15px;
}

@media (max-width: 557px) {
    .contacts-list p,
    .contacts-list a {
        font-size: 15px;
        margin-bottom: 15px;
    }
}

.request-call-contacts-form {
    text-align: left;
    justify-content: flex-start;
    display: flex;
    width: fit-content;
    gap: 40px;
    flex-wrap: wrap;
}

@media (max-width: 500px) {
    .request-call-contacts-form {
        gap: 20px;
    }
}

.request-call-contacts-form input {
    margin-top: 0;
}

.request-call-contacts-form button {
    display: block;
    margin-top: 0;
    min-width: 200px;
    min-height: 55px;
}

.request-call-contacts-form h5 {
    line-height: 1.3;
    width: fit-content;
}

@media (max-width: 557px) {
    .request-call-contacts-form h5 {
        font-size: 15px;
    }
}

.section-contacts .request-call-form {
    text-align: start;
}

.section-contacts .contacts-block {
    margin-bottom: 0px;
}

.section-contacts .contacts-block .flex-column {
    gap: 6px;
    /*margin-top: 5px;*/
}

.section-contacts h6 {
    font-size: 22px;

    color: var(--accentColorDarker);
    margin-bottom: 10px;
    margin-top: 20px;
    font-weight: 700;
}

.section-contacts .contacts-block img {
    margin-right: 10px;
    height: 28px;
    width: 28px;
}

.section-contacts .contacts-block.social img {
    margin-right: 20px;
    height: 36px;
    width: 36px;
}

@media (max-width: 500px) {
    .section-contacts h6 {
        font-size: 18px;
        margin-top: 40px;
    }

    .section-contacts h5 {
        font-size: 18px;
    }
}

.section-contacts iframe {
    width: 100%;
    height: 100%;
    border-radius: 3px;
    min-height: 300px;
}

.header-menu-btn-wrapper {
    /*background-color: var(--accentColorDarker);*/
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-menu-btn {
    background-color: transparent;
    border: none;
    margin: 0 10px 0 10px;
    padding: 0;
    display: none;
}

@media only screen and (max-width: 767px), only screen and (min-width: 768px) and (max-width: 991px) {
    .header-menu-btn {
        display: inline-block;
    }
}

.header-menu-btn span {
    background-color: var(--textColorBlack);
    width: 20px;
    height: 2px;
    display: block;
    margin-bottom: 4px;
    border-radius: 50px;
}

.header-menu-btn span:last-child {
    margin-bottom: 0;
}

.offcanvas {
    z-index: 110;
}

.btn-menu-close {
    color: var(--accentColorDark);
    padding: 10px 20px;
    border: 0;
    font-size: 18px;
    background-color: transparent;
}

.offcanvas-header .btn-menu-close {
}

.btn-menu-close i {
    margin-left: 10px;
}

.offcanvas-body ul {
    padding-left: 0;
}

.offcanvas-body ul li ul {
    margin-left: 20px;
    margin-top: 10px;
}

.offcanvas-body ul li {
    list-style: none;
}

.offcanvas-body ul li img {
    width: 32px;
    height: 32px;
    margin-right: 10px;
}

.offcanvas-header {
    /*background-color: var(--accentColorDark);*/
}

.offcanvas-nav-parent,
.offcanvas-nav-parent a {
    text-decoration: none;
    color: var(--textColorDefault);
    padding-top: 10px;
    padding-bottom: 10px;
}

.header-mobile {
    /*background-color: white;*/
    text-align: left;
    height: var(--headerHeight);
}

/*.header-mobile .logo {
    width: 200px !important;
    margin: 0 0 0 20px;
}

@media (max-width: 500px) {
    .header-mobile .logo {
        width: 120px !important;
    }
}*/

.header-mobile .justify-content-end {
    display: flex;
    justify-content: flex-end;
}

.header-mobile .header-button {
    padding: 8px 16px;
    font-size: 15px;
    height: auto;
    margin-right: 0;
}

.header-mobile .header-contacts {
    padding-left: 20px;
    gap: 15px;
    justify-content: flex-end;
}

@media (max-width: 990px) {
    .header-mobile .header-contacts {
        padding-left: 0;
    }
}

.header-mobile .header-contacts a img {
    width: 24px;
    height: 24px;
}

.header-mobile .row > * {
    padding-right: 5px;
    padding-left: 5px;
}

.d-sm-none {
    display: inherit !important;
}

@media (max-width: 991px) {
    .d-sm-none {
        display: none !important;
    }
}

.section-single-service img.service-photo {
    width: 100%;
    height: 300px;
    object-fit: contain;
}

@media (max-width: 995px) {
    .section-single-service img.service-photo {
        width: 100%;
        height: 200px;
        object-fit: contain;
    }
}

.section-single-service h5 {
    color: #404040;
    line-height: 1.3;
}

.section-single-service h4 {
    margin-top: 30px;
    color: #000000;
}

.section-stages ul,
.section-single-service ul {
    list-style-image: url("../images/icons/icon-arrow-right.svg");
}

.section-stages li,
.section-single-service li {
    font-size: 18px;
    color: #404040;
    margin: 10px 0;
    padding-left: 10px;
}

@media (max-width: 450px) {
    .section-stages li,
    .section-single-service li {
        font-size: 15px;
        color: #404040;
        margin: 10px 0;
        padding-left: 10px;
    }
}

.bottom-line {
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 10px;
}

.section .of-contain img {
    object-fit: contain;
}

.a-scroll-overhead.a-scroll-overhead {
    margin-top: -150px;
    padding-top: 150px;
}

/*noinspection CssInvalidPseudoSelector*/
*:has(> img.photo-zoom) {
    overflow: hidden;
    /*noinspection CssInvalidPropertyValue*/
    overflow-wrap: anywhere;
}

img.photo-zoom {
    display: flex;
    align-items: flex-end;

    transform-origin: center;
    transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);

    grid-area: overlap;
    align-self: center;
    justify-self: center;
}

img.photo-zoom:hover {
    transform: scale(1.06);
}

.section-contacts img.photo {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 5px;
    margin-bottom: 20px;
}

.section .row .logo p {
    margin-bottom: 0;
}

.section img.photo {
    width: 100%;
    /*height: auto;*/
}

.section img.photo.rounded {
    border-radius: 5px !important;
}

.section .of-cover img {
    object-fit: cover;
}

.offcanvas-menu-nav ul li:nth-child(5) img {
    padding: 5px;
}

.language-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

/*
@media (max-width: 1350px) {
    .language-selector {
        display: flex;
        flex-direction: column;
        gap: 4px;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 1160px) {
    .language-selector {
        flex-direction: row;
        gap: 10px;
    }
}*/

@media (max-width: 600px) {
    header .header-contacts .language-selector {
        display: none;
    }
}

.language-selector a {
    text-transform: uppercase;
    font-size: 1rem;
}

header .header-contacts {
    position: relative;
}

.icon-ver-block,
.icon-hor-block {
    display: flex;
    align-items: center;
    gap: 20px;
}

/*@media (max-width: 500px) {
    .icon-hor-block {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        gap: 10px;
        margin-bottom: 20px;
    }
}*/

.icon-ver-block img,
.icon-hor-block img {
    height: 64px;
    width: 64px;
}

@media (max-width: 500px) {
    .icon-ver-block img,
    .icon-hor-block img {
        height: 40px;
        width: 40px;
    }
}

#section-autopark .icon-ver-block img {
    height: 64px;
    width: auto;
}

.icon-hor-block h4 {
    margin-bottom: 0;

}

.icon-hor-block p {
    margin-bottom: 0;
}

.icon-ver-block {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: center;
}

.icon-ver-block p {
    padding: 0 36px;
}

@media (max-width: 500px) {
    .icon-ver-block {
        display: flex;
        flex-direction: row;
        margin-bottom: 20px;
    }

    .icon-ver-block p {
        padding: 0;
        text-align: start;
        margin-bottom: 0;
    }
}

.icon-ver-block p b {
    font-weight: bold;
}

#section-about .icon-hor-block {
    width: 50%;
    margin-bottom: 15px;
}

@media (max-width: 500px) {
    #section-about .icon-hor-block {
        width: 100%;
    }
}

.icon-hor-block-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.contacts-row {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.footer-contacts .button-light {
    margin-top: 50px;
}

.contacts-row img {
    height: 28px;
    width: 28px;
    margin-right: 15px;
}

.contacts-row img.social {
    height: 32px;
    width: 32px;
}

.contacts-row p,
a.contacts-row,
.contacts-row a {
    font-size: 20px;
    font-weight: normal;
    text-decoration: none;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    font-family: RobotoBold, sans-serif;
}

footer .contacts-row p,
footer a.contacts-row,
footer .contacts-row a {
}

a.contacts-row:hover,
.contacts-row a:hover {
    color: var(--accentColor);
}

/*noinspection CssInvalidPseudoSelector*/
form div:has(select),
form div:has(textarea),
form div:has(input) {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
    min-width: 150px;
}

.request-offer-modal form div:has(select),
.request-offer-modal form div:has(textarea),
.request-offer-modal form div:has(input) {
    gap: 4px;
}

form div:has(select) label,
form div:has(textarea) label,
form div:has(input) label {
    margin-bottom: 0;
}

form div:has(input[type="checkbox"]) {
    display: flex;
    flex-direction: row;
    column-gap: 4px;
}

.back-red form select,
.back-red form textarea,
.back-red form input {
    background: white;
    border-radius: 3px;
    padding: 5px 15px;
    border: 0;
    width: 100%;
}

.back-red form label {
    color: var(--accentColorLighter);
    font-weight: bold;
}

.form-row {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    /*flex-wrap: nowrap;*/
    flex-wrap: wrap;
    flex-direction: row;
}

.form-column {
    display: flex;
    gap: 15px;
    margin-top: 20px;
    /*flex-wrap: nowrap;*/
    flex-wrap: wrap;
    flex-direction: column;
}

.request-offer-modal .form-column {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, 1fr);
}

.request-offer-modal .form-column .full-width {
    grid-column: span 2;
}

@media (max-width: 768px) {
    .request-offer-modal .form-column {
        grid-template-columns: 1fr;
    }

    .request-offer-modal .form-column .full-width {
        grid-column: span 1;
    }
}

.request-offer-modal .button-accent {
    margin-top: 30px;
}

ol,
ul {
    padding-left: 1.2rem;
}

ol li,
ul li {
    margin-bottom: 0.3rem;
}

ul.routes-list {
    list-style: none;
    padding: 20px 0;
}

ul.routes-list li {
    margin-bottom: 0.6rem;
}

ul.routes-list li img {
    margin: 0 20px;
}

.section img.photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}

.section img.photo.op-top {
    object-position: top;
}

.section img.photo.contain {
    object-fit: contain;
}

/* marquee styles start*/
.marquee-wrap {
    /*margin: 60px 0;*/
}

@media (max-width: 767px) {
    /*    .marquee-wrap {
            margin: 30px 0;
        }*/
}

.marquee-items-wrap {
    position: relative;
    display: flex;
    overflow: hidden;
    user-select: none;
    gap: 20px;
    height: auto;
}

.marquee-items-wrap:before,
.marquee-items-wrap:after {
    content: "";
    height: 100%;
    top: 0;
    width: 10%;
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

.marquee-items-wrap:before {
    left: 0;
    background: linear-gradient(90deg, rgb(255, 255, 255) 0%, #f8f8f800 100%);
}

.marquee-items-wrap:after {
    right: 0;
    background: linear-gradient(90deg, #f8f8f800 0%, rgb(255, 255, 255) 100%);
}

.marq-items {
    flex-shrink: 0;
    display: flex;
    gap: 50px;
    counter-reset: item;
    justify-content: space-around;
    min-width: 100%;
    height: 80px;
    padding: 0 30px 0 0;
}

@media (max-width: 769px) {
    .marq-items {
        gap: 20px;
        height: 60px;
    }
}

.marq-item {
    flex: 0 0 auto;
    counter-increment: item;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    color: #404040;
    margin: 0;
    transition: all 0.1s ease-in-out;
}

.marquee {
    animation: scroll 200s linear infinite;
}

@media (max-width: 767px) {
    .marquee {
        animation: scroll 120s linear infinite;
    }
}

.marquee-back {
    /*animation: scroll-back 90s linear infinite;*/
}

@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(calc(-100% - 20px));
    }
}

@keyframes scroll-back {
    from {
        transform: translateX(calc(-100% - 20px));
    }
    to {
        transform: translateX(0);
    }
}

/* marquee styles end*/

.a-scroll-overhead.a-scroll-overhead {
    margin-top: -100px;
    padding-top: 100px;
}

.header-back-placeholder {
    position: absolute;
    background-color: var(--accentColorDarker);
    right: 0;
    width: 30%;
    z-index: -1;
}

.offcanvas-menu-nav .header-phones {
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 20px;
    margin-top: 40px;
}

.offcanvas-menu-nav .header-phones a {
    font-family: RobotoBold, sans-serif;
    font-weight: normal;
    font-size: 1.2rem;
    color: var(--accentColor);
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.off-canvas-wrapper.offcanvas.offcanvas-start.show {
    height: 100vh;
}

.offcanvas-body {
    position: relative;
    padding: 1rem 2rem;
}

.buttons-row {
    display: flex;
    gap: 50px;
    align-items: center;
}

@media (max-width: 500px) {
    .buttons-row {
        margin-top: 20px;
        display: flex;
        gap: 10px;
        flex-direction: column;
    }
}

.footer-main .footer-contacts p b {
    color: white;
}

.offcanvas-header {
    display: flex;
    justify-content: space-between;
}

.offcanvas-header .language-selector a {
    color: white;
    padding: 5px;
}

.offcanvas-header a.current,
.language-selector a.current {
    color: var(--accentColor);
    pointer-events: none;
    cursor: default;
}

/*
.single-product {
    display: flex;
    flex-direction: column;
    row-gap: 5px;
}

.single-product img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    border-radius: 5px;
}

@media (max-width: 999px) {
    .single-product img {
        height: 250px;
    }
}

@media (max-width: 500px) {
    .single-product img {
        height: 200px;
    }
}

.single-product div:has(> img.photo-zoom) {
}

.single-product .sizes {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 5px;
    padding: 5px 0;
}

.single-product .text-gray {
    color: var(--textLight);
}

.single-product .sizes p {
    background-color: var(--textLight);
    margin-bottom: 0;
    color: white;
    padding: 2px 10px;
    border-radius: 20px;
}

.single-product .sizes p:hover {
    background-color: var(--accentColorDark);
}

.single-product .price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.single-product .price-row h5,
.single-product .price-row p {
    margin-bottom: 0;
}

.single-product .price-row p {

    font-size: 18px;
}

.single-product .price-row h5 {
    color: var(--accentColorDark);
    font-weight: bold;
    font-size: 18px;
}

.single-product .price-row h5 b {
    font-size: 30px;
    text-align: end;
}

@media (max-width: 500px) {
    .single-product .price-row h5 b {
        font-size: 18px;
    }
}*/

.section-gallery .row {
    row-gap: 40px;
}

.section-colored {
    padding-bottom: 100px;
    background-color: #f0f4fa;
}

.section-colored-2 {
    padding-bottom: 100px;
    background-color: #f7f2ed;
}

.advantage-block {
    display: flex;
    align-items: center;
    flex-direction: column;
    row-gap: 10px;
    column-gap: 15px;
    text-align: center;
    padding: 20px 15px;
    background-color: var(--accentColorLightest);
    height: 100%;
}

.advantage-block div.flex-column {
    row-gap: 5px;
}

@media (min-width: 767px) {
    .advantage-block h3 {
        font-size: 20px;
    }
}

.advantage-block img,
.advantage-block h3,
.advantage-block p {
    margin-bottom: 0;
}

.advantage-block img {
    width: 60px;
    height: auto;
}

.section-advantages {
    margin-top: 30px;
}

.advantage-block h6 {
    font-weight: bold;
}

@media (max-width: 767px) {
    .advantage-block {
        flex-direction: row;
        text-align: left;
        padding: 20px 15px;
        align-items: flex-start;
    }

    .advantage-block img {
        width: 45px;
        height: auto;
    }
}


@media (max-width: 480px) {
    .advantage-block {
        padding: 20px 10px;
        column-gap: 10px;
    }
}

footer .button-accent {
    border: 2px solid white;
    border-radius: 5px;
    background-color: transparent;
    color: white;
}

footer .button-accent:hover {
    background-color: white;
    color: black;
}

div:has(> .hero-request-call) {
    display: flex;
    align-items: center;
}

.hero-request-call {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    padding: 40px;
    align-items: center;
    background-color: #ffffff30;
    border-radius: 56px;
    border-top: 2px solid #ffffff80;
    width: 100%;
    backdrop-filter: blur(20px);
}

.hero-request-call h2 {
    color: white;

    font-weight: 800;
    text-transform: uppercase;
    font-size: 36px;
    margin-bottom: 0;
    text-align: center;
}

.hero-request-call h4 {
    color: white;

    font-weight: normal;
    font-size: 22px;
    padding-bottom: 10px;
    margin-bottom: 0;
    text-align: center;
}

@media (max-width: 1280px) {
    .hero-request-call {
        border-radius: 32px;
    }
}

@media (max-width: 1280px) {
    .hero-request-call {
        padding: 40px 20px;
    }

    .hero-request-call h2 {
        font-size: 24px;
    }

    .hero-request-call h4 {
        font-size: 18px;
    }
}

.section-request-call input,
.hero-request-call input {
    padding: 15px 30px;
    /*color: var(--textColorDefault);*/
    color: white;

    font-weight: normal;
    font-size: 22px;
    border-radius: 40px;
    width: 100%;
    background-color: #ffffff20;
    -webkit-box-shadow: inset 0 3px 5px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: inset 0 3px 5px 0 rgba(0, 0, 0, 0.2);
    box-shadow: inset 0 3px 5px 0 rgba(0, 0, 0, 0.2);
    border: 0;
}

@media (max-width: 500px) {
    .section-request-call input,
    .hero-request-call input {
        padding: 10px 20px;
        font-size: 16px;
    }
}

.section-request-call input::placeholder,
.hero-request-call input::placeholder {
    /*color: var(--inputPlaceholderColor);*/
    color: #ffffffa0;
    opacity: 1; /* Firefox */
}

.hero-request-call input::-ms-input-placeholder {
    /* Edge 12 -18 */
    color: white;
}

.hero-request-call input:focus {
    outline: none;
}

.hero-request-call input:-internal-autofill-selected {
    /*appearance: menulist-button;*/
    background-color: inherit !important;
    color: inherit !important;
}

div:has(> .about-illustration) {
    padding-bottom: 20px;
}

.about-illustration {
    /*background-color: #d0d0d0;*/
    border-radius: 3px;
    min-height: 400px;
    width: 100%;
    height: 100%;
    background-image: url("../images/atlant2.png");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.about-illustration2 {
    min-height: 400px;
    width: 100%;
    height: 100%;
    background-image: url("../images/lg2.jpg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 500px) {
    .about-illustration {
        min-height: 250px;
    }
}

.card {
    background-color: white;
    border-radius: 32px;
    padding: 30px;
    border: 0;
    overflow: hidden;

    -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);

    transition: all 0.3s ease-in-out;
}

.card:hover {
    transform: translateY(-10px);
    -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.1);
}

.stages-single {
    border: 0;
    overflow: hidden;
    min-height: 160px;
    padding-left: 240px;
    margin-top: 40px;
}

.stages-single.even {
    margin-top: 120px;
}

@media (max-width: 900px) {
    .stages-single {
        padding-left: 180px;
        margin-top: 20px;
        min-height: 120px;
    }

    .stages-single.even {
        margin-top: 20px;
    }
}

@media (max-width: 500px) {
    .stages-single {
        padding-left: 80px;
        margin-top: 20px;
        min-height: 80px;
    }

    .stages-single.even {
        margin-top: 20px;
    }
}

.section-advantages .row {
    row-gap: 10px;
}

.section-advantages .card {
    padding-bottom: 100px;
}

*:has(> .number-pos-2),
*:has(> .number-pos-1) {
    position: relative;
}

*:has(> .number-pos-2) *,
*:has(> .number-pos-1) * {
    z-index: 1;
    position: relative;
}

.number-pos-1 {
    position: absolute;
    color: var(--accentColorDark);
    opacity: 0.15;
    font-weight: 900;
    font-size: 400px;
    top: 0;
    left: 0;
    z-index: 0;
    height: fit-content;
    line-height: 0.1;
    pointer-events: none;
}

.number-pos-2 {
    position: absolute;

    color: white;
    opacity: 0.5;
    font-weight: 900;
    font-size: 200px;
    left: 0;
    top: -50px;
    z-index: 0;
}

@media (max-width: 769px) {
    .number-pos-1 {
        font-size: 200px;
        left: 20px;
    }
}

.card img.number-pos-1 {
    width: 200px;
    height: 200px;
    bottom: -30px;
}

.about-service-column {
    row-gap: 40px;
    display: flex;
    flex-direction: column;
}

.about-service-column .light-text {
    color: #606060;
    padding-left: 30px;
}

div:has(> .service-single) {
    padding-bottom: 40px;
}

@media (max-width: 769px) {
    div:has(> .service-single) {
        padding-bottom: 0;
    }
}

.service-single {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: white;
    border-radius: 32px;
    padding: 20px;
    height: 100%;
    transition: all 0.3s ease-in-out;
}

.service-single:hover {
    transform: translateY(-10px);
    -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
}

.service-single img {
    width: 100%;
    height: 80px;
    object-fit: contain;
    margin-bottom: 10px;
}

@media (max-width: 500px) {
    .service-single img {
        height: 80px;
    }
}

.card-colored {
    background: linear-gradient(
            135deg,
            rgba(130, 12, 154, 1) 0%,
            rgba(64, 55, 178, 1) 50%,
            rgba(0, 91, 255, 1) 100%
    );
    color: white;
}

.card-colored h3,
.card-colored p {
    color: white;
    font-weight: normal;
}

.section-stages {
    background-color: var(--accentColorLightest);
    padding-top: 100px;
    padding-bottom: 100px;
}

.section-stages.section h2.title {
    color: #7e0f9c;
}

div:has(> .contacts-block-wrapper) {
    position: relative;
}

.contacts-block-wrapper {
    height: 100%;
    display: flex;
    align-items: center;

    position: absolute;
    left: 50%;
    margin-left: -700px;
    top: 0;
    z-index: 10;
    width: 90%;
    max-width: 460px;
}

.contacts-block {
    background-color: #fffffff0;
    padding: 40px;
    overflow: hidden;
    border-radius: 56px;
    z-index: 2;
    /*backdrop-filter: blur(10px);*/
    -webkit-box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.3);
}

@media (max-width: 1280px) {
    .contacts-block-wrapper {
        max-width: 400px;
    }

    .contacts-block {
        padding: 20px;
    }
}

@media (max-width: 500px) {
    .contacts-block-wrapper {
        max-width: 340px;
    }

    .contacts-block {
        border-radius: 32px;
    }
}

.section-map {
    position: relative;
    min-height: 700px;
    margin-top: 0;
}

.section-map iframe {
    min-height: 700px;
}

.section-map .contacts-block {
    /*position: absolute;*/
    width: 100%;
    /*max-width: 460px;*/
    /*left: 50%;*/
    /*margin-left: -700px;*/
    /*top: 50%;*/
    /*transform: translateY(-50%);*/
    /*z-index: 10;*/
}

@media (max-width: 1440px) {
    .section-map .contacts-block-wrapper {
        left: 20px;
        margin-left: 0;
    }
}

@media (max-width: 990px) {
    .section .contacts-block-wrapper {
        height: auto;
        display: flex;
        align-items: center;

        position: static;
        /*left: 50%;*/
        /*margin-left: -700px;*/
        margin-left: 0;
        /*top: 0;*/
        /*z-index: 10;*/
        width: 100%;
        max-width: 100%;
    }

    .section .contacts-block {
        background-color: #fffffff0;
        padding: 40px 20px;
        border-radius: 0;
        z-index: 2;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
    }

    .section .contacts-block button {
        max-width: 340px;
    }

    .section-map iframe {
        min-height: 400px;
    }
}

.contacts-social {
    display: flex;
    column-gap: 20px;
    align-items: center;
    margin-top: 20px;
}

.contacts-social img {
    width: 48px;
    height: 48px;
}

.fade {
    backdrop-filter: blur(20px);
}

.modal-content {
    /*border: 0;*/
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

/*
form textarea,
form input {
    background: #f0f0f0;
    border: 0;
    width: 100%;

    padding: 15px 15px;
    color: black;

    font-weight: normal;
    font-size: 16px;
    border-radius: 4px;
}

@media (max-width: 767px) {
    form textarea,
    form input {
        padding: 10px;
    }
}*/

/*input {
    margin-bottom: 20px;
}*/

.section-request-call {
    margin-top: 100px;
    /*background-color: var(--backColor2);*/
    /*padding: 50px 0;*/
    /*background-color: var(--backColor2);*/
    padding: 100px 0;
    background: url("../images/photos/blurred-back.jpg") no-repeat center;
    background-size: cover;
}

.section-request-call .form-block {
    /*background: linear-gradient(135deg, rgba(130, 12, 154, 1) 0%, rgba(64, 55, 178, 1) 50%, rgba(0, 91, 255, 1) 100%);*/
    /*background-color: var(--accentColorDark);*/
    /*color: white;*/
    /*padding: 40px;*/
    /*border-radius: 32px;*/
}

@media (max-width: 900px) {
    .section-request-call .form-block {
        padding: 40px 20px;
    }
}

.section-request-call .row h4,
.section-request-call .row h3,
.section-request-call .row h2,
.section-request-call .row p {
    color: white;
}

.section-request-call h5 {
    margin-bottom: 30px;
}

.section-request-call .inputs-row {
    column-gap: 20px;
    display: flex;
    flex-wrap: wrap;
    row-gap: 20px;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
    flex-direction: row;
}

.section-request-call button,
.section-request-call input {
    max-width: 300px;
    width: 100%;
}

footer .requisites {
    color: white;
    opacity: 0.7;
    font-family: Roboto-Regular;
    font-size: 16px;
}

.accordion-item {
    border: none;
    margin-bottom: 20px;
}

.accordion-button {
    background-color: var(--accentColorLightest);
    box-shadow: none;
    border: 0;
    padding: 20px 30px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 1.25rem;
    margin-bottom: 0;
    color: black;
}

@media (max-width: 900px) {
    .accordion-button {
        font-size: 16px;
        padding: 20px 20px;
    }
}

.accordion-button:hover {
    background-color: var(--accentColorLighter);
}

.accordion-button img {
    height: 32px;
    width: 32px;
    margin-right: 10px;
    margin-bottom: 4px;
}

.accordion-button:not(.collapsed) {
    border-color: var(--borderLightColor);
    box-shadow: none;
    color: black;
    background-color: var(--accentColorLightest);
}

.accordion-button:active,
.accordion-button:focus {
    box-shadow: none;
}

.accordion-body {
    border: 0;
    border-top: 0;
    /*font-size: 14px;*/
    padding: 18px 24px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.section-hero-callback {
    background-image: url("../images/photos/hero-back-3.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 40px;
}

.section-about-service .light-text p {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.section-about-service .light-text p img {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}

.slogan-block {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: 30px;
}

.slogan-block p {
    font-size: 100px;
    font-weight: normal;
    margin-bottom: 0;
    color: var(--secondaryColor);
    line-height: 0.8;
}

.slogan-block p span,
.slogan-block h6 {
    font-family: Philosopher, sans-serif;
    font-size: 40px;
    font-weight: normal;
    margin-bottom: 0;
    color: var(--accentColorDarker);
    padding-top: 10px;
}

@media (max-width: 500px) {
    .slogan-block p {
        font-size: 55px;
    }

    .slogan-block {
        column-gap: 20px;
    }

    .slogan-block p span,
    .slogan-block h6 {
        font-size: 20px;
    }
}

footer p.logo-desc {
    color: var(--accentColor);

    font-weight: normal;
    font-size: 14px;
    margin-bottom: 0;
}

.footer-logo-block {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    align-items: center;
}

.footer-logo-block img {
    width: fit-content;
}

.section-write-us {
    background-color: var(--backColor3);
    margin-top: 50px;
    padding: 100px 0;
}

.section-write-us h4 {
    margin-bottom: 30px;
    color: var(--textColorDefault);
    text-align: start;
}

.section-write-us ul {
    margin-left: 100px;
    margin-bottom: 40px;
}

@media (max-width: 769px) {
    .section-write-us ul {
        margin-left: 80px;
    }
}

.section-operators h5 {
    margin-bottom: 20px;
}

.section-operators img {
    width: auto;
    height: 80px;
    object-fit: contain;
    overflow: hidden;
}

@media (max-width: 767px) {
    .section-operators img {
        width: auto;
        height: 60px;
    }
}

.section-request-call form {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    align-items: center;
}

.section-request-call {
    color: white;
}

.section-request-call h5 {
    margin-bottom: 0;
    color: white;
}

@media (max-width: 767px) {
    .section-operators {
        margin-top: 0;
    }
}

.tours-single {
    width: 100%;
    position: relative;
    margin-bottom: 40px;
    border-radius: 20px;
    overflow: hidden;
}

.tours-single:hover {
    box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.4);
}

.tours-single:before {
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 50%, #000000e0 100%);
    background: -webkit-linear-gradient(
            top,
            rgba(0, 0, 0, 0) 50%,
            #000000e0 100%
    );
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #000000e0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0);
    opacity: 0.77;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    /*border-radius: 13px;*/
}

.tours-single h4 {
    position: absolute;
    bottom: 20px;
    width: 100%;
    text-align: center;
    color: white;
    font-family: Philosopher, sans-serif;
    z-index: 5;
}

@media (max-width: 500px) {
    .tours-single h4 {
        font-size: 24px;
    }
}

@media (max-width: 769px) {
    .section-tours .row:has(.col-6) {
        padding: 0 10px;
    }

    .section-tours .col-6 {
        padding: 0 10px;
    }
}

.tours-single img {
    width: 100%;
    object-fit: cover;
}

header .logo-block p {
    line-height: 1.1;
    color: var(--accentColor);
    font-weight: normal;
    font-size: 20px;
}

img.logo {
    object-fit: contain;
}

.header-area .header-mobile {
    padding: 0 10px;
}

#AsideOffcanvasMenu {
    background-color: white;
}

div.wrapper {
    /*overflow: auto;*/
    overflow-x: hidden;
}

.hero-frame a img {
    height: 60px;
    width: 60px;
}

.hero-instagram-button {
    font-size: 14px;
    color: var(--accentColor);
    display: flex;
    flex-direction: column;
}

a.hero-instagram-button:hover {
    color: white;
}

.hero-frame a.hero-instagram-button img {
    width: 36px;
    height: 36px;
}

.modal {
    z-index: 100;
}

form {
    display: flex;
    flex-direction: column;
}

form h5 {
    margin: 0 0 30px 0;
}

.section-contacts .form-block {
    /*padding: 40px;*/
    /*border: 1px solid #e0e0e0;*/
    /*background-image: url(./../images/background4.jpg);*/
    /*background-size: cover;*/
    /*background-position: right;*/
}

@media (max-width: 767px) {
    form h5 {
        margin: 0 0 10px 0;
    }

    .section-contacts .form-block {
        margin-top: 20px;
    }
}

/*Секция Наши преимущества*/
.section-benefit {
    margin-top: 60px;
}

.benefit {
    margin-top: 150px;
    box-shadow: 0px 0px 44px rgba(0, 0, 0, 0);
}

.benefit h3 {
    color: var(--secondaryColor);
    font-size: clamp(1.125rem, 1.0189rem+0.7547vw, 1.75rem);
}

.wrap_benefit {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 30px;
    justify-items: center;
    margin-top: 30px;
}

@media (max-width: 1550px) {
    .wrap_benefit {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .wrap_benefit {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 20px;
    }

    .benefit-item h4 {
        justify-content: center;
    }

    .benefit-item h5 {
        justify-items: center;
    }

    .wrap_img_benefit img {
        max-height: 100px;
    }
}

.benefit-item {
    padding-top: 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (max-width: 767px) {
    .benefit-item {
        padding-top: 10px;
        flex-direction: row;
        column-gap: 20px;
        align-items: flex-start;
        text-align: left;
    }
}

.benefit-item h4 {
    font-size: clamp(1rem, 0.9244rem+0.3361vw, 1.25rem);
    font-weight: 600;
    text-transform: uppercase;
    padding-top: 20px;
    color: var(--secondaryColor);
    margin-bottom: 10px;
}

@media (max-width: 767px) {
    .benefit-item h4 {
        padding-top: 0;
    }
}

.benefit-item h5 {
    font-size: clamp(1rem, 0.9244rem+0.3361vw, 1.25rem);
}

.wrap_img_benefit {
    width: fit-content;
}

.wrap_img_benefit img {
    object-fit: contain;
    height: 80px;
    width: 80px;
}

@media (max-width: 767px) {
    .wrap_img_benefit img {
        object-fit: contain;
        height: 48px;
        width: 48px;
    }
}

.wrap_img_benefit {
    text-align: center;
}

.text-large {
    font-size: 20px;
    color: var(--textColorBlack);
}

@media (max-width: 767px) {
    .text-large {
        font-size: 16px;
    }
}

h3.title {
    color: var(--secondaryColor);
}

.offcanvas-body .header-phones a {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.offcanvas-body .header-phones img {
    width: 28px;
    height: 28px;
}

.offcanvas-body .header-phones {
    row-gap: 15px;
}

.dialog-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #00000080;
    z-index: 100;
}

.error-dialog {
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    width: 320px;
}

.dialog-button {
    border-radius: 0;
    border: 2px solid var(--accentColor);
    padding: 10px 32px 12px 32px;
    text-align: center;
    width: fit-content;
    align-self: flex-end;
    margin-top: 10px;
    background-color: transparent;
    outline: none;
}

.dialog-button:hover {
    background-color: var(--accentColor);
    border: 2px solid var(--accentColor);
    color: white;
}

.dialog-button,
.error-dialog-message {
    font-size: 16px;
}

@media (max-width: 767px) {
    .dialog-button,
    .error-dialog-message {
        font-size: 12px;
    }
}

.section-categories {
    background-color: var(--accentColorLightest);
    padding-top: var(--section-margin);
    padding-bottom: var(--section-margin);
}

.section-categories .row {
    row-gap: var(--bs-gutter-x);
}

.category-item {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    padding: 10px;
    background-color: white;
    height: 100%;
}

.category-item h5 {
    text-align: center;
    margin-bottom: 0;
}

@media (max-width: 1280px) {
    .category-item h5 {
        font-size: 13px;
    }
}

@media (max-width: 500px) {
    .category-item h5 {
        font-size: 12px;
    }
}

.section-banner .row {
    background-image: url('./../images/banner-surg.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left;
    padding: 40px;
}

@media (max-width: 767px) {
    .section-banner .row {
        padding: 40px 20px;
    }
}

.section-banner h2 {
    margin-bottom: 0;
    color: white;
}

.section-banner h4 {
    margin-bottom: 25px;
    color: white;
}

.section-about {
    padding-top: calc(var(--section-margin) / 2);
    padding-bottom: calc(var(--section-margin) / 2);
    color: var(--textColorBlack);
    background-image: url('./../images/about-back.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.section-categories h5 {
    color: var(--accentColor);
}

.section-about h5 {
    margin-top: 20px;
}

.section-services img {
    width: 100%;
    height: 285px;
    object-fit: cover;
}

@media (max-width: 767px) {
    .section-services img {
        width: 100%;
        height: 200px;
        object-fit: cover;
    }
}

.section-services a:has(> h5) {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.section-services a:has(> h5) {
    transition: box-shadow ease 0.5s, transform ease 0.5s;
}

.section-services a:has(> h5):hover {
    box-shadow: 0 4px 16px #00000020;
    -webkit-box-shadow: 0 4px 16px #00000020;
    -moz-box-shadow: 0 4px 16px #00000020;
    transform: translateY(-4px);
}

a.category-item {
    transition: box-shadow ease 0.5s, transform ease 0.5s;
}

a.category-item:hover {
    box-shadow: 0 4px 16px #00378020;
    -webkit-box-shadow: 0 4px 16px #00378020;
    -moz-box-shadow: 0 4px 16px #00378020;
    transform: translateY(-4px);
}

.section-services h5 {
    margin-top: 20px;
    margin-bottom: 20px;
    max-width: 250px;
    text-align: center;
}

@media (max-width: 767px) {
    .section-services h5 {
        margin-top: 10px;
        margin-bottom: 30px;
        max-width: 250px;
        text-align: center;
    }
}

.footer-catalog-menu {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 40px;
}

.footer-catalog-menu a {
    margin-bottom: 12px;
    flex: 1;
    min-width: 30%;
    max-width: 33%;
}

@media (min-width: 1440px) {
    .col-1440-2 {
        width: 16.666666%;
    }

    .col-1440-8 {
        width: 66.66666667%;
    }

    .order-1440-1 {
        order: 1 !important
    }

    .order-1440-2 {
        order: 2 !important
    }
}

@media (max-width: 991px) {
    .footer-catalog-menu a {
        min-width: 45%;
        max-width: 50%;
    }
}

@media (max-width: 500px) {
    .footer-catalog-menu a {
        min-width: 90%;
    }
}

.footer-catalog-menu a:hover {
    color: var(--accentColor)
}

div:has(> .footer-catalog-menu) {
    border-right: 1px solid #0B73BC40;
    border-left: 1px solid #0B73BC40;
}

div:has(> .footer-catalog-menu) h3 {
    text-align: center;
}

.text-small {
    font-size: 14px;
}

@media (max-width: 767px) {
    .text-small {
        font-size: 12px;
    }
}

footer .text-small {
    margin-top: 60px;
    margin-bottom: 20px;
    color: var(--textColorDark);
}

footer .row {
    row-gap: 30px;
}

.header-topbar .header-inner {
    display: none !important;
}

.header-main a.button-accent {
    background-color: var(--accentColor) !important;
}

.header-main a.button-accent:not(.unset):not(.link):hover,
.header-main a.button-accent:hover {
    background-color: var(--secondaryColor) !important;
}

body[data-theme=light] .site-header.header-type1 .header-bottom a:hover {
    color: var(--accentColor);
}

.header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu.mega-menu-boxed > .sub-menu,
.header-bottom nav > ul > li > ul {
    display: flex;
    padding: 30px 40px;
    column-gap: 30px;
    max-width: calc(var(--theme-site-width) - 2rem);
}

.header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu.mega-menu-boxed > .sub-menu > li {
    flex: 1;
    min-width: 21%;
    max-width: calc(25% - 30px);
}

@media (max-width: 1280px) {
    .header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu.mega-menu-boxed > .sub-menu > li {
        flex: 1;
        min-width: 45%;
        max-width: calc(50% - 30px);
    }
}

@media (max-width: 767px) {
    .header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu.mega-menu-boxed > .sub-menu > li {
        flex: 1;
        min-width: 90%;
        max-width: 100%;
    }
}

body[data-theme=light] .site-header.header-type1 .header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu > .sub-menu a,
.header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu.mega-menu-boxed > .sub-menu > li > a,
.klb-menu-nav.primary-menu .klb-menu .mega-menu.mega-menu-boxed > .sub-menu > li > a {
    color: var(--textColorDefault);
    margin-bottom: 15px;
    line-height: 1.1;
    cursor: pointer;
    pointer-events: all;
    font-weight: 500;
}

body[data-theme=light] .site-header.header-type1 .header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu > .sub-menu a:hover,
.header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu.mega-menu-boxed > .sub-menu > li > a:hover,
.klb-menu-nav.primary-menu .klb-menu .mega-menu.mega-menu-boxed > .sub-menu > li > a:hover {
    color: var(--accentColor);
}

.klb-menu-nav.horizontal li a {
    white-space: normal;
}

/*body[data-theme=light] .site-header.header-type1 .header-bottom .klb-menu-nav.primary-menu .klb-menu .mega-menu > .sub-menu a {*/
/*color: #1b1f22;*/
/*}*/

.klb-menu-nav.primary-menu .klb-menu .mega-menu > .sub-menu a:hover::before {
    opacity: 0;
}

body[data-color=default] .klb-address-detail.style-2 .address-title {
    color: black;
    font-weight: 700;
}

.klb-address-detail.style-2 .email {
    color: var(--accentColor);
    text-decoration: none;
}

.klb-address-detail.style-2 .email:hover {
    color: var(--accentColorLight);
}

.klb-address-detail.style-2 .email::before {
    display: none;
}

figure.cover-image {
    height: 100%;
}

figure.cover-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

h1.klb-page-title {
    color: var(--secondaryColor);
}

.klb-post p a {
    color: var(--accentColor);
    text-decoration: underline;
}

.single-product-wrapper form.cart .single_add_to_cart_button,
.single-product-wrapper form.cart .quantity {
    display: none !important;
}

.single-product-wrapper form.cart {
    align-items: flex-start;
}

.request-offer-wrapper {
    display: flex;
    flex-direction: column;
    row-gap: 4px;
    margin-bottom: 10px;
}

.request-offer-wrapper p {
    font-size: 0.85rem;
    color: var(--textLight);
}

.product.type-product .product-wrapper .product-buttons {
    display: none;
}

.klb-module.recently-viewed {
    margin-top: 50px !important;
}

.woocommerce-product-gallery__wrapper img {
    width: 100%;
    max-height: 600px;
    object-fit: contain;
}

figure.fill-cover {
    height: 100%;
}

figure.fill-cover img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

body.page-template-default h4.wp-block-heading {
    color: var(--secondaryColor);
    font-weight: 600;
}

.wp-blue-section {
    position: relative;
    padding: 60px 0 40px 0;
}

.wp-blue-section .wp-block-column {
    background: white;
    padding: 5px 10px 0 20px;
}

.wp-blue-card img,
.wp-blue-section .wp-block-column img {
    margin-top: 20px;
    image-rendering: auto;
    margin-bottom: 10px;
}

.wp-blue-section h3 {
    margin-bottom: 20px;
}

.wp-blue-section:before {
    content: "";
    width: 100vw;
    display: block;
    background-color: var(--accentColorLighter);
    height: 100%;
    top: 0;
    position: absolute;
    z-index: 0;
    left: calc(0px - (100vw - 100%) / 2);
}

.wp-blue-section > * {
    position: relative;
    z-index: 1;
}

.wp-blue-card {
    background-color: var(--accentColorLighter);
    padding: 5px 10px 0 20px;
}

.klb-post ul li {
    list-style-type: disc;
    line-height: 1.75;
    padding: 0;
}

.a-scroll-overhead.a-scroll-overhead {
    margin-top: -150px;
    padding-top: 150px;
}

.wp-figure-arrow {
    height: 12px;
    padding: 0;
    line-height: 1;
    font-size: 12px;
}

.before-shop-loop {
    display: none;
}


.products h2.woocommerce-loop-category__title {
    font-size: 17px;
    font-weight: 600;
    color: var(--accentColor);
    text-align: center;
    text-transform: none;
}

.woocommerce-loop-category__title mark.count {
    display: none;
}

.products .product-category img {
    padding: 40px;
}

@media (max-width: 1280px) {
    .products .product-category img {
        padding: 20px;
    }
}

@media (max-width: 500px) {
    .products .product-category img {
        padding: 10px;
    }
}

.page-content {
    min-height: unset;
}

.single-product-wrapper .product-meta .product-categories a {
    margin-left: 5px;
}

.main-slider {
    /*height: 700px;*/
    position: relative;
    width: 100%;
    margin: auto;
    overflow: hidden;
    display: flex;
    height: var(--heroSectionHeight);
}

/*noinspection CssOptimizeSimilarProperties*/
.main-slide {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    display: block;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    transition: opacity 0.5s ease-in-out;
}

.main-slide.active {
    opacity: 1;
    pointer-events: all;
}


.main-slider .bullets-block {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 2;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
}

.main-slider .bullets-block .bullet {
    border-radius: 12px;
    width: 10px;
    height: 10px;
    margin: 5px;
    background-color: white;
    cursor: pointer;
    border: 1px solid #d0d0d0;
}

@media (max-width: 767px) {
    .main-slider .bullets-block .bullet {
        width: 8px;
        height: 8px;
    }
}

.main-slider .bullets-block .bullet.active,
.main-slider .bullets-block .bullet:hover {
    background-color: var(--accentColor);
    border: 1px solid var(--accentColor);
}

*:has(> .vertical-appear) {
    overflow: hidden;
}

.vertical-appear {
    transform: translateY(100%);
    opacity: 0;
}

div.visible > .vertical-appear,
.vertical-appear.visible {
    transform: translateY(0%);
    opacity: 1;
    transition: transform 1s ease, opacity 1s ease-in-out;
}


.woocommerce-Tabs-panel.woocommerce-Tabs-panel--additional_information h2 {
    display: none;
}

.single-product-wrapper form.cart {
    margin-bottom: 0;
}