@charset "UTF-8";

@font-face {
    src: url(../Montserrat-Regular.ttf);
    font-family: Montserrat
}

body {
    font-family: Montserrat,sans-serif;
    background-color: #223143;
    color: #fff;
    overflow-x: hidden
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

:root {
    --bg-history: url(../history-item.png)
}

video {
    width: 100%;
    height: 100% !important;
    object-position: center;
    object-fit: cover
}

    video:fullscreen {
        object-fit: contain
    }

.btn {
    background-color: #f4f4f4;
    border: none;
    color: #1c1c1c;
    transition: background-color .3s ease,color .3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px
}

    .btn:hover {
        background-color: #1c1c1c;
        color: #f4f4f4
    }

        .btn:hover img {
            filter: invert(1) brightness(.96) contrast(.88)
        }

.uppercase {
    text-transform: uppercase
}

.pre-line {
    white-space: pre-line
}

.universal-title {
    font-weight: 700;
    font-size: 55px;
    line-height: 130%;
    color: #f4f4f4;
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 70px
}

.line-box {
    width: 450px;
    display: flex;
    align-items: center
}

.the-line {
    flex: 1;
    height: 1px;
    background: #f4f4f4
}

.the-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #f4f4f4
}

.the-dot--mobile {
    display: none
}

@keyframes transitionTop {
    0% {
        transform: translateY(-500px)
    }

    to {
        transform: translateY(0)
    }
}

@keyframes transitionBottom {
    0% {
        transform: translateY(500px)
    }

    to {
        transform: translateY(0)
    }
}

.dot-btn {
    position: relative;
    overflow: hidden
}

    .dot-btn:before, .dot-btn:after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 15px;
        height: 15px;
        border-radius: 50%;
        background: #f4f4f4;
        transition: transform .3s ease
    }

    .dot-btn:before {
        left: -20px
    }

    .dot-btn:after {
        right: -20px
    }

    .dot-btn:hover:before {
        transform: translateY(-50%) translate(40px)
    }

    .dot-btn:hover:after {
        transform: translateY(-50%) translate(-40px)
    }

.custom-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    position: relative
}

    .custom-checkbox input[type=checkbox] {
        position: absolute;
        opacity: 0;
        top: 0;
        left: 0;
        height: 20px;
        width: 180px;
        outline: none
    }

.checkbox-custom {
    position: relative;
    width: 20px;
    height: 20px;
    background: transparent;
    border: 2px solid #f4f4f4;
    border-radius: 3px;
    flex-shrink: 0;
    transition: all .2s ease
}

    .checkbox-custom:after {
        content: "";
        position: absolute;
        display: none;
        left: 6px;
        top: 2px;
        width: 5px;
        height: 10px;
        border: solid #f4f4f4;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg)
    }

.custom-checkbox input[type=checkbox]:checked + .checkbox-custom:after {
    display: block
}

.custom-checkbox:hover .checkbox-custom {
    border-color: #fffc
}

.checkbox-label {
    color: #f4f4f4;
    font-size: 16px;
    line-height: 130%;
    text-align: center
}

    .checkbox-label a {
        color: #f4f4f4;
        text-decoration: underline
    }

@media screen and (max-width: 768px) {
    .universal-title {
        font-size: 30px;
        flex-direction: column;
        gap: 5px;
        width: 100%;
        margin-bottom: 15px !important
    }

    .line-box {
        width: 100%;
        order: 1
    }

    .the-line {
        width: 95%
    }

    .the-dot--mobile {
        display: block
    }

    .checkbox-label {
        font-size: 14px
    }
}

@media (min-width: 768px) and (max-width: 1300px) {
    .universal-title {
        font-size: 40px;
        flex-direction: column;
        gap: 5px;
        width: 100%;
        margin-bottom: 15px !important
    }

    .line-box {
        width: 100%;
        order: 1
    }

    .the-line {
        width: 95%
    }

    .the-dot--mobile {
        display: block
    }

    .checkbox-label {
        font-size: 14px
    }
}

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

html {
    min-height: 100dvh;
    color-scheme: light dark;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -moz-tab-size: 2;
    tab-size: 2
}

body {
    margin: 0;
    min-height: 100dvh;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

    body:has(dialog[open]) {
        overflow: hidden;
        height: 100dvh
    }

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap
}

:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px
}

a {
    text-decoration: none
}

b, strong {
    font-weight: bolder
}

code, kbd, samp, pre {
    font-family: ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    border-collapse: collapse;
    border-color: currentColor
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button {
    cursor: pointer
}

textarea {
    resize: vertical
}

button, [type=button], [type=reset], [type=submit] {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button
}

:-moz-focusring {
    outline: auto
}

:disabled {
    cursor: not-allowed
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto
}

::file-selector-button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    font: inherit
}

[type=search] {
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

img, picture, video, canvas, svg {
    max-width: 100%;
    height: auto;
    object-fit: cover
}

details, summary {
    display: block
}

summary {
    cursor: pointer;
    list-style: none
}

dialog {
    border: 0;
    padding: 0;
    margin: auto
}

.page__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 160px;
    border-bottom: 1px solid rgba(255,255,255,.45);
    background-color: #2a2a2a;
    position: sticky;
    top: 0;
    z-index: 100
}

.header-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px
}

    .header-nav a {
        color: #fff;
        text-decoration: none;
        font-size: 18px;
        font-weight: 700
    }

.header-contacts {
    display: flex;
    align-items: center;
    gap: 25px
}

.header__basket-btn {
    width: 50px;
    height: 50px;
    border: none;
    background-color: #f4f4f4;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

.header-contacts a {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #fff;
    text-decoration: none;
    font-size: 18px
}

.burger-menu {
    display: none
}

.burger-menu__content {
    display: flex;
    background: #2a2a2a;
    padding: 30px 0;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    z-index: 1000;
    transform: translate(100%);
    transition: transform .4s cubic-bezier(.4,0,.2,1);
    overflow-y: auto
}

    .burger-menu__content.active {
        transform: translate(0)
    }

.burger-menu__close {
    position: absolute;
    top: 30px;
    right: 30px;
    background: none;
    border: none;
    font-size: 50px;
    color: #f4f4f4;
    cursor: pointer;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center
}

.burger-menu__logo {
    width: 230px;
    margin-bottom: 50px
}

.burger-menu__nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    width: 100%;
    margin-bottom: 30px
}

    .burger-menu__nav a {
        width: 100%;
        font-weight: 700;
        font-size: 20px;
        text-align: center;
        text-transform: uppercase;
        color: #f4f4f4;
        text-decoration: none;
        border-bottom: 1px solid #292929;
        padding-bottom: 10px
    }

.burger-menu__mail, .burger-menu__phone {
    font-weight: 400;
    font-size: 20px;
    color: #f4f4f4;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px
}

@media (min-width: 1300px) and (max-width: 1600px) {
    .page__header {
        padding: 15px 60px
    }
}

@media (min-width: 768px) and (max-width: 1300px) {
    .page__header {
        padding: 15px 20px
    }

        header img {
            width: 100px
        }

    .header-nav {
        gap: 15px
    }

        .header-nav a {
            font-size: 14px
        }

    .header__mail {
        display: none !important
    }

    .header-contacts a {
        font-size: 14px;
        gap: 5px
    }

        .header-contacts a img {
            width: 20px
        }
}

@media screen and (max-width: 768px) {
    .page__header {
        padding: 15px 10px 10px;
        border-bottom: none
    }

    .header__logo {
        width: 94px
    }

    .header-nav {
        display: none
    }

    .header__mail {
        display: none !important
    }

    .header-contacts a {
        font-size: 16px
    }

    .burger-menu {
        display: block
    }

    .burger-menu__btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        width: 45px;
        height: 40px;
        background-color: transparent;
        border: none
    }

        .burger-menu__btn span {
            width: 45px;
            height: 5px;
            background-color: #f4f4f4;
            border-radius: 5px
        }

    .header__basket-btn {
        display: none
    }
}

footer {
    display: flex;
    gap: 30px;
    position: relative
}

.footer__logo {
    width: 230px
}

.footer__text {
    display: flex;
    flex-direction: column
}

.footer__text-title {
    font-weight: 700;
    font-size: 30px;
    line-height: 130%;
    margin-bottom: 35px
}

.footer__text-address {
    font-size: 25px;
    line-height: 130%;
    margin-bottom: 20px
}

.footer__notification-link {
    width: 250px;
    height: 40px;
    background-color: #f4f4f4;
    border-radius: 15px;
    font-weight: 700;
    font-size: 18px;
    line-height: 130%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1c1c1c;
    margin-bottom: 30px
}

.footer__links {
    display: flex;
    flex-direction: column;
    gap: 25px
}

    .footer__links a {
        display: flex;
        align-items: center;
        gap: 20px;
        color: #fff;
        text-decoration: none;
        cursor: pointer;
        font-size: 25px;
        line-height: 130%
    }

        .footer__links a img {
            width: 35px
        }

.footer__logo {
    position: absolute;
    top: 0;
    right: 0
}

.footer__privacy-policy {
    margin: 40px 0 0 320px;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.footer__privacy-policy-link {
    font-size: 18px;
    line-height: 130%;
    color: #fff;
    text-align: center
}

.cookie-popup {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    max-width: 400px;
    box-shadow: 0 10px 30px #00000026;
    border: 1px solid #e0e0e0;
    z-index: 10101;
    transform: translateY(100px);
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
}

    .cookie-popup.show {
        transform: translateY(0);
        opacity: 1;
        visibility: visible
    }

.cookie-popup-header {
    display: flex;
    align-items: center;
    margin-bottom: 16px
}

.cookie-popup h3 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0
}

.cookie-popup p {
    color: #666;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 20px
}

.cookie-button {
    background: #1c1c1c;
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    transition: all .2s ease
}

    .cookie-button:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px #1a1d1d4d
    }

    .cookie-button:active {
        transform: translateY(0)
    }

@media (min-width: 1300px) and (max-width: 1600px) {
    .footer__text-title {
        font-size: 25px
    }

    .footer__logo {
        width: 120px
    }

    .footer__text-address {
        font-size: 20px
    }

    .footer__privacy-policy {
        margin: 40px 0
    }

        .footer__privacy-policy a {
            text-align: left
        }
}

@media (max-width: 1300px) {
    footer {
        flex-direction: column;
        align-items: center;
        gap: 0
    }

    .footer__column {
        align-items: center
    }

    .footer__logo {
        position: static;
        order: -1;
        margin-bottom: 15px
    }

    .footer__text {
        display: contents
    }

    .footer__text-title {
        font-size: 18px;
        margin-bottom: 25px
    }

    .footer__text-address {
        font-size: 18px;
        margin-bottom: 25px;
        text-align: center
    }

    .footer__links {
        flex-direction: column !important;
        align-items: center;
        gap: 30px !important;
        margin-bottom: 25px
    }

        .footer__links a {
            font-size: 18px
        }

    .footer__privacy-policy {
        order: 4;
        margin: 25px 0 45px
    }

    footer iframe {
        width: 100%;
        order: 3
    }

    .cookie-popup {
        bottom: 10px;
        right: 10px;
        left: 10px;
        max-width: none;
        margin: 0 auto
    }
}

.partners__title {
    max-width: 1600px;
    margin: 0 auto 30px
}

.partners {
    margin: 0 auto 90px;
    overflow: hidden;
    opacity: 0;
    transition: opacity .5s ease
}

.partners-wrapper {
    overflow: hidden;
    width: 100%
}

.partners-container {
    display: flex;
    align-items: center;
    overflow: hidden;
    gap: 80px;
    will-change: transform
}

    .partners-container img {
        flex-shrink: 0;
        min-height: 60px;
        max-height: 80px;
        width: auto;
        filter: grayscale(100%) drop-shadow(0 0 0 transparent);
        transition: filter .3s ease
    }

        .partners-container img:hover {
            filter: grayscale(0)
        }

    .partners-container.track {
        animation: scroll 60s linear infinite
    }

@media (min-width: 768px) and (max-width: 1300px) {
    .partners__title {
        padding: 0 10px
    }
}

@media screen and (max-width: 768px) {
    .partners {
        margin: 0 auto 65px;
        opacity: 1;
        padding: 0 10px
    }

    .partners__title {
        font-size: 25px;
        text-align: center
    }

    .partners-container {
        gap: 30px
    }

        .partners-container img {
            max-height: 70px;
            filter: none
        }
}

.reviews {
    margin-bottom: 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.reviews__header {
    max-width: 1600px;
    margin: 0 auto 60px;
    display: flex;
    align-items: center;
    gap: 110px
}

.reviews__header-title {
    font-weight: 700;
    font-size: 55px;
    line-height: 130%;
    color: #f4f4f4
}

.reviews__header-checkboxes {
    display: flex;
    align-items: center;
    gap: 50px
}

.header-checkboxes__item {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    gap: 25px
}

    .header-checkboxes__item input {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0
    }

.header-checkboxes__item-circle {
    position: relative;
    width: 46px;
    height: 46px
}

    .header-checkboxes__item-circle:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        border: 1px solid #f4f4f4;
        border-radius: 50%
    }

    .header-checkboxes__item-circle:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%);
        width: 35px;
        height: 35px;
        border: 1px solid #f4f4f4;
        border-radius: 50%;
        transition: background .2s
    }

.header-checkboxes__item input:checked + .header-checkboxes__item-circle:after {
    background: #f4f4f4
}

.header-checkboxes__item-text {
    font-weight: 400;
    font-size: 25px;
    line-height: 130%
}

.reviews__item {
    box-shadow: 0 4px 10px #ffffff40;
    background: #f4f4f4;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 20px 15px;
    margin-bottom: 10px;
    transition: backdrop-filter 2s
}

.reviews__item {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    height: fit-content !important
}

.swiper-slide-active {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important
}

.reviews__item-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px
}

.reviews__item-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #d9d9d9;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center
}

    .reviews__item-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

.reviews__item-name {
    font-weight: 700;
    font-size: 20px;
    line-height: 130%;
    color: #000
}

.reviews__item-gallery {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px
}

.reviews__item-img {
    width: 130px;
    height: 80px;
    background-color: #d9d9d9;
    cursor: pointer
}

.reviews__item-description {
    font-weight: 400;
    font-size: 16px;
    line-height: 130%;
    color: #000;
    margin-bottom: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: all .3s ease
}

    .reviews__item-description.is-expanded {
        -webkit-line-clamp: unset;
        display: block
    }

.reviews__item-btn {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-weight: 700;
    font-size: 16px;
    line-height: 130%;
    color: #000;
    width: 187px;
    margin: 0 auto;
    cursor: pointer
}

.reviews__swiper {
    margin-bottom: 10px;
    height: fit-content !important
}

.reviews__swiper-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px
}

.reviews__swiper-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #646464;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none
}

.reviews__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px
}

    .reviews__pagination p {
        font-weight: 700;
        font-size: 20px;
        line-height: 130%
    }

    .reviews__pagination span {
        height: 1px;
        width: 100px;
        background-color: #f4f4f4
    }

@media (min-width: 768px) and (max-width: 1300px) {
    .reviews {
        margin-bottom: 100px;
        opacity: 1;
        padding: 0 10px
    }

    .reviews__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
        margin: 0 auto 30px
    }

    .reviews__header-title {
        font-size: 40px;
        text-align: center;
        width: 100%
    }

    .reviews__header-checkboxes {
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        align-items: flex-start;
        gap: 25px;
        width: 100%;
        scroll-behavior: smooth;
        scrollbar-width: none;
        -ms-overflow-style: none
    }

        .reviews__header-checkboxes::-webkit-scrollbar {
            display: none
        }

    .header-checkboxes__item {
        flex: 0 0 auto;
        width: 305px
    }

    .reviews__swiper {
        margin-bottom: 25px
    }

    .reviews__item-name {
        font-size: 18px
    }

    .reviews__item-description {
        -webkit-line-clamp: 4
    }

    .reviews__swiper-btns {
        gap: 35px
    }

    .reviews__pagination {
        gap: 5px
    }

        .reviews__pagination p {
            font-size: 16px
        }

        .reviews__pagination span {
            width: 60px
        }
}

@media screen and (max-width: 768px) {
    .reviews {
        margin-bottom: 100px;
        opacity: 1;
        padding: 0 10px
    }

    .reviews__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
        margin: 0 auto 30px
    }

    .reviews__header-title {
        font-size: 30px;
        text-align: center;
        width: 100%
    }

    .reviews__header-checkboxes {
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        align-items: flex-start;
        gap: 25px;
        width: 100%;
        scroll-behavior: smooth;
        scrollbar-width: none;
        -ms-overflow-style: none
    }

        .reviews__header-checkboxes::-webkit-scrollbar {
            display: none
        }

    .header-checkboxes__item {
        flex: 0 0 auto;
        width: 305px
    }

    .reviews__swiper {
        margin-bottom: 25px
    }

    .reviews__item-name {
        font-size: 18px
    }

    .reviews__item-description {
        -webkit-line-clamp: 4
    }

    .reviews__swiper-btns {
        gap: 35px
    }

    .reviews__pagination {
        gap: 5px
    }

        .reviews__pagination p {
            font-size: 16px
        }

        .reviews__pagination span {
            width: 60px
        }
}

.about-company__hero {
    padding-top: 70px;
    height: 75vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg,#000c 48.62%,#0a0a0acc 56%,#0f0f0fcc 60%,#141414e6 75%,#1c1c1c 95%)
}

    .about-company__hero .hero__title {
        margin-top: 0
    }

    .about-company__hero .hero__text {
        margin-bottom: 30px;
        opacity: 1;
        animation: none
    }

.about-company__hero-btn {
    width: 360px;
    height: 65px;
    border-radius: 20px;
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 230px
}

.about-company__hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: transitionBottom 1s ease
}

.about-company__hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
    filter: grayscale(1)
}

.our-mission__main {
    background-image: url(../bg-our-mission.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    max-width: 1600px;
    margin: 0 auto 40px;
    height: 320px;
    border-radius: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px
}

.our-mission__title {
    font-weight: 700;
    font-size: 55px;
    line-height: 130%;
    text-align: center;
    color: #f4f4f4
}

.our-mission__text {
    font-weight: 700;
    font-size: 20px;
    line-height: 108%;
    text-align: center;
    color: #f4f4f4
}

.our-mission .line-box {
    margin: 0 auto 40px;
    width: 1150px
}

.about-company__gallery {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.geography {
    margin-bottom: 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.geography__title {
    font-weight: 700;
    font-size: 55px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 50px;
    text-align: center
}

    .geography__title .line-box {
        display: none
    }

.geography__text-container {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center
}

    .geography__text-container .line-box {
        flex-direction: column;
        width: auto
    }

        .geography__text-container .line-box .the-line {
            width: 1px;
            height: 215px;
            flex: none
        }

.geography__text {
    font-weight: 400;
    font-size: 20px;
    line-height: 130%;
    text-align: right;
    color: #f4f4f4
}

.geography__text--right {
    text-align: left
}

.geography__map {
    background-image: url(../bg-geography.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    height: 450px;
    position: relative
}

.geography__map-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
    position: absolute
}

.geography__map-item__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    background-color: #f4f4f4;
    border-radius: 15px;
    padding: 13px 21px;
    transition: opacity .5s ease
}

.geography__map-item:hover .geography__map-item__text {
    opacity: 1;
    z-index: 10
}

.geography__map-item__text p {
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    color: #1c1c1c
}

.geography__map-item--address {
    font-weight: 400 !important
}

.tech-base {
    max-width: 1600px;
    margin: 0 auto 60px;
    opacity: 0;
    transition: opacity .5s ease
}

.tech-base__title {
    justify-content: flex-end
}

.tech-base__tabs-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 70px
}

.tech-base__tabs-item {
    background: radial-gradient(50% 50% at 50% 50%,#303030,#1c1c1c);
    border: 1px solid #F4F4F4;
    border-radius: 30px;
    width: 380px;
    height: 52px;
    font-weight: 500;
    font-size: 20px;
    line-height: 130%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer
}

.tech-base__swiper-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px
}

.tech-base__swiper--second {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px
}

    .tech-base__swiper--second .swiper-slide {
        width: 440px;
        height: 350px;
        overflow: hidden
    }

.tech-base__swiper-btn {
    border: none;
    background: transparent;
    width: 70px !important
}

.tech-base__swiper .swiper-slide {
    position: relative;
    height: 350px !important
}

    .tech-base__swiper .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

.tech-base__swiper--third .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.tech-base__swiper-slide__text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background-color: #000;
    font-weight: 700;
    font-size: 16px;
    line-height: 130%;
    max-height: 0;
    height: 0;
    padding: 0 20px;
    transition: max-height .5s linear,padding 1s linear
}

.tech-base__swiper-slide__text--mob {
    display: none
}

.tech-base__swiper .swiper-slide:hover .tech-base__swiper-slide__text {
    max-height: 350px;
    padding: 20px;
    height: auto
}

.team {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.team-container {
    display: flex;
    flex-direction: column;
    align-items: center
}

.team__swiper {
    max-width: 1330px
}

.team__swiper-btn {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50%;
    border: none;
    background-color: #646464;
    display: flex;
    align-items: center;
    justify-content: center
}

.team__swiper-container {
    display: flex;
    align-items: center;
    gap: 70px;
    margin-bottom: 40px
}

.team__swiper-photo--mobile {
    display: none;
    align-items: center;
    justify-content: flex-start;
    gap: 15px
}

.team__swiper-slide {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 300px !important;
    background-color: #f4f4f4;
    border-radius: 10px;
    padding: 20px 0 10px
}

.team__swiper-img {
    border-radius: 50%;
    background-color: #2d1d1d;
    color: #f4f4f4;
    width: 180px;
    height: 180px;
    margin-bottom: 15px;
    display: flex;
    justify-content: center;
    align-items: center
}

    .team__swiper-img img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

.team__swiper-name, .team__swiper-info {
    font-weight: 600;
    font-size: 20px;
    line-height: 130%;
    color: #000;
    max-width: 270px;
    text-align: center
}

.team__swiper-info {
    font-size: 18px;
    font-weight: 400
}

.team__person {
    display: flex;
    gap: 45px;
    max-width: 1330px;
    justify-content: center
}

.team__person-img {
    width: 470px;
    height: 365px;
    border-radius: 10px;
    background-color: #d9d9d9;
    color: #1c1c1c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    flex-shrink: 0
}

    .team__person-img img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

.team__person-post {
    margin-bottom: 15px
}

.team__person-post, .team__person-text {
    font-weight: 400;
    font-size: 18px;
    line-height: 130%;
    color: #fff
}

.team__person-name {
    font-weight: 900;
    font-size: 40px;
    line-height: 130%;
    color: #fff;
    margin-bottom: 5px
}

.notification-link {
    width: 400px;
    height: 60px;
    background-color: #f4f4f4;
    border-radius: 15px;
    font-weight: 700;
    font-size: 24px;
    line-height: 130%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1c1c1c;
    margin: 30px auto 170px
}

@media (min-width: 1300px) and (max-width: 1600px) {
    .about-company__hero {
        height: auto;
        padding: 50px 10px 0
    }

    .about-company__hero-btn {
        margin: 20px 0 50px;
        width: 330px;
        height: 50px;
        font-size: 20px
    }

    .about-company__hero-video {
        height: 100%
    }

    .our-mission {
        padding: 0 20px
    }

    .our-mission__main {
        height: auto;
        padding: 50px 20px;
        margin-bottom: 20px
    }

    .our-mission__title {
        font-size: 40px
    }

    .our-mission__text {
        font-size: 18px;
        white-space: normal
    }

    .our-mission .line-box {
        width: 100%
    }

    .about-company__gallery {
        padding: 0 20px
    }

    .gallery-img__container {
        justify-content: center
    }

    .gallery-first-column {
        width: 615px
    }

        .gallery-first-column .gallery-img:nth-child(2) {
            width: 327px !important
        }

    .gallery-img--big {
        width: 310px !important
    }

    .gallery-second-column {
        width: 340px
    }

    .geography {
        background-image: url(../bg-geography-mob.png);
        background-repeat: no-repeat;
        background-position: top;
        background-size: contain;
        margin-bottom: 50px
    }

    .geography__title {
        font-size: 30px;
        padding: 0 10px;
        margin-bottom: 20px
    }

        .geography__title .line-box, .geography__text--right, .geography__text-container .line-box {
            display: none
        }

    .geography__text {
        text-align: center;
        white-space: normal;
        font-size: 14px;
        padding: 0 20px;
        margin-bottom: 20px
    }

    .geography__map {
        background: transparent;
        height: auto;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        row-gap: 20px;
        column-gap: 30px;
        padding: 0 10px
    }

    .geography__map-item {
        position: static;
        width: 30%
    }

        .geography__map-item img {
            width: 95px
        }

        .geography__map-item .geography__map-item__text {
            opacity: 1
        }

    .geography__map-item__text {
        padding: 16px 8px;
        width: 100%;
        height: 65px
    }

    .geography__map-item--name {
        font-size: 16px !important;
        line-height: 110%
    }

    .geography__map-item--address {
        font-size: 14px !important;
        line-height: 110%
    }

    .geography__map-item:last-child {
        grid-column: span 2;
        justify-self: center
    }

    .tech-base {
        margin-bottom: 50px
    }

    .tech-base__title {
        padding: 0 20px
    }

    .tech-base__swiper-container {
        gap: 20px;
        padding: 0 20px
    }

    .laboratory__form-container {
        padding: 0 20px
    }

    .laboratory__form-img {
        width: 740px;
        top: 50% !important;
        right: 20px !important;
        transform: translateY(-50%)
    }
}

@media (min-width: 768px) and (max-width: 1300px) {
    .about-company__hero {
        height: auto;
        padding: 50px 10px 0
    }

    .about-company__hero-btn {
        margin: 20px 0 50px;
        width: 330px;
        height: 50px;
        font-size: 20px
    }

    .about-company__hero-video {
        height: 100%
    }

    .our-mission {
        padding: 0 10px
    }

    .our-mission__main {
        height: auto;
        padding: 50px 10px;
        margin-bottom: 20px
    }

    .our-mission__title {
        font-size: 30px
    }

    .our-mission__text {
        font-size: 14px;
        white-space: normal
    }

    .our-mission .line-box {
        width: 100%
    }

    .about-company__gallery {
        margin: 0 auto 50px;
        opacity: 1;
        padding: 0 10px
    }

    .gallery-second-column {
        display: none
    }

    .gallery-img__container {
        flex-direction: column;
        height: auto
    }

    .gallery-first-column {
        width: 100%;
        gap: 10px
    }

        .gallery-first-column .gallery-img:first-child {
            width: 33% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(2) {
            width: 64% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(3) {
            width: 100% !important;
            height: 145px !important
        }

    .gallery-img--big {
        display: none
    }

    .geography {
        background-image: url(../bg-geography-mob.png);
        background-repeat: no-repeat;
        background-position: top;
        background-size: contain;
        margin-bottom: 50px
    }

    .geography__title {
        font-size: 30px;
        padding: 0 10px;
        margin-bottom: 20px
    }

        .geography__title .line-box {
            display: flex
        }

    .geography__text--right, .geography__text-container .line-box {
        display: none
    }

    .geography__text {
        text-align: center;
        white-space: normal;
        font-size: 14px;
        padding: 0 20px;
        margin-bottom: 20px
    }

    .geography__map {
        background: transparent;
        height: auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        justify-content: center;
        row-gap: 20px;
        column-gap: 30px;
        padding: 0 10px
    }

    .geography__map-item {
        position: static;
        width: 100%
    }

        .geography__map-item img {
            width: 95px
        }

        .geography__map-item .geography__map-item__text {
            opacity: 1
        }

    .geography__map-item__text {
        padding: 16px 8px;
        width: 100%;
        height: 65px
    }

    .geography__map-item--name {
        font-size: 16px !important;
        line-height: 110%
    }

    .geography__map-item--address {
        font-size: 14px !important;
        line-height: 110%
    }

    .geography__map-item:last-child {
        grid-column: span 2;
        justify-self: center
    }

    .tech-base {
        margin-bottom: 50px
    }

    .tech-base__title {
        padding: 0 10px
    }

    .tech-base__tabs-container {
        overflow-y: hidden;
        overflow-x: auto;
        justify-content: flex-start;
        margin-bottom: 10px;
        padding: 0 10px
    }

        .tech-base__tabs-container::-webkit-scrollbar {
            width: 0
        }

    .tech-base__tabs-item {
        flex-shrink: 0;
        height: 52px;
        padding: 0 10px;
        width: auto
    }

    .tech-base__swiper-container {
        flex-wrap: wrap;
        gap: 20px
    }

    .tech-base__swiper--second {
        flex-direction: column
    }

        .tech-base__swiper--second .swiper-slide {
            width: 315px;
            height: 350px
        }

    .tech-base__swiper {
        order: 1;
        width: 100%
    }

    .tech-base__swiper-slide__text--mob {
        display: block;
        font-size: 14px;
        line-height: 130%;
        text-align: center;
        color: #f4f4f4;
        padding: 0 20px;
        order: 2
    }

    .tech-base__swiper-btn--prev {
        order: 3
    }

    .tech-base__swiper-btn--next {
        order: 4
    }

    .team {
        margin: 0 0 50px;
        max-width: none
    }

    .team__title {
        padding: 0 10px
    }

    .team-container {
        align-items: normal
    }

    .team__swiper-container {
        display: none
    }

    .team__swiper-photo--mobile {
        display: flex;
        overflow-y: hidden;
        overflow-x: auto;
        justify-content: flex-start;
        margin-bottom: 10px;
        padding: 0 10px
    }

        .team__swiper-photo--mobile::-webkit-scrollbar {
            width: 0
        }

    .team__swiper-img {
        width: 105px;
        height: 105px;
        flex-shrink: 0
    }

    .team__person {
        flex-direction: column;
        align-items: center;
        gap: 0;
        padding: 0 10px
    }

    .team__person-info {
        display: contents
    }

    .team__person-post {
        order: 1;
        margin-bottom: 0
    }

    .team__person-name {
        order: 2;
        font-size: 30px
    }

    .team__person-img {
        order: 3;
        width: 215px;
        height: 215px;
        margin-bottom: 10px
    }

    .team__person-text {
        order: 4;
        font-size: 16px
    }
}

@media (max-width: 768px) {
    .about-company__hero {
        height: auto;
        padding: 50px 10px 0
    }

    .about-company__hero-btn {
        margin: 20px 0 50px;
        width: 330px;
        height: 50px;
        font-size: 20px
    }

    .about-company__hero-video {
        height: 100%
    }

    .our-mission {
        padding: 0 10px
    }

    .our-mission__main {
        height: auto;
        padding: 50px 10px;
        margin-bottom: 20px
    }

    .our-mission__title {
        font-size: 30px
    }

    .our-mission__text {
        font-size: 14px;
        white-space: normal
    }

    .our-mission .line-box {
        width: 100%
    }

    .about-company__gallery {
        margin: 0 auto 50px;
        opacity: 1;
        padding: 0 10px
    }

    .gallery-second-column {
        display: none
    }

    .gallery-img__container {
        flex-direction: column;
        height: auto
    }

    .gallery-first-column {
        width: 100%;
        gap: 10px
    }

        .gallery-first-column .gallery-img:first-child {
            width: 33% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(2) {
            width: 64% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(3) {
            width: 100% !important;
            height: 145px !important
        }

    .gallery-img--big {
        display: none
    }

    .geography {
        background-image: url(../bg-geography-mob.png);
        background-repeat: no-repeat;
        background-position: top;
        background-size: contain;
        margin-bottom: 50px
    }

    .geography__title {
        font-size: 30px;
        padding: 0 10px;
        margin-bottom: 20px
    }

        .geography__title .line-box {
            display: flex
        }

    .geography__text--right, .geography__text-container .line-box {
        display: none
    }

    .geography__text {
        text-align: center;
        white-space: normal;
        font-size: 14px;
        padding: 0 20px;
        margin-bottom: 20px
    }

    .geography__map {
        background: transparent;
        height: auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        justify-content: center;
        row-gap: 20px;
        column-gap: 30px;
        padding: 0 10px
    }

    .geography__map-item {
        position: static;
        width: 100%
    }

        .geography__map-item img {
            width: 95px
        }

        .geography__map-item .geography__map-item__text {
            opacity: 1
        }

    .geography__map-item__text {
        padding: 16px 8px;
        width: 100%;
        height: 65px
    }

    .geography__map-item--name {
        font-size: 16px !important;
        line-height: 110%
    }

    .geography__map-item--address {
        font-size: 14px !important;
        line-height: 110%
    }

    .geography__map-item:last-child {
        grid-column: span 2;
        justify-self: center
    }

    .tech-base {
        margin-bottom: 50px
    }

    .tech-base__title {
        padding: 0 10px
    }

    .tech-base__tabs-container {
        overflow-y: hidden;
        overflow-x: auto;
        justify-content: flex-start;
        margin-bottom: 10px;
        padding: 0 10px
    }

        .tech-base__tabs-container::-webkit-scrollbar {
            width: 0
        }

    .tech-base__tabs-item {
        flex-shrink: 0;
        height: 52px;
        padding: 0 10px;
        width: auto
    }

    .tech-base__swiper-container {
        flex-wrap: wrap;
        gap: 20px
    }

    .tech-base__swiper--second {
        flex-direction: column
    }

        .tech-base__swiper--second .swiper-slide {
            width: 315px;
            height: 350px
        }

    .tech-base__swiper {
        order: 1;
        width: 100%
    }

    .tech-base__swiper-slide__text--mob {
        display: block;
        font-size: 14px;
        line-height: 130%;
        text-align: center;
        color: #f4f4f4;
        padding: 0 20px;
        order: 2
    }

    .tech-base__swiper-btn--prev {
        order: 3
    }

    .tech-base__swiper-btn--next {
        order: 4
    }

    .team {
        margin: 0 0 50px;
        max-width: none
    }

    .team__title {
        padding: 0 10px
    }

    .team-container {
        align-items: normal
    }

    .team__swiper-container {
        display: none
    }

    .team__swiper-photo--mobile {
        display: flex;
        overflow-y: hidden;
        overflow-x: auto;
        justify-content: flex-start;
        margin-bottom: 10px;
        padding: 0 10px
    }

        .team__swiper-photo--mobile::-webkit-scrollbar {
            width: 0
        }

    .team__swiper-img {
        width: 105px;
        height: 105px;
        flex-shrink: 0
    }

    .team__person {
        flex-direction: column;
        align-items: center;
        gap: 0;
        padding: 0 10px
    }

    .team__person-info {
        display: contents
    }

    .team__person-post {
        order: 1;
        margin-bottom: 0
    }

    .team__person-name {
        order: 2;
        font-size: 30px
    }

    .team__person-img {
        order: 3;
        width: 215px;
        height: 215px;
        margin-bottom: 10px
    }

    .team__person-text {
        order: 4;
        font-size: 16px
    }
}

.laboratory__hero {
    max-width: 1600px;
    margin: 70px auto 170px
}

.laboratory__hero-title {
    font-weight: 700;
    font-size: 65px;
    line-height: 130%;
    text-align: center;
    color: #f4f4f4;
    margin-bottom: 40px;
    animation: transitionTop .5s ease
}

.laboratory__hero-img {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px
}

.laboratory__hero-img--mob {
    display: none
}

.laboratory__hero-content {
    position: relative
}

.laboratory__hero-img img {
    margin-left: -100px
}

    .laboratory__hero-img img:first-child {
        margin-left: 0
    }

    .laboratory__hero-img img:nth-child(odd) {
        animation: transitionTop 1s ease
    }

    .laboratory__hero-img img:nth-child(2n) {
        animation: transitionBottom 1s ease
    }

.laboratory__hero-pros {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 35px;
    position: absolute;
    left: 50%;
    transform: translate(-50%) translateY(-80%)
}

.laboratory__hero-pros-item {
    width: 340px;
    height: 125px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: inset -.75px -.5px #ffffff1a,inset +.75px +.5px #ffffff06,3px 2px 10px #00000040,inset 0 0 10px 5px #ffffff06,inset 0 0 40px 5px #ffffff06;
    border-radius: 15px;
    padding: 30px 15px 10px 30px;
    display: flex;
    justify-content: space-between;
    overflow: hidden
}

    .laboratory__hero-pros-item .line-box {
        width: 155px
    }

.laboratory__hero-pros--num {
    font-weight: 500;
    font-size: 100px;
    line-height: 80%;
    color: #f4f4f4;
    overflow: hidden
}

.laboratory__hero-pros--text {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.laboratory__hero-text {
    font-weight: 400;
    font-size: 35px;
    line-height: 130%;
    color: #f4f4f4;
    margin-top: 160px;
    text-align: center;
    animation: transitionBottom .5s ease
}

.about-laboratory {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.about-laboratory__title {
    margin-bottom: 50px
}

.about-laboratory__content {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: center
}

    .about-laboratory__content .line-box {
        flex-direction: column;
        width: 1px
    }

        .about-laboratory__content .line-box .the-line {
            width: 1px;
            height: 400px;
            flex: none
        }

.about-laboratory__content-container {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.about-laboratory__content-container--mob {
    display: none
}

.about-laboratory__content-text {
    font-weight: 400;
    font-size: 20px;
    line-height: 130%
}

.our-tests {
    background-image: url(../bg-test.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding-bottom: 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.our-tests__title {
    max-width: 1600px;
    margin: 0 auto 50px;
    font-size: 50px;
    justify-content: flex-end
}

.our-tests__item-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;
    flex-wrap: wrap;
    max-width: 1660px;
    margin: 0 auto
}

.our-tests__item {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border: 1px solid #F4F4F4;
    background-image: url(../bg-test-item.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #0c0c0c80;
    border-radius: 20px;
    padding: 40px 10px 30px 25px;
    width: 530px;
    height: 400px;
    position: relative
}

.our-tests__item-title {
    font-weight: 700;
    font-size: 20px;
    line-height: 130%;
    color: #f4f4f4
}

.our-tests__item-btn {
    position: absolute;
    bottom: 30px;
    left: 25px;
    width: 310px !important;
    height: 50px !important;
    font-weight: 700 !important;
    font-size: 25px !important;
    line-height: 130% !important
}

.tools {
    margin-bottom: 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.tools__title {
    max-width: 1600px;
    margin: 0 auto 70px;
    font-size: 50px
}

.tools__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-image: url(../bg-tools.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50% 45%
}

.tools__name {
    font-weight: 700;
    font-size: 30px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 40px;
    text-align: center
}

.tools__certificate {
    font-weight: 700;
    font-size: 16px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 40px;
    text-align: center
}

.tools__swiper {
    margin-bottom: 15px;
    max-width: 1675px
}

.tools__swiper-slide {
    width: 340px !important;
    height: 340px;
    position: relative;
    overflow: hidden
}

    .tools__swiper-slide.swiper-slide-active {
        width: 460px !important;
        height: 460px !important
    }

    .tools__swiper-slide img {
        border-radius: 20px;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

.tools__swiper-slide__text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    background-color: #000;
    font-weight: 700;
    font-size: 16px;
    line-height: 130%;
    max-height: 0;
    height: 0;
    padding: 0 20px;
    overflow: hidden;
    transition: max-height .5s linear,padding 1s linear
}

.tools__swiper-slide__text--mob {
    display: none
}

.tools__swiper .swiper-slide:hover .tools__swiper-slide__text {
    max-height: 350px;
    padding: 20px;
    height: auto
}

.tools__swiper-btns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px
}

.tools__swiper-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #646464;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none
}

.tools__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px
}

    .tools__pagination p {
        font-weight: 700;
        font-size: 20px;
        line-height: 130%
    }

    .tools__pagination span {
        height: 1px;
        width: 100px;
        background-color: #f4f4f4
    }

.laboratory__why-us__container {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.laboratory__why-us__title {
    font-size: 50px
}

.laboratory__why-us {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px
}

.laboratory__why-us__item {
    width: 520px;
    height: 280px;
    background: #3d3d3d33;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 0 40px;
    animation: blinkLight 3s ease infinite
}

.laboratory__why-us__item--dark {
    background: #0c0c0c33;
    animation: blinkDark 3s ease infinite
}

@keyframes blinkLight {
    0% {
        background: #3d3d3d33
    }

    50% {
        background: #3d3d3d
    }

    to {
        background: #3d3d3d33
    }
}

@keyframes blinkDark {
    0% {
        background: #0c0c0c33
    }

    50% {
        background: #0c0c0c
    }

    to {
        background: #0c0c0c33
    }
}

.laboratory__why-us__item-num {
    position: absolute;
    top: 40px;
    right: 40px;
    font-weight: 400;
    font-size: 30px;
    color: #f4f4f4
}

.laboratory__why-us__item-title {
    font-weight: 700;
    font-size: 30px;
    line-height: 110%;
    color: #f4f4f4
}

.laboratory__why-us__item-description {
    font-weight: 400;
    font-size: 18px;
    line-height: 110%;
    color: #f4f4f4
}

.laboratory__gallery {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.laboratory__form-container {
    max-width: 1600px;
    margin: 0 auto 170px;
    position: relative;
    opacity: 0;
    transition: opacity .5s ease
}

.laboratory__form-img {
    position: absolute;
    top: 0;
    right: 0
}

.laboratory__form-img--mob {
    display: none
}

.laboratory__form-title {
    margin-bottom: 40px;
    font-weight: 900;
    font-size: 25px;
    line-height: 130%;
    color: #f4f4f4;
    width: fit-content
}

.laboratory__form {
    display: flex;
    flex-direction: column;
    gap: 50px;
    width: 480px
}

.laboratory__form-input {
    width: 100%;
    height: 40px;
    font-weight: 500;
    font-family: inherit;
    font-size: 25px;
    line-height: 130%;
    text-align: center;
    text-transform: uppercase;
    color: #f4f4f4;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #F4F4F4;
    outline: none
}

.laboratory__form-btn {
    width: 100%;
    height: 75px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 35px;
    line-height: 130%
}

@media (min-width: 1300px) and (max-width: 1600px) {
    .laboratory__hero {
        padding: 0 20px
    }

    .laboratory__hero-img {
        overflow: hidden
    }

    .laboratory__hero-pros {
        gap: 10px
    }

    .laboratory__hero-pros-item {
        width: 300px
    }

    .laboratory__hero-text {
        font-size: 30px;
        margin-top: 100px
    }

    .about-laboratory {
        padding: 0 20px
    }

    .about-laboratory__content-text {
        white-space: normal
    }

    .our-tests {
        padding: 0 20px;
        margin-bottom: 80px
    }

    .our-tests__title {
        font-size: 33px
    }

    .tools {
        padding: 0 20px;
        margin-bottom: 80px
    }

    .tools__title, .laboratory__why-us__title {
        font-size: 33px
    }

    .laboratory__why-us__container, .laboratory__gallery {
        padding: 0 20px
    }

    .gallery-img__container {
        justify-content: center
    }

    .gallery-first-column {
        width: 615px
    }

        .gallery-first-column .gallery-img:nth-child(2) {
            width: 327px !important
        }

    .gallery-img--big {
        width: 310px !important
    }

    .gallery-second-column {
        width: 340px
    }
}

@media (min-width: 768px) and (max-width: 1300px) {
    .laboratory__hero {
        margin: 40px auto 50px;
        padding: 0 20px
    }

    .laboratory__hero-title {
        font-size: 30px;
        margin-bottom: 20px
    }

    .laboratory__hero-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px
    }

    .laboratory__hero-img {
        display: none
    }

    .laboratory__hero-img--mob {
        display: block;
        width: 100%
    }

    .laboratory__hero-pros {
        position: static;
        transform: none;
        flex-wrap: wrap;
        gap: 10px
    }

    .laboratory__hero-pros-item {
        background: #b1b1b140
    }

    .laboratory__hero-pros-item {
        height: 100px;
        padding: 15px 15px 0
    }

    .laboratory__hero-pros--num {
        margin: 0;
        overflow: visible
    }

    .laboratory__hero-text {
        margin-top: 40px;
        font-size: 14px;
        white-space: normal;
        padding: 0 20px
    }

    .laboratory__hero-pros--text {
        gap: 10px
    }

        .laboratory__hero-pros--text .line-box {
            order: unset
        }

    .about-laboratory {
        padding: 0 10px;
        margin-bottom: 50px
    }

    .about-laboratory__content {
        gap: 20px;
        align-items: flex-start
    }

        .about-laboratory__content img {
            width: 260px
        }

        .about-laboratory__content .line-box, .about-laboratory__content-container {
            display: none
        }

    .about-laboratory__content-text {
        font-size: 14px;
        white-space: normal;
        padding-right: 5px
    }

    .about-laboratory__content-container--mob {
        display: flex;
        flex-direction: column
    }

    .about-laboratory__content-btn {
        width: 220px;
        height: 40px;
        background: transparent;
        border: none;
        border-bottom: 1px solid #F4F4F4;
        margin: 30px auto 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px
    }

        .about-laboratory__content-btn img {
            width: 22px
        }

    .about-laboratory__content-text.hidden {
        display: none
    }

    .about-laboratory__content-text.shown {
        display: block
    }

    .our-tests {
        padding: 0 10px;
        margin-bottom: 50px
    }

    .our-tests__title {
        font-size: 31px;
        text-align: center
    }

    .our-tests__item-container {
        gap: 15px
    }

    .our-tests__item {
        padding: 30px;
        height: 300px
    }

    .our-tests__item-title {
        font-size: 20px;
        white-space: normal
    }

    .our-tests__item-list {
        margin-bottom: 15px
    }

        .our-tests__item-list li {
            font-size: 14px
        }

    .our-tests__item-btn {
        height: 50px;
        font-size: 20px
    }

    .tools {
        padding: 0 10px;
        margin-bottom: 50px
    }

    .tools__title {
        font-size: 30px;
        text-align: center
    }

    .tools__container {
        background: transparent
    }

    .tools__name {
        font-size: 20px;
        margin-bottom: 20px
    }

    .tools__swiper {
        width: 100%;
        margin-bottom: 30px
    }

    .tools__swiper-slide.swiper-slide, .tools__swiper-slide.swiper-slide-active {
        width: 100% !important;
        height: 500px !important
    }

        .tools__swiper-slide.swiper-slide img {
            width: 100%;
            height: 100%;
            object-fit: contain
        }

    .tools__pagination {
        display: none
    }

    .laboratory__why-us__container {
        padding: 0 10px;
        margin-bottom: 50px
    }

    .laboratory__why-us__title {
        font-size: 30px;
        text-align: center
    }

    .laboratory__why-us {
        gap: 15px
    }

    .laboratory__why-us__item {
        width: 48%;
        height: 160px;
        padding: 0 20px
    }

    .laboratory__why-us__item-num {
        top: 20px;
        right: 20px
    }

    .laboratory__why-us__item-title {
        font-size: 24px
    }

    .laboratory__why-us__item-description {
        font-size: 16px
    }

    .laboratory__gallery {
        margin: 0 auto 50px;
        opacity: 1;
        padding: 0 10px
    }

    .gallery-second-column {
        display: none
    }

    .gallery-img__container {
        flex-direction: column;
        height: auto
    }

    .gallery-first-column {
        width: 100%;
        gap: 10px
    }

        .gallery-first-column .gallery-img:first-child {
            width: 33% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(2) {
            width: 64% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(3) {
            width: 100% !important;
            height: 145px !important
        }

    .gallery-img--big {
        display: none
    }

    .laboratory__form-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 10px;
        margin-bottom: 50px
    }

    .laboratory__form-img {
        display: none
    }

    .laboratory__form-title {
        font-size: 18px;
        text-align: center;
        margin-bottom: 15px
    }

    .laboratory__form-img--mob {
        display: block;
        margin-bottom: 15px
    }

    .laboratory__form {
        width: 100%;
        gap: 30px
    }

    .laboratory__form-input {
        font-size: 18px
    }

    .laboratory__form-btn {
        font-size: 25px;
        height: 60px
    }
}

@media (max-width: 768px) {
    .laboratory__hero {
        margin: 40px auto 50px
    }

    .laboratory__hero-title {
        font-size: 30px;
        margin-bottom: 20px
    }

    .laboratory__hero-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px
    }

    .laboratory__hero-img {
        display: none
    }

    .laboratory__hero-img--mob {
        display: block
    }

    .laboratory__hero-pros {
        position: static;
        transform: none;
        flex-direction: column;
        gap: 10px
    }

    .laboratory__hero-pros-item {
        background: #b1b1b140
    }

    .laboratory__hero-pros-item {
        height: 100px;
        padding: 15px 15px 0
    }

    .laboratory__hero-pros--num {
        margin: 0;
        overflow: visible
    }

    .laboratory__hero-text {
        margin-top: 40px;
        font-size: 14px;
        white-space: normal;
        padding: 0 20px
    }

    .laboratory__hero-pros--text {
        gap: 10px
    }

        .laboratory__hero-pros--text .line-box {
            order: unset
        }

    .about-laboratory {
        padding: 0 10px;
        margin-bottom: 50px
    }

    .about-laboratory__content {
        flex-direction: column;
        gap: 20px
    }

        .about-laboratory__content img {
            width: 260px
        }

        .about-laboratory__content .line-box, .about-laboratory__content-container {
            display: none
        }

    .about-laboratory__content-text {
        font-size: 14px;
        white-space: normal;
        padding-right: 5px
    }

    .about-laboratory__content-container--mob {
        display: flex;
        flex-direction: column
    }

    .about-laboratory__content-btn {
        width: 220px;
        height: 40px;
        background: transparent;
        border: none;
        border-bottom: 1px solid #F4F4F4;
        margin: 30px auto 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px
    }

        .about-laboratory__content-btn img {
            width: 22px
        }

    .about-laboratory__content-text.hidden {
        display: none
    }

    .about-laboratory__content-text.shown {
        display: block
    }

    .our-tests {
        padding: 0 10px;
        margin-bottom: 50px
    }

    .our-tests__title {
        font-size: 31px;
        text-align: center
    }

    .our-tests__item-container {
        gap: 15px
    }

    .our-tests__item {
        padding: 30px;
        height: 300px
    }

    .our-tests__item-title {
        font-size: 20px;
        white-space: normal
    }

    .our-tests__item-list {
        margin-bottom: 15px
    }

        .our-tests__item-list li {
            font-size: 14px
        }

    .our-tests__item-btn {
        height: 50px;
        font-size: 20px
    }

    .tools {
        padding: 0 10px;
        margin-bottom: 50px
    }

    .tools__title {
        font-size: 30px;
        text-align: center
    }

    .tools__container {
        background: transparent
    }

    .tools__name {
        font-size: 20px;
        margin-bottom: 20px
    }

    .tools__swiper {
        width: 100%;
        margin-bottom: 30px
    }

    .tools__swiper-slide.swiper-slide {
        width: 100% !important;
        height: auto
    }

    .tools__swiper-slide.swiper-slide-active {
        width: 100% !important;
        height: auto !important
    }

    .tools__pagination {
        display: none
    }

    .laboratory__why-us__container {
        padding: 0 10px;
        margin-bottom: 50px
    }

    .laboratory__why-us__title {
        font-size: 30px;
        text-align: center
    }

    .laboratory__why-us {
        gap: 15px
    }

    .laboratory__why-us__item {
        width: 100%;
        height: 160px;
        padding: 0 20px
    }

    .laboratory__why-us__item-num {
        top: 20px;
        right: 20px
    }

    .laboratory__why-us__item-title {
        font-size: 24px
    }

    .laboratory__why-us__item-description {
        font-size: 16px
    }

    .laboratory__gallery {
        margin: 0 auto 50px;
        opacity: 1;
        padding: 0 10px
    }

    .gallery-second-column {
        display: none
    }

    .gallery-img__container {
        flex-direction: column;
        height: auto
    }

    .gallery-first-column {
        width: 100%;
        gap: 10px
    }

        .gallery-first-column .gallery-img:first-child {
            width: 33% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(2) {
            width: 64% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(3) {
            width: 100% !important;
            height: 145px !important
        }

    .gallery-img--big {
        display: none
    }

    .laboratory__form-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 10px;
        margin-bottom: 50px
    }

    .laboratory__form-img {
        display: none
    }

    .laboratory__form-title {
        font-size: 18px;
        text-align: center;
        margin-bottom: 15px
    }

    .laboratory__form-img--mob {
        display: block;
        margin-bottom: 15px
    }

    .laboratory__form {
        width: 100%;
        gap: 30px
    }

    .laboratory__form-input {
        font-size: 18px
    }

    .laboratory__form-btn {
        font-size: 25px;
        height: 60px
    }
}

.detailed__hero {
    display: flex;
    flex-direction: column;
    gap: 50px;
    max-width: 1600px;
    margin: 0 auto 170px;
    padding: 70px 0 0
}

.detailed__hero-content {
    display: block;
    position: relative
}

    .detailed__hero-content:after {
        content: "";
        display: table;
        clear: both
    }

.detailed__hero-left {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.detailed__hero-btn {
    width: 330px !important;
    height: 40px !important;
    font-size: 20px !important;
    margin: 0 !important
}

    .detailed__hero-btn img {
        height: 22px !important;
        transform: rotate(180deg) !important
    }

    .detailed__hero-btn:hover img {
        transform: translate(-40px) rotate(180deg) !important
    }

.detailed__hero-title {
    font-weight: 700;
    font-size: 40px;
    line-height: 130%;
    color: #d50000;
    margin-bottom: 15px
}

.detailed__hero-text p {
    font-weight: 500;
    font-size: 16px;
    line-height: 130%;
    color: #f4f4f4
}

.hero-spare__btn-container {
    display: flex;
    gap: 10px;
    position: absolute;
    bottom: 0;
    left: 0
}

.hero-spare__btn {
    width: 340px;
    height: 60px;
    font-weight: 700;
    font-size: 24px;
    border-radius: 15px
}

.detailed__hero-right {
    width: 860px;
    height: 500px;
    object-fit: cover;
    float: right;
    margin-left: 30px;
    margin-bottom: 30px
}

.detailed__hero-pros, .detailed__hero-pros--left, .detailed__hero-pros--right {
    display: flex;
    gap: 25px
}

.detailed__hero-pros-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 380px;
    height: 175px;
    background-color: #0c0c0c;
    border-radius: 30px 30px 30px 0;
    padding: 20px;
    animation: lightningItems 3s ease-in-out infinite
}

@keyframes lightningItems {
    0% {
        background-color: #0c0c0c;
        border: 1px solid transparent
    }

    50% {
        background-color: #1c1c1c;
        border: 1px solid #f4f4f4
    }

    to {
        background-color: #0c0c0c;
        border: 1px solid transparent
    }
}

.detailed__hero-pros-text {
    font-weight: 700;
    font-size: 20px;
    line-height: 130%
}

.detailed__hero-pros-symbols {
    font-weight: 400;
    font-size: 90px;
    line-height: 82%;
    color: #f4f4f4
}

.detailed__hero-images {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 25px;
    max-width: 1600px
}

.detailed__hero-images-swiper img {
    width: 380px;
    height: 250px;
    border-radius: 15px;
    object-fit: cover;
    cursor: pointer
}

.detailed__more-container {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.detailed__more {
    display: flex;
    gap: 40px;
    align-items: center
}

.detailed__more-swiper {
    max-width: 1390px !important
}

.detailed__more-swiper--spare {
    max-width: 1260px
}

.more-swiper__slide {
    background-image: url(../bg-service-item.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 450px;
    height: 335px !important;
    border-radius: 20px;
    padding: 20px;
    text-decoration: none;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    overflow: hidden;
    z-index: 0
}

    .more-swiper__slide:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #00000080;
        z-index: 0;
        transition: background-color .3s
    }

    .more-swiper__slide:hover:before {
        background-color: transparent
    }

.more-swiper__slide-title-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
    z-index: 1;
    position: relative
}

.more-swiper__slide-title {
    font-weight: 700;
    font-size: 18px;
    line-height: 130%;
    color: #b9b9b9;
    max-width: 355px
}

.more-swiper__slide-arrow {
    filter: brightness(10) contrast(.9)
}

.more-swiper__slide .line-box {
    width: 100%;
    z-index: 1
}

.more-swiper__btn, .hero-images__btn {
    background-color: transparent;
    border: none;
    width: 70px !important
}

    .more-swiper__btn img, .hero-images__btn img {
        width: 100%
    }

.spare-catalog__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 35px;
    border: 1px solid #F4F4F4;
    border-radius: 30px;
    width: 400px;
    height: 500px;
    position: relative
}

.spare-catalog__item-text {
    width: 325px;
    text-align: left;
    font-weight: 400;
    font-size: 20px;
    line-height: 103%;
    color: #f4f4f4
}

.spare-catalog__item-btn {
    cursor: pointer;
    font-weight: 700;
    font-size: 20px;
    line-height: 130%;
    color: #1c1c1c;
    height: 55px;
    border-radius: 70px
}

.detailed__form-container {
    margin-bottom: 170px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 760px;
    background-image: url(../bg-form.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0;
    transition: opacity .5s ease
}

.detailed__form-title {
    display: flex;
    align-items: center;
    gap: 35px;
    margin-bottom: 70px;
    text-align: center;
    font-weight: 900;
    font-size: 25px;
    line-height: 130%
}

    .detailed__form-title .line-box {
        width: 460px
    }

        .detailed__form-title .line-box .the-dot {
            width: 18px;
            height: 18px
        }

.detailed__form {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px
}

.detailed__form-input {
    width: 480px;
    height: 80px;
    background-color: #1c1c1c;
    color: #f4f4f4;
    border: 1px solid #F4F4F4;
    border-radius: 20px;
    font-weight: 700;
    font-size: 25px;
    font-family: inherit;
    line-height: 130%;
    text-align: center;
    outline: none
}

.detailed__form-btn {
    width: 480px;
    height: 80px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 35px;
    line-height: 130%;
    color: #1c1c1c
}

@media (max-width: 430px) {
    body {
        padding: 0
    }

    .page__header {
        padding: 15px 10px 10px
    }

    .detailed__hero {
        padding: 50px 10px 0;
        gap: 0;
        margin-bottom: 50px
    }

    .detailed__hero-content {
        flex-direction: column
    }

    .detailed__hero-left {
        display: contents
    }

    .detailed__hero-btn {
        order: 1;
        margin: 0 auto 20px !important
    }

    .detailed__hero-text-container {
        display: contents
    }

    .detailed__hero-title {
        order: 2;
        font-size: 20px;
        text-align: center;
        margin-bottom: 25px
    }

    .detailed__hero-images {
        margin-bottom: 25px;
        gap: 10px;
        flex-wrap: wrap;
        justify-content: center
    }

    .detailed__hero-images-swiper img {
        width: 100%
    }

    .hero-images__btn {
        flex-shrink: 0
    }

    .detailed__hero-images-swiper {
        order: -1 !important
    }

    .detailed__hero-right {
        order: 3;
        width: 100%;
        max-height: 265px;
        height: auto;
        margin-bottom: 15px
    }

    .detailed__hero-text {
        order: 4;
        margin-bottom: 25px
    }

        .detailed__hero-text p {
            font-size: 14px
        }

    .detailed__hero-pros, .detailed__hero-pros--left, .detailed__hero-pros--right {
        flex-direction: column;
        justify-content: center;
        gap: 10px
    }

    .detailed__hero-pros-item {
        width: 100%;
        height: 110px;
        padding: 20px 20px 10px
    }

    .detailed__hero-pros-text {
        font-size: 16px
    }

    .detailed__hero-pros-symbols {
        height: 15px
    }

    .detailed__more-container {
        margin: 0 auto 100px
    }

    .detailed__more-title {
        font-size: 20px;
        padding: 0 10px;
        margin-bottom: 25px !important
    }

    .detailed__more {
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 30px
    }

    .detailed__more-swiper {
        padding: 0 10px !important
    }

    .more-swiper__btn--prev {
        order: 1
    }

    .more-swiper__btn--next {
        order: 2
    }

    .more-swiper__slide {
        height: 225px !important;
        padding: 15px 15px 10px
    }

    .more-swiper__slide-title {
        font-size: 14px;
        max-width: 265px
    }

    .detailed__form-container {
        height: auto;
        padding: 0 10px;
        margin: 0 auto 50px
    }

    .detailed__form-title {
        white-space: normal;
        margin: 90px 0 25px
    }

        .detailed__form-title .line-box {
            display: none
        }

    .detailed__form {
        flex-direction: column;
        gap: 15px;
        width: 100%
    }

    .detailed__form-input {
        width: 100%;
        height: 60px;
        font-size: 16px
    }

    .detailed__form-btn {
        width: 100%;
        height: 60px;
        font-size: 25px
    }

    .hero-spare__btn-container {
        flex-direction: column;
        gap: 25px;
        position: static;
        order: 5
    }

    .hero-spare__btn {
        width: 100%
    }

    .spare-catalog__item {
        height: 445px;
        padding: 30px
    }

    .spare-catalog__item-title {
        font-size: 20px;
        margin-bottom: 10px
    }

    .spare-catalog__item-text {
        font-size: 16px;
        width: auto
    }

    .spare-catalog__item-btn--more {
        width: 220px
    }
}

.market__hero {
    background-image: url(../hero-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 120px;
    height: 90vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.market__hero-title {
    font-weight: 700;
    font-size: 65px;
    line-height: 100%;
    color: #d50000;
    text-align: center;
    margin-bottom: 40px;
    animation: title 1s ease
}

.market__hero-pros {
    display: flex;
    width: 1500px;
    margin: 0 auto 200px;
    align-items: center;
    justify-content: space-between
}

.market__hero-pros__item {
    font-weight: 900;
    font-size: 22px;
    line-height: 130%;
    text-align: center;
    color: #f4f4f4;
    text-transform: uppercase;
    position: relative;
    width: 278px;
    height: 278px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #d50000;
    border-radius: 50%
}

    .market__hero-pros__item img {
        position: absolute;
        top: 0;
        left: 0
    }

    .market__hero-pros__item p {
        position: relative;
        z-index: 2
    }

.rotating-effect {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: rotate 3s linear infinite;
    z-index: 1
}

@keyframes rotate {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.spare-catalog {
    max-width: 1260px;
    margin: 0 auto 170px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity .5s ease
}

.spare-catalog__transition-top {
    width: 100%
}

.spare-catalog__title {
    font-weight: 700;
    font-size: 55px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 40px
}

.spare-catalog__search {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #252525;
    border: 1px solid #F4F4F4;
    border-radius: 40px;
    height: 80px;
    padding: 0 50px;
    margin-bottom: 35px;
    gap: 50px
}

.spare-catalog__search-input {
    border: none;
    background-color: transparent;
    outline: none;
    font-weight: 500;
    font-size: 30px;
    line-height: 130%;
    color: #f4f4f4;
    width: 100%
}

    .spare-catalog__search-input::placeholder {
        color: #8b8b8b
    }

.spare-catalog__search-btn {
    background-color: transparent;
    border: none;
    outline: none;
    cursor: pointer
}

.spare-catalog__model-container {
    display: flex;
    gap: 50px;
    align-items: center;
    width: 100%;
    margin-bottom: 50px
}

.spare-catalog__model-btn {
    width: 60px;
    min-width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: #646464;
    border: none
}

.spare-catalog__model-item {
    width: fit-content !important;
    height: 55px !important;
    background: radial-gradient(50% 50% at 50% 50%,#303030,#1c1c1c);
    border: 1px solid #F4F4F4;
    border-radius: 40px;
    color: #f4f4f4;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 26px;
    font-weight: 500;
    font-size: 20px;
    line-height: 130%;
    position: relative !important;
    overflow: hidden;
    cursor: pointer
}

    .spare-catalog__model-item:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: radial-gradient(70.7% 167.03% at 50% 50%,#292929,#454545);
        border-radius: 40px;
        opacity: 0;
        transition: opacity .5s ease;
        z-index: -1
    }

    .spare-catalog__model-item.active:before {
        opacity: 1
    }

.spare-catalog__item-container {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: relative
}

.spare-catalog__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 35px;
    border: 1px solid #F4F4F4;
    border-radius: 30px;
    width: 400px;
    height: 500px;
    position: relative;
    overflow: hidden
}

    .spare-catalog__item:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../bg-spare-item.png);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        opacity: 0;
        transition: opacity .5s ease-in-out;
        z-index: -1
    }

    .spare-catalog__item:hover:before {
        opacity: 1
    }

.spare-catalog__item-title {
    font-weight: 900;
    font-size: 24px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 15px
}

.spare-catalog__item-img {
    width: 340px;
    height: 200px;
    border-radius: 10px;
    object-fit: cover;
    margin-bottom: 15px
}

.spare-catalog__item-text {
    width: 325px;
    text-align: left;
    font-weight: 400;
    font-size: 20px;
    line-height: 103%
}

.spare-catalog__item-btns {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 30px
}

.spare-catalog__item-btn {
    border: none;
    background-color: #f4f4f4;
    outline: none;
    cursor: pointer;
    font-weight: 700;
    font-size: 20px;
    line-height: 130%;
    color: #1c1c1c;
    height: 55px;
    border-radius: 70px;
    display: flex;
    align-items: center;
    justify-content: center
}

.spare-catalog__item-btn--more {
    width: 250px
}

.spare-catalog__item-btn--basket {
    width: 80px
}

.spare-catalog__basket-btn {
    width: 400px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 15px;
    font-weight: 500;
    font-size: 30px;
    line-height: 130%;
    position: absolute;
    top: 80px;
    right: 0;
    transform: translate(50%);
    opacity: 0;
    transition: opacity .5s ease
}

.providers {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 170px;
    overflow: hidden;
    opacity: 0;
    transition: opacity .5s ease
}

.providers__title {
    width: 1600px
}

.providers__image-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 120px;
    margin-bottom: 40px;
    overflow: hidden;
    will-change: transform
}

    .providers__image-container.track {
        animation: scroll 120s linear infinite
    }

@keyframes scroll {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

.providers__image {
    width: 150px;
    height: 150px;
    background-color: #fff2f2;
    border-radius: 20px
}

.providers__text {
    font-weight: 400;
    font-size: 20px;
    line-height: 130%;
    text-align: center;
    width: 1300px
}

@keyframes providersText {
    0% {
        transform: translateY(200px)
    }

    to {
        transform: translateY(0)
    }
}

.market-form__container {
    display: flex;
    max-width: 1600px;
    margin: 0 auto 170px;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
    opacity: 0;
    transition: opacity .5s ease
}

.market-form__wrapper {
    display: flex;
    align-items: center;
    gap: 60px
}

    .market-form__wrapper .line-box {
        flex-direction: column;
        height: 400px;
        width: auto
    }

        .market-form__wrapper .line-box .the-line {
            width: 1px;
            height: 100%
        }

.market-form {
    display: flex;
    flex-direction: column
}

.market-form__title {
    font-weight: 700;
    font-size: 25px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 45px
}

.market-form__inputs {
    display: flex;
    gap: 10px;
    margin-bottom: 25px
}

    .market-form__inputs input {
        width: 360px;
        height: 60px;
        background-color: transparent;
        border-radius: 20px;
        border: 1px solid #F4F4F4;
        outline: none;
        text-align: center;
        font-weight: 700;
        font-size: 25px;
        line-height: 130%;
        text-transform: uppercase;
        color: #f4f4f4
    }

        .market-form__inputs input::placeholder {
            color: #8b8b8b
        }

.market-form__btn {
    width: 100%;
    height: 60px;
    border: none;
    background-color: #f4f4f4;
    font-weight: 700;
    font-size: 25px;
    line-height: 130%;
    color: #1c1c1c;
    cursor: pointer;
    border-radius: 20px;
    text-align: center
}

.market-form__img.train-go {
    animation: rightTransition 1s ease forwards,train 5s linear infinite !important
}

@media (max-width: 430px) {
    .market__hero-title {
        font-size: 35px
    }

    .market__hero-pros {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        justify-items: center;
        align-items: center
    }

    .market__hero-pros__item {
        width: 168px;
        height: 168px
    }

        .market__hero-pros__item p {
            font-size: 14px
        }

    .spare-catalog__title {
        font-size: 30px;
        margin-bottom: 25px
    }

    .spare-catalog__search {
        height: 55px;
        margin-bottom: 20px;
        padding: 0 20px
    }

    .spare-catalog__search-input {
        font-size: 14px
    }

    .spare-catalog__search-btn {
        display: flex;
        justify-content: center;
        align-items: center
    }

        .spare-catalog__search-btn img {
            width: 27px
        }

    .spare-catalog__model-btn {
        display: none
    }

    .spare-catalog__item {
        height: 445px;
        padding: 30px
    }

    .spare-catalog__item-title {
        font-size: 20px;
        margin-bottom: 10px
    }

    .spare-catalog__item-text {
        font-size: 16px;
        width: auto
    }

    .spare-catalog__item-btn--more {
        width: 220px
    }

    .spare-catalog__transition-bottom {
        width: 100%
    }

    .spare-catalog__model-container {
        margin-bottom: 30px
    }

    .spare-catalog__item-container {
        padding: 0 10px
    }

    .spare-catalog__basket-btn {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        transform: none;
        width: 100vw;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        top: auto;
        z-index: 100
    }

    .spare-catalog, .providers {
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .providers__title {
        width: 100%
    }

    .providers__text {
        width: 100%;
        white-space: normal;
        font-size: 14px;
        text-align: left
    }

    .market-form__container {
        padding: 0 10px
    }

    .market-form__wrapper, .market-form {
        display: contents;
        opacity: 1
    }

    .market-form__container {
        margin: 0 auto 50px
    }

    .market-form__img.train-go {
        animation: none !important
    }

    .market-form__wrapper .line-box {
        display: none
    }

    .market-form__container {
        flex-direction: column;
        gap: 0
    }

    .market-form__title {
        text-align: center;
        white-space: normal;
        max-width: 365px;
        order: 1;
        margin-bottom: 30px
    }

    .market-form__inputs {
        flex-direction: column;
        width: 100%;
        order: 3;
        margin-bottom: 10px
    }

        .market-form__inputs input {
            width: 100%
        }

    .market-form__img {
        width: 100%;
        order: 2;
        margin-bottom: 20px
    }

    .market-form .btn-container--checkbox {
        order: 4;
        width: 100%
    }
}

.services__hero {
    max-width: 1600px;
    margin: 70px auto 170px;
    position: relative;
    display: flex;
    gap: 20px;
    opacity: 0;
    transition: opacity .5s ease;
    height: 630px
}

.hero-left__image-container {
    width: 830px;
    height: 100%;
    border-radius: 40px
}

    .hero-left__image-container .swiper-slide {
        position: relative;
        padding: 30px 40px;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end
    }

        .hero-left__image-container .swiper-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1
        }

        .hero-left__image-container .swiper-slide:before {
            content: "";
            width: 100%;
            height: 100%;
            background-color: #00000045;
            position: absolute;
            top: 0;
            left: 0
        }

.services__hero-btn {
    height: 50px;
    flex-shrink: 0;
    font-size: 24px;
    font-weight: 700;
    border-radius: 10px
}

.hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.services__slider-text {
    z-index: 1
}

.services__slider-title {
    font-weight: 600;
    font-size: 50px;
    line-height: 100%;
    color: #f4f4f4;
    margin-bottom: 20px;
    z-index: 1
}

.services__slider-desc {
    color: #f4f4f4;
    font-size: 18px;
    z-index: 1
}

.services {
    opacity: 0;
    transition: opacity .5s ease
}

.services__hero-title {
    font-weight: 700;
    font-size: 87px;
    color: #f4f4f4;
    margin-bottom: 30px;
    z-index: 2;
    text-align: left
}

.hero__desc {
    font-size: 16px;
    color: #f4f4f4;
    z-index: 2
}

.hero-left {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 20px;
    max-height: 700px;
    min-width: 830px;
    position: relative
}

.hero__circle-btn {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 154px;
    height: 154px;
    border-radius: 50%;
    border: none;
    background: #f4f4f4;
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 11.8px;
    font-weight: 700;
    font-family: inherit;
    text-transform: uppercase;
    color: #1c1c1c;
    transition: .25s;
    z-index: 2
}

.circle-btn__text {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    fill: #1c1c1c;
    animation: spin 20s linear infinite;
    transform-origin: center
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.hero-right {
    display: flex;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 15px
}

.hero-right__item {
    height: 200px;
    padding: 20px 30px;
    box-shadow: 2px 2px 5px #53535340 inset;
    border-radius: 20px;
    background-color: #0003;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 310px;
    position: relative;
    overflow: hidden
}

    .hero-right__item:before {
        content: "";
        width: 100%;
        height: 100%;
        background-color: #00000045;
        position: absolute;
        top: 0;
        left: 0
    }

    .hero-right__item img {
        width: 45px
    }

.hero-right__item-image {
    position: relative;
    width: 45px;
    height: 45px;
    overflow: hidden;
    border-radius: 50%
}

    .hero-right__item-image:after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: linear-gradient(-45deg,transparent 0%,transparent 45%,#D5000080 45%,#D5000080 55%,transparent 55%,transparent 100%);
        background-size: 250% 250%;
        animation: redCover 3s ease-in-out infinite;
        pointer-events: none
    }

@keyframes redCover {
    0% {
        background-position: 100% 100%
    }

    50% {
        background-position: 0 0
    }

    to {
        background-position: 100% 100%
    }
}

.hero-right__item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block
}

.hero-right__item p {
    color: #fff;
    font-size: 20px;
    line-height: 130%;
    z-index: 1
}

.hero-right__item-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    z-index: -1
}

.services {
    max-width: 1600px;
    margin: 0 auto 170px
}

.services-list {
    display: flex;
    flex-direction: column
}

.services-list__item {
    display: flex;
    flex-direction: column;
    width: 100%
}

.services-list__item-shown {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 140px;
    padding: 0 50px;
    background: linear-gradient(360deg,#0c0c0c,#1c1c1c);
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
    margin-bottom: -15px;
    cursor: pointer
}

    .services-list__item-shown:hover {
        box-shadow: 0 7px 8px #ffffff40;
        transition: box-shadow .4s
    }

    .services-list__item-shown p {
        font-weight: 700;
        font-size: 35px;
        line-height: 130%
    }

.services-list__item-hidden {
    max-height: 0;
    overflow: hidden;
    padding: 0 50px;
    margin-top: 0;
    transition: max-height .6s ease,margin-top .6s ease,padding .6s ease;
    background-color: #111;
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px
}

    .services-list__item-hidden.open {
        max-height: 600px;
        height: auto;
        padding: 55px 50px 50px;
        background-color: #111;
        margin-top: -15px
    }

    .services-list__item-hidden ul {
        display: flex;
        flex-direction: column;
        gap: 30px;
        list-style: none;
        padding: 0
    }

        .services-list__item-hidden ul li {
            font-size: 20px;
            font-weight: 700;
            line-height: 130%;
            padding-left: 40px;
            text-transform: uppercase;
            position: relative
        }

            .services-list__item-hidden ul li a {
                color: #fff
            }

            .services-list__item-hidden ul li:hover {
                text-decoration: underline;
                transition: text-decoration .3s ease
            }

    .services-list__item-hidden li:before {
        content: "";
        position: absolute;
        left: 0;
        top: .5em;
        width: 12px;
        height: 12px;
        background: #f4f4f4;
        transform: translateY(-50%) rotate(45deg)
    }

.services__gallery {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.gallery__title {
    justify-content: flex-end
}

.gallery-img__container {
    display: flex;
    gap: 15px;
    height: 530px
}

.gallery-first-column {
    display: flex;
    flex-wrap: wrap;
    width: 688px;
    gap: 15px
}

.gallery-second-column {
    display: flex;
    flex-wrap: wrap;
    width: 459px;
    gap: 15px
}

.gallery-img img {
    border-radius: 20px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease
}

    .gallery-img img:hover {
        transform: scale(1.05);
        transition: transform .5s ease
    }

.services__form-container {
    max-width: 1600px;
    margin: 0 auto 170px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    opacity: 0;
    transition: opacity .5s ease
}

.services__form-lines {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 40px;
    margin-top: -50px
}

.first-line {
    animation: firstLine 5s ease infinite
}

@keyframes firstLine {
    0% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(145px)
    }

    0% {
        transform: translateY(0)
    }
}

.second-line {
    animation: secondLine 5s ease infinite
}

@keyframes secondLine {
    0% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(62px)
    }

    0% {
        transform: translateY(0)
    }
}

.third-line {
    animation: thirdLine 5s ease infinite
}

@keyframes thirdLine {
    0% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(214px)
    }

    0% {
        transform: translateY(0)
    }
}

.fourth-line {
    animation: fourthLine 5s ease infinite
}

@keyframes fourthLine {
    0% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(133px)
    }

    0% {
        transform: translateY(0)
    }
}

.services__form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.services__form-title {
    font-weight: 900;
    font-size: 25px;
    line-height: 130%;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 50px
}

.services__form-inputs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-bottom: 45px
}

    .services__form-inputs input {
        border: none;
        border-bottom: 1px solid #FFFFFF;
        background-color: transparent;
        width: 460px;
        height: 40px;
        font-family: inherit;
        font-weight: 700;
        font-size: 25px;
        line-height: 130%;
        text-align: center;
        text-transform: uppercase;
        color: #f4f4f4
    }

        .services__form-inputs input:focus {
            outline: none
        }

.form-btn__container {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    position: relative
}

.services__dropdown-main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    width: 480px;
    height: 75px;
    border: none;
    border-radius: 20px;
    background-color: #0c0c0c;
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 25px;
    line-height: 130%;
    text-align: center;
    cursor: pointer
}

    .services__dropdown-main img {
        width: 21px
    }

.services__form-btn {
    width: 480px;
    height: 75px;
    border: none;
    border-radius: 20px;
    background-color: #f4f4f4;
    color: #1c1c1c;
    font-family: inherit;
    font-weight: 700;
    font-size: 25px;
    line-height: 130%;
    text-align: center;
    cursor: pointer
}

.services__form .dropdown-menu {
    top: 35px
}

@media (min-width: 1300px) and (max-width: 1600px) {
    .services__hero {
        padding: 0 20px;
        gap: 10px
    }

    .hero-left {
        min-width: 650px
    }

    .hero-left__image-container {
        width: 650px
    }

    .hero-right__item {
        width: 49% !important
    }

        .hero-right__item:first-child {
            width: 100% !important
        }

    .services__slider-title {
        font-size: 30px !important
    }

    .hero-right__item p {
        font-size: 16px
    }

    .services, .services__gallery {
        padding: 0 20px
    }

    .gallery-first-column .gallery-img:nth-child(2) {
        width: 349px !important
    }

    .gallery-img--big {
        width: 310px !important
    }

    .gallery-second-column {
        width: 340px
    }

    .services__form-container {
        padding: 0 20px
    }

    .services__form-inputs, .form-btn__container {
        gap: 20px
    }

    .checkbox-label {
        font-size: 14px
    }
}

@media (min-width: 768px) and (max-width: 1300px) {
    .services__hero {
        flex-direction: column;
        opacity: 1;
        padding: 0 10px;
        height: auto;
        gap: 20px;
        margin: 30px 0 50px
    }

    .hero-left {
        min-width: auto;
        width: 100%;
        height: fit-content;
        padding: 0
    }

    .hero-left__image-container {
        width: 100%;
        height: fit-content;
        border-radius: 40px
    }

        .hero-left__image-container .swiper-slide {
            width: 100%;
            height: 550px !important;
            object-fit: cover;
            overflow: hidden;
            padding: 15px
        }

            .hero-left__image-container .swiper-slide img {
                width: 100%;
                height: 100%;
                object-fit: cover
            }

    .services__slider-title {
        font-size: 30px
    }

    .services__slider-desc {
        font-size: 14px
    }

    .services__hero-title {
        font-size: 30px;
        margin-bottom: 15px
    }

    .hero__desc {
        font-size: 14px
    }

    .hero__circle-btn {
        width: 80px;
        height: 80px;
        top: 20px;
        left: 20px
    }

        .hero__circle-btn img {
            width: 27px
        }

    .services {
        opacity: 1;
        padding: 0 10px
    }

    .hero-right {
        gap: 15px
    }

    .hero-right__item {
        width: 49% !important;
        height: 120px;
        padding: 20px
    }

        .hero-right__item:first-child {
            width: 100% !important
        }

        .hero-right__item p {
            font-size: 14px
        }

    .hero-right__item-image {
        width: 35px
    }

    .services {
        margin: 0 auto 50px
    }

    .services-list__item-shown {
        height: 90px;
        padding: 10px 20px 0;
        border-bottom-left-radius: 30px;
        border-bottom-right-radius: 30px
    }

        .services-list__item-shown:hover {
            box-shadow: none
        }

        .services-list__item-shown p {
            font-size: 16px
        }

        .services-list__item-shown img {
            width: 21px
        }

    .services-list__item-hidden.open {
        padding: 40px 20px 20px
    }

    .services-list__item-hidden ul {
        gap: 15px
    }

        .services-list__item-hidden ul li {
            font-size: 16px
        }

    .services__gallery {
        margin: 0 auto 50px;
        opacity: 1;
        padding: 0 10px
    }

    .gallery-second-column {
        display: none
    }

    .gallery-img__container {
        flex-direction: column;
        height: auto
    }

    .gallery-first-column {
        width: 100%;
        gap: 10px
    }

        .gallery-first-column .gallery-img:first-child {
            width: 33% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(2) {
            width: 64% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(3) {
            width: 100% !important;
            height: 145px !important
        }

    .gallery-img--big {
        display: none
    }

    .services__form-container {
        opacity: 1;
        padding: 0 10px;
        margin-bottom: 80px
    }

    .services__form-lines {
        display: none
    }

    .services__form-title {
        white-space: normal
    }

    .services__form-inputs, .form-btn__container {
        flex-direction: column;
        width: 100%
    }

        .services__form-inputs input, .services__dropdown-main, .services__form-btn {
            width: 100%
        }
}

@media (max-width: 768px) {
    .services__hero {
        flex-direction: column;
        opacity: 1;
        padding: 0 10px;
        height: auto;
        gap: 20px;
        margin: 30px 0 50px
    }

    .hero-left {
        min-width: auto;
        width: 100%;
        height: fit-content;
        padding: 0
    }

    .hero-left__image-container {
        width: 100%;
        height: fit-content;
        border-radius: 40px
    }

        .hero-left__image-container .swiper-slide {
            width: 100%;
            height: 550px !important;
            object-fit: cover;
            overflow: hidden;
            padding: 15px
        }

            .hero-left__image-container .swiper-slide img {
                width: 100%;
                height: 100%;
                object-fit: cover
            }

    .services__slider-title {
        font-size: 30px
    }

    .services__slider-desc {
        font-size: 14px
    }

    .services__hero-title {
        font-size: 30px;
        margin-bottom: 15px
    }

    .hero__desc {
        font-size: 14px
    }

    .hero__circle-btn {
        width: 80px;
        height: 80px;
        top: 20px;
        left: 20px
    }

        .hero__circle-btn img {
            width: 27px
        }

    .services {
        opacity: 1;
        padding: 0 10px
    }

    .hero-right {
        gap: 10px
    }

    .hero-right__item {
        width: 100%;
        height: 120px;
        padding: 20px
    }

        .hero-right__item p {
            font-size: 14px
        }

    .hero-right__item-image {
        width: 35px
    }

    .services {
        margin: 0 auto 50px
    }

    .services-list__item-shown {
        height: 90px;
        padding: 10px 20px 0;
        border-bottom-left-radius: 30px;
        border-bottom-right-radius: 30px
    }

        .services-list__item-shown:hover {
            box-shadow: none
        }

        .services-list__item-shown p {
            font-size: 16px
        }

        .services-list__item-shown img {
            width: 21px
        }

    .services-list__item-hidden.open {
        padding: 40px 20px 20px
    }

    .services-list__item-hidden ul {
        gap: 15px
    }

        .services-list__item-hidden ul li {
            font-size: 16px
        }

    .services__gallery {
        margin: 0 auto 50px;
        opacity: 1;
        padding: 0 10px
    }

    .gallery-second-column {
        display: none
    }

    .gallery-img__container {
        flex-direction: column;
        height: auto
    }

    .gallery-first-column {
        width: 100%;
        gap: 10px
    }

        .gallery-first-column .gallery-img:first-child {
            width: 33% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(2) {
            width: 64% !important;
            height: 160px !important
        }

        .gallery-first-column .gallery-img:nth-child(3) {
            width: 100% !important;
            height: 145px !important
        }

    .gallery-img--big {
        display: none
    }

    .services__form-container {
        opacity: 1;
        padding: 0 10px;
        margin-bottom: 80px
    }

    .services__form-lines {
        display: none
    }

    .services__form-title {
        white-space: normal
    }

    .services__form-inputs, .form-btn__container {
        flex-direction: column;
        width: 100%
    }

        .services__form-inputs input, .services__dropdown-main, .services__form-btn {
            width: 100%
        }
}

.notifications {
    max-width: 1510px;
    margin: 70px auto 170px
}

.notifications__title {
    font-weight: 700;
    font-size: 87px;
    line-height: 100%;
    text-align: center;
    color: #f4f4f4;
    margin-bottom: 40px
}

.notifications__item-container {
    display: flex;
    flex-direction: column-reverse;
    gap: 30px;
    width: 100%
}

.notifications__item {
    width: 100%;
    min-height: 85px;
    border: 1px solid #F4F4F4;
    border-radius: 30px;
    box-shadow: 0 4px 4px #00000040;
    padding: 30px 80px;
    display: flex;
    align-items: flex-start;
    gap: 40px;
    position: relative
}

.notification__item-date {
    width: 140px;
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    color: #f4f4f4;
    position: relative;
    padding-left: 35px;
    display: flex;
    align-items: center
}

    .notification__item-date:before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 12px;
        height: 12px;
        background: #f4f4f4;
        transform: translateY(-50%) rotate(45deg)
    }

.notification__item-info {
    display: flex;
    flex-direction: column;
    gap: 25px
}

.notification__item-link {
    font-weight: 700;
    font-size: 20px;
    line-height: 100%;
    text-decoration: underline;
    color: #f4f4f4;
    transition: font-size .3s ease
}

.notification__item-text {
    font-weight: 400;
    font-size: 20px;
    line-height: 100%;
    color: #fff
}

.notification__item-link:hover {
    font-size: 22px;
    font-weight: 900
}

@media (max-width: 438px) {
    .notifications {
        margin: 50px auto;
        padding: 0 10px
    }

    .notifications__title {
        font-size: 35px
    }

    .notifications__item-container {
        gap: 20px
    }

    .notifications__item {
        flex-direction: column;
        padding: 25px;
        gap: 20px
    }

    .notification__item-link, .notification__item-text {
        font-size: 16px;
        line-height: 140%
    }

    .notification__item-info {
        gap: 15px
    }
}

.fancybox__button--close, button[data-fancybox-close], .fancybox__toolbar {
    display: none !important
}

.f-html {
    background-color: transparent !important;
    padding: 0 !important
}

#floating-menu {
    display: none !important
}

.hero {
    margin: 0 auto 140px;
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    background: linear-gradient(180deg,#000c 48.62%,#0a0a0acc 56%,#0f0f0fcc 60%,#141414e6 75%,#1c1c1c 95%)
}

.hero__title {
    font-weight: 700;
    font-size: 65px;
    line-height: 100%;
    color: #d50000;
    text-align: left;
    margin-bottom: 40px;
    animation: title 1s ease;
    margin-top: -185px
}

@keyframes title {
    0% {
        transform: translate(-110%)
    }

    to {
        transform: translate(0)
    }
}

.hero__title span {
    transition: .2s ease-in-out
}

.hero__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.hero__text {
    font-weight: 400;
    font-size: 35px;
    line-height: 130%;
    color: #f4f4f4;
    text-align: left;
    max-width: 1600px;
}

.hero__text {
    opacity: 0;
    transition: opacity 3s ease
}

.hero__text-bold {
    font-weight: 900
}

.hero__text--preload {
    position: absolute;
    bottom: 370px;
    right: 0;
    transition: .5s ease
}

    .hero__text--preload .word {
        opacity: 0;
        transform: translateY(12px);
        transition: opacity .35s ease,transform .35s ease
    }

        .hero__text--preload .word.show {
            opacity: 1;
            transform: translateY(0)
        }

.hero .line-box {
    width: 100%
}

.hero__btn {
    width: 390px;
    height: 70px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 25px;
    line-height: 130%;
    margin-top: 55px;
    opacity: 0;
    transition: opacity 3s ease
}

.about-company {
    background-image: url(../bg-about-company.svg);
    background-repeat: no-repeat;
    background-position: right center;
    margin: 0 0 70px;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .5s ease
}

.about-company__right {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center
}

.about-company__video {
    position: relative;
    width: 800px;
    height: 445px;
    background-color: #d9d9d9;
    mask: linear-gradient(transparent 0%, black 50px, black calc(100% - 50px), transparent 100%) /* вертикаль */,
          linear-gradient(to right, transparent 0%, black 50px, black calc(100% - 50px), transparent 100%) /* горизонталь */;
    mask-composite: intersect;
    -webkit-mask: linear-gradient(#fff0 0%, black 10px, black calc(100% - 10px), transparent 100%), linear-gradient(to right, transparent 0%, black 10px, black calc(100% - 10px), transparent 100%);
    -webkit-mask-composite: source-over;
    mask-composite: intersect;
}
@keyframes leftTransition {
    0% {
        transform: translate(-200%);
        opacity: 0
    }

    to {
        transform: translate(0);
        opacity: 1
    }
}

@keyframes rightTransition {
    0% {
        transform: translate(200%);
        opacity: 0
    }

    to {
        transform: translate(0);
        opacity: 1
    }
}

.about-company__video-btn {
    width: 152px;
    height: 152px;
    border-radius: 50%;
    background-color: #1c1c1c;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none
}

    .about-company__video-btn:hover img {
        filter: none
    }

.about-company .line-box {
    display: flex;
    flex-direction: column;
    width: auto
}

    .about-company .line-box .the-line {
        width: 1px;
        height: 400px;
        flex: none
    }

.about-company__text {
    display: flex;
    flex-direction: column;
    gap: 15px
}

.about-company__title {
    font-weight: 700;
    font-size: 55px;
    line-height: 130%;
    color: #f4f4f4
}

.about-company__desc {
    font-weight: 800;
    font-size: 24px;
    line-height: 123%;
    color: #f4f4f4;
    max-width: 638px;
}

.statistics {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 120px;
    margin-bottom: 170px
}

.statistics__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.statistics__item-number {
    background: linear-gradient(180deg,#f4f4f4 32.21%,#1c1c1c1a 81.25%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 500;
    font-size: 120px;
    line-height: 130%
}

.statistics__item-text {
    font-weight: 500;
    font-size: 25px;
    line-height: 130%;
    text-align: center;
    color: #f4f4f4
}

.our-services {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.our-services__title-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 70px
}

.our-services__title {
    margin: 0
}

.our-services__desc {
    font-weight: 400;
    font-size: 20px;
    line-height: 130%;
    color: #f4f4f4
}

.our-services__item-container {
    display: flex;
    gap: 5px
}

.our-services__item-left {
    display: flex;
    flex-wrap: wrap;
    width: 1090px;
    gap: 5px
}

.our-services__item:nth-child(2n) {
    width: 580px
}

    .our-services__item:nth-child(2n) .line-box {
        width: 520px
    }

.our-services__item {
    width: 505px;
    height: 270px;
    background-color: #f4f4f4;
    border-radius: 10px;
    padding: 20px 30px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    overflow: hidden
}

.our-services__item--special {
    height: 460px
}

.our-services__item-num {
    position: absolute;
    bottom: -10px;
    right: -15px;
    font-weight: 400;
    font-size: 270px;
    line-height: 80%;
    color: #1c1c1c;
    transition: opacity .5s ease,transform .5s ease;
    z-index: 1
}

.our-services__item-title {
    font-weight: 500;
    font-size: 28px;
    line-height: 130%;
    color: #1c1c1c;
    transition: color .5s ease;
    max-width: 385px
}

.our-services__item-arrow {
    position: absolute;
    bottom: 30px;
    right: 35px;
    opacity: 0;
    transform: translate(10px);
    transition: opacity .5s ease,transform .5s ease
}

.our-services__item-arrow--mobile {
    display: none
}

.our-services__item .line-box {
    position: absolute;
    bottom: 15px;
    width: 455px;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .5s ease,transform .5s ease
}

.our-services__item-right {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.arrow-btn {
    width: 505px;
    height: 80px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 35px;
    line-height: 130%;
    transition: background-color .35s ease,color .35s ease;
    cursor: pointer;
    text-decoration: none;
    margin: 0 auto
}

.our-services__item:hover {
    background-color: transparent
}

.our-services__item-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    opacity: 0
}

    .our-services__item-img img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .our-services__item-img:before {
        content: "";
        width: 100%;
        height: 100%;
        background-color: #00000080;
        position: absolute;
        top: 0;
        left: 0
    }

.our-services__item:hover .our-services__item-img {
    opacity: 1
}

.our-services__item:hover .our-services__item-title {
    color: #f4f4f4
}

.our-services__item:hover .our-services__item-num {
    opacity: 0;
    transform: scale(.9)
}

.our-services__item:hover .line-box {
    opacity: 1;
    transform: translateY(0)
}

.our-services__item:hover .our-services__item-arrow {
    opacity: 1;
    transform: translate(0)
}

.arrow-btn img {
    transform: translate(0);
    transition: transform .35s ease-out,filter .35s ease-out
}

.arrow-btn:hover img {
    transform: translate(40px);
    filter: brightness(10) contrast(.9)
}

.rails-form__container {
    margin: 0 auto 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 350px;
    overflow: hidden;
    opacity: 0;
    transition: opacity .5s ease
}

.rails-form__right {
    display: flex;
    gap: 60px;
    align-items: center;
    justify-content: center
}

.rails-form__container .line-box {
    display: flex;
    flex-direction: column;
    width: auto
}

    .rails-form__container .line-box .the-line {
        width: 1px;
        height: 400px;
        flex: none
    }

.rails-form__title {
    font-weight: 900;
    font-size: 30px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 20px
}

.rails-form__desc {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    color: #f4f4f4
}

.rails-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px
}

.rails-form__input {
    width: 480px;
    height: 80px;
    border: 1px solid #F4F4F4;
    border-radius: 20px;
    background-color: #1c1c1c;
    font-family: inherit;
    font-weight: 700;
    font-size: 25px;
    line-height: 130%;
    text-transform: uppercase;
    color: #f4f4f4;
    text-align: center
}

    .rails-form__input::placeholder {
        color: #f4f4f499
    }

    .rails-form__input:focus {
        outline: 2px solid #F4F4F4
    }

        .rails-form__input:focus::placeholder {
            color: transparent
        }

.rails-form__btn {
    width: 480px;
    height: 65px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 35px;
    line-height: 130%
}

.rails-form__background {
    z-index: -1;
    position: absolute;
    right: -330px;
    animation: rails 13s linear infinite
}

@keyframes rails {
    0% {
        transform: translate(0)
    }

    50% {
        transform: translate(-100px)
    }

    to {
        transform: translate(0)
    }
}

.why-us {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.why-us__title--mobile {
    display: none
}

.why-us__item-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

.why-us__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 30px;
    border-radius: 20px;
    border: 1px solid #F4F4F4;
    width: 630px;
    height: 230px;
    position: relative;
    overflow: hidden
}

    .why-us__item:before {
        content: "";
        position: absolute;
        top: -50%;
        right: -50%;
        bottom: -50%;
        left: -50%;
        animation: none;
        transition: transform .5s ease;
        z-index: -1
    }

    .why-us__item:hover:before {
        transform: rotate(180deg)
    }

    .why-us__item:nth-child(1):before {
        background: conic-gradient(#252525,#1c1c1c 360deg)
    }

    .why-us__item:nth-child(2):before {
        background: conic-gradient(from 269.86deg at 50% 50%,#252525,#1c1c1c 360deg)
    }

    .why-us__item:nth-child(3):before {
        background: conic-gradient(from 269.86deg at 50% 50%,#252525,#1c1c1c 360deg)
    }

    .why-us__item:nth-child(4):before {
        background: conic-gradient(from 0deg at 50% 50%,#252525,#1c1c1c 360deg)
    }

.why-us__item--long {
    width: 950px
}

.why-us__item-text {
    font-weight: 500;
    font-size: 20px;
    line-height: 130%;
    color: #f4f4f4
}

.why-us__item-img {
    position: absolute;
    bottom: 0;
    right: 0
}

.market {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.market__title, .news__title {
    justify-content: flex-end
}

.market__swiper-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto 40px
}

.market__swiper {
    max-width: 1320px
}

.market__swiper-btn {
    border: none;
    outline: none;
    background: none;
    cursor: pointer
}

.swiper-wrapper {
    align-items: center
}

.market__swiper-item {
    border-radius: 10px;
    display: flex !important;
    justify-content: center;
    align-items: center
}

    .market__swiper-item img {
        object-fit: cover;
        width: 100%;
        height: 100%;
        border-radius: 10px
    }

@media (min-width: 769px) {
    .market__swiper-item {
        height: 133px !important;
        width: 170px !important
    }

        .market__swiper-item.swiper-slide-active {
            width: 320px !important;
            height: 250px !important
        }

        .market__swiper-item.swiper-slide-next, .market__swiper-item.swiper-slide-prev {
            width: 230px !important;
            height: 180px !important
        }
}

.absolute {
    position: absolute
}

.market__btn {
    width: 600px;
    height: 80px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 35px;
    line-height: 130%;
    text-decoration: none;
    margin: 0 auto
}

.laboratory {
    background-image: url(../bg-laboratory.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 1500px;
    height: 650px;
    margin: 0 auto 170px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 25px;
    border-radius: 40px;
    opacity: 0;
    transition: opacity .5s ease
}

.laboratory__title {
    font-weight: 700;
    font-size: 55px;
    line-height: 130%;
    text-align: center;
    color: #f4f4f4
}

.laboratory__btn {
    width: 505px;
    height: 60px;
    border-radius: 20px;
    cursor: pointer;
    font-family: inherit;
    font-weight: 700;
    font-size: 25px;
    line-height: 130%;
    text-decoration: none
}

.news {
    max-width: 1600px;
    margin: 0 auto 170px;
    opacity: 0;
    transition: opacity .5s ease
}

.news__item-container {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    align-items: flex-start;
    justify-content: center
}

@keyframes news {
    0% {
        transform: translateY(300px)
    }

    to {
        transform: translateY(0)
    }
}

.news__item {
    width: 500px;
    min-height: 645px;
    border: 1px solid #F4F4F4;
    padding: 25px 30px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    background-color: #f4f4f4
}

.news__item-image {
    width: 440px;
    height: 295px;
    border-radius: 5px;
    background-color: #f4f4f4
}

    .news__item-image img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

.news__item-title {
    font-weight: 700;
    font-size: 20px;
    line-height: 130%;
    color: #000;
    margin-bottom: 10px
}

.news__item-text {
    font-weight: 700;
    font-size: 16px;
    line-height: 130%;
    margin-top: auto;
    color: #8b8b8b;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    transition: all .3s ease;
    padding-left: 3px
}

    .news__item-text.is-expanded {
        -webkit-line-clamp: unset;
        display: block
    }

.news__item-btn {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-weight: 700;
    font-size: 16px;
    line-height: 130%;
    color: #000;
    width: 187px;
    margin: auto auto 0;
    cursor: pointer
}

.news__btn-container {
    display: none
}

.train-form__container {
    margin: 0 auto 170px;
    display: flex;
    justify-content: space-between;
    padding: 0 60px 0 160px;
    opacity: 0;
    transition: opacity .5s ease
}

.train-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.train-form__title {
    font-weight: 900;
    font-size: 25px;
    line-height: 130%;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 15px
}

.train-form__desc {
    font-weight: 500;
    font-size: 24px;
    line-height: 130%;
    text-align: center;
    margin-bottom: 55px
}

.train-form__inputs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-bottom: 45px
}

    .train-form__inputs input {
        border: none;
        border-bottom: 1px solid #FFFFFF;
        background-color: transparent;
        width: 460px;
        height: 40px;
        font-family: inherit;
        font-weight: 700;
        font-size: 25px;
        line-height: 130%;
        text-align: center;
        text-transform: uppercase;
        color: #f4f4f4
    }

        .train-form__inputs input:focus {
            outline: none
        }

.train-form__btn-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    position: relative;
    z-index: 10
}

.btn-container--checkbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px
}

.dropdown-main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    width: 480px;
    height: 75px;
    border: none;
    border-radius: 20px;
    background-color: #0c0c0c;
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 25px;
    line-height: 130%;
    text-align: center;
    cursor: pointer;
    z-index: 2
}

    .dropdown-main img {
        width: 21px
    }

.dropdown-menu {
    position: absolute;
    width: 480px;
    max-height: 0;
    z-index: 0;
    top: 15px;
    left: 0;
    background: linear-gradient(360deg,#0c0c0c,#1c1c1c);
    border-radius: 20px;
    padding: 0 15px 0 30px;
    overflow-y: auto;
    overflow-x: hidden;
    transition: max-height .5s ease,padding .5s ease
}

    .dropdown-menu.is-open {
        max-height: 305px;
        padding: 75px 15px 50px 30px;
        z-index: 1
    }

.dropdown-item {
    margin-bottom: 5px
}

.dropdown-title {
    font-weight: 700;
    font-size: 18px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 15px
}

.dropdown-subtitle {
    font-weight: 700;
    font-size: 18px;
    line-height: 130%;
    color: #f4f4f4;
    margin-bottom: 15px;
    list-style: none;
    position: relative;
    padding-left: 24px;
    display: flex;
    align-items: center;
    cursor: pointer
}

    .dropdown-subtitle:before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 12px;
        height: 12px;
        background: #f4f4f4;
        transform: translateY(-50%) rotate(45deg)
    }

.train-form__service-btn {
    width: 480px;
    height: 75px;
    border-radius: 20px;
    font-family: inherit;
    font-weight: 700;
    font-size: 35px;
    line-height: 130%;
    text-align: center;
    cursor: pointer
}

.train-form__image.train-go {
    animation: rightTransition 1s ease forwards,train 5s linear infinite !important
}

@keyframes train {
    0% {
        transform: translate(0) scale(1) rotate(0)
    }

    50% {
        transform: translate(0) scale(1.05) rotate(-10deg)
    }

    to {
        transform: translate(0) scale(1) rotate(0)
    }
}

.privacy-policy__container, .personal-data__container {
    max-width: 1400px;
    margin: 60px auto 170px
}

.privacy-policy__title, .personal-data__title {
    text-align: center;
    margin-bottom: 30px;
    font-size: 40px
}

.privacy-policy__container a, .personal-data__container a {
    color: #f4f4f4;
    text-decoration: underline
}

.personal-data__container p, .personal-data__container ul {
    margin-bottom: 15px
}

.modal__image-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000e6;
    z-index: 1000;
    align-items: center;
    justify-content: center;
    padding: 20px
}

    .modal__image-container.active {
        display: flex
    }

.modal__image-close {
    position: absolute;
    top: 50px;
    right: 50px;
    width: 40px;
    height: 40px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    font-size: 60px;
    color: #f4f4f4;
    z-index: 1001
}

.modal__image {
    max-width: 90%;
    height: 90%;
    object-fit: contain;
    border-radius: 4px
}

.gallery-img {
    cursor: pointer
}

@media (min-width: 1300px) and (max-width: 1600px) {
    .hero__title {
        font-size: 45px
    }

    .hero__text {
        font-size: 25px
    }

    .about-company {
        padding: 0 20px
    }

    .statistics {
        gap: 75px
    }

    .our-services {
        padding: 0 20px
    }

    .our-services__title-container {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 20px
    }

    .our-services__desc {
        white-space: normal
    }

    .our-services__item-container {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        width: 100%
    }

    .our-services__item-left, .our-services__item-right {
        display: contents
    }

    .our-services__item {
        width: 32% !important;
        height: 168px;
        padding: 15px 20px
    }

    .our-services__item-num {
        font-size: 155px;
        right: 5px !important;
        top: 15px !important
    }

    .our-services__item-right {
        flex-direction: row;
        width: 100%;
        justify-content: center
    }

        .our-services__item-right a {
            width: 32% !important
        }

    .our-services__item-btn {
        height: 168px
    }

    .our-services__item:first-child .our-services__item-num {
        right: 20px !important
    }

    .our-services__item--special:first-child .our-services__item-num {
        right: 5px !important
    }

    .our-services__item-title {
        font-size: 18px;
        margin-bottom: 10px;
        max-width: 280px
    }

    .our-services__item .line-box {
        opacity: 1;
        position: static;
        transform: none;
        width: 100% !important
    }

        .our-services__item .line-box span {
            background-color: #1c1c1c
        }

    .our-services__item-arrow {
        display: none
    }

    .our-services__item-arrow--mobile {
        display: block;
        width: 25px;
        position: absolute;
        top: 15px;
        left: 20px
    }

    .arrow-btn {
        width: 100%;
        font-size: 20px
    }

    .rails-form__right {
        gap: 30px
    }

    .rails-form__container {
        gap: 55px
    }

    .rails-form__title {
        font-size: 25px
    }

    .rails-form__desc {
        font-size: 20px
    }

    .why-us {
        padding: 0 20px;
        opacity: 1;
        margin: 0 auto 115px
    }

    .why-us__item-container {
        gap: 15px;
        justify-content: center
    }

    .why-us__item {
        background: conic-gradient(from 0deg at 50% 50%,#252525,#1c1c1c 360deg);
        width: 48%;
        height: 170px;
        padding-left: 20px
    }

    .why-us__item-text {
        font-size: 18px;
        z-index: 2
    }

    .why-us__item:nth-child(3) {
        order: 1
    }

    .why-us__item:nth-child(1) img {
        width: 160px;
        right: -15px
    }

    .why-us__item:nth-child(2) img {
        width: 174px;
        right: -45px;
        bottom: -15px
    }

    .why-us__item:nth-child(3) img {
        width: 208px;
        right: -55px;
        bottom: -25px
    }

    .why-us__item:nth-child(4) img {
        width: 168px;
        right: -25px;
        bottom: -15px
    }

    .laboratory {
        width: 90%
    }

    .laboratory__btn {
        width: 500px
    }

    .partners__title, .reviews__header, .news__title {
        padding: 0 20px
    }

    .news {
        margin: 0 auto 100px
    }

    .train-form__container {
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .train-form {
        display: contents
    }

    .train-form__title {
        margin-bottom: 30px;
        order: 1;
        width: 100%
    }

    .train-form__image {
        order: 3;
        width: 250px;
        animation: none !important
    }

    .train-form__desc {
        order: 3;
        font-size: 26px;
        width: 500px;
        white-space: normal;
        margin: 0 20px 20px 0
    }

    .train-form__inputs {
        order: 4;
        margin: 30px auto
    }

    .train-form__btn-container {
        order: 5;
        margin: 0 auto
    }

    .modal__image-close {
        top: 20px;
        right: 20px
    }
}

@media (min-width: 768px) and (max-width: 1300px) {
    .hero {
        margin: 0;
        height: 65vh;
        padding: 0 10px
    }

    .hero__title {
        font-size: 25px;
        color: #d50000 !important;
        margin: 0 0 35px
    }

    .hero__image-container {
        display: none
    }

    .hero__image-mobile {
        display: block;
        margin-bottom: 25px
    }

    .hero__text {
        font-size: 14px;
        margin: 0 !important;
        text-align: center;
        opacity: 1
    }

    .hero__btn {
        opacity: 1;
        margin-top: 20px;
        height: 50px;
        width: 330px;
        font-size: 20px
    }

    .hero .line-box {
        display: none
    }

    .about-company {
        background: none;
        flex-direction: column;
        gap: 0;
        margin-bottom: 15px;
        opacity: 1;
        padding: 0 10px
    }

    .about-company__video {
        order: 4;
        width: 100%;
        height: 400px
    }

    .about-company__video-btn {
        width: 72px;
        height: 72px
    }

        .about-company__video-btn img {
            width: 30px
        }

    .about-company__right {
        display: contents
    }

    .about-company .line-box {
        flex-direction: row;
        justify-content: center;
        width: 100%;
        order: 2
    }

        .about-company .line-box .the-line {
            width: 95%;
            height: 1px
        }

    .about-company__text {
        display: contents
    }

    .about-company__title {
        order: 1;
        font-size: 30px;
        text-align: center;
        margin-bottom: 5px
    }

    .about-company__desc {
        order: 3;
        margin: 15px 0 20px;
        font-size: 14px;
        white-space: normal
    }

    .statistics {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        grid-template-rows: repeat(2,1fr);
        gap: 0;
        row-gap: 20px;
        column-gap: 40px;
        padding: 0 15px;
        justify-content: space-between;
        margin-bottom: 60px;
        width: 100%
    }

    .statistics__item-number {
        font-size: 80px
    }

    .statistics__item-text {
        font-size: 16px
    }

    .our-services {
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .our-services__title-container {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 20px
    }

    .our-services__desc {
        font-size: 16px;
        text-transform: uppercase;
        white-space: normal
    }

    .our-services__item-container {
        flex-wrap: wrap;
        gap: 20px;
        width: 100%
    }

    .our-services__item-left {
        display: contents
    }

    .our-services__item {
        width: 48% !important;
        height: 168px;
        padding: 15px 20px
    }

    .our-services__item-num {
        font-size: 155px;
        right: 5px !important;
        top: 15px !important
    }

    .our-services__item-right {
        flex-direction: row;
        width: 100%
    }

        .our-services__item-right a {
            width: 48% !important
        }

    .our-services__item-btn {
        height: 100%
    }

    .our-services__item:first-child .our-services__item-num {
        right: 20px !important
    }

    .our-services__item--special:first-child .our-services__item-num {
        right: 5px !important
    }

    .our-services__item-title {
        font-size: 18px;
        margin-bottom: 10px;
        max-width: 280px
    }

    .our-services__item .line-box {
        opacity: 1;
        position: static;
        transform: none;
        width: 100% !important
    }

        .our-services__item .line-box span {
            background-color: #1c1c1c
        }

    .our-services__item-arrow {
        display: none
    }

    .our-services__item-arrow--mobile {
        display: block;
        width: 25px;
        position: absolute;
        top: 15px;
        left: 20px
    }

    .arrow-btn {
        width: 100%;
        font-size: 20px
    }

    .rails-form__container {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        margin: 0 auto 50px;
        opacity: 1;
        padding: 0 10px
    }

    .rails-form__right {
        flex-direction: column;
        width: 100%;
        align-items: flex-start;
        gap: 15px;
        padding-left: 15px
    }

        .rails-form__right .line-box {
            width: 100%;
            flex-direction: row;
            justify-content: center;
            order: 2
        }

            .rails-form__right .line-box .the-line {
                width: 95%;
                height: 1px
            }

    .rails-form__title {
        font-size: 16px;
        margin-bottom: 15px
    }

    .rails-form__desc {
        font-size: 14px
    }

    .rails-form {
        width: 100%;
        gap: 15px;
        flex-direction: row;
        flex-wrap: wrap
    }

    .rails-form__input {
        width: 48%;
        height: 60px;
        font-size: 16px
    }

    .btn-container--checkbox {
        width: 100%
    }

    .rails-form__btn {
        width: 100%;
        height: 60px;
        font-size: 25px
    }

    .why-us {
        opacity: 1;
        margin: 0 auto 115px;
        padding: 0 10px
    }

    .why-us__title {
        display: none
    }

    .why-us__title--mobile {
        display: inline-block;
        text-align: center;
        height: fit-content;
        margin-bottom: 20px !important;
        font-size: 40px;
        white-space: normal
    }

    .why-us__item-container {
        gap: 15px;
        justify-content: center
    }

    .why-us__item {
        background: conic-gradient(from 0deg at 50% 50%,#252525,#1c1c1c 360deg);
        width: 48%;
        height: 170px;
        padding-left: 20px
    }

    .why-us__item-text {
        font-size: 18px;
        z-index: 2
    }

    .why-us__item:nth-child(3) {
        order: 1
    }

    .why-us__item:nth-child(1) img {
        width: 160px;
        right: -15px
    }

    .why-us__item:nth-child(2) img {
        width: 174px;
        right: -45px;
        bottom: -15px
    }

    .why-us__item:nth-child(3) img {
        width: 208px;
        right: -55px;
        bottom: -25px
    }

    .why-us__item:nth-child(4) img {
        width: 168px;
        right: -25px;
        bottom: -15px
    }

    .market__swiper-btn {
        display: none
    }

    .market {
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .market__title {
        margin-bottom: 20px;
        padding: 0 10px
    }

    .market__swiper-container {
        margin-bottom: 30px
    }

    .market__swiper .swiper-wrapper {
        align-items: flex-end
    }

    .market__swiper-item {
        height: 250px !important
    }

    .laboratory {
        width: 95%;
        height: 550px;
        padding: 10px;
        margin: 0 auto 70px;
        opacity: 1
    }

    .laboratory__title {
        font-size: 30px
    }

    .news {
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .news__title {
        margin-bottom: 25px !important
    }

    .news__item-container {
        margin-bottom: 15px;
        gap: 30px
    }

    .news__item {
        width: 48%;
        height: 600px;
        padding: 20px;
        gap: 15px;
        min-height: auto
    }

    .news__item-image {
        width: 100%;
        height: 240px
    }

    .news__item-title {
        font-size: 18px;
        margin: 15px 0
    }

    .news__item-btn {
        margin-top: 15px
    }

    .news__btn-container {
        display: none
    }

    .news__btn {
        background-color: transparent;
        border: none
    }

    .train-form__container {
        flex-direction: column;
        align-items: center;
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .train-form {
        display: contents
    }

    .train-form__title {
        margin-bottom: 30px;
        order: 1
    }

    .train-form__image {
        order: 2;
        width: 250px;
        animation: none !important
    }

    .train-form__desc {
        order: 3;
        font-size: 18px;
        width: 300px;
        white-space: normal;
        margin-bottom: 20px
    }

    .train-form__inputs {
        order: 4;
        width: 100%;
        gap: 30px;
        padding: 0 10px;
        margin-bottom: 25px
    }

        .train-form__inputs input {
            width: 100%;
            font-size: 18px
        }

    .train-form__btn-container {
        flex-direction: column;
        order: 5;
        width: 100%;
        gap: 15px
    }

    .dropdown-main, .train-form__service-btn {
        width: 100%;
        font-size: 25px;
        min-height: 60px;
        height: auto;
        padding: 5px 0
    }

    .dropdown-menu.is-open {
        width: 100%;
        padding: 60px 15px 25px 30px
    }

    .modal__image-close {
        top: 20px;
        right: 20px
    }
}

@media screen and (max-width: 768px) {
    .hero {
        margin: 35px 0 50px;
        height: 70vh;
        padding: 0 10px
    }

    .hero__title {
        font-size: 20px;
        color: #d50000 !important;
        margin-bottom: 35px
    }

    .hero__image-container {
        display: none
    }

    .hero__image-mobile {
        display: block;
        margin-bottom: 25px
    }

    .hero__text {
        font-size: 14px;
        margin: 0 !important;
        text-align: center;
        opacity: 1
    }

    .hero__btn {
        opacity: 1;
        margin-top: 20px;
        height: 50px;
        width: 330px;
        font-size: 20px
    }

    .hero .line-box {
        display: none
    }

    .about-company {
        background: none;
        flex-direction: column;
        gap: 0;
        margin-bottom: 15px;
        opacity: 1;
        padding: 0 10px
    }

    .about-company__video {
        order: 4;
        width: 100%;
        height: 210px
    }

    .about-company__video-btn {
        width: 72px;
        height: 72px
    }

        .about-company__video-btn img {
            width: 30px
        }

    .about-company__right {
        display: contents
    }

    .about-company .line-box {
        flex-direction: row;
        justify-content: center;
        width: 100%;
        order: 2
    }

        .about-company .line-box .the-line {
            width: 95%;
            height: 1px
        }

    .about-company__text {
        display: contents
    }

    .about-company__title {
        order: 1;
        font-size: 30px;
        text-align: center;
        margin-bottom: 5px
    }

    .about-company__desc {
        order: 3;
        margin: 15px 0 20px;
        font-size: 14px;
        white-space: normal
    }

    .statistics {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        grid-template-rows: repeat(2,1fr);
        gap: 0;
        row-gap: 20px;
        column-gap: 40px;
        padding: 0 15px;
        justify-content: space-between;
        margin-bottom: 60px;
        width: 100%
    }

    .statistics__item-number {
        font-size: 80px
    }

    .statistics__item-text {
        font-size: 16px
    }

    .our-services {
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .our-services__title-container {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 20px
    }

    .our-services__desc {
        font-size: 16px;
        text-transform: uppercase;
        white-space: normal
    }

    .our-services__item-container, .our-services__item-left, .our-services__item-right {
        flex-direction: column;
        gap: 20px;
        width: 100%
    }

    .our-services__item {
        width: 100% !important;
        height: 168px;
        padding: 15px 20px
    }

    .our-services__item-num {
        font-size: 155px;
        right: 5px !important;
        top: 15px !important
    }

    .our-services__item:first-child .our-services__item-num {
        right: 20px !important
    }

    .our-services__item--special:first-child .our-services__item-num {
        right: 5px !important
    }

    .our-services__item-title {
        font-size: 18px;
        margin-bottom: 10px;
        max-width: 280px
    }

    .our-services__item .line-box {
        opacity: 1;
        position: static;
        transform: none;
        width: 100% !important
    }

        .our-services__item .line-box span {
            background-color: #1c1c1c
        }

    .our-services__item-arrow {
        display: none
    }

    .our-services__item-arrow--mobile {
        display: block;
        width: 25px;
        position: absolute;
        top: 15px;
        left: 20px
    }

    .arrow-btn {
        width: 100%;
        font-size: 20px
    }

    .rails-form__container {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        margin: 0 auto 50px;
        opacity: 1;
        padding: 0 10px
    }

    .rails-form__right {
        flex-direction: column;
        width: 100%;
        align-items: flex-start;
        gap: 15px;
        padding-left: 15px
    }

        .rails-form__right .line-box {
            width: 100%;
            flex-direction: row;
            justify-content: center;
            order: 2
        }

            .rails-form__right .line-box .the-line {
                width: 95%;
                height: 1px
            }

    .rails-form__title {
        font-size: 16px;
        margin-bottom: 15px
    }

    .rails-form__desc {
        font-size: 14px
    }

    .rails-form {
        width: 100%;
        gap: 15px
    }

    .rails-form__input {
        width: 100%;
        height: 60px;
        font-size: 16px
    }

    .rails-form__btn {
        width: 100%;
        height: 60px;
        font-size: 25px
    }

    .why-us {
        opacity: 1;
        margin: 0 auto 115px;
        padding: 0 10px
    }

    .why-us__title {
        display: none
    }

    .why-us__title--mobile {
        display: inline-block;
        text-align: center;
        height: fit-content;
        margin-bottom: 20px !important
    }

    .why-us__item-container {
        gap: 15px
    }

    .why-us__item {
        background: conic-gradient(from 0deg at 50% 50%,#252525,#1c1c1c 360deg);
        width: 100%;
        height: 170px;
        padding-left: 20px
    }

    .why-us__item-text {
        font-size: 18px;
        z-index: 2
    }

    .why-us__item:nth-child(3) {
        order: 1
    }

    .why-us__item:nth-child(1) img {
        width: 160px;
        right: -15px
    }

    .why-us__item:nth-child(2) img {
        width: 174px;
        right: -45px;
        bottom: -15px
    }

    .why-us__item:nth-child(3) img {
        width: 208px;
        right: -55px;
        bottom: -25px
    }

    .why-us__item:nth-child(4) img {
        width: 168px;
        right: -25px;
        bottom: -15px
    }

    .market__swiper-btn {
        display: none
    }

    .market {
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .market__title {
        margin-bottom: 20px;
        padding: 0 10px
    }

    .market__swiper-container {
        margin-bottom: 30px
    }

    .market__swiper .swiper-wrapper {
        align-items: flex-end
    }

    .market__swiper-item {
        height: 250px !important
    }

    .laboratory {
        width: 95%;
        height: 550px;
        padding: 10px;
        margin: 0 auto 70px;
        opacity: 1
    }

    .laboratory__title {
        font-size: 30px
    }

    .news {
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .news__title {
        margin-bottom: 25px !important
    }

    .news__item-container {
        margin-bottom: 15px
    }

    .news__item {
        width: 100%;
        height: auto;
        padding: 20px;
        gap: 15px;
        min-height: auto
    }

    .news__item-image {
        width: 100%;
        height: 240px
    }

    .news__item-title {
        font-size: 18px;
        margin: 15px 0
    }

    .news__item-btn {
        margin-top: 15px
    }

    .news__btn-container {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 50px
    }

    .news__btn {
        background-color: transparent;
        border: none
    }

    .train-form__container {
        flex-direction: column;
        align-items: center;
        opacity: 1;
        margin: 0 auto 50px;
        padding: 0 10px
    }

    .train-form {
        display: contents
    }

    .train-form__title {
        margin-bottom: 30px;
        order: 1
    }

    .train-form__image {
        order: 2;
        width: 250px;
        animation: none !important
    }

    .train-form__desc {
        order: 3;
        font-size: 18px;
        width: 300px;
        white-space: normal;
        margin-bottom: 20px
    }

    .train-form__inputs {
        flex-direction: column;
        order: 4;
        width: 100%;
        gap: 30px;
        padding: 0 10px;
        margin-bottom: 25px
    }

        .train-form__inputs input {
            width: 100%;
            font-size: 18px
        }

    .train-form__btn-container {
        flex-direction: column;
        order: 5;
        width: 100%;
        gap: 15px
    }

    .dropdown-main, .train-form__service-btn {
        width: 100%;
        font-size: 25px;
        min-height: 60px;
        height: auto;
        padding: 5px 0
    }

    .dropdown-menu.is-open {
        width: 100%;
        padding: 60px 15px 25px 30px
    }

    .modal__image-close {
        top: 20px;
        right: 20px
    }
}

@font-face {
    font-family: swiper-icons;
    src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff

}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical > .swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function,initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
    height: auto
}

    .swiper-autoheight .swiper-wrapper {
        align-items: flex-start;
        transition-property: transform,height
    }

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

    .swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
        transform-style: preserve-3d
    }

.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

    .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
        display: none
    }

    .swiper-css-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: start start
    }

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none
}

    .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: none
    }

.swiper-css-mode.swiper-centered > .swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,#00000080,#0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color,var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next, .swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset,50%);
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color,var(--swiper-theme-color))
}

    .swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
        opacity: .35;
        cursor: auto;
        pointer-events: none
    }

    .swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
        opacity: 0;
        cursor: auto;
        pointer-events: none
    }

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next svg, .swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset,10px);
    right: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset,10px);
    left: auto
}

    .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
        content: "next"
    }

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translateZ(0);
    z-index: 10
}

    .swiper-pagination.swiper-pagination-hidden {
        opacity: 0
    }

    .swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
        display: none !important
    }

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom,8px);
    top: var(--swiper-pagination-top,auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
        transform: scale(.33);
        position: relative
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active, .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
        transform: scale(1)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
        transform: scale(.66)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
        transform: scale(.33)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
        transform: scale(.66)
    }

    .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
        transform: scale(.33)
    }

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
    height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius,50%);
    background: var(--swiper-pagination-bullet-inactive-color,#000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color,var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
    right: var(--swiper-pagination-right,8px);
    left: var(--swiper-pagination-left,auto);
    top: 50%;
    transform: translate3d(0,-50%,0)
}

    .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
        margin: var(--swiper-pagination-bullet-vertical-gap,6px) 0;
        display: block
    }

    .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
        top: 50%;
        transform: translateY(-50%);
        width: 8px
    }

        .swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
            display: inline-block;
            transition: .2s transform,.2s top
        }

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,4px)
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translate(-50%);
    white-space: nowrap
}

    .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
        transition: .2s transform,.2s left
    }

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color,inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));
    position: absolute
}

    .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
        background: var(--swiper-pagination-color,var(--swiper-theme-color));
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        transform: scale(0);
        transform-origin: left top
    }

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size,4px);
    left: 0;
    top: 0
}

    .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
        width: var(--swiper-pagination-progressbar-size,4px);
        height: 100%;
        left: 0;
        top: 0
    }

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius,10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))
}

    .swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
        display: none !important
    }

    .swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
        position: absolute;
        left: var(--swiper-scrollbar-sides-offset,1%);
        bottom: var(--swiper-scrollbar-bottom,4px);
        top: var(--swiper-scrollbar-top,auto);
        z-index: 50;
        height: var(--swiper-scrollbar-size,4px);
        width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))
    }

    .swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
        position: absolute;
        left: var(--swiper-scrollbar-left,auto);
        right: var(--swiper-scrollbar-right,4px);
        top: var(--swiper-scrollbar-sides-offset,1%);
        z-index: 50;
        width: var(--swiper-scrollbar-size,4px);
        height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))
    }

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));
    border-radius: var(--swiper-scrollbar-border-radius,10px);
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

    .swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain
    }

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid > .swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

    .swiper-fade .swiper-slide .swiper-slide {
        pointer-events: none
    }

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

    .swiper-cube .swiper-slide .swiper-slide {
        pointer-events: none
    }

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

    .swiper-cube .swiper-cube-shadow:before {
        content: "";
        background: #000;
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        filter: blur(50px)
    }

.swiper-cube .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

    .swiper-flip .swiper-slide .swiper-slide {
        pointer-events: none
    }

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform,opacity,height
}

.swiper.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

:root {
    --f-button-width: 40px;
    --f-button-height: 40px;
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-color: #374151;
    --f-button-bg: #f8f8f8;
    --f-button-shadow: none;
    --f-button-transition: all .15s ease;
    --f-button-transform: none;
    --f-button-outline-width: 1px;
    --f-button-outline-color: rgba(0, 0, 0, .7);
    --f-button-svg-width: 20px;
    --f-button-svg-height: 20px;
    --f-button-svg-stroke-width: 1.5;
    --f-button-svg-fill: none;
    --f-button-svg-filter: none;
    --f-button-svg-opacity: 1;
    --f-button-svg-disabled-opacity: .5;
    --f-button-svg-transition: opacity .15s ease;
    --f-button-svg-transform: none
}

.f-button {
    width: var(--f-button-width);
    height: var(--f-button-height);
    border: var(--f-button-border);
    border-radius: var(--f-button-border-radius);
    color: var(--f-button-color);
    background: var(--f-button-bg);
    box-shadow: var(--f-button-shadow);
    transform: var(--f-button-transform);
    transition: var(--f-button-transition);
    -webkit-backdrop-filter: var(--f-button-backdrop-filter);
    backdrop-filter: var(--f-button-backdrop-filter);
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: content-box;
    position: relative;
    margin: 0;
    padding: 0;
    pointer-events: all;
    cursor: pointer;
    overflow: hidden
}

@media (hover: hover) {
    .f-button:hover:not([aria-disabled]) {
        color: var(--f-button-hover-color, var(--f-button-color));
        background-color: var(--f-button-hover-bg, var(--f-button-bg))
    }
}

.f-button:active:not([aria-disabled]) {
    color: var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)));
    background-color: var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)))
}

.f-button:focus {
    outline: none
}

.f-button:focus-visible {
    outline: var(--f-button-outline-width) solid var(--f-button-outline-color);
    outline-offset: var(--f-button-outline-offset)
}

.f-button svg {
    width: var(--f-button-svg-width);
    height: var(--f-button-svg-height);
    transform: var(--f-button-svg-transform);
    fill: var(--f-button-svg-fill);
    filter: var(--f-button-svg-filter);
    opacity: var(--f-button-svg-opacity, 1);
    transition: var(--f-button-svg-transition);
    stroke: currentColor;
    stroke-width: var(--f-button-svg-stroke-width);
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none
}

.f-button[aria-disabled] {
    cursor: default
}

    .f-button[aria-disabled] svg {
        opacity: var(--f-button-svg-disabled-opacity)
    }

[data-panzoom-action=toggleFS] g:first-child {
    display: flex
}

[data-panzoom-action=toggleFS] g:last-child {
    display: none
}

.in-fullscreen [data-panzoom-action=toggleFS] g:first-child {
    display: none
}

.in-fullscreen [data-panzoom-action=toggleFS] g:last-child {
    display: flex
}

[data-autoplay-action=toggle] svg g:first-child {
    display: flex
}

[data-autoplay-action=toggle] svg g:last-child {
    display: none
}

.has-autoplay [data-autoplay-action=toggle] svg g:first-child {
    display: none
}

.has-autoplay [data-autoplay-action=toggle] svg g:last-child {
    display: flex
}

:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:first-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg [data-fullscreen-action=toggle] svg g:last-child {
    display: flex
}

:root {
    --f-spinner-color-1: rgba(0, 0, 0, .1);
    --f-spinner-color-2: rgba(17, 24, 28, .8);
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-border-radius: 50%;
    --f-spinner-border-width: 4px
}

.f-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    padding: 0;
    width: var(--f-spinner-width);
    height: var(--f-spinner-height);
    translate: -50% -50%;
    border: var(--f-spinner-border-width) solid var(--f-spinner-color-1);
    border-top-color: var(--f-spinner-color-2);
    border-radius: var(--f-spinner-border-radius);
    animation: f-spinner .75s linear infinite,f-fadeIn .2s ease .2s both
}

@keyframes f-spinner {
    to {
        rotate: 360deg
    }
}

.f-panzoom, .f-zoomable {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    flex-direction: column
}

    .f-panzoom:before, .f-panzoom:after, .f-zoomable:before, .f-zoomable:after {
        display: block;
        content: ""
    }

    .f-panzoom:not(.has-controls):before, .f-zoomable:not(.has-controls):before {
        margin-bottom: auto
    }

    .f-panzoom:after, .f-zoomable:after {
        margin-top: auto
    }

    .f-panzoom.in-fullscreen, .f-zoomable.in-fullscreen {
        position: fixed;
        top: 0;
        left: 0;
        margin: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        aspect-ratio: unset !important;
        z-index: 9999
    }

.f-panzoom__wrapper {
    position: relative;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%
}

    .f-panzoom__wrapper.will-zoom-out {
        cursor: zoom-out
    }

    .f-panzoom__wrapper.can-drag {
        cursor: move;
        cursor: grab
    }

    .f-panzoom__wrapper.will-zoom-in {
        cursor: zoom-in
    }

    .f-panzoom__wrapper.is-dragging {
        cursor: move;
        cursor: grabbing
    }

    .f-panzoom__wrapper.has-error {
        display: none
    }

.f-panzoom__content {
    display: block;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%
}

    .f-panzoom__content.is-lazyloading, .f-panzoom__content.has-lazyerror {
        visibility: hidden
    }

img.f-panzoom__content {
    width: auto;
    height: auto;
    vertical-align: top;
    object-fit: contain;
    transition: none;
    -webkit-user-select: none;
    user-select: none
}

.f-panzoom__wrapper > .f-panzoom__content {
    visibility: hidden
}

.f-panzoom__viewport {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

    .f-panzoom__viewport > .f-panzoom__content {
        width: 100%;
        height: 100%;
        object-fit: fill
    }

picture.f-panzoom__content img {
    vertical-align: top;
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    transition: none;
    -webkit-user-select: none;
    user-select: none
}

.f-panzoom__protected {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    -webkit-user-select: none;
    user-select: none
}

html.with-panzoom-in-fullscreen {
    overflow: hidden
}

.f-fadeIn {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
    z-index: 2
}

.f-fadeOut {
    animation: var(--f-transition-duration, .2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
    z-index: 1
}

@keyframes f-fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-fadeOut {
    to {
        opacity: 0
    }
}

.f-crossfadeIn {
    animation: var(--f-transition-duration, .2s) ease both f-crossfadeIn;
    z-index: 2
}

.f-crossfadeOut {
    animation: calc(var(--f-transition-duration, .2s) * .2) ease calc(var(--f-transition-duration, .2s) * .8) both f-crossfadeOut;
    z-index: 1
}

@keyframes f-crossfadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes f-crossfadeOut {
    to {
        opacity: 0
    }
}

.is-horizontal .f-slideIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextX
}

.is-horizontal .f-slideIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevX
}

.is-horizontal .f-slideOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextX
}

.is-horizontal .f-slideOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevX
}

@keyframes f-slideInPrevX {
    0% {
        transform: translate(calc(100% + var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideInNextX {
    0% {
        transform: translate(calc(-100% - var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideOutNextX {
    to {
        transform: translate(calc(-100% - var(--f-carousel-gap, 0)))
    }
}

@keyframes f-slideOutPrevX {
    to {
        transform: translate(calc(100% + var(--f-carousel-gap, 0)))
    }
}

.is-vertical .f-slideIn.from-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNextY
}

.is-vertical .f-slideIn.from-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrevY
}

.is-vertical .f-slideOut.to-next {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNextY
}

.is-vertical .f-slideOut.to-prev {
    animation: var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrevY
}

@keyframes f-slideInPrevY {
    0% {
        transform: translateY(calc(100% + var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideInNextY {
    0% {
        transform: translateY(calc(-100% - var(--f-carousel-gap, 0)))
    }

    to {
        transform: translateZ(0)
    }
}

@keyframes f-slideOutNextY {
    to {
        transform: translateY(calc(-100% - var(--f-carousel-gap, 0)))
    }
}

@keyframes f-slideOutPrevY {
    to {
        transform: translateY(calc(100% + var(--f-carousel-gap, 0)))
    }
}

.f-zoomInUp {
    animation: var(--f-transition-duration, .3s) ease both f-zoomInUp
}

.f-zoomOutDown {
    animation: var(--f-transition-duration, .3s) ease both f-zoomOutDown
}

@keyframes f-zoomInUp {
    0% {
        transform: scale(var(--f-zoomInUp-scale, .975)) translate3d(var(--f-zoomInUp-x, 0),var(--f-zoomInUp-y, 16px),0);
        opacity: var(--f-zoomInUp-opacity, 0)
    }

    to {
        transform: scale(1) translateZ(0);
        opacity: 1
    }
}

@keyframes f-zoomOutDown {
    to {
        transform: scale(var(--f-zoomOutDown-scale, .975)) translate3d(var(--f-zoomOutDown-x, 0),var(--f-zoomOutDown-y, 16px),0);
        opacity: 0
    }
}

.f-throwOutUp {
    animation: var(--f-throwOutUp-duration, .2s) ease-out both f-throwOutUp
}

.f-throwOutDown {
    animation: var(--f-throwOutDown-duration, .2s) ease-out both f-throwOutDown
}

@keyframes f-throwOutUp {
    to {
        transform: translate3d(0,calc(var(--f-throwOutUp-y, 150px) * -1),0);
        opacity: 0
    }
}

@keyframes f-throwOutDown {
    to {
        transform: translate3d(0,var(--f-throwOutDown-y, 150px),0);
        opacity: 0
    }
}

.has-iframe .f-html, .has-pdf .f-html, .has-gmap .f-html {
    width: 100%;
    height: 100%;
    min-height: 1px;
    overflow: visible
}

.has-pdf .f-html, .has-gmap .f-html {
    padding: 0
}

.f-html {
    position: relative;
    box-sizing: border-box;
    margin: var(--f-html-margin, 0);
    padding: var(--f-html-padding, 2rem);
    color: var(--f-html-color, currentColor);
    background: var(--f-html-bg)
}

    .f-html.is-error {
        text-align: center
    }

.f-iframe {
    display: block;
    margin: 0;
    border: 0;
    height: 100%;
    width: 100%
}

.f-caption {
    align-self: center;
    flex-shrink: 0;
    margin: var(--f-caption-margin);
    padding: var(--f-caption-padding, 16px 8px);
    max-width: 100%;
    max-height: calc(80vh - 100px);
    overflow: auto;
    overflow-wrap: anywhere;
    line-height: var(--f-caption-line-height);
    color: var(--f-caption-color);
    background: var(--f-caption-bg);
    font: var(--f-caption-font)
}

.has-html5video .f-html, .has-youtube .f-html, .has-vimeo .f-html {
    padding: 0;
    width: 100%;
    height: 100%;
    min-height: 1px;
    overflow: visible;
    max-width: var(--f-video-width, 960px);
    max-height: var(--f-video-height, 540px);
    aspect-ratio: var(--f-video-aspect-ratio);
    background: var(--f-video-bg, rgba(0, 0, 0, .9))
}

.f-html5video {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
    background: transparent
}

.f-button.is-arrow {
    --f-button-width: var(--f-arrow-width, 46px);
    --f-button-height: var(--f-arrow-height, 46px);
    --f-button-svg-width: var(--f-arrow-svg-width, 24px);
    --f-button-svg-height: var(--f-arrow-svg-height, 24px);
    --f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);
    --f-button-border-radius: var(--f-arrow-border-radius, unset);
    --f-button-bg: var(--f-arrow-bg, transparent);
    --f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));
    --f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));
    --f-button-shadow: var(--f-arrow-shadow);
    --f-button-color: var(--f-arrow-color);
    --f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));
    --f-button-active-color: var( --f-arrow-active-color, var(--f-arrow-hover-color) );
    overflow: visible
}

    .f-button.is-arrow.is-prev, .f-button.is-arrow.is-next {
        position: absolute;
        transform: translate(0);
        z-index: 20
    }

.is-horizontal .f-button.is-arrow.is-prev, .is-horizontal .f-button.is-arrow.is-next {
    inset: 50% auto auto;
    transform: translateY(-50%)
}

.is-horizontal.is-ltr .f-button.is-arrow.is-prev {
    left: var(--f-arrow-pos, 0)
}

.is-horizontal.is-ltr .f-button.is-arrow.is-next {
    right: var(--f-arrow-pos, 0)
}

.is-horizontal.is-rtl .f-button.is-arrow.is-prev {
    right: var(--f-arrow-pos, 0);
    transform: translateY(-50%) rotateY(180deg)
}

.is-horizontal.is-rtl .f-button.is-arrow.is-next {
    left: var(--f-arrow-pos, 0);
    transform: translateY(-50%) rotateY(180deg)
}

.is-vertical.is-ltr .f-button.is-arrow.is-prev, .is-vertical.is-rtl .f-button.is-arrow.is-prev {
    top: var(--f-arrow-pos, 0);
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translate(-50%)
}

.is-vertical.is-ltr .f-button.is-arrow.is-next, .is-vertical.is-rtl .f-button.is-arrow.is-next {
    top: auto;
    right: auto;
    bottom: var(--f-arrow-pos, 0);
    left: 50%;
    transform: translate(-50%)
}

.is-vertical .f-button.is-arrow.is-prev svg, .is-vertical .f-button.is-arrow.is-next svg {
    transform: rotate(90deg)
}

.f-carousel__toolbar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    margin: var(--f-toolbar-margin, 0);
    padding: var(--f-toolbar-padding, 8px);
    line-height: var(--f-toolbar-line-height);
    background: var(--f-toolbar-bg, none);
    box-shadow: var(--f-toolbar-shadow, none);
    -webkit-backdrop-filter: var(--f-toolbar-backdrop-filter);
    backdrop-filter: var(--f-toolbar-backdrop-filter);
    position: relative;
    z-index: 20;
    color: var(--f-toolbar-color, currentColor);
    font-size: var(--f-toolbar-font-size, 17px);
    font-weight: var(--f-toolbar-font-weight, inherit);
    font-family: var(--f-toolbar-font, -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif);
    text-shadow: var(--f-toolbar-text-shadow);
    text-align: center;
    font-variant-numeric: tabular-nums;
    -webkit-font-smoothing: subpixel-antialiased;
    white-space: nowrap;
    pointer-events: none
}

    .f-carousel__toolbar.is-absolute {
        position: absolute;
        top: 0;
        left: 0;
        right: 0
    }

    .f-carousel__toolbar .f-button:focus-visible {
        position: relative;
        z-index: 1
    }

.f-carousel__toolbar__column {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: var(--f-toolbar-gap, 0)
}

    .f-carousel__toolbar__column.is-left {
        display: flex;
        justify-self: flex-start;
        justify-content: flex-start
    }

    .f-carousel__toolbar__column.is-middle {
        display: flex;
        justify-content: center
    }

    .f-carousel__toolbar__column.is-right {
        display: flex;
        justify-self: flex-end;
        justify-content: flex-end;
        flex-flow: nowrap
    }

.f-carousel__toolbar__column {
    pointer-events: none
}

    .f-carousel__toolbar__column > * {
        pointer-events: all
    }

.f-counter {
    position: relative;
    display: flex;
    flex-direction: row;
    cursor: default;
    -webkit-user-select: none;
    user-select: none;
    margin: var(--f-counter-margin, 0);
    padding: var(--f-counter-padding, 4px);
    line-height: var(--f-counter-line-height);
    background: var(--f-counter-bg);
    border-radius: var(--f-counter-border-radius)
}

    .f-counter span {
        padding: 0 var(--f-counter-gap, 4px)
    }

:root {
    --f-thumbs-gap: 8px;
    --f-thumbs-margin: 0;
    --f-thumbs-padding-x: 8px;
    --f-thumbs-padding-y: 8px;
    --f-thumbs-bg: transparent;
    --f-thumbs-transition: max-height .3s ease, max-width .3s ease, padding .3s ease;
    --f-thumbs-z-index: 1;
    --f-thumbs-viewport-padding-x: 0px;
    --f-thumbs-viewport-padding-y: 0px;
    --f-thumb-width: 96px;
    --f-thumb-height: 72px;
    --f-thumb-clip-width: 46px;
    --f-thumb-extra-gap: 16px;
    --f-thumb-opacity: 1;
    --f-thumb-transition: opacity .3s ease, transform .15s ease;
    --f-thumb-border: none;
    --f-thumb-border-radius: 4px;
    --f-thumb-shadow: none;
    --f-thumb-bg: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .05));
    --f-thumb-focus-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;
    --f-thumb-selected-shadow: inset 0 0 0 .8px #222, inset 0 0 0 2.25px #fff;
    --f-thumb-border-transition: all .1s ease;
    --f-thumb-img-width: 100%;
    --f-thumb-img-height: 100%;
    --f-thumb-img-fit: cover;
    --f-thumb-img-position: 50% 20%
}

.f-thumbs {
    --f-carousel-slide-width: var(--f-thumb-width);
    --f-carousel-slide-height: var(--f-thumb-height);
    --f-carousel-gap: var(--f-thumbs-gap);
    position: relative;
    box-sizing: border-box;
    flex-shrink: 0;
    margin: var(--f-thumbs-margin);
    padding: var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);
    overflow: hidden;
    background: var(--f-thumbs-bg);
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    transition: var(--f-thumbs-transition);
    z-index: var(--f-thumbs-z-index)
}

    .f-thumbs.is-horizontal {
        max-height: calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y) * 2)
    }

        .f-thumbs.is-horizontal.is-hidden {
            max-height: 0;
            --f-thumbs-padding-y: 0
        }

    .f-thumbs.is-vertical {
        max-width: calc(var(--f-carousel-slide-width) + var(--f-thumbs-padding-x) * 2)
    }

        .f-thumbs.is-vertical.is-hidden {
            max-width: 0;
            --f-thumbs-padding-x: 0
        }

    .f-thumbs.is-scrollable.is-hidden {
        max-height: 0;
        --f-thumbs-padding-y: 0
    }

    .f-thumbs.is-ltr {
        direction: ltr
    }

    .f-thumbs.is-rtl {
        direction: rtl
    }

    .f-thumbs img {
        display: block;
        width: var(--f-thumb-img-width);
        height: var(--f-thumb-img-height);
        object-fit: var(--f-thumb-img-fit);
        object-position: var(--f-thumb-img-position);
        pointer-events: none;
        border-radius: inherit;
        color: transparent
    }

        .f-thumbs img[data-lazy-src] {
            visibility: hidden
        }

        .f-thumbs img.has-lazyerror {
            display: none
        }

.f-thumbs__viewport {
    box-sizing: border-box;
    height: 100%;
    padding: var(--f-thumbs-viewport-padding-y) var(--f-thumbs-viewport-padding-x);
    overflow: visible;
    display: grid
}

.f-thumbs__slide {
    position: relative;
    box-sizing: border-box;
    grid-area: 1/1;
    width: var(--f-carousel-slide-width);
    height: var(--f-carousel-slide-height);
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
    cursor: pointer;
    overflow: visible
}

    .f-thumbs__slide:hover button {
        opacity: var(--f-thumb-hover-opacity, 1);
        transform: var(--f-thumb-hover-transform, none)
    }

        .f-thumbs__slide:hover button:after {
            border: var(--f-thumb-hover-border, none);
            box-shadow: var(--f-thumb-hover-shadow, var(--f-thumb-shadow))
        }

    .f-thumbs__slide button {
        all: unset;
        display: block;
        margin: auto;
        padding: 0;
        position: relative;
        overflow: visible;
        width: 100%;
        height: 100%;
        outline: none;
        transition: var(--f-thumb-transition);
        border-radius: var(--f-thumb-border-radius);
        opacity: var(--f-thumb-opacity);
        transform: var(--f-thumb-transform);
        background: var(--f-thumb-bg)
    }

        .f-thumbs__slide button:after {
            content: "";
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            z-index: 1;
            transition: var(--f-thumb-border-transition);
            border-radius: inherit;
            border: var(--f-thumb-border);
            box-shadow: var(--f-thumb-shadow)
        }

        .f-thumbs__slide button:focus-within {
            opacity: var(--f-thumb-focus-opacity, 1);
            transform: var(--f-thumb-focus-transform, none)
        }

            .f-thumbs__slide button:focus-within:after {
                border: var(--f-thumb-focus-border, none);
                box-shadow: var(--f-thumb-focus-shadow, var(--f-thumb-shadow))
            }

    .f-thumbs__slide:active {
        opacity: var(--f-thumb-active-opacity, 1);
        transform: var(--f-thumb-active-transform, none)
    }

        .f-thumbs__slide:active:after {
            border: var(--f-thumb-active-border, none);
            box-shadow: var(--f-thumb-active-shadow, var(--f-thumb-shadow))
        }

    .f-thumbs__slide.is-selected {
        z-index: 2
    }

        .f-thumbs__slide.is-selected button {
            opacity: var(--f-thumb-selected-opacity, 1);
            transform: var(--f-thumb-selected-transform, none)
        }

            .f-thumbs__slide.is-selected button:after {
                border: var(--f-thumb-selected-border, none);
                box-shadow: var(--f-thumb-selected-shadow, var(--f-thumb-shadow))
            }

.f-thumbs.is-modern {
    --f-carousel-slide-width: calc( var(--f-thumb-clip-width) + var(--f-thumbs-gap) );
    --f-carousel-slide-height: var(--f-thumb-height);
    --f-carousel-gap: 0;
    --width-diff: calc((var(--f-thumb-width) - var(--f-thumb-clip-width)))
}

    .f-thumbs.is-modern .f-thumbs__viewport {
        width: calc(100% + var(--f-carousel-slide-width) * 2 + var(--f-thumbs-padding-x));
        margin-inline: calc((var(--f-carousel-slide-width) + var(--f-thumbs-padding-x)) * -1)
    }

    .f-thumbs.is-modern .f-thumbs__slide {
        --clip-shift: calc((var(--width-diff) * .5) * var(--progress));
        --clip-path: inset( 0 var(--clip-shift) round var(--f-thumb-border-radius, 0) );
        padding: 0;
        overflow: visible;
        left: var(--shift, 0);
        will-change: left;
        transition: left var(--f-transition-duration) var(--f-transition-easing)
    }

        .f-thumbs.is-modern .f-thumbs__slide button {
            display: block;
            margin-inline: 50%;
            width: var(--f-thumb-width);
            clip-path: var(--clip-path);
            border: none;
            box-shadow: none;
            transition: clip-path var(--f-transition-duration) var(--f-transition-easing),opacity var(--f-thumb-transition-duration, .2s) var(--f-thumb-transition-easing, ease)
        }

            .f-thumbs.is-modern .f-thumbs__slide button:after {
                display: none
            }

        .f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible) {
            outline: none
        }

        .f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before {
            content: "";
            position: absolute;
            z-index: 1;
            top: 0;
            left: var(--clip-shift);
            bottom: 0;
            right: var(--clip-shift);
            transition: border var(--f-transition-duration) var(--f-transition-easing),box-shadow var(--f-transition-duration) var(--f-transition-easing);
            border-radius: inherit;
            border: var(--f-thumb-focus-border, none);
            box-shadow: var(--f-thumb-focus-shadow, none)
        }

.f-thumbs.is-modern {
    --f-transition-duration: .25s;
    --f-transition-easing: ease-out
}

    .f-thumbs.is-modern.is-syncing {
        --f-transition-duration: 0s
    }

.f-thumbs.is-scrollable .f-thumbs__viewport {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(var(--f-thumb-width),1fr));
    grid-auto-rows: var(--f-thumb-height);
    gap: var(--f-thumbs-gap);
    overflow: auto;
    overscroll-behavior: contain;
    -webkit-user-select: none;
    user-select: none
}

    .f-thumbs.is-scrollable .f-thumbs__viewport .f-thumbs__slide {
        grid-area: auto;
        display: block;
        position: relative;
        max-width: 100%;
        width: var(--f-thumb-width);
        height: var(--f-thumb-height);
        cursor: pointer;
        outline: none
    }

:root {
    --f-progressbar-height: 3px;
    --f-progressbar-color: var(--f-carousel-theme-color, #575ad6);
    --f-progressbar-opacity: 1;
    --f-progressbar-z-index: 30
}

.f-progressbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--f-progressbar-z-index);
    height: var(--f-progressbar-height);
    transform: scaleX(0);
    transform-origin: 0;
    opacity: var(--f-progressbar-opacity);
    background: var(--f-progressbar-color);
    -webkit-user-select: none;
    user-select: none;
    pointer-events: none;
    animation-name: f-progressbar;
    animation-play-state: running;
    animation-timing-function: linear
}

    .f-progressbar:empty {
        display: block
    }

button > .f-progressbar {
    --f-progressbar-height: 100%;
    --f-progressbar-opacity: .2
}

@keyframes f-progressbar {
    0% {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

[data-fullscreen-action=toggle] svg g:first-child {
    display: flex
}

[data-fullscreen-action=toggle] svg g:last-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg g:first-child {
    display: none
}

:fullscreen [data-fullscreen-action=toggle] svg g:last-child {
    display: flex
}

.in-fullscreen-mode > .f-carousel {
    flex: 1;
    min-width: 0 !important;
    min-height: 0 !important
}

html.with-fancybox {
    width: auto;
    overflow: visible;
    scroll-behavior: auto
}

    html.with-fancybox body.hide-scrollbar {
        width: auto;
        margin-right: calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));
        overflow: hidden !important;
        overscroll-behavior-y: none
    }

.fancybox__dialog {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    width: 100%;
    height: 100vh;
    max-height: unset;
    max-width: unset;
    padding: 0;
    margin: 0;
    border: 0;
    overflow: hidden;
    background: transparent;
    touch-action: none;
    overscroll-behavior: contain
}

    .fancybox__dialog:focus {
        outline: none
    }

    .fancybox__dialog::backdrop {
        opacity: 0
    }

@supports (height: 100dvh) {
    .fancybox__dialog {
        height: 100dvh
    }
}

.fancybox__dialog *:empty {
    display: block
}

.fancybox__container {
    --fancybox-color: #dbdbdb;
    --fancybox-backdrop-bg: rgba(24, 24, 27, .95);
    --f-toolbar-margin: 0;
    --f-toolbar-padding: 8px;
    --f-toolbar-gap: 0;
    --f-toolbar-color: #ddd;
    --f-toolbar-font-size: 16px;
    --f-toolbar-font-weight: 500;
    --f-toolbar-font: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;
    --f-toolbar-line-height: var(--f-button-height);
    --f-toolbar-text-shadow: 1px 1px 1px rgba(0, 0, 0, .75);
    --f-toolbar-shadow: none;
    --f-toolbar-bg: none;
    --f-counter-margin: 0;
    --f-counter-padding: 0px 10px;
    --f-counter-gap: 4px;
    --f-counter-line-height: var(--f-button-height);
    --f-carousel-gap: 17px;
    --f-carousel-slide-width: 100%;
    --f-carousel-slide-height: 100%;
    --f-carousel-slide-padding: 0;
    --f-carousel-slide-bg: unset;
    --f-html-color: #222;
    --f-html-bg: #fff;
    --f-error-color: #fff;
    --f-error-bg: #333;
    --f-caption-margin: 0;
    --f-caption-padding: 16px 8px;
    --f-caption-color: var(--fancybox-color, #dbdbdb);
    --f-caption-bg: transparent;
    --f-caption-font: inherit;
    --f-caption-line-height: 1.375;
    --f-spinner-color-1: rgba(255, 255, 255, .2);
    --f-spinner-color-2: rgba(255, 255, 255, .8);
    --f-spinner-width: 50px;
    --f-spinner-height: 50px;
    --f-spinner-border-radius: 50%;
    --f-spinner-border-width: 4px;
    --f-progressbar-color: rgba(255, 255, 255);
    --f-button-width: 46px;
    --f-button-height: 46px;
    --f-button-color: #ddd;
    --f-button-hover-color: #fff;
    --f-button-outline-width: 1px;
    --f-button-outline-color: rgba(255, 255, 255, .75);
    --f-button-outline-offset: 0px;
    --f-button-bg: rgba(54, 54, 54, .75);
    --f-button-border: 0;
    --f-button-border-radius: 0;
    --f-button-shadow: none;
    --f-button-transition: all .2s ease;
    --f-button-transform: none;
    --f-button-svg-width: 24px;
    --f-button-svg-height: 24px;
    --f-button-svg-stroke-width: 1.75;
    --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .01)), drop-shadow(1px 2px 1px rgba(24, 24, 27, .05));
    --f-button-svg-fill: none;
    --f-button-svg-disabled-opacity: .5;
    --f-arrow-pos: 32px;
    --f-arrow-width: 50px;
    --f-arrow-height: 50px;
    --f-arrow-svg-width: 24px;
    --f-arrow-svg-height: 24px;
    --f-arrow-svg-stroke-width: 2.5;
    --f-arrow-border-radius: 50%;
    --f-arrow-bg: rgba(54, 54, 54, .65);
    --f-arrow-color: #ddd;
    --f-arrow-hover-color: #fff;
    --f-close-button-width: 30px;
    --f-close-button-height: 30px;
    --f-close-button-svg-width: 24px;
    --f-close-button-svg-height: 24px;
    --f-close-button-svg-stroke-width: 1.75;
    --f-close-border-radius: 4px;
    --f-close-button-color: #fff;
    --f-close-button-hover-color: #fff;
    --f-close-button-bg: transparent;
    --f-close-button-hover-bg: transparent;
    --f-close-button-active-bg: transparent;
    --f-thumbs-margin: 0px;
    --f-thumbs-padding-x: 8px;
    --f-thumbs-padding-y: 8px;
    --f-thumbs-bg: none;
    --f-thumb-transition: all .2s ease;
    --f-thumb-width: 94px;
    --f-thumb-height: 76px;
    --f-thumb-opacity: 1;
    --f-thumb-border: none;
    --f-thumb-shadow: none;
    --f-thumb-transform: none;
    --f-thumb-focus-opacity: 1;
    --f-thumb-focus-border: none;
    --f-thumb-focus-shadow: inset 0 0 0 2px rgba(255, 255, 255, .65);
    --f-thumb-focus-transform: none;
    --f-thumb-hover-opacity: 1;
    --f-thumb-hover-border: none;
    --f-thumb-hover-transform: none;
    --f-thumb-active-opacity: var(--f-thumb-hover-opacity);
    --f-thumb-active-border: var(--f-thumb-hover-border);
    --f-thumb-active-transform: var(--f-thumb-hover-transform);
    --f-thumb-selected-opacity: 1;
    --f-thumb-selected-border: none;
    --f-thumb-selected-shadow: inset 0 0 0 2px #fff;
    --f-thumb-selected-transform: none;
    --f-scrollbar-width: 7px;
    --f-scrollbar-track-bg: #444;
    --f-scrollbar-track-border-radius: 10px;
    --f-scrollbar-track-shadow: inset 0 0 6px rgba(0, 0, 0, .2);
    --f-scrollbar-thumb-bg: #ddd;
    --f-scrollbar-thumb-border-radius: 10px
}

    .fancybox__container[theme=light] {
        --fancybox-color: #222;
        --fancybox-backdrop-bg: rgba(255, 255, 255, .97);
        --f-toolbar-color: var(--fancybox-color, #222);
        --f-toolbar-text-shadow: none;
        --f-toolbar-font-weight: 400;
        --f-html-color: var(--fancybox-color, #222);
        --f-html-bg: #fff;
        --f-error-color: #555;
        --f-error-bg: #fff;
        --f-video-bg: #fff;
        --f-caption-color: #333;
        --f-spinner-color-1: rgba(0, 0, 0, .2);
        --f-spinner-color-2: rgba(0, 0, 0, .8);
        --f-spinner-border-width: 3.5px;
        --f-progressbar-color: rgba(111, 111, 116);
        --f-button-color: #333;
        --f-button-hover-color: #000;
        --f-button-outline-color: rgba(0, 0, 0, .85);
        --f-button-bg: rgba(255, 255, 255, .85);
        --f-button-svg-stroke-width: 1.3;
        --f-button-svg-filter: none;
        --f-arrow-bg: rgba(255, 255, 255, .85);
        --f-arrow-color: #333;
        --f-arrow-hover-color: #000;
        --f-arrow-svg-stroke-width: 1.3;
        --f-close-button-color: #555;
        --f-close-button-hover-color: #000;
        --f-thumb-bg: linear-gradient(#ebeff2, #e2e8f0);
        --f-thumb-focus-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #888;
        --f-thumb-selected-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #000;
        --f-scrollbar-track-bg: #ddd;
        --f-scrollbar-thumb-bg: #444
    }

.fancybox__container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column
}

    .fancybox__container:focus {
        outline: none
    }

    .fancybox__container.has-vertical-thumbs {
        flex-direction: row-reverse
    }

        .fancybox__container.has-vertical-thumbs:not(.is-closing) .fancybox__viewport {
            overflow-x: clip;
            overflow-y: visible
        }

    .fancybox__container > *:not(.fancybox__carousel), .fancybox__container .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected), .fancybox__container .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html,.f-panzoom__wrapper,.f-spinner) {
        opacity: var(--f-drag-opacity, 1)
    }

    .fancybox__container:not(.is-ready,.is-hiding) {
        visibility: hidden
    }

    .fancybox__container.is-revealing > *:not(.fancybox__carousel), .fancybox__container.is-revealing .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container.is-revealing .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected), .fancybox__container.is-revealing .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html,.f-panzoom__wrapper,.f-spinner) {
        animation: var(--f-interface-enter-duration, .35s) ease none f-fadeIn
    }

    .fancybox__container.is-hiding > *:not(.fancybox__carousel), .fancybox__container.is-hiding .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container.is-hiding .fancybox__carousel > .fancybox__viewport > .fancybox__slide.is-selected > *:not(.f-html,.f-panzoom__wrapper) {
        animation: var(--f-interface-exit-duration, .35s) ease forwards f-fadeOut
    }

    .fancybox__container.is-hiding .fancybox__carousel .fancybox__slide:not(.is-selected) {
        opacity: 0
    }

    .fancybox__container.is-idle .f-carousel__toolbar {
        pointer-events: none;
        opacity: 0
    }

    .fancybox__container.is-idle .f-button.is-arrow {
        opacity: 0
    }

    .fancybox__container.is-idle.is-ready .f-carousel__toolbar {
        pointer-events: none;
        animation: .15s ease-out both f-fadeOut
    }

    .fancybox__container.is-idle.is-ready .f-button.is-arrow {
        animation: .15s ease-out both f-fadeOut
    }

.fancybox__backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    background: var(--fancybox-backdrop-bg)
}

.fancybox__carousel {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    position: relative;
    z-index: 10;
    overflow-y: visible;
    overflow-x: clip
}

    .fancybox__carousel.is-vertical {
        --f-carousel-slide-height: 100%
    }

    .fancybox__carousel.is-ltr {
        direction: ltr
    }

    .fancybox__carousel.is-rtl {
        direction: rtl
    }

    .fancybox__carousel > .f-button.is-arrow:before {
        position: absolute;
        content: "";
        top: -30px;
        right: -30px;
        bottom: -30px;
        left: -30px;
        z-index: 1
    }

.fancybox__viewport {
    display: grid;
    flex: 1;
    min-height: 0;
    min-width: 0;
    position: relative;
    overflow: visible;
    transform: translate3d(0,var(--f-drag-offset, 0),0)
}

    .fancybox__viewport.is-draggable {
        cursor: move;
        cursor: grab
    }

    .fancybox__viewport.is-dragging {
        cursor: move;
        cursor: grabbing
    }

    .fancybox__viewport [data-selectable], .fancybox__viewport [contenteditable] {
        cursor: auto
    }

.fancybox__slide {
    box-sizing: border-box;
    position: relative;
    grid-area: 1/1;
    display: flex;
    align-items: center;
    flex-direction: column;
    width: var(--f-carousel-slide-width);
    height: var(--f-carousel-slide-height);
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    margin: 0;
    padding: var(--f-carousel-slide-padding);
    background: var(--f-carousel-slide-bg);
    backface-visibility: hidden;
    transform: translateZ(0);
    will-change: transform
}

    .fancybox__slide:before, .fancybox__slide:after {
        display: block;
        content: ""
    }

    .fancybox__slide:before {
        margin-bottom: auto
    }

    .fancybox__slide:after {
        margin-top: auto
    }

    .fancybox__slide.is-selected {
        z-index: 1
    }

    .fancybox__slide.f-zoomable {
        overflow: visible
    }

    .fancybox__slide.has-error {
        --f-html-color: var(--f-error-color, --f-html-color);
        --f-html-bg: var(--f-error-bg, --f-html-bg)
    }

    .fancybox__slide.has-html {
        overflow: auto;
        padding: 8px
    }

    .fancybox__slide.has-close-btn {
        padding-top: 34px
    }

    .fancybox__slide.has-controls:before {
        margin: 0
    }

    .fancybox__slide .f-spinner {
        cursor: pointer
    }

    .fancybox__container.is-closing .f-caption, .fancybox__slide.is-loading .f-caption {
        visibility: hidden
    }

.fancybox__container.is-closing .fancybox__carousel {
    overflow: visible
}

.f-button.is-close-button {
    --f-button-width: var(--f-close-button-width);
    --f-button-height: var(--f-close-button-height);
    --f-button-border-radius: var(--f-close-border-radius);
    --f-button-color: var(--f-close-button-color);
    --f-button-hover-color: var(--f-close-button-hover-color);
    --f-button-bg: var(--f-close-button-bg);
    --f-button-hover-bg: var(--f-close-button-hover-bg);
    --f-button-active-bg: var(--f-close-button-active-bg);
    --f-button-svg-width: var(--f-close-button-svg-width);
    --f-button-svg-height: var(--f-close-button-svg-height);
    --f-button-svg-stroke-width: var(--f-close-button-svg-stroke-width);
    position: absolute;
    top: calc((var(--f-button-height) + 2px) * -1);
    right: 0;
    z-index: 40
}

.fancybox__thumbs {
    flex: 0 1 100%
}

    .fancybox__thumbs.is-scrollable {
        --f-thumbs-cols: 1;
        --f-thumbs-gap: 8px;
        --f-thumbs-transition: none;
        --f-thumbs-padding-x: 4px;
        --f-thumbs-padding-y: 8px;
        --f-thumbs-viewport-padding-x: 4px;
        --f-thumbs-viewport-padding-y: 0px;
        max-width: calc(var(--f-thumb-width) * var(--f-thumbs-cols) + var(--f-thumbs-gap) * (var(--f-thumbs-cols) - 1) + var(--f-thumbs-padding-x) * 2 + var(--f-thumbs-viewport-padding-x) * 2)
    }

        .fancybox__thumbs.is-scrollable ::-webkit-scrollbar {
            width: var(--f-scrollbar-width)
        }

        .fancybox__thumbs.is-scrollable ::-webkit-scrollbar-track {
            background: var(--f-scrollbar-track-bg);
            border-radius: var(--f-scrollbar-track-border-radius);
            box-shadow: var(--f-scrollbar-track-shadow)
        }

        .fancybox__thumbs.is-scrollable ::-webkit-scrollbar-thumb {
            background: var(--f-scrollbar-thumb-bg);
            border-radius: var(--f-scrollbar-thumb-border-radius)
        }

        .fancybox__thumbs.is-scrollable.is-hidden {
            max-width: 0;
            --f-thumbs-padding-x: 0;
            --f-thumbs-padding-y: 0
        }

        .fancybox__thumbs.is-scrollable .f-thumbs__viewport {
            overflow-x: hidden !important;
            grid-template-columns: repeat(auto-fill,calc((100% - var(--f-thumbs-gap) * (var(--f-thumbs-cols) - 1)) / var(--f-thumbs-cols))) !important
        }
/* Пункт меню с подменю */
.header-nav .nav-item {
    position: relative;
}

/* Ссылка внутри пункта */
.header-nav .nav-link {
    display: inline-block;
    text-decoration: none;
}

.header-nav .submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 320px;
    max-height: 500px;        /* Максимальная высота, после которой появляется прокрутка */
    overflow-y: auto;          /* Вертикальная прокрутка */
    overflow-x: hidden;        /* Горизонтальную скрываем */
    background: #fff;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2); /* Более заметная тень */
    border-radius: 12px;
    padding: 12px 0;
    margin: 8px 0 0 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    z-index: 100;
    
    /* Стилизация скроллбара (опционально, для WebKit-браузеров) */
    scrollbar-width: thin;     /* Для Firefox */
    scrollbar-color: #c1c1c1 #f1f1f1; /* Для Firefox */
}

/* Стилизация скроллбара для Chrome, Safari, Edge */
.header-nav .submenu::-webkit-scrollbar {
    width: 6px;
}

.header-nav .submenu::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.header-nav .submenu::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.header-nav .submenu::-webkit-scrollbar-thumb:hover {
    background: #a1a1a1;
}

/* Показываем подменю при наведении */
.header-nav .nav-item:hover .submenu {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
}

/* Стили для пунктов подменю */
.header-nav .submenu li {
    display: block;
}

.header-nav .submenu a {
    display: block;
    padding: 12px 24px;
    color: #333;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    transition: background 0.2s ease;
}

.header-nav .submenu a:hover {
    background: linear-gradient(90deg, #e8f0f5 0%, #d4e4ed 100%);
    color: #0a3a4f;
    padding-left: 28px;          /* Лёгкий сдвиг вправо для эффекта */
}
/* Группировка разделов в подменю */
.submenu .submenu-section {
    position: relative;
    border-bottom: 1px solid #eee;
}

.submenu .submenu-section:last-child {
    border-bottom: none;
}

.submenu-section-title {
    display: block;
    padding: 12px 24px;
    font-weight: bold;
    color: #1a5f7a;
    background: #f8f8f8;
    cursor: default;
}

.submenu-sub {
    list-style: none;
    padding-left: 20px;
    margin: 0;
}

.submenu-sub li a {
    padding-left: 40px;
    font-size: 13px;
}
/* Активный/текущий пункт меню (если пользователь на странице услуги) */
.header-nav .submenu a.active,
.header-nav .submenu a.current {
    background: #1a5f7a;
    color: #fff;
    font-weight: 600;
    border-left: 4px solid #ffaa33;
}

/* Для вложенных списков */
.header-nav .submenu-sub a.active,
.header-nav .submenu-sub a.current {
    background: #1a5f7a;
    color: #fff;
    border-left: 4px solid #ffaa33;
}

/* Эффект "нажатия" при клике */
.header-nav .submenu a:active {
    transform: scale(0.98);
    transition: transform 0.05s ease;
}
/* ========== СТРАНИЦА СЕРТИФИКАТОВ ========== */

/* Блок заголовка (как на других страницах) */
.certificates__top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin: 70px 0 60px;
    flex-wrap: wrap;
}
.certificates__top .line-box {
    width: 100%;
    max-width: 450px;
}
.certificates__title-container {
    text-align: center;
    flex-shrink: 0;
}
.certificates__title {
    font-weight: 700;
    font-size: 87px;
    line-height: 100%;
    color: #f4f4f4;
    margin: 0;
}
.certificates__text {
    font-weight: 700;
    font-size: 30px;
    line-height: 100%;
    color: #f4f4f4;
    margin-top: 20px;
}

/* Сетка карточек */
.certificates__container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    max-width: 1600px;
    margin: 0 auto 100px;
    padding: 0 20px;
}

/* Карточка */
.certificates__item {
    width: calc(33.333% - 30px);
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}
.certificates__item:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.1);
}

/* Обёртка картинки */
.certificates__image-wrapper {
    padding: 20px;
    text-align: center;
    background: rgba(0, 0, 0, 0.2);
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.certificates__preview-img {
    max-width: 100%;
    max-height: 180px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
}
.certificates__item:hover .certificates__preview-img {
    transform: scale(1.05);
}

/* Текст карточки */
.certificates__item-text-container {
    padding: 15px 20px 20px;
}
.certificates__item-text {
    font-size: 16px;
    line-height: 1.4;
    color: #fff;
    margin: 0 0 8px 0;
}
.certificates__no-image {
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
}

/* Модальное окно (улучшенное) */
.cert-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
}
.cert-modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.92);
}
.cert-modal__container {
    position: relative;
    width: 90%;
    max-width: 1300px;
    margin: 50px auto;
    background: #1e1e2f;
    border-radius: 24px;
    overflow: hidden;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
}
.cert-modal__close {
    position: absolute;
    top: 15px;
    right: 25px;
    font-size: 32px;
    cursor: pointer;
    background: none;
    border: none;
    color: #fff;
    z-index: 20;
    transition: transform 0.2s;
}
.cert-modal__close:hover {
    transform: scale(1.1);
}
.cert-modal__content {
    display: flex;
    flex-wrap: wrap;
    padding: 25px;
    gap: 30px;
}
.cert-modal__gallery {
    flex: 2;
    min-width: 280px;
}
.cert-modal__main-image {
    position: relative;
    text-align: center;
    background: #2a2a3a;
    border-radius: 16px;
    padding: 20px;
}
.cert-modal__main-image img {
    max-width: 100%;
    max-height: 65vh;
    object-fit: contain;
}
.cert-modal__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.6);
    color: white;
    border: none;
    font-size: 28px;
    cursor: pointer;
    padding: 10px 18px;
    border-radius: 50%;
    transition: all 0.2s;
}
.cert-modal__nav:hover {
    background: rgba(255, 255, 255, 0.3);
}
.cert-modal__prev { left: 10px; }
.cert-modal__next { right: 10px; }
.cert-modal__thumbnails {
    display: flex;
    gap: 12px;
    margin-top: 20px;
    overflow-x: auto;
    padding-bottom: 8px;
    justify-content: center;
}
.cert-modal__thumbnails img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 8px;
    transition: all 0.2s;
}
.cert-modal__thumbnails img.active-thumb {
    border-color: #ffaa33;
    transform: scale(1.05);
}
.cert-modal__description {
    flex: 1;
    min-width: 260px;
    max-height: 70vh;
    overflow-y: auto;
    padding-right: 10px;
    color: #fff;
}
.cert-modal__description h3 {
    font-size: 24px;
    margin-bottom: 15px;
    color: #ffaa33;
}
.cert-modal__description #modalFullDesc {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 20px;
}
.cert-modal__description #modalPdfLinks h4 {
    margin: 15px 0 8px;
    font-size: 18px;
}
.cert-modal__description #modalPdfLinks ul {
    list-style: none;
    padding: 0;
}
.cert-modal__description #modalPdfLinks li {
    margin: 8px 0;
}
.cert-modal__description #modalPdfLinks a {
    color: #ffaa33;
    text-decoration: underline;
}

/* Адаптивность */
@media (max-width: 1024px) {
    .certificates__item {
        width: calc(50% - 30px);
    }
    .certificates__title {
        font-size: 60px;
    }
    .certificates__text {
        font-size: 24px;
    }
}
@media (max-width: 768px) {
    .certificates__top {
        flex-direction: column;
        gap: 15px;
        margin: 40px 0 30px;
    }
    .certificates__title {
        font-size: 40px;
    }
    .certificates__text {
        font-size: 18px;
    }
    .certificates__item {
        width: 100%;
    }
    .cert-modal__content {
        flex-direction: column;
    }
    .cert-modal__description {
        padding-left: 0;
        margin-top: 20px;
    }
}
/* Стили для категорий и карточек (как в сертификатах) */
.messages__category {
    margin-bottom: 80px;
}
.messages__category-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin-bottom: 50px;
}
.messages__category-header .line-box {
    width: 100%;
}
.messages__category-title {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    margin: 0;
    white-space: nowrap;
}
.messages__container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
}
.messages__item {
    width: calc(33.333% - 30px);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}
.messages__item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
}
.messages__image-wrapper {
    padding: 20px;
    text-align: center;
    background: rgba(0, 0, 0, 0.3);
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.messages__preview-img {
    max-width: 100%;
    max-height: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
}
.messages__item-text-container {
    padding: 15px 20px 20px;
}
.messages__item-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #fff;
}
.messages__item-date {
    font-size: 14px;
    color: #ccc;
}
@media (max-width: 1024px) {
    .messages__item { width: calc(50% - 30px); }
    .messages__category-title { font-size: 30px; white-space: normal; }
}
@media (max-width: 768px) {
    .messages__item { width: 100%; }
    .messages__category-header { flex-direction: column; gap: 15px; }
    .messages__category-header .line-box { width: 100%; }
    .messages__category-title { font-size: 24px; }
}
.messages__title {
    text-align: center;
    font-size: 87px;
    margin-bottom: 60px;
}
/* Заголовок страницы "Объявления" как в сертификатах */
.messages__top {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: center;
    margin: 70px 0 60px;
}
.messages__top .line-box {
    width: 100%;
}
.messages__title-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}
.messages__title {
    font-weight: 700;
    font-size: 87px;
    text-align: center;
    color: #f4f4f4;
    margin: 0;
}
@media (max-width: 1024px) {
    .messages__title { font-size: 50px; }
}
@media (max-width: 768px) {
    .messages__top { flex-direction: column; gap: 15px; margin: 30px 0; }
    .messages__title { font-size: 36px; }
    .messages__top .line-box { width: 100%; }
}
/* Стили модального окна */
.msg-modal { display: none; position: fixed; top:0; left:0; width:100%; height:100%; z-index:10000; }
.msg-modal__overlay { position: absolute; top:0; left:0; width:100%; height:100%; background: rgba(0,0,0,0.9); }
.msg-modal__container { position: relative; width: 90%; max-width: 1300px; margin: 50px auto; background: #1e1e1e; border-radius: 16px; overflow: hidden; top: 50%; transform: translateY(-50%); border: 1px solid rgba(255,255,255,0.2); }
.msg-modal__close { position: absolute; top:15px; right:25px; font-size:32px; cursor:pointer; background:none; border:none; color:#fff; z-index:20; }
.msg-modal__content { display: flex; flex-wrap: wrap; padding:25px; gap:30px; }
.msg-modal__gallery { flex:2; min-width:280px; }
.msg-modal__main-image { position:relative; text-align:center; background:#2a2a2a; border-radius:12px; padding:20px; }
.msg-modal__main-image img { max-width:100%; max-height:65vh; object-fit:contain; }
.msg-modal__nav { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,0.6); color:white; border:none; font-size:28px; cursor:pointer; padding:10px 18px; border-radius:50%; }
.msg-modal__prev { left:10px; }
.msg-modal__next { right:10px; }
.msg-modal__thumbnails { display:flex; gap:12px; margin-top:20px; overflow-x:auto; justify-content:center; }
.msg-modal__thumbnails img { width:70px; height:70px; object-fit:cover; cursor:pointer; border:2px solid transparent; border-radius:8px; }
.msg-modal__thumbnails img.active-thumb { border-color:#ffaa33; }
.msg-modal__description { flex:1; min-width:280px; max-height:70vh; overflow-y:auto; color:#fff; }
.msg-modal__description h3 { font-size:24px; margin-bottom:15px; color:#ffaa33; }
.msg-feedback-form { margin-top:20px; border-top:1px solid #444; padding-top:20px; }
.msg-feedback-form input, .msg-feedback-form textarea { width:100%; margin-bottom:12px; padding:10px; background:#2a2a2a; border:1px solid #555; color:#fff; border-radius:8px; }
.msg-feedback-form button { background:#ffaa33; border:none; padding:10px 20px; border-radius:30px; cursor:pointer; font-weight:bold; }
.form-status { margin-top:10px; font-size:14px; }
/* services list visual refresh: match page palette */
.services-list {
    gap: 12px;
}

.services-list__item-shown {
    background: linear-gradient(135deg, rgba(38, 58, 84, 0.92) 0%, rgba(31, 47, 70, 0.96) 100%);
    border: 1px solid rgba(154, 187, 227, 0.24);
    box-shadow: 0 10px 22px rgba(6, 14, 26, 0.35);
    border-radius: 22px;
    margin-bottom: 0;
    backdrop-filter: blur(2px);
}

.services-list__item-shown:hover {
    box-shadow: 0 14px 26px rgba(7, 18, 33, 0.48);
    border-color: rgba(176, 207, 244, 0.45);
    transform: translateY(-1px);
    transition: all .25s ease;
}

.services-list__item-shown p {
    letter-spacing: .2px;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

.services-list__item-hidden {
    background: linear-gradient(180deg, rgba(27, 41, 61, 0.94) 0%, rgba(20, 31, 47, 0.96) 100%);
    border: 1px solid rgba(144, 180, 222, 0.2);
    border-top: none;
    border-bottom-left-radius: 22px;
    border-bottom-right-radius: 22px;
    margin-top: -8px;
}

.services-list__item-hidden.open {
    margin-top: -10px;
    box-shadow: 0 12px 22px rgba(7, 17, 31, 0.42);
}

.services-list__item-hidden ul li a {
    color: #e9f2ff;
    text-decoration: none;
}

.services-list__item-hidden ul li a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.services-list__item-hidden li::before {
    background: #9fd0ff;
}

/* header readability boost */
.header-nav a,
.header-nav .nav-link {
    font-size: 21px;
    font-weight: 700;
    letter-spacing: .2px;
    line-height: 1.25;
}

.header-contacts a,
.header__mail,
.header__phone {
    font-size: 20px;
    line-height: 1.25;
}

.header-nav .submenu a {
    font-size: 17px;
}

@media (max-width: 1600px) {
    .header-nav a,
    .header-nav .nav-link {
        font-size: 19px;
    }

    .header-contacts a,
    .header__mail,
    .header__phone {
        font-size: 18px;
    }
}

@media (max-width: 1300px) {
    .header-nav a,
    .header-nav .nav-link {
        font-size: 18px;
    }

    .header-contacts a,
    .header__mail,
    .header__phone {
        font-size: 17px;
    }
}

@media (max-width: 768px) {
    .burger-menu__nav a {
        font-size: 22px;
    }

    .burger-menu__mail,
    .burger-menu__phone {
        font-size: 20px;
    }
}
/* Карусель услуг */
.services-carousel {
    position: relative;
    width: 100%;
}
.services-carousel__wrapper {
    transition: opacity 0.3s ease;
}
.services-carousel__page {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
}
/* Анимация при смене страницы */
.services-carousel--fade-out {
    opacity: 0;
}
/* Блокировка прокрутки страницы при наведении на карусель */
.services-carousel--block-scroll {
    /* дополнительный класс для блокировки скролла */
}
/* Карусель услуг с прокруткой колесиком */
.services-wheel-carousel-section {
    margin: 80px 0;
}
.services-wheel-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.services-wheel-carousel__wrapper {
    transition: opacity 0.3s ease;
}
.services-wheel-carousel__page {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    transition: opacity 0.3s;
}
.services-wheel-carousel__item {
    width: calc(20% - 24px); /* 5 колонок */
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 16px;
    padding: 20px;
    transition: all 0.3s ease;
}
.services-wheel-carousel__item:hover {
    transform: translateY(-5px);
    border-color: rgba(255,255,255,0.4);
    background: rgba(255,255,255,0.1);
}
.services-wheel-carousel__image {
    width: 100%;
    height: 160px;
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 15px;
}
.services-wheel-carousel__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.services-wheel-carousel__title {
    font-size: 18px;
    font-weight: 700;
    margin: 10px 0;
    color: #fff;
}
.services-wheel-carousel__text {
    font-size: 14px;
    color: #ccc;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.services-wheel-carousel__link {
    display: inline-block;
    color: #ffaa33;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}
.services-wheel-carousel__link:hover {
    color: #fff;
}
/* Адаптация под планшет */
@media (max-width: 1024px) {
    .services-wheel-carousel__item {
        width: calc(33.333% - 20px);
    }
}
@media (max-width: 768px) {
    .services-wheel-carousel__item {
        width: calc(50% - 15px);
    }
}
@media (max-width: 480px) {
    .services-wheel-carousel__item {
        width: 100%;
    }
}
/* Блокировка скролла при наведении */
.services-wheel-carousel--block-scroll {
    /* стиль для индикации, что скролл заблокирован */
}
.notifications__years-tabs {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 30px;
    justify-content: center;
    order: -1; /* поднимает блок наверх в гибком контейнере, если родитель — flex */

}
.year-tab {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.3);
    color: #fff;
    padding: 8px 20px;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.2s;
}
.year-tab:hover {
    background: rgba(255,255,255,0.1);
}
.year-tab.active {
    background: #ffaa33;
    border-color: #ffaa33;
    color: #1c1c1c;
}