@charset "UTF-8";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@200;300;400;500;600;700&display=swap");

html {
    font-family: sans-serif;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/**
 * Remove default margin.
 */
body {
    margin: 0;
}
#range-slide-internal,#range-slide-mortgage{
    display: none;
}

#range-slide-internal.active,#range-slide-mortgage.active{
    display: block;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
    display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
    outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
    font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
    background: #ff0;
    color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
    border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
    overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
    margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
    box-sizing: content-box;
    height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
    overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
    line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    box-sizing: content-box;
    /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
    font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

:root {
    --c-red: #DD5471;
    --c-text: #171717;
    --c-lazuli: #26769D;
    --c-bg: #FAFAFA;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before, .slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

body.compensate-for-scrollbar {
    overflow: hidden;
}

.fancybox-active {
    height: auto;
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden;
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 99992;
}

.fancybox-container * {
    box-sizing: border-box;
}

.fancybox-bg, .fancybox-inner, .fancybox-outer, .fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.fancybox-bg {
    background: #1e1e1e;
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
    opacity: .9;
    transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-caption, .fancybox-infobar, .fancybox-navigation .fancybox-button, .fancybox-toolbar {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997;
}

.fancybox-show-caption .fancybox-caption, .fancybox-show-infobar .fancybox-infobar, .fancybox-show-nav .fancybox-navigation .fancybox-button, .fancybox-show-toolbar .fancybox-toolbar {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible;
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fancybox-toolbar {
    right: 0;
    top: 0;
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden;
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994;
}

.fancybox-slide:before {
    content: "";
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

.fancybox-is-sliding .fancybox-slide, .fancybox-slide--current, .fancybox-slide--next, .fancybox-slide--previous {
    display: block;
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0;
}

.fancybox-slide--image:before {
    display: none;
}

.fancybox-slide--html {
    padding: 6px;
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 44px;
    position: relative;
    text-align: left;
    vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in;
}

.fancybox-can-pan .fancybox-content, .fancybox-can-swipe .fancybox-content {
    cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
    cursor: grabbing;
}

.fancybox-container [data-selectable=true] {
    cursor: text;
}

.fancybox-image, .fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
}

.fancybox-spaceball {
    z-index: 1;
}

.fancybox-slide--iframe .fancybox-content, .fancybox-slide--map .fancybox-content, .fancybox-slide--pdf .fancybox-content, .fancybox-slide--video .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.fancybox-slide--video .fancybox-content {
    background: #000;
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff;
}

.fancybox-iframe, .fancybox-video {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0;
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%;
}

.fancybox-error p {
    color: #444;
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 0;
}

.fancybox-button {
    background: rgba(30, 30, 30, 0.6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px;
}

.fancybox-button, .fancybox-button:link, .fancybox-button:visited {
    color: #ccc;
}

.fancybox-button:hover {
    color: #fff;
}

.fancybox-button:focus {
    outline: none;
}

.fancybox-button.fancybox-focus {
    outline: 1px dotted;
}

.fancybox-button[disabled], .fancybox-button[disabled]:hover {
    color: #888;
    cursor: default;
    outline: none;
}

.fancybox-button div {
    height: 100%;
}

.fancybox-button svg {
    display: block;
    height: 100%;
    overflow: visible;
    position: relative;
    width: 100%;
}

.fancybox-button svg path {
    fill: currentColor;
    stroke-width: 0;
}

.fancybox-button--fsenter svg:nth-child(2), .fancybox-button--fsexit svg:first-child, .fancybox-button--pause svg:first-child, .fancybox-button--play svg:nth-child(2) {
    display: none;
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleX(0);
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998;
}

.fancybox-close-small {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #ccc;
    cursor: pointer;
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: -12px;
    top: -44px;
    z-index: 401;
}

.fancybox-close-small:hover {
    color: #fff;
    opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
    color: currentColor;
    padding: 10px;
    right: 0;
    top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small, .fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none;
}

.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px;
}

.fancybox-navigation .fancybox-button div {
    padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right);
}

.fancybox-caption {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.85) 0, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, transparent);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996;
}

@supports (padding: max(0px)) {
    .fancybox-caption {
        padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
    }
}

.fancybox-caption--separate {
    margin-top: -50px;
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all;
}

.fancybox-caption a, .fancybox-caption a:link, .fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none;
}

.fancybox-caption a:hover {
    color: #fff;
    text-decoration: underline;
}

.fancybox-loading {
    animation: a 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999;
}

@keyframes a {
    to {
        transform: rotate(1turn);
    }
}

.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translateZ(0);
}

.fancybox-fx-fade.fancybox-slide--next, .fancybox-fx-fade.fancybox-slide--previous {
    opacity: 0;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1;
}

.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scaleX(1);
}

.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    transform: rotate(-1turn);
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    transform: rotate(1turn);
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    transform: rotate(0deg);
}

.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scaleX(1) translateZ(0);
}

.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translateZ(0) scale(1);
}

@media (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px;
    }

    .fancybox-slide--image {
        padding: 6px 0;
    }

    .fancybox-close-small {
        right: -6px;
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px;
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px;
    }

    @supports (padding: max(0px)) {
        .fancybox-caption {
            padding-left: max(12px, env(safe-area-inset-left));
            padding-right: max(12px, env(safe-area-inset-right));
        }
    }
}

.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center;
}

.fancybox-share h1 {
    color: #222;
    font-size: 35px;
    font-weight: 700;
    margin: 0 0 20px;
}

.fancybox-share p {
    margin: 0;
    padding: 0;
}

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

.fancybox-share__button:link, .fancybox-share__button:visited {
    color: #fff;
}

.fancybox-share__button:hover {
    text-decoration: none;
}

.fancybox-share__button--fb {
    background: #3b5998;
}

.fancybox-share__button--fb:hover {
    background: #344e86;
}

.fancybox-share__button--pt {
    background: #bd081d;
}

.fancybox-share__button--pt:hover {
    background: #aa0719;
}

.fancybox-share__button--tw {
    background: #1da1f2;
}

.fancybox-share__button--tw:hover {
    background: #0d95e8;
}

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px;
}

.fancybox-share__button svg path {
    fill: #fff;
}

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%;
}

.fancybox-thumbs {
    background: #ddd;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995;
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block;
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px;
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px;
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, 0.1);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px;
}

.fancybox-thumbs__list a:before {
    border: 6px solid #ff5268;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 99991;
}

.fancybox-thumbs__list a:focus:before {
    opacity: .5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active:before {
    opacity: 1;
}

@media (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px;
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px;
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px);
    }
}

.select2-container {
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
    position: relative;
    vertical-align: middle;
}

.select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    user-select: none;
    -webkit-user-select: none;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    display: block;
    padding-left: 8px;
    padding-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select2-container .select2-selection--single .select2-selection__clear {
    position: relative;
}

.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px;
}

.select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    user-select: none;
    -webkit-user-select: none;
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: inline-block;
    overflow: hidden;
    padding-left: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.select2-container .select2-search--inline {
    float: left;
}

.select2-container .select2-search--inline .select2-search__field {
    box-sizing: border-box;
    border: none;
    font-size: 100%;
    margin-top: 5px;
    padding: 0;
}

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.select2-dropdown {
    background-color: white;
    border: 1px solid #aaa;
    border-radius: 4px;
    box-sizing: border-box;
    display: block;
    position: absolute;
    left: -100000px;
    width: 100%;
    z-index: 1051;
}

.select2-results {
    display: block;
}

.select2-results__options {
    list-style: none;
    margin: 0;
    padding: 0;
}

.select2-results__option {
    padding: 6px;
    user-select: none;
    -webkit-user-select: none;
}

.select2-results__option[aria-selected] {
    cursor: pointer;
}

.select2-container--open .select2-dropdown {
    left: 0;
}

.select2-container--open .select2-dropdown--above {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--open .select2-dropdown--below {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-search--dropdown {
    display: block;
    padding: 4px;
}

.select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box;
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

.select2-search--dropdown.select2-search--hide {
    display: none;
}

.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 99;
    background-color: #fff;
    filter: alpha(opacity=0);
}

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

.select2-container--default .select2-selection--single {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px;
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #888 transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0;
}

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
    float: left;
}

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
    left: 1px;
    right: auto;
}

.select2-container--default.select2-container--disabled .select2-selection--single {
    background-color: #eee;
    cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #888 transparent;
    border-width: 0 4px 5px 4px;
}

.select2-container--default .select2-selection--multiple {
    background-color: white;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: text;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%;
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
    list-style: none;
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-top: 5px;
    margin-right: 10px;
    padding: 1px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #333;
}

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
    float: right;
}

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
    margin-left: 5px;
    margin-right: auto;
}

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border: solid black 1px;
    outline: 0;
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #eee;
    cursor: default;
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
    display: none;
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa;
}

.select2-container--default .select2-search--inline .select2-search__field {
    background: transparent;
    border: none;
    outline: 0;
    box-shadow: none;
    -webkit-appearance: textfield;
}

.select2-container--default .select2-results > .select2-results__options {
    max-height: 200px;
    overflow-y: auto;
}

.select2-container--default .select2-results__option[role=group] {
    padding: 0;
}

.select2-container--default .select2-results__option[aria-disabled=true] {
    color: #999;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #ddd;
}

.select2-container--default .select2-results__option .select2-results__option {
    padding-left: 1em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -2em;
    padding-left: 3em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -3em;
    padding-left: 4em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -4em;
    padding-left: 5em;
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -5em;
    padding-left: 6em;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #5897fb;
    color: white;
}

.select2-container--default .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px;
}

.select2-container--classic .select2-selection--single {
    background-color: #f7f7f7;
    border: 1px solid #aaa;
    border-radius: 4px;
    outline: 0;
    background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
    background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
    background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
}

.select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px;
}

.select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 10px;
}

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999;
}

.select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0);
}

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
    border-color: #888 transparent transparent transparent;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0;
}

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
    float: left;
}

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
    border: none;
    border-right: 1px solid #aaa;
    border-radius: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    left: 1px;
    right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--single {
    border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none;
}

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #888 transparent;
    border-width: 0 4px 5px 4px;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
    background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
    background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0);
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
    background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
    background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0);
}

.select2-container--classic .select2-selection--multiple {
    background-color: white;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: text;
    outline: 0;
}

.select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb;
}

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px;
}

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #555;
}

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
    float: right;
    margin-left: 5px;
    margin-right: auto;
}

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto;
}

.select2-container--classic.select2-container--open .select2-selection--multiple {
    border: 1px solid #5897fb;
}

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select2-container--classic .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa;
    outline: 0;
}

.select2-container--classic .select2-search--inline .select2-search__field {
    outline: 0;
    box-shadow: none;
}

.select2-container--classic .select2-dropdown {
    background-color: white;
    border: 1px solid transparent;
}

.select2-container--classic .select2-dropdown--above {
    border-bottom: none;
}

.select2-container--classic .select2-dropdown--below {
    border-top: none;
}

.select2-container--classic .select2-results > .select2-results__options {
    max-height: 200px;
    overflow-y: auto;
}

.select2-container--classic .select2-results__option[role=group] {
    padding: 0;
}

.select2-container--classic .select2-results__option[aria-disabled=true] {
    color: grey;
}

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
    background-color: #3875d7;
    color: white;
}

.select2-container--classic .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px;
}

.select2-container--classic.select2-container--open .select2-dropdown {
    border-color: #5897fb;
}

.ui-autocomplete, #menu > ul, .breadcrumbs, .foot-menu ul, .slick-dots, .flat ul, .columns ul, .tabset > ul, .contacts-info.offices ul:not([class]) {
    margin: 0;
    padding: 0;
    list-style: none;
}

.clearfix:after {
    content: '';
    display: block;
    clear: both;
}

.ellipsis {
    white-space: nowrap;
    /* 1 */
    text-overflow: ellipsis;
    /* 2 */
    overflow: hidden;
}

[data-bg] {
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.input label, .about-video::before, .cert-item::before, .product-info, .contacts-info::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

html {
    box-sizing: border-box;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    height: 100%;
}

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

* {
    max-height: 1000000px;
}

body {
    color: var(--c-text);
    background: #FAFAFA;
    font: 300 20px/30px "Raleway", "Helvetica Neue", "Helvetica", sans-serif;
    min-width: 1220px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 100%;
    overflow-y: scroll;
    font-feature-settings: 'pnum' on, 'lnum' on;
}

@media (max-width: 1023px) {
    body {
        min-width: 768px;
    }
}

@media (max-width: 767px) {
    body {
        min-width: 320px;
        overflow-x: hidden;
        font-size: 16px;
        line-height: 22px;
    }
}

img {
    max-width: 100%;
    height: auto;
}

.gm-style img {
    max-width: none;
}

svg {
    transition: fill 0.3s ease;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6,
.h {
    margin: 0 0 30px;
}

h1, .h1 {
    font-weight: 300;
    font-size: 80px;
    line-height: 74px;
    margin-top: -6px;
    margin-bottom: 60px;
}

@media (max-width: 1023px) {
    h1, .h1 {
        font-size: 72px;
        margin-bottom: 50px;
    }
}

@media (max-width: 767px) {
    h1, .h1 {
        font-size: 50px;
        line-height: 54px;
        margin-bottom: 40px;
    }
}

h2, .h2 {
    font-weight: 300;
    font-size: 50px;
    line-height: 60px;
    margin-bottom: 80px;
}

@media (max-width: 1023px) {
    h2, .h2 {
        font-size: 45px;
        line-height: 52px;
        margin-bottom: 50px;
    }
}

@media (max-width: 767px) {
    h2, .h2 {
        font-size: 30px;
        line-height: 30px;
        margin-bottom: 35px;
    }
}

h3, .h3 {
    font-weight: 600;
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 36px;
}

h4, .h4 {
    font-weight: 600;
    font-size: 25px;
    line-height: 30px;
    margin-bottom: 36px;
}

h5, .h5 {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 15px;
}

p {
    margin: 0 0 26px;
}

p a {
    color: var(--c-text);
}

p a:hover {
    color: var(--c-red);
}

a {
    color: var(--c-text);
    transition: color 0.3s ease;
    text-decoration: none;
}

a:hover, a:focus {
    text-decoration: none;
    color: var(--c-red);
}

.center {
    text-align: center;
}

form,
fieldset {
    margin: 0;
    padding: 0;
    border-style: none;
}

input::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}

input::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

input:-webkit-autofill,
input:-internal-autofill-selected {
    -webkit-box-shadow: inset 0 0 0px 1000px white;
}

input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
textarea {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    box-sizing: border-box;
    border: 0;
    margin: 0;
    width: 100%;
    display: block;
    color: black;
    background: none;
    position: relative;
    border-radius: 3px;
    padding: 25px 20px 8px;
    font-weight: 500;
    font-size: 20px;
    line-height: 15px;
    outline: none;
}

input[type="text"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
input[type="datetime"]::-webkit-input-placeholder,
input[type="datetime-local"]::-webkit-input-placeholder,
input[type="date"]::-webkit-input-placeholder,
input[type="month"]::-webkit-input-placeholder,
input[type="time"]::-webkit-input-placeholder,
input[type="week"]::-webkit-input-placeholder,
input[type="number"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="url"]::-webkit-input-placeholder,
input[type="search"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="color"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: rgba(23, 23, 23, 0.4);
    transition: color 0.3s ease;
}

input[type="text"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
input[type="datetime"]::-moz-placeholder,
input[type="datetime-local"]::-moz-placeholder,
input[type="date"]::-moz-placeholder,
input[type="month"]::-moz-placeholder,
input[type="time"]::-moz-placeholder,
input[type="week"]::-moz-placeholder,
input[type="number"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="url"]::-moz-placeholder,
input[type="search"]::-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="color"]::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;
    color: rgba(23, 23, 23, 0.4);
    transition: color 0.3s ease;
}

input[type="text"]:-moz-placeholder,
input[type="password"]:-moz-placeholder,
input[type="datetime"]:-moz-placeholder,
input[type="datetime-local"]:-moz-placeholder,
input[type="date"]:-moz-placeholder,
input[type="month"]:-moz-placeholder,
input[type="time"]:-moz-placeholder,
input[type="week"]:-moz-placeholder,
input[type="number"]:-moz-placeholder,
input[type="email"]:-moz-placeholder,
input[type="url"]:-moz-placeholder,
input[type="search"]:-moz-placeholder,
input[type="tel"]:-moz-placeholder,
input[type="color"]:-moz-placeholder,
textarea:-moz-placeholder {
    color: rgba(23, 23, 23, 0.4);
    transition: color 0.3s ease;
}

input[type="text"]:-ms-input-placeholder,
input[type="password"]:-ms-input-placeholder,
input[type="datetime"]:-ms-input-placeholder,
input[type="datetime-local"]:-ms-input-placeholder,
input[type="date"]:-ms-input-placeholder,
input[type="month"]:-ms-input-placeholder,
input[type="time"]:-ms-input-placeholder,
input[type="week"]:-ms-input-placeholder,
input[type="number"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="url"]:-ms-input-placeholder,
input[type="search"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="color"]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: rgba(23, 23, 23, 0.4);
    transition: color 0.3s ease;
}

input[type="text"].placeholder,
input[type="password"].placeholder,
input[type="datetime"].placeholder,
input[type="datetime-local"].placeholder,
input[type="date"].placeholder,
input[type="month"].placeholder,
input[type="time"].placeholder,
input[type="week"].placeholder,
input[type="number"].placeholder,
input[type="email"].placeholder,
input[type="url"].placeholder,
input[type="search"].placeholder,
input[type="tel"].placeholder,
input[type="color"].placeholder,
textarea.placeholder {
    color: rgba(23, 23, 23, 0.4);
    transition: color 0.3s ease;
}

input[type="text"]:focus::-webkit-input-placeholder,
input[type="password"]:focus::-webkit-input-placeholder,
input[type="datetime"]:focus::-webkit-input-placeholder,
input[type="datetime-local"]:focus::-webkit-input-placeholder,
input[type="date"]:focus::-webkit-input-placeholder,
input[type="month"]:focus::-webkit-input-placeholder,
input[type="time"]:focus::-webkit-input-placeholder,
input[type="week"]:focus::-webkit-input-placeholder,
input[type="number"]:focus::-webkit-input-placeholder,
input[type="email"]:focus::-webkit-input-placeholder,
input[type="url"]:focus::-webkit-input-placeholder,
input[type="search"]:focus::-webkit-input-placeholder,
input[type="tel"]:focus::-webkit-input-placeholder,
input[type="color"]:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
    color: transparent;
}

input[type="text"]:focus::-moz-placeholder,
input[type="password"]:focus::-moz-placeholder,
input[type="datetime"]:focus::-moz-placeholder,
input[type="datetime-local"]:focus::-moz-placeholder,
input[type="date"]:focus::-moz-placeholder,
input[type="month"]:focus::-moz-placeholder,
input[type="time"]:focus::-moz-placeholder,
input[type="week"]:focus::-moz-placeholder,
input[type="number"]:focus::-moz-placeholder,
input[type="email"]:focus::-moz-placeholder,
input[type="url"]:focus::-moz-placeholder,
input[type="search"]:focus::-moz-placeholder,
input[type="tel"]:focus::-moz-placeholder,
input[type="color"]:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
    opacity: 1;
    color: transparent;
}

input[type="text"]:focus:-moz-placeholder,
input[type="password"]:focus:-moz-placeholder,
input[type="datetime"]:focus:-moz-placeholder,
input[type="datetime-local"]:focus:-moz-placeholder,
input[type="date"]:focus:-moz-placeholder,
input[type="month"]:focus:-moz-placeholder,
input[type="time"]:focus:-moz-placeholder,
input[type="week"]:focus:-moz-placeholder,
input[type="number"]:focus:-moz-placeholder,
input[type="email"]:focus:-moz-placeholder,
input[type="url"]:focus:-moz-placeholder,
input[type="search"]:focus:-moz-placeholder,
input[type="tel"]:focus:-moz-placeholder,
input[type="color"]:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
    color: transparent;
}

input[type="text"]:focus:-ms-input-placeholder,
input[type="password"]:focus:-ms-input-placeholder,
input[type="datetime"]:focus:-ms-input-placeholder,
input[type="datetime-local"]:focus:-ms-input-placeholder,
input[type="date"]:focus:-ms-input-placeholder,
input[type="month"]:focus:-ms-input-placeholder,
input[type="time"]:focus:-ms-input-placeholder,
input[type="week"]:focus:-ms-input-placeholder,
input[type="number"]:focus:-ms-input-placeholder,
input[type="email"]:focus:-ms-input-placeholder,
input[type="url"]:focus:-ms-input-placeholder,
input[type="search"]:focus:-ms-input-placeholder,
input[type="tel"]:focus:-ms-input-placeholder,
input[type="color"]:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
    color: transparent;
}

input[type="text"]:focus.placeholder,
input[type="password"]:focus.placeholder,
input[type="datetime"]:focus.placeholder,
input[type="datetime-local"]:focus.placeholder,
input[type="date"]:focus.placeholder,
input[type="month"]:focus.placeholder,
input[type="time"]:focus.placeholder,
input[type="week"]:focus.placeholder,
input[type="number"]:focus.placeholder,
input[type="email"]:focus.placeholder,
input[type="url"]:focus.placeholder,
input[type="search"]:focus.placeholder,
input[type="tel"]:focus.placeholder,
input[type="color"]:focus.placeholder,
textarea:focus.placeholder {
    color: transparent;
}

select {
    -webkit-border-radius: 0;
    opacity: 0;
}

textarea {
    resize: none;
    padding: 25px 20px 8px 0;
    vertical-align: top;
}

button,
input[type='button'],
input[type='reset'],
input[type='file'],
input[type='submit'] {
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    cursor: pointer;
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 5px;
    background-color: var(--c-red);
    border: 1px solid var(--c-red);
    padding: 0 27px;
    font-weight: 500;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--c-bg);
    text-align: center;
    height: 49px;
    transition: 0.3s ease-in-out;
    transition-property: box-shadow, border-color, background-color, color;
}

.button:hover {
    color: var(--c-bg);
    box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.2);
}

.button:focus {
    color: var(--c-bg);
}

.button.empty {
    padding: 0 30px;
    background-color: transparent;
    border-color: var(--c-text);
    color: var(--c-text);
    box-shadow: none;
}

.button.empty:hover {
    background-color: var(--c-red);
    border-color: var(--c-red);
    color: var(--c-bg);
    box-shadow: none;
}

@media (max-width: 767px) {
    .button {
        width: 100%;
    }
}

.select2 {
    width: 100% !important;
    min-width: 200px;
    min-height: 30px;
    display: inline-flex;
    font-weight: 500;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.select2.select2-container--open {
    border: none;
}

.select2.select2-container--open .select2-selection .select2-selection__arrow {
    transform: scaleY(-1) rotate(-90deg);
}

.select2.select2-container {
    width: 100%;
    vertical-align: top;
}

.select2 .selection {
    height: 100%;
    width: 100%;
}

.select2 .select2-selection {
    height: 100%;
    background-color: var(--c-bg);
    border: none;
    transition: background-color 0.3s ease;
}

.select2 .select2-selection .select2-selection__rendered {
    height: 100%;
    display: block;
    border: solid rgba(23, 23, 23, 0.3);
    border-width: 0 1px;
    padding: 0 75px 0 30px;
    color: var(--c-text);
}

.select2 .select2-selection .select2-selection__rendered .select2-selection__placeholder {
    color: var(--c-text);
}

.select2 .select2-selection .select2-selection__arrow {
    height: 100%;
    width: 63px;
    background: url(../images/svg-icons/prev.svg) no-repeat 55% 50%/18px 18px;
    transform: rotate(-90deg);
    transition: transform 0.3s ease-in-out;
    right: 7px;
}

.select2 .select2-selection .select2-selection__arrow b {
    display: none;
}

@media (max-width: 767px) {
    .select2 {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        min-width: 100%;
    }

    .select2 .select2-selection .select2-selection__rendered {
        border-width: 0 1px 0 0;
        padding-left: 0;
        padding-right: 44px;
    }

    .select2 .select2-selection .select2-selection__arrow {
        width: 30px;
    }
}

.select2-dropdown {
    z-index: 9999;
    background-color: transparent;
    border: 0;
    margin: 20px 0 0;
    overflow: hidden;
    border-radius: 0;
    box-shadow: 0px 60px 50px rgba(0, 0, 0, 0.3);
}

.select2-dropdown.select2-dropdown--above {
    margin-top: -22px;
}

.select2-dropdown .select2-results > .select2-results__options {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 280px;
    padding: 0;
    background-color: var(--c-bg);
    font-weight: 500;
    font-size: 15px;
    line-height: 16px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.select2-dropdown .select2-results .select2-results__option {
    position: relative;
    padding: 15px 42px;
    transition: 0.3s ease;
    transition-property: background-color, color;
}

.select2-dropdown .select2-results .select2-results__option::before {
    content: '';
    position: absolute;
    top: 0;
    left: 42px;
    right: 42px;
    height: 1px;
    background-color: rgba(23, 23, 23, 0.3);
    transition: opacity 0.3s ease-in-out;
}

.select2-dropdown .select2-results .select2-results__option:first-child::before {
    opacity: 0;
}

.select2-dropdown .select2-results .select2-results__option[aria-selected="true"], .select2-dropdown .select2-results .select2-results__option.select2-results__option--highlighted {
    background-color: var(--c-red);
    color: var(--c-bg);
}

.select2-dropdown .select2-results .select2-results__option[aria-selected="true"]::before,
.select2-dropdown .select2-results .select2-results__option[aria-selected="true"] + .select2-results__option::before, .select2-dropdown .select2-results .select2-results__option.select2-results__option--highlighted::before,
.select2-dropdown .select2-results .select2-results__option.select2-results__option--highlighted + .select2-results__option::before {
    opacity: 0;
}

@media (max-width: 767px) {
    .select2-dropdown {
        margin-top: 21px;
        overflow: visible;
    }

    .select2-dropdown .select2-results > .select2-results__options {
        margin-left: -15px;
        margin-right: -5px;
        width: calc(100% + 20px);
    }

    .select2-dropdown .select2-results .select2-results__option {
        padding: 12px 15px;
    }

    .select2-dropdown .select2-results .select2-results__option::before {
        left: 15px;
        right: 15px;
    }
}

.select2-results__options {
    scrollbar-face-color: var(--c-red);
    scrollbar-track-color: white;
    overscroll-behavior: contain;
}

.ui-autocomplete {
    position: absolute;
    z-index: 100;
    padding-top: 5px;
    padding-bottom: 48px;
}

.ui-autocomplete::before {
    content: '';
    position: absolute;
    top: 0;
    left: -1000px;
    right: -1000px;
    bottom: 0;
    background-color: var(--c-bg);
    z-index: -1;
    pointer-events: none;
    box-shadow: 0 25px 50px -50px rgba(0, 0, 0, 0.5);
}

.ui-autocomplete li {
    padding-bottom: 10px;
}

.ui-autocomplete li:last-child {
    padding: 0;
}

.ui-autocomplete a {
    display: block;
    font-weight: 500;
    font-size: 20px;
    line-height: 15px;
    color: var(--c-text);
    opacity: 0.5;
    padding: 5px 0;
}

.ui-autocomplete a:hover {
    color: var(--c-red);
}

.ui-autocomplete span {
    opacity: .5;
    transition: opacity 0.3s ease;
}

.ui-autocomplete .show-more {
    text-align: center;
    padding-top: 10px;
}

.ui-autocomplete .show-more a {
    width: auto;
    font-size: 14px;
    line-height: 18px;
    color: var(--c-text);
}

@media (max-width: 767px) {
    .ui-autocomplete {
        padding: 20px;
        max-width: calc(100vw - 40px);
    }
}

.form {
    padding: 100px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 124px;
}

.form > div:first-of-type {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
}

.form h5, .form .h5 {
    grid-column: 1 / 3;
}

.form a:not([class]) {
    font-size: 50px;
    line-height: 50px;
    color: var(--c-text);
}

.form a:not([class]):hover {
    color: var(--c-red);
}

.form dl {
    padding: 0;
    margin: 0;
    font-size: 16px;
    line-height: 18px;
    font-weight: 300;
}

.form dt {
    display: block;
    font-weight: 600;
    margin: 0 0 10px;
}

.form dd {
    display: block;
    margin: 0;
}

.form .button {
    width: 100%;
    margin-top: 30px;
}

.form textarea {
    height: 226px;
}

#contact .form {
    width: 100%;
    grid-template-columns: 1.6fr 2fr;
}

#contact .form .button {
    margin-top: 6px;
}

@media (max-width: 1023px) {
    .form {
        padding: 40px;
        gap: 0 50px;
    }
}

@media (max-width: 767px) {
    .form textarea {
        height: 120px;
    }

    #contact .form {
        display: block;
    }
}

.input {
    position: relative;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(23, 23, 23, 0.3);
    width: 100%;
}

.input:focus-within label span {
    transform: translate3d(-18px, -31px, 0) scale3d(0.75, 0.75, 1);
}

.input input,
.input textarea {
    font-weight: 300;
    font-size: 16px;
    line-height: 18px;
    outline: none !important;
    padding-left: 0;
    padding-right: 0;
}

.input input::placeholder,
.input textarea::placeholder {
    color: transparent;
}

.input input:not(:placeholder-shown) + label span,
.input input:focus + label span,
.input textarea:not(:placeholder-shown) + label span,
.input textarea:focus + label span {
    opacity: 1;
    transform: translate3d(0, -21px, 0) scale3d(0.75, 0.75, 1);
}

@media (max-width: 767px) {
    .input input:not(:placeholder-shown) + label span,
    .input input:focus + label span,
    .input textarea:not(:placeholder-shown) + label span,
    .input textarea:focus + label span {
        transform: translate3d(0, -21px, 0) scale3d(0.75, 0.75, 1);
    }
}

.input input:invalid:not(:valid):not(:placeholder-shown) ~ .error,
.input textarea:invalid:not(:valid):not(:placeholder-shown) ~ .error {
    opacity: 1;
}

.input input:invalid:not(:valid):not(:placeholder-shown) .invalid-icon,
.input textarea:invalid:not(:valid):not(:placeholder-shown) .invalid-icon {
    opacity: 1;
}

.input input:valid:not(:placeholder-shown) ~ .valid-icon,
.input textarea:valid:not(:placeholder-shown) ~ .valid-icon {
    opacity: 1;
}

.input input[type="text"] ~ .visible-icon .visible-pass,
.input textarea[type="text"] ~ .visible-icon .visible-pass {
    opacity: 0;
}

.input input[type="text"] ~ .visible-icon .invisible-pass,
.input textarea[type="text"] ~ .visible-icon .invisible-pass {
    opacity: 1;
}

.input input[type="tel"] + label span,
.input textarea[type="tel"] + label span {
    transform: translate3d(-18px, -31px, 0) scale3d(0.75, 0.75, 1);
}

@media (max-width: 767px) {
    .input input[type="tel"] + label span,
    .input textarea[type="tel"] + label span {
        transform: translate3d(-18px, -27px, 0) scale3d(0.75, 0.75, 1);
    }
}

.input label {
    pointer-events: none;
    transition: border-color 0.3s ease;
}

.input label span {
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    font-weight: 300;
    font-size: 16px;
    line-height: 18px;
    transition: 0.3s ease;
    transition-property: transform, opacity;
    transform-origin: top left;
}

.input span.error {
    position: absolute;
    left: 0;
    top: calc(100% + 4px);
    font-size: 10px;
    line-height: 13px;
    color: var(--c-boz-1);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    display: inline-flex;
}

.input span.error svg {
    margin-right: 3px;
}

.input .placeholder svg {
    display: inline-block;
    vertical-align: top;
    margin-right: 20px;
}

.input .icon {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    pointer-events: none;
    transform: translateY(-50%);
}

.input .icon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.input .valid-icon,
.input .invalid-icon {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.input:last-child {
    margin-bottom: 0;
}

.input.file-holder {
    border-bottom: none;
    height: 74px;
    overflow: hidden;
}

.input.file-holder input {
    font-size: 100px;
    line-height: 100px;
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
}

.input.file-holder span {
    font-weight: 300;
    font-size: 16px;
    line-height: 18px;
    padding-left: 21px;
}

.input.file-holder svg {
    width: 20px;
    height: 20px;
    opacity: 0.5;
}

.input.file-holder div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

@media (max-width: 1023px) {
    .input.file-holder {
        height: 58px;
    }
}

.radio-control {
    display: block;
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    margin-bottom: 9px;
    cursor: pointer;
}

.radio-control input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
}

.radio-control input:checked + span::after {
    opacity: 1;
}

.radio-control input:hover + span::before {
    border-color: var(--c-red);
}

.radio-control input:checked:hover + span::before {
    border-color: #C4C4C4;
}

.radio-control span {
    position: relative;
    padding-left: 30px;
}

.radio-control span::before, .radio-control span::after {
    content: '';
    position: absolute;
    border-radius: 50%;
}

.radio-control span::before {
    top: 0;
    left: 0;
    width: 17px;
    height: 17px;
    border: 1px solid #C4C4C4;
    transition: border-color 0.3s ease-in-out;
}

.radio-control span::after {
    top: 4px;
    left: 4px;
    width: 9px;
    height: 9px;
    background-color: var(--c-red);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.checkbox-control {
    display: flex;
    justify-content: flex-start;
}

.checkbox-control label {
    cursor: pointer;
}

.checkbox-control label span {
    position: relative;
    display: block;
    text-align: center;
    width: 37px;
    height: 37px;
    font-weight: 500;
    font-size: 14px;
    line-height: 39px;
    border-radius: 2px;
    margin-left: -1px;
    transition: 0.3s ease-in-out;
    transition-property: background-color, color;
}

.checkbox-control label span::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 2px;
    border: 1px solid #C4C4C4;
    transition: border-color 0.3s ease-in-out;
    z-index: 1;
}

.checkbox-control label:first-child span {
    margin-left: 0;
}

.checkbox-control input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
}

.checkbox-control input:checked + span {
    background-color: var(--c-red);
    color: #fff;
}

.checkbox-control input:checked + span::before {
    border-color: var(--c-red);
}

.checkbox-control input:hover + span::before {
    border-color: var(--c-red);
    z-index: 5;
}

.checkbox-control input:checked:hover + span {
    background-color: var(--c-red);
}

.rooms > span {
    display: block;
    font-weight: 500;
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 0.05em;
    margin-top: 7px;
}

.calculator {
    margin-bottom: 72px;
}

.calculator .row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
    background-color: #fff;
    padding: 40px 40px 20px;
}

.calculator .row:last-child {
    margin-bottom: 0;
    padding-top: 20px;
}

.calculator .select2 {
    font-weight: 300;
    font-size: 16px;
    line-height: 18px;
    text-transform: none;
}

.calculator .select2 .select2-selection {
    background-color: #fff;
}

.calculator .select2 .select2-selection .select2-selection__rendered {
    border-width: 0 0 1px 0;
    padding-left: 0;
    padding-right: 30px;
}

.calculator .select2 .select2-selection .select2-selection__arrow {
    right: -20px;
}

.calculator .select2.select2-container--open .select2-selection .select2-selection__arrow {
    transform: scaleY(-1) rotate(-90deg) translateX(-4px);
}

.calculator .results {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    font-size: 13px;
    line-height: 21px;
    letter-spacing: 0.05em;
    width: 100%;
}

.calculator .results div {
    display: flex;
    justify-content: center;
    padding: 0 42px;
    border-left: 1px solid #EBE5E7;
}

.calculator .results div:first-of-type {
    padding-left: 0;
    border-left: none;
}

.calculator .results strong {
    font-weight: 600;
    white-space: pre-wrap;
    max-width: 80px;
}

.calculator .results span {
    letter-spacing: normal;
    font-weight: 500;
    padding-left: 20px;
}

.calculator .results b {
    display: block;
    font-size: 24px;
    color: var(--c-red);
    font-weight: 500;
}

@media (max-width: 1023px) {
    .calculator .row {
        padding: 30px;
        flex-wrap: wrap;
        gap: 30px 0;
    }

    .calculator .row > * {
        flex-basis: 33.333%;
    }

    .calculator .results {
        grid-template-columns: repeat(2, 1fr);
    }

    .calculator .results div {
        padding-left: 80px;
        justify-content: flex-start;
    }

    .calculator .results div:first-of-type {
        padding-left: 60px;
    }

    .calculator .results div:nth-child(odd) {
        padding-left: 60px;
        border-left: none;
    }

    .calculator .select2 {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        min-width: auto;
    }
}

@media (max-width: 767px) {
    .calculator .row {
        gap: 20px 0;
    }

    .calculator .row > * {
        flex-basis: 50%;
    }

    .calculator .row > *:nth-child(n+3) {
        flex-basis: 100%;
    }

    .calculator .select2 .select2-selection .select2-selection__arrow {
        right: -2px;
    }

    .calculator .results {
        grid-template-columns: repeat(1, 1fr);
    }

    .calculator .results div {
        justify-content: center;
        position: relative;
    }

    .calculator .results div::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: calc(50% - 56px);
        width: 112px;
        height: 1px;
        background-color: #c4c4c4;
    }

    .calculator .results div:nth-child(n) {
        padding: 0 0 12px;
        border-left: none;
    }

    .calculator .results div:last-child {
        padding-bottom: 0;
    }

    .calculator .results div:last-child::after {
        display: none;
    }

    .calculator .results div > * {
        flex-basis: 50%;
    }

    .calculator .results strong {
        text-align: right;
    }
}

.select2-dropdown.calc-option {
    margin-top: 5px;
    text-align: center;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.15);
}

.select2-dropdown.calc-option .select2-results .select2-results__option {
    padding: 9px;
}

.select2-dropdown.calc-option .select2-results > .select2-results__options {
    text-transform: none;
}

.slider-container {
    position: relative;
    line-height: 18px;
}

.slider-container .inputs {
    display: flex;
    justify-content: space-between;
    padding: 0 4px 5px;
}

.slider-container i {
    padding: 0 12px;
    line-height: 15px;
}

.slider-container .input {
    max-width: 80px;
    margin: 0;
    border: none;
}

.slider-container .input input {
    font-weight: 600;
    font-size: 16px;
    line-height: 18px;
    padding: 0;
}

.slider-container .input:last-child input {
    text-align: right;
}

.slider {
    width: 100%;
    height: 12px;
    position: relative;
}

.slider::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background-color: #C4C4C4;
}

.slider .ui-slider-range {
    position: absolute;
    top: 50%;
    height: 1px;
    left: 0;
    background-color: var(--c-red);
}

.slider .ui-slider-handle {
    position: absolute;
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    margin-left: -7px;
    cursor: pointer;
    background-color: var(--c-red);
}

.slider .ui-slider-handle:nth-of-type(2) {
    background-color: var(--c-red);
    display: none;
}

.percents {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    padding-top: 7px;
}

.percents b {
    letter-spacing: 0.05em;
    opacity: 0.35;
    font-weight: 600;
    padding: 0 12px;
}

:root {
    --scroll-bar: 8px;
}

#wrapper {
    width: 100%;
    min-height: 100%;
    overflow: hidden;
    position: relative;
}

.scroll #wrapper {
    padding-top: 167px;
}

@media (max-width: 767px) {
    .scroll #wrapper {
        padding-top: 136px;
    }
}

.container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

@media (max-width: 767px) {
    .container {
        padding: 0 15px;
    }
}

#main {
    padding-bottom: 100px;
}

#header {
    font-size: 12px;
    line-height: 20px;
    margin-bottom: 36px;
    position: relative;
    top: 100px;
    transform: translateY(-100px);
    transition: transform 0.3s ease-in-out;
    z-index: 5;
}

#header .container {
    display: grid;
    grid-template-columns: 1fr 3fr;
    align-items: flex-end;
}

.scroll #header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: var(--c-bg);
    z-index: 30;
}

.fixed #header {
    transform: translateY(0);
}

@media (min-width: 768px) {
    .scroll #header .container {
        display: flex;
        justify-content: space-between;
        gap: 0 82px;
        align-items: center;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .scroll #header .container {
        gap: 0 32px;
    }
}

@media (max-width: 1023px) {
    #header .container {
        grid-template-columns: 150px 3fr;
    }
}

@media (max-width: 767px) {
    #header {
        padding-top: 10px;
        padding-bottom: 13px;
        z-index: 111;
    }

    .scroll #header {
        border-bottom: 1px solid rgba(23, 23, 23, 0.2);
    }
}

.header {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.header > * {
    position: relative;
}

.header > *::before {
    content: '';
    position: absolute;
    left: -1200px;
    right: -1200px;
    bottom: 0;
    height: 1px;
    background: rgba(0, 0, 0, 0.2);
    pointer-events: none;
}

@media (min-width: 768px) {
    .scroll .header {
        flex-direction: row;
        width: 100%;
        gap: 0 82px;
        align-items: center;
    }

    .scroll .header > div:not(.h-info) {
        width: 100%;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .scroll .header {
        gap: 0 32px;
    }
}

@media (max-width: 767px) {
    .header {
        position: absolute;
        top: 61px;
        left: 0;
        right: 0;
        transform: translateY(-100%);
        transition: transform 0.3s ease-in-out;
        z-index: 50;
        opacity: 0;
        pointer-events: none;
        transition: 0.3s ease-in-out;
    }

    .header::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 60px;
        box-shadow: 0px 4px 60px rgba(0, 0, 0, 0.25);
        pointer-events: none;
    }

    .header > * {
        background: var(--c-bg);
        padding-left: 15px;
        padding-right: 15px;
    }

    .header > *:nth-child(2) {
        order: 1;
    }

    .header > *::before {
        display: none;
    }

    .scroll .header {
        top: 51px;
    }

    .navigation .header {
        transform: translateY(0);
        pointer-events: all;
        opacity: 1;
    }
}

.h-info {
    display: flex;
    justify-content: space-between;
    padding: 12px 0 6px;
}

.h-info svg {
    width: 16px;
    height: 16px;
    fill: var(--c-text);
}

.h-info > * {
    display: flex;
    align-items: center;
    transition: opacity 0.3s ease-in-out;
}

.searching .h-info > *:not(.search) {
    opacity: 0;
    pointer-events: none;
}

.h-info .social a {
    display: inline-flex;
    align-items: center;
}

@media (min-width: 768px) {
    .scroll .h-info {
        order: 3;
    }

    .scroll .h-info::before {
        display: none;
    }

    .scroll .h-info > *:not(.search) {
        display: none;
    }
}

@media (max-width: 767px) {
    .h-info {
        order: 2;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 28px;
        flex-direction: column;
    }

    .h-info .tels {
        display: none;
    }

    .h-info .social {
        order: 2;
    }
}

.menu-link {
    position: absolute;
    top: 10px;
    right: 15px;
    width: 39px;
    height: 40px;
    z-index: 10;
    overflow: hidden;
    display: none;
}

.menu-link span {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--c-text);
    transition: background 0s 0.3s;
}

.menu-link span:after, .menu-link span:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--c-text);
    transition-duration: 0.3s, 0.3s;
    transition-delay: 0.3s, 0s;
}

.menu-link span:after {
    top: -8px;
    transition-property: top, transform, background;
}

.menu-link span:before {
    bottom: -8px;
    transition-property: bottom, transform, background;
}

.navigation .menu-link span {
    background-color: transparent;
}

.navigation .menu-link span:after, .navigation .menu-link span:before {
    transition-delay: 0s, 0.3s;
}

.navigation .menu-link span:after {
    top: 0;
    transform: rotate(45deg);
}

.navigation .menu-link span:before {
    bottom: 0;
    transform: rotate(-45deg);
}

@media (max-width: 767px) {
    .menu-link {
        display: block;
    }

    .scroll .menu-link {
        top: 0;
    }
}

.tels a {
    font-weight: 500;
    margin: 0 10px;
}

.tels b {
    padding: 7px 0;
    font-weight: 500;
    margin: 0 9px 0 7px;
    border-left: 1px solid var(--c-text);
}

@media (max-width: 1023px) {
    .tels span {
        display: none;
    }
}

.social {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.social a {
    display: block;
    margin: 0 20px;
}

.social a:hover svg {
    fill: var(--c-red);
}

.social a svg {
    transition-property: fill, transform;
}

.social a svg {
    width: 22px;
    height: 22px;
    transition-property: fill, transform;
}

.social.round svg {
    position: relative;
    z-index: 5;
    width: 12px;
    height: 12px;
    fill: var(--c-bg);
    transition-duration: .5s;
    transition-delay: .1s;
}

@media (max-width: 1023px) and (min-width: 768px) {
    .social:not(.round) a svg {
        width: 18px;
        height: 18px;
    }
}

.social.round svg.icon-youtube {
    width: 12px;
    height: 12px;
}

.social.round a {
    border-radius: 50%;
    background-color: var(--c-text);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    margin: 0 8px;
    transition-property: color, background-color;
    transition-duration: .5s;
    position: relative;
    overflow: hidden;
}

.social.round a::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--c-red);
    transition: .5s;
    z-index: 2;
}

.social.round a:hover {
    color: var(--c-text);
}

.social.round a:hover::before {
    top: 0;
}

.social.round a:hover svg {
    fill: var(--c-bg);
}

.search svg {
    width: 20px;
    height: 20px;
}

.search-link {
    margin: 0 !important;
    transition: opacity 0.3s ease-in-out;
}

.search-link:hover svg {
    fill: var(--c-red);
}

.searching .search-link {
    opacity: 0;
    pointer-events: none;
}

.search-form {
    position: fixed;
    z-index: 15;
    top: 30px;
    left: calc(50% - 590px);
    width: 1180px;
    height: 84px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
}

.search-form::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1000px;
    right: -1000px;
    background-color: var(--c-bg);
    box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.1);
    pointer-events: none;
    z-index: 10;
}

.search-form > * {
    z-index: 15;
}

.search-form input {
    display: block;
    width: 100%;
    padding: 0 144px 0 0;
}

.search-form button {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 63px;
    border: none;
    padding: 0;
    margin: 0;
    background: none;
}

.searching .search-form {
    opacity: 1;
    pointer-events: all;
}

.search-close {
    position: absolute;
    right: 0;
    top: -6px;
    bottom: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.search-close svg {
    width: 16px;
    height: 16px;
}

@media (min-width: 768px) and (max-width: 1023px) {
    .scroll .search-form {
        left: 15px;
        right: 15px;
        width: calc(100vw - 30px);
    }
}

@media (max-width: 1023px) {
    .search-form button {
        right: 73px;
    }

    .search-close {
        right: 15px;
    }
}

@media (max-width: 767px) {
    .search-link {
        display: none;
    }

    .search-form {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        width: 100%;
        border-radius: 5px;
        border: 1px solid rgba(23, 23, 23, 0.3);
        order: 1;
        height: 59px;
        padding: 0 20px;
        margin-bottom: 52px;
        opacity: 1;
        pointer-events: all;
    }

    .search-form::before {
        display: none;
    }

    .search-form button {
        right: 20px;
    }

    .search-close {
        display: none;
    }
}

.langs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 20px;
    font-weight: 600;
    font-size: 12px;
    line-height: 14px;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    .langs {
        position: fixed;
        top: -40px;
        left: 50%;
        font-size: 17px;
    }
}

.logo {
    display: block;
    background: url(../images/aral_logo_v2.svg) no-repeat 0 0/auto 100%;
    mix-blend-mode: multiply;
    font-size: 0;
    line-height: 0;
    width: 131px;
    height: 59px;
    margin-bottom: 18px;
    transition: opacity 0.3s ease-in-out;
}

.logo a {
    display: block;
    height: 100%;
}

.searching .logo {
    opacity: 0;
    pointer-events: none;
}

.scroll .logo {
    width: 119px;
    height: 50px;
    margin-top: -3px;
    margin-right: 22px;
    margin-bottom: 0;
}

@media (max-width: 1023px) {
    .scroll .logo {
        width: 98px;
        height: 40px;
        margin-right: 0;
    }
}

#menu {
    font-weight: 600;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 36px 0 32px;
    transition: opacity 0.3s ease-in-out;
}

#menu > ul {
    display: flex;
    justify-content: space-between;
}

#menu > ul > li {
    position: relative;
}

#menu > ul > li.show > a:not([class]):before {
    background-color: var(--c-red);
}

#menu > ul > li.show .drop {
    opacity: 1;
    pointer-events: all;
    max-height: 100%;
}

@media (hover: hover) {
    #menu > ul > li:hover > a:not([class]):before {
        transform: scale3d(1, 1, 1);
    }

    #menu > ul > li:hover .drop {
        opacity: 1;
        pointer-events: all;
    }
}

#menu > ul > li > a:not([class]) {
    position: relative;
    z-index: 5;
}

#menu > ul > li > a:not([class])::before {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    height: 2px;
    width: 100%;
    background-color: var(--c-red);
    transform: scale3d(0, 1, 1);
    transition: transform 0.3s ease-in-out;
}

#menu > ul > li > a:not([class]):hover {
    color: inherit;
}

#menu > ul > li > a:not([class]):hover::before {
    transform: scale3d(1, 1, 1);
}

.searching #menu {
    opacity: 0;
    pointer-events: none;
}

@media (min-width: 768px) {
    .scroll #menu {
        padding: 22px 0;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .scroll #menu {
        font-size: 15px;
    }
}

@media (max-width: 767px) {
    #menu {
        font-size: 20px;
        line-height: 23px;
        padding-top: 18px;
    }

    #menu > ul {
        display: block;
    }

    #menu > ul > li {
        margin-bottom: 26px;
    }

    #menu > ul > li > a:not([class]) {
        display: inline-flex;
        padding: 10px 0;
    }

    #menu > ul > li > a:not([class])::before {
        display: none;
    }
}

.drop {
    list-style-type: none;
    margin: 0;
    position: absolute;
    z-index: 3;
    top: calc(100% - 10px);
    left: -46px;
    padding: 42px 0 0;
    background: var(--c-bg);
    font-size: 20px;
    line-height: 27px;
    font-weight: 300;
    letter-spacing: 0.1px;
    text-transform: none;
    white-space: nowrap;
    box-shadow: 0px 60px 50px rgba(0, 0, 0, 0.3);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
}

.drop li {
    position: relative;
}

.drop li::before {
    content: '';
    position: absolute;
    top: 0;
    left: 42px;
    right: 42px;
    border-top: 1px solid rgba(23, 23, 23, 0.2);
    z-index: 2;
}

.drop a {
    position: relative;
    display: block;
    padding: 14px 42px;
    transition-property: color, background-color;
    z-index: 5;
    margin-bottom: -1px;
}

.drop a:hover {
    background-color: var(--c-red);
    color: var(--c-bg);
}

.drop-show {
    display: none;
    position: absolute;
    top: 12px;
    left: calc(50% - 0px);
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.drop-show::before, .drop-show::after {
    content: '';
    position: absolute;
    background-color: var(--c-text);
    pointer-events: none;
    transition: background-color 0.3s ease-in-out;
}

.drop-show::before {
    width: 18px;
    height: 2px;
    top: calc(50% - 1px);
    left: 0;
}

.drop-show::after {
    height: 18px;
    width: 2px;
    left: calc(50% - 1px);
    top: 0;
}

.show .drop-show::after {
    background-color: transparent;
}

@media (max-width: 767px) {
    .drop {
        left: 0;
        right: 0;
        top: 0;
        position: relative;
        padding: 0;
        box-shadow: none;
        column-count: 2;
        gap: 0;
        white-space: normal;
        font-size: 13px;
        line-height: 20px;
        font-weight: 500;
        max-height: 0;
        transition-property: opacity, max-height;
    }

    .drop::before {
        content: '';
        display: block;
        height: 10px;
        column-span: all;
    }

    .drop li {
        margin: 6px 0;
        padding-right: 15px;
        break-inside: avoid;
    }

    .drop li::before {
        display: none;
    }

    .drop a {
        padding: 7px 0;
    }

    .drop-show {
        display: inline-flex;
    }
}

.breadcrumbs {
    display: flex;
    font-size: 12px;
    line-height: 17px;
    color: rgba(23, 23, 23, 0.6);
    margin-bottom: 46px;
}

.breadcrumbs a {
    position: relative;
}

.breadcrumbs a::after {
    content: '/';
    pointer-events: none;
    margin: 0 20px;
}

@media (max-width: 767px) {
    .breadcrumbs {
        flex-wrap: wrap;
    }
}

.two-cols {
    display: grid;
    grid-template-columns: 1.3fr 1.7fr;
    gap: 80px 160px;
    margin-bottom: 70px;
}

.two-cols > * {
    position: relative;
}

.two-cols > *:last-child p:last-of-type {
    margin-bottom: 100px;
}

.two-cols p {
    margin-bottom: 14px;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
}

.two-cols p + h3, .two-cols p + .h3 {
    padding-top: 24px;
}

.two-cols.invert {
    grid-template-columns: 1.7fr 1.3fr;
}

@media (max-width: 1023px) {
    .two-cols {
        display: block;
    }

    .two-cols > *:first-child {
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .two-cols {
        margin-bottom: 50px;
    }
}

.quote {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 94px;
    font-weight: 500;
    font-size: 25px;
    line-height: 35px;
    padding: 22px 0;
    border: solid rgba(23, 23, 23, 0.3);
    border-width: 1px 0;
    margin-bottom: 30px;
}

.quote svg {
    flex-shrink: 0;
    width: 109px;
    height: 109px;
}

.quote span {
    flex-shrink: 1;
    padding-right: 70px;
}

@media (max-width: 767px) {
    .quote {
        gap: 0 40px;
        padding: 15px 0;
        font-size: 22px;
        line-height: 27px;
    }

    .quote svg {
        width: 60px;
        height: 60px;
    }
}

.about-text {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 0;
    padding-right: 80px;
}

.digits {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 70px 0 23px;
    margin-bottom: 90px;
    line-height: 25px;
}

.digits::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -2000px;
    right: -2000px;
    z-index: -1;
    box-shadow: 0px 0px 60px rgba(0, 0, 0, 0.05);
}

.digits .digit {
    position: relative;
}

.digits strong, .digits b {
    display: block;
    position: relative;
    font-weight: 200;
    font-size: 100px;
    line-height: 60px;
    padding-bottom: 48px;
    margin-bottom: 24px;
    position: absolute;
    top: 0;
    left: 0;
}

.digits strong::before, .digits b::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 183px;
    height: 3px;
    background-color: var(--c-red);
    opacity: 0;
}

.digits b {
    position: relative;
    top: auto;
    left: auto;
    color: transparent;
}

.digits b::before {
    opacity: 1;
}

.digits span {
    display: block;
    max-width: 130px;
}

@media (max-width: 1023px) {
    .digits {
        padding-top: 36px;
    }

    .digits strong, .digits b {
        font-size: 76px;
        line-height: 60px;
        padding-bottom: 34px;
    }

    .digits strong::before, .digits b::before {
        width: 130px;
    }
}

@media (max-width: 767px) {
    .digits {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 20px;
        margin-bottom: 60px;
    }

    .digits strong, .digits b {
        display: inline-block;
        vertical-align: top;
    }
}

.about-video {
    position: relative;
    width: 100vw;
    left: 50%;
    position: relative;
    overflow: hidden;
    transform: translateX(-50%);
    height: 790px;
    margin-bottom: 90px;
}

.about-video::before {
    content: '';
    z-index: 8;
    pointer-events: none;
    background: rgba(6, 6, 6, 0.7);
    transition: opacity 0.3s ease;
}

.about-video video {
    position: relative;
    z-index: 5;
    width: 100%;
    height: 100%;
    background-size: cover;
    object-fit: cover;
}

.about-video .controls {
    position: absolute;
    z-index: 12;
    top: 50%;
    left: 50%;
    cursor: pointer;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 44px;
    font-size: 35px;
    line-height: 45px;
    text-transform: uppercase;
    color: var(--c-bg);
    transition: opacity 0.3s ease;
}

.about-video > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease;
}

.about-video.playback .controls,
.about-video.playback > img, .about-video.playback::before {
    opacity: 0;
    pointer-events: none;
}

@media (min-width: 769px) and (max-width: 1220px) {
    .about-video {
        width: 1220px;
    }
}

@media (max-width: 1023px) {
    .about-video {
        height: 540px;
        margin-bottom: 70px;
    }

    .about-video .controls {
        gap: 0 32px;
        font-size: 24px;
        line-height: 32px;
        flex-wrap: nowrap;
    }

    .about-video svg {
        width: 112px;
        height: 112px;
    }
}

@media (max-width: 767px) {
    .about-video {
        height: 210px;
        margin-bottom: 50px;
    }

    .about-video .controls {
        font-size: 15px;
        line-height: 15px;
        font-weight: 400;
        gap: 20px;
    }

    .about-video svg {
        width: 46px;
        height: 46px;
    }
}

@media (max-width: 767px) {
    #footer .container {
        padding-bottom: 65px;
    }
}

.foot-menu {
    position: relative;
    font-size: 13px;
    line-height: 15px;
    letter-spacing: 0.1px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 60px 0 40px;
    gap: 0 66px;
}

.foot-menu::before {
    content: '';
    position: absolute;
    left: -1200px;
    right: -1200px;
    bottom: 0;
    top: 0;
    border: solid rgba(0, 0, 0, 0.2);
    border-width: 1px 0;
    pointer-events: none;
}

.foot-menu h4 {
    font-weight: bold;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0.1px;
    margin-bottom: 35px;
}

.foot-menu li {
    padding-bottom: 14px;
    break-inside: avoid;
}

.foot-menu a {
    position: relative;
    display: inline-flex;
    padding: 0 0 1px;
    overflow: hidden;
}

.foot-menu a:hover {
    text-decoration: underline;
}

.foot-menu > * {
    min-width: 28.333%;
}

.foot-menu > *:first-child ul {
    column-count: 2;
    gap: 0 62px;
}

@media (max-width: 767px) {
    .foot-menu {
        flex-direction: column;
        padding: 0;
    }

    .foot-menu::before {
        border-bottom-width: 0;
    }

    .foot-menu > * {
        position: relative;
        padding: 30px 0;
    }

    .foot-menu > *::before {
        content: '';
        position: absolute;
        left: -1200px;
        right: -1200px;
        bottom: 0;
        top: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
        pointer-events: none;
    }
}

.foot-bottom {
    position: relative;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: 0.1px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0;
}

.foot-bottom::before {
    content: '';
    position: absolute;
    left: -1200px;
    right: -1200px;
    bottom: 0;
    height: 1px;
    background: rgba(0, 0, 0, 0.2);
    pointer-events: none;
}

.foot-bottom b {
    font-weight: 700;
}

.foot-bottom .social {
    margin-right: 49px;
}

.foot-bottom .social a {
    width: 28px;
    height: 28px;
    background: none;
}

.foot-bottom .social a:hover svg {
    fill: var(--text);
}

.foot-bottom .social svg {
    fill: var(--c-text);
    width: 28px;
    height: 28px;
}


.foot-bottom .tels b {
    margin: 0px ​9px 0 12px;
}

.foot-bottom .tels a {
    margin: 0 4px;
}

@media (max-width: 1023px) and (min-width: 768px) {
    .foot-bottom {
        flex-wrap: wrap;
    }

    .foot-bottom div:not([class]) {
        flex: 100%;
        order: 2;
        text-align: center;
        padding-top: 15px;
    }

    .foot-bottom .social a, .foot-bottom .social svg {
        width: 26px;
        height: 26px;
    }
}

@media (max-width: 767px) {
    .foot-bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .foot-bottom::before {
        display: none;
    }

    .foot-bottom .tels {
        position: relative;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .foot-bottom .tels::before {
        content: '';
        position: absolute;
        left: -1200px;
        right: -1200px;
        bottom: 0;
        height: 1px;
        background: rgba(0, 0, 0, 0.2);
        pointer-events: none;
    }

    .foot-bottom .social {
        position: absolute;
        bottom: -65px;
        left: 0;
        right: 0;
        margin-right: 0;
    }
}

.copyright {
    display: block;
    text-align: center;
    font-size: 11px;
    line-height: 22px;
    letter-spacing: 0.3px;
    font-style: normal;
    color: rgba(23, 23, 23, 0.7);
    padding: 12px 0;
}

@media (max-width: 767px) {
    .copyright {
        padding: 0;
        text-align: left;
    }
}

.certificates {
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
    gap: 20px;
    overflow: visible;
}

h2 + .certificates {
    margin-top: -43px;
}

.certificates .swiper-navigation {
    height: 36px;
    left: -20px;
    right: -20px;
}

.certificates .swiper-button-next {
    right: -40px;
    margin: 0;
}

.certificates .swiper-button-prev {
    left: -40px;
    margin: 0;
}

@media (max-width: 1023px) {
    h2 + .certificates {
        margin-top: 0;
    }
}

.cert-item {
    position: relative;
    overflow: hidden;
    height: 398px;
    background-size: cover;
    object-fit: cover;
    padding: 30px;
    font-weight: normal;
    font-size: 25px;
    line-height: 30px;
    color: var(--c-bg);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    cursor: pointer;
}

.cert-item::before {
    content: '';
    background-color: rgba(23, 23, 23, 0.8);
    z-index: 3;
    pointer-events: none;
    transition: transform 0.3s ease-in-out;
}

.cert-item:hover::before {
    transform: translateY(-60%);
}

.cert-item.swiper-slide-active,
.cert-item.swiper-slide-active + .swiper-slide,
.cert-item.swiper-slide-active + .swiper-slide + .swiper-slide,
.cert-item.swiper-slide.swiper-slide-active + .swiper-slide + .swiper-slide + .swiper-slide {
    opacity: 1;
}

.cert-item strong, .cert-item span {
    position: relative;
    z-index: 5;
}

.cert-item strong {
    display: block;
    font-weight: bold;
}

.cert-item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.fancybox__container {
    --fancybox-thumbs-border-radius: 5px;
    --fancybox-accent-color: var(--c-lazuli);
}

.fancybox__thumbs .carousel__slide .fancybox__thumb::after {
    border-width: 2px;
}

#home-slider {
    position: relative;
    height: 617px;
    margin: -37px 0 111px;
}

#home-slider .button {
    height: 73px;
    min-width: 287px;
    letter-spacing: 0.05em;
    opacity: 0;
    transition-property: all;
    transform: translateY(100%);
    transition-delay: 0.15s;
}

#home-slider .button:hover {
    background-color: var(--c-red);
    color: var(--c-bg);
    border-color: var(--c-bg);
}

#home-slider .swiper-pagination-bullet:hover::before {
    background-color: transparent;
}

#home-slider .swiper-slide {
    overflow: hidden;
}

#home-slider .swiper-slide-active.active strong {
    transform: translateY(0);
    opacity: 1;
}

#home-slider .swiper-slide-active.active span {
    transform: translate(0, 0);
}

#home-slider .swiper-slide-active.active .button {
    transform: translateY(0);
    opacity: 1;
}

@media (max-width: 1023px) {
    #home-slider {
        height: 420px;
    }
}

@media (max-width: 767px) {
    #home-slider {
        height: auto;
    }

    #home-slider .button {
        margin-left: 15px;
        height: 58px;
        margin-right: 15px;
        width: calc(100% - 30px);
    }
}

.promo .container {
    padding-top: 142px;
    z-index: 5;
}

.promo-caption {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    font-weight: 500;
    font-size: 15px;
    line-height: 15px;
    margin-bottom: 30px;
    overflow: hidden;
}

.promo strong {
    display: block;
    background-color: #fff;
    border-radius: 5px;
    padding: 13px 29px 0;
    font-weight: 600;
    font-size: 70px;
    line-height: 80px;
    transform: translateY(240%);
    transition: all ease 0.3s;
    transition-delay: 0.05s;
    position: relative;
    z-index: 10;
}

.promo strong:last-of-type {
    display: flex;
    margin-top: -5px;
    padding: 5px 25px 18px 29px;
    align-items: flex-start;
    justify-content: flex-start;
    z-index: 1;
    flex-wrap: wrap;
}

.promo span {
    padding-left: 60px;
    margin-left: 0;
    transform: translate(0%, 100%);
    transition: all ease 0.3s;
    transition-delay: 0.1s;
    font-weight: 500;
    font-size: 15px;
    line-height: 15px;
    padding-top: 25px;
    min-width: 240px;
}

.promo b {
    display: block;
    margin-bottom: 11px;
}

.promo b br {
    display: none;
}

.promo em {
    font-style: normal;
}

.promo-controls {
    position: absolute;
    bottom: 112px;
    left: 50%;
    margin-left: -600px;
}

.promo-controls .swiper-pagination {
    padding: 18px 64px 0;
    justify-content: flex-start;
}

.promo-controls .swiper-pagination-bullet {
    border-color: var(--c-bg);
}

.promo-controls .swiper-pagination-bullet:hover.swiper-pagination-bullet-active {
    border-color: var(--c-bg);
}

.promo-controls .swiper-pagination-bullet-active::before {
    background-color: var(--c-bg);
}

.promo-controls .swiper-navigation {
    position: static;
    top: auto;
    left: 0;
    right: auto;
    transform: none;
}

.promo-controls .swiper-button-prev {
    left: 0;
    margin: 0;
}

.promo-controls .swiper-button-next {
    right: 0;
    margin: 0;
}

@media (max-width: 1023px) {
    .promo strong {
        font-size: 44px;
        line-height: 50px;
        padding: 12px 22px;
    }

    .promo span {
        transform: translate(0);
        margin-left: -15px;
        padding-left: 15px;
    }

    .promo .button {
        height: 58px;
    }

    .promo-controls {
        bottom: 36px;
        left: 20px;
        margin-left: 0;
        right: 20px;
    }

    .promo .container {
        padding-top: 80px;
    }
}

@media (max-width: 767px) {
    .promo .swiper-slide img {
        height: 213px;
    }

    .promo .container {
        padding-top: 213px;
        padding-left: 0;
        padding-right: 0;
    }

    .promo-controls {
        display: none;
    }

    .promo-caption {
        display: block;
        background-color: #fff;
        margin-bottom: 20px;
    }

    .promo strong {
        display: block;
        font-size: 35px;
        line-height: 45px;
        padding: 27px 15px 11px;
    }
    .promo strong:last-of-type{
        padding: 0 15px 11px !important;
    }
    .promo span {
        display: block;
        transform: translateX(0);
        margin: 0;
        position: relative;
        display: flex;
        flex-direction: column;
    }

    .promo span > br {
        display: none;
    }

    .promo b {
        position: static;
        /*top: -28px;*/
        /* left: calc(50% - 13px); */
        /*right: -16%;*/
        width: 100%;
        margin-bottom: 14px;
    }
     .promo {
        position: static;
        /*top: -28px;*/
        /* left: calc(50% - 13px); */
        /*right: -16%;*/
        width: 100%;
    }
   .news .news-title{
       height: auto;
       padding-right:0;
   }
   #home-slider .swiper-slide-active.active span{
       padding-left: 0;
   }
   .about-video > img{
       height: 100% !important;
       max-height: 100%;
   }
}

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

.swiper-navigation {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    z-index: 10;
}

.swiper-navigation > * {
    transition: background-color 0.3s ease-in-out;
}

.swiper-navigation > *::after {
    display: none;
}

.swiper-navigation svg {
    width: 20px;
    height: 20px;
}

.swiper-button-prev,
.swiper-button-next {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--c-bg);
    transform: translateY(-50%);
}

.swiper-button-prev > svg,
.swiper-button-next > svg {
    width: 14px;
    height: 14px;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    background-color: var(--c-text);
}

.swiper-button-prev:hover svg,
.swiper-button-next:hover svg {
    fill: var(--c-bg);
}

.swiper-button-prev {
    left: 50%;
    margin-left: -620px;
}

.swiper-button-next {
    right: 50%;
    margin-right: -620px;
}

.swiper-container-horizontal > .swiper-pagination-bullets {
    width: auto;
    left: auto;
    bottom: auto;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 14px;
}

.swiper-pagination,
.slick-dots {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-pagination-bullet,
.slick-dots li {
    position: relative;
    border-radius: 50%;
    border: 1px solid var(--c-text);
    background: transparent;
    padding: 0;
    margin: 0 14px !important;
    width: 12px;
    height: 12px;
    opacity: 1;
    transition: border-color 0.3s ease-in-out;
}

.swiper-pagination-bullet::before,
.slick-dots li::before {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    right: 1px;
    bottom: 1px;
    border-radius: 50%;
    background-color: transparent;
    transition: background-color 0.3s ease-in-out;
}

.swiper-pagination-bullet:hover,
.slick-dots li:hover {
    border-color: var(--c-text);
}

.swiper-pagination-bullet:hover::before,
.slick-dots li:hover::before {
    background-color: var(--c-text);
}

.swiper-pagination-bullet:hover.swiper-pagination-bullet-active,
.slick-dots li:hover.swiper-pagination-bullet-active {
    border-color: var(--c-text);
}

.swiper-pagination-bullet-active,
.slick-dots li.slick-active {
    border-color: var(--c-text);
}

.swiper-pagination-bullet-active::before,
.slick-dots li.slick-active::before {
    background-color: var(--c-text);
}

.slick-dots button {
    padding: 0;
    margin: 0;
    font-size: 0;
    line-height: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.sort {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 47px 20px;
    margin-bottom: 50px;
}

.sort .h {
    margin: 0;
}

.sort-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 11px;
}

.sort-info {
    font-size: 14px;
    line-height: 14px;
}

.sort-holder, .sort .view-button {
    font-weight: 500;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.sort-holder {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.sort-holder > * {
    border: 1px solid rgba(23, 23, 23, 0.3);
    border-radius: 5px 0 0 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 60px;
    transition-property: border-color, color, background-color;
    color: rgba(23, 23, 23, 0.5);
}

.sort-holder > *:last-child {
    border-radius: 0 5px 5px 0;
    border-left-width: 0;
}

.sort-holder > *:hover {
    border-color: var(--c-lazuli);
    color: var(--c-lazuli);
}

.sort-holder > *.active {
    background-color: var(--c-lazuli);
    color: var(--c-bg);
    border-color: var(--c-lazuli);
}

@media (max-width: 767px) {
    .sort {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        position: relative;
        margin-bottom: 17px;
    }

    .sort-holder {
        flex: 100%;
    }

    .sort-holder > * {
        text-align: center;
    }

    .sort .h {
        padding-right: 25%;
    }

    .sort .view-button {
        position: absolute;
        top: 0;
        right: 0;
        width: 68px;
    }

    .sort .view-button span {
        display: none;
        position: absolute;
        top: 40px;
        left: 0;
        right: 0;
        text-align: center;
    }

    .sort .view-button span.active {
        display: block;
    }

    .sort .view-button a {
        display: block;
        margin: 0;
    }

    .sort-info {
        padding-bottom: 11px;
    }
}

.view-button a {
    position: relative;
    display: inline-flex;
    width: 68px;
    height: 32px;
    background-color: var(--c-lazuli);
    border-radius: 32px;
    margin: 0 12px -11px;
}

.view-button a::before {
    content: '';
    position: absolute;
    top: calc(50% - 12px);
    left: calc(50% - 12px);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--c-bg);
    transition: transform 0.3s ease;
    transform: translateX(calc(100% - 6px));
}

.view-button .active + a::before {
    transform: translateX(calc(-100% + 6px));
}

.product {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(354px, 1fr));
    gap: 20px;
    margin-bottom: 63px;
    position: relative;
    z-index: 1;
}

.product-item {
    position: relative;
    height: 460px;
    overflow: hidden;
    padding: 20px 30px;
}

.product-item:hover .product-info {
    transform: translateY(0);
}

.product-item:hover > .product-title {
    opacity: 0;
}

.product-title {
    display: block;
    position: relative;
    z-index: 15;
    font-weight: bold;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.1px;
    text-transform: uppercase;
    color: var(--c-bg);
    transition: opacity 0.3s ease-in-out;
}

.product-title::before {
    content: '';
    position: absolute;
    top: -30px;
    left: -30px;
    right: -30px;
    height: 144px;
    background: linear-gradient(181.25deg, rgba(0, 0, 0, 0.6) 1.07%, rgba(23, 23, 23, 0) 76.98%);
    mix-blend-mode: multiply;
    z-index: -2;
    pointer-events: none;
}

.product-title > b {
    display: block;
    font-weight: normal;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 0.1px;
    margin-top: 12px;
    margin-bottom: 34px;
}

.product-info {
    z-index: 5;
    transform: translateY(100%);
    transition: transform 0.3s ease-in-out;
    background: rgba(22, 22, 22, 0.6);
    backdrop-filter: blur(15px);
    padding: 0 40px 37px;
    color: var(--c-bg);
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
}

.product-info .product-title {
    text-transform: none;
    font-size: 40px;
    line-height: 45px;
    margin-bottom: 12px;
    opacity: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-info .product-title::before {
    display: none;
}

.product-info > span {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 10px;
    font-weight: 500;
    font-size: 12px;
    line-height: 15px;
    padding: 22px 0 17px;
    border-bottom: 1px solid rgba(250, 250, 250, 0.2);
    margin-bottom: 31px;
}

.product-head svg {
    width: 18px;
    height: 18px;
    fill: var(--c-bg);
}

.product-head svg.icon-man {
    width: 10px;
}

.product-head span:first-of-type {
    margin-right: 10px;
}

.product-card {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 55px;
    align-items: center;
    font-size: 14px;
    line-height: 25px;
    padding: 30px 60px 24px 26px;
    box-shadow: 0px 0px 100px rgba(0, 0, 0, 0.05);
    border-radius: 5px;
}

.product-card .button {
    width: 100%;
    margin-top: 43px;
    color: #FAFAFA;
}

.product-card img {
    mix-blend-mode: multiply;
}

.product-map {
    position: relative;
    height: 660px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 60px;
    border: solid rgba(0, 0, 0, 0.1);
    border-width: 1px 0;
}

.product-map > div[id],
.product-map > iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    z-index: 2;
}

.container > .product-map:last-child {
    margin-bottom: -100px;
    border-bottom-width: 0;
}

.product .load-more {
    grid-column: 1 / 4;
    margin-top: 43px;
    margin-bottom: 60px;
}

.container > .product:last-child {
    margin-bottom: 0;
}

@media (min-width: 769px) and (max-width: 1220px) {
    .product-map > div[id],
    .product-map > iframe {
        width: 1220px;
    }
}

@media (max-width: 1023px) {
    .product-card {
        padding: 60px 20px 20px;
        gap: 0 25px;
        position: relative;
    }
}

@media (max-width: 767px) {
    .product:last-child {
        margin-bottom: 0;
    }

    .product .load-more {
        margin-bottom: 0;
    }

    .product-item {
        display: block;
        min-width: 254px;
        height: 472px;
        padding: 0;
    }

    .product-item::before {
        display: none;
    }

    .product-title {
        display: none;
    }

    .product-info {
        transform: none;
        position: static;
        background: none;
        backdrop-filter: none;
        padding: 0 13px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
    }

    .product-info .product-title {
        display: block;
        background-color: var(--c-bg);
        margin: 0 -13px;
        color: var(--c-text);
        font-size: 25px;
        line-height: 25px;
        padding-top: 27px;
    }

    .product-info .product-title b {
        font-size: 15px;
        margin-bottom: 0;
        padding-top: 13px;
    }

    .product-info > span {
        display: none;
    }

    .product-head {
        background-color: var(--c-bg);
        color: var(--c-text);
        margin-left: -13px;
        margin-right: -13px;
        padding-bottom: 14px;
    }

    .product-head svg {
        fill: var(--c-text);
    }

    .product-map {
        display: block;
    }
}

.layout-view {
    position: absolute;
    top: -999em;
    left: -999em;
}

.layout-view.active {
    position: relative;
    top: auto;
    left: auto;
}

.layout-view.product-map {
    height: 794px;
    margin-bottom: 120px;
}

@media (max-width: 767px) {
    .layout-view.product-map {
        height: 560px;
    }

    .layout-view.product {
        display: flex;
        flex-wrap: nowrap;
        margin-bottom: 25px;
    }

    .layout-view .product-info .product-title {
        white-space: nowrap;
        text-overflow: ellipsis;
        overflow: hidden;
    }
}

.flat {
    padding-top: 6px;
}

.flat strong {
    display: block;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 12px;
}

.flat li {
    padding: 8px 0 7px;
    border-top: 1px solid rgba(23, 23, 23, 0.3);
    font-size: 14px;
}

.flat li:first-child {
    border-top-width: 0;
    font-weight: 500;
}

@media (max-width: 1023px) {
    .flat strong {
        position: absolute;
        top: 20px;
        left: 20px;
        right: 20px;
    }
}

.tag {
    position: absolute;
    bottom: 37px;
    left: 40px;
    right: 40px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
    flex-wrap: wrap;
}

.tag-item {
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    font-size: 12px;
    line-height: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    height: 39px;
    border-radius: 5px;
    background-color: var(--c-bg);
    color: var(--c-text);
    padding: 0 29px;
}

@media (max-width: 767px) {
    .tag {
        bottom: auto;
        left: 13px;
        top: 272px;
    }
}

.load-more {
    text-align: center;
    margin-bottom: 120px;
}

.container > .load-more:last-child {
    margin-bottom: 0;
}

.load-more.hidden {
    display: none;
}

@media (max-width: 767px) {
    .load-more {
        margin-bottom: 50px;
    }
}

.main-about {
    position: relative;
    display: grid;
    grid-template-columns: 1.1fr 2fr;
    gap: 0 49px;
    padding: 40px 0 43px;
    margin-bottom: 43px;
}

.main-about::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -2000px;
    right: -2000px;
    border: solid rgba(0, 0, 0, 0.2);
    border-width: 1px 0;
    pointer-events: none;
}

.main-about > div:first-of-type {
    border-right: 1px solid rgba(0, 0, 0, 0.2);
    padding: 23px 36px 47px 0;
}

.main-about .pic {
    position: relative;
}

.main-about .pic div {
    position: absolute;
    top: 0;
    width: calc(50vw + 144px);
    bottom: 0;
}

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

.main-about h2, .main-about .h2 {
    font-weight: 700;
    margin-bottom: 42px;
}

.main-about p {
    margin-bottom: 36px;
}

@media (max-width: 1023px) {
    .main-about {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .main-about {
        display: block;
        padding: 0;
    }

    .main-about::before, .main-about .pic {
        display: none;
    }

    .main-about > div:first-of-type {
        padding: 0;
        border: none;
    }

    .main-about .button {
        display: none;
    }
}

.mobile-hidden {
    display: none;
}

@media (max-width: 767px) {
    .mobile-hidden {
        display: block;
    }

    .mobile-scroll {
        overflow-x: scroll;
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        margin-bottom: 20px;
    }
}

.news {
    display: grid;
    grid-template-columns: repeat(auto-fill, 285px);
    gap: 42px 123px;
    align-items: baseline;
    margin-bottom: 94px;
}

.news:last-child {
    margin-bottom: 0;
}

.news h2, .news .h2 {
    grid-column: 1 / 3;
    margin-bottom: 0;
}

.news .show-all {
    opacity: 0.5;
    font-weight: bold;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition-property: opacity, color, border-color;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    padding: 1px 0;
}

.news .show-all::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: var(--c-red);
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
}

.news .show-all:hover {
    opacity: 1;
}

.news .show-all:hover::before {
    transform: translateX(0);
}

.news-title {
    font-weight: bold;
    font-size: 25px;
    line-height: 28px;
    letter-spacing: 0.1px;
    margin-bottom: 42px;
    height: 84px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease-in-out;
}

.news.short-preview .news-item:nth-child(n+10) {
    display: none;
}

.news-item {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.3px;
    transition-property: color, box-shadow;
}

.news-item:hover {
    color: var(--c-text);
}

.news-item:hover .news-title {
    color: var(--c-red);
}

.home-page .news-item {
    padding: 20px;
    margin-left: -20px;
}
.news .news-item{
    margin-left: 0 !important;
}
.home-page .news-item:hover {
    color: var(--c-text);
    box-shadow: 0px 25px 60px rgba(0, 0, 0, 0.1);
}

.home-page .news-item:hover .news-title {
    color: var(--c-text);
}

.news .date {
    display: block;
    font-size: 12px;
}

.news-date {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.3px;
    font-weight: 500;
    padding-top: 25px;
    opacity: 0.5;
}

.news p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 37px;
}

.news img {
    display: block;
    position: relative;
    width: 100%;
    height: 176px;
    object-fit: cover;
    margin-bottom: 44px;
}

.news-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.news-head h2, .news-head .h2, .news-head .h1, .news-head h1 {
    max-width: 740px;
}

.news-head.full-width {
    gap: 0 60px;
    margin-bottom: 80px;
    align-items: flex-end;
}

.news-head.full-width h2, .news-head.full-width .h2, .news-head.full-width .h1, .news-head.full-width h1 {
    max-width: 100%;
    margin-bottom: 0;
}

.news-head.full-width .news-date {
    font-size: 13px;
    line-height: 14px;
    padding-top: 0;
    padding-bottom: 10px;
    flex-shrink: 0;
}

.news-header {
    margin-bottom: 22px;
}

@media (max-width: 1023px) {
    .news-head {
        display: block;
        margin-bottom: 50px;
    }

    .news-head h1, .news-head .h1, .news-head h2, .news-head .h2 {
        margin-bottom: 10px;
    }
}

@media (max-width: 767px) {
    .news {
        grid-template-columns: 1fr;
    }

    .news img {
        height: 225px;
    }

    .news-head {
        margin-bottom: 0;
    }

    .news .show-all {
        font-size: 13px;
    }

    .news-header {
        display: flex;
        justify-content: space-between;
        margin-bottom: 2px;
    }

    .news-title {
        font-size: 20px;
        line-height: 25px;
        margin-bottom: 20px;
        padding-right: 25%;
    }

    .news p {
        margin-bottom: 30px;
    }

    .news.mobile-gallery {
        display: block;
    }

    .news.mobile-gallery .slick-dots {
        position: absolute;
        bottom: 26px;
        right: 0;
        background-color: var(--c-bg);
    }

    .news-date {
        display: block;
        padding: 0 0 30px;
    }
}

.main-img {
    position: relative;
    height: 618px;
    margin: -37px 0 40px;
}

.main-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.main-img .links {
    position: absolute;
    bottom: -1px;
    left: 50%;
    margin-left: -620px;
    display: flex;
    padding: 34px 104px 0 20px;
    gap: 0 92px;
    font-weight: 500;
    font-size: 12px;
    line-height: 15px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.main-img .links::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1000px;
    z-index: 2;
    background-color: var(--c-bg);
    pointer-events: none;
}

.main-img a {
    position: relative;
    z-index: 5;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--c-text);
    transition-property: border-color;
}

.main-img a:hover {
    color: var(--c-text);
    border-color: transparent;
}

@media (min-width: 769px) and (max-width: 1240px) {
    .main-img {
        width: 1240px;
    }
}

@media (max-width: 1023px) {
    .main-img {
        height: 360px;
    }

    .main-img .links {
        left: 0;
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .main-img {
        height: 240px;
    }

    .main-img .links {
        padding: 20px 34px 0 20px;
        gap: 0 42px;
    }
}

.project-details {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 20px;
    padding: 28px 0 22px;
    margin-bottom: 80px;
}

.project-details::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1000px;
    right: -1000px;
    pointer-events: none;
    box-shadow: 0px 4px 60px rgba(0, 0, 0, 0.1);
}

.project-details strong {
    display: block;
    position: relative;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    padding-bottom: 17px;
    margin-bottom: 15px;
}

.project-details strong:before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 50px;
    height: 2px;
    background-color: var(--c-lazuli);
}

@media (max-width: 1023px) {
    .project-details {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .project-details {
        margin-bottom: 50px;
    }

    .project-details strong {
        padding-bottom: 10px;
    }
}

.columns {
    column-count: 2;
    gap: 0 20px;
    margin-bottom: 64px;
    line-height: 35px;
}

.columns + .columns {
    margin-top: -30px;
}

.columns p, .columns ul, .columns h3, .columns .h3, .columns .h4, .columns h4, .columns h5, .columns .h5 {
    page-break-inside: avoid;
}

.columns li {
    position: relative;
    padding: 0 0 30px 30px;
}

.columns li::before {
    content: '\2022';
    position: absolute;
    top: 0;
    left: 11px;
}

.columns li a {
    font-weight: 500;
    border-bottom: 1px solid var(--c-text);
    transition-property: color, border-color;
}

.columns li a:hover {
    color: var(--c-red);
}

@media (max-width: 767px) {
    .columns {
        column-count: 1;
        margin-bottom: 45px;
    }

    .columns ul:last-child li:last-child {
        padding-bottom: 0;
    }
}

.photo {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    padding-bottom: 38px;
    margin-bottom: 110px;
    overflow: hidden;
    position: relative;
}

.photo .swiper-wrapper {
    height: 614px;
}

.photo .swiper-pagination {
    bottom: -38px;
}

.photo-sorting {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 0;
    margin-bottom: 48px;
}

.photo-sorting::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1000px;
    right: -1000px;
    border: solid rgba(23, 23, 23, 0.3);
    border-width: 1px 0;
    pointer-events: none;
}

.photo-sorting h3, .photo-sorting .h3 {
    margin-bottom: 0;
}

.photo-sorting a {
    display: inline-flex;
    color: var(--c-red);
    font-size: 15px;
    line-height: 15px;
    padding: 4px 0 5px;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 0.05em;
    border-bottom: 1px solid var(--c-red);
    transition-property: color, border-color;
}

.photo-sorting a:hover {
    color: var(--c-text);
}

.photo-sorting > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.photo-sorting > div > div:nth-child(2) .select2 .select2-selection .select2-selection__rendered {
    border-left-width: 0;
}

@media (max-width: 1219px) {
    .photo .swiper-button-prev {
        margin-left: 0;
        left: 25px;
    }

    .photo .swiper-button-next {
        margin-right: 0;
        right: 25px;
    }
}

@media (min-width: 769px) and (max-width: 1220px) {
    .photo {
        width: 1220px;
    }
}

@media (max-width: 1023px) {
    .photo {
        margin-bottom: 60px;
    }

    .photo .swiper-wrapper {
        height: 460px;
    }

    .photo-sorting {
        flex-wrap: wrap;
    }

    .photo-sorting h3, .photo-sorting .h3 {
        flex: 100%;
        margin-bottom: 30px;
    }
}

@media (max-width: 767px) {
    .photo {
        margin-bottom: 45px;
    }

    .photo .swiper-wrapper {
        height: 240px;
    }

    .photo-sorting {
        flex-direction: column;
        align-items: flex-start;
    }

    .photo-sorting h3, .photo-sorting .h3, .photo-sorting a {
        margin-bottom: 20px;
    }

    .photo-sorting > div {
        position: relative;
        width: 100%;
    }

    .photo-sorting > div > * {
        position: relative;
        width: calc(50% - 10px);
        height: 30px;
    }

    .photo-sorting > div > *:nth-child(1) .select2 .select2-selection .select2-selection__arrow {
        margin-right: 6px;
    }

    .photo-sorting > div > *:nth-child(2) .select2 .select2-selection .select2-selection__rendered {
        border-right-width: 0;
    }
}

.technical {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 90px;
}

.technical h3, .technical .h3 {
    margin-bottom: 0;
    grid-column: 1 / 3;
}

.technical-item {
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 0 30px;
    align-items: center;
    border: 1px solid rgba(23, 23, 23, 0.3);
    box-sizing: border-box;
    border-radius: 5px;
    padding: 30px 20px;
    height: 133px;
    line-height: 20px;
    transition-property: color, background-color, border-color;
    animation-duration: 3s;
    animation-iteration-count: 1;
}

.technical-item::before, .technical-item::after {
    content: '';
    position: absolute;
    left: calc(50% - 40px);
    width: 80px;
    height: 1px;
    background-color: var(--c-lazuli);
}

.technical-item:before {
    top: -1px;
}

.technical-item:after {
    bottom: -1px;
}

.technical-item svg {
    transition-property: filter, transform, fill;
    transition-duration: 0.9s;
}

.technical-item:hover {
    background-color: var(--c-red);
    color: var(--c-bg);
    animation-name: pulse;
    border-color: var(--c-red);
}

.technical-item:hover svg {
    transform: rotateY(360deg);
}

.technical-item:hover path {
    fill: var(--c-bg);
}

.technical-item:first-of-type {
    grid-column-start: 3;
}

.technical svg {
    flex-shrink: 0;
}

.technical path {
    transition: all 0.3s ease-in-out;
}

@media (max-width: 1023px) {
    .technical {
        grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
    }

    .technical h3, .technical .h3 {
        grid-column: 1 / -1;
    }

    .technical h3 br, .technical .h3 br {
        display: none;
    }

    .technical-item:first-of-type {
        grid-column-start: 1;
    }
}

@media (max-width: 767px) {
    .technical {
        margin-bottom: 50px;
    }
}

@keyframes pulse {
    0% {
        background-color: var(--c-bg);
    }
    100% {
        background-color: var(--c-red);
    }
}

.tabset > input {
    display: block;
    position: absolute;
    left: -100%;
}

.tabset > input:nth-child(1):focus ~ ul li:nth-child(1) label,
.tabset > input:nth-child(2):focus ~ ul li:nth-child(2) label,
.tabset > input:nth-child(3):focus ~ ul li:nth-child(3) label,
.tabset > input:nth-child(4):focus ~ ul li:nth-child(4) label,
.tabset > input:nth-child(5):focus ~ ul li:nth-child(5) label,
.tabset > input:nth-child(6):focus ~ ul li:nth-child(6) label {
    border-color: var(--c-red);
}

.tabset > input:nth-child(1):checked ~ ul li:nth-child(1) label,
.tabset > input:nth-child(2):checked ~ ul li:nth-child(2) label,
.tabset > input:nth-child(3):checked ~ ul li:nth-child(3) label,
.tabset > input:nth-child(4):checked ~ ul li:nth-child(4) label,
.tabset > input:nth-child(5):checked ~ ul li:nth-child(5) label,
.tabset > input:nth-child(6):checked ~ ul li:nth-child(6) label {
    border-color: var(--c-red);
    font-weight: 600;
}

.tabset > input:nth-child(1):checked ~ div > section:nth-child(1),
.tabset > input:nth-child(2):checked ~ div > section:nth-child(2),
.tabset > input:nth-child(3):checked ~ div > section:nth-child(3),
.tabset > input:nth-child(4):checked ~ div > section:nth-child(4),
.tabset > input:nth-child(5):checked ~ div > section:nth-child(5),
.tabset > input:nth-child(6):checked ~ div > section:nth-child(6) {
    position: static;
}

.tabset > ul {
    position: relative;
    z-index: 9;
    list-style: none;
    display: flex;
    justify-content: flex-start;
    gap: 0 135px;
    line-height: 20px;
}

.tabset > ul::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: -1px;
    left: -1000px;
    right: -1000px;
    border: solid rgba(23, 23, 23, 0.3);
    border-width: 1px 0;
    pointer-events: none;
}

.tabset > ul label {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    display: block;
    cursor: pointer;
    padding: 30px 0 25px;
    border-bottom: 3px solid transparent;
    transition: border-colr 0.3s ease-in-out;
}

.tabset > div {
    position: relative;
}

.tabset > div > section, .tabset > div > section h2 {
    position: absolute;
    top: -999em;
    left: -999em;
}

@media (max-width: 1023px) {
    .tabset > ul {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
        gap: 0 45px;
        flex-wrap: nowrap;
        white-space: nowrap;
        overflow-x: scroll;
        border-top: 1px solid rgba(23, 23, 23, 0.3);
    }

    .tabset > ul::before {
        display: none;
    }
}

.cards {
    padding: 50px 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

@media (max-width: 767px) {
    .cards {
        grid-template-columns: repeat(1, 1fr);
    }
}

.share {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: center;
    font-weight: 500;
    font-size: 15px;
    line-height: 15px;
    letter-spacing: 0.05em;
    padding-bottom: 50px;
    margin-bottom: 90px;
}

.share::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -1000px;
    right: -1000px;
    height: 1px;
    background-color: rgba(23, 23, 23, 0.3);
}

.share > span {
    grid-column-start: 2;
}

.share a {
    margin: 0;
}

.share a svg {
    width: 23px;
    height: 23px;
}

.share a:hover svg {
    fill: var(--c-red);
}

.share-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    margin: 0 0 15px;
}

.share-bottom::before {
    display: none;
}

.share-bottom a {
    margin: 0 31px;
}

.share-bottom a:last-child {
    margin-right: 0;
}

@media (max-width: 1023px) {
    .share {
        display: block;
    }

    .share span {
        display: block;
        margin-bottom: 20px;
    }

    .share-bottom {
        position: relative;
        left: auto;
        bottom: auto;
        right: auto;
        padding-top: 30px;
    }

    .share-bottom a:first-of-type {
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .share > span {
        display: block;
        margin-bottom: 20px;
    }

    .share a:first-child {
        margin-left: 0;
    }

    .share-bottom {
        display: block;
    }
}

.contacts-info {
    position: relative;
    z-index: 5;
    background: var(--c-text);
    color: var(--c-bg);
    padding: 25px 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.contacts-info::before {
    content: '';
    pointer-events: none;
    background-color: transparent;
    z-index: 2;
    transition: background-color 0.3s ease-in-out;
}

.contacts-info .social a {
    width: 29px;
    height: 29px;
    background: var(--c-bg);
    transition-property: background-color;
}

.contacts-info .social a:hover {
    background-color: var(--c-red);
}

.contacts-info .social a:hover svg {
    fill: var(--c-bg);
}

.contacts-info .social svg {
    fill: var(--c-text);
    width: 14px;
    height: 14px;
}

.contacts-info h3, .contacts-info .h3 {
    font-weight: 600;
    font-size: 25px;
    line-height: 45px;
    letter-spacing: 0.1px;
    margin-bottom: 20px;
}

.contacts-info h3 b, .contacts-info .h3 b {
    display: block;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 35px;
    margin-top: -4px;
}

.contacts-info dl {
    padding: 0;
    margin: 0;
    font-size: 16px;
    line-height: 18px;
    font-weight: 300;
}

.contacts-info dt {
    display: block;
    font-weight: 600;
    margin: 0 0 10px;
}

.contacts-info dd {
    display: block;
    margin: 0 0 38px;
}

.contacts-info .button {
    height: 59px;
    background-color: var(--c-bg);
    color: var(--c-text);
    border-color: var(--c-bg);
}

.contacts-info .button:hover {
    background-color: var(--c-red);
    border-color: var(--c-red);
    color: var(--c-bg);
}

.contacts-info.offices {
    justify-content: flex-start;
    padding-top: 50px;
}

.contacts-info.offices ul:not([class]) {
    padding-top: 30px;
    border-bottom: 1px solid rgba(250, 250, 250, 0.3);
}

.contacts-info.offices ul:not([class]) > li {
    border: solid rgba(250, 250, 250, 0.3);
    border-width: 1px 0 0;
    line-height: 27px;
    letter-spacing: 0.1px;
}

.contacts-info.offices ul:not([class]) > li > a {
    display: block;
    padding: 13px 0;
    color: var(--c-bg);
    position: relative;
}

.contacts-info.offices ul:not([class]) > li > a::before, .contacts-info.offices ul:not([class]) > li > a::after {
    content: '';
    position: absolute;
    pointer-events: none;
    top: -1px;
    left: 0;
    right: 0;
    bottom: -1px;
    border: solid var(--c-red);
    border-width: 1px 0;
    transition: 0.3s ease-in-out;
    transition-property: transform, opacity;
    opacity: 0;
    transform: scale(1.3);
}

@media (hover: hover) {
    .contacts-info.offices ul:not([class]) > li > a:hover {
        color: var(--c-red);
    }

    .contacts-info.offices ul:not([class]) > li > a:hover::before {
        transform: scale(1);
        opacity: 1;
    }
}

.contacts-info .contacts-info {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-100%);
    transition: 0.3s ease-in-out;
    transition-property: opacity, transform;
}

.contacts-info .contacts-info.open {
    opacity: 1;
    transform: translateX(0);
    pointer-events: all;
}

.contacts-info.open .contacts-close {
    opacity: 1;
    pointer-events: all;
}

.contacts-details {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 0 120px;
    padding-top: 57px;
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 70px;
}

.contacts-details::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: -1000px;
    height: 1px;
    background-color: #b5b5b5;
}

.contacts-details > *:nth-child(2) {
    position: relative;
    padding-left: 120px;
}

.contacts-details > *:nth-child(2)::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: -6px;
    width: 1px;
    background-color: rgba(23, 23, 23, 0.3);
}

.contacts-details h5, .contacts-details .h5 {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 0;
}

.contacts-details .button {
    height: 73px;
    margin-top: 25px;
    min-width: 287px;
}

.contacts-phones {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-bottom: -100px;
}

.contacts-phones b {
    display: block;
    font-weight: 600;
    font-size: 14px;
    line-height: 15px;
    margin-bottom: 20px;
}

.contacts-phones > * {
    font-size: 20px;
    line-height: 28px;
    padding-bottom: 48px;
    margin-bottom: 40px;
}

.contacts-phones > *:first-child {
    grid-column-start: 2;
    grid-column-end: 3;
    transform: translateY(calc(-100% - 40px));
    margin-bottom: -100px;
}

.contacts-phones > *:nth-child(2) {
    position: relative;
}

.contacts-phones > *:nth-child(2)::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: -1000px;
    height: 1px;
    background-color: #b5b5b5;
}

.contacts-close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 10;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: 0.3s ease-in-out;
    transition-property: opacity, color;
}

.contacts-close svg {
    width: 16px;
    height: 16px;
    fill: var(--c-bg);
}

.contacts-close:hover svg {
    fill: var(--c-red);
}

@media (max-width: 1023px) {
    .contacts-info {
        padding-left: 20px;
        padding-right: 20px;
    }

    .contacts-info .button {
        margin-bottom: 20px;
    }

    .contacts-info.offices {
        justify-content: space-around;
        padding: 20px 25px;
        font-size: 18px;
        line-height: 23px;
    }

    .contacts-info.offices ul {
        padding-top: 0;
    }

    .contacts-info.offices li {
        line-height: inherit;
    }

    .contacts-details {
        display: block;
    }

    .contacts-details > *:first-child {
        margin-bottom: 60px;
    }

    .contacts-details > *:nth-child(2) {
        padding-left: 0;
    }

    .contacts-details > *:nth-child(2)::before {
        display: none;
    }

    .contacts-phones > *:first-child {
        transform: translateY(calc(-100% - 45px));
        position: relative;
        padding-top: 25px;
        padding-bottom: 25px;
    }

    .contacts-phones > *:first-child::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 1px;
        background-color: rgba(23, 23, 23, 0.2);
    }

    .contacts-phones > *:nth-child(odd) {
        padding-left: 60px;
    }
}

@media (max-width: 767px) {
    .contacts-info.offices {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .contacts-info.offices ul {
        display: flex;
        flex-wrap: nowrap;
        white-space: nowrap;
        overflow-x: scroll;
        padding-bottom: 1px;
        border: none;
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .contacts-info.offices li {
        padding-right: 50px;
        position: relative;
        border-width: 1px 0;
    }

    .contacts-info.offices li::before {
        content: '';
        position: absolute;
        top: 8px;
        right: 25px;
        bottom: 8px;
        width: 1px;
        background-color: rgba(250, 250, 250, 0.2);
    }

    .contacts-info.offices li:last-child {
        padding-right: 0;
    }

    .contacts-info.offices li:last-child::before {
        display: none;
    }

    .contacts-info.offices a {
        padding: 18px 0;
    }

    .contacts-details {
        padding-top: 0;
    }

    .contacts-details::before {
        display: none;
    }

    .contacts-details .button {
        height: 58px;
    }

    .contacts-phones {
        display: block;
        margin-bottom: 0;
    }

    .contacts-phones > *:nth-child(n) {
        position: relative;
        padding: 10px 0 20px;
        margin: 0 0 20px;
        transform: none;
    }

    .contacts-phones > *:nth-child(n)::before {
        content: '';
        position: absolute;
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        height: 1px;
        background-color: rgba(23, 23, 23, 0.2);
    }
}

.few-products {
    position: relative;
    overflow: visible;
}

.few-products .swiper-slide {
    opacity: 0;
    transition-property: opacity, color, background-color, border-color;
    cursor: pointer;
}

.few-products .swiper-slide.swiper-slide-active,
.few-products .swiper-slide.swiper-slide-active + .swiper-slide,
.few-products .swiper-slide.swiper-slide-active + .swiper-slide + .swiper-slide {
    opacity: 1;
}

.few-products .swiper-navigation {
    left: -20px;
    right: -20px;
}

.few-products .swiper-button-next {
    right: -40px;
    margin: 0;
}

.few-products .swiper-button-prev {
    left: -40px;
    margin: 0;
}

.filter {
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 0 125px;
    line-height: 20px;
    margin-bottom: 30px;
}

.filter::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: -1px;
    left: -1000px;
    right: -1000px;
    border: solid rgba(23, 23, 23, 0.3);
    border-width: 1px 0;
    pointer-events: none;
}

.filter-item {
    cursor: pointer;
    padding: 30px 0 25px;
    border-bottom: 3px solid transparent;
    transition: border-colr 0.3s ease-in-out;
    color: var(--c-text);
}

.filter-item:hover {
    color: inherit;
}

.filter-item.active {
    border-color: var(--c-red);
    font-weight: 600;
}

.filter-item.active:hover {
    color: inherit;
}

.filter + .cards {
    margin-bottom: 94px;
}

@media (max-width: 1023px) {
    .filter {
        gap: 0 45px;
    }
}

@media (max-width: 767px) {
    .filter {
        white-space: nowrap;
        flex-wrap: nowrap;
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
        overflow-x: scroll;
        border: solid rgba(23, 23, 23, 0.3);
        border-width: 1px 0;
    }

    .filter::before {
        left: 0;
        right: 0;
        display: none;
    }
}

.service {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    position: relative;
    z-index: 1;
}

.service-item {
    position: relative;
    padding: 30px 35px 35px;
    border-radius: 5px;
    border: 1px solid rgba(23, 23, 23, 0.3);
    transition-property: color, background-color, border-color;
    overflow: hidden;
}

.service-item::before {
    content: '';
    position: absolute;
    bottom: 35px;
    left: 35px;
    height: 4px;
    width: 119px;
    background-color: var(--c-red);
    pointer-events: none;
    transition: background-color 0.3s ease-in-out;
}

.service-item::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--c-red);
    transition: .5s;
    z-index: 2;
}

.service-item > * {
    position: relative;
    z-index: 5;
}

.service-item:nth-child(1) {
    grid-column: 1 / 3;
}

.service-item:nth-child(1) p {
    -webkit-line-clamp: 4;
    margin-bottom: 14px;
}

.service-item:nth-child(2) {
    grid-row: 1 / 3;
    grid-column: 3;
}

.service-item:nth-child(2) p {
    display: block;
}

.service-item:nth-child(2) p:nth-of-type(2) {
    display: block;
}

.service-item p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 44px;
}

.service-item p:nth-of-type(2) {
    display: none;
}

.service-item:hover {
    color: var(--c-bg);
    border-color: var(--c-red);
}

.service-item:hover::before {
    background-color: var(--c-bg);
}

.service-item:hover::after {
    top: 0;
}

.service-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: bold;
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 47px;
    height: 110px;
}

.service-layout {
    display: grid;
    grid-template-columns: 1.5fr 1.25fr;
    gap: 0 122px;
    margin-bottom: 78px;
}

.service-layout p {
    margin-bottom: 15px;
}

.service-layout p + h3,
.service-layout p + .h3 {
    padding-top: 40px;
    margin-bottom: 17px;
}

.service-head {
    position: relative;
    background-color: var(--c-lazuli);
    color: var(--c-bg);
    padding: 55px 80px 120px 107px;
    font-weight: 500;
    font-size: 25px;
    line-height: 35px;
}

.service-head::before {
    content: '';
    position: absolute;
    bottom: 48px;
    left: 107px;
    width: 119px;
    height: 3px;
    background-color: var(--c-bg);
    pointer-events: none;
}

.service-details {
    position: relative;
}

.service-details img {
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    height: calc(100% - 143px);
    min-height: 200px;
    object-fit: cover;
    z-index: -1;
}

.service.few-products .service-item:nth-child(1), .service.few-products .service-item:nth-child(2) {
    grid-row: auto;
    grid-column: auto;
}

.service.few-products .service-item:nth-child(1) p, .service.few-products .service-item:nth-child(2) p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
}

.service.few-products .service-item p:nth-of-type(n+2) {
    display: none;
}

@media (max-width: 1023px) {
    .service {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-layout {
        display: block;
    }

    .service-head {
        margin: 40px 0 10px;
        padding: 40px 40px 78px 40px;
        font-size: 22px;
        line-height: 32px;
    }

    .service-head::before {
        left: 40px;
        bottom: 40px;
    }

    .service-details img {
        display: none;
    }

    .service-item:nth-child(2) {
        grid-row: auto;
        grid-column: auto;
    }

    .service-item:nth-child(2) p {
        display: -webkit-box;
    }

    .service-item:nth-of-type(n) p:not(:first-of-type) {
        display: none;
    }
}

@media (max-width: 767px) {
    .service {
        grid-template-columns: repeat(1, 1fr);
    }

    .service-item:first-of-type {
        grid-column: auto;
    }

    .service-item:first-of-type p {
        -webkit-line-clamp: 3;
        margin-bottom: 44px;
    }

    .service-title {
        height: auto;
        -webkit-line-clamp: 2;
    }
}

figure {
    display: block;
    padding: 0;
    margin: 0 0 90px;
}

figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1023px) {
    figure {
        margin-bottom: 50px;
    }

    figure img {
        max-height: 360px;
    }
}

hr {
    padding: 0;
    margin: 0 0 72px;
    width: 200vw;
    border: solid rgba(23, 23, 23, 0.3);
    border-width: 1px 0 0;
    transform: translateX(-50%);
}

@media (max-width: 767px) {
    hr {
        margin-bottom: 50px;
    }
}

.small-text {
    font-size: 16px;
    line-height: 30px;
    padding-left: calc(50% + 20px);
}

@media (max-width: 767px) {
    .small-text {
        padding-left: 30px;
    }
}

.career-head {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 90px;
}

.career-details {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px;
}

.career-item {
    position: relative;
    page-break-inside: avoid;
    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: center;
    padding: 25px 0 23px;
    border: solid #b5b5b5;
    border-width: 1px 0;
    margin-top: -1px;
    transition-property: border-color;
}

.career-item > * {
    transition: color 0.3s ease-in-out;
    position: relative;
    z-index: 5;
}

.career-item strong {
    font-weight: 300;
    line-height: 20px;
}

.career-item span {
    font-weight: 500;
    font-size: 13px;
    line-height: 14px;
    color: rgba(0, 0, 0, 0.5);
}

.career-item em {
    font-style: normal;
    display: block;
}

.career-item::before {
    content: '';
    position: absolute;
    top: -1px;
    bottom: -1px;
    left: -20px;
    right: -20px;
    pointer-events: none;
    z-index: 1;
    background-color: transparent;
    transition: background-color 0.3s ease-in-out;
}

.career-item:hover {
    border-color: var(--c-red);
}

.career-item:hover > * {
    color: var(--c-bg);
}

.career-item:hover::before {
    background-color: var(--c-red);
}

@media (max-width: 1023px) {
    .career-details {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (max-width: 767px) {
    .career-head {
        display: block;
        margin-bottom: 50px;
    }
}

.page404 {
    position: relative;
    text-align: center;
    padding-top: 100px;
}

.page404 strong {
    position: absolute;
    top: calc(50% - 35px);
    left: 50%;
    width: 120px;
    font-weight: bold;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    text-transform: uppercase;
    transform: translate(-50%, -50%);
}

.page404 img {
    display: block;
    max-width: 815px;
    margin: 0 auto 50px;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.page404 .button {
    width: 386px;
    height: 73px;
    margin: 0 auto;
}

@media (max-width: 1023px) {
    .page404 {
        padding-top: 70px;
    }
}

@media (max-width: 767px) {
    .page404 {
        padding-top: 40px;
    }

    .page404 strong {
        top: calc(50% - 18px);
    }

    .page404 .button {
        height: 58px;
    }
}

.dialog-content {
    display: none;
    padding: 0;
    border-radius: 5px;
    width: 100%;
    max-width: 1200px;
    cursor: default !important;
}

.dialog-content .product-card {
    padding: 55px 102px 55px 55px;
    grid-template-columns: 2fr 1.43fr;
    gap: 0 124px;
}

.dialog-content .button {
    height: 74px;
}

@media (max-width: 1023px) {
    .dialog-content .product-card {
        padding: 50px;
        gap: 0 60px;
    }

    .dialog-content .product-card strong {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
    }

    .dialog-content .button {
        height: 58px;
    }
}

@media (max-width: 767px) {
    .dialog-content .product-card {
        display: block;
        padding: 20px;
    }

    .dialog-content .product-card strong {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
    }

    .dialog-content .product-card img {
        height: 220px;
        width: 100%;
        object-fit: contain;
    }
}

.fancybox__content > .carousel__button.is-close {
    top: 15px;
    right: 18px;
    color: var(--c-text);
    box-shadow: none;
}

#object-map .gm-style .gm-style-iw-c {
    padding: 0;
    background: var(--c-bg);
    border-radius: 0;
}

#object-map .gm-style .gm-style-iw-d {
    overflow: hidden !important;
}

#object-map .gm-style button {
    opacity: 1;
    z-index: 10;
    top: 0 !important;
    right: 0 !important;
}

#object-map .gm-style .gm-style-iw-t {
    background: transparent;
}

#object-map .gm-style .gm-style-iw-t::after {
    transform: none;
    background: url(../images/icons/marker-slice.svg) no-repeat 0 0/contain;
    display: none;
}

#object-map .gm-style .gm-style-iw-t button {
    opacity: 0;
    pointer-events: none;
}

#object-map .gm-style .gm-style-iw-t .gm-style-iw-c {
    background: transparent;
    box-shadow: none;
    transform: translate3d(-3%, 48%, 0);
}

#object-map .gm-style .gm-style-iw-t .gm-style-iw-d {
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.1px;
    box-shadow: none;
}

#object-map .gm-style .gm-style-iw-t .gm-style-iw-d div {
    display: inline-flex;
    align-items: center;
    position: relative;
    height: 37px;
    background-color: var(--c-red);
    color: var(--c-bg);
    border-radius: 0 5px 5px 0;
    margin-left: 34px;
    padding-right: 10px;
}

#object-map .gm-style .gm-style-iw-t .gm-style-iw-d div::before {
    content: '';
    position: absolute;
    top: 0;
    left: -19px;
    background: url(../images/icons/marker-slice.svg) no-repeat 0 0/contain;
    width: 34px;
    height: 37px;
    z-index: -1;
}

.map-text {
    box-shadow: 0px 25px 60px rgba(0, 0, 0, 0.15);
    width: 311px;
}

.map-text .product-item {
    height: 386px;
}

.map-text .product-item::before {
    display: none;
}

.map-text .product-info {
    transform: none;
    background: none;
    color: var(--c-text);
    font-size: 13px;
    line-height: 20px;
    font-weight: 500;
}

.map-text .product-title {
    color: var(--c-text);
    font-size: 20px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.map-text .product-title b {
    display: none;
}

.map-text .product-head {
    border-bottom-color: rgba(23, 23, 23, 0.2);
    margin-bottom: 24px;
}

.map-text .product-head svg {
    fill: var(--c-text);
}

.map-text .tag-item {
    background-color: var(--c-text);
    color: var(--c-bg);
}

.plyr {
    width: 100%;
    height: 100%;
}

#features-map .gm-style .gm-style-iw-c {
    padding: 0 !important;
    background: #FAFAFA !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

#features-map .gm-ui-hover-effect {
    top: 6px !important;
    right: 6px !important;
    z-index: 10 !important;
}

#features-map .product-info {
    backdrop-filter: none !important;
}

#features-map .gm-style .gm-style-iw-d {
    overflow: hidden !important;
}

.call-option:not(.open):hover a {
    background-color: var(--c-red);
}

.call-option a {
    position: fixed;
    bottom: 100px;
    right: 100px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--c-lazuli);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20;
    transition: 0.3s ease-in-out;
    transition-property: transform, background-color;
    pointer-events: none;
}

.call-option a:hover {
    background-color: var(--c-red);
}

.call-option .phone {
    padding-right: 2px;
}

.call-option .close {
    pointer-events: all;
}

.call-option.open a {
    pointer-events: all;
}

.call-option.open a:not(.close) {
    background-color: var(--c-red);
}

.call-option.open a:not(.close):hover {
    background-color: var(--c-lazuli);
}

.call-option.open a:nth-child(3) {
    transform: translateY(-78px);
}

.call-option.open a:nth-child(2) {
    transform: translateY(-156px);
}

/*# sourceMappingURL=main.css.map */
.promoContainer{
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
}
.promoHeader{
    position:absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    /*left: 10%;*/
    z-index: 2;
    display: flex;
    align-items: end;
}

.promoHeader h2{
    background: #fff;
    padding: 10px;
    font-weight: 600;
    font-size: 70px;
    line-height: 80px;
    border-radius: 6px;
}
.applyButtonParent{
    display: flex;
    justify-content: center;
    padding: 0 0 40px 0;
}
@media (max-width: 767.9px) {
    .promoHeader h2{
        background: #fff;
        padding: 10px;
        font-weight: 600;
        font-size: 30px;
        line-height:100%;
    }
}