@charset "utf-8";

/* ------------------------------- RESET ------------------------------- */

html {margin: 0; padding: 0; height: 100%;}
body, div, span, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, a, font, small, strong, b, u, i, center, label, form, fieldset,
input, button, textarea, img, p, table, tr, th, td, dl, dt, dd {
    margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; background: transparent;
}
table {border-collapse: collapse; border-spacing: 0;}
ol, ul, li {list-style: none;}
h1, h2, h3, h4, h5, h6 {font-size: 100%; font-weight: normal;}
input, button, textarea, select, optgroup, option {
    font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit;
}
input, button, textarea, select {font-size: 100%; display: block;}
input[type=text], input[type=submit], textarea{-webkit-appearance: none;}
input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 50px #fff !important; -webkit-text-fill-color: #1d1d1e !important; color: #1d1d1e !important;
}
select {outline: 0;}
:focus {outline: none;}
* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
*:before, *:after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
::-moz-focus-inner {border: 0; padding: 0;}

/* ------------------------------- DEFAULT ------------------------------- */

html {-webkit-tap-highlight-color: rgba(0, 0, 0, 0); scroll-behavior: smooth;}
body {
    background: #FFFFFF; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; direction: ltr;
    color: #111111; display: block; min-width: 360px; font-size: 17px; width: 100%; position: relative; font-family: 'EuclidFlex', sans-serif;
    -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: auto; overflow-x: hidden; font-weight: 300;
}
#main_sheet {display: flex; flex-direction: column; min-height: 100vh; height: 100%; overflow: hidden;}
#main_sheet.blog, #main_sheet.site_page {overflow: unset;}
div, label {display: block; line-height: 120%;}
a, p, h1, h2, h3, h4, h5, h6 {line-height: 120%;}
img {width: 100%;}

h2 {line-height: 90%;}
.btn_primary {

}
.wrap {width: 100%; padding: 0 28px; margin-left: auto; margin-right: auto; max-width: 1920px;}
.dn {display: none !important;}
.vh {visibility: hidden;}

@media only screen and (max-width: 1024px) {
    .wrap {padding: 0 16px;}
    .btn_primary {height: 56px; font-size: 16px;}
}

/* icons */

[class^="icon_"], [class*=" icon_"] {
    display: inline-block; font-family: 'glyphicons', sans-serif; font-size: 13px; font-style: normal;
    text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}

.icon_close:before {content: '\E80D';}
.icon_arrow_left:before {content: '\E81B';}
.icon_arrow_right:before {content: '\E81C';}
.icon_arrow_light:before {content: '\E845';}
.icon_video_volume_min:before { content: '\E829'; }
.icon_video_volume_off:before { content: '\E82A'; }
.icon_video_fullscreen:before { content: '\E82B'; }
.icon_video_minscreen:before { content: '\E82D'; }
.icon_video_play:before { content: '\E834'; }
.icon_video_previous:before { content: '\E835'; }
.icon_video_next:before { content: '\E836'; }
.icon_video_pause:before { content: '\E837'; }
.icon_video_volume_max:before { content: '\E838'; }
.icon_video_next_time:before { content: '\E839'; }
.icon_video_prev_time:before { content: '\E83A'; }
.icon_location:before { content: '\E812'; }
.icon_external_link:before { content: '\E846'; }

.icon_copy_link:before {content: '\E823';}
.icon_eye:before {content: '\E820';}
.icon_chat:before {content: '\E82E';}
.icon_chat_2:before {content: '\E832';}
.icon_like:before {content: '\E82F';}
.icon_like_2:before {content: '\E833';}
.icon_like_3:before {content: '\E82C';}
.icon_share:before {content: '\E830';}
.icon_share_2:before {content: '\E83F';}
.icon_tg:before {content: '\E824';}
.icon_ok:before {content: '\E827';}
.icon_vk:before {content: '\E816';}
.icon_wa:before {content: '\E825';}
.icon_max:before {content: '\E840';}

.icon_home:before { content: '\E83C'; }
.icon_bed:before { content: '\E83D'; }
.icon_area:before { content: '\E83B'; }
.icon_calendar:before { content: '\E83E'; }
.icon_petrol:before { content: '\E947'; }

/* ------------------------------- MODAL ------------------------------- */

#modal {
    position: fixed; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; pointer-events: none; transform: none;
    z-index: 1000; opacity: 0; transition: .6s ease-in-out;
}
#modal.gallery {
    position: fixed; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; overflow: hidden; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(10px);
    opacity: 0; filter: alpha(opacity=0); background: rgba(4, 7, 15, 0.90); z-index: 1000;
}
#modal.gallery #modal_container {overflow-x: hidden;}
#modal.active {
    pointer-events: auto; top: 0; opacity: 1; transform: none; transition: .6s ease-in-out;
}

#modal_container {overflow-y: auto; z-index: 1001; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; text-align: left; direction: ltr; position: fixed;}
#modal_overlay {position: absolute; width: 100%; min-height: 100%; height: 100%; left: 0; top: 0; display: flex; align-items: center;}

#modal_close {
    width: 60px; max-width: 60px; min-width: 60px; height: 60px; max-height: 60px; min-height: 60px; display: flex; align-items: center; -webkit-justify-content: center; border-radius: 4px;
    position: absolute; top: 0; right: 0; cursor: pointer; z-index: 3; transition: .3s ease-in-out;
}
#modal_close > i {color: #FFFFFF; transition: .3s ease-in-out; font-size: 20px;}

#modal_content {position: relative; height: auto; margin: 55px auto 55px;}

@media only screen and (max-width: 1024px) {
    #modal_close {right: 0;}
}

/* houses */

.modal_houses {padding: 50px 50px 40px 50px; max-width: 1100px; margin: 0 auto; background: #fff; position: relative;}
.house_modal_close {color: #054517; transition: .2s ease-in-out; z-index: 9999; position: absolute; top: 20px; right: 20px; cursor: pointer;}
.house_modal_close:hover {color: #015719;}

.modal_houses_header {display: flex; padding-bottom: 30px;}
.modal_houses_header > div {width: 50%; margin-top: auto;}

.modal_houses_title {font-size: var(--font-50); font-weight: 500; color: #111111;}
.modal_houses_price {font-size: var(--font-30); font-weight: 500; color: #111111; padding-top: 30px;}
.modal_houses_price small {font-size: 16px;}
.modal_houses_note {font-size: 14px; line-height: 110%; color: #054517; height: 22px; padding-top: 6px;}

.modal_houses_header_right {display: flex; align-items: baseline; justify-content: end;}
.modal_houses_calendar .icon_calendar {font-size: 26px; position: relative; top: 1px; color: #054517;}
.modal_houses_duration {padding-left: 16px;}
.modal_houses_duration > div:nth-of-type(1) {font-size: var(--font-30); font-weight: 500; color: #111111;}
.modal_houses_duration > div:nth-of-type(2) {font-size: var(--font-17); color: #111111; line-height: 100%; padding-top: 4px;}

.modal_houses_desc_title {font-size: 22px; font-weight: 500; color: #111111;}
.modal_houses_desc_items {display: flex; flex-direction: row; flex-wrap: wrap; padding-top: 30px; padding-bottom: 20px;}
.modal_houses_desc_items > div {flex: 1 0 50%; font-size: 17px; line-height: 130%; color: #111418; padding-bottom: 8px;}

.modal_houses_table {display: flex; flex-direction: column; width: 100%;}
.modal_houses_table > div:nth-child(1) {width: 100%; height: auto; margin-bottom: 12px;}
.modal_houses_table > div:nth-child(2) {display: flex; width: 100%; overflow: hidden;}
.modal_houses_table > div:nth-child(2) > div {display: flex; transition: .3s ease-in-out;}
.modal_houses_table > div:nth-child(2) > div > div {
    display: flex; align-items: center; width: 20%; min-width: 150px; padding-right: 8px; cursor: pointer; position: relative;
}
.modal_houses_table > div:nth-child(2) > div > div:after {
    content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: calc(100% - 8px); background: rgba(0, 0, 0, 0); pointer-events: none;
    transition: all 0.35s ease-out;
}
.modal_houses_table > div:nth-child(2) > div > div:hover:after {background: rgba(0, 0, 0, 0.15);}
.modal_houses_table > div:nth-child(2) > div > div.modal_houses_table_plan:after {
    content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: calc(100% - 8px); pointer-events: none;
    border: 1px solid #eee; transition: all 0.2s ease-out;
}
.modal_houses_table > div:nth-child(2) > div > div.modal_houses_table_plan:hover:after {border-color: #054517;}

#house_photo_cover {display: block;}

.modal_houses_extra {display: flex; flex-wrap: wrap; width: 100%; font-weight: 400; padding-top: 20px;}
.modal_houses_extra > div {flex: 33.333%; max-width: 33.333%; display: flex; align-items: flex-end; padding-top: 30px;}
.modal_houses_extra > div {padding-top: 20px; padding-right: 20px; position: relative;}
.modal_houses_extra > div:after {content: ''; position: absolute; bottom: 3px; left: 0; right: 20px; border-bottom: 1px dashed #BCC0C6;}
.modal_houses_extra > div:nth-child(3n):after {right: 0;}
.modal_houses_extra > div:nth-child(3n) {padding-right: 0;}
.modal_houses_extra span:nth-child(1) {background: #fff; z-index: 1; position: relative; padding-right: 5px;}
.modal_houses_extra span:nth-child(2) {float: right; background: #fff; z-index: 1; margin-left: auto; position: relative; padding-left: 5px;}

.modal_houses_desc_main {padding-top: 30px;}
.modal_houses_desc_main > div {display: flex; font-size: 14px; line-height: 130%; color: #111418; padding-bottom: 8px;}
.modal_houses_desc_main > div > div:nth-of-type(1) {padding-right: 8px; font-size: 20px;}
.modal_houses_desc_main > div > div > span {font-weight: 600;}

.modal_houses_desc_note {padding-top: 50px;}
.modal_houses_desc_note > div {font-size: 12px; line-height: 130%; color: #111418; padding-bottom: 4px;}
.modal_houses_desc_note > div.rubcoff {font-size: 14px; margin-bottom: 1rem; line-height: 140%;}
.modal_houses_desc_note > div > span {font-weight: 600;}

#modal_banner {max-width: 1100px; margin: 0 auto;}
#modal_banner h2 {font-size: var(--font-50);}

/* paginator */

.modal_slides_paginator {display: table; margin-top: 25px; margin-bottom: 30px;}
.modal_slides_paginator_btn {display: table-cell; vertical-align: middle; width: 0;}

.modal_slides_paginator_arrow {color: #AEB3BB; font-size: 20px;}
.modal_slides_paginator_arrow.active {color: #054517; cursor: pointer;}
#modal_slides_paginator_prev {margin-right: 25px;}
#modal_slides_paginator_next {margin-left: 25px;}
#modal_slides_paginator_progress {height: 2px; background: #054517; transition: all 0.35s ease-in-out;}

@media only screen and (max-width: 800px) {
    .modal_houses {padding: 15px 15px 35px 15px; border-radius: 0;}
    .modal_houses_header {flex-direction: column;}
    .modal_houses_header > div {width: 100%;}
    .modal_houses_duration {padding-left: 0;}
    .modal_houses_calendar {display: none;}
    .modal_houses_header_right {justify-content: start; padding-top: 20px;}
    .modal_houses_table > div:nth-child(2) > div {margin-bottom: 5px;}
    .modal_houses_desc_items {flex-direction: column;}
    .modal_houses_desc_items > div {flex: 1 0 100%; padding-bottom: 4px;}
    .modal_houses_extra > div {flex: 100%; max-width: 100%; padding-right: 0;}
    .modal_houses_extra > div:after {right: 0;}
}


/* ------------------------------- GALLERY MODAL ------------------------------- */

#gallery_modal_bayside, #gallery_modal_woodside, #gallery_modal_lakeside, #gallery_modal_highwood {width: 100vw; opacity: 1; pointer-events: auto; transition: all 0.35s ease-out;}

.gallery_modal_menu {height: 54px; z-index: 2000; position: fixed; top: 0; right: 0; align-items: center; padding: 0 20px;}
.gallery_modal_menu > div:first-child {
    white-space: nowrap; position: absolute; line-height: 54px; right: 63px; color: #FFF; font-size: 16px; font-weight: 500;
}
.gallery_modal_menu > div > i {
    padding: 10px; font-size: 14px; color: #fff; position: absolute; top: 9px; right: 14px; opacity: 0.5; cursor: pointer;
    transition: all 0.35s ease-out;
}
.gallery_modal_menu > div > i:hover {opacity: 1;}

.gallery_modal_body {height: calc(100vh - 54px); max-width: 100vw; display: flex; align-items: center;}
.gallery_modal_body > div {padding-top: 80px; width: 60%; margin: 0 auto; display: flex; flex-direction: column; align-items: center;}

#gallery_modal_photo_bayside, #gallery_modal_photo_woodside, #gallery_modal_photo_lakeside, #gallery_modal_photo_highwood {
    position: relative; min-height: calc(100vh - 200px); width: 100%; display: flex; -webkit-justify-content: center;
}
#gallery_modal_photo_bayside > img, #gallery_modal_photo_woodside > img, #gallery_modal_photo_lakeside > img, #gallery_modal_photo_highwood > img {
    max-height: 100%; width: auto; object-fit: cover; max-width: 100%; margin: 0 auto; z-index: 5; opacity: 0; transition: all 0.35s ease-out; display: block; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%);
}
#gallery_modal_photo_bayside > img.visible, #gallery_modal_photo_woodside > img.visible, #gallery_modal_photo_lakeside > img.visible, #gallery_modal_photo_highwood > img.visible {opacity: 1;}
#gallery_modal_photo_bayside > img.hidden, #gallery_modal_photo_woodside > img.hidden, #gallery_modal_photo_lakeside > img.hidden, #gallery_modal_photo_highwood > img.hidden { z-index: 1; pointer-events: none;}

.gallery_modal_thumbs {padding: 28px 20px; width: 100%; display: flex; align-items: end; -webkit-justify-content: center;}
.gallery_modal_thumbs > div {display: flex; padding-bottom: 20px; overflow: auto;}
.gallery_modal_thumbs > div::-webkit-scrollbar {height: 4px;}
.gallery_modal_thumbs > div::-webkit-scrollbar-track {background: transparent;}
.gallery_modal_thumbs > div::-webkit-scrollbar-thumb {
    background: rgba(150, 150, 150, 0.85); border-radius: 10px; cursor: grab; mix-blend-mode: difference;
}
.gallery_modal_thumbs > div > div {
    position: relative; overflow: hidden; min-width: 50px; height: 50px; margin-left: 10px; border-radius: 2px;
    image-rendering: auto; cursor: pointer; transition: all 0.35s ease-out;
}
.gallery_modal_thumbs > div > div:first-child {margin-left: 0;}
.gallery_modal_thumbs > div > div:hover {border: 2px solid #01412A;}
.gallery_modal_thumbs > div > div.active {border: 2px solid #01412A;}
.gallery_modal_thumbs > div > div img {position: absolute; width: 100%; height: 100%; object-fit: cover;}

.gallery_modal_controls {position: absolute; transform: translate(-50%, -50%); top: calc((100vh - 172px) / 2 + 40px); left: 50%; width: 100%; display: flex; padding: 0 20px; z-index: 10;}
.gallery_modal_controls > div {display: flex; width: 50%;}
.gallery_modal_controls > div:nth-of-type(2) {justify-content: end;}
.gallery_modal_controls > div > div {border-radius: 50%; height: 42px; width: 42px; border: 1px solid #BCC0C6; opacity: 0.6; cursor: pointer; text-align: center; transition: all 0.35s ease-out;}
.gallery_modal_controls > div > div:hover {opacity: 1; background: #BCC0C6;}
.gallery_modal_controls > div > div > i {font-size: 16px; color: #FFFFFF; line-height: 40px;}
.gallery_modal_controls > div:nth-of-type(1) > div > i {padding-right: 3px;}
.gallery_modal_controls > div:nth-of-type(2) > div > i {padding-left: 3px;}

@media only screen and (max-width: 800px) {
    .gallery_modal_menu > div:first-child {font-size: 14px;}
    .gallery_modal_menu {border-bottom: 0;}
    .gallery_modal_body {padding-top: 0; height: 100vh;}
    .gallery_modal_body > div {width: 100%; padding-top: 0;}
    #gallery_modal_photo_bayside, #gallery_modal_photo_woodside, #gallery_modal_photo_lakeside, #gallery_modal_photo_highwood {display: flex; min-height: calc(100vh - 300px);}
    .gallery_modal_controls {display: none;}
    .gallery_modal_thumbs {padding: 70px 20px 0 20px; width: 100%;}
}

/* ------------------------------- FONT SIZE ------------------------------- */

:root {
    --font-14: max(12px, min(14px, 1.1vw));
    --font-17: max(13px, min(17px, 1.2vw));
    --font-20: max(14px, min(20px, 1.5vw));
    --font-22: max(14px, min(22px, 1.55vw));
    --font-30: max(17px, min(30px, 1.9vw));
    --font-34: max(24px, min(34px, 2.05vw));
    --font-40: max(17px, min(40px, 2.25vw));
    --font-50: max(34px, min(50px, 2.6vw));
    --font-55: max(28px, min(55px, 2.8vw));
    --font-80: max(34px, min(80px, 4.8vw));
    --font-100: max(55px, min(100px, 5.2vw));
    --font-130: max(55px, min(130px, 7.1vw));
    --font-140: max(55px, min(140px, 7.4vw));
}

/* ------------------------------- PRELOAD ------------------------------- */

#preload {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%; height: 100vh; min-height: 100dvh;
    z-index: 1000; overflow: hidden; transition: all 0.75s ease; opacity: 0; visibility: hidden;
}
#preload.active {opacity: 1; visibility: visible;}

#preload_container {
    width: 100%; height: 100%; min-height: 100dvh; position: fixed; top: 0; left: 0;
}
#preload_container > div {
    height: 100%; width: 100%; overflow: hidden;
}
#preload_container > div > img:first-of-type {
    width: 100%; height: 100%; object-fit: contain; object-position: center;
    transition: transform 1s ease-in-out; background: #111111;
}
#preload_container > div > img:last-of-type {
    width: 20%; position: absolute; left: 0; bottom: 0; z-index: 2;
}

@media only screen and (max-width: 1024px) {
    #preload_container > div > img:last-of-type {width: 40%;}
}

@media only screen and (max-width: 600px) {
    #preload_container > div > img:first-of-type {transform: scale(2);}
}

/* ------------------------------- BREADCRUMBS ------------------------------- */

#breadcrumbs {margin-top: 100px;}
.breadcrumbs {display: flex; align-items: center; font-size: var(--font-17);}
.breadcrumbs > a {color: #868686; text-decoration: none;}
.breadcrumbs > span {color: #868686; margin: 0 8px;}
.breadcrumbs > div > span:first-of-type {display: block;}
.breadcrumbs > div > span:last-of-type {display: none;}
.breadcrumbs > span:last-of-type {display: none;}

@media only screen and (max-width: 1024px) {
    #breadcrumbs {margin-top: 80px;}
    .breadcrumbs > div > span:first-of-type {display: none;}
    .breadcrumbs > div > span:last-of-type {display: block;}
}

/* ------------------------------- MENU ------------------------------- */

#menu {
    padding: 20px 0; background: #FFFFFF; position: fixed; top: 0; z-index: 101; height: 71px; width: 100%;
    display: flex; align-items: center; border-bottom: 1px solid transparent;
    transition: background .6s ease-in-out, border .6s ease-in-out, transform .6s ease-in-out;
    -webkit-transform: translateZ(0); transform: translateZ(0);
}
#menu.white_background {background: #FFFFFF;}

#menu.white_color {color: #FFFFFF; background: rgba(255, 255, 255, 0.01);}
#menu.white_color .menu > .phone {color: #FFFFFF;}
#menu.white_color .menu > .phone > span:nth-child(2) {border-bottom: 1px solid #FFFFFF;}
#menu.white_color .menu > .phone > span:nth-child(2):hover {color: #FFFFFF; border-bottom: 1px solid transparent;}
#menu.white_color .menu > .phone > span:nth-child(2):active {border-bottom: 1px solid #FFFFFF;}
#menu.white_color .menu-btn div {background-color: #FFFFFF;}
#menu.white_color .menu > .logo > img {filter: grayscale(100%) brightness(1000%);}

#menu.blur {-webkit-backdrop-filter: blur(25px) !important; backdrop-filter: blur(25px) !important; background: rgba(17, 17, 17, 0.50) !important;}
#menu.open.blur {-webkit-backdrop-filter: blur(0) !important; backdrop-filter: blur(0) !important; background: transparent !important;}

#menu.white_color.open {background: transparent;}
#menu.open:not(.blur):not(.white_color) {color: #111111;}
#menu.open:not(.blur):not(.white_color) .menu > .phone {color: #111111;}
#menu.open:not(.blur):not(.white_color) .menu > .mobile_menu_icon > svg {color: #111111;}
#menu.open:not(.blur):not(.white_color) .menu > .phone > span:nth-child(2) {border-bottom: 1px solid #111111;}
#menu.open:not(.blur):not(.white_color) .menu > .phone > span:nth-child(2):hover {color: #111111; border-bottom: 1px solid transparent;}
#menu.open:not(.blur):not(.white_color) .menu > .phone > span:nth-child(2):active {border-bottom: 1px solid #111111;}
#menu.open:not(.blur):not(.white_color) .menu-btn div {background-color: #253D2F;}
#menu.open:not(.blur):not(.white_color) .menu > .logo > img {filter: none;}

.menu {display: flex; align-items: center;}
.menu > .logo {width: 95px; margin-right: 60px;}
.menu > .logo > img {display: block; width: 95px;}
.menu > .menu_links {display: flex; align-items: center; width: calc(40% - 78px);}
.menu > .menu_links > a {margin-right: 46px; cursor: pointer; white-space: nowrap; border-bottom: 1px solid transparent; font-size: var(--font-20); transition: all .3s ease-in-out; text-decoration: none; color: inherit;}
.menu > .menu_links > a:active {border-bottom: 1px solid #111111;}
.menu > .phone {text-decoration: none; color: #111111; font-size: var(--font-20); transition: all .3s ease-in-out; margin-left: 30px;}
.menu > .phone > span:nth-child(1) {margin-right: 20px;}
.menu > .phone > span:nth-child(2) {border-bottom: 1px solid #111111; transition: .3s ease-in-out;}
.menu > .phone > span:nth-child(2):hover {border-bottom: 1px solid transparent;}
.menu > .phone > span:nth-child(2):active {border-bottom: 1px solid #111111;}
.menu > .mobile_menu_icon {display: none; width: 24px; height: 24px;}
.menu > .mobile_menu_icon.max {display: block; margin-left: auto;}
.menu > .mobile_menu_icon.tg {display: block; margin-left: 14px;}
.menu > .mobile_menu_icon > svg {color: #111111; width: 24px; height: 24px;}
#menu.white_color .menu > .mobile_menu_icon > svg {color: #FFFFFF !important;}
#menu.open .menu > .mobile_menu_icon > svg {color: #111111;}

.burger_section {display: flex; align-items: center; margin-right: 46px; cursor: pointer;}
.burger_section > span {font-size: var(--font-20); border-bottom: 1px solid transparent;}

.menu-btn {
    cursor: pointer; height: 14px; list-style: none; margin: 0 0 0 auto; padding: 0; width: 32px; position: relative; margin-right: 20px;
    top: 0; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg);
    -webkit-transition: .3s ease-in-out; -moz-transition: .3s ease-in-out; -o-transition: .3s ease-in-out; transition: .3s ease-in-out;
}
.menu-btn div:nth-child(1) {
    top: 0; -webkit-transform-origin: left center; -moz-transform-origin: left center;
    -o-transform-origin: left center; transform-origin: left center;
}
.menu-btn div:nth-child(2) {
    top: 12px; -webkit-transform-origin: left center; -moz-transform-origin: left center;
    -o-transform-origin: left center; transform-origin: left center;
}
.menu-btn div {
    background-color: #253D2F; border-radius: 4px; display: block; transition: .15s ease-in-out;
    height: 2px; left: 0; margin: 0; opacity: 1; padding: 0; position: absolute; width: 100%;
    -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg);
    -webkit-transition: .15s ease-in-out; -moz-transition: .15s ease-in-out; -o-transition: .15s ease-in-out;
}
#menu.open .menu-btn div:nth-child(1) {
    left: 0; top: -4.5px; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg); transform: rotate(45deg);
}
#menu.open .menu-btn div:nth-child(2) {
    left: 0; top: 18px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg); transform: rotate(-45deg);
}

#mobile_menu {
    width: 100%; height: 100dvh; position: fixed; top: 0; left: 0; opacity: 0; background: #FFFFFF; z-index: 100;
    transition: opacity .6s ease-in-out; display: flex; align-items: center; padding-top: 47px;
}
#mobile_menu.open {opacity: 1;}
#mobile_menu .mobile_menu_link {
    margin: 0 auto var(--font-30); font-size: var(--font-50); text-align: center; cursor: pointer; text-decoration: none; color: inherit;
    border-bottom: 1px solid transparent; width: fit-content; transition: all .3s ease-in-out; display: block;
}
#mobile_menu .mobile_menu_link:hover {color: #111111;}
#mobile_menu .mobile_menu_link:active {border-bottom: 1px solid #111111;}

#mobile_menu .socials {width: 100%; display: none;}
#mobile_menu .socials > .phone {
    width: 100%; height: fit-content; font-size: 11vw; font-weight: 500; text-decoration: none;
    color: #111111; display: block; line-height: 11vw; margin-top: 25px; text-align: center;
}
#mobile_menu .socials > .social_link {
    height: fit-content; font-size: 17px; margin-top: 50px; text-decoration: none;
    color: #111111; position: relative; transition: .3s ease-in-out; text-align: center;
}
#mobile_menu .socials > .social_link > a {color: #111111; position: relative; text-decoration: none;}
#mobile_menu .socials > .social_link > a::after {
    left: 0; bottom: 0; width: 100%; height: 1px; background: #111111; content: "";
    position: absolute; opacity: 1; transition: opacity .3s ease-in-out;
}
#mobile_menu .socials > .social_link > a:hover {color: #111111;}
#mobile_menu .socials > .social_link > a:hover::after {background: #111111;}

#mobile_menu .wrap {padding: 0; height: 100%; position: relative;}
#mobile_menu .request_btn_wrap {margin: 40px auto 0;}

/* Mobile menu (tabs) */
#mobile_menu .mm_container {height: 100%; display: flex; flex-direction: column; padding: 8px 12px 16px;}
#mobile_menu .mm_header {height: 44px; display: flex; align-items: center; justify-content: center; position: relative;}
#mobile_menu .mm_title {font-size: 18px; font-weight: 500;}
#mobile_menu .mm_back, #mobile_menu .mm_close {position: absolute; left: 4px; width: 40px; height: 40px; border: 0; background: transparent; display: flex; align-items: center; justify-content: center; color: #111111;}
#mobile_menu .mm_close {left: 4px;}
#mobile_menu.in-sub .mm_close {display: none;}
#mobile_menu .mm_back {display: none;}
#mobile_menu.in-sub .mm_back {display: flex;}
#mobile_menu .mm_actions {position: absolute; right: 4px; display: flex; align-items: center; gap: 8px;}
#mobile_menu .mm_action {display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 18px; background: #1111110f; text-decoration: none;}
#mobile_menu .mm_action svg {width: 20px; height: 20px;}

#mobile_menu .mm_pages {flex: 1; overflow-y: auto; padding: 40px 0 0; display: block;}
#mobile_menu .mm_page {display: none;}
#mobile_menu .mm_page.active {display: block;}

#mobile_menu .mm_item {width: 100%; max-width: 500px; color: #111111 !important; margin: 0 auto; padding: 20px 0; display: flex; align-items: center; justify-content: space-between; background: transparent; border: 0; font-size: 28px; font-weight: 500; line-height: 1.1;}
#mobile_menu .mm_item i {font-size: 18px;}

#mobile_menu .mm_caption {font-size: 28px; font-weight: 500; color: #868686; text-align: center; margin: 12px 0 28px;}
#mobile_menu .mm_link {display: block; width: fit-content; margin: 0 auto 22px; font-size: 28px; font-weight: 500; text-decoration: none; text-align: center; color: inherit;}

#mobile_menu .mm_footer {margin-top: auto; padding: 8px 0 6px; text-align: center;}
#mobile_menu .mm_write {display: flex; -webkit-justify-content: center; text-decoration: none; gap: 8px; align-items: center; color: #111111; font-size: 17px; margin-bottom: 30px;}
#mobile_menu .mm_write a {color: #111111;}
#mobile_menu .mm_write > span {text-decoration: none;}
#mobile_menu .mm_phone {display: block; font-size: 34px; font-weight: 500; color: #111111; text-decoration: none;}


#desktop_menu {
    width: 100%; height: auto; max-height: min(720px, 100vh); position: fixed; top: 0; left: 0; opacity: 0; visibility: hidden; background: #FFFFFF; z-index: 100;
    transition: opacity .6s ease-in-out, visibility .6s ease-in-out; display: flex; align-items: flex-start;
    padding-top: 72px; overflow-y: auto;
}
#desktop_menu ~ #desktop_menu_background {opacity: 0; visibility: hidden; z-index: 99; transition: .3s ease-in-out;}
#desktop_menu.open ~ #desktop_menu_background {content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #00000080; opacity: 1; visibility: visible;}
#menu.blur ~ #desktop_menu_background, #menu.white_color ~ #desktop_menu_background {opacity: 0;}
#desktop_menu::after {height: 1px; width: calc(100% - 56px); max-width: 1920px; position: absolute; left: calc(50% - (min(100%, 1976px) - 56px) / 2); top: 72px; content: ""; background: #D9D9D9;}
#desktop_menu.open {opacity: 1; visibility: visible;}
#desktop_menu .wrap {height: 100%; max-width: 1600px; display: flex; flex-direction: column; justify-content: space-between; position: relative; padding-top: 100px; padding-bottom: 100px;}

.desktop_menu_columns {display: flex; justify-content: space-between; min-height: 300px;}

.desktop_menu_links {width: 20%; padding-right: 20px;}
.desktop_menu_links:nth-of-type(1) {width: 15%;}
.desktop_menu_links:nth-of-type(2) {width: 15%;}
.desktop_menu_links:nth-of-type(4) {width: 15%;}
.desktop_menu_links .title {font-size: var(--font-22); font-weight: 500; margin-bottom: 30px; color: #111111; text-transform: uppercase;}
.desktop_menu_links .link {margin-bottom: 12px;}
.desktop_menu_links .link a {font-size: var(--font-20); color: #111111; border-bottom: 1px solid transparent; transition: .3s ease-in-out; text-decoration: none;}
.desktop_menu_links .link a:hover {text-shadow: #000000 .4px 0 .4px;}

.desktop_menu_image {width: 35%; position: relative; margin-left: 40px;}
.desktop_menu_image #flickity_desktop_menu_image {width: 100%; height: 100%; max-height: 390px; display: block; overflow: hidden; position: relative;}
.desktop_menu_image #flickity_desktop_menu_image .desktop_menu_progress {width: 128px; position: absolute; left: calc(50% - 64px); bottom: 30px; display: flex; align-items: center; z-index: 2;}
.desktop_menu_image #flickity_desktop_menu_image .desktop_menu_progress > div {background: #CCCCCCCC; width: 25%; height: 2px; margin-right: 4px; transition: .3s ease-in-out; }
.desktop_menu_image #flickity_desktop_menu_image .desktop_menu_progress > div.active {background: #FFFFFF;}
.desktop_menu_image img:not(.bonus) {width: 100%; height: 100%; display: block; object-fit: cover;}
.desktop_menu_image .bonus {position: absolute; left: -40px; bottom: -40px; width: 20%; max-width: 120px; max-height: 120px; z-index: 1;}

.desktop_menu_bottom {display: flex; align-items: center; margin-top: -56px;}

.desktop_menu_bottom .request_btn_wrap {width: 100%; max-width: 360px;}
.desktop_menu_bottom .write_us {margin-left: 60px; display: flex; align-items: center; text-decoration: none; color: #111111; transition: opacity .3s;}
.desktop_menu_bottom .write_us svg {width: 24px; height: 24px; margin-right: 20px;}
.desktop_menu_bottom .write_us a {color: #111111;}
.desktop_menu_bottom .write_us span {font-size: var(--font-20);}

/* Themes */
#menu.blur ~ #desktop_menu, #menu.white_color ~ #desktop_menu {
    backdrop-filter: blur(25px) !important; -webkit-backdrop-filter: blur(15px) !important;
    background: rgba(17, 17, 17, 0.50) !important;
}
#menu.blur ~ #desktop_menu, #menu.white_color ~ #desktop_menu > .wrap::after {background: #FFFFFF;}
#menu.blur ~ #desktop_menu .desktop_menu_links .title,
#menu.blur ~ #desktop_menu .desktop_menu_links .link a,
#menu.blur ~ #desktop_menu .desktop_menu_bottom .write_us {color: #FFFFFF;}
#menu.blur ~ #desktop_menu .desktop_menu_bottom .write_us a {color: #FFFFFF;}
#menu.white_color ~ #desktop_menu .desktop_menu_links .title,
#menu.white_color ~ #desktop_menu .desktop_menu_links .link a,
#menu.white_color ~ #desktop_menu .desktop_menu_bottom .write_us {color: #FFFFFF;}
#menu.white_color ~ #desktop_menu .desktop_menu_bottom .write_us a {color: #FFFFFF;}

#menu.blur ~ #desktop_menu .desktop_menu_links .link a:hover {border-bottom: 1px solid #FFFFFF;}
#menu.white_color ~ #desktop_menu .desktop_menu_links .link a:hover {border-bottom: 1px solid #FFFFFF;}

#menu.blur ~ #desktop_menu .desktop_menu_bottom .request_btn, #menu.white_color ~ #desktop_menu .desktop_menu_bottom .request_btn {
    background: #FFFFFF; color: #111111;
}
#menu.blur ~ #desktop_menu .desktop_menu_bottom .request_btn:hover, #menu.white_color ~ #desktop_menu .desktop_menu_bottom .request_btn:hover {background: #EEEEEE;}
#menu.blur ~ #desktop_menu .desktop_menu_image .bonus, #menu.white_color ~ #desktop_menu .desktop_menu_image .bonus {filter: brightness(10000%);}

#menu.blur.open a, #menu.blur.open .burger_section > span, #menu.blur.open .menu > .phone, #menu.white_color.open .menu > .phone {color: #FFFFFF;}
#menu.blur.open .menu-btn div, #menu.white_color.open .menu-btn div {background-color: #FFFFFF;}
#menu.blur.open .icon_arrow_left, #menu.white_color.open .icon_arrow_left {color: #111111;}
#menu.blur.open .menu > .logo > img, #menu.white_color.open .menu > .logo > img {filter: grayscale(100%) brightness(1000%);}

@media only screen and (max-width: 1450px) {
    #desktop_menu .wrap {padding-top: 65px; padding-bottom: 65px;}
    .desktop_menu_links .title {font-size: 17px; margin-bottom: 24px;}
    .desktop_menu_links .link a {font-size: 17px; margin-bottom: 12px;}
    .desktop_menu_bottom .write_us span {font-size: 17px;}
}

@media only screen and (max-width: 1280px) {
    .burger_section {margin-right: 20px;}
    .menu > .menu_links {width: calc(40% - 55px);}
    .menu > .menu_links > a {margin-right: 23px;}
    .desktop_menu_bottom .write_us {margin-left: 20px;}
    .desktop_menu_links .title {font-size: var(--font-20);}
    .desktop_menu_links .link a {font-size: var(--font-20);}
    .desktop_menu_bottom .write_us span {font-size: var(--font-20);}
}

@media only screen and (max-width: 1024px) {
    #mobile_menu .socials {display: block;}
    #menu {padding: 12px 0; height: 70px; background: #FFFFFFB2; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);}
    #menu.white_color {-webkit-backdrop-filter: blur(0); backdrop-filter: blur(0);}
    #menu.blur {-webkit-backdrop-filter: blur(25px) !important; backdrop-filter: blur(25px) !important; background: rgba(255, 255, 255, 0.20) !important;}
    #menu.open {background: transparent; -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0);}
    #menu.white_color.blur:not(.open) {transform: translateY(-100%);}
    .menu > .menu_links {display: none;}
    .menu > .phone {font-size: 17px; display: none;}
    .menu > .phone > span:nth-child(1) {display: none;}
    .menu > .phone > span:nth-child(2) {display: none;}
    .menu > .logo {width: calc(100% - 55px - 50px); order: 2; margin-right: 0;}
    .menu > .logo > img {width: 53px; margin: 0 auto;}
    .menu > .burger_section {order: 1; width: 52px;}
    .menu > .burger_section > i {font-size: 18px; width: 32px; text-align: center;}
    .burger_section > span {display: none;}
    .menu > .mobile_menu_icon {order: 3;}
    #mobile_menu .request_btn_wrap {max-width: 500px;}
    .menu > .mobile_menu_icon.tg {margin-left: 8px;}
    .menu > .mobile_menu_icon {display: block; width: 32px; height: 32px; margin-left: 8px;}
    .menu > .mobile_menu_icon > svg {display: block; width: 32px; height: 32px; color: #111111; transition: .3s ease-in-out;}
    #menu.blur.open a, #menu.blur.open .burger_section > span, #menu.blur.open .menu > .phone {color: #111111;}
    #menu.white_color.open a, #menu.white_color.open .burger_section > span, #menu.white_color.open .menu > .phone {color: #111111;}
    #menu.white_color .menu > .mobile_menu_icon > svg {color: #FFFFFF !important;}
    #menu.open .menu > .mobile_menu_icon > svg {color: #111111 !important;}
    #menu.white_color.open .menu > .logo > img {filter: none;}
    #menu.blur.open .menu > .logo > img {filter: none;}
    #menu.blur.open .menu-btn div {background-color: #111111;}
    #menu.white_color.open .menu-btn div {background-color: #111111;}
}

@media only screen and (max-width: 380px) {
    #menu {height: 56px;}
}

/* ------------------------------- HEADER ------------------------------- */

#header_1 {background: #cccccc; position: relative;}
#header_2 {background: #cccccc;}
.header_1 {height: 100vh; cursor: default;}
.header_1 > h1 {
    font-size: var(--font-140); font-weight: 500; z-index: 1; position: absolute; left: 10%; top: 25%;
    line-height: 0.85; overflow: hidden; display: block; padding-bottom: 10px; color: #FFFFFF;
}
.header_1 > p {
    font-size: var(--font-30); z-index: 1; position: absolute; left: max(350px, 30%); top: calc(25% + (var(--font-140) * 0.85 * 3) + 80px);
    transition: opacity .5s ease-in-out; color: #FFFFFF;
}
.header_1 > .video {
    position: absolute; right: 0; left: 0; bottom: 0; width: 100%; height: 100%; max-height: 100vh;
}
.header_1 > .video > video {width: 100%; height: 100%; object-fit: cover;}
.header_1 > .video::before {
    width: 100%; height: 100%; position: absolute; right: 0; left: 0;
    background: #00000033; content: "";
}
.header_2 {height: 100vh; min-height: 800px; position: relative;}
.header_2 > h2 {font-size: var(--font-55); font-weight: 500; z-index: 1; position: absolute; left: 10%; top: 10%;}
.header_2 > .title_mobile {display: none;}
.header_2 > .desc_mobile {display: none;}
.header_2 > p:nth-of-type(1) {font-size: 17px; z-index: 3; position: absolute; left: 20%; top: calc(10% + var(--font-55) + 26px);}
.header_2 > p:nth-of-type(2) {font-size: var(--font-100); font-weight: 500; z-index: 3; position: absolute; right: 5%; bottom: 15%;}
.header_2 > p:nth-of-type(2) > span {display: block; padding-top: 50px;}
.header_2 > p:nth-of-type(2) > span:first-of-type {color: #0C0C54; padding-top: 0;}
.header_2 > img {width: 25%; min-width: 270px; right: 0; bottom: 10%; position: absolute;}
.header_2 > .header_2_img {width: min(35vw, 55vh); height: min(37vw, 55vh); max-width: 603px; max-height: 651px; left: 10%; bottom: 10%; position: absolute; overflow: hidden;}
.header_2 > .header_2_img > img {width: 100%; height: 100%; object-fit: cover; transition: .6s ease-in-out;}
.header_2 > .header_2_img:hover > img {transform: scale(1.2);}

@media only screen and (max-width: 1024px) {
    .header_1 {padding-top: 72px;}
    .header_1 > h1 {position: relative; left: 0; top: 0; line-height: 60px; font-size: 65px;}
    .header_1 > h1 > span {line-height: 50px;}
    .header_1 > p {position: relative; left: 0; bottom: 0; top: auto; margin-top: 40px; margin-left: 60px;}
    .header_1 > img {left: -50px; bottom: calc(50% - 130px);}
    #header_2 {overflow: hidden;}
    .header_2 {min-height: 650px; display: flex; flex-direction: column;}
    .header_2 > h2 {left: 0; order: 1;}
    .header_2 > p:nth-of-type(1) {left: 10%; order: 2;}
    .header_2 > p:nth-of-type(2) {right: 16px; font-size: 50px; order: 4; }
    .header_2 > p:nth-of-type(2) > span {padding-top: 12px;}
    .header_2 > p:nth-of-type(3) > span {padding-top: 12px;}
    .header_2 > .header_2_img {left: 0; order: 3;}
}

@media only screen and (max-width: 700px) {
    .header_2 {padding-top: 70px; height: 100%; min-height: 0;}
    .header_2 > h2 {position: relative; left: 0; top: 0; color: #868686; font-size: 14px; font-weight: 500; text-transform: uppercase; order: 1;}
    .header_2 > p:nth-of-type(1) {display: none;}
    .header_2 > .title_mobile {display: block; margin-top: 16px; font-size: 34px; font-weight: 500; line-height: 90%; order: 2;}
    .header_2 > .desc_mobile {display: block; margin-top: 16px; font-size: 17px; font-weight: 300; order: 2;}
    .header_2 > p:nth-of-type(1) {position: relative; left: 0; top: 0; margin-left: 0; margin-top: 16px;}
    .header_2 > p:nth-of-type(1) > br {display: none;}
    .header_2 > p:nth-of-type(2) {position: relative; left: 0; top: 0; margin-top: 40px; margin-bottom: 140px; font-size: 50px; line-height: 40px;}
    .header_2 > p:nth-of-type(2) > span {padding-top: 30px;}
    .header_2 > img {bottom: 70px; right: -72px; min-width: 200px; width: 65%; z-index: 1;}
    .header_2 > .header_2_img {position: relative; width: calc(100vw - 32px); height: calc(100vw - 32px); left: 0; bottom: 0; margin: 36px 0 0; z-index: 1;}
    .header_2 > .header_2_img > img {max-width: 400px;}
}

@keyframes reveal_video {
    0% {-webkit-mask-size: 0 100%; mask-size: 0 100%;}
    100% {-webkit-mask-size: 100% 100%; mask-size: 100% 100%;}
}

/* ------------------------------- BRAND ------------------------------- */

#brand {background-color: #ffffff;}
.brand {padding-top: 8%;}
.brand h2 {font-size: var(--font-100); font-weight: 500; text-align: center;}
.brand_1 {display: flex; flex-direction: row-reverse; padding-top: 5%;}
.brand_1 > div:nth-child(1) {overflow: hidden; width: 30vw; height: 30vw; max-width: 608px; max-height: 590px; display: flex; align-items: flex-end;}
.brand_1 > div:nth-child(1) > img {width: 100%; height: 0; display: block; object-fit: cover; transform-origin: top; transition: 2.4s ease-in-out;}
.brand_1 > div:nth-child(1).is-inview > img {height: 100%;}
.brand_1 > div:nth-child(2) {width: 70vw; padding-right: 50px;}
.brand_1 > div:nth-child(2) > .sub_title {font-size: 17px; font-weight: 500; color: #868686; text-transform: uppercase; padding-left: min(10vw, 185px);}
.brand_1 > div:nth-child(2) > .title {font-size: var(--font-80); font-weight: 500; max-width: 1090px; text-align: left; padding-left: min(10vw, 185px); padding-top: 30px;}
.brand_1 > div:nth-child(2) > img {width: 80%; margin-left: auto; display: block; margin-top: 12%; opacity: 0; transform: translateY(50%); transition: 1.5s ease-in-out;}
.brand_1 > div:nth-child(2) > img.is-inview {opacity: 1; transform: translateY(0);}
.brand_1_info {display: flex; margin-top: 8%;}
.brand_1_info > div {width: 50%;}
.brand_1_info > div:nth-child(1) {overflow: hidden; display: flex; align-items: flex-end; height: 30vw;}
.brand_1_info > div:nth-child(1) > img {width: 100%; height: 0; display: block; object-fit: cover; transform-origin: top; transition: 2.4s ease-in-out;}
.brand_1_info > div:nth-child(1).is-inview > img {height: 100%;}
.brand_1_info .desc {font-size: 17px; line-height: 20px; max-width: 420px; margin-top: 36px; margin-left: 20%;}
.brand_1_info .request_btn_wrap {margin-left: 20%; margin-top: 40px;}
.brand_2 {display: flex; align-items: center; padding-top: 6%; padding-bottom: 12%;}
.brand_2 > div:nth-child(1) {padding-left: min(10vw, 185px); max-width: calc(590px + 10%); width: 40%;}
.brand_2 > div:nth-child(1) > .title {font-size: var(--font-55); font-weight: 500; min-width: 580px;}
.brand_2 > div:nth-child(1) > .desc {font-size: 17px; margin-top: 30px; line-height: 20px;}
.brand_2 > div:nth-child(2) {width: fit-content; display: flex; align-items: center; position: relative; margin-left: auto; padding-left: 10%;}
.brand_2 > div:nth-child(2) > div:nth-child(2) {opacity: 0; transition: opacity 1s ease-in-out;}

@media only screen and (max-width: 1024px) {
    .brand_1 > div:nth-child(1) {display: none;}
    .brand_1 > div:nth-child(2) {width: 100%; padding-right: 0;}
    .brand_1 > div:nth-child(2) > .title {padding-left: 0;}
    .brand_1 > div:nth-child(2) > .sub_title {padding-left: 0;}
    .brand_1_info > div:nth-child(1) {min-width: 40vw; width: 40vw; height: 40vw;}
    .brand_1_info > div {width: 100%;}
    .brand_2 > div:nth-child(1) {padding-left: 0;}
    .brand_1_info .desc {margin-left: 45px;}
    .brand_1_info .request_btn_wrap {margin-left: 45px;}
}

@media only screen and (max-width: 700px) {
    .brand {padding-top: 0;}
    .brand h2 {font-size: 35px; text-align: left;}
    .brand_1 {flex-direction: column-reverse; padding-top: 50px;}
    .brand_1 > div:nth-child(1) {width: calc(100vw - 32px); height: calc(100vw - 32px); display: block;}
    .brand_2 > div:nth-child(1) > .title {max-width: 345px; min-width: 0;}
    .brand_2 > div:nth-child(1) > .desc {font-size: 14px; margin-top: 12px; line-height: 16px;}
    .brand_1 > div:nth-child(2) {width: 100%; padding-left: 0; padding-top: 0; padding-right: 0;}
    .brand_1 > div:nth-child(2) > .sub_title {font-size: 14px; padding-left: 0;}
    .brand_1 > div:nth-child(2) > .title {margin-left: 0; padding-left: 0; font-size: 28px; padding-top: 16px;}
    .brand_1 > div:nth-child(2) > .desc {margin-left: 0; padding-left: 0; font-size: 14px; margin-top: 12px; line-height: 16px;}
    .brand_1 > div:nth-child(2) > img {width: 100%; opacity: 1; transform: none;}
    .brand_1_info > div:nth-child(1) {width: calc(100vw - 32px); height: calc(100vw - 32px);}
    .brand_1_info {flex-direction: column;}
    .brand_1_info > img {width: 100%;}
    .brand_1_info > div {width: 100%;}
    .brand_1_info .desc {margin-left: 0; margin-top: 40px;}
    .brand_1_info .request_btn_wrap {margin: 24px 0 40px; max-width: 400px; width: 100%;}
    .brand_2 {flex-direction: column; align-items: flex-start; padding-top: 20px; padding-bottom: 30px;}
    .brand_2 > div:nth-child(1) {padding-left: 0; width: 100%; padding-top: 40px; padding-bottom: 30px; min-width: 0;}
    .brand_2 > div:nth-child(2) {margin: 0 auto; padding-left: 0;}
}

/* ------------------------------- IPOTEKA BUY ------------------------------- */

#ipoteka_buy {margin: 64px 0;}
.ipoteka_buy_wrap {padding: 0 150px;}
#ipoteka_buy h2 {font-size: var(--font-50); font-weight: 500; margin-bottom: 60px;}
.ipoteka_buy {display: flex;}
.ipoteka_buy > div {width: 60%; display: flex; flex-wrap: wrap;}
.ipoteka_buy > div > div {background: #EBEBEC; margin-right: 20px; margin-bottom: 20px; width: calc(50% - 20px); padding: 37px; display: flex; flex-direction: column;}
.ipoteka_buy > div > div:nth-last-child(-n+2) {margin-bottom: 0;}
.ipoteka_buy > div > div > .title {font-size: var(--font-22); font-weight: 500; margin-bottom: 10px;}
.ipoteka_buy > div > div > .desc {font-size: var(--font-17); margin-bottom: 32px;}
.ipoteka_buy > div > div > .number {font-size: var(--font-50); font-weight: 500; color: #FFFFFF; margin-top: auto; text-align: right;}
.ipoteka_buy > img {width: 40%; object-fit: cover;}

@media only screen and (max-width: 1300px) {
    .ipoteka_buy_wrap {padding: 0 64px;}
}

@media only screen and (max-width: 1024px) {
    .ipoteka_buy_wrap {padding: 0;}
    #ipoteka_buy {margin: 32px 0;}
    #ipoteka_buy h2 {font-size: 34px; margin-bottom: 40px;}
    .ipoteka_buy {flex-direction: column;}
    .ipoteka_buy > div {flex-direction: column; width: 100%;}
    .ipoteka_buy > div > div {margin-right: 0; width: 100%; padding: 20px;}
    .ipoteka_buy > div > div:nth-last-child(-n+2) {margin-bottom: 20px;}
    .ipoteka_buy > img {width: 100%; max-height: 400px;}
    .ipoteka_buy > div > div > .title {font-size: 22px;}
    .ipoteka_buy > div > div > .desc {font-size: 17px;}
    .ipoteka_buy > div > div > .number {font-size: 44px;}
}

/* ------------------------------- IPOTEKA CALCULATOR ------------------------------- */

#ipoteka_calculator {margin: 64px 0;}
.ipoteka_calculator {padding: 0 150px;}
#ipoteka_calculator h2 {font-size: var(--font-50); font-weight: 500; margin-bottom: 60px;}
#ipoteka_calculator iframe {width: 100%; min-height: 600px; height: 1377px; outline: 0; border: 0;}

@media only screen and (max-width: 1300px) {
    .ipoteka_calculator {padding: 0 64px;}
}

@media only screen and (max-width: 1024px) {
    .ipoteka_calculator {padding: 0;}
    #ipoteka_calculator {margin: 32px 0;}
    #ipoteka_calculator h2 {font-size: 34px; margin-bottom: 40px;}
}

/* ------------------------------- IPOTEKA CONSULTANT ------------------------------- */

#ipoteka_consultant {margin: 64px 0;}
.ipoteka_consultant {display: flex; padding: 0 150px;}
.ipoteka_consultant > img {width: 40%; margin-right: 20px; object-fit: cover;}
.ipoteka_consultant > div {width: 60%; display: flex; flex-direction: column; min-height: 100%;}
.ipoteka_consultant > div > p {font-size: var(--font-30); font-weight: 500; line-height: 90%; margin-bottom: 40px;}
.ipoteka_consultant > div > .request_btn_wrap {margin-bottom: 100px;}
.ipoteka_consultant > div > img {max-height: 600px; height: 50%; width: auto; margin-left: auto; margin-top: auto; object-fit: cover;}

@media only screen and (max-width: 1300px) {
    .ipoteka_consultant {padding: 0 64px;}
}

@media only screen and (max-width: 1024px) {
    #ipoteka_consultant {margin: 50px 0 32px;}
    .ipoteka_consultant {flex-direction: column; padding: 0;}
    .ipoteka_consultant > img {width: 100%; margin-right: 0; max-height: 400px; object-position: bottom;}
    .ipoteka_consultant > div {width: 100%; margin-top: 40px;}
    .ipoteka_consultant > div > p {font-size: 22px; max-width: 412px; margin-bottom: 30px;}
    .ipoteka_consultant > div > p > br {display: none;}
    .ipoteka_consultant > div > .request_btn_wrap {margin-bottom: 40px;}
    .ipoteka_consultant > div > img {width: 100%; max-height: 300px;}
}

/* ------------------------------- IPOTEKA HOW ------------------------------- */

#ipoteka_how {margin: 64px 0;}
.ipoteka_how {padding: 64px 150px; background: #EBEBEC; position: relative; display: flex;}
.ipoteka_how_head {width: 40%; display: flex; flex-direction: column;}
.ipoteka_how_head > h2 {font-size: var(--font-50); font-weight: 500; margin-bottom: 20px;}
.ipoteka_how_head > img {display: block; min-height: 50%; object-fit: cover; margin-top: auto;}
.ipoteka_how_items {width: 60%; margin-left: 20px; display: flex; flex-wrap: wrap; position: relative;}
.ipoteka_how_items_progress {display: none; width: 100%; position: absolute; left: 0; top: 144px; align-items: center; z-index: 2;}
.ipoteka_how_items_progress > div.active {background: #868686;}
.ipoteka_how_items_progress > div {background: #FFFFFF; width: 16.666667%; height: 2px; margin-right: 10px; transition: .3s ease-in-out;}
.ipoteka_how_items_progress > div:last-of-type {margin-right: 0;}
.ipoteka_how_items .item {
    width: calc(50% - 10px); margin-right: 20px; margin-bottom: 20px;
    padding: 40px 37px; background: #FFFFFF;
}
.ipoteka_how_items .item > .number {text-align: right; font-size: var(--font-22); font-weight: 500; color: #868686;}
.ipoteka_how_items .item > .title {font-size: var(--font-22); font-weight: 500; color: #232323; margin-top: 32px;}
.ipoteka_how_items .item > .desc {font-size: var(--font-17); color: #232323; margin-top: 10px;}
.ipoteka_how_items .item:nth-of-type(2n) {margin-right: 0;}
.ipoteka_how_items .item:nth-last-of-type(-n+2) {margin-bottom: 0;}

@media only screen and (max-width: 1300px) {
    .ipoteka_how {padding: 64px;}
}

@media only screen and (max-width: 1024px) {
    #ipoteka_how {overflow: hidden; margin: 32px 0;}
    .ipoteka_how {background: none; flex-direction: column; padding: 0;}
    .ipoteka_how_head {width: 100%;}
    .ipoteka_how_head > h2 {font-size: 34px; margin-bottom: 40px;}
    .ipoteka_how_head > img {display: none;}
    .ipoteka_how_items_progress {display: flex;}
    .ipoteka_how_items {padding: 80px 16px 40px; width: calc(100% + 32px); position: relative; left: -16px; background: #EBEBEC; margin-left: 0; display: block;}
    .ipoteka_how_items .item {width: 90%; min-height: 100%; margin-right: 10px; margin-bottom: 0; padding: 30px 20px;}
    .ipoteka_how_items .item:nth-of-type(2n) {margin-right: 10px;}
    .ipoteka_how_items .item > .number {font-size: 22px;}
    .ipoteka_how_items .item > .title {font-size: 22px;}
    .ipoteka_how_items .item > .desc {font-size: 17px; margin-top: 20px;}
}

/* ------------------------------- VILLAGES ------------------------------- */

#villages {background-color: #ffffff; padding-top: 8%; padding-bottom: 8%;}
#villages .wrap {height: 100%;}
.villages {overflow: hidden;}
.villages > .wrap > div {height: 100%; display: flex; flex-direction: column;}
.villages_head {display: flex; align-items: flex-end; margin-bottom: 60px;}
.villages_head > .request_btn_wrap {max-width: 250px; width: 100%;}
.villages > .wrap > div > .request_btn_wrap {display: none;}
.villages h2 {
    font-size: var(--font-80); font-weight: 500; opacity: 1; width: 100%;
    transition: 1s linear;
}
#villages.active .villages h2 {opacity: 0; margin-right: -50%;}
.villages .items {min-width: 100%; width: 100%; display: flex; overflow: hidden;}
.villages > .wrap > div {position: relative;}
.villages > .wrap > div > img {cursor: pointer; width: 48px; height: 48px; position: absolute; opacity: 0; transition: opacity .3s;}
.villages > .wrap > div:hover > img {opacity: 1;}
.villages > .wrap > div > img:nth-of-type(1) {left: -20px; top: calc(50% - 24px); z-index: 2; rotate: 180deg;}
.villages > .wrap > div > img:nth-of-type(2) {right: -20px; top: calc(50% - 24px); z-index: 2;}
.villages .item {width: calc(33.3% - 12px); margin-right: 20px; cursor: pointer; color: inherit; text-decoration: none;}
.villages .item:hover > .img > img {transform: scale(1.1);}
.villages .item > .img {overflow: hidden;}
.villages .item > .img > img {display: block; object-fit: cover; max-height: 560px; object-position: top; transition: .6s ease-in-out;}
.villages .item > .title {padding-top: 20px; font-size: var(--font-30); font-weight: 500; position: relative; width: fit-content;}
.villages .item > .title::after {content: ""; width: 100%; height: 2px; display: block; position: absolute; bottom: -2px; left: 0; background: #111111; opacity: 0; transition: .6s ease-in-out;}
.villages .item:hover > .title::after {opacity: 1;}
.villages .item > .desc {padding-top: 20px; font-size: 17px; line-height: 20px; max-width: 480px;}
.villages .item > .tags {display: flex; flex-wrap: wrap; padding-top: 20px; cursor: default;}
.villages .item > .tags > div {padding: 6px 10px; margin-right: 6px; margin-bottom: 6px; border: 1px solid #D9D9D9; font-size: 14px; transition: .3s ease-in-out;}
.villages .item > .tags > div:hover {background: #CCCCCC66;}

@media only screen and (max-height: 1024px) {
    .villages .item > img {max-height: 50vh;}
}

@media only screen and (max-width: 1024px) {
    .villages_head > .request_btn_wrap {display: none;}
    .villages > .wrap > div > .request_btn_wrap {display: block; width: 100%; margin-top: 20px;}
    #villages {height: 100%; padding-top: 50px; padding-bottom: 50px;}
    .villages {position: relative; height: 100%; padding-top: 0;}
    .villages > .wrap > div {flex-direction: column;}
    .villages h2 {width: 100%; font-size: 34px;}
    .villages h2 > span {display: inline-block;}
    .villages h2 br {display: none;}
    .villages .items {display: block; width: 100%; min-width: 0; padding-top: 40px; overflow: unset;}
    .villages .item {width: 90%; max-width: 400px; margin-right: 10px;}
    .villages .item > .title {font-size: 28px;}
    .villages .item > .desc {padding-top: 12px; font-size: 14px;}
    .villages .item > .tags > div {font-size: 12px; padding: 4px 6px;}
    .villages_head {margin-bottom: 0;}
    .flickity_villages_controls {display: none;}
    .villages > .wrap > div > img {display: none;}
}

/* ------------------------------- MEDIA ------------------------------- */

#media {background-color: #ffffff; padding-top: 8%; padding-bottom: 8%;}
.media h2 {font-size: var(--font-80); font-weight: 500;}
#flickity_media {display: flex; flex-wrap: wrap;}
#flickity_media .item {width: calc(50% - 20px); margin-right: 40px; margin-top: 60px; text-decoration: none; color: #111111;}
#flickity_media .item:nth-of-type(2n) {margin-right: 0;}
#flickity_media .item {display: flex; align-items: flex-start; cursor: pointer;}
#flickity_media .item > div:nth-child(1) {width: 50%; background: #EBEBEC; padding: 80px 20px; position: relative; transition: .3s ease-in-out;}
#flickity_media .item > div:nth-child(1) > img:first-of-type {height: 50px; margin: 0 auto; object-fit: contain;}
#flickity_media .item > div:nth-child(1) > img:last-of-type {position: absolute; right: 18px; bottom: 18px; width: 24px; opacity: 0; transition: .3s ease-in-out;}
#flickity_media .item > div:nth-child(1) > .comment {
    position: absolute; left: 18px; top: 18px; font-size: 12px; padding: 8px 13px;
    border: 1px solid #111111;
}
#flickity_media .item:hover div:nth-child(1) {background: #CCCCCC;}
#flickity_media .item:hover div:nth-child(1) > img:last-of-type {opacity: 1;}
#flickity_media .item > div:nth-child(2) {width: 50%; height: 100%; margin-left: 20px; display: flex; flex-direction: column;}
#flickity_media .item .title {font-size: 22px; font-weight: 500;}
#flickity_media .item .desc {font-size: 17px; margin-top: 12px;}
#flickity_media .item .author {display: flex; align-items: center; padding-top: 12px; margin-top: auto; font-size: 14px;}
#flickity_media .item .author > img {width: 36px; margin-right: 16px; border-radius: 50%;}

@media only screen and (max-width: 1024px) {
    #media {overflow: hidden; padding-top: 50px; padding-bottom: 50px;}
    #flickity_media {display: block;}
    #flickity_media .item {flex-direction: column; width: 90%; max-width: 400px; margin-right: 10px; margin-top: 40px;}
    #flickity_media .item > div:nth-child(1) {width: 100%; padding: 60px 20px;}
    #flickity_media .item > div:nth-child(2) {margin-left: 0; margin-top: 20px; width: 100%;}
    #flickity_media .item:nth-of-type(2n) {margin-right: 10px;}
    #flickity_media .item .title {font-size: 20px;}
}

/* ------------------------------- VILLAGES ------------------------------- */

#map {background: #CCCCCC; overflow: hidden; min-height: 800px;}
.map {height: 100vh; min-height: 700px; padding-top: 80px; position: relative;}
.map > h2 {font-size: var(--font-80); font-weight: 500; margin-bottom: 50px;}
.map > svg {position: absolute; right: -10%; bottom: 0; width: 70%; height: 100%; object-fit: cover;}
.map > svg.mobile {display: none;}
.highwood_point, .bayside_point, .lakeside_point, .woodside_point {fill: #FFFFFF; cursor: pointer; transition: .3s ease-in-out;}
.highwood_point.text, .bayside_point.text, .lakeside_point.text, .woodside_point.text {opacity: 0; transition: .3s ease-in-out;}
.highwood_point.active, .bayside_point.active, .lakeside_point.active, .woodside_point.active {fill: #0C0C54;}
.highwood_point.text.active, .bayside_point.text.active, .lakeside_point.text.active, .woodside_point.text.active {opacity: 1;}
#flickity_map_villages {position: absolute; top: calc((80px + (var(--font-80) * 2 * 0.9) + 50px) + (100vh - 80px + (var(--font-80) * 0.9) + 50px) / 2 - 300px); left: 10%;}
#flickity_map_villages > img:nth-child(1) {display: none;}
#flickity_map_villages > img:nth-child(2) {display: none;}
.map .map_village {display: flex; align-items: flex-start; margin-top: 40px; cursor: pointer;}
.map .map_village:first-of-type {margin-top: 0;}
.map .map_village > svg {min-width: 48px; width: 48px; height: 48px; padding: 0 6px; margin-right: 22px; color: #FFFFFF; transition: .3s ease-in-out;}
.map .map_village > div > p:nth-child(1) {font-size: var(--font-22); font-weight: 500; white-space: nowrap; transition: .3s ease-in-out;}
.map .map_village > div > p:nth-child(2) {font-size: 17px; padding-top: 6px; transition: .3s ease-in-out;}
.map .map_village > div > p:nth-child(2) > br {display: none;}
.map .map_village.active > svg {color: #0C0C54;}
.map .map_village.active > div > p:nth-child(1) {color: #0C0C54;}
.map .map_village.active > div > p:nth-child(2) {color: #0C0C54;}

.img_bayside_point, .img_highwood_point, .img_lakeside_point, .img_woodside_point {
    max-width: 250px; max-height: 250px; width: 13vw; height: 13vw; min-width: 100px; min-height: 100px; border-radius: 50%; transition: opacity .3s ease-in-out; opacity: 0; pointer-events: none;
    position: absolute; top: -100px; z-index: 2; transform: translateY(calc(-50% + 11px)) translateX(-100%);
}
.img_bayside_point.active, .img_highwood_point.active, .img_lakeside_point.active, .img_woodside_point.active {opacity: 1; top: 50%;}

@media only screen and (max-height: 800px) {
    #flickity_map_villages {top: calc(200px + (var(--font-80) * 2 * 0.9));}
}


@media only screen and (max-width: 1400px) {
    .map > svg {right: -15%; min-width: 920px;}
}

@media only screen and (max-width: 1200px) {
    #flickity_map_villages {left: 0; right: -23%;}
}

@media only screen and (max-width: 1024px) {
    #map {min-height: 0;}
    .map {padding: 50px 0; display: flex; flex-direction: column; min-height: 760px;}
    .map > h2 {font-size: 33px; margin-bottom: auto; position: relative;}
    #flickity_map_villages {display: block; z-index: 2; position: relative; top: 0; left: 0;}
    #flickity_map_villages > img:nth-child(1) {display: block; position: absolute; width: 24px; left: calc(50% - 24px); top: -48px;}
    #flickity_map_villages > img:nth-child(2) {display: block; position: absolute; width: 24px; left: 50%; top: -48px;}
    .map > svg {width: 100vw; z-index: 1; left: -16px; top: -20vw; display: none; min-width: 0;}
    .map > svg.mobile {display: block; max-width: 400px; right: -16px; left: auto;}
    .map .map_village {
        min-width: calc(50% - 5px); width: calc(50% - 5px); flex-direction: column; margin-left: 0; margin-top: 0; margin-right: 10px;
        padding: 22px 20px; border: 1px solid #FFFFFF; min-height: 100%; transition: background .3s ease-in-out;
    }
    .map .map_village > svg {min-width: 24px; width: 24px; height: 24px; padding: 0 3px; margin-right: 0;}
    .map .map_village > div > p:nth-child(1) {font-size: 22px; margin-top: 20px; white-space: unset;}
    .map .map_village > div > p:nth-child(2) {font-size: 14px;}
    .map .map_village > div > p:nth-child(2) > br {display: unset;}
    .map .map_village.active {background: #FFFFFF;}
    .img_bayside_point, .img_highwood_point, .img_lakeside_point, .img_woodside_point {width: 68px; height: 68px; min-width: 68px; min-height: 68px; transform: none;}
}

/* ------------------------------- REQUEST ------------------------------- */

#request {background: #F3F3F3; position: relative; overflow: hidden;}
#request.philosophy {margin-bottom: 30px;}
#request > video {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1;}
.request {position: relative; height: calc(100vh - 70px); margin-top: 70px; display: flex; align-items: center; z-index: 2;}
#modal .request {height: 100vh; margin-top: 0;}
.request h2 {font-size: 34px; font-weight: 500; margin-bottom: 20px; text-align: center;}
.request p {max-width: 560px; margin: 0 auto; text-align: center; font-size: 17px; }

.request_form {max-width: 1080px; width: 100%; min-height: 560px; margin: 0 auto; padding: 92px 150px; background: #FFFFFF; display: none; position: relative;}
.request_form.active {display: block;}
.request_form.success.active {display: flex;}
.request_form.success {
    flex-direction: column; align-items: center; -webkit-justify-content: center;
    background: url(/images/backgrounds/request.svg) center / cover no-repeat;
}
.request_form.success h2 {margin-bottom: 30px;}
.request_inputs {display: flex; margin-top: 60px;}
.request_input {
    width: 100%; padding: 16px 20px; border-bottom: 1px solid #868686; background: transparent; color: #111111;
    font-size: 17px; margin-right: 20px; text-align: center;
}
.request_input:last-child {margin-right: 0;}
.request_input::placeholder {color: #868686; opacity: 1; transition: .3s ease-in-out;}
.request_input:focus::placeholder {opacity: 0;}
.request_list {
    box-shadow: 0px 4px 20.7px 0px rgba(47, 47, 47, 0.14); background: #FFFFFF; padding: 12px 0; opacity: 0;
    visibility: hidden; transition: .3s ease-in-out; position: fixed; max-height: 180px; overflow-y: auto;
}
.request_list > div {padding: 12px; font-size: 14px; transition: .3s ease-in-out; cursor: pointer;}
.request_list > div:hover {background: #CCCCCC66;}
.request_list.active {opacity: 1; visibility: visible;}

.request_form .request_btn_wrap {margin: 40px auto 0; max-width: 280px;}

.request_btn_wrap {max-width: 400px; height: 56px; width: unset; vertical-align: top; position: relative;}
.request_btn {
    border-radius: 0; background: #111111; padding: 0 20px; transition: .3s ease-in-out; text-decoration: none; text-transform: uppercase; transform-origin: center;
    font-size: var(--font-17); font-weight: 300; color: #FFFFFF; display: flex; align-items: center; -webkit-justify-content: center; cursor: pointer; white-space: nowrap;
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; min-width: fit-content;
}
.request_btn:hover {height: 65px; top: -4.5px;}
.request_btn.light {background: #FFFFFF;}
.request_btn.light {background: #FFFFFF; color: #111111;}
.request_btn.border {border: 1px solid #111111;}
.request_hint {
    color: #111111; font-size: 12px; text-align: center; max-width: 365px;
    position: absolute; bottom: 90px; left: 50%; transform: translateX(-50%);
}
.request_hint > a {color: #111111;}

#for_partners_request .request_form {padding: 40px 30px 100px;}
#for_partners_request .request {height: calc(100vh - 40px); margin-top: 40px;}
#for_partners_request .request h2 {margin-bottom: 40px;}
#for_partners_request .request h2 > br {display: none;}
#for_partners_request .request_form {max-width: 500px;}
#for_partners_request .request_inputs {flex-direction: column;}
#for_partners_request .request_input {margin-right: 0; margin-bottom: 30px;}
#for_partners_request .request_form .request_btn_wrap {margin: 0 auto;}
#for_partners_request .request_btn {font-size: 14px; height: 50px;}
#for_partners_request .request_btn:hover {height: 56px; top: -3px;}
#for_partners_request .request_hint {font-size: 12px; bottom: 40px; width: 100%; max-width: 235px;}
#for_partners_request .request_hint > br {display: none;}

@media only screen and (max-height: 1000px) {
    .request_form {padding: 70px 120px; min-height: 500px;}
    .request_hint {bottom: 70px;}
}

@media only screen and (max-width: 1024px) {
    #request.philosophy {margin-bottom: 0;}
    .request_form {padding: 40px 30px 100px;}
    .request {height: calc(100vh - 40px); margin-top: 40px; margin-bottom: 40px;}
    .request h2 {margin-bottom: 40px;}
    .request h2 > br {display: none;}
    .request_form {max-width: 100%;}
    .request_inputs {flex-direction: column;}
    .request_input {margin-right: 0; margin-bottom: 30px;}
    .request_form .request_btn_wrap {margin: 0 auto;}
    .request_btn_wrap {height: 50px; max-width: 600px;}
    .request_btn {font-size: 14px; height: 50px;}
    .request_btn:hover {height: 56px; top: -3px;}
    .request_hint {font-size: 12px; bottom: 40px; width: 100%; max-width: 235px;}
    .request_hint > br {display: none;}
}


/* ------------------------------- PRIVACY ------------------------------- */

.privacy {background: #FFFFFF; font-size: 17px; line-height: 20px; padding: 140px 0;}
.privacy h1 {font-size: var(--font-100); font-weight: 500; margin-left: 150px;}
.privacy p {line-height: 20px;}
.privacy .desc {font-size: var(--font-30); font-weight: 500; margin-top: 30px; max-width: 800px; margin-left: 150px;}
.privacy .sub_title {margin-top: 2rem; margin-bottom: .5rem;}
.privacy .privacy_info {max-width: 1230px; margin: 90px auto 0 150px;}
.privacy a {color: #111111;}
.privacy ul {list-style: disc; line-height: 20px;}
.privacy ul > li {list-style: disc; margin-inline-start: 20px;}

@media only screen and (max-width: 1600px) {
    .privacy h1 {margin-top: 0;}
    .privacy .desc {margin-top: 0;}
}

@media only screen and (max-width: 1024px) {
    .privacy {padding: 100px 0;}
    .privacy h1 {font-size: 34px; margin-left: 0;}
    .privacy .desc {margin-top: 12px; margin-left: 0;}
    .privacy .privacy_info {margin: 40px 0 0;}
}

/* ------------------------------- CONTACTS MAIN ------------------------------- */

#contacts_main {padding: 80px 0;}
#contacts_main h1 {font-size: var(--font-80); line-height: 90%; font-weight: 500;}
#contacts_main .contacts_main {padding: 80px 64px 0;}
#contacts_main .contacts_main > h2 {font-size: var(--font-50); font-weight: 500; line-height: 100%;}
#contacts_main .contacts_main > h2 > br {display: none;}
#contacts_main .contacts_main > p {font-size: var(--font-20); margin-top: 30px;}
#contacts_main .contacts_main > .contacts_main_info {margin-top: 70px; display: flex;}
#contacts_main .contacts_main > .contacts_main_info > div {width: 21%; margin-right: 20px;}
#contacts_main .contacts_main > .contacts_main_info > div:nth-child(1) {width: 37%;}
#contacts_main .contacts_main > .contacts_main_info > div > .title {font-size: var(--font-17); font-weight: 500; color: #868686; text-transform: uppercase; white-space: nowrap;}
#contacts_main .contacts_main > .contacts_main_info > div > .desc {font-size: var(--font-20); display: block; margin-top: 10px; color: #111111;}
#contacts_main .contacts_main > .contacts_main_info > div > a {
    font-size: var(--font-20); display: block; margin-top: 10px; color: #111111;
    leading-trim: NONE; text-decoration: underline; text-decoration-style: solid;
    text-decoration-offset: 0%; text-decoration-thickness: 0; text-decoration-skip-ink: auto;
}
#contacts_main .contacts_main > .btn_group {margin-top: 70px; display: flex;}
#contacts_main .contacts_main > .btn_group > .request_btn_wrap {width: 100%; margin-right: 20px; max-width: 295px;}
#contacts_main .contacts_main > .btn_group > .request_btn_wrap:nth-of-type(2) > .request_btn {border: 1px solid #111111;}
#contacts_main .contacts_main > .btn_group > .request_btn_wrap:nth-of-type(2) > .request_btn > svg {margin-left: 10px;}
#contacts_main .contacts_main > iframe {width: 100%; height: 560px; margin-top: 70px;}

@media only screen and (max-width: 1024px) {
    #contacts_main {padding: 60px 0;}
    #contacts_main h1 {font-size: 44px;}
    #contacts_main .contacts_main {padding: 60px 0 0;}
    #contacts_main .contacts_main > h2 {font-size: 28px;}
    #contacts_main .contacts_main > h2 > br {display: unset;}
    #contacts_main .contacts_main > p {font-size: 17px; margin-top: 16px;}
    #contacts_main .contacts_main > p > br {display: none;}
    #contacts_main .contacts_main > .contacts_main_info {margin-top: 40px; flex-direction: column;}
    #contacts_main .contacts_main > .contacts_main_info > div {margin-right: 0; width: 100%; margin-bottom: 40px;}
    #contacts_main .contacts_main > .contacts_main_info > div:nth-child(1) {width: 100%;}
    #contacts_main .contacts_main > .contacts_main_info > div > .title {font-size: 14px;}
    #contacts_main .contacts_main > .contacts_main_info > div > .desc {font-size: 17px;}
    #contacts_main .contacts_main > .contacts_main_info > div > a {font-size: 17px;}
    #contacts_main .contacts_main > .btn_group {margin-top: 0; flex-direction: column; max-width: 500px;}
    #contacts_main .contacts_main > .btn_group > .request_btn_wrap {max-width: 500px; margin-bottom: 20px; margin-right: 0;}
    #contacts_main .contacts_main > .btn_group > .request_btn_wrap:last-child {margin-bottom: 0;}
    #contacts_main .contacts_main > iframe {margin-top: 40px;}
}

/* ------------------------------- CONTACTS STEP ------------------------------- */

#contacts_step {padding-bottom: 360px;}
.contacts_step {background: #111111; color: #FFFFFF; padding: 64px; position: relative;}
.contacts_step > h2 {font-size: var(--font-50); font-weight: 500;}
.contacts_step > p {font-size: var(--font-20); margin-top: 30px;}
.contacts_step > img {position: absolute; left: 64px; bottom: -250px; width: 30%; max-width: 610px; min-height: 600px; object-fit: cover;}
.contacts_step > .contacts_step_main {margin-left: auto; width: calc(70% - 150px); margin-top: 150px;}
.contacts_step > .contacts_step_main > p {font-size: var(--font-50); font-weight: 500;}
.contacts_step > .contacts_step_main > p > span {color: #868686;}
.contacts_step > .contacts_step_main > .btn_group {display: flex; margin-top: 70px;}
.contacts_step > .contacts_step_main > .btn_group > .request_btn_wrap {max-width: 300px; width: 100%; margin-right: 20px;}
.contacts_step > .contacts_step_main > .btn_group > .request_btn_wrap:last-child {margin-right: 0;}
.contacts_step > .contacts_step_main > .btn_group > .request_btn_wrap:last-child > .request_btn {border: 1px solid #FFFFFF;}

@media only screen and (max-width: 1200px) {
    .contacts_step > .contacts_step_main {width: calc(70% - 60px);}
}

@media only screen and (max-width: 1024px) {
    #contacts_step {padding-bottom: 0;}
    #contacts_step > .wrap {padding: 0;}
    .contacts_step {padding: 40px 16px;}
    .contacts_step > h2 {font-size: 28px;}
    .contacts_step > p {margin-top: 16px; font-size: 17px;}
    .contacts_step > img {position: relative; left: 0; bottom: 0; width: 100%; min-height: 0; max-width: 500px; margin-top: 30px; display: block;}
    .contacts_step > .contacts_step_main {width: 100%; margin-top: 30px;}
    .contacts_step > .contacts_step_main > p {font-size: 17px; max-width: 500px;}
    .contacts_step > .contacts_step_main > p br {display: none;}
    .contacts_step > .contacts_step_main > .btn_group {margin-top: 30px; flex-direction: column;}
    .contacts_step > .contacts_step_main > .btn_group > .request_btn_wrap {margin-right: 0; max-width: 500px;}
    .contacts_step > .contacts_step_main > .btn_group > .request_btn_wrap:last-child {margin-top: 10px;}
}

/* ------------------------------- CONTACTS ------------------------------- */

#contacts {background: #FFFFFF; overflow: hidden; margin-top: 8%; margin-bottom: 8%;}
#contacts.highwood {margin-top: var(--margin-block); margin-bottom: var(--margin-block);}
#contacts.woodside {margin-top: var(--margin-block); margin-bottom: var(--margin-block);}
#contacts.bayside {margin-top: var(--margin-block); margin-bottom: var(--margin-block);}
#contacts.lakeside {margin-top: var(--margin-block); margin-bottom: var(--margin-block);}
.contacts {display: flex; gap: 20px; padding: 0 var(--padding-in);}
.contacts > div:nth-child(1) {padding-bottom: 160px; position: relative; width: 40%; margin: 8% 0;}
#contacts.highwood .contacts > div:nth-child(1), #contacts.woodside .contacts > div:nth-child(1),
#contacts.bayside .contacts > div:nth-child(1), #contacts.lakeside .contacts > div:nth-child(1) {margin: 70px 0;}
.contacts > div:nth-child(1) > h2 {font-size: var(--font-100); font-weight: 500; margin-bottom: 40px;}
.contacts > div:nth-child(1) > .contacts_item {margin-top: 40px;}
.contacts > div:nth-child(1) > .contacts_item > div:nth-child(1) {font-size: 17px; font-weight: 500; color: #868686; text-transform: uppercase;}
.contacts > div:nth-child(1) > .contacts_item > div:nth-child(2) {font-size: var(--font-22); margin-top: 10px;}
.contacts > div:nth-child(1) > .contacts_item > a {
    font-size: var(--font-22); margin-top: 10px; text-decoration: none; color: #111111; display: block;
    cursor: pointer; position: relative; width: fit-content; border-bottom: 1px solid transparent;
}
.contacts > div:nth-child(1) > .contacts_item > a::after {
    content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px;
    background: #111111; opacity: 0; transition: 0.3s;
}
.contacts > div:nth-child(1) > .contacts_item > a:hover::after {opacity: 1;}
.contacts > div:nth-child(1) > .contacts_item > a.route {margin-top: 20px;}
.contacts > div:nth-child(1) > .contacts_item > a.route::after {opacity: 1;}
.contacts > div:nth-child(1) > .request_btn_wrap {margin-top: 40px;}
.contacts > div:nth-child(2) {width: 60%; min-height: 100%;}
.contacts > div:nth-child(2) > iframe {height: 100%; width: 100%; display: block;}

@media only screen and (max-width: 1300px) {
    .contacts > div:nth-child(1) {padding-bottom: 0; padding-top: 0; margin: 0;}
}

@media only screen and (max-width: 1024px) {
    #contacts.highwood {margin-bottom: 0;}
    #contacts.woodside {margin-bottom: 0;}
    #contacts.bayside {margin-bottom: 0;}
    #contacts.lakeside {margin-bottom: 0;}
    #contacts.highwood .contacts {padding: 0;}
    #contacts.woodside .contacts {padding: 0;}
    #contacts.bayside .contacts {padding: 0;}
    #contacts.lakeside .contacts {padding: 0;}
    #contacts {margin-bottom: 0; margin-top: 0;}
    #contacts.highwood .contacts > div:nth-child(1), #contacts.woodside .contacts > div:nth-child(1),
    #contacts.bayside .contacts > div:nth-child(1), #contacts.lakeside .contacts > div:nth-child(1) {margin: 0;}
    .contacts {flex-direction: column; padding: 68px 0 0; height: 100%;}
    .contacts > div {width: 100%;}
    .contacts > div:nth-child(1) {width: 100%; padding-left: 0; padding-bottom: 0; margin: 0;}
    .contacts > div:nth-child(1) > h2 {font-size: 34px; margin-bottom: 40px;}
    .contacts > div:nth-child(1) > .contacts_item {margin-top: 30px;}
    .contacts > div:nth-child(1) > .contacts_item > div:nth-child(1) {font-size: 14px;}
    .contacts > div:nth-child(1) > .contacts_item > div:nth-child(2) {font-size: 17px; margin-top: 4px;}
    .contacts > div:nth-child(1) > .contacts_item > a.route {margin-top: 8px;}
    .contacts > div:nth-child(1) > .contacts_item > a {font-size: 17px; margin-top: 4px;}
    .contacts > div:nth-child(1) > .contacts_item {margin-top: 30px;}
    .contacts > div:nth-child(1) > .request_btn_wrap {margin-top: 30px;}
    .contacts > div:nth-child(2) {width: 100%; margin-top: 40px; height: 100%;}
    .contacts > div:nth-child(2) > iframe {height: 100%; width: calc(100% + 32px); min-height: 420px; position: relative; left: -16px;}
    .contacts > div:nth-child(1) > .contacts_item > a::after {opacity: 1;}
}

/* ------------------------------- FOOTER ------------------------------- */

#footer_desktop.portfolio {margin-top: 8%;}
.footer_desktop {display: flex;}
.footer_desktop_contacts {width: 33.333%; background: #111111; padding: 60px 40px; display: flex; flex-direction: column; margin-right: 20px;}
.footer_desktop_contacts .footer_contacts {align-items: flex-start;}
.footer_desktop_contacts .footer_contacts .phone {font-size: var(--font-50);}
.footer_desktop_contacts .footer_contacts .contacts_row {flex-wrap: wrap; gap: 12px;}
.footer_desktop_contacts .footer_contacts .address {white-space: nowrap; font-size: var(--font-17);}
.footer_desktop_contacts .footer_contacts .mail {font-size: var(--font-17);}
.footer_desktop_contacts .footer_contacts .social_row {display: flex; align-items: center; gap: 12px; margin-top: 18px;}
.footer_desktop_contacts .footer_contacts .social_row > span {color: #FFFFFF; font-size: 17px;}
.footer_desktop_contacts .footer_logo {margin-top: auto;}
.footer_desktop_info {width: 66.666%;}
.footer_desktop_info {display: flex; flex-direction: column;}
.footer_desktop_info > div {background: #EBEBEC; padding: 60px 40px;}
.footer_desktop_info > div:nth-child(1) {display: flex; justify-content: space-between;}
.footer_desktop_info > div .links:nth-of-type(3) {width: 120px;}
.footer_desktop_info > div .links:first-of-type {padding-left: 0;}
.footer_desktop_info > div .links:last-of-type {padding-right: 0;}
.footer_desktop_info > div .links {display: flex; flex-direction: column; gap: 8px; width: fit-content; padding: 0 5px;}
.footer_desktop_info > div .links .title {font-size: var(--font-17); font-weight: 500; color: #111111; text-transform: none; margin-bottom: 4px;}
.footer_desktop_info > div .links .link {display: block; width: fit-content;}
.footer_desktop_info > div .links a {
    font-size: max(12px, min(17px, 1.1vw)); color: #111111; text-decoration: none; transition: 0.3s;
    display: inline; width: fit-content; position: relative; border-bottom: 1px solid transparent;
}
.footer_desktop_info > div .links a:hover {border-bottom: 1px solid #111111;}
.footer_desktop_info > div:nth-child(2) {margin-top: 20px; display: flex; align-items: center; position: relative;}
.footer_desktop_info > div:nth-child(2) > p {font-size: var(--font-17); color: #868686; margin-right: auto;}
.footer_desktop_info > div:nth-child(2) > .links {position: absolute; left: calc(50% - 60px); display: flex; flex-direction: row; flex-wrap: wrap; column-gap: 24px;}
.footer_desktop_info > div:nth-child(2) > .links > .title {width: 100%;}
.footer_desktop_bottom {display: flex; -webkit-justify-content: space-between; padding: 30px 0; width: 100%; color: #868686; font-size: var(--font-17); font-weight: 300;}
.footer_desktop_bottom > a {color: #868686; text-decoration: none;}

#footer_mobile {background: #111111; color: #FFFFFF; font-weight: 300; display: none;}
.footer {display: flex; flex-direction: column; padding: 48px 0 27px;}

.footer_top {display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 30px;}
.footer_logo {display: flex; flex-direction: column; gap: 8px;}
.footer_logo img {max-width: 235px; width: 100%; filter: brightness(0) invert(1);}
.footer_logo .logo_desc {font-size: 14px; color: #FFFFFF; margin-top: 4px;}

.footer_contacts {display: flex; flex-direction: column; align-items: flex-end; gap: 12px;}
.footer_contacts .phone {font-size: 48px; font-weight: 500; text-decoration: none; color: #FFFFFF;}
.footer_contacts .contacts_row {display: flex; gap: 24px; align-items: center;}
.footer_contacts .social_row {display: flex; align-items: center; gap: 12px; margin-top: 0;}
.footer_contacts .social_row > span {color: #FFFFFF; font-size: 17px;}
.footer_contacts .mail, .footer_contacts .address {font-size: 17px; color: #FFFFFF; text-decoration: none; position: relative;}
.footer_contacts .mail::after {content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px; background: #FFFFFF;}
.footer_contacts .ask_question {display: flex; align-items: center; gap: 8px; font-size: 17px; color: #FFFFFF; text-decoration: none;}

.footer_middle {display: flex; justify-content: space-between; padding: 30px 0; border-top: 1px solid #333; border-bottom: 1px solid #333;}
.footer_middle .links {display: flex; flex-direction: column; gap: 12px; width: fit-content;}
.footer_middle .links .title {font-size: 17px; font-weight: 500; color: #868686; text-transform: none; margin-bottom: 8px;}
.footer_middle .links a {font-size: var(--font-17); color: #FFFFFF; text-decoration: none; transition: 0.3s; width: fit-content; position: relative;}
.footer_middle .links a::after {
    content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px;
    background: #FFFFFF; opacity: 0; transition: 0.3s;
}
.footer_middle .links a:hover {color: #FFFFFF;}
.footer_middle .links a:hover::after {opacity: 1;}
.footer_middle .contacts_row {display: none;}
.footer_middle .links.mobile {display: none;}

.footer_oferta {text-align: center; color: #868686; font-size: 17px; margin-top: 30px;}
.footer_oferta.mobile {display: none;}

.footer_bottom {display: flex; justify-content: space-between; align-items: center; margin-top: 30px; font-size: 17px; color: #868686;}
.footer_bottom .footer_privacy {color: #868686; text-decoration: none; position: relative;}
.footer_bottom .footer_privacy::after {content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px; background: #868686;}
.footer_bottom .footer_logo_bottom {display: none;}
.footer_bottom .footer_info {display: flex; justify-content: space-between; width: 66.6%;}
.footer_bottom .copyright {width: 50%; text-align: center;}
.footer_bottom .all_rights {width: 50%; text-align: right;}

@media only screen and (max-width: 1400px) {
    .footer_desktop_contacts {padding: 50px 30px;}
    .footer_desktop_info > div {padding: 50px 20px;}
    .footer_desktop_bottom {padding: 20px 0;}
    .footer_desktop_info > div .links:nth-of-type(3) {width: 86px; min-width: 86px;}
    .footer_desktop_info > div:nth-child(2) > .links {left: calc(50% + 43px); column-gap: 12px;}
}

@media only screen and (max-width: 1200px) {
    .footer_middle .links {gap: 6px;}
    .footer_middle .links .title {margin-bottom: 6px;}
    .footer_desktop_contacts {padding: 50px 20px;}
    .footer_desktop_info > div {padding: 50px 10px;}
    .footer_desktop_info > div .links:nth-of-type(3) {width: auto; min-width: 0;}
    .footer_desktop_info > div:nth-child(2) > p {max-width: 200px;}
    .footer_desktop_info > div:nth-child(2) > p br {display: none;}
    .footer_desktop_info > div:nth-child(2) > .links {position: relative; left: 0; max-width: 340px;}
}

@media only screen and (max-width: 1024px) {
    #footer_desktop {display: none;}
    #footer_mobile {display: block;}
    .footer {padding: 40px 0 20px;}
    .footer_top {flex-direction: column; align-items: center; text-align: center; gap: 40px; margin-bottom: 30px;}
    .footer_logo {display: none;}
    .footer_contacts {align-items: center; gap: 30px;}
    .footer_contacts .phone {font-size: 34px;}
    .footer_contacts .ask_question {margin-top: 0; position: relative;}
    .footer_contacts .ask_question::after {content: ""; position: absolute; left: 28px; bottom: -2px; width: calc(100% - 28px); height: 1px; background: #FFFFFF;}
    .footer_contacts .contacts_row {display: none;}
    .footer_contacts .mail::after {bottom: -2px;}
    .footer_contacts .address::after {content: none;}
    .footer_middle {padding: 0; border-bottom: none; border-top: none; flex-direction: column; gap: 50px; margin-bottom: 50px; font-weight: 300;}
    .footer_middle .links {width: 100%; text-align: center; align-items: center; display: none; order: 2;}
    .footer_middle .links.mobile {display: flex; flex-wrap: wrap; flex-direction: row; align-items: flex-start; gap: 40px; max-width: 330px; margin: 0 auto;}
    .footer_middle .links.mobile > div {width: calc(50% - 20px); display: flex; flex-direction: column; gap: 24px;}
    .footer_middle .links.mobile a {text-align: left; margin: 0;}
    .footer_middle .links .title {display: none;}
    .footer_middle .links a {font-size: 17px; margin: 0 auto; width: auto;}
    .footer_middle .links a::after {display: none;}
    .footer_middle .contacts_row {display: flex; flex-direction: column; gap: 12px; text-align: center; align-items: center; order: 1;}
    .footer_middle .contacts_row > a {color: #FFFFFF; font-size: 17px; text-decoration: none;}
    .footer_middle .mail {position: relative; width: fit-content;}
    .footer_middle .mail::after {content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px; background: #FFFFFF;}
    .footer_bottom {flex-direction: column; gap: 30px; text-align: center; margin-top: 0; align-items: center; color: #CCCCCC66;}
    .footer_bottom .footer_privacy {order: 1; font-size: 14px; opacity: 0.5;}
    .footer_bottom .footer_logo_bottom {display: flex; flex-direction: column; align-items: center; gap: 12px; order: 2; width: 100%; max-width: 340px; margin-top: 20px;}
    .footer_bottom .footer_logo_bottom img {max-width: 340px; width: 100%; filter: brightness(0) invert(1); opacity: 0.2;}
    .footer_bottom .footer_logo_bottom p {font-size: 20px; color: #868686; opacity: 0.5;}
    .footer_bottom .footer_info {order: 3; flex-direction: row; width: 100%; gap: 16px; justify-content: space-between; font-size: 14px;}
    .footer_bottom .copyright {width: auto; text-align: left;}
    .footer_bottom .all_rights {width: auto; text-align: right;}
    .footer_oferta {font-size: 12px; color: #CCCCCC66; display: none;}
    .footer_oferta.mobile {display: block; order: 3; margin-top: 0;}
}

/* ------------------------------- STUB ------------------------------- */

#stub {background: #cccccc;}
.stub {height: 100vh; min-height: 100vh; background: #CCCCCC; position: relative;}
.stub h1 {font-size: var(--font-140); font-weight: 500; line-height: 0.85; margin-left: 8%; margin-top: 8%; position: relative; z-index: 2;}
.stub .desc {margin-left: calc(14% + 10vw); max-width: 650px; margin-top: 4%; font-size: var(--font-30); line-height: var(--font-30); position: relative; z-index: 2;}
.stub .sub_desc {margin-left: calc(14% + 10vw); margin-top: 4%; font-size: var(--font-55); font-weight: 500; padding-top: 4%; border-top: 2px solid #868686; position: relative; z-index: 2;}

.stub_1 {position: absolute; top: 0; left: 50%; width: 10vw;}
.stub_2 {position: absolute; top: calc(var(--font-140) * 0.85 * 2); right: 10vw; width: 10vw;}
.stub_3 {position: absolute; top: calc(var(--font-140) * 0.85 * 2 + 120px); left: 12%; width: 10vw;}
.stub_4 {position: absolute; bottom: 200px; left: 55%; width: 11vw;}

@media only screen and (max-width: 1024px) {
    .stub h1 {margin-left: 0; font-size: 40px; margin-top: 80px;}
    .stub {height: 100vh; min-height: 100vh;}
    .stub .desc {margin-left: 0; font-size: 17px; line-height: 20px; margin-top: 30px;}
    .stub .sub_desc {margin-left: 0; margin-top: 60px; padding-top: 60px; font-size: 34px;}

    .stub_1 {position: absolute; top: 0; right: 16px; left: auto; width: 82px;}
    .stub_2 {position: absolute; top: calc(var(--font-140) * 0.85 * 3 + 200px); left: 46px; right: auto; width: 76px;}
    .stub_3 {position: absolute; top: calc(var(--font-140) * 0.85 * 2); left: 46px; width: 87px;}
    .stub_4 {position: absolute; bottom: 110px; left: auto; right: 32px; width: 100px;}
}

/* ------------------------------- PORTFOLIO HEADER ------------------------------- */

#portfolio_header {padding: 80px 0 50px;}
#portfolio_header.custom {padding: 80px 0 0;}
.portfolio_header > div:nth-child(1) {display: flex;}
.portfolio_header h1 {font-size: var(--font-80); line-height: 100%; font-weight: 500;}
.portfolio_header .sub_title {font-size: var(--font-50); font-weight: 500; margin-top: 40px; line-height: 100%;}
.portfolio_header > div:nth-child(1) > div:nth-child(2) {font-size: var(--font-20); width: fit-content; max-width: 50%; white-space: nowrap; margin-left: auto; margin-top: auto; height: fit-content;}
.portfolio_header.main > div:nth-child(1) > div:nth-child(2) {margin-right: 8%;}
.portfolio_header .request_btn_wrap {margin: 40px 0 0;}
.portfolio_header img {margin-top: 50px; display: block;}

@media only screen and (max-width: 1024px) {
    #portfolio_header {padding: 30px 0 40px;}
    #portfolio_header.custom {padding: 30px 0 0;}
    .portfolio_header img {margin-top: 30px;}
    .portfolio_header > div:nth-child(1) {flex-direction: column; align-items: flex-start;}
    .portfolio_header .sub_title {margin-top: 24px; margin-bottom: -12px; font-size: 20px; line-height: 110%;}
    .portfolio_header .sub_title > br {display: none;}
    .portfolio_header h1 {margin-left: 0; font-size: 44px; width: 100%;}
    .portfolio_header h1 br {display: none;}
    .portfolio_header > div:nth-child(1) > div:nth-child(2) {margin-left: 0; font-size: 20px; white-space: unset; margin-top: 24px; max-width: 100%; width: 100%;}
    .portfolio_header > div:nth-child(1) > div:nth-child(2) > br {display: none;}
    .portfolio_header.main > div:nth-child(1) > div:nth-child(2) {margin-right: 0;}
    .portfolio_header .request_btn_wrap {margin: 24px 0 0;}
    .portfolio_header img {margin-top: 24px; min-height: 280px; object-fit: cover;}
}

/* ------------------------------- PORTFOLIO PROJECTS ------------------------------- */

.portfolio_projects_head {display: flex; flex-direction: column; width: fit-content;}
.portfolio_projects_head h2 {font-size: var(--font-80); font-weight: 500;}
.portfolio_projects_head p {font-size: 17px; margin-top: 32px; max-width: 475px; margin-left: auto;}
.portfolio_projects_menu {margin-top: 54px; display: flex; flex-wrap: wrap;}
.portfolio_projects_menu .request_btn_wrap {
    margin-right: 20px; margin-top: 20px; width: fit-content; background: #FFFFFF; color: #111111; transition: .3s ease-in-out; text-decoration: none;
    padding: 0 20px; display: flex; align-items: center; font-size: 17px; border: 1px solid #868686; cursor: pointer; height: 50px;
}
.portfolio_projects_menu .request_btn_wrap.active {background: #0C0C54; border: 1px solid #0C0C54; color: #FFFFFF;}
.portfolio_projects_menu .request_btn_wrap:hover {background: #0C0C54; border: 1px solid #0C0C54; color: #FFFFFF;}

.more_picture {
    width: 53px; border-radius: 24px; background: #EBEBEC; height: 44px; color: #1A222A; cursor: pointer;
    text-align: center; font-size: 14px; font-weight: 300; position: absolute; bottom: 20px; right: -26px; line-height: 44px; z-index: 3;
    transition: .2s;
}
.gallery_video {
    width: 32px !important; height: 32px !important; cursor: pointer; position: absolute; bottom: calc(50% - 16px); right: calc(50% - 16px); z-index: 3;  transition: .2s;
}
.settlements {margin-top: 40px; margin-bottom: 40px;}
.settlements > div {margin-bottom: 20px;}
.settlement {display: none; padding: 40px; border: 1px solid #868686; position: relative;}
.settlement.active {display: flex;}
.settlement > div:nth-child(1) {width: 40%; min-width: 550px; display: flex; margin-right: 80px;}
.settlement > div:nth-child(1) > .main {width: calc(100% - 140px); padding-right: 20px; position: relative;}
.settlement > div:nth-child(1) > .main > img {width: 100%; height: 100%; object-fit: cover; object-position: center right; display: block; cursor: pointer;}
.settlement > div:nth-child(1) > .main > img.upscale {width: 32px; height: 32px; position: absolute; right: 34px; top: 14px;}
.settlement > div:nth-child(1) > .additional {display: flex; flex-direction: column; height: 100%; width: 140px;}
.settlement > div:nth-child(1) > .additional > div {min-height: calc(33.3% - 13px); height: 90px; margin-bottom: 20px; position: relative;}
.settlement > div:nth-child(1) > .additional > div > img {width: 100%; height: 100%; object-fit: cover; display: block; cursor: pointer;}
.settlement > div:nth-child(1) > .additional > div:last-of-type {margin-bottom: 0;}
.settlement > div:nth-child(2) {width: 60%; display: flex; flex-direction: column; min-height: 100%;}
.settlement > div:nth-child(2) > .block_name {font-size: var(--font-17); font-weight: 500; color: #868686; text-transform: uppercase;}
.settlement > div:nth-child(2) > h2 {font-size: var(--font-30); font-weight: 500; color: #111111; margin-top: 12px;}
.settlement > div:nth-child(2) > h2 > a {color: #111111; text-decoration: none;}
.settlement > div:nth-child(2) > .region {font-size: var(--font-17); font-weight: 300; color:#111111; margin-top: 30px;}
.settlement > div:nth-child(2) > .address {
    display: flex; align-items: center;
    font-size: var(--font-17); font-weight: 300; color:#111111; margin-top: 10px;
}
.settlement > div:nth-child(2) > .address > img {margin-right: 16px; display: block; width: 16px;}
.settlement > div:nth-child(2) > .address > div {margin-right: 16px;}
.settlement > div:nth-child(2) > .address > div:last-of-type {color: #868686;}
.settlement > div:nth-child(2) > .properties {display: flex; margin-top: 48px;}
.settlement > div:nth-child(2) > .properties > div {width: 25%;}
.settlement > div:nth-child(2) > .properties > div > .title {font-size: var(--font-14); font-weight: 300; color: #868686;}
.settlement > div:nth-child(2) > .properties > div > .desc {font-size: var(--font-17); font-weight: 300; color: #111111; margin-top: 6px;}
.settlement > div:nth-child(2) > .properties > .settlement_price {margin-left: auto; max-width: 220px;}
.settlement > div:nth-child(2) > .properties > .settlement_price > .desc {font-size: var(--font-30);}
.settlement > div:nth-child(2) > .communications {display: flex; margin-top: 30px;}
.settlement > div:nth-child(2) > .communications > div {
    width: 86px; height: 86px; background: #EBEBEC; margin-right: 12px; display: flex; flex-direction: column;
    align-items: center; -webkit-justify-content: center; text-transform: lowercase;
}
.settlement > div:nth-child(2) > .communications > div > img {width: 32px;}
.settlement > div:nth-child(2) > .communications > div > p {margin-top: 6px; font-size: 14px;}
.settlement > .request_btn_wrap {position: absolute; right: 30px; bottom: 30px; max-width: 220px; width: 100%; margin: 0;}

@media only screen and (max-width: 1600px) {
    .settlement {padding: 30px;}
    .settlement > div:nth-child(1) {margin-right: 40px; width: 40%;}
    .settlement > div:nth-child(2) {width: 60%;}
}

@media only screen and (max-width: 1400px) {
    .settlement > div:nth-child(1) {min-width: 0;}
    .portfolio_projects_menu {margin-top: 40px;}
    .portfolio_projects_menu .request_btn_wrap {margin-right: 10px; margin-top: 10px; font-size: 14px; height: 40px; line-height: 38px;}
}

@media only screen and (max-width: 1280px) {
    .settlement > div:nth-child(1) {margin-right: 30px; width: 35%;}
    .settlement > div:nth-child(1) > .main {width: calc(100% - 120px); padding-right: 10px;}
    .settlement > div:nth-child(1) > .main > img {max-height: 300px;}
    .settlement > div:nth-child(1) > .additional {width: 120px;}
    .settlement > div:nth-child(1) > .additional > div {margin-bottom: 10px;}
    .settlement > div:nth-child(2) {width: 65%;}
    .settlement > div:nth-child(2) > h2 {margin-top: 6px;}
    .settlement > div:nth-child(2) > .region {margin-top: 20px;}
    .settlement > div:nth-child(2) > .properties {margin-top: 32px;}
    .settlement > .request_btn_wrap {max-width: 160px;}
}

@media only screen and (max-width: 1024px) {
    .more_picture {right: calc(50% - 27px);}
    .settlements {margin-top: 20px; margin-bottom: 20px;}
    .settlements > div {margin-bottom: 10px;}
    .settlement {flex-direction: column; padding: 14px;}
    .settlement > div:nth-child(1) {width: 100%; margin-right: 0;}
    .settlement > div:nth-child(1) > .main > img {max-height: 260px;}
    .settlement > div:nth-child(1) > .additional {min-height: 100%; height: 260px;}
    .settlement > div:nth-child(1) > .additional > div {height: calc(33.3% - 5px);}
    .settlement > div:nth-child(1) > .additional > div > img {height: 100%}
    .settlement > div:nth-child(2) {margin-top: 20px; min-width: 480px;}
    .settlement > div:nth-child(2) > .block_name {order: 1; font-size: 10px;}
    .settlement > div:nth-child(2) > h2 {order: 2; font-size: 22px;}
    .settlement > div:nth-child(2) > .region {order: 3; font-size: 12px;}
    .settlement > div:nth-child(2) > .address {order: 4; font-size: 12px;}
    .settlement > div:nth-child(2) > .address > img {margin-right: 6px;}
    .settlement > div:nth-child(2) > .address > div {margin-right: 6px;}
    .settlement > div:nth-child(2) > .communications {margin-top: 20px; order: 5;}
    .settlement > div:nth-child(2) > .communications > div {width: 48px; height: 48px; margin-right: 10px;}
    .settlement > div:nth-child(2) > .communications > div > img {width: 16px;}
    .settlement > div:nth-child(2) > .communications > div > p {margin-top: 2px; font-size: 12px;}
    .settlement > div:nth-child(2) > .properties {order: 6; margin-top: 20px;}
    .settlement > div:nth-child(2) > .properties > div {width: 30%;}
    .settlement > .request_btn_wrap {bottom: 14px; right: 14px;}
}

@media only screen and (max-width: 800px) {
    .portfolio_projects_head h2 {font-size: 28px;}
    .portfolio_projects_head p {font-size: 14px; margin-top: 12px; margin-left: 0;}
    .portfolio_projects_menu {margin-top: 20px;}
    .portfolio_projects_menu .request_btn_wrap {font-size: 12px; height: 30px; line-height: 28px; padding: 0 8px;}
    .settlement > div:nth-child(2) {max-width: 480px; min-width: 0; width: 100%;}
    .settlement > .request_btn_wrap {width: 100%; max-width: 480px; position: relative; top: 0; left: 0; margin-top: 20px;}
    .settlement > div:nth-child(2) > .properties {flex-wrap: wrap;}
    .settlement > div:nth-child(2) > .properties > div {width: 40%; margin-right: 0;}
    .settlement > div:nth-child(2) > .properties > div > .desc {font-size: var(--font-14);}
    .settlement > div:nth-child(2) > .properties > .settlement_price {margin-left: 0; width: 100%; margin-top: 20px;}
    .settlement > div:nth-child(2) > .properties > .settlement_price > .desc {font-size: 20px;}
}

@media only screen and (max-width: 600px) {
    .settlement {padding: 8px;}
    .settlement > div:nth-child(1) {flex-direction: column;}
    .settlement > div:nth-child(1) > .main {width: 100%; padding-right: 0; margin-bottom: 8px;}
    .settlement > div:nth-child(1) > .main > img {max-height: 100%;}
    .settlement > div:nth-child(1) > .main > img.upscale {right: 14px;}
    .settlement > div:nth-child(1) > .additional {width: 100%; height: 80px; flex-direction: row;}
    .settlement > div:nth-child(1) > .additional > div {width: 33.3%; height: 100%; margin-bottom: 0; margin-right: 8px;}
    .settlement > div:nth-child(1) > .additional > div > img {max-height: 80px; height: 80px;}
    .settlement > div:nth-child(1) > .additional > div:last-of-type {margin-right: 0;}
}

/* ------------------------------- FAQ ------------------------------- */

#faq {padding: 8% 0;}
.faq {display: flex;}
.faq.for_clients {padding: 0 150px;}
.faq > h2 {font-size: var(--font-80); font-weight: 500; padding-right: 20px; width: 45%;}
.faq > div {width: 65%; font-size: 17px; font-weight: 300;}

.faq_head {display: flex; align-items: center; padding-left: var(--padding-in); margin-bottom: 60px;}
.faq_head > p {margin-left: 3vw; font-size: var(--font-20); max-width: 900px;}
.faq_item {border-top: 1px solid #BDBDBD; position: relative;}
.faq_item:last-of-type {border-bottom: 1px solid #BDBDBD;}
.faq_item_head {display: flex; align-items: center; padding: 20px 0; cursor: pointer; position: relative; z-index: 2; transition: .3s ease-in-out;}
.faq_item_head > p:nth-child(1) {font-size: var(--font-20); min-width: 100px; width: 100px;}
.faq_item_head > div {display: flex; align-items: center;}
.faq_item_head > div {font-size: max(17px, min(20px, 1.5vw));; font-weight: 500; min-width: 300px;}
.faq_item_head > .close {min-width: 24px; width: 24px; height: 24px; position: relative; margin-left: auto;}
.faq_item_head > .close::before {content: ""; position: absolute; top: 0; left: 11px; width: 2px; height: 100%; background: #7F7F7F; transition: .3s ease-in-out;}
.faq_item_head > .close::after {content: ""; position: absolute; top: 11px; left: 0; width: 100%; height: 2px; background: #7F7F7F; transition: .3s ease-in-out;}
.faq_item_head > .close:hover::before {background: #515151;}
.faq_item_head > .close:hover::after {background: #515151;}
.faq_item_body {
    opacity: 0; max-height: 0; height: 100%; position: relative; z-index: 2; transition: .3s ease-in-out; overflow: hidden;
    color: #111111; font-size: 17px; padding-left: 100px;
}
.faq_item_body > p {padding-top: 0; padding-bottom: 20px;}
.faq_item.active > .faq_item_body {opacity: 1;}
.faq_item.active > .faq_item_head > .close::after {background: #BDBDBD;}
.faq_item.active > .faq_item_head > .close::before {opacity: 0;}

@media only screen and (max-width: 1300px) {
    .faq.for_clients {padding: 0 64px;}
}

@media only screen and (max-width: 1024px) {
    .faq.for_clients {padding: 0;}
}

@media only screen and (max-width: 800px) {
    #faq {padding: 50px 0 0;}
    .faq {flex-direction: column;}
    .faq > h2 {width: 100%; padding-right: 0; font-size: 22px; margin-bottom: 40px;}
    .faq > h2 > br {display: none;}
    .faq > div {width: 100%;}
    .faq_item_head > p:nth-child(1) {min-width: 40px; width: 40px;}
    .faq_item_head > div {min-width: 0; padding-right: 10px;}
    .faq_item_body {padding-left: 40px;}
}

/* ------------------------------- PORTFOLIO SEO ------------------------------- */

#portfolio_seo {padding: 8% 0;}
.portfolio_seo {display: flex;}
.portfolio_seo > h2 {font-size: var(--font-50); font-weight: 500; padding-right: 130px; width: 45%;}
.portfolio_seo > p {width: 65%; font-size: 17px; font-weight: 300;}

@media only screen and (max-width: 800px) {
    #portfolio_seo {padding: 50px 0;}
    .portfolio_seo {flex-direction: column;}
    .portfolio_seo > h2 {width: 100%; padding-right: 0; font-size: 22px;}
    .portfolio_seo > h2 > br {display: none;}
    .portfolio_seo > p {width: 100%; font-size: 14px; margin-top: 12px;}
    .portfolio_seo > p > span {display: none;}
}

/* ------------------------------- PORTFOLIO SEO ------------------------------- */

#portfolio_contacts {padding: 64px 0; background: #EBEBEC;}
.portfolio_contacts {display: flex;}
.portfolio_contacts > div {
    width: 33.33%; margin-right: 20px; background: #FFFFFF;
    display: flex; align-items: flex-start; padding: 40px; min-height: 100%;
}
.portfolio_contacts > div:nth-child(2) .request_btn {background: #FFFFFF; color: #111111; border: 1px solid #111111;}
.portfolio_contacts > div:last-of-type {margin-right: 0;}
.portfolio_contacts > div > img {width: 48px; margin-right: 40px;}
.portfolio_contacts > div > div {height: 100%; display: flex; flex-direction: column;}
.portfolio_contacts > div .title {font-size: var(--font-22); font-weight: 500;}
.portfolio_contacts > div .desc {font-size: var(--font-17); font-weight: 300; margin-top: 12px; margin-bottom: 40px;}
.portfolio_contacts > div .request_btn_wrap {margin: auto 0 0 0;}
.portfolio_contacts > div a {margin: auto 0 0 0; text-decoration: none;}
.portfolio_contacts > div a > img {width: 56px;}
.portfolio_contacts_socials {display: flex; align-items: center; gap: 12px;}

@media only screen and (max-width: 1200px) {
    .portfolio_contacts > div {padding: 20px;}
    .portfolio_contacts > div > img {margin-right: 14px;}
    .portfolio_contacts > div .desc {margin-bottom: 20px;}
    .portfolio_contacts > div > div {width: 100%;}
    .portfolio_contacts > div .request_btn_wrap {margin: auto 0 0 0; width: 100%;}
    .portfolio_contacts > div a > img {width: 46px;}
}

@media only screen and (max-width: 1024px) {
    .portfolio_contacts {flex-direction: column;}
    .portfolio_contacts > div {width: 100%; margin-right: 0; margin-bottom: 12px; padding: 30px 20px;}
    .portfolio_contacts > div:last-of-type {margin-bottom: 0;}
    .portfolio_contacts > div > img {width: 24px; margin-right: 20px;}
    .portfolio_contacts > div .title {font-size: 22px;}
    .portfolio_contacts > div .desc {font-size: 14px;}
}

@media only screen and (max-width: 800px) {
    #portfolio_contacts {padding: 20px 0;}

}

/* ------------------------------- RESUME ------------------------------- */

.resume {display: flex; align-items: flex-start; padding: 144px 64px;}
.resume > div:nth-child(1) {max-width: 600px; width: 40%; margin-right: 140px; position: relative;}
.resume > div:nth-child(1) > img:nth-child(1) {min-height: 600px; object-fit: cover;}
.resume > div:nth-child(1) > img:nth-child(2) {width: 30%; left: calc(100% - 140px + 5%); bottom: -5%; position: absolute;}
.resume > div:nth-child(2) {margin-left: auto;}
.resume > div:nth-child(2) > .desc {font-size: var(--font-50); white-space: nowrap; font-weight: 500; line-height: 100%;}
.resume > div:nth-child(2) > .desc > span {color: #868686;}
.resume > div:nth-child(2) > .send {font-size: var(--font-30); font-weight: 500; margin-top: 100px;}
.resume > div:nth-child(2) > .send > a {margin-top: 16px; font-size: var(--font-22); font-weight: 300; display: block; color: #111111;}
.resume > div:nth-child(2) > .send > a::after {
    content: ""; position: absolute; left: 0; bottom: -2px; width: 100%;
    height: 1px; background: #FFFFFF;
}

@media only screen and (max-width: 1200px) {
    .resume {padding: 144px 0;}
    .resume > div:nth-child(1) {margin-right: 80px;}
    .resume > div:nth-child(1) > img:nth-child(2) {left: calc(100% - 80px + 5%);}
}

@media only screen and (max-width: 1024px) {
    .resume {padding: 30px 0 70px; flex-direction: column-reverse;}
    .resume > div:nth-child(1) {width: 100%; margin-right: 0;}
    .resume > div:nth-child(1) > img:nth-child(1) {min-height: 0;}
    .resume > div:nth-child(1) > img:nth-child(2) {left: auto; right: 0;}
    .resume > div:nth-child(2) {margin-left: 0; margin-bottom: 30px;}
    .resume > div:nth-child(2) > .desc {font-size: 20px;}
    .resume > div:nth-child(2) > .send {margin-top: 30px; font-size: 17px;}
    .resume > div:nth-child(2) > .send > a {font-size: 17px; margin-top: 10px;}
}

/* ------------------------------- PRINCIPLE ------------------------------- */

.principle {padding: 64px; background: #EBEBEC; position: relative;}
#principle h2 {font-size: var(--font-80); font-weight: 500; line-height: 100%;}
.principle > img {position: absolute; width: 15%; right: 5%; bottom: 16%;}
.principle > img.partners {right: auto; left: 12.5%; bottom: 10%;}
.principle > p {font-size: 17px; margin: 20px 0 0 160px;}
.principle_info {display: flex; align-items: center; margin-top: 70px; position: relative; z-index: 2;}
.principle_info > img {width: 45%; min-height: 600px; object-fit: cover; opacity: 0; visibility: hidden; transition: .3s ease-in-out; position: absolute; z-index: 1;}
.principle_info > img.active {opacity: 1; position: relative; visibility: visible;}
.principle_info > div {width: 50%; margin-left: auto; position: relative; z-index: 2;}
.principle_info .request_btn_wrap {margin: 0; max-width: 280px; width: 100%;}
.principle_item {cursor: pointer; margin-bottom: 64px;}
.principle_item_head {display: flex; align-items: center; color: #111111; font-size: var(--font-100); font-weight: 500;}
.principle_item.active .principle_item_head {color: #0C0C54;}
.principle_item_head i {font-size: var(--font-55); margin-left: 24px; rotate: 90deg; transition: .3s ease-in-out;}
.principle_item.active .principle_item_head i {rotate: -90deg;}
.principle_item_body {transition: .3s ease-in-out; overflow: hidden; max-height: 0; font-size: var(--font-22); font-weight: 300;}
.principle_item_body > p {padding-top: 24px; transition: .3s ease-in-out;}
.principle_info_partners {width: 50%; min-width: 710px; margin: 120px 0 0 auto;}
.principle_info_partners > p {font-size: var(--font-50); font-weight: 500;}
.principle_info_partners > p > span {color: #868686;}
.principle_info_partners > .request_btn_wrap {margin-top: 40px;}

@media only screen and (max-width: 1200px) {
    .principle > img.partners {display: none;}

}

@media only screen and (max-width: 1024px) {
    .principle {padding: 32px 16px;}
    .principle_info {flex-direction: column; align-items: flex-start; margin-top: 24px;}
    .principle_info > img {width: 100%; min-height: 0; max-width: 500px;}
    .principle_info > div {width: 100%; margin-left: 0; margin-top: 24px;}
    .principle_item {margin-bottom: 24px;}
    .principle > img {bottom: 80px; right: 10px; width: 170px;}
    .principle > img.partners {bottom: 400px; right: 10px; width: 170px; left: auto; display: block;}
    .principle > p {margin: 20px 0 0 0;}
    .principle_info_partners {min-width: 0; width: 100%; margin: 80px 0 0 0;}
    .principle_info_partners br {display: none;}
    .principle_info_partners > p {font-size: 28px;}
}

@media only screen and (max-width: 600px) {
    .principle_item_head {font-size: 34px;}
    .principle_item_head i {font-size: 24px;}
    .principle_item_body > p {padding-top: 12px;}
    .principle_info .request_btn_wrap {max-width: 400px;}
    .principle > p br {display: none;}
}

/* ------------------------------- ROLE ------------------------------- */

#role {background: #111111; color: #FFFFFF;}
.role {padding: 128px 64px 0;}
.role_head {display: flex;}
.role_head > div:nth-of-type(1) > h2 {font-size: var(--font-80); font-weight: 500; width: 400px;}
.role_head > div:nth-of-type(1) > p {font-size: var(--font-17); margin-top: 30px;}
.role_head > div:nth-of-type(2) {font-size: var(--font-22); font-weight: 500; text-transform: uppercase; margin-left: 128px;}
.role_body {font-size: var(--font-50); font-weight: 500; line-height: 100%; margin: 128px 0;}
.role_body > span {color: #868686;}
.role > img {margin-left: 528px; display: block;}

@media only screen and (max-width: 1024px) {
    .role {padding: 64px 0 0;}
    .role_head {flex-direction: column;}
    .role_head > div:nth-of-type(1) > p {font-size: 17px; margin-top: 12px;}
    .role_head > div:nth-of-type(2) {margin-left: 64px; margin-top: 60px; font-size: 14px;}
    .role_body {margin: 60px 0;}
    .role > img {margin-left: 0; min-height: 200px; object-fit: cover;}
}

@media only screen and (max-width: 600px) {
    .role_head > div:nth-of-type(1) > p > br {display: none;}
    .role_body br {display: none;}
}

/* ------------------------------- SUITABLE ------------------------------- */

#suitable > .wrap {max-width: 1400px;}
.suitable {padding: 128px 64px;}
.suitable > h2 {font-size: var(--font-80); font-weight: 500;}
.suitable > p {font-size: var(--font-17); margin-top: 30px;}
.suitable_info {display: flex; -webkit-justify-content: space-between; gap: 24px; margin-top: 64px;}
.suitable_info > div {width: 33.333%; max-width: 295px;}
.suitable_info > div > img {padding-right: 20%;}
.suitable_text {margin-top: 64px; padding: 64px 0 0; border-top: 1px solid #868686; font-size: var(--font-50); font-weight: 500; line-height: 100%;}

@media only screen and (max-width: 1024px) {
    .suitable {padding: 64px 0;}
    .suitable > p {font-size: 17px; margin-top: 12px;}
    .suitable_info {margin-top: 40px; flex-direction: column;}
    .suitable_info > div {width: 100%; max-width: 100%; display: flex; align-items: center;}
    .suitable_info > div > img {width: 60px; padding-right: 0; margin-right: 30px;}
    .suitable_info > div > p {width: 100%; font-size: 17px; max-width: 300px;}
    .suitable_text {margin-top: 40px; padding: 40px 0 0;}
}

@media only screen and (max-width: 600px) {
    .suitable_text br {display: none;}
}

/* ------------------------------- REQUEST PARTNERS ------------------------------- */

.for_partners_request {display: flex; align-items: center; padding: 128px 0;}
.for_partners_request > div {width: 50%;}
.for_partners_request > div:nth-child(1) > h2 {font-size: var(--font-80); font-weight: 500;}
.for_partners_request > div:nth-child(1) > p {font-size: var(--font-22); margin-top: 50px;}

@media only screen and (max-width: 1024px) {
    .for_partners_request {flex-direction: column; padding: 64px 0 0;}
    .for_partners_request > div {width: 100%;}
    .for_partners_request > div:nth-child(1) > p {font-size: 17px; margin-top: 12px;}
    .for_partners_request > div:nth-child(2) {margin-top: 60px; position: relative; width: calc(100% + 32px);}
}

@media only screen and (max-width: 600px) {
    .for_partners_request > div:nth-child(1) > p br {display: none;}
}

/* ------------------------------- TEAM ------------------------------- */

.team {padding: 90px 64px;}
.team_head {display: flex;}
.team_head > h2 {font-size: var(--font-80); line-height: 100%; font-weight: 500;}
.team_head > div {font-size: var(--font-17); margin-left: auto; width: 40%; max-width: 512px;}
.team_head .request_btn_wrap {margin: 24px 0 0; max-width: 280px; width: 100%;}
.team_body {margin-top: 120px; display: flex; -webkit-justify-content: center; flex-wrap: wrap; gap: 24px;}
.team_body > div {width: calc(20% - 20px);}
.team_body > div > div:nth-of-type(1) {text-align: center; font-size: var(--font-22); font-weight: 500; margin-top: 32px;}
.team_body > div > div:nth-of-type(2) {text-align: center; font-size: var(--font-17); margin-top: 8px;}
.team_body > div:last-of-type {margin-right: 0;}

@media only screen and (max-width: 1400px) {
    .team_body > div {min-width: 290px;}
}

@media only screen and (max-width: 1200px) {
    .team {padding: 90px 0;}
}

@media only screen and (max-width: 1024px) {
    .team {padding: 32px 0;}
    .team_head {flex-direction: column;}
    .team_head > h2 {font-size: 44px; line-height: 90%;}
    .team_head > div {font-size: 17px; margin-left: 0; margin-top: 24px; width: 100%;}
    .team_body {margin-top: 32px; gap: 16px;}
    .team_body > div {min-width: 150px;}
    .team_body > div > div:nth-of-type(1) {font-size: 17px; margin-top: 16px;}
    .team_body > div > div:nth-of-type(2) {font-size: 12px;}
}

@media only screen and (max-width: 600px) {
    .team_head .request_btn_wrap {max-width: 400px;}
    .team_body > div {width: calc(50% - 12px);}
}

/* ------------------------------- VISUAL ------------------------------- */

#visual {padding: 64px 0; background: #111111; color: #fff; margin-bottom: 30px;}
.visual {display: flex; align-items: center; position: relative;}
.visual > div {width: 50%;}
.visual > div > h2 {font-size: var(--font-80); font-weight: 500;}
.visual > div > div {font-size: var(--font-17); margin-top: 64px; padding-left: 64px;}
.visual > div > div .request_btn_wrap {margin: 45px 0 0; max-width: 308px; width: 100%;}
.visual > img {width: 50%;}
.visual > img:last-of-type {width: 20%; position: absolute; right: 40%; bottom: 40px;}
#visual.visual_team {padding: 90px 0;}
#visual.visual_team .visual > img:last-of-type {width: 14%; right: 43%;}

@media only screen and (max-width: 1024px) {
    #visual {padding: 32px 0 94px; margin-bottom: 0;}
    #visual.visual_team {padding: 32px 0 94px;}
    .visual {flex-direction: column; align-items: flex-start;}
    .visual > div {width: 100%;}
    .visual > div > h2 {font-size: 34px;}
    .visual > div > div {font-size: 17px; padding-left: 0; margin-top: 16px;}
    .visual > div > div br {display: none;}
    .visual > div > div .request_btn_wrap {margin: 24px 0 0;}
    .visual > img {width: 100%; margin-top: 24px; max-width: 500px;}
    .visual > img:last-of-type {width: 150px; left: -16px; right: auto; bottom: -60px;}
    #visual.visual_team .visual > img:last-of-type {width: 150px; right: auto;}
}

@media only screen and (max-width: 600px) {
    .visual > div > div .request_btn_wrap {max-width: 400px;}
}

/* ------------------------------- FAMILY ------------------------------- */

#family {padding: 64px 0;}
.family {padding-left: 64px; font-size: var(--font-50); font-weight: 500; line-height: 100%;}
.family > span {color: #868686;}

@media only screen and (max-width: 1024px) {
    #family {padding: 32px 0;}
    .family {padding-left: 0; font-size: 20px; line-height: 110%;}
}

@media only screen and (max-width: 600px) {
    .family br {display: none;}
}

/* ------------------------------- FAMILY ------------------------------- */

#mission {padding: 64px 0; margin-bottom: 30px;}
.mission {margin: 0 64px 0 auto; font-size: var(--font-50); font-weight: 500; line-height: 100%; width: fit-content;}
.mission.center {margin: 0 auto;}
.mission > span {color: #868686;}

@media only screen and (max-width: 1024px) {
    #mission {padding: 32px 0; margin-bottom: 0;}
    .mission {padding-left: 0; font-size: 20px; margin-right: 0; margin-left: 0;}
    .mission.center {margin: 0;}
}

@media only screen and (max-width: 600px) {
    .mission br {display: none;}
    .mission > span {display: block; margin-top: 1rem;}
}

/* ------------------------------- APPROACH ------------------------------- */

#approach {padding: 64px 0;}
#approach h2 {font-size: var(--font-80); font-weight: 500;}
.approach {display: flex; margin-top: 64px;}
.approach > img {width: 40%; cursor: pointer;}
.approach > div {width: fit-content; margin: 0 auto; display: flex; flex-direction: column;}
.approach > div .request_btn_wrap {margin: 34px 0 auto; max-width: 350px; width: 100%;}
.approach > div > p {font-size: var(--font-17);}
.approach > div > span {display: block; font-size: var(--font-22); font-weight: 500; margin-top: 24px;}
.approach > div > img {display: none;}

@media only screen and (max-width: 1024px) {
    #approach {padding: 32px 0;}
    #approach h2 {font-size: 34px;}
    .approach > div {margin: 0;}
    .approach > div > p {font-size: 14px;}
    .approach > div > span {font-size: 17px; padding-left: 0; margin-top: 16px;}
    .approach {flex-direction: column; margin-top: 24px;}
    .approach > div .request_btn_wrap {margin: 24px 0 0;}
    .approach > img {display: none;}
    .approach > div > img {display: block; cursor: pointer; width: 100%; max-width: 500px; margin-top: 24px;}
}

@media only screen and (max-width: 600px) {
    .approach > div .request_btn_wrap {max-width: 400px;}
    #approach h2 br {display: none;}
    .approach > div > p br {display: none;}
}

/* ------------------------------- SLIDER ADVANTAGES ------------------------------- */

#advantages_slider {padding: 64px 0;}
.advantages_slider {display: flex;}
.advantages_slider_info {width: 50%;}
.advantages_slider_info > div {display: none;}
.advantages_slider_info > div.active {
    display: flex; flex-direction: column; padding-right: 20px; height: 100%;
}
.advantages_slider_info > div > .title {font-size: var(--font-40); font-weight: 500; line-height: 90%;}
.advantages_slider_info > div > .desc {font-size: 17px; margin-top: 20px;}
.advantages_slider_info > div > .request_btn_wrap {margin-top: 40px;}
.advantages_slider_info > div > div:last-of-type {display: flex; align-items: center; -webkit-justify-content: space-between; margin-top: auto;}
#advantages_slider .step {font-size: var(--font-20);}
#advantages_slider .controls {display: flex; align-items: center; gap: 20px;}
#advantages_slider .controls > img {cursor: pointer; width: 48px;}
#advantages_slider .controls > img:first-child {rotate: -180deg;}
#flickity_advantages_slider {width: 50%; overflow: hidden;}
#flickity_advantages_slider .flickity_advantages_slider_progress {width: 260px; position: absolute; left: calc(50% - 130px); bottom: 30px; display: flex; align-items: center; z-index: 2;}
#flickity_advantages_slider .flickity_advantages_slider_progress > div {background: #CCCCCCCC; width: 25%; height: 2px; margin-right: 20px; transition: .3s ease-in-out; }
#flickity_advantages_slider .flickity_advantages_slider_progress > div:last-of-type {margin-right: 0;}
#flickity_advantages_slider .flickity_advantages_slider_progress > div.active {background: #FFFFFF;}
.flickity_advantages_slider {display: none;}
.advantages_slider > .request_btn_wrap {display: none;}

@media only screen and (max-width: 1024px) {
    #advantages_slider {padding: 32px 0;}
    .advantages_slider_info {width: 100%; min-height: 150px;}
    .advantages_slider_info > div.active {padding-right: 0;}
    .advantages_slider_info > div > .title {font-size: 22px;}
    .advantages_slider_info > div > .request_btn_wrap {display: none;}
    .advantages_slider_info > div > div:last-of-type {display: none;}
    .advantages_slider {flex-direction: column;}
    #flickity_advantages_slider {width: 100%; margin-top: 20px;}
    #flickity_advantages_slider .flickity_advantages_slider_progress {width: 120px; left: calc(50% - 60px); bottom: 10px;}
    #flickity_advantages_slider .flickity_advantages_slider_progress > div {margin-right: 12px;}
    .flickity_advantages_slider {display: flex; align-items: center; -webkit-justify-content: space-between; margin-top: 12px;}
    .advantages_slider > .request_btn_wrap {display: block; margin-top: 20px;}
    #advantages_slider .step {font-size: 17px;}
    #advantages_slider .controls > img {width: 40px;}
}

@media only screen and (max-width: 600px) {
    .advantages_slider_info > div > .desc > br {display: none;}
}

/* ------------------------------- VIDEOS ------------------------------- */

#videos {padding: 128px 0; background: #111111; color: #FFFFFF; margin-bottom: 30px;}
#videos h2 {font-size: var(--font-80); font-weight: 500;}
.videos_head {display: flex;}
.videos_head > div {width: fit-content; margin: 0 200px 0 auto; padding-top: 40px; font-size: var(--font-22); font-weight: 500;}
.videos_head > div > .request_btn_wrap {margin-top: 40px;}
.videos {margin-top: 120px; display: flex;}
.videos img {width: 25%; cursor: pointer; margin-right: 24px;}
.videos.flickity img {width: calc(33.333% - 16px);}
.videos > p {width: fit-content; margin: 0 auto; font-size: var(--font-17);}
.videos.full > img {width: calc(33.333% - 16px);}
.videos.full > img:last-of-type {margin-right: 0;}

.videos .flickity-button {background: #FFFFFF; border-radius: 24px; width: 48px; height: 48px; padding: 16px;}
.videos .flickity-button:hover {background: #FFFFFF;}

@media only screen and (max-width: 1024px) {
    #videos {padding: 32px 0;}
    #videos h2 {font-size: 34px;}
    .videos_head {flex-direction: column;}
    .videos_head > div {margin: 0; width: 100%; font-size: 17px;}
    .videos {flex-direction: column-reverse; margin-top: 24px;}
    .videos > p {margin: 0; font-size: 14px;}
    .videos > img {width: 100%; max-width: 500px; margin-right: 0; margin-top: 24px;}
    .videos.full > img {width: 100%;}
    .videos.flickity img {width: 100%;}
}

@media only screen and (max-width: 600px) {
    #videos h2 h2 br {display: none;}
    .videos > p  br {display: none;}
}

/* ------------------------------- VIEWS ------------------------------- */

#views {padding: 128px 0 0;}
.views {padding-left: 64px;}
.views h2 {font-size: var(--font-80); font-weight: 500;}
.views p {font-size: var(--font-22); margin-top: 24px;}
.views img {width: 100%; margin-top: 60px;}

@media only screen and (max-width: 1024px) {
    #views {padding: 32px 0 0;}
    .views {padding-left: 0;}
    .views p {font-size: 14px;}
    .views img {margin-top: 24px; max-width: 500px;}
}

/* ------------------------------- BANNER ------------------------------- */

.banner {position: relative; padding: 200px 0; min-height: 600px; overflow: hidden; margin-bottom: 30px;}
.banner > img {width: 100%; height: 100%; object-fit: cover; position: absolute; left: 0; top: 0;}
.banner > img.mobile {display: none;}
.banner > h2 {color: #FFFFFF; text-align: center; z-index: 2; position: relative; font-size: var(--font-80);}
.banner > p {color: #FFFFFF; text-align: center; z-index: 2; position: relative; font-size: var(--font-22); margin-top: 30px;}
.banner > .btn_primary_row, .banner > .btn_primary_wrap, .banner > .request_btn_wrap {
    position: relative; z-index: 2; margin: 65px auto 0; display: flex;
    gap: 20px; -webkit-justify-content: center;
}
.banner > .btn_primary_row > .btn_primary_wrap {width: 50%;}
.banner > .btn_primary_row > .petrol {max-width: 425px; width: 50%;}

@media only screen and (max-width: 1024px) {
    #banner {overflow: hidden;}
    .banner > h2 {font-size: 44px;}
    .banner > p {font-size: 17px;}
    .banner {padding: 150px 16px; position: relative; left: -16px; right: -16px; width: calc(100% + 32px); margin-bottom: 0;}
    .banner > .btn_primary_row, .banner > .btn_primary_wrap, .banner > .request_btn_wrap {margin: 40px auto 0; flex-direction: column; align-items: center; padding: 0 8px; width: calc(100% - 16px);}
    .banner > .btn_primary_row > .btn_primary_wrap {width: 100%;}
    .banner > .btn_primary_row > .petrol {width: 100%; max-width: 400px;}
}

@media only screen and (max-width: 600px) {
    .banner > p > br {display: none;}
    .banner > img {display: none;}
    .banner > img.mobile {display: block;}
}

/* ------------------------------- CULTURE ------------------------------- */

#culture {padding: 64px 0;}
.culture > h2 {font-size: var(--font-80); font-weight: 500; min-width: 685px; width: 60%; margin: 0 64px 0 auto;}
.culture > p.sub_desc {font-size: var(--font-17); min-width: 685px; width: 60%; margin: 30px 64px 0 auto;}
.culture > p:not(.sub_desc) {font-size: var(--font-50); font-weight: 500; line-height: 100%; min-width: 685px; width: 60%; margin: 60px 64px 0 auto;}
.culture > p > span {color: #868686;}
.culture > img {margin-top: 60px;}
.culture > lottie-player {width: 50%; margin: 0 auto;}

@media only screen and (max-width: 1024px) {
    #culture {padding: 32px 0;}
    .culture > h2 {min-width: 0; width: 100%; margin-left: 0; margin-right: 0; font-size: 34px;}
    .culture > p.sub_desc {min-width: 0; width: 100%; margin-left: 0; margin-right: 0; font-size: 14px; margin-top: 24px;}
    .culture > img {margin-top: 24px; min-height: 180px; object-fit: cover;}
    .culture > p:not(.sub_desc) {min-width: 0; width: 100%; margin-left: 0; margin-right: 0; font-size: 20px; margin-top: 24px;}
}

@media only screen and (max-width: 600px) {
    .culture > p > span {display: block;}
    .culture > p br {display: none;}
    .culture > lottie-player {width: 100%; margin: 0;}
}

/* ------------------------------- GALLERY 2 ------------------------------- */

#gallery_2 {overflow-x: hidden; margin-bottom: 64px;}
.gallery_2_head {display: flex; align-items: center; padding: 64px;}
.gallery_2_head > h2 {font-size: var(--font-80); font-weight: 500;}
.gallery_2_head > p {font-size: var(--font-17); margin-left: auto;}
#flickity_gallery_2 {margin-top: 100px; position: relative; overflow: hidden;}
#flickity_gallery_2 .left_screen {position: absolute; left: 0; top: 0; width: 30%; height: 100%; content: ""; z-index: 3;}
#flickity_gallery_2 .right_screen {position: absolute; right: 0; top: 30%; width: 30%; height: 70%; content: ""; z-index: 3;}
#flickity_gallery_2 .item {width: 75%; height: 45vw; max-height: 870px; display: flex; align-items: center; transition: padding .6s ease-in-out;}
#flickity_gallery_2 .item > img {border-radius: 4px; display: block; transition: width .3s ease-in-out, margin .3s ease-in-out;}
#flickity_gallery_2 .item > .size_btn {
    position: absolute; right: 30px; top: 30px; width: 48px; height: 48px; background: #253D2F; border-radius: 50%;
    opacity: 0; transition: opacity .6s ease-in-out; pointer-events: none; z-index: 4; display: flex; align-items: center;
    -webkit-justify-content: center; color: #FFFFFF;
}
#flickity_gallery_2 .item:not(.is-selected) > img {width: 75%; margin-left: auto; position: relative; left: 20px;}
#flickity_gallery_2 .item.is-selected {z-index: 2;}
#flickity_gallery_2 .item.is-selected > .size_btn {opacity: 1; pointer-events: unset; cursor: pointer;}
#flickity_gallery_2 .item.is-selected + .item:not(.is-selected) > img {width: 75%; margin-left: 0; position: relative; left: -20px;}
#flickity_gallery_2 .flickity-slider:has(> :last-of-type.is-selected) > :first-of-type > img {width: 75%; margin-left: 0; position: relative; left: -20px;}
#flickity_gallery_2 {position: relative;}
#flickity_gallery_2 .flickity-prev-next-button.previous {left: calc(12.5% + 30px);}
#flickity_gallery_2 .flickity-prev-next-button.next {right: calc(12.5% + 30px);}
#flickity_gallery_2 .flickity-prev-next-button {background: #CCCCCCCC; width: 62px; height: 62px; border-radius: 50%; opacity: 0; transition: opacity .6s ease-in-out; z-index: 3;}
#flickity_gallery_2 .left_screen:hover ~ .flickity-prev-next-button.previous {opacity: 1;}
#flickity_gallery_2 .right_screen:hover ~ .flickity-prev-next-button.next {opacity: 1;}
#flickity_gallery_2 .flickity-prev-next-button:hover {opacity: 1;}
#flickity_gallery_2 .slider_progress {
    width: 100%; height: 4px; background: #7F7F7F; max-width: 140px; border-radius: 2px; overflow: hidden;
    position: absolute; bottom: 60px; left: calc(50% - 70px); z-index: 3;
}
#flickity_gallery_2 .slider_progress > div {z-index: 4; background: #FFFFFF; width: 0; height: 100%; max-width: 100%; position: relative; transition: .3s linear;}

@media only screen and (max-width: 1200px) {
    .gallery_2_head {padding: 64px 0;}
}

@media only screen and (max-width: 1024px) {
    .gallery_2_head {padding: 32px 0 0 0; flex-direction: column;}
    .gallery_2_head > h2 {font-size: 34px; line-height: 90%;}
    .gallery_2_head > h2 > br {display: none;}
    .gallery_2_head > p {margin-left: 0; font-size: 17px; margin-top: 24px; max-width: 400px;}
    .gallery_2_head > p > br {display: none;}
    #gallery_2 {margin-bottom: 32px;}
    #gallery_2 > .wrap {padding-bottom: 40px;}
    #flickity_gallery_2 {margin-top: 30px; overflow: unset;}
    #flickity_gallery_2 .item {width: 90%; min-height: 100%; height: unset; max-height: unset; margin-right: 10px;}
    #flickity_gallery_2 .item:not(.is-selected) > img {width: 100%; left: 0;}
    #flickity_gallery_2 .item.is-selected + .item:not(.is-selected) > img {width: 100%; left: 0;}
    #flickity_gallery_2 .left_screen {display: none;}
    #flickity_gallery_2 .right_screen {display: none;}
    #flickity_gallery_2 .flickity-slider:has(> :last-of-type.is-selected) > :first-of-type > img {width: 100%; left: 0;}
    #flickity_gallery_2 .flickity-prev-next-button {display: none;}
    #flickity_gallery_2 .slider_progress {bottom: -40px; background: #BDBDBD;}
    #flickity_gallery_2 .slider_progress > div {background: #111111;}
}

/* --------------------------- VIDEO PLAYER --------------------------- */

#video_modal {width: 100%; opacity: 1; pointer-events: auto; transition: all 0.35s ease-out;}

#video_modal.fullscreen .video_modal_menu {display: none;}
#video_modal.fullscreen .video_modal_body {height: 100vh; width: 100vw; position: absolute; top: 0; left: 0;}
#video_modal.fullscreen .video_main {border-radius: 0; height: 100%; width: 100%; max-width: unset; max-height: unset;}

.video_modal_menu {height: 54px; position: absolute; display: flex; right: 0; top: 0; align-items: center; padding: 0 20px;}
.video_modal_menu > div:first-child {width: max-content; position: absolute; line-height: 54px; right: 63px; color: #FFF; font-size: 16px; font-weight: 500;}
.video_modal_menu > div > i {padding: 10px; font-size: 14px; color: #fff; position: absolute; top: 9px; right: 14px; opacity: 0.5; cursor: pointer; transition: all 0.35s ease-out;}
.video_modal_menu > div > i:hover {opacity: 1;}

.video_modal_body {height: calc(100vh - 100px); width: 100%; display: flex; -webkit-justify-content: center; align-items: center;}
.video_main {position: relative; max-width: 1140px; max-height: 680px; border-radius: 20px; overflow: hidden;}
.video_main > video {object-fit: cover; width: 100%; height: 100%;}

.video_controls_footer_mobile {display: none; color: #FFFFFF; font-size: 20px;}
.video_controls {color: #FFFFFF; font-size: 16px; position: absolute; bottom: 0; left: 0; padding: 16px 40px; height: auto; width: 100%;}
.video_controls::after {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(8, 9, 13, 0.00) 0%, rgba(8, 9, 13, 0.90) 80.37%);}

.video_controls_header {z-index: 2; position: relative; display: flex; margin-bottom: 16px;}
.video_time {margin-left: auto;}

.video_controls_progress {z-index: 2; position: relative; cursor: pointer; width: 100%; height: 3px; border-radius: 20px; background: #D9D9D966; transition: all .1s ease-in-out; margin-bottom: 16px;}
.video_progress {height: 100%; border-radius: 20px; background: #FFFFFF;}

.video_controls_footer {z-index: 2; position: relative; display: flex;}
.video_controls_footer > div {width: 48px; height: 48px; padding: 12px;}
.video_controls_footer > div.disabled {display: none;}
.video_controls_footer i, .video_controls_footer_mobile i {cursor: pointer; width: 24px; line-height: 24px; text-align: center; transition: all .3s ease-in-out;}
.video_controls_footer i:hover, .video_controls_footer_mobile i:hover {text-shadow: 0 0 10px #fff;}
.video_volume {margin-left: auto; display: none;}
.video_controls_footer > div:last-child {margin-left: auto;}

@media only screen and (max-width: 1000px) {
    .video_main {width: 90%;}
}

@media only screen and (max-width: 600px) {
    .video_controls {padding: 48px 32px 24px 32px;}
    .video_controls_progress {margin-bottom: 0;}
    .video_controls_footer {display: none;}
    .video_controls_footer_mobile {display: block;}
    .video_pause {
        position: absolute; transition: .5s ease-in-out; top: calc(50% - 29px); left: calc(50% - 29px);
        border-radius: 50%; text-align: center;
        width: 58px; height: 58px; line-height: 58px; box-shadow: -0.73px 0.73px 0.73px -1.46px rgba(255, 255, 255, 0.35) inset;
        backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    }
    .video_next_time {
        display: none; font-size: 16px; position: absolute; top: calc(50% - 16px); right: calc(50% - 80px);
        border-radius: 50%; text-align: center;
        width: 32px; height: 32px; line-height: 32px; box-shadow: -0.73px 0.73px 0.73px -1.46px rgba(255, 255, 255, 0.35) inset;
        backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    }
    .video_prev_time {
        display: none; font-size: 16px; position: absolute; top: calc(50% - 16px); left: calc(50% - 80px);
        border-radius: 50%; text-align: center;
        width: 32px; height: 32px; line-height: 32px; box-shadow: -0.73px 0.73px 0.73px -1.46px rgba(255, 255, 255, 0.35) inset;
        backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    }
    .video_fullscreen {
        position: absolute; transition: .5s ease-in-out; top: 12px; right: 12px; border-radius: 50%; line-height: 48px;
        text-align: center; width: 48px; height: 48px;
        box-shadow: -0.73px 0.73px 0.73px -1.46px rgba(255, 255, 255, 0.35) inset; backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
    #video_modal.fullscreen .video_main {background: #000000;}
    #video_modal.fullscreen .video_main > video {object-fit: scale-down;}
    .video_main {width: 100%; height: auto; margin: 0 12px;}
    #video_modal.fullscreen .video_main {margin: 0;}
}

/* Video Inline */

.video_inline {width: 100%; height: 100%; position: relative; border-radius: 0; overflow: hidden;}
.video_inline .video_modal_body {height: 100%; width: 100%; display: block;}
.video_inline .video_main {width: 100%; height: 100%; max-width: none; max-height: none; border-radius: 0; margin: 0;}
.video_inline .video_controls {border-radius: 0;}

#portfolio_header .video_inline {margin-top: 50px;}
#approach .video_inline {margin-top: 24px;}
#videos .video_inline {margin-top: 24px;}
#videos .flickity-slider .video_inline {margin-top: 0;}
#videos .flickity-slider .video_inline {margin-right: 24px;}

@media only screen and (max-width: 1024px) {
    #portfolio_header .video_inline {margin-top: 24px;}
}

/* ------------------------------- FLICKITY ------------------------------- */

.flickity-enabled {position: relative;}
.flickity-enabled:focus {outline: none;}

.flickity-viewport {position: relative; height: 100%;}
.flickity-slider {position: absolute; width: 100%; height: 100%;}

/* draggable */

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;
    user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {cursor: move; width: 100%; cursor: -webkit-grab; cursor: grab;}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {cursor: -webkit-grabbing; cursor: grabbing;}

/* flickity-button */

.flickity-button {position: absolute; background: #F3F3F3; border: none;}
.flickity-button:hover {background: white; cursor: pointer;}
.flickity-button:focus {outline: none;}
.flickity-button:disabled {opacity: 0; cursor: auto; pointer-events: none;}

.flickity-button-icon {fill: currentColor; color: #111111;}


/* previous/next buttons */

.flickity-prev-next-button {width: 24px; height: 24px; top: 50%; transform: translateY(-50%); background: transparent;}
.flickity-prev-next-button:hover {background: transparent;}
.flickity-prev-next-button:focus {outline: none !important;}
.flickity-prev-next-button.no-svg {color: #777;}
.flickity-prev-next-button.previous {left: -25px;}
.flickity-prev-next-button.next {right: -25px;}

/* page dots */

.flickity-page-dots {
    position: absolute; width: 100%; bottom: -25px; padding: 0; margin: 0; list-style: none; text-align: center; line-height: 1;
}
.flickity-rtl .flickity-page-dots {direction: rtl;}
.flickity-page-dots .dot {
    display: inline-block; width: 10px; height: 10px; margin: 0 8px; background: #333; border-radius: 50%; opacity: 0.25;
    cursor: pointer;
}
.flickity-page-dots .dot.is-selected {opacity: 1;}

/* ------------------------------- SCROLL ------------------------------- */

html.has-scroll-smooth {overflow: hidden;}
html.has-scroll-dragging {-webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}
.has-scroll-smooth body {overflow: hidden;}
.has-scroll-smooth [data-scroll-container] {min-height: 100vh;}
[data-scroll-direction="horizontal"] [data-scroll-container] {height: 100vh; display: inline-block; white-space: nowrap;}
[data-scroll-direction="horizontal"] [data-scroll-section] {
    display: inline-block; vertical-align: top; white-space: nowrap; height: 100%;
}
.c-scrollbar {
    position: absolute; right: 0; top: 0; width: 11px; height: 100vh; transform-origin: center right;
    transition: transform 0.3s, opacity 0.3s; opacity: 0; z-index: 99999;
}
.c-scrollbar:hover {transform: scaleX(1);}
.c-scrollbar:hover, .has-scroll-scrolling .c-scrollbar, .has-scroll-dragging .c-scrollbar {opacity: 1;}
[data-scroll-direction="horizontal"] .c-scrollbar {width: 100%; height: 10px; top: auto; bottom: 0; transform: scaleY(1);}
[data-scroll-direction="horizontal"] .c-scrollbar:hover {transform: scaleY(1.3); }
.c-scrollbar_thumb {
    position: absolute; top: 0; right: 0; background-color: rgba(0, 0, 0, 0.4); width: 7px;
    border-radius: 10px; margin: 2px; cursor: grab;
}
.has-scroll-dragging .c-scrollbar_thumb {cursor: grabbing;}
[data-scroll-direction="horizontal"] .c-scrollbar_thumb {right: auto; bottom: 0;}

.is-inview {opacity: 1; transform: none;}

html.lenis{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-scrolling iframe{pointer-events:none}

/* media page */

#media_page {padding-top: 80px; background: #FFFFFF; color: #111111; padding-bottom: 100px;}
#media_page .media_header {display: flex; justify-content: space-between; align-items: center; margin-bottom: 70px;}
#media_page .media_title h1 {font-size: var(--font-80); font-weight: 500; margin: 0; line-height: 90%;}
#media_page .media_title h2 {font-size: var(--font-80); font-weight: 500; margin: 0;}
#media_page .media_desc {width: 400px;}
#media_page .media_desc p {font-size: var(--font-20); margin-bottom: 30px; color: #111111;}
#media_page .media_desc .request_btn_wrap {width: 100%; max-width: 220px;}

#media_page .media_grid {display: flex; flex-wrap: wrap; gap: 40px; margin-bottom: 100px; overflow: hidden;}
#media_page .media_item {width: calc(50% - 20px); padding-bottom: 40px; order: 2; display: flex; gap: 20px;}
#media_page .media_item.big {width: calc(50% - 20px); order: 1; flex-direction: column; gap: 0; position: relative; padding-bottom: 80px; margin-bottom: 60px;}
#media_page .media_item.big::before {
    content: ""; display: block; height: 1px; width: calc(100% + 40px); position: absolute;
    bottom: 0; left: 0; background: #868686;
}
#media_page .media_image {width: 40%; min-height: 340px; height: 100%; overflow: hidden;}
#media_page .media_item.big .media_image {margin-bottom: 25px; height: 360px;}
#media_page .media_image img {width: 100%; height: 100%; object-fit: cover; transition: 0.5s;}
#media_page .media_item.big .media_image {width: 100%;}
#media_page .media_item:hover .media_image img {transform: scale(1.05);}
#media_page .media_content {width: 60%; display: flex; gap: 40px; flex-direction: column;}
#media_page .media_info {display: flex; flex-direction: column; height: 100%;}
#media_page .media_item.big .media_content {flex-direction: row; width: 100%;}
#media_page .media_type {width: 100px; flex-shrink: 0;}
#media_page .media_item.big .media_type {width: 160px;}
#media_page .media_type img {max-width: 100%; height: auto; margin-top: 12px;}
#media_page .media_info h3 {font-size: var(--font-30); font-weight: 500; margin-bottom: 20px; line-height: 90%; text-decoration: underline; text-decoration-color: rgba(0, 0, 0, 0); transition: .3s ease-in-out;}
#media_page .media_item:hover h3 {text-decoration-color: #868686;}
#media_page .media_info p {font-size: var(--font-17); margin-bottom: 40px; padding-right: 40px; text-decoration: underline; text-decoration-color: rgba(0, 0, 0, 0); transition: .3s ease-in-out;}
#media_page .media_item:hover p {text-decoration-color: #868686;}
#media_page .read_link {display: flex; align-items: center; gap: 30px; text-decoration: none; color: #111111; font-size: var(--font-17); margin-top: auto;}
#media_page .read_link img {width: 24px;}
#media_page .read_link span {border-bottom: 1px solid #111111;}
#media_page .media_grid .request_btn_wrap {display: none;}
#media_page .media_grid.articles {gap: 60px;}
#media_page .media_grid.articles .media_type {width: 160px;}
#media_page .media_grid.articles .media_item {border-bottom: 1px solid #868686; margin-bottom: 0; padding-bottom: 60px;}
#media_page .media_grid.articles .media_item {width: 100%;}
#media_page .media_grid.articles .media_type {margin-bottom: auto;}
#media_page .media_grid.articles .media_info {height: fit-content; position: relative;}
#media_page .media_grid.articles .media_info h3 {max-width: 600px;}
#media_page .media_grid.articles .media_info p {max-width: 600px;}
#media_page .media_grid.articles .media_info p.date {position: absolute; bottom: 0; left: 0; margin-bottom: 0; color: #868686;}
#media_page .media_grid.articles .read_link {margin-top: 40px; width: fit-content; margin-left: auto; flex-direction: row-reverse;}

#media_page .media_bottom_section {border-top: 1px solid #868686; padding-top: 100px;}
#media_page .comments_grid {display: flex; gap: 20px;}
#media_page .comments_grid.comments {flex-wrap: wrap;}
#media_page .comments_grid.comments .comment_card {width: calc(33.3333% - 14px); flex: unset;}
#media_page .comment_card {flex: 1; background: #F5F5F5; padding: 40px 30px; display: flex; flex-direction: column; transition: .3s ease-in-out;}
#media_page .comment_card:hover {background: #E4E4E4;}
#media_page .comment_date {font-size: var(--font-17); color:#868686; margin-bottom: 16px;}
#media_page .comment_card h3 {font-size: var(--font-22); font-weight: 500; margin-bottom: 10px; flex-grow: 0; text-decoration: underline; text-decoration-color: rgba(0, 0, 0, 0); transition: .3s ease-in-out;}
#media_page .comment_card:hover h3 {text-decoration-color: #868686;}
#media_page .comment_card p {font-size: var(--font-17); margin-bottom: 40px; flex-grow: 1; text-decoration: underline; text-decoration-color: rgba(0, 0, 0, 0); transition: .3s ease-in-out;}
#media_page .comment_card:hover p {text-decoration-color: #868686;}
#media_page .comment_author {display: flex; align-items: center; gap: 18px; margin-bottom: 80px;}
#media_page .comment_author img {width: 40px; height: 40px; border-radius: 50%; object-fit: cover;}
#media_page .comment_author div {font-size: var(--font-17);}
#media_page .comment_source {font-size: var(--font-17);}
#media_page .comment_source a {text-decoration: underline; color: #111111;}
#media_page .comments_grid .request_btn_wrap {display: none;}

@media (max-width: 1024px) {
    #media_page {padding-top: 30px;}
    #media_page .media_header {flex-direction: column; align-items: flex-start; margin-bottom: 40px;}
    #media_page .media_desc {width: 100%; margin-top: 24px;}
    #media_page .media_desc p {font-size: 20px; margin-bottom: 0;}
    #media_page .media_desc .read_all {display: none;}
    #media_page .media_item .media_image {height: 234px; min-height: 234px;}
    #media_page .media_item.big {padding-bottom: 0; margin-bottom: 0;}
    #media_page .media_item.big::before {display: none;}
    #media_page .media_item.big .media_image {height: 234px; min-height: 234px;}
    #media_page .media_item .media_content {position: relative;}
    #media_page .media_item .media_type {position: absolute; left: 0; bottom: 0; width: auto; height: 21px;}
    #media_page .media_type img {height: 100%; width: auto; margin-top: 0;}
    #media_page .media_info h3 {font-size: 28px; margin-bottom: 16px;}
    #media_page .media_info p {font-size: 17px; padding-right: 0; margin-bottom: 30px;}
    #media_page .read_link {margin-left: auto; width: fit-content; gap: 12px; flex-direction: row-reverse; font-size: 14px;}
    #media_page .read_link img {width: 18px; min-width: 18px;}
    #media_page .media_grid {gap: 60px; margin-bottom: 40px;}
    #media_page .media_image {width: 100%;}
    #media_page .media_item {width: 100% !important; padding-bottom: 0; flex-direction: column; display: none;}
    #media_page .media_item:nth-last-of-type(-n+4) {display: flex;}
    #media_page .media_grid.articles .media_item:last-of-type {border-bottom: none;}
    #media_page .media_content {width: 100%;}
    #media_page .media_grid.articles .read_link {margin-top: 0;}
    #media_page .media_grid .request_btn_wrap {display: block; order: 3; width: 100%; max-width: 500px;}
    #media_page .comments_grid .request_btn_wrap {display: block; order: 3; width: 100%; max-width: 500px; margin-top: 20px;}
    #media_page .comments_grid {flex-direction: column;}
    #media_page .comments_grid.comments .comment_card {width: 100%;}
    #media_page .media_bottom_section {padding-top: 40px;}
    #media_page .comment_card {padding: 20px;}
    #media_page .comment_date {font-size: 14px;}
    #media_page .comment_card h3 {font-size: 20px;}
    #media_page .comment_card p {font-size: 14px;}
    #media_page .comment_author div {font-size: 14px;}
    #media_page .comment_author {margin-bottom: 40px;}
}

@media (max-width: 600px) {
    #media_page .media_title h1 > br {display: none;}
}

/* portfolio faq */

#portfolio_projects .portfolio_faq {margin: 80px 0;}
#portfolio_projects .portfolio_faq > h2 {font-size: var(--font-40); font-weight: 500; margin: 0 0 40px; line-height: 100%;}
#portfolio_projects .portfolio_faq_list {display: flex; flex-direction: column; border-top: 1px solid #E4E4E4;}
#portfolio_projects .portfolio_faq_list details {border-bottom: 1px solid #E4E4E4;}
#portfolio_projects .portfolio_faq_list summary {list-style: none; cursor: pointer; padding: 24px 40px 24px 0; font-size: var(--font-22); font-weight: 500; position: relative;}
#portfolio_projects .portfolio_faq_list summary::-webkit-details-marker {display: none;}
#portfolio_projects .portfolio_faq_list summary::after {content: "+"; position: absolute; right: 0; top: 20px; font-size: 28px; font-weight: 400; line-height: 1;}
#portfolio_projects .portfolio_faq_list details[open] summary::after {content: "\2212";}
#portfolio_projects .portfolio_faq_list p {font-size: var(--font-17); margin: 0 0 24px; max-width: 900px; color: #444444;}

@media (max-width: 1024px) {
    #portfolio_projects .portfolio_faq {margin: 40px 0;}
    #portfolio_projects .portfolio_faq > h2 {margin-bottom: 24px;}
    #portfolio_projects .portfolio_faq_list summary {padding: 18px 32px 18px 0; font-size: 18px;}
    #portfolio_projects .portfolio_faq_list summary::after {top: 15px;}
    #portfolio_projects .portfolio_faq_list p {font-size: 15px;}
}

/* blog gallery */

.blog_gallery {margin: 30px 0; max-width: 100%; user-select: none;}
.blog_gallery_main {position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: 4px; background: #1a1a1a;}
.blog_gallery_main > img {width: 100%; height: 100%; object-fit: cover; display: block;}
.blog_gallery_prev, .blog_gallery_next {position: absolute; top: 50%; transform: translateY(-50%); cursor: pointer; z-index: 2; opacity: 0.85; transition: opacity 0.2s;}
.blog_gallery_prev:hover, .blog_gallery_next:hover {opacity: 1;}
.blog_gallery_prev {left: 16px;}
.blog_gallery_next {right: 16px;}
.blog_gallery_thumbs {display: flex; gap: 10px; margin-top: 10px; overflow-x: auto;}
.blog_gallery_thumb {width: 150px; height: 100px; flex-shrink: 0; border-radius: 4px; overflow: hidden; cursor: pointer; opacity: 0.6; transition: opacity 0.2s; border: 2px solid transparent;}
.blog_gallery_thumb.active {opacity: 1; border-color: #111;}
.blog_gallery_thumb img {width: 100%; height: 100%; object-fit: cover; display: block;}

@media (max-width: 1024px) {
    .blog_gallery_main {aspect-ratio: 4/3;}
    .blog_gallery_thumb {width: 100px; height: 70px;}
    .blog_gallery_prev svg, .blog_gallery_next svg {width: 36px; height: 36px;}
}


/* --------------------------- BLOG ADVANTAGES --------------------------- */

.blog_advantages {display: flex; margin: 30px 0;}
.blog_advantages_item {flex: 1; padding: 0 30px; border-left: 1px solid #E0E0E0;}
.blog_advantages_item:first-child {border-left: none;}
.blog_advantages_item:last-child {border-right: none;}
.blog_advantages_title {font-size: 32px; font-weight: 500; line-height: 110%; color: #1a1a1a;}
.blog_advantages_desc {font-size: 14px; color: #868686; margin-top: 8px;}

@media (max-width: 768px) {
    .blog_advantages {flex-direction: column; border-left: none; border-top: 1px solid #E0E0E0;}
    .blog_advantages_item {border-left: none; border-top: 1px solid #E0E0E0; padding: 20px 0;}
    .blog_advantages_item:first-child {border-top: none;}
    .blog_advantages_title {font-size: 24px;}
}

/* --------------------------- BLOG TEXTFRAME --------------------------- */

.blog_textframe {margin: 30px 0; padding: 24px; border: 1px solid #111111; border-radius: 0;}
.blog_textframe p {font-size: 22px !important; color: #111111; margin: 0;}

/* --------------------------- MODERN HOUSES --------------------------- */

#modern_houses {margin-top: 40px;}

#modern_houses > .wrap > div:nth-of-type(2) {display: flex; align-items: baseline;}
.link_houses {margin-left: auto; font-size: 14px; font-weight: 500;}
.mobile_link_houses {margin-left: auto; display: none; font-size: 14px; padding-top: 10px; font-weight: 500;}

#modern_houses .houses {display: flex; margin-top: 27px;}

#modern_houses .houses > div {
    margin-left: 24px; max-height: 605px; min-height: 492px; height: 40vw; width: calc(33.3% - 16px); border-radius: 20px; background-size: 110% !important;
    transition: 0.35s ease-in-out; display: flex; flex-direction: column; -webkit-justify-content: flex-end; cursor: pointer;
}
#modern_houses .houses > div:first-child {margin-left: 0;}
#modern_houses .houses > div:hover {
    background-size: 120% !important;
}

.house_info {color: #FFFFFF; padding: 0 32px 32px; width: 100%;}

.house_info .name_house {font-size: var(--font-30); color: #FFFFFF; font-weight: 500; margin-top: 6px;}
.house_info .price_house {
    font-size: var(--font-30); font-weight: 500; margin-top: 6px; pointer-events: none !important; color: #FFFFFF !important;
    cursor: default !important; text-decoration: none !important; -webkit-appearance: none;
}

.house_info .info_house {font-size: 15px;}

.house_spec {display: flex; flex-wrap: wrap; margin-top: 12px; white-space: nowrap;}
.house_spec > div:nth-of-type(3) {white-space: normal;}
.house_spec > div {display: flex; align-items: baseline; margin-right: 16px; margin-bottom: 10px;}
.house_spec > div i {margin-right: 8px;}

@media only screen and (max-width: 1200px) {
    .house_info {padding: 0 24px 24px;}
}

@media only screen and (max-width: 1000px) {
    #modern_houses .houses > div {width: calc(33.3% - 8px); margin-left: 12px;}
}

@media only screen and (max-width: 800px) {
    .houses {flex-direction: column;}
    .houses {flex-wrap: wrap;}
    .house_info {padding: 0 24px 24px;}
    #modern_houses .houses > div {margin-left: 0; width: 100%; margin-top: 24px;}
    #modern_houses .houses > div:first-child {margin-top: 0;}
}

@media only screen and (max-width: 600px) {
    #modern_houses .houses {margin-top: 12px;}
    .house_info .name_house, .house_info .price_house {font-size: 20px;}
    #modern_houses {margin-top: 32px;}
    .mobile_link_houses {display: block;}
    .link_houses {display: none;}
}

/* ------------------------ HOUSES ------------------------ */

#houses h2 {font-size: var(--font-80); line-height: 90%; font-weight: 500;}
#houses .desc {font-size: 17px; margin-top: 30px; display: flex; align-items: flex-start; -webkit-justify-content: space-between;}
#houses .desc .request_btn_wrap {width: 250px;}
#houses .houses_main > .request_btn_wrap.site {display: none;}

.link_more {margin: 80px auto 0;}

.houses_title {display: flex; align-items: center;}
.houses_title > div {width: 50%;}
.houses_title > div:last-child {margin-left: auto; width: calc(50% - 48px); color: #8F97A6; font-size: 16px; font-weight: 400;}
.houses_title h1 {padding-left: 24px; color: #1A222A; font-size: 40px; font-weight: 700; padding-top: 10px; line-height: 120%;}

#houses .houses {display: flex; flex-wrap: wrap; gap: 20px; margin-top: 90px;}
#houses .houses > div {
    display: flex; align-items: flex-end; width: calc(33.333% - 16px); min-height: 440px; max-height: 605px; height: 40vw; transition: .3s ease-in-out;
    border-radius: 0; overflow: hidden; position: relative; padding-top: 20%; cursor: pointer; background-size: 110% !important;
}
#houses .houses > div:hover {background-size: 120% !important;}
#houses .houses > div:first-child {margin-left: 0;}

.houses_main {padding: 140px 140px;}
#houses .houses > div {display: none;}
#houses .houses.active > div {display: flex;}
#houses .houses > div:nth-child(-n+6) {display: flex;}

@media only screen and (max-width: 1600px) {
    .houses_main {padding: 140px 64px;}
}

@media only screen and (max-width: 1200px) {
    .houses_main {padding: 140px 0;}
    #houses.site .houses_main {padding: 60px 0;}
}

@media only screen and (max-width: 1024px) {
    #houses.site .houses_main {padding: 0;}
    #houses {padding: 32px 0;}
    #houses .houses {margin-top: 24px;}
    #houses h2 {font-size: 34px;}
    #houses .desc {font-size: 14px; margin-top: 24px;}
    #houses .desc > br {display: none;}
    #houses .desc .request_btn_wrap {display: none;}
    .link_more {margin: 24px auto 0; max-width: 600px;}
    .houses_title {flex-direction: column; align-items: flex-start;}
    .houses_title > div {width: 100%;}
    .houses_title > div:last-child {width: 100%;margin-top: 12px; font-size: 14px;}
    .houses_title h1 {padding-left: 0; font-size: 24px;}
    #houses .houses > div {margin-left: 0; margin-top: 12px; width: 100%;}
    #houses .houses > div:first-child {margin-top: 0;}
    #houses .houses_main > .request_btn_wrap.site {display: block;}
}

@media only screen and (max-width: 600px) {
    #houses p.desc > br {display: none;}
}

/* ------------------------------- ERROR ------------------------------- */

#service_404 {padding: 74px 0;}
.service_404 {display: flex; flex-direction: column; align-items: center;}
.service_404 > img {max-width: 600px; width: 100%; margin: 0 auto; display: block;}
.service_404 > h1 {font-size: var(--font-50); font-weight: 500; margin-bottom: 50px;}
.service_404 > p {font-size: 17px; margin-bottom: 20px;}
.service_404 > .btn_group {display: flex; margin-top: 50px;}
.service_404 > .btn_group > div {width: 300px;}
.service_404 > .btn_group > div:nth-child(1) {margin-right: 20px;}
.service_404 > .btn_group > div:nth-child(2) .request_btn {border: 1px solid #000000;}

@media (max-width: 800px) {
    #service_404 {padding: 46px 0;}
    .service_404 > h1 {font-size: 34px; margin-bottom: 12px;}
    .service_404 > p {margin-bottom: 12px; text-align: center;}
    .service_404 > p > br {display: none;}
    .service_404 > .btn_group {flex-direction: column; align-items: center; margin-top: 36px; width: 100%;}
    .service_404 > .btn_group > div:nth-child(1) {margin-right: 0; margin-bottom: 20px;}
    .service_404 > .btn_group > div {width: 100%;}
}

@media (max-width: 600px) {
    .service_404 > h1 {text-align: left;}
    .service_404 > p {text-align: left;}
    .service_404 > .btn_group {align-items: flex-start;}
    .service_404 > .btn_group > div {max-width: 600px;}
}

/* ------------------------------- PURCHASE WAYS ------------------------------- */

#purchase_ways {padding: 64px 0;}
#purchase_ways h2 {
    text-align: center; font-size: var(--font-50); font-weight: 500; margin-bottom: 40px; text-transform: none;
}
.purchase_tabs_nav {display: flex; justify-content: center; gap: 12px; margin-bottom: 60px;}
.purchase_tab_btn {
    padding: 12px 20px; border: 1px solid #868686; background: #FFFFFF; color: #111111;
    font-size: 17px; cursor: pointer; transition: .3s ease-in-out;
}
.purchase_tab_btn.active {background: #0C0C54; border-color: #0C0C54; color: #FFFFFF;}
.purchase_tab_btn:hover:not(.active) {border-color: #0C0C54;}
.purchase_tab_item {visibility: hidden; opacity: 0; width: 100%; min-width: 100%; display: flex; flex-direction: column; -webkit-justify-content: center; position: relative; z-index: 1;}
.purchase_tab_item:nth-of-type(2) {left: -100%;}
.purchase_tab_item:nth-of-type(3) {left: -200%;}
.purchase_tab_item.active {opacity: 1; visibility: visible; z-index: 2;}
.purchase_tabs_content {padding: 64px 150px; background: #EBEBEC; display: flex;}

.purchase_tab_grid {display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-bottom: 60px;}
#purchase_ways h3 {font-size: var(--font-50); font-weight: 500; line-height: 90%; margin-bottom: 30px; text-transform: none;}
#tab_ipoteka .purchase_info .request_btn_wrap {width: 100%; max-width: 280px; height: 56px; position: relative; margin-top: 50px;}
.purchase_features ul {margin-bottom: 60px;}
.purchase_features li {font-size: 17px; font-weight: 500; margin-bottom: 40px; text-transform: uppercase; list-style: none;}
.purchase_features p {font-size: 17px; color: #111111; max-width: 555px;}
.purchase_features .request_btn_wrap {display: none;}
.purchase_cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.purchase_card {background: #FFFFFF; padding: 40px; display: flex; flex-direction: column; min-height: 240px; position: relative;}
.purchase_card .card_title {font-size: 34px; font-weight: 500; margin-bottom: 10px; line-height: 90%;}
.purchase_card .card_desc {font-size: 20px; color: #111111; margin-bottom: 20px;}
.purchase_card .card_value {margin-top: auto; align-self: flex-end; font-size: 34px;}
.purchase_card .card_value span {font-size: 100px; font-weight: 500;}
.purchase_card .card_logos {margin-top: auto; display: flex; flex-wrap: wrap; gap: 20px; align-items: center;}
.purchase_card .logo_item img {height: 20px; max-width: 60px; width: auto;}

.purchase_tab_flex {display: flex; align-items: center; gap: 80px;}
.purchase_tab_flex .purchase_info {flex: 1;}
.purchase_tab_flex .purchase_image {flex: 1;}
.purchase_tab_flex .purchase_desc {font-size: 17px; margin-bottom: 40px; max-width: 500px;}
.purchase_icons_grid {
    flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
    position: relative; min-height: 400px;
}
.purchase_icon_item {background: #FFFFFF; padding: 20px; display: flex; flex-direction: column; gap: 80px; height: fit-content;}
.purchase_icon_item:nth-child(1) {grid-column: 1; margin-top: 0;}
.purchase_icon_item:nth-child(2) {grid-column: 2; margin-top: 150px;}
.purchase_icon_item:nth-child(3) {grid-column: 3; margin-top: 0;}
.purchase_icon_item .icon_img {width: 90px; height: 90px; margin-left: auto;}
.purchase_icon_item p {font-size: 17px;}

@media only screen and (max-width: 1300px) {
    .purchase_tabs_content {padding: 64px;}
}

@media only screen and (max-width: 1024px) {
    #purchase_ways {padding: 32px 0;}
    #purchase_ways h2 {font-size: 34px; margin-bottom: 30px;}
    .purchase_tabs_content {padding: 40px 16px;}
    .purchase_tabs_nav {
        overflow-x: auto; padding-bottom: 10px; margin-left: -16px; margin-right: -16px;
        padding-left: 16px; padding-right: 16px; gap: 20px; margin-bottom: 20px;
    }
    .purchase_tab_btn {padding: 10px 14px; font-size: 12px; white-space: nowrap;}
    .purchase_tab_grid {grid-template-columns: 1fr; gap: 0; margin-bottom: 30px;}
    #purchase_ways h3 {font-size: 28px;}
    .purchase_cards {grid-template-columns: 1fr;}
    .purchase_card {padding: 20px; min-height: 160px;}
    .purchase_card .card_title {font-size: 22px;}
    .purchase_card .card_desc {font-size: 17px;}
    .purchase_card .card_value {font-size: 22px;}
    .purchase_card .card_value span {font-size: 55px;}
    .purchase_tab_flex .purchase_desc {margin-bottom: 30px;}
    .purchase_tab_flex {flex-direction: column; gap: 30px; align-items: flex-start;}
    .purchase_icons_grid { display: flex; flex-direction: column; gap: 20px; min-height: auto;}
    .purchase_icon_item {margin-top: 0 !important; width: 100%; display: flex; flex-direction: row; align-items: center; gap: 40px;}
    .purchase_icon_item .icon_img {width: 65px; min-width: 65px; height: 65px; margin-left: 0;}
    .purchase_features {display: flex; flex-direction: column-reverse;}
    .purchase_features ul {margin-top: 30px; margin-bottom: 0;}
    .purchase_features li {font-size: 14px; margin-bottom: 20px;}
    #tab_ipoteka .purchase_info .request_btn_wrap {display: none;}
    .purchase_features .request_btn_wrap {display: block;}
    .purchase_tab_item {-webkit-justify-content: flex-start; display: none;}
    .purchase_tab_item:nth-of-type(2) {left: 0;}
    .purchase_tab_item:nth-of-type(3) {left: 0;}
    .purchase_tab_item.active {display: flex;}
}

/* ------------------------------- SEO (UCHASTKI) ------------------------------- */

.seo_article {background: #FFFFFF; padding: 60px 0;}
.seo_article > .wrap > .seo_main {display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start;}
.seo_article.uchastki_1 > .wrap > .seo_main {padding: 0 max(100px, min(150px, 5.2vw));}
.seo_article.uchastki_2 > .wrap > .seo_main {padding: 0 max(100px, min(150px, 5.2vw));}
.seo_article .section + .section {margin-top: 40px;}
.seo_article h2.title.big {font-size: 34px; font-weight: 500; line-height: 90%; margin-bottom: 30px;}
.seo_article .info p {font-size: 17px; margin-top: 30px; color: #111111;}
.seo_article .info .blog_textframe p:first-child {margin-top: 0;}
.seo_article .info b {font-weight: 500;}
.seo_article ul {list-style: disc; margin-left: 20px; margin-top: 24px; margin-bottom: 24px;}
.seo_article ul > li {list-style: disc; margin-bottom: 10px; font-size: 17px;}
.seo_article ol {list-style: decimal; margin-left: 20px; margin-top: 24px; margin-bottom: 24px;}
.seo_article ol > li {list-style: decimal; margin-bottom: 10px; font-size: 17px;}
.seo_article table {width: 100%; margin: 16px 0 24px; border-collapse: collapse;}
.seo_article table tr {border-bottom: 1px solid #EBEBEC;}
.seo_article table tr:first-child td {color: #868686; font-size: 14px; padding: 8px 0 12px;}
.seo_article table td {padding: 14px 0; font-size: 17px; color: #111111;}
.seo_article .blog_img {margin-top: 60px;}
.seo_article .blog_img > img {width: 100%; display: block;}
.seo_article .blog_img > div {margin-top: 14px; font-size: 14px;}

.seo_aside {width: 100%; display: none;}
.seo_article.uchastki_1 .seo_aside {display: block; position: sticky; top: 100px;}
.seo_cta {background: #EBEBEC; padding: 30px 42px; position: sticky; top: 120px;}
.seo_cta_title {font-size: 22px; font-weight: 500; margin-bottom: 16px;}
.seo_cta_text {font-size: 17px; color: #868686; margin-bottom: 20px;}
.seo_cta .request_btn_wrap {width: 100%;}

@media only screen and (max-width: 1600px) {
    .seo_article.uchastki_1 > .wrap > .seo_main {padding: 0;}
    .seo_article.uchastki_2 > .wrap > .seo_main {padding: 0;}
}

@media only screen and (max-width: 1280px) {
    .seo_article table td {font-size: 14px;}
}

@media only screen and (max-width: 1024px) {
    .seo_article {padding: 30px 0;}
    .seo_article > .wrap > .seo_main {display: block;}
    .seo_aside {display: none;}
    .seo_article .blog_img {margin-top: 60px;}
    .seo_article .seo_table_wrap {overflow-x: auto; -webkit-overflow-scrolling: touch;}
    .seo_article .seo_table_wrap table {min-width: 800px;}
    .seo_article .info p {font-size: 17px;}
    .seo_article ul > li {font-size: 17px;}
    .seo_article table td {font-size: 17px;}
    .seo_article.uchastki_1 .seo_aside {margin-top: 30px;}
}