@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000");

html {
    line-height: 1.15;
}
body {
    margin: 0;
}
main {
    display: block;
}
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}
hr {
    box-sizing: initial;
    height: 0;
    overflow: visible;
}
pre {
    font-family: monospace, monospace;
    font-size: 1em;
}
a {
    background-color: initial;
    color: var(--red);
}
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}
b,
strong {
    font-weight: bolder;
}
code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}
small {
    font-size: 80%;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: initial;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
img {
    border-style: none;
    max-width: 100%;
}
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}
button,
input {
    overflow: visible;
}
button,
select {
    text-transform: none;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
    -webkit-appearance: button;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText;
}
fieldset {
    padding: 0.35em 0.75em 0.625em;
}
legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}
progress {
    vertical-align: initial;
}
textarea {
    overflow: auto;
}
[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}
[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}
details {
    display: block;
}
summary {
    display: list-item;
}
[hidden],
template {
    display: none;
}
.container,
.container-fluid,
.container-xl {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    width: 100%;
}
:root {
    --bs-breakpoint-xs: 0;
    --bs-breakpoint-md: 640px;
    --bs-breakpoint-xl: 1280px;
}
.row {
    --bs-gutter-x: 3.75vw;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--bs-gutter-x) * -0.5);
    margin-right: calc(var(--bs-gutter-x) * -0.5);
    margin-top: calc(var(--bs-gutter-y) * -1);
}
.row > * {
    flex-shrink: 0;
    margin-top: var(--bs-gutter-y);
    max-width: 100%;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    width: 100%;
}
.col {
    flex: 1 0 0%;
}
.row-cols-auto > * {
    flex: 0 0 auto;
    width: auto;
}
.row-cols-1 > * {
    flex: 0 0 auto;
    width: 100%;
}
.row-cols-2 > * {
    flex: 0 0 auto;
    width: 50%;
}
.row-cols-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
}
.row-cols-4 > * {
    flex: 0 0 auto;
    width: 25%;
}
.row-cols-5 > * {
    flex: 0 0 auto;
    width: 20%;
}
.row-cols-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
}
.col-auto {
    flex: 0 0 auto;
    width: auto;
}
.col-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
}
.col-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
}
.col-3 {
    flex: 0 0 auto;
    width: 25%;
}
.col-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}
.col-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
}
.col-6 {
    flex: 0 0 auto;
    width: 50%;
}
.col-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
}
.col-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
}
.col-9 {
    flex: 0 0 auto;
    width: 75%;
}
.col-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
}
.col-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
}
.col-12 {
    flex: 0 0 auto;
    width: 100%;
}
.offset-1 {
    margin-left: 8.33333333%;
}
.offset-2 {
    margin-left: 16.66666667%;
}
.offset-3 {
    margin-left: 25%;
}
.offset-4 {
    margin-left: 33.33333333%;
}
.offset-5 {
    margin-left: 41.66666667%;
}
.offset-6 {
    margin-left: 50%;
}
.offset-7 {
    margin-left: 58.33333333%;
}
.offset-8 {
    margin-left: 66.66666667%;
}
.offset-9 {
    margin-left: 75%;
}
.offset-10 {
    margin-left: 83.33333333%;
}
.offset-11 {
    margin-left: 91.66666667%;
}
.g-0,
.gx-0 {
    --bs-gutter-x: 0;
}
.g-0,
.gy-0 {
    --bs-gutter-y: 0;
}
.g-1,
.gx-1 {
    --bs-gutter-x: 0.25rem;
}
.g-1,
.gy-1 {
    --bs-gutter-y: 0.25rem;
}
.g-2,
.gx-2 {
    --bs-gutter-x: 0.5rem;
}
.g-2,
.gy-2 {
    --bs-gutter-y: 0.5rem;
}
.g-3,
.gx-3 {
    --bs-gutter-x: 1rem;
}
.g-3,
.gy-3 {
    --bs-gutter-y: 1rem;
}
.g-4,
.gx-4 {
    --bs-gutter-x: 1.5rem;
}
.g-4,
.gy-4 {
    --bs-gutter-y: 1.5rem;
}
.g-5,
.gx-5 {
    --bs-gutter-x: 3rem;
}
.g-5,
.gy-5 {
    --bs-gutter-y: 3rem;
}
.fade {
    transition: opacity 0.15s linear;
}
.fade:not(.show) {
    opacity: 0;
}
.collapse:not(.show) {
    display: none;
}
.collapsing {
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease;
}
.collapsing.collapse-horizontal {
    height: auto;
    transition: width 0.35s ease;
    width: 0;
}
.order-first {
    order: -1 !important;
}
.order-0 {
    order: 0 !important;
}
.order-1 {
    order: 1 !important;
}
.order-2 {
    order: 2 !important;
}
.order-3 {
    order: 3 !important;
}
.order-4 {
    order: 4 !important;
}
.order-5 {
    order: 5 !important;
}
.order-last {
    order: 6 !important;
}
.d-inline {
    display: inline !important;
}
.d-inline-block {
    display: inline-block !important;
}
.d-block {
    display: block !important;
}
.d-flex {
    display: flex !important;
}
.d-inline-flex {
    display: inline-flex !important;
}
.d-none {
    display: none !important;
}
@font-face {
    font-family: swiper-icons;
    font-style: normal;
    font-weight: 400;
    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")
        format("woff");
}
:root {
    --swiper-theme-color: #007aff;
}
:host {
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}
.swiper {
    display: block;
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0;
    position: relative;
    z-index: 1;
}
.swiper-vertical > .swiper-wrapper {
    flex-direction: column;
}
.swiper-wrapper {
    box-sizing: initial;
    display: flex;
    height: 100%;
    position: relative;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    width: 100%;
    z-index: 1;
}
.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 {
    display: block;
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%;
}
.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 {
    backface-visibility: hidden;
    transform: translateZ(0);
}
.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 {
    -ms-overflow-style: none;
    overflow: auto;
    scrollbar-width: 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 {
    height: var(--swiper-centered-offset-after);
    min-width: 1px;
    width: 100%;
}
.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 {
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
    background: #00000026;
}
.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(270deg, #00000080, #0000);
}
.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(90deg, #00000080, #0000);
}
.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(0deg, #00000080, #0000);
}
.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(180deg, #00000080, #0000);
}
.swiper-lazy-preloader {
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top: 4px solid #0000;
    box-sizing: border-box;
    height: 42px;
    left: 50%;
    margin-left: -21px;
    margin-top: -21px;
    position: absolute;
    top: 50%;
    transform-origin: 50%;
    width: 42px;
    z-index: 10;
}
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s linear infinite;
}
.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(1turn);
    }
}
.swiper-free-mode > .swiper-wrapper {
    margin: 0 auto;
    transition-timing-function: ease-out;
}
:root {
    --white: #fff;
    --black: #1b1b1b;
    --darkblack: #030303;
    /* --red: rgba(30, 56, 106, 1); */
    --red: #c93505;
    --alert: #e8262c;
    --xl_blue: rgba(245, 248, 248, 1);
    --grey-1000: #666;
    --grey-700: #979797;
    --grey-600: #a5a5a5;
    --grey-400: #c3c3c3;
    --grey-200: #e1e1e1;
    --grey-100: #f0f0f0;
    --grey-50: #f8f6f5;
    --overlay-black: #1b1b1b47;
}
*,
:after,
:before {
    box-sizing: border-box;
}
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    font-size: clamp(8px, 2.5vw, 9px);
}
body {
    background-color: var(--white);
    color: var(--black);
    font-family: Roboto, sans-serif;
    font-size: 1.75rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.5;
    text-align: left;
}
body,
html {
    height: 100%;
}
body {
    overflow-x: hidden;
    width: 100vw;
}
.root {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.content {
    flex: 1 0 auto;
}
.container {
    padding-left: min(5vw, 80px);
    padding-right: min(5vw, 80px);
}
.row {
    margin-left: max(-1.875vw, -30px);
    margin-right: max(-1.875vw, -30px);
}
.col,
[class*="col-"] {
    padding-left: min(1.875vw, 30px);
    padding-right: min(1.875vw, 30px);
}
.btn {
    align-items: center;
    background-color: initial;
    background-image: none;
    border: 0;
    border-radius: 0;
    column-gap: 0.5em;
    display: inline-flex;
    font-size: 2rem;
    font-weight: 400;
    justify-content: center;
    line-height: 1.5;
    padding: 0.25em 0;
    text-align: center;
    text-decoration: none;
    user-select: none;
    white-space: nowrap;
}
.btn.disabled,
.btn:disabled,
.btn:focus {
    box-shadow: none;
}
.btn:not(:disabled):not(.disabled) {
    cursor: pointer;
}
.btn svg {
    display: block;
}
.btn-primary {
    color: var(--red);
    overflow: hidden;
    position: relative;
}
.btn-primary svg {
    fill: var(--red);
    display: block;
    height: 3rem;
    width: 3rem;
}
.btn-primary .btn-inner {
    align-items: center;
    column-gap: 0.5em;
    display: inline-flex;
    justify-content: center;
    position: relative;
}
.btn-primary .btn-icon,
.btn-primary .btn-label {
    transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    will-change: opacity, transform;
}

.project .btn-primary-right {
    margin-top: 6rem;
}

.form .row {
    row-gap: 2rem;
}
.form-control {
    appearance: none;
    background-color: initial;
    border-color: var(--grey-200);
    border-radius: 0;
    border-style: solid;
    border-width: 0 0 1px;
    box-shadow: none;
    color: var(--black);
    display: block;
    font-size: 2rem;
    font-weight: 400;
    height: 6rem;
    letter-spacing: -0.01em;
    line-height: 1.5;
    padding: 1.5rem 0;
    transition: border-color 0.15s;
    width: 100%;
}
.form-control::placeholder {
    color: var(--grey-700);
    opacity: 1;
}
.form-control:disabled,
.form-control[readonly] {
    opacity: 1;
}
.form-control:focus,
.form-control:hover {
    border-color: var(--black);
}
.form-control:focus {
    outline: 0;
}
.form-control ~ .error {
    color: var(--alert);
    font-size: 1.5rem;
    line-height: 1.33333333;
    margin-top: 1rem;
    padding-left: 2.5rem;
    position: relative;
}
.form-control ~ .error svg {
    fill: var(--alert);
    display: block;
    height: 16px;
    left: 0;
    position: absolute;
    top: 0;
    width: 16px;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}
.input-group {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
}
.input-group > .form-control {
    flex: 1 1 auto;
    min-width: 0;
    position: relative;
    width: 1%;
}
.input-group-append,
.input-group-prepend {
    display: flex;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.lead,
.prices-item__value,
.steps-item__title,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Roboto Flex", serif;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.2;
}
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 5rem;
}
.h1:first-child,
.h2:first-child,
.h3:first-child,
.h4:first-child,
.h5:first-child,
.h6:first-child,
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
    margin-top: 0;
}
.h1,
h1 {
    font-size: 3.75rem;
    margin-bottom: 0.625em;
    margin-top: 0 !important;
}
.h2,
h2 {
    font-size: 3.25rem;
    margin-bottom: 0.6875em;
}
.h3,
h3 {
    font-size: 2.75rem;
    margin-bottom: 0.75em;
}
.h4,
h4 {
    font-size: 2.5rem;
    margin-bottom: 0.8125em;
}
.h5,
.h6,
h5,
h6 {
    font-size: 2rem;
    margin-bottom: 0.875em;
}
a {
    text-decoration: none;
}
.modal-foot a,
.section-content a:not([class]),
.steps-item__footer a {
    box-shadow: inset 0 -1px var(--grey-1000);
    color: var(--grey-1000);
    transition: color 0.15s, box-shadow 0.15s;
}
.modal-foot a:hover,
.section-content a:hover:not([class]),
.steps-item__footer a:hover {
    box-shadow: inset 0 -1px var(--red);
    color: var(--red);
}
.nav-link {
    padding-bottom: 0;
}
a:not([class]),
.dropdown-link span,
.nav-link,
.breadcrumb-link,
.btn-primary .btn-label,
.footer-nav .nav-link,
.footer-side .nav-link,
.topbar-contacts .nav-link:not([role="button"]) {
    position: relative;
}
a:not([class]):after,
.dropdown-link span:after,
.nav-link:after,
.breadcrumb-link:after,
.btn-primary .btn-label:after,
.footer-nav .nav-link:after,
.footer-side .nav-link:after,
.topbar-contacts .nav-link:not([role="button"]):after {
    background-color: currentColor;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    pointer-events: none;
    position: absolute;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 100%;
    will-change: transform;
}
.nav-link:after {
    color: var(--red);
}
a:not([class]):hover:after,
.dropdown-link:hover span:after,
.nav-link:hover:after,
.breadcrumb-link:hover:after,
.btn-primary:hover .btn-label:after,
.footer-nav .nav-link:hover:after,
.footer-side .nav-link:hover:after,
.topbar-contacts .nav-link:hover:not([role="button"]):after {
    transform: scaleX(1);
    transform-origin: left center;
}
.accordion-body,
.callback-content,
.checklist-item__content,
.steps-item__content {
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.5;
}
p {
    margin-bottom: 0.75em;
    margin-top: 0;
}
blockquote {
    font-family: "Roboto Flex", serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.5;
    margin: 5rem 0;
}
blockquote p {
    margin-bottom: 1em;
}
blockquote footer {
    font-family: "Roboto Flex", sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}
blockquote footer cite {
    color: var(--grey-1000);
    display: block;
    font-style: normal;
    font-weight: 400;
}
.lead {
    font-size: 2rem;
    margin-bottom: 5rem;
}
.lead > :first-child {
    margin-top: 0;
}
.lead > :last-child {
    margin-bottom: 0;
}
.lead ul > li {
    padding-left: 2.875rem !important;
}
.lead ul > li:before {
    height: 1.2em !important;
    left: 0 !important;
    width: 1.2em !important;
}
ol,
ul {
    margin-top: 0;
}
.section-content ul {
    list-style: none;
    margin-bottom: 0.75em;
    padding-left: 0;
}
.section-content ul > li {
    margin-bottom: 1.25rem;
    padding-left: 4.5rem;
    position: relative;
}
.section-content ul > li:last-child {
    margin-bottom: 0;
}
.section-content ul > li:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M14.5 12a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0z' fill='%231B1B1B'/%3E%3C/svg%3E");
    background-size: 100%;
    content: "";
    height: 1.6em;
    left: calc(2rem - 0.8em);
    position: absolute;
    top: 0;
    width: 1.6em;
}
.section-content ul > li > ul {
    margin-bottom: 0;
    margin-top: 1.25rem;
}
.section-content ol {
    counter-reset: li;
    list-style: none;
    margin-bottom: 0.75em;
    padding-left: 0;
}
.section-content ol > li {
    margin-bottom: 1.25rem;
    padding-left: 4.5rem;
    position: relative;
}
.section-content ol > li:last-child {
    margin-bottom: 0;
}
.section-content ol > li:before {
    content: counters(li, ".") ".";
    counter-increment: li;
    font-size: 1em;
    font-weight: 600;
    left: 0;
    position: absolute;
    text-align: center;
    top: 0;
    width: 4rem;
}
.section-content ol > li > ol {
    margin-bottom: 0;
    margin-top: 1.25rem;
}
.checklist-item__content ul {
    margin-top: 0 !important;
}
.checklist-item__content ul > li {
    margin-bottom: 0.75em !important;
    padding-left: 3.125rem !important;
}
.checklist-item__content ul > li:last-child {
    margin-bottom: 0 !important;
}
.checklist-item__content ul > li:before {
    height: 1.5em !important;
    left: 0 !important;
    width: 1.5em !important;
}
.nav {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}
.nav-link {
    display: block;
}
table .nav-link {
    display: inline-block;
}
.nav-link.disabled,
.nav-link:not([href]) {
    cursor: default;
}
.swiper-navigation {
    column-gap: 2rem;
    display: flex;
    justify-content: flex-end;
    margin-top: 4rem;
}
.swiper-button-next,
.swiper-button-prev {
    border: 1px solid var(--grey-100);
    border-radius: 50%;
    height: 6rem;
    padding: 0;
    transition: border-color 0.15s;
    width: 6rem;
}
.swiper-button-next:disabled,
.swiper-button-prev:disabled {
    border-color: var(--grey-100);
    pointer-events: none;
}
.swiper-button-next:disabled svg,
.swiper-button-prev:disabled svg {
    fill: var(--grey-100);
}
.swiper-button-next:not(:disabled):hover,
.swiper-button-prev:not(:disabled):hover {
    border-color: var(--red);
}
.multiple-slider {
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
}
.multiple-slider-news {
    overflow: visible;
}
.multiple-slider-news .multiple-slider-item {
    margin-right: 16px;
}
.multiple-slider-item {
    display: flex;
    flex-shrink: 1;
    height: auto;
    padding: 1.5rem 0;
    width: auto;
}
.multiple-slider-item:last-child {
    margin-right: 0;
}
.multiple-slider-item:focus {
    outline: 0;
}
.multiple-slider-item figure {
    display: flex;
    flex-direction: column;
    margin: 0;
    row-gap: 1.5rem;
    width: max-content;
}
.multiple-slider-item figure img {
    display: block;
    height: 22.5rem;
    transform-origin: center bottom;
    transition: transform 0.3s ease-in-out;
    width: auto;
    aspect-ratio: 3/2;
    will-change: transform;
    object-fit: cover;
}
.multiple-slider-item figure figcaption {
    color: var(--black);
    font-size: 1.75rem;
    line-height: 1.5;
}
.multiple-slider-item:hover figure img {
    transform: scale(1.04);
}

.news-item__wrapper .section {
    margin-bottom: 6rem;
}

.hide-scrollbar {
    --fancybox-scrollbar-compensate: 0;
}
.fancybox__backdrop {
    --fancybox-bg: var(--overlay-black);
    backdrop-filter: blur(4px);
}
.fancybox__slide {
    padding: 6rem 1rem;
}
.fancybox__carousel .fancybox__slide.has-ajax,
.fancybox__carousel .fancybox__slide.has-html,
.fancybox__carousel .fancybox__slide.has-inline {
    overflow-x: hidden;
    padding: 0;
}
.fancybox__carousel .fancybox__slide.has-youtube .fancybox__content {
    height: 100%;
    width: 100%;
}
.modal {
    --fancybox-opacity: 1;
    --fancybox-color: var(--black);
    --fancybox-content-color: var(--black);
    --fancybox-content-bg: var(--white);
    border: 1px solid var(--black);
    border-radius: 0;
    flex-shrink: 0;
    max-width: 55rem;
    min-height: 55rem;
    padding: 6rem 2.5rem 2.5rem;
    width: 100%;
}
.modal .is-close-btn {
    --f-button-border-radius: 0 !important;
    --f-button-color: var(--fancybox-color) !important;
    --f-button-hover-color: var(--fancybox-color) !important;
    --f-button-bg: #0000 !important;
    --f-button-hover-bg: #0000 !important;
    --f-button-active-bg: #0000 !important;
    --f-button-width: 4rem !important;
    --f-button-height: 4rem !important;
    --f-button-svg-width: 3rem !important;
    --f-button-svg-height: 3rem !important;
    --f-button-svg-filter: none !important;
    --f-button-svg-disabled-opacity: 1 !important;
    --f-button-svg-stroke-width: 0 !important;
    --f-button-svg-fill: var(--fancybox-color) !important;
    opacity: 1 !important;
    position: absolute !important;
    right: 2rem !important;
    top: 2rem !important;
    z-index: 1 !important;
}
.modal .is-close-btn svg {
    stroke-linejoin: miter;
    stroke-linecap: butt;
    transition: none;
}
.modal-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    row-gap: 2.5rem;
}
.modal-head > :last-child {
    margin-bottom: 0;
}
.modal-body {
    flex: 1 0 auto;
}
.modal-foot {
    font-size: 1.5rem;
    line-height: 1.33333333;
}
.modal-foot > :last-child {
    margin-bottom: 0;
}
.modal-title {
    font-size: 3.75rem;
}
.modal-centered {
    min-height: 0;
    text-align: center;
}
.header-backdrop,
.searchbar-backdrop {
    backdrop-filter: blur(4px);
    background-color: var(--overlay-black);
    height: 100vh;
    left: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100vw;
}
.accordion-item {
    border-top: 1px solid var(--grey-100);
}
.accordion-button {
    background-color: initial;
    background-image: none;
    border: 0;
    border-radius: 0;
    color: var(--black);
    column-gap: 3rem;
    cursor: pointer;
    display: flex;
    font-size: 1.75rem;
    font-weight: 600;
    justify-content: space-between;
    line-height: 1.6;
    overflow-anchor: none;
    padding: 2rem 0;
    text-align: left;
    user-select: none;
    width: 100%;
}
.accordion-button svg {
    fill: var(--black);
    display: block;
    flex-shrink: 0;
    height: 1.6em;
    transition: transform 0.15s;
    width: 1.6em;
}
.accordion-button:not(.collapsed) svg {
    transform: rotateX(-180deg);
}
.accordion-body {
    color: var(--grey-1000);
    padding-bottom: 2.5rem;
}
.section {
    margin-bottom: 9rem;
    margin-top: 1.5rem;
}
h1.section-title {
    margin-bottom: 1.25em;
}
h2.section-title {
    margin-bottom: 1.375em;
}
.section-content > :first-child {
    margin-top: 0;
}
.section-content > :last-child {
    margin-bottom: 0;
}
.section-content img {
    height: auto;
    max-width: 100%;
}
.section-content figure img {
    display: block;
    width: 100%;
}
.section-footer {
    margin-top: 4rem;
}
.logo-text {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    text-transform: uppercase;
    color: #666666;
}
@media (max-width: 1279px) {
    .logo-text {
        display: none;
    }
}
.header {
    position: sticky;
    top: 0;
    transition: transform 0.3s;
    z-index: 1030;
}
.header:after {
    background-color: var(--grey-100);
    bottom: 0;
    content: "";
    height: 1px;
    left: 1.25vw;
    pointer-events: none;
    position: absolute;
    width: 97.5vw;
}
.header-fixed:not(.scroll-up) .header:not(:hover) {
    transform: translateY(-100%);
}
.header-backdrop {
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s linear 0.6s;
    visibility: hidden;
    z-index: 1020;
}
.dropdown-opened .header-backdrop {
    opacity: 1;
    transition-delay: 0s;
    visibility: visible;
}
.header-outer {
    background-color: var(--white);
}
.header-inner {
    height: 8rem;
}
.header-row {
    height: 100%;
}
.header-col {
    height: 100%;
    position: static;
}
.header-main {
    align-items: center;
    column-gap: 1.5rem;
    display: flex;
    justify-content: space-between;
}
.header-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 0.5rem;
    margin-top: 12px;
}
.header-divider {
    margin-left: auto;
    margin-right: auto;
}
.header-contacts .nav-link {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 0.5rem;
}
.header-contacts .nav-link svg {
    fill: var(--black);
    display: block;
    height: 3rem;
    width: 3rem;
}
.header-logo svg {
    display: block;
}
.topbar {
    position: relative;
}
.topbar-outer {
    align-items: center;
    column-gap: 2.5rem;
    display: flex;
    justify-content: space-between;
}
.topbar-divider {
    background-color: var(--grey-200);
    height: 2.5rem;
    width: 1px;
}
.topbar-social {
    column-gap: 1.5rem;
    flex-grow: 1;
}
.topbar-social .nav-link svg {
    fill: var(--grey-400);
    display: block;
    height: 3.5rem;
    transition: fill 0.15s;
    width: 3.5rem;
}
.topbar-social .nav-link:hover svg {
    fill: var(--grey-1000);
}
.topbar-social .nav-divider {
    margin-left: auto;
    margin-right: auto;
}
.topbar-contacts {
    column-gap: 2rem;
}
.topbar-contacts .nav-link {
    color: var(--grey-700);
    font-size: 1.75rem;
    line-height: 1.42857143;
    transition: color 0.15s;
}
.topbar-contacts .nav-link:hover {
    color: var(--grey-1000);
}
.topbar-contacts .nav-link[role="button"] {
    color: var(--red);
}
.topbar-contacts .nav-link[role="button"]:hover {
    color: var(--black);
}
.topbar-search {
    background-color: var(--white);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
body:not(.searchbar-opened) .topbar-search {
    display: none;
}
.topbar-search-form .input-group {
    column-gap: 1rem;
}
.topbar-search-form .input-group-append,
.topbar-search-form .input-group-prepend {
    align-items: center;
}
.topbar-search-form .input-group-append > svg,
.topbar-search-form .input-group-prepend > svg {
    fill: var(--grey-700);
    display: block;
    height: 3rem;
    width: 3rem;
}
.topbar-search-form .form-control {
    border-color: var(--black);
    color: var(--black);
    font-size: 1.75rem;
    height: 3rem;
    padding: 0;
}
.topbar-search-form .form-control::placeholder {
    color: var(--grey-700);
}
.navbar-nav {
    column-gap: 3.5rem;
}
.navbar-nav .nav-link {
    color: var(--black);
    font-size: 2rem;
    line-height: 1.5;
    padding: 0.75rem 0 0 0;
    transition: color 0.15s;
}
.navbar-nav .nav-item.active .nav-link,
.navbar-nav .nav-link:hover {
    color: var(--red);
}
body.searchbar-opened .navbar-nav {
    pointer-events: none;
}
body.searchbar-opened .navbar-nav .nav-link {
    color: var(--grey-200) !important;
}
.navbar-nav .dropdown-toggle {
    position: relative;
    padding-bottom: 24px;
}
.navbar-nav .dropdown-toggle:after {
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    top: 100%;
    width: 100%;
}
.navbar-nav .dropdown-collapse {
    background-color: var(--white);
    left: 0;
    opacity: 0;
    padding: 2.5rem 0 5rem;
    position: absolute;
    top: 100%;
    transform: scaleY(0);
    transform-origin: top center;
    transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0s linear 0.3s, visibility 0s linear 0.3s;
    visibility: hidden;
    width: 100vw;
    will-change: transform;
    z-index: 1000;
}
.navbar-nav .dropdown:hover .dropdown-collapse {
    opacity: 1;
    transform: scaleY(1);
    transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0s, visibility 0s;
    visibility: visible;
}
.navbar-nav .dropdown-menu {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
    row-gap: 2rem;
}
.navbar-nav .dropdown-item {
    opacity: 0;
    transform: translateY(-100%);
    transition: opacity 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53), transform 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    will-change: opacity, transform;
}
.navbar-nav .dropdown:hover .dropdown-item {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.navbar-nav .dropdown:hover .dropdown-item:first-child {
    transition-delay: 0.25s;
}
.navbar-nav .dropdown:hover .dropdown-item:nth-child(2) {
    transition-delay: 0.15s;
}
.navbar-nav .dropdown:hover .dropdown-item:nth-child(3) {
    transition-delay: 0.05s;
}
/* .navbar-nav .dropdown:hover .dropdown-item:nth-child(4) {
  transition-delay: 0.2s;
}
.navbar-nav .dropdown:hover .dropdown-item:nth-child(5) {
  transition-delay: 0.15s;
}
.navbar-nav .dropdown:hover .dropdown-item:nth-child(6) {
  transition-delay: 0.18s;
}
.navbar-nav .dropdown:hover .dropdown-item:nth-child(7) {
  transition-delay: 0.14s;
}
.navbar-nav .dropdown:hover .dropdown-item:nth-child(8) {
  transition-delay: 0.1s;
} */
.navbar-nav .dropdown-link {
    color: var(--black);
    display: block;
    font-size: 2rem;
    line-height: 1.5;
    padding-left: 3rem;
    position: relative;
    transition: color 0.15s;
}
.navbar-nav .dropdown-link svg {
    fill: var(--red);
    display: block;
    height: 3rem;
    left: 0;
    position: absolute;
    top: 0;
    width: 3rem;
}
.navbar-nav .dropdown-item.active .dropdown-link,
.navbar-nav .dropdown-link:hover {
    color: var(--red);
}
.searchbar {
    background-color: var(--white);
    height: 8rem;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1080;
}
.searchbar > .container {
    align-items: center;
    display: flex;
    height: 100%;
}
body:not(.searchbar-opened) .searchbar {
    display: none;
}
.searchbar-backdrop {
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s linear 0.6s;
    visibility: hidden;
    z-index: 1070;
}
.searchbar-opened .searchbar-backdrop {
    opacity: 1;
    transition-delay: 0s;
    visibility: visible;
}
.searchbar-form {
    width: 100%;
}
.searchbar-form .input-group {
    column-gap: 1rem;
}
.searchbar-form .input-group-append,
.searchbar-form .input-group-prepend {
    align-items: center;
}
.searchbar-form .input-group-append > svg,
.searchbar-form .input-group-prepend > svg {
    fill: var(--grey-1000);
    display: block;
    height: 3rem;
    width: 3rem;
}
.searchbar-form .form-control {
    border-color: var(--grey-200);
    color: var(--black);
    font-size: 1.75rem;
    height: 4rem;
    padding: 0;
}
.searchbar-form .form-control::placeholder {
    color: var(--grey-700);
}
.searchbar-form .searchbar-toggler {
    padding: 0.5rem;
}
.searchbar-form .searchbar-toggler svg {
    fill: var(--black);
}
.searchbar-toggler {
    align-items: center;
    background-color: initial;
    background-image: none;
    border: 0;
    border-radius: 0;
    color: var(--grey-700);
    column-gap: 1rem;
    display: flex;
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.42857143;
    padding: 0;
    text-align: center;
    text-decoration: none;
    user-select: none;
    white-space: nowrap;
}
.searchbar-toggler:not(:disabled):not(.disabled) {
    cursor: pointer;
}
.searchbar-toggler svg {
    fill: var(--grey-700);
    display: block;
    height: 3rem;
    transition: fill 0.15s;
    width: 3rem;
}
.searchbar-toggler:hover svg {
    fill: var(--grey-1000);
}
.offcanvas {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    background-color: var(--white);
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(-100%);
    width: 100%;
    will-change: transform;
    z-index: 1050;
}
.offcanvas-opened .offcanvas {
    transform: translate(0);
}
.offcanvas-outer {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    row-gap: 2rem;
}
.offcanvas-head {
    height: 8rem;
    position: relative;
}
.offcanvas-head > .container {
    align-items: center;
    column-gap: 1.5rem;
    display: flex;
    height: 100%;
    justify-content: space-between;
}
.offcanvas-head .offcanvas-contacts .nav-link {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 0.5rem;
}
.offcanvas-head .offcanvas-contacts .nav-link svg {
    fill: var(--black);
    display: block;
    height: 3rem;
    width: 3rem;
}
.offcanvas-divider {
    margin-left: auto;
    margin-right: auto;
}
.offcanvas-logo svg {
    display: block;
}
.offcanvas-body {
    flex: 1 0 auto;
}
.offcanvas-nav {
    flex-direction: column;
}
.offcanvas-nav .nav-item {
    box-shadow: inset 0 1px var(--grey-200);
}
.offcanvas-nav .nav-link {
    align-items: flex-start;
    color: var(--black);
    column-gap: 0.5rem;
    display: flex;
    font-size: 2.5rem;
    justify-content: space-between;
    line-height: 1.2;
    padding: 2rem 0;
}
.offcanvas-nav .dropdown-toggle svg {
    fill: var(--black);
    display: block;
    height: 3rem;
    transition: transform 0.15s;
    width: 3rem;
}
.offcanvas-nav .dropdown-menu {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
}
.offcanvas-nav .dropdown-menu:after {
    content: "";
    display: block;
    height: 2.5rem;
    width: 100%;
}
.offcanvas-nav .dropdown-link {
    color: var(--black);
    display: block;
    font-size: 1.75rem;
    line-height: 1.42857143;
    padding-bottom: 1rem;
    padding-left: 3rem;
    padding-top: 1rem;
    position: relative;
}
.offcanvas-nav .dropdown-link svg {
    fill: var(--red);
    display: block;
    height: 2.5rem;
    left: 0;
    position: absolute;
    top: 1rem;
    width: 2.5rem;
}
.offcanvas-nav .dropdown-item.active .dropdown-link {
    color: var(--red);
}
.offcanvas-nav .dropdown.open .dropdown-toggle svg {
    transform: rotateX(-180deg);
}
.offcanvas-foot > .container {
    display: flex;
    flex-direction: column;
    padding-bottom: 4rem;
    row-gap: 2rem;
}
.offcanvas-foot .searchbar-toggler {
    box-shadow: inset 0 -1px var(--grey-200);
    padding-bottom: 2.25rem;
    padding-top: 0.75rem;
}
.offcanvas-foot .searchbar-toggler svg {
    height: 2.5rem;
    width: 2.5rem;
}
.offcanvas-foot .offcanvas-contacts {
    column-gap: 1.5rem;
    row-gap: 1.5rem;
}
.offcanvas-foot .offcanvas-contacts .nav-link {
    color: var(--black);
    font-size: 1.75rem;
    line-height: 1.42857143;
}
.offcanvas-foot .offcanvas-contacts .nav-link[role="button"] {
    color: var(--red);
}
.offcanvas-social {
    column-gap: 1.5rem;
}
.offcanvas-social .nav-link svg {
    fill: var(--grey-400);
    display: block;
    height: 4rem;
    width: 4rem;
}
.offcanvas-social .nav-divider {
    margin-left: auto;
    margin-right: auto;
}
.offcanvas-toggler {
    align-items: center;
    background-color: initial;
    background-image: none;
    border: 0;
    border-radius: 0;
    display: flex;
    justify-content: center;
    padding: 0.5rem;
}
.offcanvas-toggler svg {
    fill: var(--black);
    display: block;
    height: 3rem;
    width: 3rem;
}
.breadcrumb {
    color: var(--black);
    display: flex;
    flex-wrap: wrap;
    font-size: 1.5rem;
    line-height: 1.33333333;
    list-style: none;
    margin-bottom: 4rem;
    padding-left: 0;
}
.breadcrumb-item:not(:last-child):after {
    content: "/";
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.breadcrumb-link {
    color: var(--grey-700);
}
.breadcrumb-link:hover {
    color: var(--grey-1000);
}
.pagination {
    list-style: none;
    margin-bottom: 0;
    margin-top: 5rem;
    padding-left: 0;
}
.pagination,
.pagination-link {
    align-items: center;
    display: flex;
    justify-content: center;
}
.pagination-link {
    color: var(--red);
    height: 4rem;
    transition: background-color 0.15s;
    width: 4rem;
}
.pagination-link svg {
    fill: var(--red);
    display: block;
    height: 2.5rem;
    width: 2.5rem;
}
.pagination-link:hover {
    background-color: var(--grey-50);
}
.pagination-item.active .pagination-link {
    background-color: var(--red);
    color: var(--white);
}
.pagination-item.disabled .pagination-link {
    cursor: auto;
    pointer-events: none;
}
.pagination-next.disabled .pagination-link svg,
.pagination-prev.disabled .pagination-link svg {
    fill: var(--grey-200);
}
.brands-item__image {
    align-items: center;
    aspect-ratio: 2/1;
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding: clamp(8px, 1.25vw, 12px);
    position: relative;
}
.brands-item__link {
    transition: 0.15s transform;
}
.brands-item__link:hover {
    transform: scale(1.05);
}
.brands-item__image:after {
    background-color: var(--grey-100);
    bottom: 1.5rem;
    content: "";
    position: absolute;
    right: 0;
    top: 1.5rem;
    width: 1px;
}
.brands-item__image img {
    display: block;
    max-height: 100%;
    max-width: 100%;
}
.brands-item:last-child .brands-item__image:after {
    content: none;
}
.no-scroll {
    overflow: hidden;
}
.ymaps-2-1-79-image {
    border: 2px solid white;
    border-radius: 50%;
    background-size: auto 100% !important;
    background-repeat: no-repeat;
}
.custom-fancybox-layout {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.3s cubic-bezier(0.16, 1.04, 0.86, 0.99);
    overflow: scroll;
    align-items: center;
}

.custom-fancybox-layout.show {
    opacity: 1;
}

.custom-fancybox-layout.hide {
    opacity: 0;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
    z-index: -1;
}

.close-button {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    color: white;
    font-size: 2em;
    cursor: pointer;
    z-index: 1001;
}

.custom-fancybox-layout .fancybox__content {
    background: none;
}

.custom-fancybox-layout .fancybox__content .is-close {
    top: 30px;
}

.custom-fancybox-layout .custom-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto;
    width: 900px;
    align-content: center;
    height: fit-content;
}

.custom-fancybox-layout .custom-grid-item {
    height: auto;
    width: 100%;
    aspect-ratio: 4/3;
    overflow-clip-margin: unset;
    object-fit: cover;
}

.cookie-consent {
    display: none;
    align-items: center;
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    color: #212121;
    padding: 16px 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    font-weight: 700;
    min-width: 280px;
    max-width: 740px;
    z-index: 1000;
    * {
        font-family: "Roboto Flex", serif;
    }
}
.cookie-consent p {
    font-weight: 700;
    font-weight: 400;
    margin: 8px 0;
    padding-right: 24px;
    font-size: 14px;
    line-height: calc(20 / 14);
    color: #212121;
}
.cookie-consent .cookie-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.cookie-consent button {
    padding: 18px 34px;
    background-color: var(--red);
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 28px;
    font-size: 16px;
    transition: 0.2s ease-out;
    border: 1px solid transparent;
    &:hover{
        background-color: transparent;
        color: var(--red);
        border: 1px solid var(--red);
    }
}
.cookie-consent .close {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    color: #aaa;
    font-size: 18px;
}
.cookie-icon {
    font-size: 24px;
    margin-right: 12px;
    align-self: flex-start;
}
@media (max-width: 768px) {
    .cookie-consent .cookie-wrapper {
        flex-direction: column;
    }
    .cookie-consent p {
        padding-right: 0;
    }
    .cookie-consent button {
        padding: 12px 24px;
        font-size: 14px;
        align-self: start;
    }
}

@media (min-width: 769px) {
    .custom-fancybox-layout {
        overflow: hidden;
    }
}
@media (max-width: 768px) {
    .custom-fancybox-layout .custom-grid {
        grid-template-columns: repeat(1, 1fr);
        justify-items: center;
        padding: 16px;
        padding-top: 179px;
    }
    .custom-fancybox-layout .custom-grid-item {
        width: calc(100% - 64px);
    }
}
.contacts .row {
    row-gap: 4rem;
}
.contacts-item {
    box-shadow: inset 0 1px var(--grey-100);
    display: flex;
    flex-direction: column;
    padding: 2rem 0;
    row-gap: 0.5rem;
}
.contacts-item__title {
    color: var(--grey-1000);
    font-size: 1.75rem;
    line-height: 1.42857143;
}
.contacts-item__value {
    color: var(--black);
    font-size: 2rem;
    line-height: 1.5;
}
.contacts-item__value a {
    color: inherit;
    transition: color 0.15s;
}
.contacts-item__value a:hover {
    color: var(--red);
}
.contacts-social {
    column-gap: 1.5rem;
}
.contacts-social .nav-link svg {
    fill: var(--grey-600);
    display: block;
    height: 4rem;
    transition: fill 0.15s;
    width: 4rem;
}
.contacts-social .nav-link:hover svg {
    fill: var(--grey-1000);
}
.contacts-social .nav-divider {
    display: none;
}
.contacts-map {
    aspect-ratio: 1/1;
    width: 100%;
}
.main-advantages-list {
    column-gap: 48px;
    row-gap: 48px;
    justify-content: flex-start;
    padding-left: min(1.875vw, 30px);
    padding-right: min(1.875vw, 30px);
    @media (max-width: 1100px) {
        column-gap: 24px;
        row-gap: 24px;
    }
    @media (max-width: 768px) {
        column-gap: 12px;
        row-gap: 12px;
    }
}
.advantages-item__lead {
    font-size: 14px;
}
.advantages-item__lead h5 {
    font-size: 2.25rem;
    margin-bottom: 0.5em;
}
.main-advantages-item {
    padding: 24px 32px 42px 32px;
    width: 31%;
    background: var(--xl_blue);
}
.main-keyprojects-list {
    row-gap: 32px;
}
.project-gallery-wrapper {
    display: flex;
    flex-wrap: wrap;
    row-gap: 16px;
}
.project-gallery-wrapper .image-wrapper {
    padding-left: 0;
}
.project-gallery-wrapper label {
    display: block;
    font-size: 14px;
    line-height: 1.2;
}
.project-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: top;
}
.keyprojects-item__image img {
    width: 100%;
    height: auto;
    transition: 0.15s transform;
}
.main-keyprojects-item:hover img {
    transform: scale(1.03);
}
.keyprojects-item__link {
    font-family: "Roboto Flex", sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 120%;
    color: #1b1b1b;
    transition: 0.1s ease-in;
}

.keyprojects-item__outer {
    position: relative;
    border-top: 1px solid var(--black);
    padding-top: 19px;
}

.keyprojects-item__outer:hover .keyprojects-item__link {
    color: var(--red);
}
.keyprojects-item__outer:hover .keyprojects-item__image {
    transform: scale(1.02);
}
.keyprojects-item__image {
    margin-bottom: 8px;
    transition: 0.15s;
}
.keyprojects-item__link {
    transition: 0.15s ease-in;
}
.keyprojects-item__link:before {
    background-color: #0000;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: auto;
    position: absolute;
    right: 0;
    top: 0;
}
.advantages-item__title {
    font-family: "Roboto Flex", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 32px;
    line-height: 120%;
    color: var(--red);
    margin-bottom: 18px;
}
.news-list {
    row-gap: 5rem;
}
.news-item__outer {
    height: 100%;
    position: relative;
}
.news-item__outer:hover .news-item__image {
    transform: scale(1.02);
}
.news-item__image {
    transform: scale(0.99);
    transition: 0.15s;
    aspect-ratio: 1/1;
}
.news-item__image img {
    aspect-ratio: 1/1;
    height: 100%;
    object-fit: cover;
    overflow-clip-margin: unset;
}
.news-item__date {
    font-size: 1.5rem;
    line-height: 1.33333333;
    margin: 1rem 0;
}
.news-item__title {
    font-family: "Roboto Flex", sans-serif;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: normal;
    line-height: 1.2;
}
.news-item__link {
    color: inherit;
    transition: color 0.15s;
    position: relative;
}
.news-item__link:before {
    background-color: #0000;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: auto;
    position: absolute;
    right: 0;
    top: 0;
}
.news-item__link:hover {
    color: var(--red);
}
.news-item__lead {
    color: var(--grey-1000);
    font-size: 1.5rem;
    line-height: 1.5;
    margin-top: 1.75rem;
}
.services-list {
    row-gap: 5rem;
}
.services-item__outer {
    display: flex;
    flex-direction: column;

    height: 100%;
    position: relative;
}
.services-item__image {
    height: 19.5rem;
    margin-bottom: 2rem;
}
.services-item__image img {
    display: block;
    height: 100%;
    max-width: 100%;
}
.services-item__title {
    font-family: "Roboto Flex", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 1.2;
    margin-bottom: 4rem;
    max-width: 75%;
}
.services-item__title:last-child {
    margin-bottom: 0;
}
.services-item__link {
    color: inherit;
    transition: color 0.15s;
}
.services-item__link:before {
    background-color: #0000;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: auto;
    position: absolute;
    right: 0;
    top: 0;
}
.services-item__link:hover {
    color: var(--red);
}
.services-item__number {
    font-size: 1.75rem;
    line-height: 1.42857143;
    margin-top: auto;
}
.main-about .h3 {
    color: var(--red);
    margin-bottom: 4rem;
}
.main-brands-slider {
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
}
.main-brands-slider-item {
    margin-right: clamp(8px, 1.5vw, 20px);
    width: clamp(160px, 25vw, 252px);
}
.main-brands-slider-item:last-child {
    margin-right: 0;
}
.main-hero {
    margin-top: 0;
    position: relative;
    z-index: 0;
}
.main-hero__back {
    margin: auto;
    right: 0;
    width: 97.5vw;
    z-index: -1;
}
.main-hero__back,
.main-hero__back img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
}
.main-hero__back img {
    object-fit: cover;
    object-position: top;
    width: 100%;
    opacity: 0;
    transition: 0.5s;
}
.main-hero__back img.lazyloaded {
    opacity: 1;
}
.main-hero__front {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: calc(100vh - 1.25vw - 8rem);
    padding: 7.5rem 0;
}
.main-hero__subtitle {
    font-family: "Roboto Flex", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 120%;
    color: #ffffff;
    margin-bottom: 14px;
}
.main-hero__title {
    color: var(--white);
    font-family: "Roboto Flex", sans-serif;
    font-size: 3.75rem;
    font-weight: 700;
    line-height: 1.2;
}
.main-hero__title {
    opacity: 0;
    transform: translate3d(-200px, 0, 0);
    transition: 0.7s;
}
.main-hero__subtitle {
    opacity: 0;

    transform: translate3d(0, -50px, 0);
    transition: 0.8s;
}
.ready .main-hero__title,
.ready .main-hero__subtitle {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}
.main-poster {
    position: relative;
    z-index: 0;
}
/* .main-poster__back {
  background-color: var(--red);
  height: 100%;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 97.5vw;
  z-index: -1;
} */
.main-poster__front [class*="col-"] {
    position: static;
}
.main-poster__container {
    display: flex;
    background-color: var(--red);
}
@media (max-width: 1280px) {
    .main-poster__container {
        flex-direction: column;
    }
}
.main-poster__wrapper {
    display: flex;
    align-items: center;
}
.main-poster__body {
    color: var(--white);
    font-family: "Roboto Flex", sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 150%;
}
.main-poster__body blockquote {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.main-poster__body blockquote footer {
    margin-top: auto;
}
.main-poster__body blockquote footer cite {
    color: var(--grey-700);
}
.main-poster__side {
    align-items: flex-end;
    display: flex;
    height: 100%;
    justify-content: flex-start;
}
.main-poster__image img {
    display: block;
}
@media (min-width: 0) {
    .main-poster__image img {
        max-height: 100%;
        max-width: 100%;
    }
}
@media (min-width: 1280px) {
    .main-poster__container {
        height: 280px;
    }
    .main-poster__image {
        position: relative !important;
    }
    .main-poster__image img {
        position: absolute;
        bottom: 0;
        left: 20%;
        max-height: 130%;
        max-width: auto;
    }
}
.main-poster__container,
.main-poster__image {
    padding: 0;
}
.main-poster__button {
    align-items: center;
    background-color: var(--white);
    bottom: 2rem;
    color: var(--black);
    column-gap: 1rem;
    display: inline-flex;
    font-size: 2rem;
    line-height: 1;
    padding: 1.25rem 2.75rem;
    position: absolute;
    transition: color 0.15s, background-color 0.15s;
}
.main-poster__button:after,
.main-poster__button:before {
    border: 2px solid var(--red);
    bottom: 2px;
    content: "";
    position: absolute;
    top: 2px;
    width: 1rem;
}
.main-poster__button:before {
    border-right-width: 0;
    left: 2px;
}
.main-poster__button:after {
    border-left-width: 0;
    right: 2px;
}
.main-poster__button svg {
    fill: var(--red);
    display: block;
    height: 4rem;
    transition: fill 0.15s;
    width: 4rem;
}
.main-poster__button:hover {
    background-color: var(--red);
    color: var(--white);
}
.main-poster__button:hover svg {
    fill: var(--white);
}
.main-services-slider {
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
}
.main-services-slider-item {
    height: auto;
    margin-right: 3rem;
    user-select: none;
    width: 32rem;
}
.services-item__link,
.main-services-slider-item img {
    transition: 0.15s ease-in;
    transform-origin: center;
}
.main-services-slider-item:hover img {
    transform: scale(1.02);
}
.main-services-slider-item:hover .services-item__link {
    color: var(--red);
}
.main-services-slider-item:last-child {
    margin-right: 0;
}
.main-services-slider-item .services-item__outer {
    border-left: 1px solid black;
    padding: 0 2rem;
}
.checklist-items {
    display: flex;
    flex-direction: column;
    row-gap: 5rem;
}
.checklist-item {
    border-top: 1px solid var(--black);
    padding-top: 2rem;
}
.checklist-item__content {
    color: var(--grey-1000);
}
.checklist-item__content .warning {
    color: var(--alert);
    margin-bottom: 1.25em;
}
.checklist-item__content .docs > li:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='m12 16-5-5 1.4-1.45 2.6 2.6V4h2v8.15l2.6-2.6L17 11l-5 5zm-6 4c-.55 0-1.02-.196-1.412-.587A1.926 1.926 0 0 1 4 18v-3h2v3h12v-3h2v3c0 .55-.196 1.02-.587 1.413A1.926 1.926 0 0 1 18 20H6z' fill='%231B1B1B'/%3E%3C/svg%3E");
}
.callback__outer {
    background-color: var(--xl_blue);
    padding: 3rem;
}
.callback-content {
    color: var(--grey-1000);
}
.callback-footer {
    margin-top: 2rem;
}
.steps-subtitle {
    margin-top: 0 !important;
}
.steps-list {
    margin-top: 5rem;
    row-gap: 5rem;
}
.steps-item__outer {
    border-left: 1px solid var(--black);
    height: 100%;
    padding-left: 2rem;
}
.steps-item__title {
    font-size: 2.75rem;
    margin-bottom: 1.375rem;
}
.steps-item__content {
    color: var(--grey-1000);
}
.steps-item__footer {
    font-size: 2rem;
    margin-top: 1.375rem;
}
.prices-subtitle {
    margin-top: 0 !important;
}
.prices-list {
    margin-top: 5rem;
    row-gap: 5rem;
}
.prices-item__outer {
    border-top: 1px solid var(--black);
    padding-top: 2rem;
}
.prices-item__outer > .row {
    row-gap: 2rem;
}
.prices-item__title {
    font-size: 1.75rem;
}
.prices-item__value {
    font-size: 2rem;
}
.cases-item__outer {
    border-top: 1px solid var(--grey-100);
    padding: 2rem 0;
    position: relative;
}
.cases-item__name {
    color: var(--black);
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.6;
}
.cases-item__link {
    color: inherit;
    transition: color 0.15s;
}
.cases-item__link:before {
    background-color: #0000;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: auto;
    position: absolute;
    right: 0;
    top: 0;
}
.cases-item__link:hover {
    color: var(--red);
}
.cases-item__date {
    margin-top: 1rem;
}
.cases-item__date,
.search-total {
    font-size: 1.5rem;
    line-height: 1.33333333;
}
.search-total {
    margin-bottom: 2rem;
}
.search-item__outer {
    box-shadow: inset 0 1px var(--grey-100);
    padding: 2rem 2rem 2rem 4.5rem;
    position: relative;
}
.search-item__number {
    font-weight: 600;
    left: 0;
    position: absolute;
    text-align: center;
    width: 4rem;
}
.search-item__title {
    font-weight: 600;
    margin-bottom: 0.75em;
}
.search-item__link {
    color: inherit;
    transition: color 0.15s;
}
.search-item__link:hover {
    color: var(--red);
}
.search-item__link:before {
    background-color: #0000;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: auto;
    position: absolute;
    right: 0;
    top: 0;
}
.search-item__text > :last-child {
    margin-bottom: 0;
}
.notfound {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    justify-content: center;
    padding: 0 min(5vw, 80px);
}
.notfound-title {
    text-align: center;
}
.notfound-title span {
    color: var(--red);
    white-space: nowrap;
}
.notfound-button {
    display: flex;
    justify-content: center;
}
.footer {
    background-color: var(--grey-50);
    padding: 6rem 0;
}
.footer-main .row,
.footer-side .row {
    row-gap: 1.5rem;
}
.footer-logo svg {
    display: block;
}
.footer-nav {
    flex-direction: column;
}
.footer-nav .nav-item {
    padding: 0.75rem 0;
}
.footer-nav .nav-link {
    color: var(--black);
    display: inline-block;
    font-size: 2rem;
    line-height: 1.5;

    transition: color 0.15s;
}
.footer-nav .nav-item.active .nav-link,
.footer-nav .nav-link:hover {
    color: var(--red);
}
.footer-contacts {
    column-gap: 1.5rem;
}
.footer-contacts .nav-link {
    color: var(--black);
    display: inline-block;
    font-size: 1.75rem;
    line-height: 1.25;
    padding: 0.75rem 0;
    transition: color 0.15s;
}
.footer-contacts .nav-link:hover {
    color: var(--red);
}
.footer-social {
    column-gap: 1.5rem;
}
.footer-social .nav-link svg {
    fill: var(--grey-600);
    display: block;
    height: 4rem;
    transition: fill 0.15s;
    width: 4rem;
}
.footer-social .nav-link:hover svg {
    fill: var(--grey-1000);
}
.footer-social .nav-divider {
    margin-left: auto;
    margin-right: auto;
}
.copyright {
    color: var(--grey-1000);
    font-size: 1.75rem;
    line-height: 1.42857143;
}
.footer-side {
    box-shadow: inset 0 1px var(--grey-200);
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}
.footer-side .nav-link {
    color: var(--grey-700);
    font-size: 1.75rem;
    line-height: 1.42857143;
    transition: color 0.15s;
}
.footer-side .nav-link:hover {
    color: var(--grey-1000);
}
.developer {
    color: var(--grey-700);
    font-size: 1.75rem;
    line-height: 1.42857143;
}
.developer a {
    color: var(--grey-1000);
    transition: color 0.2s ease-in-out;
    &:hover {
        color: #d12b2b;
    }
}
.mobile {
    display: none;
}
@media (min-width: 640px) {
    .col-md {
        flex: 1 0 0%;
    }
    .row-cols-md-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-md-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-md-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-md-3 > * {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .row-cols-md-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-md-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-md-6 > * {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .col-md-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }
    .col-md-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-md-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-md-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-md-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-md-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-md-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-md-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-md-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
    .col-md-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }
    .col-md-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .offset-md-0 {
        margin-left: 0;
    }
    .offset-md-1 {
        margin-left: 8.33333333%;
    }
    .offset-md-2 {
        margin-left: 16.66666667%;
    }
    .offset-md-3 {
        margin-left: 25%;
    }
    .offset-md-4 {
        margin-left: 33.33333333%;
    }
    .offset-md-5 {
        margin-left: 41.66666667%;
    }
    .offset-md-6 {
        margin-left: 50%;
    }
    .offset-md-7 {
        margin-left: 58.33333333%;
    }
    .offset-md-8 {
        margin-left: 66.66666667%;
    }
    .offset-md-9 {
        margin-left: 75%;
    }
    .offset-md-10 {
        margin-left: 83.33333333%;
    }
    .offset-md-11 {
        margin-left: 91.66666667%;
    }
    .g-md-0,
    .gx-md-0 {
        --bs-gutter-x: 0;
    }
    .g-md-0,
    .gy-md-0 {
        --bs-gutter-y: 0;
    }
    .g-md-1,
    .gx-md-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-md-1,
    .gy-md-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-md-2,
    .gx-md-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-md-2,
    .gy-md-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-md-3,
    .gx-md-3 {
        --bs-gutter-x: 1rem;
    }
    .g-md-3,
    .gy-md-3 {
        --bs-gutter-y: 1rem;
    }
    .g-md-4,
    .gx-md-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-md-4,
    .gy-md-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-md-5,
    .gx-md-5 {
        --bs-gutter-x: 3rem;
    }
    .g-md-5,
    .gy-md-5 {
        --bs-gutter-y: 3rem;
    }
    .order-md-first {
        order: -1 !important;
    }
    .order-md-0 {
        order: 0 !important;
    }
    .order-md-1 {
        order: 1 !important;
    }
    .order-md-2 {
        order: 2 !important;
    }
    .order-md-3 {
        order: 3 !important;
    }
    .order-md-4 {
        order: 4 !important;
    }
    .order-md-5 {
        order: 5 !important;
    }
    .order-md-last {
        order: 6 !important;
    }
    .d-md-inline {
        display: inline !important;
    }
    .d-md-inline-block {
        display: inline-block !important;
    }
    .d-md-block {
        display: block !important;
    }
    .d-md-flex {
        display: flex !important;
    }
    .d-md-inline-flex {
        display: inline-flex !important;
    }
    .d-md-none {
        display: none !important;
    }
    html {
        font-size: clamp(8px, 1.25vw, 9px);
    }
    blockquote {
        max-width: 75%;
    }
    .multiple-slider-item figure img {
        /* height: 30rem; */
    }
    .contacts-map {
        aspect-ratio: 16/10;
    }
    .checklist-title {
        margin-bottom: 0;
    }
    .callback__outer {
        padding: 5rem;
    }
}
@media (min-width: 1280px) {
    .container,
    .container-md,
    .container-xl {
        max-width: 1600px;
    }
    .col-xl {
        flex: 1 0 0%;
    }
    .row-cols-xl-auto > * {
        flex: 0 0 auto;
        width: auto;
    }
    .row-cols-xl-1 > * {
        flex: 0 0 auto;
        width: 100%;
    }
    .row-cols-xl-2 > * {
        flex: 0 0 auto;
        width: 50%;
    }
    .row-cols-xl-3 > * {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .row-cols-xl-4 > * {
        flex: 0 0 auto;
        width: 25%;
    }
    .row-cols-xl-5 > * {
        flex: 0 0 auto;
        width: 20%;
    }
    .row-cols-xl-6 > * {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
    }
    .col-xl-1 {
        flex: 0 0 auto;
        width: 8.33333333%;
    }
    .col-xl-2 {
        flex: 0 0 auto;
        width: 16.66666667%;
    }
    .col-xl-3 {
        flex: 0 0 auto;
        width: 25%;
    }
    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }
    .col-xl-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }
    .col-xl-6 {
        flex: 0 0 auto;
        width: 50%;
    }
    .col-xl-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }
    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
    .col-xl-9 {
        flex: 0 0 auto;
        width: 75%;
    }
    .col-xl-10 {
        flex: 0 0 auto;
        width: 83.33333333%;
    }
    .col-xl-11 {
        flex: 0 0 auto;
        width: 91.66666667%;
    }
    .col-xl-12 {
        flex: 0 0 auto;
        width: 100%;
    }
    .offset-xl-0 {
        margin-left: 0;
    }
    .offset-xl-1 {
        margin-left: 8.33333333%;
    }
    .offset-xl-2 {
        margin-left: 16.66666667%;
    }
    .offset-xl-3 {
        margin-left: 25%;
    }
    .offset-xl-4 {
        margin-left: 33.33333333%;
    }
    .offset-xl-5 {
        margin-left: 41.66666667%;
    }
    .offset-xl-6 {
        margin-left: 50%;
    }
    .offset-xl-7 {
        margin-left: 58.33333333%;
    }
    .offset-xl-8 {
        margin-left: 66.66666667%;
    }
    .offset-xl-9 {
        margin-left: 75%;
    }
    .offset-xl-10 {
        margin-left: 83.33333333%;
    }
    .offset-xl-11 {
        margin-left: 91.66666667%;
    }
    .g-xl-0,
    .gx-xl-0 {
        --bs-gutter-x: 0;
    }
    .g-xl-0,
    .gy-xl-0 {
        --bs-gutter-y: 0;
    }
    .g-xl-1,
    .gx-xl-1 {
        --bs-gutter-x: 0.25rem;
    }
    .g-xl-1,
    .gy-xl-1 {
        --bs-gutter-y: 0.25rem;
    }
    .g-xl-2,
    .gx-xl-2 {
        --bs-gutter-x: 0.5rem;
    }
    .g-xl-2,
    .gy-xl-2 {
        --bs-gutter-y: 0.5rem;
    }
    .g-xl-3,
    .gx-xl-3 {
        --bs-gutter-x: 1rem;
    }
    .g-xl-3,
    .gy-xl-3 {
        --bs-gutter-y: 1rem;
    }
    .g-xl-4,
    .gx-xl-4 {
        --bs-gutter-x: 1.5rem;
    }
    .g-xl-4,
    .gy-xl-4 {
        --bs-gutter-y: 1.5rem;
    }
    .g-xl-5,
    .gx-xl-5 {
        --bs-gutter-x: 3rem;
    }
    .g-xl-5,
    .gy-xl-5 {
        --bs-gutter-y: 3rem;
    }
    .order-xl-first {
        order: -1 !important;
    }
    .order-xl-0 {
        order: 0 !important;
    }
    .order-xl-1 {
        order: 1 !important;
    }
    .order-xl-2 {
        order: 2 !important;
    }
    .order-xl-3 {
        order: 3 !important;
    }
    .order-xl-4 {
        order: 4 !important;
    }
    .order-xl-5 {
        order: 5 !important;
    }
    .order-xl-last {
        order: 6 !important;
    }
    .d-xl-inline {
        display: inline !important;
    }
    .d-xl-inline-block {
        display: inline-block !important;
    }
    .d-xl-block {
        display: block !important;
    }
    .d-xl-flex {
        display: flex !important;
    }
    .d-xl-inline-flex {
        display: inline-flex !important;
    }
    .d-xl-none {
        display: none !important;
    }
    html {
        font-size: clamp(8px, 0.625vw, 9px);
    }
    body {
        font-size: 2rem;
    }
    .btn {
        font-size: 2.5rem;
        line-height: 1.2;
    }
    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-top: 6rem;
    }
    .h1,
    h1 {
        font-size: 6rem;
    }
    .h2,
    h2 {
        font-size: 5rem;
    }
    .h3,
    h3 {
        font-size: 4rem;
    }
    .h4,
    h4 {
        font-size: 3rem;
    }
    .h5,
    .h6,
    h5,
    h6 {
        font-size: 2.5rem;
    }
    blockquote {
        margin-top: 6rem;
    }
    .lead,
    blockquote {
        font-size: 2.5rem;
        margin-bottom: 6rem;
    }
    .lead ul > li {
        padding-left: 3.5rem !important;
    }
    .section-content ul > li {
        margin-bottom: 1.5rem;
    }
    .section-content ul > li > ol {
        margin-top: 1.5rem;
    }
    .section-content ol > li {
        margin-bottom: 1.5rem;
    }
    .section-content ol > li > ol {
        margin-top: 1.5rem;
    }
    .swiper-navigation {
        margin-top: 6rem;
    }
    .swiper-button-next,
    .swiper-button-prev {
        height: 6.5rem;
        width: 6.5rem;
    }
    .multiple-slider-item figure img {
        /* height: 37.5rem; */
    }
    .accordion-button {
        font-size: 2rem;
        padding: 2.5rem 0;
    }
    .section {
        margin-bottom: 14rem;
    }
    .section-footer {
        margin-top: 5rem;
    }
    .header-inner {
        height: 12.5rem;
    }
    .header .offcanvas-toggler,
    .header-contacts,
    .header-divider,
    .searchbar,
    .searchbar-backdrop {
        display: none;
    }
    .breadcrumb {
        margin-bottom: 6rem;
    }
    .pagination {
        margin-top: 6rem;
    }
    .pagination-link {
        height: 5rem;
        width: 5rem;
    }
    .pagination-link svg {
        height: 3rem;
        width: 3rem;
    }
    .contacts-item {
        padding: 2.5rem 0;
    }
    .news-list {
        row-gap: 8.5rem;
    }
    .news-item__outer {
    }
    .news-item__date {
        margin: 1.25rem 0;
    }
    .news-item__title {
        font-size: 2.5rem;
    }
    .news-item__lead {
        font-size: 1.75rem;
        margin-top: 2rem;
    }
    .services-list {
        row-gap: 8.5rem;
    }
    .services-item__image {
        margin-bottom: 2.5rem;
    }
    .services-item__title {
        font-size: 2.5rem;
    }
    .services-item__number {
        font-size: 2rem;
        line-height: 1.5;
    }
    .main-about .h3 {
        margin-bottom: 5rem;
    }
    .main-hero__front {
        min-height: calc(100vh - 1.25vw - 12.5rem);
        padding: 13rem 0;
    }
    .main-hero__title {
        font-size: 6rem;
    }
    .main-poster__body blockquote {
        max-width: none;
    }
    .main-poster__button {
        bottom: 6rem;
    }
    .main-services-slider-item {
        margin-right: min(3.75vw, 60px);
        width: min(27.5vw, 440px);
    }
    .main-services-slider-item .services-item__outer {
        padding: 0 2.5rem;
    }
    .checklist-items {
        row-gap: 6rem;
    }
    .checklist-item {
        padding-top: 2.5rem;
    }
    .callback__outer {
        padding: 6rem;
    }
    .callback-footer {
        margin-top: 3rem;
    }
    .steps-list {
        margin-top: 6rem;
        row-gap: 6rem;
    }
    .steps-item__outer {
        padding-left: 2.5rem;
    }
    .steps-item__title {
        font-size: 4rem;
        margin-bottom: 2rem;
    }
    .steps-item__footer {
        margin-top: 2rem;
    }
    .prices-list {
        margin-top: 6rem;
        row-gap: 6rem;
    }
    .prices-item__outer {
        padding-top: 2.5rem;
    }
    .prices-item__title {
        font-size: 2rem;
    }
    .prices-item__value {
        font-size: 2.5rem;
        text-align: right;
    }
    .cases-item__outer {
        padding: 2.5rem 0;
    }
    .cases-item__name {
        font-size: 2rem;
    }
    .cases-item__date {
        margin-top: 1.25rem;
    }
    .search-total {
        font-size: 1.75rem;
        line-height: 1.42857143;
        margin-bottom: 2.5rem;
    }
    .footer-contacts {
        column-gap: 2.5rem;
    }
    .footer-contacts .nav-link {
        font-size: 2rem;
        line-height: 1.5;
    }
    .footer-social {
        justify-content: flex-end;
    }
    .footer-social .nav-divider {
        display: none;
    }
    .developer {
        text-align: right;
    }
}
@media (max-width: 1279px) {
    .header-side {
        display: none;
    }
    .main-poster__container {
        flex-direction: column;
    }
    .header-logo img,
    .offcanvas-logo img {
        height: 4rem;
        width: auto;
    }
    .main-poster__body {
        padding-top: 4rem;
    }
    .main-poster__body blockquote footer {
        bottom: 13.5rem;
        position: absolute;
        z-index: 1;
    }
    .main-poster__side {
    }
    .footer-main .row .col-12:not(:first-child):not(:last-child) {
        box-shadow: inset 0 1px var(--grey-200);
        padding-top: 1.5rem;
    }
    .footer-logo svg {
        height: 4rem;
        width: auto;
    }
    .price-table thead,
    .units-container.desktop {
        display: none;
    }
    .price-table tbody {
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    }
    .price.row-wrapper {
        padding-top: 8px !important;
    }
    .price-table tr {
        padding: 12px 0;
        border-top: 1px solid var(--grey-200);
    }
    tr .row-wrapper {
        display: flex;
        flex-direction: row;
        font-weight: 600;
        font-size: 16px;
        padding-bottom: 0 !important;
        padding-left: 0 !important;
        align-items: baseline;
    }
    .mobile {
        display: flex;
    }
    .units-container.mobile {
        display: flex;
        font-weight: 400;
        font-size: 14px;
    }

    .price-table tr {
        display: flex;
        flex-direction: column;
    }
    .price-table td {
        border: none;
    }
    .price-table .row-wrapper:nth-child(1) {
        padding-top: 0 !important;
    }
}
.row-wrapper .nav-link span {
    color: var(--black);
}
.row-wrapper,
.units {
    padding-left: 20px;
}
.main-advantages-item {
    padding: 24px 32px 42px 32px;
    width: 31%;
    background: var(--xl_blue);
    @media (max-width: 1600px) {
        width: 30%;
    }
    @media (max-width: 1100px) {
        width: 48%;
    }
    @media (max-width: 600px) {
        width: 100%;
    }
}
@media (max-width: 1600px) {
    .main-advantages-item {
        width: 30%;
    }
}
@media (max-width: 1100px) {
    .main-advantages-item {
        width: 48%;
    }
}
@media (max-width: 600px) {
    .main-advantages-item {
        width: 100%;
    }
}
@media (max-width: 639px) {
    .modal {
        border: 0;
        flex-grow: 1;
        max-width: none;
        padding-left: 2rem;
        padding-right: 2rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .collapsing,
    .collapsing.collapse-horizontal,
    .fade {
        transition: none;
    }
}
@media print {
    .d-print-inline {
        display: inline !important;
    }
    .d-print-inline-block {
        display: inline-block !important;
    }
    .d-print-block {
        display: block !important;
    }
    .d-print-flex {
        display: flex !important;
    }
    .d-print-inline-flex {
        display: inline-flex !important;
    }
    .d-print-none {
        display: none !important;
    }
}
.large-header {
    position: relative;
    width: 100%;
    max-height: 100%;
    opacity: 0.6;
    background: none;
    overflow: hidden;
    background-size: cover;
    background-position: center center;
    z-index: 1;
    canvas {
        max-height: 100%;
        width: 100%;
    }
}

@media only screen and (max-width: 768px) {
    .demo-1 .main-title {
        font-size: 3em;
    }
}

table {
    border-collapse: collapse;
    margin: 20px auto;
    text-align: left;
}

.prices-container {
    margin: 0 auto;
}

th,
td {
    padding: 12px 20px;
    border: 1px solid var(--grey-200);
}

th {
    background: #ffffff;
    font-weight: bold;
}

td {
    padding-left: 0;
}

tr:nth-child(1) th {
    border-bottom: 2px solid #000;
}
