@font-face {
    font-family: "Manrope";
    src: url("../fonts/Manrope-VariableFont_wght.ttf") format("truetype-variations")
}

b, strong {
    font-variation-settings: "wght" 700;
}

dl, ol, ul {
    margin-top: .8rem;
    margin-bottom: 1rem;
}

.container {
    padding-left: 24px;
    padding-right: 24px
}

@media(min-width: 1200px) {
    .container {
        max-width: 1376px
    }
}

.row {
    margin-left: -8px;
    margin-right: -8px
}

.row>* {
    padding-left: 8px;
    padding-right: 8px
}

.btn {
    font-family: var(--font-1);
    padding: 8px 16px;
    font-size: 14px;
    font-variation-settings: "wght" 600;
    line-height: 20px;
    border-radius: 8pxpx;
    border: none;
    outline: 0 !important;
    letter-spacing: .02em
}

.btn-warning {
    color: var(--color-white);
    background-color: var(--color-orange)
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active {
    color: var(--color-white) !important;
    background-color: var(--color-orange-dark) !important
}

.btn-light {
    color: var(--color-gray-21);
    background-color: var(--color-gray-FD)
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active {
    color: var(--color-white) !important;
    background-color: var(--color-orange) !important
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: var(--font-1);
    margin: 0;
    padding: 0;
    font-style: normal;
}

h1,
.h1 {
    font-size: 40px;
    font-variation-settings: "wght" 600;
    line-height: 48px;
	margin-bottom: 25px;
}

@media(max-width: 991.98px) {

    h1,
    .h1 {
        font-size: 30px;
        line-height: 36px
    }
}

h2,
.h2 {
    font-size: 32px;
    font-variation-settings: "wght" 650;
    line-height: 38px;
    letter-spacing: -0.01em;
	margin: 20px 0;
}

h3,
.h3 {
    font-size: 18px;
    font-variation-settings: "wght" 650;
    line-height: 20px;
	margin-top: 16px;
	margin-bottom: 16px;
}

h4,
.h4 {
    font-size: 16px;
    font-variation-settings: "wght" 550;
    line-height: 21px
}

h5,
.h5 {
    font-size: 14px;
    font-variation-settings: "wght" 600;
    line-height: 20px
}

h6,
.h6 {
    font-size: 12px;
    font-variation-settings: "wght" 650;
    line-height: 17px
}

p {
    margin: 0
}

p+p {
    margin-top: 16px
}

a {
    color: inherit
}

a:hover {
    color: inherit
}

ol li {
	margin-bottom: 15px;
}

.form-control {
    padding: 23px 11px 7px 11px;
    font-size: 16px;
    font-variation-settings: "wght" 450;
    line-height: 24px;
    background-color: rgba(0, 0, 0, 0);
    color: var(--color-gray-27);
    border: 1px solid var(--color-gray-CA);
    box-shadow: none !important;
    border-radius: 6px;
    transition: all .3s
}

.form-control:focus,
.form-control:active {
    color: var(--color-gray-27);
    border-color: var(--color-gray-27);
    background-color: rgba(0, 0, 0, 0)
}

.form-control::-moz-placeholder {
    opacity: 1;
    color: var(--color-gray-72)
}

.form-control::placeholder {
    opacity: 1;
    color: var(--color-gray-72)
}

.form-group {
    position: relative;
    display: block
}

.form-label {
    margin-bottom: 0;
    display: block;
    position: absolute;
    top: 8px;
    left: 12px;
    font-size: 10px;
    font-variation-settings: "wght" 650;
    line-height: 16px;
    letter-spacing: .02em;
    color: var(--color-gray-72)
}

.form-checkbox {
    padding-left: 25px;
    position: relative;
    cursor: pointer;
    color: var(--color-gray-63);
    display: block
}

.form-checkbox-text {
    display: block;
    font-size: 12px;
    font-variation-settings: "wght" 500;
    line-height: 16px;
    letter-spacing: .02em
}

.form-checkbox-text a {
    display: inline-block;
    transition: color .3s
}

.form-checkbox-text a:hover {
    color: var(--color-orange)
}

.form-checkbox-input {
    display: none
}

.form-checkbox-input:checked~.form-checkbox-icon::after {
    opacity: 1
}

.form-checkbox-icon {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 16px;
    width: 16px;
    background-color: var(--color-gray-D9);
    border-radius: 2px;
    transition: all .3s
}

.form-checkbox-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 8px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEwIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik04Ljk0MTY2IDAuMTk4NDkyTDMuMDIzNTIgNS40ODA1NkwxLjQzMSAzLjgyODA4QzAuNzI4ODE4IDMuMjk4OTYgLTAuMzc0ODkyIDMuOTE1MiAwLjEyNjUzIDQuNzA4NDJMMi4wMTk3MSA3LjU5MzM5QzIuMzIwMzcgNy45NDU1MyAzLjAyMzUzIDguMjk3NjYgMy43MjQ3NCA3LjU5MzM5QzQuMDI1NCA3LjI0MTI1IDkuNzQzNzQgMC45OTA4MDIgOS43NDM3NCAwLjk5MDgwMkMxMC40NDY5IDAuMjg2NTI3IDkuNTQzOTUgLTAuMzI5NzE0IDguOTQxNjYgMC4xOTg0OTJaIiBmaWxsPSIjMjEyMDFDIi8+Cjwvc3ZnPgo=);
    background-size: 100% 100%;
    opacity: 0;
    transition: opacity .3s
}

.input-file {
    position: relative;
    display: inline-block
}

.input-file span {
    padding-right: 21px;
    position: relative;
    display: block;
    cursor: pointer;
    font-size: 14px;
    font-variation-settings: "wght" 550;
    line-height: 18px;
    color: var(--color-gray-8D);
    transition: all .3s
}

.input-file span::after {
    content: "";
    display: block;
    position: absolute;
    top: -3px;
    right: 0;
    width: 16px;
    height: 16px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjMzMzcgNC42NjY2M0w0LjY2Njk5IDExLjMzMzNNMTEuMzMzNyA0LjY2NjYzSDUuMzMzNjZNMTEuMzMzNyA0LjY2NjYzVjEwLjY2NjYiIHN0cm9rZT0iIzhEOEQ4NiIgc3Ryb2tlLXdpZHRoPSIxLjI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==)
}

.input-file input[type=file] {
    position: absolute;
    z-index: -1;
    opacity: 0;
    display: block;
    width: 0;
    height: 0
}

.slider-btn {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    color: var(--color-gray-21);
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid var(--color-gray-DA);
    border-radius: 50%;
    transition: all .3s;
    z-index: 10
}

.slider-btn svg {
    width: 24px;
    height: 24px
}

.slider-btn.swiper-button-disabled {
    cursor: auto;
    opacity: .5
}

.slider-btn:not(.swiper-button-disabled):hover,
.slider-btn:not(.swiper-button-disabled):focus,
.slider-btn:not(.swiper-button-disabled):active {
    color: var(--color-gray-EE) !important;
    background-color: var(--color-gray-19) !important;
    border-color: var(--color-gray-19) !important
}

.slider-btn-prev {
    left: 64px
}

@media(max-width: 991.98px) {
    .slider-btn-prev {
        left: 16px
    }
}

.slider-btn-next {
    right: 64px
}

@media(max-width: 991.98px) {
    .slider-btn-next {
        right: 16px
    }
}

@media(max-width: 991.98px) {
    .slider-btn {
        transform: none;
        top: auto;
        bottom: 56px
    }
}

.slider-nav {
    display: flex;
    align-items: center;
    gap: 8px
}

.swiper-slide {
    height: auto
}


.swiper-pagination-bullet {
  width: 30px;
  height: 6px;
  background-color: var(--color-gray-FD);
  opacity: 1;
  border-radius: 3px;
  margin: 0 6px;
}

.swiper-pagination-bullet-active {
  background-color: var(--color-orange);
}

.burger {
    padding: 0;
    border: 0;
    background-color: rgba(0, 0, 0, 0);
    display: block;
    width: 24px;
    height: 18px;
    position: relative;
    cursor: pointer;
    outline: none
}

.burger span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background-color: var(--color-white);
    opacity: 1;
    right: 0;
    transform: rotate(0deg)
}

.burger span:nth-child(1) {
    top: 0
}

.burger span:nth-child(2) {
    top: 8px;
    width: 16px
}

.burger span:nth-child(3) {
    top: 16px
}

.breadcrumbs {
    padding: 0;
    margin: 0 0 36px 0;
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 3px
}

.breadcrumbs li {
    font-family: var(--font-1);
    font-size: 14px;
    font-variation-settings: "wght" 650;
    line-height: 20px;
    color: var(--color-gray-EE)
}

.breadcrumbs li a {
    display: inline-block;
    text-decoration: none;
    transition: color .3s
}

.breadcrumbs li a:hover,
.breadcrumbs li a:focus {
    color: var(--color-orange)
}

.breadcrumbs li span {
    display: block
}

.breadcrumbs li:last-child {
    font-variation-settings: "wght" 450
}

.breadcrumbs li:not(:last-child) {
    display: flex;
    align-items: center;
    gap: 3px
}

.breadcrumbs li:not(:last-child)::after {
    content: "/";
    display: block;
    font-size: 14px;
    font-variation-settings: "wght" 450;
    line-height: 20px
}

@media(max-width: 991.98px) {
    .breadcrumbs {
        margin-bottom: 16px
    }
}

.btn-to-top {
    margin: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--color-gray-19);
    color: var(--color-gray-EE);
    transition: all .3s
}

.btn-to-top svg {
    width: 24px;
    height: 24px
}

.btn-to-top:hover {
    color: var(--color-white);
    background-color: var(--color-orange)
}

.bg-gray {
    background-color: var(--color-gray-E2) !important
}

:root {
    --font-1: "Manrope", sans-serif;
    --font-size: 16px;
    --line-height: 24px;
    --color-white: #fff;
    --color-black: #000;
    --color-gray-19: #191918;
    --color-gray-22: #222221;
    --color-gray-27: #272725;
    --color-gray-21: #21201c;
    --color-gray-31: #313130;
    --color-gray-63: #63635e;
    --color-gray-72: #72716d;
    --color-gray-8D: #8d8d86;
    --color-gray-B5: #b5b3ad;
    --color-gray-BC: #bcbbb5;
    --color-gray-CA: #cac9c4;
    --color-gray-CF: #cfceca;
    --color-gray-DA: #dad9d6;
    --color-gray-D9: #d9d9d9;
    --color-gray-E2: #e2e1de;
    --color-gray-E9: #e9e8e6;
    --color-gray-EE: #eeeeec;
    --color-gray-F1: #f1f0ef;
    --color-gray-FD: #fdfdfc;
    --color-orange: #f76b15;
    --color-orange-dark: #ef5f00
}

html,
body {
    height: 100%;
    margin: 0;
    padding: 0
}

html {
    font-size: 16px
}

body {
    font-family: var(--font-1);
    font-size: var(--font-size);
    font-variation-settings: "wght" 450;
    line-height: var(--line-height);
    color: var(--color-gray-21);
    background-color: var(--color-gray-F1);
    min-width: 393px
}

img {
    display: block;
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover
}

svg {
    display: block;
    flex-shrink: 0
}

.layout {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 100vh;
    margin: 0 auto;
    overflow: hidden;
    position: relative
}

.main {
    flex: 1 0 0%
}

@media(min-width: 992px) {
    .main {
        padding-top: 32px
    }
}

.overlay {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: rgba(0, 0, 0, 0);
    opacity: 0;
    z-index: -1
}

@media(max-width: 991.98px) {
    .overlay.show {
        left: 0;
        pointer-events: all;
        z-index: 10
    }
}

.section {
    padding: 80px 0 96px 0
}

.section-subtitle {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 14px;
    font-variation-settings: "wght" 600;
    line-height: 20px;
    letter-spacing: .01em;
    position: relative
}

.section-subtitle::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--color-orange)
}

.header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 11
}

.header-container {
    position: relative
}

@media(min-width: 1200px) {
    .header-container {
        padding-left: 32px;
        padding-right: 32px;
        max-width: 1440px
    }
}

.header-top {
    padding: 8px 0;
    background-color: var(--color-gray-19);
    color: var(--color-gray-B5)
}

.header-top-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 24px
}

.header-top-menu li {
    font-size: 12px;
    font-variation-settings: "wght" 600;
    line-height: 16px;
    letter-spacing: .02em
}

.header-top-menu li a {
    display: inline-block;
    text-decoration: none;
    transition: color .3s
}

.header-top-menu li a:hover {
    color: var(--color-orange)
}

.header-top-menu li:last-child {
    margin-left: auto
}

.header-bottom {
    padding-top: 16px
}

@media(max-width: 991.98px) {
    .header-bottom {
        padding: 27px 0
    }
}

.header-logo {
    display: block;
    width: 100%;
    height: 73px;
    border-radius: 8px;
    padding: 8px 16px;
    background-color: rgba(25, 25, 24, .3);
}

.header-logo img {
    height: 100%
}

@media(max-width: 1199.98px) {
    .header-logo {
        height: 48px
    }
}

.header-menu-list {
    margin: 0;
    padding: 8px 16px;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 32px;
    background-color: rgba(25, 25, 24, .3);
    color: var(--color-gray-EE);
    border-radius: 8px;
    position: relative;
    z-index: 1
}

.header-menu-list li {
    font-size: 14px;
    font-variation-settings: "wght" 600;
    line-height: 16px;
    letter-spacing: .02em
}

.header-menu-list li a {
    display: inline-block;
    text-decoration: none;
    transition: color .3s
}

.header-menu-list li a:hover {
    color: var(--color-orange)
}

.header-menu-list li ul {
    margin: 14px 0 6px 0;
    padding: 0;
    list-style: none;
    display: none;
    width: 100%;
    border-radius: 8px
}

.header-menu-list li ul li {
    font-size: 12px;
    line-height: 17px
}

.header-menu-list li ul li:not(:last-child) {
    margin-bottom: 6px
}

@media(min-width: 992px) {
    .header-menu-list li ul {
        margin: 0;
        padding: 16px;
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        height: -moz-max-content;
        height: max-content;
        background-color: rgba(49, 49, 48, .6)
    }

    .header-menu-list li ul::before {
        content: "";
        position: absolute;
        top: -16px;
        left: 0;
        width: 100%;
        height: 16px
    }
}

.header-menu-list li:hover>ul {
    display: block
}

@media(max-width: 991.98px) {
    .header-menu-list {
        padding: 24px 18px 17px 18px;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        background-color: var(--color-gray-FD);
        color: var(--color-gray-21)
    }
}

.header-menu-close-btn {
    position: absolute;
    top: 24px;
    right: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: none;
    background-color: rgba(0, 0, 0, 0);
    color: var(--color-gray-CA);
    z-index: 2
}

.header-menu-close-btn svg {
    width: 16px;
    height: 16px
}

@media(max-width: 991.98px) {
    .header-menu {
        padding: 0;
        display: none;
        position: absolute;
        top: 0;
        left: 24px;
        width: calc(100% - 48px)
    }
}

.header-contacts {
    display: flex;
    align-items: center;
    gap: 24px
}
.header-contacts-group {
    padding: 8px 16px;
    background-color: rgba(25, 25, 24, .3);
    border-radius: 8px;
	gap: 8px;
	flex-direction: column;
	display: flex;
}

.header-contacts-tel {
    font-size: 16px;
    font-variation-settings: "wght" 500;
    line-height: 20px;
    color: var(--color-gray-EE);
    display: inline-block;
    text-decoration: none;
    transition: color .3s;
    align-items: center;
    gap: 8px;
    display: flex;
}

.header-contacts-tel:hover {
    color: var(--color-orange)
}

.header-contacts-tel path {
    transition: .3s;
}

.header-contacts-tel:hover path {
    fill: var(--color-orange)
}

.header-contacts-separator {
    display: block;
    width: 1px;
    height: 20px;
    background-color: var(--color-gray-EE);
    opacity: .2
}

@media(max-width: 1199.98px) {
    .header-contacts {
        gap: 12px
    }
}

@media(max-width: 991.98px) {
    .header-contacts {
        padding-left: 13px;
        justify-content: space-between
    }
}

@media(max-width: 559.98px) {
	.header-contacts .header-contacts-group{
        width: 100%;
    }
	.header-contacts .header-contacts-separator,
	.header-contacts .btn-light {
        display: none;
    }
}

.hero {
    color: var(--color-gray-EE)
}

.hero-slider .swiper-slide {
    padding: 96px 0;
    min-height: 688px;
    display: flex;
    flex-direction: column;
    justify-content: end
}

@media(max-width: 991.98px) {
    .hero-slider .swiper-slide {
        padding: 194px 0 79px 0;
        min-height: 565px
    }
}

.hero-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
	filter: brightness(50%);
}

.hero-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-gray-22);
    opacity: .35
}

.hero-img img {
    width: 100%;
    height: 100%
}

.hero-title {
    margin-bottom: 16px;
    letter-spacing: -0.01em
}

.hero-title span {
    color: var(--color-gray-B5)
}

.hero-text {
    margin-bottom: 32px;
    line-height: 22px
}

@media(max-width: 991.98px) {
    .hero-text {
        margin-bottom: 16px
    }
}

.advantages {
    padding: 56px 0
}

.advantages-items {
    row-gap: 16px
}

.advantages-card {
    padding: 24px;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    background-color: var(--color-white);
    border-radius: 8px;
    transition: all .3s
}

.advantages-card-title {
    margin-top: auto;
    font-size: 48px;
    font-variation-settings: "wght" 650;
    line-height: 1;
    letter-spacing: -0.02em
}

.advantages-card-icon {
    width: 24px;
    height: 24px;
    align-self: flex-end;
    transition: all .3s;
    border-radius: 6px
}

.advantages-card-text {
    font-size: 14px;
    font-variation-settings: "wght" 550;
    line-height: 20px;
    letter-spacing: .01em;
    color: var(--color-gray-63)
}

.advantages-card:hover {
    background-color: var(--color-orange);
    color: var(--color-white)
}

.advantages-card:hover .advantages-card-icon {
    background-color: var(--color-white)
}

.advantages-card:hover .advantages-card-text {
    color: currentColor
}

@media(max-width: 991.98px) {
    .advantages {
        padding: 48px 0
    }
}

.services-items {
    row-gap: 16px
}

.services-card {
    padding: 23px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-decoration: none;
    min-height: 192px;
    height: 100%;
    border: 1px solid var(--color-gray-CF);
    border-radius: 8px;
    transition: all .3s
}

.services-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--color-gray-F1)
}

.services-card-icon img {
    width: 32px;
    height: 32px
}

.services-card-bottom {
    margin-top: auto;
    display: flex;
    align-items: flex-end;
    gap: 22px
}

.services-card-title {
    flex-grow: 1
}

.services-card-arrow {
    margin-bottom: 2px;
    width: 16px;
    height: 16px;
    color: var(--color-gray-8D);
    transition: color .3s
}

.services-card:hover {
    background-color: var(--color-white);
    border-color: var(--color-white)
}

.services-card:hover .services-card-arrow {
    color: var(--color-gray-63)
}

.services-menu {
    padding: 56px 0
}

.services-menu-list {
    margin: 0 auto;
    padding: 32px;
    list-style: none;
    max-width: 1193px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    background-color: rgba(25, 25, 24, .6);
    color: var(--color-gray-EE);
    border-radius: 8px
}

.services-menu-list li {
    flex: 0 0 auto;
    width: auto;
    font-size: 16px;
    font-variation-settings: "wght" 600;
    line-height: 22px;
    letter-spacing: .02em
}

.services-menu-list li a {
    display: inline-block;
    text-decoration: none;
    transition: color .3s
}

.services-menu-list li a:hover {
    color: var(--color-orange)
}

@media(min-width: 992px) {
    .services-menu-list li:not(:last-child) {
        position: relative;
        padding-right: 22px
    }

    .services-menu-list li:not(:last-child)::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 100%;
        flex-shrink: 0;
        background-color: var(--color-gray-BC)
    }
}

@media(max-width: 991.98px) {
    .services-menu-list {
        margin: 0;
        padding: 16px 18px;
        max-width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }
}

.categories-items {
    row-gap: 16px
}

.categories-item:last-child .categories-card {
    background-color: var(--color-orange);
    color: var(--color-white)
}

.categories-item:last-child .categories-card-arrow {
    color: currentColor
}

.categories-card {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    min-height: 320px;
    overflow: hidden;
    border-radius: 8px;
    color: var(--color-gray-EE);
    text-decoration: none
}

.categories-card-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.categories-card-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.06) 0%, rgba(0, 0, 0, 0.0640249) 11.79%, rgba(0, 0, 0, 0.0755591) 21.38%, rgba(0, 0, 0, 0.093792) 29.12%, rgba(0, 0, 0, 0.117913) 35.34%, rgba(0, 0, 0, 0.147111) 40.37%, rgba(0, 0, 0, 0.180576) 44.56%, rgba(0, 0, 0, 0.217497) 48.24%, rgba(0, 0, 0, 0.257063) 51.76%, rgba(0, 0, 0, 0.298464) 55.44%, rgba(0, 0, 0, 0.340889) 59.63%, rgba(0, 0, 0, 0.383527) 64.66%, rgba(0, 0, 0, 0.425568) 70.88%, rgba(0, 0, 0, 0.466201) 78.62%, rgba(0, 0, 0, 0.504615) 88.21%, rgba(0, 0, 0, 0.54) 100%);
    z-index: 1
}

.categories-card-img img {
    width: 100%;
    height: 100%;
    transition: transform .3s
}

.categories-card-bottom {
    margin-top: auto;
    display: flex;
    align-items: flex-end;
    gap: 22px
}

.categories-card-title {
    flex-grow: 1
}

.categories-card-arrow {
    margin-bottom: 2px;
    color: var(--color-gray-8D)
}

.categories-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--color-orange-dark)
}

.categories-card-icon svg {
    width: 32px;
    height: 32px
}

.categories-card:hover {
    color: var(--color-gray-EE)
}

.categories-card:hover .categories-card-img img {
    transform: scale(1.05)
}

.catalog-slider {
    overflow: inherit
}

@media(max-width: 575.98px) {
    .catalog-slider .swiper-slide {
        width: auto
    }
}

.catalog-slider-nav {
    margin-left: 92px
}

@media(min-width: 576px) {
    .catalog-slider-nav {
        margin-left: 0;
        justify-content: flex-end
    }
}

.catalog-card {
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
    border: 1px solid var(--color-gray-BC);
    border-radius: 8px;
    text-decoration: none
}

.catalog-card-head {
    display: flex;
    align-items: flex-start;
    gap: 28px
}

.catalog-card-info {
    flex-grow: 1
}

.catalog-card-arrow {
    margin-top: 4px;
    margin-right: 4px;
    width: 16px;
    height: 16px
}

.catalog-card-title {
    margin-bottom: 6px
}

.catalog-card-text {
    font-size: 12px;
    font-variation-settings: "wght" 550;
    line-height: 17px;
    color: var(--color-gray-63)
}

.catalog-card-props {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.catalog-card-props li {
    padding-top: 5px;
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 12px;
    line-height: 17px;
    border-top: 1px solid var(--color-gray-DA)
}

.catalog-card-props li p:first-child {
    width: 128px;
    flex-shrink: 0;
    font-variation-settings: "wght" 550
}

.catalog-card-props li p:last-child {
    flex-grow: 1;
    font-variation-settings: "wght" 650;
    color: var(--color-gray-63)
}

.catalog-card-props li p+p {
    margin-top: 0
}

.catalog-card-img {
    margin-top: auto;
    height: 225px;
    overflow: hidden;
    border-radius: 4px
}

.catalog-card-img img {
    width: 100%;
    height: 100%;
    transition: transform .3s
}

.catalog-card:hover .catalog-card-img img {
    transform: scale(1.05)
}

@media(max-width: 575.98px) {
    .catalog-card {
        max-width: 300px
    }
}

@media(max-width: 991.98px) {
    .catalog {
        padding-bottom: 29px
    }
}

.brands-items {
    display: grid;
    grid-template-rows: auto;
    gap: 16px
}

@media(min-width: 576px) {
    .brands-items {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width: 768px) {
    .brands-items {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media(min-width: 992px) {
    .brands-items {
        grid-template-columns: repeat(4, 1fr)
    }
}

@media(min-width: 1200px) {
    .brands-items {
        grid-template-columns: repeat(5, 1fr)
    }
}

.brands-card {
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-white);
    border-radius: 8px;
    height: 160px;
    text-decoration: none;
    transition: background-color .3s
}

.brands-card:hover {
    background-color: var(--color-orange)
}

@media(max-width: 991.98px) {
    .brands {
        padding: 23px 0 48px 0
    }
}

.feedback {
    padding-bottom: 56px;
    position: relative;
    color: var(--color-gray-EE)
}

.feedback-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.feedback-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-gray-22);
    opacity: .2
}

.feedback-img img {
    width: 100%;
    height: 100%
}

@media(max-width: 991.98px) {
    .feedback-title {
        padding: 0 22px 0 20px
    }
}

.feedback-form {
    padding: 24px;
    margin-top: 128px;
    background-color: var(--color-gray-FD);
    border-radius: 12px;
    display: flex;
    flex-direction: column
}

.feedback-form-inputs {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.feedback-form-checkbox {
    margin: 16px auto 0 auto
}

.feedback-form-btn {
    margin: 24px 0 0 auto;
    display: block
}

@media(max-width: 991.98px) {
    .feedback-form-btn {
        width: 100%
    }
}

@media(max-width: 991.98px) {
    .feedback-form {
        margin-top: 32px;
        padding: 24px 12px 44px 12px
    }
}

@media(max-width: 991.98px) {
    .feedback {
        padding: 48px 0 69px 0
    }
}

@media(min-width: 992px) {
    .about-row {
        row-gap: 64px
    }
}

.about-img {
    width: 100%;
    height: 243px;
    overflow: hidden;
    border-radius: 8px
}

.about-img img {
    width: 100%;
    height: 100%
}

@media(max-width: 991.98px) {
    .about-title {
        font-size: 24px;
        line-height: 34px
    }
}

.about-text {
    letter-spacing: .01em
}

@media(max-width: 991.98px) {
    .about {
        padding: 48px 0 54px 0
    }
}

.contacts {
    padding: 104px 0;
    min-height: 688px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--color-gray-EE)
}

.contacts-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.contacts-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-gray-22);
    opacity: .35
}

.contacts-img img {
    width: 100%;
    height: 100%
}

.contacts-title {
    margin-bottom: 16px;
    font-size: 40px;
    line-height: 48px;
    letter-spacing: -0.01em
}

@media(max-width: 991.98px) {
    .contacts-title {
        margin-bottom: 24px
    }
}

.contacts-subtitle {
    margin-bottom: 8px;
    font-size: 16px;
    font-variation-settings: "wght" 650;
    line-height: 22px
}

@media(max-width: 991.98px) {
    .contacts-subtitle {
        margin-top: 16px
    }
}

.contacts-text {
    font-size: 14px;
    line-height: 20px
}

.contacts-text a {
    display: inline-block;
    text-decoration: none;
    transition: color .3s
}

.contacts-text a:hover {
    color: var(--color-orange)
}

.contacts-block {
    padding-bottom: 48px
}

@media(max-width: 991.98px) {
    .contacts-block {
        padding-bottom: 16px
    }
}

.contacts-cards {
    row-gap: 16px
}

.contacts-card {
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    background-color: var(--color-gray-E2);
    border-radius: 12px;
    height: 100%;
    min-height: 240px
}

.contacts-card-head {
    display: flex;
    align-items: center;
    gap: 8px
}

.contacts-card-icon {
    width: 24px;
    height: 24px
}

.contacts-card-title {
    line-height: 24px;
    letter-spacing: .01em;
    color: var(--color-gray-63)
}

.contacts-card-address {
    margin-top: auto;
    margin-bottom: 0;
    font-size: 19px;
    font-variation-settings: "wght" 650;
    line-height: 27px;
    letter-spacing: .01em
}

.contacts-card-links {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px
}

.contacts-card-links-tel {
    font-size: 19px;
    font-variation-settings: "wght" 650;
    line-height: 28px;
    letter-spacing: .01em;
    display: inline-block;
    text-decoration: none;
    transition: color .3s
}

.contacts-card-links-tel:hover {
    color: var(--color-orange)
}

.contacts-card-links-email {
    font-variation-settings: "wght" 550;
    line-height: 22px;
    letter-spacing: .01em;
    color: var(--color-gray-63);
    display: inline-block;
    text-decoration: none;
    transition: color .3s
}

.contacts-card-links-email:hover {
    color: var(--color-orange)
}

.contacts-feedback {
    margin: 56px 0
}

@media(max-width: 991.98px) {
    .contacts-feedback {
        margin: 32px 0
    }
}

.contacts-map::after {
    opacity: .35
}

@media(max-width: 991.98px) {
    .contacts {
        padding: 194px 0 122px 0;
        min-height: 846px
    }
}

.page-header {
    padding: 112px 0 24px 0;
    position: relative;
    min-height: 315px;
    color: var(--color-gray-EE)
}

.page-header-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.page-header-img img {
    width: 100%;
    height: 100%
}

.page-header-text {
    margin-bottom:24px;
}

.page-header-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-gray-22);
    opacity: .35
}

@media(max-width: 991.98px) {
    .page-header {
        padding-top: 194px;
        min-height: 444px
    }
}

.stages {
    padding-bottom: 80px
}

.stages-wrap {
    padding: 44px 44px 84px 44px;
    background-color: var(--color-gray-E2);
    border-radius: 8px
}

@media(max-width: 991.98px) {
    .stages-wrap {
        padding: 24px 24px 48px 24px
    }
}

@media(max-width: 575.98px) {
    .stages-wrap {
        margin-left: -24px;
        margin-right: -24px
    }
}

.stages-title {
    text-align: center;
    margin-bottom: 46px;
    color: var(--color-gray-22)
}

@media(max-width: 991.98px) {
    .stages-title {
        margin-bottom: 32px
    }
}

.stages-items {
    margin-left: -35px;
    margin-right: -35px;
    row-gap: 44px;
    justify-content: center;
    counter-reset: stages-counter
}

@media (min-width: 1200px) {
    .stages-item {
        width: 20%;
    }
}

@media (max-width: 1200px) {
    .stages-items>* {
        padding-left: 35px;
        padding-right: 35px
    }
}

@media(max-width: 991.98px) {
    .stages-items {
        gap: 16px
    }
}

.stages-item {
    counter-increment: stages-counter
}

.stages-item:nth-child(1) .stages-card {
    padding-left: 43px
}

@media(min-width: 992px) {
    .stages-item:nth-child(1) .stages-card {
        max-width: 268px
    }
}

.stages-item:nth-child(2) .stages-card {
    padding-left: 28px
}

@media(min-width: 992px) {
    .stages-item:nth-child(2) .stages-card {
        max-width: 327px
    }
}

.stages-item:nth-child(3) .stages-card {
    padding-left: 30px
}

@media(min-width: 992px) {
    .stages-item:nth-child(3) .stages-card {
        max-width: 260px
    }
}

.stages-item:nth-child(4) .stages-card {
    padding-left: 34px
}

@media(min-width: 992px) {
    .stages-item:nth-child(4) .stages-card {
        max-width: 292px
    }
}

.stages-item:nth-child(5) .stages-card {
    padding-left: 26px
}

@media(min-width: 992px) {
    .stages-item:nth-child(5) .stages-card {
        max-width: 384px
    }
}

.stages-card {
    padding-top: 40px;
    color: var(--color-black);
    height: 100%;
    min-height: 164px;
    position: relative;
    z-index: 1
}

.stages-card-title {
    margin-bottom: 10px
}

.stages-card-num {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 182px;
    font-variation-settings: "wght" 650;
    line-height: 164px;
    color: var(--color-gray-F1);
    z-index: -1;
    transition: color .3s
}

.stages-card-num::before {
    content: counter(stages-counter);
    display: block
}

.stages-card-text {
    font-size: 14px;
    line-height: 18px
}

.stages-card:hover .stages-card-num {
    color: var(--color-orange)
}

@media(max-width: 991.98px) {
    .stages {
        padding: 48px 0
    }
}

.advantages+.stages {
    padding-top: 0;
    padding-bottom: 56px
}

.certificates-items {
    row-gap: 24px
}

.certificates-card {
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    height: 100%;
    min-height: 240px;
    text-decoration: none;
    background-color: var(--color-gray-E2);
    border-radius: 12px;
    transition: all .3s
}

.certificates-card-top {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-gray-63);
    transition: color .3s
}

.certificates-card-icon {
    width: 24px;
    height: 24px
}

.certificates-card-text {
    font-variation-settings: "wght" 550;
    letter-spacing: .01em
}

.certificates-card-title {
    margin-top: auto;
    font-size: 19px;
    font-variation-settings: "wght" 650;
    line-height: 27px;
    letter-spacing: .01em
}

.certificates-card:hover {
    background-color: var(--color-orange);
    color: var(--color-white)
}

.certificates-card:hover .certificates-card-top {
    color: var(--color-white)
}

.product {
    padding: 56px 0
}

.product-slider-main .swiper-slide,
.product-slider-thumbs .swiper-slide {
    overflow: hidden;
    border-radius: 4px
}

.product-slider-main .swiper-slide img,
.product-slider-thumbs .swiper-slide img {
    width: 100%;
    height: 100%;
	max-height: 395px;
    transition: transform .3s;
	object-fit: contain;
}

.product-slider-main .swiper-slide:hover img,
.product-slider-thumbs .swiper-slide:hover img {
    transform: scale(1.05)
}

.product-slider-main .swiper-slide {
    min-height: 345px
}

.product-slider-thumbs {
    margin-top: 16px
}

.product-slider-thumbs .swiper-slide {
    width: 96px;
    height: 77px;
    cursor: pointer
}

@media(max-width: 991.98px) {
    .product-slider-thumbs {
        overflow: inherit
    }
}

.product-info {
    padding: 15px;
    border: 1px solid var(--color-gray-BC);
    border-radius: 8px;
    height: 100%
}

.product-info-title {
    margin-bottom: 16px;
    font-variation-settings: "wght" 650
}

@media(max-width: 991.98px) {
    .product-info-title {
        padding-left: 11px;
        padding-right: 48px
    }
}

.product-info-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.product-info-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-size: 12px;
    line-height: 17px
}

.product-info-item:first-child {
    padding: 5px 0;
    border-top: 1px solid var(--color-gray-DA);
    border-bottom: 1px solid var(--color-gray-DA)
}

.product-info-item:first-child .product-info-item-value {
    align-self: flex-end
}

.product-info-item-title {
    font-variation-settings: "wght" 650;
    width: 128px;
    flex-shrink: 0
}

.product-info-item-value {
    font-variation-settings: "wght" 550;
    color: var(--color-gray-63);
    flex-grow: 1
}

.product-info-item-value ul {
    margin: 0;
    padding: 0;
    list-style: none
}

@media(max-width: 991.98px) {
    .product-info-item {
        padding: 0 11px !important
    }
}

@media(max-width: 991.98px) {
    .product-info {
        margin-top: 25px;
        padding: 0 0 21px 0;
        height: auto
    }
}

.product-video {
    margin-top: 56px;
    display: block;
    height: 396px;
    position: relative;
    overflow: hidden;
    border-radius: 4px
}

.product-video img {
    width: 100%;
    height: 100%;
    transition: transform .3s
}

.product-video::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 130px;
    height: 130px;
    background-image: url("../img/svg/play.svg");
    transition: transform .3s
}

.product-video:hover img {
    transform: scale(1.05)
}

.product-video:hover::after {
    transform: translate(-50%, -50%) scale(0.9)
}

@media(max-width: 991.98px) {
    .product-video {
        margin-top: 48px
    }
}

@media(max-width: 575.98px) {
    .product-video {
        margin-left: -24px;
        margin-right: -24px
    }
}

@media(max-width: 991.98px) {
    .product {
        padding: 32px 0
    }
}

.footer {
    padding: 24px 0
}

.footer-item {
    padding: 0 24px
}

.footer-item-title {
    margin-bottom: 24px;
    font-size: 19px;
    letter-spacing: .01em;
    line-height: 27px
}

.footer-item-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 14px;
    font-variation-settings: "wght" 550;
    letter-spacing: .01em;
    line-height: 20px
}

.footer-item-list li a {
    display: inline-block;
    text-decoration: none;
    color: var(--color-gray-63);
    transition: color .3s
}

.footer-item-list li a:hover {
    color: var(--color-gray-21)
}

@media(max-width: 991.98px) {
    .footer-item {
        padding-left: 0
    }
}

.footer-bottom {
    margin-top: 128px
}

@media(max-width: 991.98px) {
    .footer-bottom {
        margin-top: 48px;
        padding: 32px 8px 8px 8px;
        border-radius: 8px;
        background-color: var(--color-gray-E9)
    }
}

.footer-menu {
    margin: 0;
    padding: 0 24px;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 22px
}

.footer-menu li {
    font-size: 14px;
    font-variation-settings: "wght" 550;
    letter-spacing: .01em;
    line-height: 20px
}

.footer-menu li a {
    display: inline-block;
    text-decoration: none;
    color: var(--color-gray-63);
    transition: color .3s
}

.footer-menu li a:hover {
    color: var(--color-gray-21)
}

.footer-menu li:first-child {
    margin-right: auto
}

@media(max-width: 991.98px) {
    .footer-menu li:first-child {
        margin-right: 0;
        order: 6
    }
}

@media(max-width: 991.98px) {
    .footer-menu {
        padding: 0;
        flex-direction: column
    }
}

.footer-copy {
    margin-top: 16px;
    color: var(--color-gray-63);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: 12px;
    font-variation-settings: "wght" 500;
    line-height: 16px;
    letter-spacing: .02em
}

.footer-copy span {
    display: block
}

@media(min-width: 992px) {
    .footer-copy {
        padding: 8px 24px;
        border-radius: 8px;
        background-color: var(--color-gray-E9)
    }
}

@media(max-width: 991.98px) {
    .footer-copy {
        margin-top: 79px;
        flex-direction: column;
        gap: 12px
    }
}

@media(max-width: 991.98px) {
    .footer {
        padding: 0 0 16px 0
    }
}

.popup {
    padding: 40px 48px 44px 48px;
    width: 100%;
    max-width: 624px;
    border-radius: 12px;
    color: var(--color-gray-72);
    background-color: var(--color-gray-FD)
}

.popup-form {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.popup-form-title {
    font-size: 19px;
    font-variation-settings: "wght" 650;
    line-height: 27px;
    letter-spacing: .02em;
    color: var(--color-black)
}

@media(max-width: 991.98px) {
    .popup-form-title {
        margin-bottom: 8px
    }
}

.popup-form-inputs {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.popup-form-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px
}

.popup-form-checkbox {
    color: inherit
}

.popup-form-checkbox .form-checkbox-text {
    line-height: 19px;
    font-variation-settings: "wght" 650
}

.popup-form-checkbox .form-checkbox-icon {
    top: 1px
}

.popup-form-subtitle {
    margin-bottom: 16px;
    font-size: 14px;
    font-variation-settings: "wght" 650;
    line-height: 22px;
    letter-spacing: .02em
}

.popup-form-btn {
    margin: 0 auto
}

@media(max-width: 991.98px) {
    .popup-form-btn {
        margin-top: 8px
    }
}

@media(max-width: 991.98px) {
    .popup-form {
        gap: 16px
    }
}

.popup .carousel__button {
    width: auto;
    height: auto;
    border-radius: 0;
    outline: none
}

.popup .carousel__button::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjI5MzA0IDE5LjY3NzhDMC45MDI1MiAxOS4yODczIDAuOTAyNTIgMTguNjU0MSAxLjI5MzA0IDE4LjI2MzZMMTguMjYzNiAxLjI5MzAzQzE4LjY1NDEgMC45MDI1MSAxOS4yODczIDAuOTAyNTEgMTkuNjc3OCAxLjI5MzAzQzIwLjA2ODMgMS42ODM1NiAyMC4wNjgzIDIuMzE2NzIgMTkuNjc3OCAyLjcwNzI1TDIuNzA3MjYgMTkuNjc3OEMyLjMxNjczIDIwLjA2ODMgMS42ODM1NyAyMC4wNjgzIDEuMjkzMDQgMTkuNjc3OFoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTkuNjc3OCAxOS42Nzc3QzE5LjI4NzMgMjAuMDY4MiAxOC42NTQxIDIwLjA2ODIgMTguMjYzNiAxOS42Nzc3TDEuMjkzMDMgMi43MDcxQzAuOTAyNTA4IDIuMzE2NTcgMC45MDI1MDggMS42ODM0MSAxLjI5MzAzIDEuMjkyODhDMS42ODM1NiAwLjkwMjM2IDIuMzE2NzIgMC45MDIzNiAyLjcwNzI1IDEuMjkyODhMMTkuNjc3OCAxOC4yNjM0QzIwLjA2ODMgMTguNjU0IDIwLjA2ODMgMTkuMjg3MSAxOS42Nzc4IDE5LjY3NzdaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K);
    background-size: 100% 100%
}

.popup .carousel__button svg {
    display: none
}

.popup>.carousel__button.is-close {
    top: 20px;
    right: 20px
}

.popup :focus {
    outline: none !important
}

@media(max-width: 991.98px) {
    .popup {
        padding: 32px 18px 35px 18px
    }
}

/* Основные стили для контейнера */
.image-text-block {
    background-color: #f9f9f9;
    padding: 20px;
}

.image-text-block-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 40px;
    margin: 20px 0;
}

.image-text-block-wrapper_reverse {
    flex-direction: row-reverse;
    justify-content: space-between;
}

/* Стили для блока картинки/видео */
.image-text-block__media {
    flex-shrink: 0;
    max-width: 50%;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}

/* Общие стили для img и iframe */
.image-text-block__media img,
.image-text-block__media iframe {
    display: block;
    border: none;
    aspect-ratio: 16 / 9 !important;
    height: auto;
    width: 100%;
}

.image-text-block__media img {
    width: 100%;
    height: auto;
}


/* Стили для блока текста */
.image-text-block__title {
    margin-bottom: 15px;
}

.image-text-block__text p {
    margin-bottom: 10px;
}

/* Адаптивные стили для планшетов и телефонов */
@media (max-width: 768px) {
    .image-text-block-wrapper {
        flex-direction: column-reverse;
    }

    .image-text-block__media {
        max-width: 100%;
    }
}

.stages-card-title a {
    text-decoration: none;
}

.stages-card-title a:hover {
    text-decoration: underline;
    transition: .3s;
}

.section_content {
	padding: 0;
	margin: 40px 0;
}

.section_minp {
	margin: 0;
}

.faq {
    max-width: 100%;
    margin: 40px auto;
}

.faq-item {
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-header {
    width: 100%;
    text-align: left;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    background-color: #fff;
    border: none;
    cursor: pointer;
    outline: none;
    transition: background-color 0.3s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-header.active {
    background-color: #e9e9e9;
}

.faq-icon {
    display: inline-block;
    width: 12px;
    height: 12px;
    position: relative;
    transition: transform 0.3s ease;
}

.faq-icon::before, .faq-icon::after {
    content: '';
    position: absolute;
    background-color: #333;
    transition: background-color 0.3s ease;
}

.faq-icon::before {
    top: 50%;
    left: 0;
    right: 0;
    height: 2px;
    transform: translateY(-50%);
}

.faq-icon::after {
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
}

.faq-content {
    max-height: 0;
    overflow: hidden;
    background-color: #fff;
    padding: 0 15px;
    transition: max-height 0.3s ease, padding 0.3s ease;
    box-sizing: content-box;
}

.faq-content p {
    margin: 15px 0;
}

.faq-content.active {
    padding: 15px;
}

.faq-header.active .faq-icon {
    transform: rotate(45deg);
}

@media (max-width: 768px) {
    .faq-header {
        font-size: 16px;
    }
}

.advant {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 20px;
}
@media (min-width: 768px) {
	.advant {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (min-width: 980px) {
	.advant {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (min-width: 1400px) {
	.advant {
		grid-template-columns: repeat(4, 1fr);
	}
}

.advant__item {
	flex: 1 1 auto;
	display: flex;
	gap: 10px;
	flex-direction: column;
	align-items: flex-start;
	padding: 25px;
	background-color: #fff;
	border: 1px solid #aaaaaa;
	border-radius: 15px;
	text-decoration: none;
}

.advant__item-img {
	margin-right: 15px;
	display: inline-block;
	min-width: 84px;
	width: 84px;
}

.collapsible-text {
	background: #FFF;
	padding: 30px;
}

.collapsible-text__button {
    color: var(--color-white);
    background-color: var(--color-orange)
}

.collapsible-text__button:hover,
.collapsible-text__button:focus,
.collapsible-text__button:active {
    color: var(--color-white) !important;
    background-color: var(--color-orange-dark) !important
}

.collapsible-text__button::before {
  content: "Скрыть";
}

.collapsible-text__button[aria-expanded=false]::before {
  content: "Читать далее";
}
.collapsible-text__content-first {
  position: relative;
}
.collapsible-text__content-first::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0px;
  background: linear-gradient(#ffffff29, #ffffffd6);
  bottom: 0;
  transition: .1s;
}
.collapsible-text__content-first_only.collapsible-text__content-first::before {
  transition: .2s;
  height: 25px;
}
#collapsibleTextContent:not(.show) {
  display: block !important;
  height: 0;
  overflow: hidden;
}

.visuallyhidden:not(:focus):not(:active) {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    white-space: nowrap;
    clip-path: inset(100%);
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.advant-3 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}

.advant-3 .advant__item {
	border: none;
}
.advant-3 p+p {
    margin-top: 6px;
}

@media (min-width: 768px) {
    .advant-3 {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (min-width: 980px) {
    .advant-3 {
        grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1400px) {
    .advant-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}
