/* FONTS */
@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Thin.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-Thin.woff') format('woff');
    font-weight: 1;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Thin.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-ThinItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-ThinItalic.woff') format('woff');
    font-weight: 100;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-ThinItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-ThinItalic.woff') format('woff');
    font-weight: 1;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-ExtraLight.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-ExtraLightItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-ExtraLightItalic.woff') format('woff');
    font-weight: 200;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Light.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-LightItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-LightItalic.woff') format('woff');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Regular.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Italic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Medium.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-MediumItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-MediumItalic.woff') format('woff');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-SemiBold.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-SemiBoldItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-SemiBoldItalic.woff') format('woff');
    font-weight: 600;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Bold.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-BoldItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-BoldItalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-ExtraBold.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-ExtraBoldItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-ExtraBoldItalic.woff') format('woff');
    font-weight: 800;
    font-style: italic;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-Black.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat/Montserrat-BlackItalic.woff2') format('woff2'), url('../fonts/Montserrat/Montserrat-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'ToughSans';
    src: url('../fonts/ToughSans/Tough-Sans-Regular.otf') format('woff2'), url('../fonts/ToughSans/Tough-Sans-Regular.otf') format('woff');
    font-weight: 500;
    font-style: normal;
}

/* GENERAL */
:root {
    touch-action: pan-x pan-y;
}

* {
    padding: 0;
    margin: 0;
    outline: 0;
    -webkit-tap-highlight-color: transparent;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    color: inherit;
    text-decoration: none;
    outline: none;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

a:hover {
    color: #ED1C24;
    text-decoration: none;
}

li {
    list-style: none;
}

button {
    padding: 0;
    border: none;
    font: inherit;
    color: inherit;
    background-color: transparent;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

button, button:focus {
    outline: none;
}

input, textarea {
    -webkit-appearance: none;
    border-radius: 0;
}

input::-webkit-input-placeholder {
    color: #231F20;
    opacity: 0.6;
}

input::-moz-placeholder {
    color: #231F20;
    opacity: 0.6;
}

input:-moz-placeholder {
    color: #231F20;
    opacity: 0.6;
}

input:-ms-input-placeholder {
    color: #231F20;
    opacity: 0.6;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px #FFFFFF inset;
    -webkit-text-fill-color: #231F20;
}

input, textarea, select {
    font-family: inherit;
}

strong, b {
    font-weight: 600;
}

svg * {
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

img {
    object-fit: cover;
    object-position: center;
}

html, body {
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -moz-text-size-adjust: none;
}

html.scroll-disable {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: normal;
    color: #231F20;
    background: #F8F8F8;
}

.container {
    position: relative;
    width: 100%;
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto;
}

.container-lg {
    position: relative;
    width: 100%;
    max-width: 1400px;
    padding: 0 20px;
    margin: 0 auto;
}

.main-container {
    padding-top: 86px;
    max-height: 5000em;
}

.btn-primary {
    display: block;
    padding: 24px;
    background: #ED1C24;
    color: #FFF;
    font-weight: 500;
    text-align: center;
}

.btn-primary:hover {
    background: #231F20;
    color: #FFF;
}

.btn-secondary {
    display: block;
    padding: 12px;
    background: transparent;
    color: #231F20;
    border: 1px solid #231F20;
    font-weight: 500;
    text-align: center;
}

.btn-secondary:hover,
.btn-secondary.active {
    border: 1px solid #ED1C24;
    color: #ED1C24;
}

.btn-inverse {
    width: 100%;
    max-width: 255px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: #231F20;
    color: #FFF;
    font-weight: 500;
}

.btn-inverse::after {
    content: '';
    width: 20px;
    height: 20px;
    background: #FFF;
    -webkit-mask: url('../img/arrow-right.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-right.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-left: 10px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn-inverse:hover {
    background: #ED1C24;
    color: #FFF;
}

.btn-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid #231F20;
}

.btn-icon::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn-icon:hover {
    border: 1px solid #ED1C24;
}

.btn-icon:hover::before {
    background: #ED1C24;
}

.btn-icon.download::before {
    -webkit-mask: url('../img/download.svg') no-repeat 50% 50%;
    mask: url('../img/download.svg') no-repeat 50% 50%;
}

.btn-icon.back::before {
    -webkit-mask: url('../img/arrow-left.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-left.svg') no-repeat 50% 50%;
}

.btn-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: transparent;
    color: #231F20;
    border: 1px solid #231F20;
    font-weight: 500;
}

.btn-more::after {
    content: '';
    width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/arrow-right.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-right.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-left: 4px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn-more:hover {
    border: 1px solid #ED1C24;
    color: #ED1C24;
}

.btn-more:hover::after {
    background: #ED1C24;
}

.btn-show {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: transparent;
    color: #231F20;
    border: 1px solid #231F20;
    font-weight: 500;
}

.btn-show::after {
    content: '';
    width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/plus.svg') no-repeat 50% 50%;
    mask: url('../img/plus.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-left: 4px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn-show.active::after {
    -webkit-mask: url('../img/minus.svg') no-repeat 50% 50%;
    mask: url('../img/minus.svg') no-repeat 50% 50%;
}

.btn-show:hover {
    border: 1px solid #ED1C24;
    color: #ED1C24;
}

.btn-show:hover::after {
    background: #ED1C24;
}

.btn-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: transparent;
    color: #231F20;
    border: 1px solid #231F20;
    font-weight: 500;
}

.btn-filter::after {
    content: '';
    width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/chevron-down-2.svg') no-repeat 50% 50%;
    mask: url('../img/chevron-down-2.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-left: 4px;
    filter: blur(1px);
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn-filter:hover,
.btn-filter.active {
    border: 1px solid #ED1C24;
    color: #ED1C24;
}

.btn-filter:hover::after,
.btn-filter.active::after {
    background: #ED1C24;
}

.btn-filter.active::after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.btn-play {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ED1C24;
}

.btn-play::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-image: url('../img/play.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.title {
    font-size: 36px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.title.primary {
    position: relative;
    padding-left: 36px;
}

.title.primary::before {
    content: '';
    width: 26px;
    height: 26px;
    background: #ED1C24;
    position: absolute;
    left: 0;
    top: 9px;
}

.title.secondary {
    font-size: 24px;
    margin-bottom: 30px;
    position: relative;
    padding-left: 30px;
}

.title.secondary::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #ED1C24;
    position: absolute;
    left: 0;
    top: 4px;
}

.title-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.title-wrap .title {
    margin-bottom: 0;
}

.content {
    text-align: justify;
    line-height: 150%;
}

.content p:not(:last-child) {
    margin-bottom: 20px;
}

.content ul:not(:last-child),
.content ol:not(:last-child) {
    margin-bottom: 20px;
}

.content li:not(:last-child) {
    margin-bottom: 10px;
}

.content ul li {
    position: relative;
    padding-left: 20px;
}

.content ul li::before {
    content: '';
    width: 10px;
    height: 10px;
    background: #ED1C24;
    position: absolute;
    left: 0;
    top: 6px;
}

.content ol li {
    list-style: decimal;
    list-style-position: inside;
}

.content a {
    color: #ED1C24;
    font-weight: 500;
    border-bottom: 1px solid rgba(237, 28, 36, 0.2);
}

.content a:hover {
    border-bottom: 1px solid transparent;
}

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
    text-transform: uppercase;
    text-align: left;
    margin-bottom: 20px;
}

.content h1:not(:first-child),
.content h2:not(:first-child),
.content h3:not(:first-child),
.content h4:not(:first-child),
.content h5:not(:first-child),
.content h6:not(:first-child) {
    margin-top: 30px;
}

.content table {
    table-layout: fixed;
    border: 1px solid #231F20;
    border-collapse: collapse;
}

.content table td {
    padding: 5px;
    border: 1px solid #231F20;
    border-collapse: collapse;
    text-align: center;
}

.wp-caption {
    width: 100% !important;
    margin-bottom: 20px;
}

.wp-caption-text {
    margin-top: 20px;
    font-style: italic;
    opacity: 0.6;
}

.post-content > .wp-block-media-text {
    margin-bottom: 20px;
}

.post-content > .wp-block-group {
    margin-bottom: 20px;
}

.post-content > .wp-block-cover {
    margin-bottom: 20px;
}

.post-content > .wp-block-columns {
    margin-bottom: 80px;
}

.post-content > .wp-block-columns:first-of-type {
    margin-top: 40px;
}

.post-content > .wp-block-columns:last-of-type {
    margin-bottom: 40px;
}

.wp-block-columns > .wp-block-column > .wp-block-group.is-vertical {
    height: 100%;
}

.wp-block-columns > .wp-block-column > .wp-block-group.is-vertical > .wp-block-group {
    margin-bottom: 20px;
}

blockquote {
    position: relative;
    margin: 40px 0;
    padding: 22px 22px 22px 86px;
    border: 8px solid rgba(35, 31, 32, 0.1);
}

blockquote::before {
    content: '';
    width: 34px;
    height: 34px;
    background-image: url('../img/quotes.svg');
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 22px;
    left: 22px;
}

blockquote p {
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
}

.slider {
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease;
    -webkit-transition: opacity 1s ease;
}

.slider.slick-initialized {
    visibility: visible;
    opacity: 1;
}

.slider img {
    cursor: grab;
}

.slick-slider {
    overflow: hidden;
}

.slick-slide {
    margin: 0 2px;
}

.slick-list {
    margin: 0 -2px;
}

.slick-arrow {
    position: absolute;
    bottom: 0;
    width: 66px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #231F20;
    font-size: 0;
    z-index: 1;
}

.slick-arrow:hover {
    background: #ED1C24;
}

.slick-prev {
    left: 0;
    border-right: 1px solid rgba(248, 248, 248, 0.05);
}

.slick-next {
    left: 66px;
}

.slick-arrow::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-position: center;
    background-repeat: no-repeat;
}

.slick-prev::before {
    background-image: url('../img/chevron-left.svg');
}

.slick-next::before {
    background-image: url('../img/chevron-right.svg');
}

.splide__arrow {
    width: 40px;
    height: 40px;
    background: #231F20;
    border-radius: 0;
    opacity: 1;
    top: unset;
    bottom: 0;
    transform: unset;
}

.splide__arrow--prev {
    left: 0;
}

.splide__arrow--next {
    right: 0;
}

.splide__arrow svg {
    display: none;
}

.splide__arrow::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-position: center;
    background-repeat: no-repeat;
}

.splide__arrow--prev::before {
    background-image: url('../img/chevron-left.svg');
}

.splide__arrow--next::before {
    background-image: url('../img/chevron-right.svg');
}

.splide__arrow:hover:not(:disabled) {
    opacity: 1;
}

.share {
    display: flex;
    align-items: center;
}

.share p {
    font-size: 14px;
    margin-right: 20px;
}

.red {
    color: #ED1C24;
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* HEADER */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 86px;
    background: #FFF;
    z-index: 9;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.admin-bar .header {
    top: 32px;
}

.header-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-logo {
    margin-right: 15px;
}

.header-logo a:hover {
    opacity: 0.7;
}

.header-logo img {
    width: 200px;
}

.header-nav {
    width: 100%;
    max-width: 1115px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-menu > ul {
    display: flex;
}

.header-menu > ul > li {
    margin: 0 15px;
}

.header-menu > ul > li > a {
    height: 86px;
    display: flex;
    align-items: center;
    font-weight: 500;
}

.header-menu > ul > li.menu-item-has-children > a {
    position: relative;
    padding-right: 20px;
    border-bottom: 2px solid transparent;
}

.header-menu > ul > li.menu-item-has-children > a::after {
    content: '';
    width: 14px;
    height: 14px;
    background: #231F20;
    -webkit-mask: url('../img/chevron-down.svg') no-repeat 50% 50%;
    mask: url('../img/chevron-down.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    position: absolute;
    top: 51%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    filter: blur(1px);
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.header-menu > ul > li.menu-item-has-children:hover > a {
    color: #ED1C24;
    border-color: #ED1C24;
}

.header-menu > ul > li.menu-item-has-children:hover > a::after {
    background: #ED1C24;
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    -o-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

.header-menu > ul > li.menu-item-has-children > .sub-menu {
    display: none;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 30px;
    width: 100%;
    position: absolute;
    top: 87px;
    left: 0;
    background: #FFF;
    padding: 40px 0;
    -webkit-animation: 0.5s fadeIn ease;
    animation: 0.5s fadeIn ease;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.header-menu > ul > li.menu-item-has-children > .sub-menu::before {
    content: '';
    height: 100%;
    width: 100vw;
    margin-left: -50vw;
    position: absolute;
    top: -1px;
    left: 50%;
    background: #FFF;
    border-top: 1px solid rgba(35, 31, 32, 0.05);
    z-index: -1;
}

.header-menu > ul > li.menu-item-has-children:hover > .sub-menu {
    display: grid;
}

.header-menu > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a {
    height: 50px;
    font-weight: 700;
    margin-bottom: 20px;
    border-bottom: 1px solid #231F20;
}

.header-menu .sub-menu a {
    display: block;
}

.header-menu .sub-menu .sub-menu li:not(:last-child) {
    margin-bottom: 18px;
}

.header-menu .sub-menu .sub-menu a {
    font-size: 14px;
}

.header-menu .sub-menu .sub-menu li.current-menu-item > a {
    position: relative;
}

.header-menu .sub-menu .sub-menu li.current-menu-item > a::before {
    content: '';
    width: 10px;
    height: 10px;
    background: #ED1C24;
    position: absolute;
    top: 4px;
    left: -16px;
}

.header-menu li.current-menu-item > a,
.header-menu li.current-menu-ancestor > a {
    color: #ED1C24;
}

.header-menu > ul > li.menu-item-has-children.current-menu-item > a::after,
.header-menu > ul > li.menu-item-has-children.current-menu-ancestor > a::after {
    background: #ED1C24;
}

.header-phone {
    margin: 0 15px;
}

.header-phone a {
    font-weight: 600;
}

.header-consult {
    margin-left: 15px;
}

.header-consult .btn-primary {
    padding: 15px 20px;
}

.header.active {
    height: 66px;
}

.header.active .header-menu > ul > li > a {
    height: 66px;
}

.header.active .header-menu > ul > li.menu-item-has-children > .sub-menu {
    top: 67px;
}

.header-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 40px;
    height: 40px;
    position: absolute;
    right: -8px;
    cursor: pointer;
}

.header-nav-toggle .line {
    width: 24px;
    height: 2px;
    background: #231F20;
    margin-bottom: 5px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.header-nav-toggle .line:last-child {
    margin-bottom: 0;
}

.header-nav-toggle.active .line {
    position: absolute;
    top: 20px;
    right: 8px;
    margin: 0;
}

.header-nav-toggle.active .line:nth-child(1) {
    transform: rotate(-45deg);
}

.header-nav-toggle.active .line:nth-child(2) {
    display: none;
}

.header-nav-toggle.active .line:nth-child(3) {
    transform: rotate(45deg);
}

.header-nav-mobile {
    display: none;
    width: 100%;
    height: calc(100vh - 70px);
    position: absolute;
    top: 70px;
    background: #FFF;
    padding-top: 10px;
    padding-bottom: 40px;
    overflow-y: auto;
}

.header-menu-mobile {
    margin-bottom: 15px;
    max-height: 5000em;
}

.header-menu-mobile > ul > li.with-margin {
    margin-top: 15px;
}

.header-menu-mobile > ul > li.menu-item-has-children {
    border-bottom: 1px solid rgba(35, 31, 32, 0.1);
}

.header-menu-mobile > ul > li > a {
    display: block;
    padding: 15px 0;
    font-weight: 500;
}

.header-menu-mobile > ul > li.menu-item-has-children > a {
    position: relative;
    padding: 20px 0;
    font-weight: 600;
}

.header-menu-mobile > ul > li.menu-item-has-children > a > .expand {
    position: absolute;
    top: 50%;
    right: -13px;
    transform: translateY(-50%);
    padding: 13px;
    margin-left: 10px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.header-menu-mobile > ul > li.menu-item-has-children.open > a > .expand {
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    -o-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

.header-menu-mobile > ul > li.menu-item-has-children > a > .expand::before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    background-image: url('../img/chevron-down.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.header-menu-mobile .sub-menu {
    display: none;
    padding: 15px 0 15px 16px;
    border-top: 1px solid #231F20;
}

.header-menu-mobile .sub-menu a {
    position: relative;
    display: block;
    font-size: 14px;
    padding: 15px 0;
}

.header-menu-mobile .sub-menu li.current-menu-item > a::before {
    content: '';
    width: 10px;
    height: 10px;
    background: #ED1C24;
    position: absolute;
    top: 19px;
    left: -16px;
}

.header-menu-mobile li.current-menu-item > a,
.header-menu-mobile li.current-menu-ancestor > a {
    color: #ED1C24;
}

.header-back-mobile {
    display: none;
    margin-right: 15px;
}

/* footer */
.footer {
    padding-top: 80px;
    padding-bottom: 60px;
    background: #F8F8F8;
}

.footer-wrap {
    display: flex;
    justify-content: space-between;
}

.footer-info {
    margin-right: 20px;
}

.footer-logo {
    margin-bottom: 48px;
}

.footer-logo a:hover {
    opacity: 0.7;
}

.footer-logo img {
    width: 200px;
}

.footer-address {
    margin-bottom: 18px;
}

.footer-phone {
    margin-bottom: 18px;
}

.footer-phone a,
.footer-mail a {
    font-weight: 500;
}

.footer-menu {
    margin-right: 20px;
}

.footer-menu ul li:not(:last-child) {
    margin-bottom: 18px;
}

.footer-menu ul li a {
    font-weight: 500;
}

.footer-additional {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer-controls {
    display: flex;
    justify-content: space-between;
}

.footer-lang {
    margin-right: 10px;
}

.footer-lang a {
    font-weight: 500;
}

.footer-copyright p {
    font-size: 14px;
    opacity: 0.6;
    text-transform: uppercase;
}

/* intro */
.intro {
    padding-bottom: 80px;
}

.intro-wrap {
    display: flex;
}

.intro-content {
    flex: 0 0 50%;
    max-width: 50%;
    margin-right: 5%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-left: 80px;
}

.intro-content h1 {
    font-size: 60px;
    font-weight: 700;
    text-transform: uppercase;
    max-width: 600px;
    margin-top: 140px;
    margin-bottom: 130px;
}

.intro-benefits {
    position: relative;
}

.intro-benefits::before {
    content: '';
    width: 144px;
    height: 144px;
    background-image: url('../img/rect.svg');
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: -100px;
    transform: translateY(-50%);
}

.intro-benefits::after {
    content: '';
    width: 124px;
    height: 120px;
    background-image: url('../img/squares.svg');
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 114px;
    left: 12px;
}

.intro-benefits span {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    margin-bottom: 5px;
}

.intro-benefits span:last-child {
    margin-bottom: 0;
}

.intro-images {
    flex: 0 0 45%;
    max-width: 45%;
}

.intro-slider img {
    width: 100%;
    height: 714px;
}

/* achievements */
.achievements {
    position: relative;
    padding: 60px 0;
    background-image: url('../img/bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.achievements::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #231F20;
    opacity: 0.2;
}

.achievements-list {
    display: flex;
}

.achievements-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 20px 30px;
    border-top: 1px solid rgba(248, 248, 248, 0.10);
    border-bottom: 1px solid rgba(248, 248, 248, 0.10);
    border-left: 1px solid rgba(248, 248, 248, 0.10);
}

.achievements-item:last-child {
    border: 1px solid rgba(248, 248, 248, 0.10);
}

.achievement-number {
    font-family: 'ToughSans', sans-serif;
    font-size: 88px;
    line-height: 100%;
    color: #F8F8F8;
    text-transform: uppercase;
}

.achievement-title {
    position: relative;
    font-size: 20px;
    font-weight: 700;
    color: #F8F8F8;
    text-transform: uppercase;
    padding-left: 24px;
    margin-bottom: 10px;
}

.achievement-title::before {
    content: '';
    width: 14px;
    height: 14px;
    background: #ED1C24;
    position: absolute;
    left: 0;
    top: 5px;
}

.achievement-text {
    font-weight: 500;
    color: #F8F8F8;
}

/* about */
.about {
    padding: 80px 0;
    background: #FFF;
}

.about-wrap {
    display: flex;
}

.about-content {
    flex: 1;
    margin-right: 20px;
}

.about-content .btn-more {
    margin-top: 26px;
}

.about-description.mobile {
    display: none;
}

.about-description p:not(:last-child) {
    margin-bottom: 10px;
}

.about-video {
    flex: 1;
}

.video-container {
    position: relative;
    overflow: hidden;
}

.video-play {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
    opacity: 1;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.video-play:hover .btn-play {
    background: #231F20;
}

.video-container.active .video-play {
    opacity: 0;
    pointer-events: none;
}

.iframe-container {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto;
}

.iframe-container iframe,
.iframe-container video,
.iframe-container div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* types */
.types {
    padding: 80px 0;
}

.types.pt-small {
    padding-top: 40px;
}

.types-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
}

.type-image {
    display: flex;
    overflow: hidden;
}

.type-image img {
    width: 100%;
    height: 348px;
    min-height: 198px;
}

.type-title {
    padding: 24px;
    background: rgba(35, 31, 32, 0.05);
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.type-title p {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    font-weight: 700;
    color: #000;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.type-title p::after {
    content: '';
    min-width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/arrow-right-large.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-right-large.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-left: 10px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.types-item:hover .type-title {
    background: #ED1C24 !important;
}

.types-item:hover .type-title p {
    color: #FFF;
}

.types-item:hover .type-title p::after {
    background: #FFF;
}

/* small-business */
.small-business .subtitle {
    max-width: 800px;
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    text-align: justify;
    margin-bottom: 30px;
}

.small-business-wrap {
    display: flex;
}

.small-business-content {
    flex: 0 0 400px;
    margin-right: 20px;
}

.small-business-description {
    min-height: 360px;
    background: #FFF;
    padding: 24px;
    margin-bottom: 10px;
}

.small-business-description ul {
    margin-bottom: 0;
}

.small-business-description li:not(:last-child) {
    margin-bottom: 20px;
}

.small-business-btn {
    position: relative;
    background: #FFF;
    padding: 24px;
}

.small-business-btn::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: -30px;
    bottom: -30px;
    background-image: url('../img/dots-1.svg');
    background-position: left bottom;
    background-repeat: repeat;
    z-index: -1;
}

.small-business-image {
    flex: auto;
    display: flex;
    overflow: hidden;
}

.small-business-image img {
    max-width: 780px;
    height: 485px;
}

/* projects */
.projects {
    padding: 80px 0;
}

.projects-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: 20px;
}

.project-image {
    display: flex;
    overflow: hidden;
}

.project-image img {
    width: 100%;
    height: 390px;
    min-height: 230px;
}

.project-info {
    min-height: 111px;
    padding: 24px;
    background: #FFF;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.project-location {
    margin-bottom: 6px;
}

.project-location span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    color: #231F20;
    font-size: 14px;
    opacity: 0.6;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.project-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.project-title p {
    min-height: 38px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-weight: 700;
    color: #231F20;
    word-break: break-word;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.project-title::after {
    content: '';
    min-width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/arrow-right-large.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-right-large.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-left: 10px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.projects-item:hover .project-info {
    background: #ED1C24;
}

.projects-item:hover .project-location span {
    color: #FFF;
}

.projects-item:hover .project-title p {
    color: #FFF;
}

.projects-item:hover .project-title::after {
    background: #FFF;
}

/* work-stages */
.work-stages {
    padding-bottom: 80px;
}

.work-stages-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 40px;
}

.work-stage-title {
    position: relative;
    height: 80px;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.work-stage-title::before {
    content: '';
    width: 80px;
    height: 80px;
    background-image: url('../img/rect-small.svg');
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
}

.work-stage-title span {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    padding-left: 38px;
}

.work-stage-content-expanded {
    display: none;
}

.work-stage-content-expanded p:first-child,
.work-stage-content-expanded li:first-child {
    margin-top: 20px;
}

.work-stages-item .btn-show {
    margin-top: 30px;
}

/* task */
.task {
    position: relative;
    padding: 60px 0;
    background-image: url('../img/bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

.task-form {
    position: relative;
    max-width: 400px;
    padding: 40px;
    background: #FFF;
}

.task-form::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    right: -30px;
    top: -30px;
    background-image: url('../img/dots-2.svg');
    background-position: right top;
    background-repeat: no-repeat;
    z-index: -1;
}

.task-form .title {
    margin-bottom: 30px;
}

.nf-field-label,
.nf-form-fields-required,
.nf-after-form-content,
.nf-input-limit,
.nf-error.field-wrap .nf-field-element::after,
.nf-pass.field-wrap .nf-field-element::after {
    display: none;
}

.nf-form-cont .nf-form-content {
    max-width: 100%;
    padding: 0;
}

.nf-form-cont .nf-field-container {
    margin-bottom: 20px;
}

.nf-form-cont .submit-container {
    margin-top: 30px;
    margin-bottom: 0;
}

.nf-form-cont .textarea-container {
    margin-bottom: 0;
}

.nf-form-cont .nf-form-content input:not([type="button"], [type="submit"]) {
    height: 66px;
    background: #FFF;
    padding: 20px;
    border: 1px solid rgba(35, 31, 32, 0.3);
    font-size: 16px;
    color: #231F20;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.nf-form-cont .nf-form-content input[type="submit"] {
    width: 100%;
    height: 66px;
    background: #ED1C24;
    padding: 24px;
    font-size: 16px;
    font-weight: 500;
    color: #FFF;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.nf-form-cont .nf-form-content input[type="submit"]:hover {
    background: #231F20;
    color: #FFF;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.nf-form-cont .nf-form-content input[type="submit"]:focus {
    background: #231F20;
    border-color: unset;
    color: #FFF;
}

.nf-form-cont .nf-form-content textarea.ninja-forms-field {
    height: 132px;
    background: #FFF;
    padding: 20px;
    border: 1px solid rgba(35, 31, 32, 0.3);
    font-size: 16px;
    color: #231F20;
    resize: none;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.nf-form-cont .nf-form-content input:not([type="button"], input[type="submit"]):focus,
.nf-form-cont .nf-form-content textarea.ninja-forms-field:focus {
    border-color: #231F20 !important;
    color: #231F20;
}

.nf-form-cont .nf-pass .ninja-forms-field {
    border-color: rgba(35, 31, 32, 0.3) !important;
}

.nf-form-cont .nf-error .nf-error-msg {
    margin-top: 5px;
    font-size: 14px;
    color: #ED1C24;
}

.nf-form-cont .nf-error .ninja-forms-field {
    border-color: #ED1C24 !important;
}

.nf-form-cont .nf-response-msg {
    margin-bottom: 20px;
}

.nf-form-cont .nf-multi-cell .nf-row > * {
    display: flex;
    margin: 0 -10px;
}

.nf-form-cont .nf-multi-cell .nf-cell {
    flex: 1;
    padding: 0 10px;
}

/* consult-popup */
.mfp-bg {
    opacity: 0;
    background: rgba(35, 31, 32, 0.3);
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.mfp-popup {
    position: relative;
    max-width: 400px;
    background: #FFF;
    padding: 40px;
    margin: 0 auto;
    transform: scale(0.8);
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.mfp-ready .mfp-popup {
    opacity: 1;
    transform: scale(1);
}

.mfp-ready.mfp-bg {
    opacity: 1;
}

.mfp-removing .mfp-popup {
    transform: scale(0.8);
    opacity: 0;
}

.mfp-removing.mfp-bg {
    opacity: 0;
}

button.mfp-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    right: 10px;
    top: 10px;
    font-size: 0;
    opacity: 0.4;
}

button.mfp-close:hover {
    opacity: 1;
}

button.mfp-close::before {
    content: '';
    width: 20px;
    height: 20px;
    background-image: url('../img/close.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.consult-form .title {
    margin-bottom: 30px;
}

.consult-form .subtitle {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 30px;
}

/* category */
.category {
    padding-bottom: 80px;
}

.category-wrap {
    display: flex;
}

.category-content {
    flex: 0 0 50%;
    max-width: 50%;
    margin-right: 5%;
    padding-left: 80px;
    padding-top: 40px;
}

.category-image {
    display: flex;
    flex: 0 0 45%;
    max-width: 45%;
}

.category-image img {
    width: 100%;
    height: 100%;
    max-height: 720px;
    min-height: 500px;
}

.category-image-mobile {
    display: none;
    margin-bottom: 20px;
}

.category-image-mobile img {
    width: 100%;
    height: 100%;
    max-width: 500px;
    max-height: 600px;
    margin: 0 auto;
}

/* benefits */
.benefits {
    padding: 80px 0;
    background: #FFF;
}

.benefits-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 40px;
    grid-row-gap: 60px;
}

.benefit-title {
    position: relative;
    height: 80px;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.benefit-title::before {
    content: '';
    width: 80px;
    height: 80px;
    background-image: url('../img/rect-small.svg');
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
}

.benefit-title span {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    padding-left: 38px;
}

/* service */
.service-wrap {
    position: relative;
    overflow: hidden;
}

.service-wrap > .btn-icon {
    position: absolute;
    top: 40px;
    left: 0;
}

.service-inner.horizontal {
    max-width: 1200px;
    margin: 0 auto;
}

.service-content {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 50px;
}

.service-content.pb-small {
    padding-bottom: 30px;
}

.company .service-content {
    padding-bottom: 80px;
}

.service-content .file {
    margin-top: 30px;
}

.service-images {
    position: relative;
    float: right;
    width: 45%;
    height: calc(100vh - 86px);
    max-height: 852px;
    min-height: 550px;
    margin-left: 5%;
    margin-bottom: 30px;
}

.service-images.horizontal {
    height: auto;
    max-height: unset;
    min-height: unset;
    padding-top: 40px;
}

.company .service-images {
    margin-bottom: 80px;
}

.service-images-mobile {
    display: none;
    margin-bottom: 20px;
}

.service-slider img {
    width: 100%;
    height: calc(100vh - 86px);
    max-height: 852px;
    min-height: 550px;
}

.service-images.horizontal .service-slider img {
    height: auto;
    max-height: unset;
    min-height: unset;
}

.service-slider-text {
    position: absolute;
    right: 0;
    margin-top: 10px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease;
    -webkit-transition: opacity 1s ease;
}

.slider.slick-initialized + .service-slider-text {
    visibility: visible;
    opacity: 1;
}

.service-slider-text p {
    text-align: right;
    font-style: italic;
}

.file {
    position: relative;
    display: block;
    max-width: 400px;
    background: #FFF;
}

.file::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: -30px;
    bottom: -30px;
    background-image: url('../img/dots-3.svg');
    background-position: left bottom;
    background-repeat: no-repeat;
    z-index: -1;
}

.file:hover .btn-icon {
    border: 1px solid #ED1C24;
    color: #ED1C24;
}

.file:hover .btn-icon::before {
    background: #ED1C24;
}

.file-wrap {
    position: relative;
    padding: 24px;
}

.file-wrap::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 56px;
    height: 56px;
    background-image: url('../img/corner-top.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.file-wrap::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 56px;
    height: 56px;
    background-image: url('../img/corner-bottom.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.file-icons {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.file-icons img {
    width: 48px;
    height: 48px;
}

.file p {
    font-weight: 700;
    margin-bottom: 18px;
    color: #231F20;
}

.file span {
    color: #231F20;
    line-height: 150%;
}

.file-size {
    text-transform: lowercase;
}

/* service-info */
.service-info {
    padding-bottom: 50px;
}

.service-tabs {
    display: flex;
    padding-bottom: 30px;
    border-bottom: 1px solid #231F20;
}

.service-tabs a:not(:last-child) {
    margin-right: 10px;
}

.service-tabs-content {
    padding-top: 40px;
}

.service-tabs-content.pt-0 {
    padding-top: 0;
}

.tab-content:not(.active) {
    display: none;
}

.schemes-description {
    margin-bottom: 30px;
}

.schemes.schemes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
}

.scheme {
    display: flex;
    margin-bottom: 20px;
}

.schemes.schemes-grid .scheme {
    display: block;
    margin: 0;
}

.scheme:last-child {
    margin-bottom: 0;
}

.scheme-image {
    display: flex;
    flex: 0 0 280px;
    margin-right: 30px;
}

.schemes.schemes-grid .scheme-image {
    display: block;
    margin: 0;
}

.scheme-image a {
    display: block;
    width: 100%;
}

.scheme-image img {
    display: block;
    object-fit: contain;
    max-width: 280px;
    height: auto;
    margin: auto;
}

.schemes.schemes-grid .scheme-image img {
    max-width: 100%;
    height: auto;
}

.scheme-content {
    flex: auto;
}

.scheme-content .title {
    font-size: 24px;
    margin-bottom: 20px;
}

.scheme-description.content p {
    margin-bottom: 0;
}

.additional {
    display: flex;
}

.additional-image {
    display: flex;
    flex: 0 0 400px;
    margin-right: 30px;
}

.additional-image.bg-transparent {
    flex: 0 0 280px;
}

.additional-image img {
    display: block;
    object-fit: cover;
    max-width: 100%;
    height: 100%;
    margin: auto;
}

.additional-image.bg-transparent img {
    object-fit: contain;
    max-width: 280px;
    height: auto;
}

.additional-description {
    flex: auto;
}

.additional-description.content p:not(:last-child) {
    margin-bottom: 10px;
}

.additional-description.content h1,
.additional-description.content h2,
.additional-description.content h3,
.additional-description.content h4,
.additional-description.content h5,
.additional-description.content h6 {
    margin-top: 0;
}

.palette:not(:last-child) {
    margin-bottom: 80px;
}

.palette-group {
    margin-bottom: 30px;
}

.palette-group {
    display: flex;
}

.palette-image {
    display: inline-flex;
    width: 100%;
    max-width: 285px;
}

.palette-image.bg-white {
    background: #FFF;
    padding: 30px;
}

.palette-image img {
    height: auto;
    max-width: 100%;
    margin: 0 auto;
    object-fit: contain;
}

.palette-image + .palette-description {
    margin-left: 30px;
}

.palette-description.content p {
    margin-bottom: 0;
}

.palette-colors {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
}

.palette-colors.with-params {
    grid-row-gap: 40px;
}

.color {
    position: relative;
}

.color-image {
    display: flex;
    overflow: hidden;
}

.color-image img {
    width: 100%;
    height: 190px;
}

.color-title {
    height: 67px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #FFF;
    padding: 0 24px;
}

.color-name {
    display: block;
    margin-right: 15px;
}

.color-name strong {
    font-weight: 700;
}

.color-code {
    display: block;
    font-weight: 700;
    white-space: nowrap;
}

.color-params {
    margin-top: 10px;
}

.color-params table {
    width: 100%;
    border: 1px solid #231F20;
    border-collapse: collapse;
}

.color-params td {
    font-size: 14px;
    padding: 5px;
    border: 1px solid #231F20;
    border-collapse: collapse;
}

.color-params td.thickness {
    width: 110px;
    text-align: center;
    white-space: nowrap;
}

.color-params td.sizes {
    word-break: break-word;
}

.texture {
    display: flex;
}

.texture:not(:last-child) {
    margin-bottom: 20px;
}

.texture > .title {
    display: none;
    font-size: 24px;
    margin-bottom: 30px;
}

.texture-group {
    display: flex;
    flex: 0 0 600px;
}

.texture-image img {
    max-width: 300px;
    height: auto;
    margin-left: -38px;
}

.texture-info {
    flex: auto;
}

.texture-info .title {
    font-size: 24px;
}

.texture-param {
    display: flex;
    flex-direction: column;
}

.texture-param:not(:last-child) {
    margin-bottom: 40px;
}

.param-name {
    position: relative;
    font-weight: 700;
    text-transform: uppercase;
    padding-left: 20px;
    margin-bottom: 10px;
}

.param-name::before {
    content: '';
    width: 10px;
    height: 10px;
    background: #ED1C24;
    position: absolute;
    left: 0;
    top: 4px;
}

.param-value {
    font-weight: 500;
    padding-left: 20px;
}

.texture-example {
    flex: 0 0 340px;
    margin-left: 68px;
}

.texture-example h4 {
    position: relative;
    font-weight: 700;
    text-transform: uppercase;
    padding-left: 20px;
    margin-bottom: 20px;
}

.texture-example h4::before {
    content: '';
    width: 10px;
    height: 10px;
    background: #ED1C24;
    position: absolute;
    left: 0;
    top: 4px;
}

.texture-example-image img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.cassettes {
    padding-bottom: 50px;
}

.cassettes h2.title {
    font-size: 20px;
    text-align: center;
}

.cassette {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

.cassette:last-child {
    margin-bottom: 0;
}

.cassette-image {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    margin-right: 30px;
}

.cassette-image img {
    display: block;
    object-fit: contain;
    max-width: 100%;
    width: auto;
    height: 180px;
    margin-right: 20px;
}

.cassette-image img:last-child {
    margin-right: 0;
}

.cassette-content {
    flex: auto;
}

.cassette-content .title {
    font-size: 24px;
    margin-bottom: 20px;
}

.cassette-description.content p {
    margin-bottom: 0;
}

/* video */
.video {
    padding-bottom: 80px;
}

/* quote */
.quote {
    padding-bottom: 80px;
}

.quote-wrap {
    padding: 40px 110px;
    border: 10px solid rgba(35, 31, 32, 0.1);
}

.quote-wrap p {
    font-size: 30px;
    line-height: 140%;
    text-align: center;
    margin-bottom: 20px;
}

.quote-wrap p:last-child {
    margin-bottom: 0;
}

.quote-wrap strong {
    font-weight: 700;
}

/* contacts */
.contacts {
    padding-top: 40px;
    padding-bottom: 80px;
}

.contacts-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
    background: #FFF;
    padding: 40px;
}

.contacts-item p {
    margin-bottom: 10px;
}

.contacts-item a {
    font-size: 26px;
    font-weight: 500;
}

.social {
    display: flex;
}

.social a {
    display: flex;
    margin-right: 6px;
}

.social a:last-child {
    margin-right: 0;
}

.social a:hover svg path {
    fill: #ED1C24;
}

.social a:hover svg rect {
    stroke: #ED1C24;
}

/* maps */
.map {
    display: flex;
    background: #F4F4F4;
}

.map iframe {
    width: 100%;
    height: 320px;
    border: 0;
}

.route {
    display: flex;
}

.route iframe {
    width: 100%;
    height: 40vw;
    max-height: 770px;
    border: 0;
}

/* contact */
.contact {
    padding: 80px 0;
    background: #FFF;
}

.contact-form .title {
    margin-bottom: 30px;
}

.contact-form .nf-form-content input[type="submit"] {
    max-width: 320px;
}

/* projects-page */
.projects.projects-page {
    padding-top: 40px;
    padding-bottom: 80px;
}

.filter {
    position: relative;
}

.filter-buttons {
    display: flex;
}

.btn-filter:first-child {
    margin-right: 10px;
}

.filter-popup {
    display: none;
    width: 400px;
    background: #FFF;
    padding: 30px;
    position: absolute;
    top: 56px;
    right: 0;
    z-index: 1;
}

.filter-popup-title {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #231F20;
}

.filter-popup-title p {
    font-weight: 700;
}

.filter-popup-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin: -5px;
}

@keyframes spinner {
    to {
        transform: rotate(360deg);
    }
}

.filter-popup-list.spinner:before {
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
    border-radius: 50%;
    border: 2px solid rgba(35, 31, 32, 0.2);
    border-top-color: #231F20;
    animation: spinner .6s linear infinite;
    z-index: 2;
}

.filter-popup-list.spinner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFF;
    opacity: 0.6;
    z-index: 1;
}

.filter-item {
    flex-grow: 1;
    position: relative;
    padding: 12px;
    border: 1px solid rgba(35, 31, 32, 0.4);
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    margin: 5px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.filter-item:hover {
    border: 1px solid #231F20;
}

.filter-item.active {
    color: #ED1C24;
    border: 1px solid #ED1C24;
}

.filter-checkbox {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 1;
}

.checkmark {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    background: #ED1C24;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.checkmark::before {
    content: '';
    width: 14px;
    height: 14px;
    background-image: url('../img/check.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.filter-item.active .checkmark {
    opacity: 1;
}

/* project-header */
.project-header {
    padding: 20px 0;
}

.project-header .title-wrap {
    justify-content: flex-start;
    margin-bottom: 0;
}

.project-header .title-wrap .title {
    margin-bottom: 0;
}

.project-header .btn-icon {
    margin-right: 36px;
}

/* project-gallery */
.project-slider img {
    width: 100%;
}

/* project */
.project {
    padding: 80px 0;
    background: #FFF;
}

.project .title-wrap .title {
    margin-bottom: 0;
}

.project-placement {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.project-description {
    max-width: 800px;
    font-size: 18px;
    font-weight: 500;
    line-height: 160%;
    margin-bottom: 20px;
}

.project-area {
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
    margin-bottom: 10px;
}

.project-year {
    font-size: 18px;
    font-weight: 600;
    line-height: 160%;
}

.project-content .share {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 30px;
}

.project-content .share p {
    margin-bottom: 15px;
    margin-right: 0;
}

.project-video {
    margin-top: 40px;
}

/* estimate */
.estimate-info {
    padding: 0 20px;
    margin-bottom: 20px;
}

.estimate-info .title {
    margin-bottom: 20px;
}

.estimate-description {
    max-width: 800px;
}

.estimate-wrap {
    background: #FFF;
    padding: 20px 20px 0 20px;
}

.estimate-form {
    height: 315px;
    background-image: url('../img/bg-estimate.png');
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
}

.estimate-form .nf-cell:nth-child(3) .nf-field-container {
    margin-bottom: 0;
}

.estimate-form .submit-container {
    height: 152px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: #ED1C24;
    padding: 20px;
    margin-top: 0;
}

.estimate-form .submit-container::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 36px;
    height: 36px;
    background-image: url('../img/corner-top-2.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.estimate-form .submit-container::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 36px;
    height: 36px;
    background-image: url('../img/corner-bottom-2.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.estimate-form .nf-form-cont .nf-form-content input[type="submit"] {
    height: unset;
    padding: 15px 20px;
    border: 1px solid #F8F8F8;
}

.estimate-form .nf-form-cont .nf-form-content input[type="submit"]:hover {
    border-color: transparent;
}

.estimate-form .nf-form-cont .nf-multi-cell .nf-row > * {
    display: grid;
    grid-template-columns: repeat(4, 1fr) 280px;
}

.estimate-form .nf-form-cont .nf-multi-cell .nf-cell {
    width: auto !important;
}

.estimate-form .nf-form-cont .nf-multi-cell .nf-cell:nth-child(1) {
    grid-area: 1 / 1 / 2 / 3;
}

.estimate-form .nf-form-cont .nf-multi-cell .nf-cell:nth-child(2) {
    grid-area: 1 / 3 / 2 / 5;
}

.estimate-form .nf-form-cont .nf-multi-cell .nf-cell:nth-child(3) {
    grid-area: 2 / 1 / 3 / 5;
}

.estimate-form .nf-form-cont .nf-multi-cell .nf-cell:nth-child(4) {
    grid-area: 1 / 5 / 3 / 6;
}

/* price-list */
.price-list {
    padding: 80px 0;
}

.price-list-items {
    margin-bottom: 60px;
}

.price-list-item:not(:last-child) {
    margin-bottom: 20px;
}

.price-list-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(35, 31, 32, 0.05);
    padding: 24px;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.price-list-title:hover {
    background: #FFF;
}

.price-list-item.active .price-list-title {
    background: #FFF;
}

.price-list-title h4 {
    position: relative;
    font-weight: 700;
    text-transform: uppercase;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.price-list-title h4::before {
    content: '';
    width: 10px;
    height: 10px;
    background: #ED1C24;
    position: absolute;
    left: 0;
    top: 4px;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.price-list-item.active .price-list-title h4 {
    color: #ED1C24;
    padding-left: 20px;
}

.price-list-item.active .price-list-title h4::before {
    opacity: 1;
}

.price-list-toggle {
    margin-left: 10px;
}

.price-list-toggle::before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    background: #231F20;
    -webkit-mask: url('../img/chevron-down.svg') no-repeat 50% 50%;
    mask: url('../img/chevron-down.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    filter: blur(1px);
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.price-list-item.active .price-list-toggle::before {
    background: #ED1C24;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.price-list-content {
    display: none;
    background: #FFF;
    padding: 0 24px;
}

.price-list-content table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

.price-list-content tr {
    border-top: 1px solid #231F20;
}

.price-list-content tr:first-child {
    border-top: 2px solid #231F20;
}

.price-list-content td {
    padding: 20px 20px 20px 0;
    vertical-align: middle;
    line-height: 150%;
}

.price-list-content td:last-child {
    padding-right: 0;
}

.price-list-content td.name {
    width: 780px;
}

.price-list-content td.unit {
    width: 100px;
}

.price-list-content td.price {
    font-weight: 500;
}

.price-list-wrap {
    display: flex;
}

.price-list-file {
    flex: 0 0 400px;
    margin-right: 40px;
}

.price-list-description {
    flex: auto;
}

/* blog-page */
.blog-page {
    padding-top: 40px;
    padding-bottom: 80px;
}

.blog-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
}

.blog-image {
    display: flex;
    overflow: hidden;
}

.blog-image img {
    width: 100%;
    height: 168px;
}

.blog-info {
    padding: 24px;
    background: #FFF;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.blog-date {
    margin-bottom: 6px;
}

.blog-date span {
    color: #231F20;
    font-size: 14px;
    opacity: 0.6;
    text-transform: lowercase;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.blog-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
}

.blog-title p {
    min-height: 76px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    font-weight: 700;
    color: #231F20;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.blog-title::after {
    content: '';
    min-width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/arrow-right-large.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-right-large.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-top: 10px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.blog-item:hover .blog-info {
    background: #ED1C24;
}

.blog-item:hover .blog-date span {
    color: #FFF;
}

.blog-item:hover .blog-title p {
    color: #FFF;
}

.blog-item:hover .blog-title::after {
    background: #FFF;
}

.blog-item.large {
    position: relative;
    grid-column: span 2;
}

.blog-item.large .blog-info {
    max-width: 285px;
    position: absolute;
    right: 0;
    bottom: 0;
}

.blog-item.large .blog-image img {
    height: 348px;
}

.navigation {
    margin-top: 40px;
}

.navigation h2 {
    display: none;
}

.nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-links a,
.nav-links span {
    min-width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    padding: 12px;
    margin: 0 1px;
    font-weight: 500;
}

.nav-links a {
    color: #231F20;
    border: 1px solid #231F20;
}

.nav-links a:hover {
    border: 1px solid #ED1C24;
    color: #ED1C24;
}

.nav-links span {
    color: #ED1C24;
    border: 1px solid #ED1C24;
}

.nav-links span.dots {
    color: #231F20;
    border: none;
}

.nav-links a.prev {
    margin-right: 40px;
}

.nav-links a.prev::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/arrow-left.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-left.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.nav-links a.next {
    margin-left: 40px;
}

.nav-links a.next::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/arrow-right.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-right.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.nav-links a.prev:hover::before,
.nav-links a.next:hover::before {
    background: #ED1C24;
}

/* post-single */
.post-single {
    padding-bottom: 80px;
}

.post-image {
    position: relative;
    display: flex;
}

.post-image img {
    width: 100%;
    height: 100%;
    max-height: 540px;
    min-height: 170px;
}

.post-image .btn-icon {
    position: absolute;
    top: 20px;
    left: -80px;
}

.post-wrap {
    padding: 60px 120px 80px 120px;
    background: #FFF;
}

.post-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
}

.post-date span {
    font-size: 14px;
    opacity: 0.6;
    text-transform: lowercase;
}

.post-title {
    margin-bottom: 40px;
}

.post-content {
    text-align: left;
}

.post-pagination {
    display: flex;
    margin-top: 80px;
}

.post-pagination a {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: transparent;
    color: #231F20;
    border: 1px solid #231F20;
    font-weight: 500;
}

.post-pagination a:first-child:not(:last-child) {
    margin-right: 20px;
}

.post-pagination a.post-prev::before {
    content: '';
    width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/arrow-left.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-left.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-right: 4px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.post-pagination a.post-next::after {
    content: '';
    width: 20px;
    height: 20px;
    background: #231F20;
    -webkit-mask: url('../img/arrow-right.svg') no-repeat 50% 50%;
    mask: url('../img/arrow-right.svg') no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    margin-left: 4px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.post-pagination a:hover {
    border: 1px solid #ED1C24;
    color: #ED1C24;
}

.post-pagination a.post-prev:hover::before,
.post-pagination a.post-next:hover::after {
    background: #ED1C24;
}

/* error-page */
.error-page {
    padding: 80px 0;
    min-height: calc(100vh - 86px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.error-page-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.error-page-wrap img {
    max-height: 133px;
    margin-bottom: 20px;
}

.error-page-wrap h1 {
    text-align: center;
    margin-bottom: 50px;
}

/* calculator */
.calculator {
    padding-top: 30px;
    padding-bottom: 60px;
}

.calculator.pt-small {
    padding-top: 40px;
}

.calculator-info {
    padding: 0 20px;
    margin-bottom: 20px;
}

.calculator-info .title {
    margin-bottom: 20px;
}

.calculator-description {
    max-width: 800px;
}

.calculator-wrap {
    background: #FFF;
    padding: 20px;
}

.calculator-items {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 5px;
}

.calculator-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #F8F8F8;
}

.item-content {
    padding: 20px;
}

.item-title {
    margin-bottom: 16px;
}

.item-title p {
    font-size: 14px;
    font-weight: 500;
}

.item-options {
    display: flex;
    flex-wrap: wrap;
    margin: -2px;
}

.option-item {
    position: relative;
    padding: 12px;
    border: 1px solid rgba(35, 31, 32, 0.4);
    font-size: 10px;
    font-weight: 500;
    margin: 2px;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.option-item:hover {
    border: 1px solid #231F20;
}

.option-item.active {
    color: #ED1C24;
    border: 1px solid #ED1C24;
}

.option-item.disabled {
    background: rgba(35, 31, 32, 0.05);
    color: rgba(35, 31, 32, 0.4);
    border: 1px solid transparent;
}

.option-checkbox {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 1;
}

.option-item.active .checkmark {
    opacity: 1;
}

.item-images {
    position: relative;
    height: 260px;
    background: #F4F4F4;
}

.item-images img {
    width: 100%;
    height: 100%;
    padding: 20px;
    margin: 0 auto;
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 1;
    user-select: none;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.item-images img.hidden {
    opacity: 0;
}

.item-images img.preview {
    padding: 0;
    object-position: bottom;
}

.counter {
    width: 26px;
    height: 26px;
    position: absolute;
    left: 20px;
    bottom: 10px;
    z-index: 1;
}

.counter-number {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 1;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    color: #ED1C24;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.counter-check {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.counter-check::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-image: url('../img/check-large.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.counter.checked .counter-number {
    opacity: 0;
}

.counter.checked .counter-check {
    opacity: 1;
}

.item-square {
    position: relative;
    margin-bottom: 20px;
}

.item-square input {
    width: 100%;
    background: #FFF;
    border: 1px solid rgba(35, 31, 32, 0.4);
    padding: 14px 48px 14px 16px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.item-square input[type='number'] {
    -moz-appearance: textfield;
}

.item-square input::-webkit-outer-spin-button,
.item-square input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.item-square span.unit {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(35, 31, 32, 0.05);
    font-size: 16px;
    font-weight: 600;
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
}

.item-square span.min-error {
    display: none;
    position: absolute;
    left: 0;
    bottom: -15px;
    color: #ED1C24;
    font-size: 12px;
}

.item-square input.error {
    border-color: #ED1C24;
}

.item-square input.error ~ .min-error {
    display: block;
}

.item-keypad {
    display: flex;
    justify-content: center;
}

.item-keypad-wrap {
    display: grid;
    grid-template-columns: repeat(3, 50px);
    grid-gap: 4px;
}

.btn-num {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 37px;
    border: 1px solid rgba(35, 31, 32, 0.4);
    font-size: 12px;
    font-weight: 500;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.btn-num:hover {
    border: 1px solid #231F20;
}

.btn-num.btn-delete::before {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    background-image: url('../img/backspace.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.item-cost {
    min-height: 110px;
    background: rgba(237, 28, 36, 0.05);
    padding: 20px;
}

.item-cost p {
    color: #ED1C24;
    font-size: 12px;
    font-weight: 500;
    margin-bottom: 7px;
}

.item-cost > span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.item-cost span {
    color: #ED1C24;
    font-weight: 700;
}

.item-cost span#result-error {
    font-size: 14px;
}

.item-cost span#min-error {
    display: none;
    font-size: 14px;
}

.item-cost span#result-sum {
    display: none;
    font-size: 16px;
}

.item-cost span#result-value {
    font-size: 26px;
    word-break: break-all;
}

.item-file {
    position: relative;
    background: #ED1C24;
    padding: 20px;
}

.item-file::before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 36px;
    height: 36px;
    background-image: url('../img/corner-top-2.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.item-file::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 36px;
    height: 36px;
    background-image: url('../img/corner-bottom-2.svg');
    background-position: center;
    background-repeat: no-repeat;
}

.item-file .file-icons {
    margin-bottom: 10px;
}

.item-file .btn-icon {
    border: 1px solid #F8F8F8;
    opacity: 0;
    pointer-events: none;
}

.item-file .btn-icon.active {
    opacity: 1;
    pointer-events: all;
}

.item-file .btn-icon::before {
    background: #F8F8F8;
}

.item-file .btn-icon:hover {
    border: 1px solid #231F20;
}

.item-file .btn-icon:hover::before {
    background: #231F20;
}

.item-file p {
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 10px;
}

.item-file span {
    color: #FFF;
    line-height: 150%;
}

.seo {
    padding: 80px 0;
    background: #FFF;
}

.stages {
    padding-bottom: 50px;
}

.stages h2.title {
    font-size: 20px;
    text-align: center;
}

.stages-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 80px;
    grid-row-gap: 40px;
    margin-bottom: 40px;
}

.stage-image {
    margin-bottom: 15px;
}

.stage-image img {
    display: flex;
    width: 100%;
    height: auto;
}

.stage-title {
    display: flex;
    margin-bottom: 15px;
}

.stage-title span {
    display: block;
    margin-right: 15px;
    font-family: 'ToughSans', sans-serif;
    font-size: 60px;
    line-height: 50px;
    color: #ED1C24;
}

.stage-title h4 {
    font-weight: 700;
    text-transform: uppercase;
}

@media screen and (max-height: 938px) {
    .service-images:not(.horizontal) {
        width: calc(100vh / 1.6);
        min-width: 400px;
    }
}

@media screen and (max-height: 850px) and (min-width: 1025px) {
    .page-template-template-service .service-content .file {
        display: none;
    }
}

@media screen and (max-width: 1400px) {
    .post-image .btn-icon {
        background: #FFF;
        left: 20px;
    }
}

@media screen and (max-width: 1350px) {
    .service-wrap > .btn-icon {
        display: none;
    }

    .stages-list {
        grid-column-gap: 40px;
    }
}

@media screen and (max-width: 1269px) {
    .header {
        height: 70px;
        display: flex;
        align-items: center;
    }

    .header.active {
        height: 70px;
    }

    .header-nav {
        display: none;
    }

    .header-nav-toggle {
        display: flex;
    }

    .header-phone {
        margin: 0 0 30px;
    }

    .header-consult {
        margin-left: 0;
        margin-bottom: 80px;
    }

    .header-consult .btn-primary {
        max-width: 236px;
    }

    .main-container {
        padding-top: 70px;
    }

    .intro-content {
        padding-left: 0;
    }

    .intro-content h1 {
        font-size: 50px;
    }

    .category-content {
        padding-left: 0;
    }

    .service-images {
        height: calc(100vh - 70px);
        max-height: 700px;
    }

    .service-slider img {
        height: calc(100vh - 70px);
        max-height: 700px;
    }

    body.single .header-logo,
    body.page-child .header-logo {
        display: none;
    }

    body.single .header-back-mobile,
    body.page-child .header-back-mobile {
        display: block;
    }

    .post-image .btn-icon {
        display: none;
    }

    .project-header .btn-icon {
        display: none;
    }

    .calculator .container-lg {
        padding: 0;
    }

    .calculator-wrap {
        padding: 20px 0;
    }

    .calculator-items {
        display: flex;
        opacity: 0;
        visibility: hidden;
        transition: opacity 1s ease;
        -webkit-transition: opacity 1s ease;
    }

    .calculator-items.slick-initialized {
        visibility: visible;
        opacity: 1;
    }

    .calculator-items .slick-track {
        display: flex;
    }

    .calculator-items .slick-list {
        padding: 0 20px;
    }

    .calculator-item.slick-slide {
        display: flex;
        height: auto;
        float: none;
    }

    .item-images {
        height: 245px;
    }

    .item-cost {
        min-height: 95px;
    }

    .type-image img {
        height: 28vw;
    }

    .color-image img {
        height: 15vw;
    }

    .stages-list {
        grid-column-gap: 20px;
    }

    .estimate-info {
        padding: 0;
    }
}

@media screen and (max-width: 1150px) {
    .type-title {
        height: 86px;
    }

    .projects-last .projects-item:last-child {
        display: none;
    }

    .projects-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .project-info {
        min-height: 105px;
    }

    .project-location span {
        font-size: 12px;
    }

    .project-title p {
        min-height: 36px;
        font-size: 14px;
    }

    .project-image img {
        height: 42vw;
    }

    .color-title {
        font-size: 14px;
    }

    .texture-example {
        margin-left: 40px;
    }
}

@media screen and (max-width: 1024px) {
    .title {
        font-size: 24px;
        margin-bottom: 30px;
    }

    .title.primary {
        padding-left: 30px;
    }

    .title.primary::before,
    .title.secondary::before {
        width: 20px;
        height: 20px;
        top: 5px;
    }

    .title-wrap {
        margin-bottom: 20px;
    }

    .content h1,
    .content h2,
    .content h3,
    .content h4,
    .content h5,
    .content h6 {
        font-size: 16px;
    }

    .wp-block-heading[style] {
        font-size: 24px !important;
    }

    blockquote {
        padding: 66px 22px 22px 22px;
    }

    .btn-inverse {
        max-width: 173px;
        padding: 20px 24px;
    }

    .slick-arrow {
        width: 56px;
        height: 56px;
    }

    .slick-next {
        left: 56px;
    }

    .mfp-container {
        padding: 0 20px;
    }

    .mfp-popup {
        padding: 30px;
    }

    button.mfp-close {
        right: 0;
        top: 0;
    }

    .consult-form .title {
        margin-bottom: 10px;
    }

    .consult-form .subtitle {
        font-size: 16px;
    }

    .intro {
        min-height: 442px;
        padding-top: 30px;
        padding-bottom: 50px;
    }

    .intro-content {
        flex: 0 0 100%;
        max-width: 100%;
        margin-right: 0;
        align-items: flex-start;
    }

    .intro-benefits {
        margin: 0 auto;
    }

    .intro-content h1 {
        font-size: 32px;
        max-width: 335px;
        margin-bottom: 50px;
        margin-top: 0;
    }

    .intro-images {
        display: none;
    }

    .achievements {
        padding: 50px 0;
        background-position: center left;
    }

    .achievements-list {
        flex-direction: column;
    }

    .achievements-item {
        border-top: 1px solid rgba(248, 248, 248, 0.10);
        border-right: 1px solid rgba(248, 248, 248, 0.10);
        border-left: 1px solid rgba(248, 248, 248, 0.10);
        border-bottom: none;
    }

    .achievement-number {
        font-size: 68px;
    }

    .about {
        padding: 50px 0;
    }

    .about-wrap {
        flex-direction: column;
    }

    .about-content {
        margin-right: 0;
        margin-bottom: 30px;
    }

    .about-description {
        display: none;
    }

    .about-description.mobile {
        display: block;
    }

    .about-content .btn-more {
        margin-top: 20px;
    }

    .types {
        padding: 50px 0;
    }

    .types.pt-small {
        padding-top: 30px;
    }

    .small-business .subtitle {
        max-width: 100%;
        font-size: 16px;
        margin-bottom: 20px;
    }

    .small-business-wrap {
        flex-direction: column-reverse;
    }

    .small-business-content {
        flex: 0 0 100%;
        margin-right: 0;
    }

    .small-business-description {
        min-height: auto;
    }

    .small-business-btn::before {
        left: -20px;
        bottom: -20px;
    }

    .small-business-image {
        margin-bottom: 10px;
    }

    .small-business-image img {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 208px;
    }

    .projects {
        padding: 50px 0;
    }

    .work-stages {
        padding-bottom: 50px;
    }

    .work-stages-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .work-stages-item .btn-show {
        margin-top: 20px;
    }

    .task {
        padding: 50px 0;
    }

    .task-form {
        padding: 30px;
    }

    .task-form::before {
        right: -20px;
        top: -20px;
    }

    .footer {
        padding-top: 50px;
        padding-bottom: 40px;
    }

    .footer-wrap {
        flex-direction: column;
        align-items: center;
    }

    .footer-info {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 30px;
        margin-right: 0;
    }

    .footer-logo {
        text-align: center;
        margin-bottom: 30px;
    }

    .footer-menu {
        display: none;
    }

    .footer-controls {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        margin-bottom: 40px;
    }

    .footer-lang {
        margin-bottom: 30px;
        margin-right: 0;
    }

    .error-page-wrap img {
        max-height: 67px;
    }

    .error-page-wrap h1 {
        margin-bottom: 30px;
    }

    .category {
        padding-top: 30px;
        padding-bottom: 50px;
    }

    .category-content {
        flex: 0 0 100%;
        max-width: 100%;
        margin-right: 0;
        padding-top: 0;
    }

    .category-image {
        display: none;
    }

    .category-image-mobile {
        display: flex;
    }

    .benefits {
        padding: 50px 0;
    }

    .benefits-list {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 40px;
    }

    .service {
        padding-top: 30px;
        padding-bottom: 50px;
    }

    .service.pb-small {
        padding-bottom: 30px;
    }

    .service-wrap {
        overflow: unset;
    }

    .service-content {
        max-width: 100%;
        padding-top: 0;
        padding-bottom: 0;
    }

    .service-content.pb-small {
        padding-bottom: 0;
    }

    .company .service-content {
        padding-bottom: 0;
    }

    .service-images {
        display: none;
    }

    .service-images-mobile {
        display: block;
    }

    .service-slider {
        max-width: 500px;
        margin: 0 auto;
    }

    .service-slider img {
        height: 120vw;
        max-height: 700px;
        min-height: 466px;
    }

    .service-images-mobile.horizontal .service-slider img {
        height: auto;
        max-height: unset;
        min-height: unset;
    }

    .service-slider-text {
        position: unset;
        max-width: 500px;
        margin: 10px auto 0;
    }

    .service-slider-text p {
        font-size: 14px;
    }

    .file::before {
        left: -20px;
        bottom: -20px;
    }

    .video {
        padding-bottom: 50px;
    }

    .quote {
        padding-bottom: 50px;
    }

    .quote-wrap {
        padding: 30px 20px;
    }

    .quote-wrap p {
        font-size: 24px;
    }

    .contacts {
        padding-top: 30px;
        padding-bottom: 50px;
    }

    .contacts-list {
        grid-template-columns: repeat(2, 1fr);
        padding: 30px;
    }

    .contacts-item a {
        font-size: 24px;
    }

    .contact {
        padding: 50px 0;
    }

    .projects.projects-page {
        padding-top: 30px;
        padding-bottom: 50px;
    }

    .filter-popup-title {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .filter-popup-title p {
        font-size: 14px;
    }

    .blog-page {
        padding-top: 30px;
        padding-bottom: 50px;
    }

    .blog-list {
        grid-template-columns: repeat(3, 1fr);
    }

    .navigation {
        margin-top: 30px;
    }

    .nav-links a.prev {
        margin-right: 15px;
    }

    .nav-links a.next {
        margin-left: 15px;
    }

    .post-single {
        padding-bottom: 50px;
    }

    .post-single .container {
        padding: 0;
    }

    .post-wrap {
        padding: 30px 20px 50px 20px;
    }

    .post-meta {
        margin-bottom: 30px;
    }

    .post-title {
        margin-bottom: 30px;
    }

    .post-pagination {
        margin-top: 40px;
    }

    .price-list {
        padding: 50px 0;
    }

    .price-list-items {
        margin-bottom: 40px;
    }

    .price-list-content td {
        font-size: 14px;
    }

    .price-list-wrap {
        flex-direction: column;
    }

    .price-list-file {
        flex: auto;
        margin-bottom: 40px;
        margin-right: 0;
    }

    .service-tabs-content {
        padding-top: 30px;
    }

    .additional-image {
        flex: 0 0 280px;
    }

    .cassette-image img {
        height: 160px;
    }

    .palette:not(:last-child) {
        margin-bottom: 40px;
    }

    .palette-group {
        flex-direction: column;
    }

    .palette-image + .palette-description {
        margin-top: 20px;
        margin-left: 0;
    }

    .palette-colors {
        grid-template-columns: repeat(3, 1fr);
    }

    .color-image img {
        height: 20vw;
    }

    .texture-image {
        margin-right: 0;
    }

    .texture-image img {
        max-width: 220px;
        margin-left: -28px;
    }

    .texture-info .title {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .texture-param:not(:last-child) {
        margin-bottom: 20px;
    }

    .texture-group {
        flex: 0 0 420px;
    }

    .texture-example {
        flex: 0 0 260px;
    }

    .texture-example h4::before {
        width: 10px;
        height: 10px;
        top: 4px;
    }

    .project {
        padding: 40px 0;
    }

    .project-placement {
        font-size: 16px;
    }

    .project-description {
        max-width: 100%;
        font-size: 16px;
    }

    .project-area,
    .project-year {
        font-size: 16px;
    }

    .project .title-wrap {
        margin-bottom: 30px;
    }

    .project-video {
        margin-top: 30px;
    }

    .calculator.pt-small {
        padding-top: 30px;
    }

    .calculator {
        padding-top: 0;
        padding-bottom: 30px;
    }

    .price-list-title h4::before {
        top: 5px;
    }

    .seo {
        padding: 50px 0;
    }

    .stages-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .estimate-form {
        height: 225px;
    }
}

@media screen and (max-width: 782px) {
    :root {
        margin-top: 0 !important;
    }

    #wpadminbar {
        display: none;
    }

    .admin-bar .header {
        top: 0;
    }
}

@media screen and (max-width: 781px) {
    .post-content > .wp-block-columns {
        margin-bottom: 40px;
    }

    .wp-block-column.mb-order-2 {
        order: 2;
    }

    .wp-block-image img {
        width: 100%;
    }

    :where(.wp-block-columns.is-layout-flex) {
        gap: 20px;
    }
}

@media screen and (max-width: 767px) {
    .title-wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .title-wrap .title {
        margin-bottom: 20px;
    }

    .types-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .type-image img {
        height: 52vw;
    }

    .type-title {
        height: auto;
        padding: 16px;
    }

    .projects-last .projects-item:last-child {
        display: block;
    }

    .projects-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-image img {
        height: 62vw;
    }

    .contacts-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .map iframe {
        height: 568px;
    }

    .route iframe {
        height: 568px;
    }

    .nf-form-cont .nf-multi-cell .nf-row > * {
        flex-direction: column;
        margin: 0;
    }

    .nf-form-cont .nf-multi-cell .nf-cell {
        width: 100% !important;
        padding: 0;
    }

    .contact-form .nf-form-content input[type="submit"] {
        max-width: 100%;
    }

    .filter {
        width: 100%;
    }

    .filter-popup {
        position: relative;
        width: 100%;
        top: unset;
        right: unset;
        margin-top: 10px;
    }

    .blog-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .estimate-wrap {
        padding: 20px;
    }

    .estimate-form {
        height: auto;
        background-image: none;
    }

    .estimate-form .nf-form-cont .nf-multi-cell .nf-row > * {
        grid-template-columns: repeat(1, 1fr);
    }

    .estimate-form .nf-form-cont .nf-multi-cell .nf-cell:nth-child(1),
    .estimate-form .nf-form-cont .nf-multi-cell .nf-cell:nth-child(2),
    .estimate-form .nf-form-cont .nf-multi-cell .nf-cell:nth-child(3),
    .estimate-form .nf-form-cont .nf-multi-cell .nf-cell:nth-child(4) {
        grid-area: unset;
    }

    .estimate-form .nf-form-cont .nf-multi-cell .nf-cell {
        width: 100% !important;
    }

    .estimate-form .submit-container {
        height: 120px;
        margin-top: 20px;
    }

    .schemes.schemes-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .scheme {
        flex-direction: column;
        margin-bottom: 40px;
    }

    .scheme-image {
        flex: auto;
        margin-bottom: 20px;
        margin-right: 0;
    }

    .scheme-image img {
        height: 200px;
    }

    .cassette {
        flex-direction: column;
        margin-bottom: 40px;
    }

    .cassette-image {
        flex: auto;
        margin-bottom: 20px;
        margin-right: 0;
    }

    .additional {
        flex-direction: column;
    }

    .additional-image {
        flex: auto;
        margin-bottom: 20px;
        margin-right: 0;
    }

    .additional-image.bg-transparent {
        flex: auto;
    }

    .additional-image.bg-transparent img {
        height: 200px;
    }

    .service-tabs {
        flex-direction: column;
    }

    .service-tabs a:not(:last-child) {
        margin-bottom: 10px;
        margin-right: 0;
    }

    .palette-colors {
        grid-template-columns: repeat(2, 1fr);
    }

    .color-image img {
        height: 30vw;
    }

    .texture {
        flex-direction: column;
    }

    .texture:not(:last-child) {
        margin-bottom: 40px;
    }

    .texture > .title {
        display: block;
    }

    .texture-group {
        flex: auto;
    }

    .texture-example {
        flex: auto;
        margin-left: 0;
    }

    .texture-image img {
        max-width: 180px;
        margin-left: -23px;
    }

    .texture-info .title {
        display: none;
    }

    .param-name,
    .param-value,
    .texture-example h4 {
        font-size: 14px;
    }

    .texture-example-image img {
        max-width: 400px;
    }

    .project-slider .slick-arrow {
        width: 40px;
        height: 40px;
    }

    .project-slider .slick-prev {
        border-right: none;
    }

    .project-slider .slick-next {
        left: unset;
        right: 0;
    }

    .project .title-wrap .share {
        display: none;
    }

    .project-content .share {
        display: flex;
    }

    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
    }

    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
        margin-bottom: 20px;
    }

    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
        padding: 0;
    }
}

@media screen and (max-width: 575px) {
    .intro-benefits {
        margin-left: 70px;
    }

    .intro-benefits::before {
        left: -70px;
    }

    .intro-benefits::after {
        left: 42px;
    }

    .projects-list {
        grid-gap: 9px;
    }

    .project-info {
        min-height: 103px;
        padding: 12px;
    }

    .project-location span {
        font-size: 10px;
    }

    .project-title {
        flex-direction: column;
    }

    .project-title p {
        min-height: 30px;
        font-size: 12px;
    }

    .project-title::after {
        margin-top: 10px;
        margin-left: 0;
    }

    .filter {
        width: 100%;
    }

    .btn-filter {
        flex: 1;
    }

    .btn-filter:first-child {
        margin-right: 9px;
    }

    .blog-list {
        grid-template-columns: repeat(1, 1fr);
    }

    .blog-item.large {
        grid-column: span 1;
    }

    .blog-item.large .blog-info {
        position: relative;
        max-width: 100%;
    }

    .blog-item.large .blog-image img {
        height: 52vw;
        min-height: 198px;
    }

    .blog-image img {
        height: 52vw;
        min-height: 198px;
    }

    .blog-title p {
        min-height: 100%;
    }

    .post-meta .share p {
        display: none;
    }

    .post-pagination {
        flex-direction: column;
    }

    .post-pagination a:first-child:not(:last-child) {
        margin-bottom: 10px;
        margin-right: 0;
    }

    .palette-colors {
        grid-template-columns: repeat(1, 1fr);
    }

    .palette-image {
        width: 100%;
        max-width: 100%;
    }

    .color-image img {
        height: auto;
        min-height: 224px;
    }

    .color-title {
        font-size: 16px;
    }

    .stages-list {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media only screen and (max-device-width: 1000px) and (orientation: landscape) {
    .header {
        position: relative;
    }

    .main-container {
        padding-top: 0;
    }
}