body {
    font-family: 'Mulish', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.625;
    color: #202020;
    background: #fff;
    margin: 0;
    padding: 0;
}

:root{
    --color--black: #202020;
    --color--white: #FFFFFF;
    --color--brown: #807E7D;
    --color--theme: #DFC29B;
    --color--theme-hover: #D2B389;
    --color--theme-darkest: #AF9470;
    --color--theme-light:  #FAF7F1;
    --color--theme-beige:  #C7BFB4;
    
    --color--theme-green: #3A9332;
    --color--theme-white-green: #5BA554;
    --color--theme-dark-green: #235C2F;

    --transition--main: all 300ms;
}

.c-theme-darkest {
    color: var(--color--theme-darkest);
}

.c-theme-brown {
    color: var(--color--brown);
}

.p-md {
    font-size: 1.125em;
}

.p-sm {
    font-size: 0.75em;
    line-height: 1.33;
}

body.no_scroll {
    height: 100% !important;
    overflow: hidden !important;
}

a {
    text-decoration: none;
}

:active, :hover, :focus {
	outline: 0 !important;
	outline-offset: 0 !important;
}

span, a, label, ul, div {
	-webkit-tap-highlight-color: transparent;
}

.h2, h2{
    font-family: "Mulish", sans-serif;
    font-weight: 800;
    font-size: 2.25em;
    line-height: 1.5;
}

h2 span {
    color: var(--color--theme-white-green);
}

.h3, h3 {
    font-family: "Mulish", sans-serif;
    font-weight: 700;
    font-size: 1.5em;
    line-height: 1.25;
}

.h4, h4 {
    font-family: "Mulish", sans-serif;
    font-weight: 400;
    font-size: 1.25em;
    line-height: 1.2;
}

h1, .h1 {
    font-size: 2.375em;
    line-height: 1.5;
    font-family: "Mulish", sans-serif;
    font-weight: 800;
}

.h3_big {
    font-size: 2em;
    line-height: 0.875;
}

.regular {
    font-weight: 400;
}

.gap-40 {
    gap: 40px;
}

a {
    outline: none;
}


.button {
    display: inline-flex;
    border-radius: 14px;
    border: 1px solid var(--color--theme);
    background-color: var(--color--theme);
    color: var(--color--white);
    font-weight: 600;
    padding: 12px 40px;
    text-shadow: 1px 1px 1px var(--color--theme-darkest);
    border: none;
    transition: var(--transition--main);
}

.button.g-button {
    border: 1px solid var(--color--theme-green);
    background-color: var(--color--theme-white-green);
    text-shadow: 1px 1px 1px var(--color--theme-dark-green);
}

.ring-button {
    position: relative;
    background-image: url(../img/ring_icon.svg);
    background-position: 40px center;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    padding-left: 68px;
    min-width: 245px;
}

.genplan-button {
    position: relative;
    background-image: url(../img/plan_icon.svg);
    background-position: 40px center;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    padding-left: 68px;
}

.button:hover {
    background-color: var(--color--theme-hover);
    color: var(--color--white);
}

.button.g-button:hover {
    border: 1px solid var(--color--theme-hover);
    background-color: var(--color--theme);
    text-shadow: 1px 1px 1px var(--color--theme-darkest);
}

.dotted-link {
    color: var(--color--theme-white-green);
    text-decoration-line: underline;
    text-decoration-style: dotted;
    text-decoration-skip-ink: none;
    text-decoration-thickness: 14%;
    text-underline-offset: 40%;
    text-underline-position: from-font;
}

.dotted-link:hover {
    color: var(--color--theme-dark-green);
    transition: var(--transition--main);
}

/* header */

header {
    padding: 34px 0 30px;
}

.main_menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.main_menu ul li a {
    color: var(--color--black);
}

.main_menu ul li a:hover {
    color: var(--color--theme);
    transition: var(--transition--main);
}

/* first screen */

.first_screen {
    background: url(../img/main_bg.jpeg) center center no-repeat;
    background-size: cover;
    min-height: 80vh;
    max-height: 834px;
    height: 100%;
}

.first_screen .container {
    margin-bottom: 60px;
}

.first_screen svg {
    position: absolute;
    left: -13px;
}

.about_wrapper {
    padding: 50px 0 0 0;
    border-radius: 20px;
    background: var(--color--white);
    overflow: hidden;
}

.about_wrapper .about_top__wrapper {
    padding: 0 40px 40px;
}

.about_wrapper .about_top__wrapper .h1 {
    line-height: 0.58;
}

.about_wrapper .about_top__wrapper .h1.first-child {
    margin-bottom: 30px;
}

.about_wrapper .about_top__wrapper .h1 span {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.375;
}

.about_wrapper img {
    position: absolute;
    width: 50px;
    height: 50px;
    right: 0;
    top: 25px;
}

.about_wrapper .about_button__wrapper a {
    display: block;
    text-align: center;
    padding: 17px 40px;
    border: 1px solid var(--color--theme-green);
    background: var(--color--theme-white-green);
    color: var(--color--white);
    text-shadow: 1px 1px 1px var(--color--theme-dark-green);
    transition: var(--transition--main);
}

.about_wrapper .about_button__wrapper a:hover {
    border: 1px solid var(--color--theme-hover);
    background-color: var(--color--theme);
    text-shadow: 1px 1px 1px var(--color--theme-darkest);
}


/* info block */

.info_block__item .short_info__items {
    display: flex;
    align-items: center;
    list-style: none;
    font-size: 1em;
    line-height: 1.5;
    color: var(--color--brown);
    margin: 0 0 0 18px;
    padding: 0;
    gap: 18px;
}

.info_block__item .short_info__items li {
    display: flex;
    align-items: center;
}

.info_block__item .short_info__items li img {
    margin-right: 6px;
}

.info_block__item.logo_wrapper {
    border-radius: 20px;
    border: 1px solid var(--color--theme);
    background: var(--color--white);
    padding: 34px 3px;
}

.info_block__item.logo_wrapper img {
    width: 112px;
    height: auto;
}


/* project block */

.project_block {
    background-color: var(--color--theme-light);
    overflow: hidden;
}

.project_block .custom_nav:hover svg path:first-child {
    fill: var(--color--white);
}

.project_block .custom_nav:hover svg path:nth-child(2) {
    stroke: var(--color--theme);
} 

/* full info block */

.full_info_block {
    padding: 100px 0 60px;
}

/* full info block */

.full_about_block {
    padding: 100px 0 32px;
    background-color: var(--color--theme-light);
}

.project_item__slide {
    border-radius: 20px;
    border: 1px solid var(--color--theme-theme);
    background-color: var(--color--white);
    margin: 0 15px; 
    cursor: pointer;
}

.project_item__slide .h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--color--black);
    padding: 28px 30px 22px;
}

.project_item__slide span first-child {
    width: calc(100% - 35px);
}

.project_item__slide .h3 span:last-child {
    width: 20px;
    height: 10px;
    background: url(../img/arrow_slide_title.svg) center center no-repeat;
    background-size: cover;
}

.project_item__slide:hover .h3 span:last-child {
    background: url(../img/arrow_slide_title_hover.svg) center center no-repeat;
    background-size: cover;
}


/* advantages block */

.advantages_block {
    padding: 60px 0 20px;
    background: url(../img/green_bg.jpeg) center center no-repeat;
    background-size: cover;
}


/* genplan block */

.genplan_block {
    padding-top: 60px;
    position: relative;
}

.genplan_block .container {
    position: relative;
    z-index: 3;
}

.genplan_block iframe {
    margin-top: -112px;
    margin-bottom: -7px;
    z-index: 1;
}

.map_overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* build block */

.build_block {
    padding: 100px 0 32px;
}

.build_item__slide {
    margin: 0 15px;
    height: 296px;
    cursor: pointer;
}

.build_item__slide img {
    height: 100%;
    object-fit: cover;
}

.build_block .slick-list:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    height: 100%;
    width: 300px;
    background: linear-gradient(90deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
    z-index: 2;
}

.build_block .slick-list:after {
    position: absolute;
    content: '';
    right: 0;
    top: 0;
    height: 100%;
    width: 300px;
    background: linear-gradient(270deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
    z-index: 2;
}

.build_block .custom_nav {
    position: absolute;
    top: calc(50% - 25px);
    width: auto;
    cursor: pointer;
    z-index: 3;
    transition: var(--transition--main);
}

.build_block .custom_nav.custom_prev {
    left: 80px;
}

.build_block .custom_nav.custom_next {
    right: 80px;
}

.build_block .custom_nav:hover svg path:first-child {
    fill: var(--color--theme);
}

.build_block .custom_nav:hover svg path:nth-child(2) {
    stroke: var(--color--white);
}


/* flats block */

.flats_block {
    padding: 100px 0 60px;
    background-color: var(--color--theme-light);
}

.tags_block {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 10px;
}

.tags_block li a {
    display: block;
    padding: 11px 28px;
    color: var(--color--black);
    border-radius: 14px;
    border: 1px solid var(--color--theme-beige);
    background: var(--color--white);
    transition: var(--transition--main);
}

.tags_block li.active a,
.tags_block li a:hover {
    color: var(--color--white);
    border: 1px solid var(--color--theme-green);
    background: var(--color--theme-white-green);
}

.flats__slider .slick-list {
    margin: 0 -15px;
}

.flat_item__slide {
    margin: 0 15px;
    border-radius: 20px;
    border: 1px solid var(--color--theme-beige);
    background-color: var(--color--white);
    overflow: hidden;
}

.flat_item__slide .flat_info {
    padding: 10px 30px 30px;
}

.flat_item__slide .flat_info h3 {
    letter-spacing: -0.3px;
}

.flat_item__slide .flat_info > div {
    color: var(--color--brown);
    display: flex;
    align-items: center;
}

.flat_item__slide .flat_info .flat_info__image {
    margin-right: 7px;
}

.flat_item__slide .flat_info .flat_info__name {
    max-width: calc(100% - 83px);
}

.flat_item__slide .flat_info .flat_info__value {
    font-weight: 700;
}

.custom_nav_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

.custom_nav_wrap .custom_nav {
    cursor: pointer;
}

.flats_block .custom_nav:hover svg path:first-child {
    fill: var(--color--white);
}

.flats_block .custom_nav:hover svg path:nth-child(2) {
    stroke: var(--color--theme);
} 

.flats_block .custom_pagination {
    margin: 0 32px;
}

.flats_block .custom_pagination .slick-dots {
    position: relative;
    bottom: auto;
}

.flats_block .custom_pagination ul li {
    display: inline-flex;
    width: auto;
    height: auto;
}

.flats_block .custom_pagination ul li.slick-active span svg path {
    fill: var(--color--theme);
}

/* calc block */

.calc_block {
    padding: 100px 0 60px;
    background-color: var(--color--black);
}

.calc_block .tags_block li a {
    color: var(--color--white);
    border: 1px solid var(--color--theme-green);
    background: transparent;
}

.calc_block .tags_block li.active a,
.calc_block .tags_block li a:hover {
    background: var(--color--theme-green);
}

.calc_block form .input_wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 19px 30px;
    border-radius: 20px;
    background: var(--color--white);
}

.calc_block form .input_wrapper * {
    color: var(--color--brown);   
} 

.calc_block form .input_wrapper input {
    font-size: 1.125em;
    font-weight: 800;
    color: var(--color--black); 
    text-align: right;
    width: 100%;
    border: none;
    background-color: transparent;
}

.calc_block form .input_wrapper input::placeholder {
    color: var(--color--black);
}

.calc_block form .input_wrapper__input-wrap {
    display: flex;
    align-items: center;
}

.calc_block form .input_wrapper .input_wrapper__title {
    max-width: 200px;
    width: 100%;
}

.calc_block form .input_wrapper .input_wrapper__value {
    width: 120px;
    margin-right: 20px;
}

.calc_block .calc_result_table_row {
    border-bottom: 1px solid var(--color--brown);
    padding: 20px 0;
}

.calc_block .calc_result_table_row.calc_result_table_header {
    font-size: 1.125em;
    color: var(--color--brown);
    padding: 30px 0;
    border-top: 1px solid var(--color--brown);
}


.calc_block .calc_result_table_row .table_row {
    max-width: 10%;
    width: 100%;
}

.calc_block .calc_result_table_row .table_row:first-child {
    max-width: 50%;
    width: 100%;
}

.calc_block .calc_result_table_row .table_row:last-child {
    text-align: right;
    max-width: 15%;
}

.calc_block .calc_result_table_row .table_row .calc_bank__logo {
    width: 88px;
}

.calc_block .calc_result_table_row .table_row .calc_bank__logo img {
    width: 100%;
    height: auto;
}

.calc_block .calc_result_table_row .table_row .calc_bank__descr {
    margin-left: 30px;
}

.calc_block .calc_result_table_row .table_row .calc_bank__descr .calc_bank__way {
    font-size: 0.875em;
    color: var(--color--theme-beige);
}

.calc_block .calc_result_table_row.calc_result_table_noresults {
    padding: 30px 0;
}

.calc_block .calc_result_table_row.calc_result_table_noresults .table_row {
    max-width: 100%;
    font-size: 0.875em;
    color: var(--color--theme-beige);
}

/* about psk block */

.about_psk img {
    width: 150px;
    height: auto;
    margin-right: 20px;
}

.about_psk div {
    max-width: 450px;
    color: var(--color--theme-darkest);
}

.about_psk__image {
    max-height: 780px;
    object-fit: cover;
}

.advg_item {
    line-height: 0.58;
}

.advg_item span {
    display: block;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.375;
    margin-top: 10px;
}

/* callback block */

.callback_block {
    padding: 100px 0 70px;
    background: url(../img/green_bg.jpeg) center center no-repeat;
    background-size: cover;
}

.button_wrapper {
    text-align: center;
}

.button_wrapper span {
    font-size: 0.875em;
    line-height: 1.3
}

/* contacts block */
 
#contacts_map {
    height: 550px;
    width: 100%;
}

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

.contacts_list li {
    display: flex;
    margin-bottom: 30px;
}

.contacts_list li span:first-child {
    margin-right: 10px;
}

.contacts_list li a {
    color: var(--color--theme);
    transition: var(--transition--main);
}

.contacts_list li a:hover {
    color: var(--color--theme-white-green);
}

/* */

.footer_top {
    padding: 40px 0;
    background-color: var(--color--black);
}

footer .main_menu ul {
    margin-top: 8px;
    align-items: flex-start;
}

footer .main_menu ul li a {
    color: var(--color--white);
}

footer .main_menu ul li ul {
    display: none;
    flex-direction: column;
    margin-top: 12px;
}

footer .main_menu ul li ul li {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
}

footer .main_menu ul li ul li:last-child {
    margin-bottom: 0;
}

footer .main_menu ul li ul li a {
    font-size: 0.875em;
    line-height: 1.3;
}

footer .main_menu ul li ul li:before {
    content: '';
    width: 3px;
    height: 3px;
    border-radius: 100%;
    background-color: var(--color--theme);
    margin-right: 6px;
}

footer .main_menu ul li.has_child {
    position: relative;
    max-width: 190px;
    width: 100%;
}

footer .main_menu ul li.has_child > span {
    display: inline-flex;
    margin-left: 8px;
    cursor: pointer;
    z-index: 8;
}

footer .main_menu ul li.has_child.active > span {
    transform: rotate(180deg);
}

.footer_bottom {
    background-color: #101010;
}

.link_footer {
    display: block;
    font-size: 0.75em;
    line-height: 1.5;
    color: var(--color--theme);
    transition: var(--transition--main);
}

.link_footer:hover {
    color: var(--color--theme-white-green);
}

.link_footer__small {
    display: block;
    font-size: 0.625em;
    line-height: 1.4;
    color: var(--color--brown);
    transition: var(--transition--main);
}

.link_footer__small:hover {
    color: var(--color--theme);
}

.copyright {
    font-size: 0.625em;
    line-height: 1.4;
    color: var(--color--brown);
}

.footer_contacts {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 6px;
}

.footer_contacts li {
    display: flex;
}

.footer_contacts li a {
    color: var(--color--white);
}

.footer_contacts li .p-sm {
    color: var(--color--white);
}

.oferta_info,
.footer_contacts li .p-sm span {
    display: block;
    font-size: 0.625em;
    line-height: 1.4;
    color: var(--color--brown);
}

.footer_contacts li > span:first-child {
    margin-right: 4px;
    line-height: 1;
}

.oferta_info span:first-child {
    margin-right: 4px;
}

/* popups */

.popup {
	display: none;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: 500px;
	width: 100%;
	border-radius: 20px;
	background-color: var(--color--white);
	z-index: 102;
    padding: 30px;
}

.popup.order-popup {
    z-index: 103;
}

.popup.contacts-popup {
    padding: 60px 60px 30px;
}

.popup.info-popup {
    max-width: 900px;
    padding: 60px 36px 60px 88px;
    height: 720px;
    max-height: calc(100vh - 100px);
}

.popup.info-popup,
.popup.order-popup,
.popup.contacts-popup {
    padding-top: 68px;
}

.popup_close {
    position: absolute;
    top: 30px;
    right: 30px;
    cursor: pointer;
    transition: var(--transition--main);
}

.popup_close:hover svg path {
    stroke: var(--color--black);
}

.popup.show {
	display: block;
}

.popup_overlay {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(32,32,32,0.9);
	z-index: 100;
}

.order-popup__overlay.popup_overlay {
    z-index: 101;
}

.popup_overlay.active {
	display: block;
}

.order-popup .h4 {
    color: var(--color--theme-beige);
    padding: 0 30px;
}

.order-popup .h3 {
    padding: 0 30px;
}

.order-popup > img {
    position: absolute;
    top: 17px;
    left: 0;
    width: 50px;
    height: 50px;
}

.order-popup form input[type=text],
.order-popup form input[type=tel] {
    padding: 19px 30px 19px 62px;
    color: var(--color--black);
    border-radius: 14px;
    border: 1px solid var(--color--theme-beige);
    background: var(--color--white);
    margin-bottom: 20px;
}

.order-popup form input[type=text]::placeholder,
.order-popup form input[type=tel]::placeholder {
    color: var(--color--theme-beige);
}

.order-popup form input[type=text] {
    background-image: url(../img/input_name_icon.svg);
    background-position: 30px center;
    background-size: 18px 18px;
    background-repeat: no-repeat;
}

.order-popup form input[type=tel] {
    background-image: url(../img/input_phone_icon.svg);
    background-position: 30px center;
    background-size: 18px 18px;
    background-repeat: no-repeat;
}

.order-popup .checkbox_wrap span {
    margin-left: 8px;
    max-width: calc(100% - 26px);
    font-size: 0.875em;
    line-height: 1.3;
}

.order-popup .checkbox_wrap span a {
    color: var(--color--theme-white-green);
}

.order-popup form input[type=checkbox] {
    appearance: none;
    background-image: url(../img/checkbox_def.svg);
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    cursor: pointer;
}

.order-popup form input[type=checkbox]:checked {
    background-image: url(../img/checkbox_active.svg);
}

.popup.contacts-popup .contacts_wrap img {
    width: 80px;
    height: 80px;
    margin-right: 14px;
}

.popup.contacts-popup .contacts_wrap .contacts_psk__wrap {
    max-width: calc(100% - 94px);
}

.popup.contacts-popup .contacts_list li {
    margin-bottom: 20px;
}

.popup.contacts-popup .ring-button {
    background-position: calc(50% - 70px) center;
}

.char_block .char_row {
    display: flex;
}

.char_block .char_row span:nth-child(2) {
    position: relative;
    width: 100%;
    line-height: 2.15;
}

.char_block .char_row span {
    white-space: nowrap;
}

.char_block .char_row span:nth-child(2):after {
    content: '';
    display: inline-block;
    width: 99%;
    height: 20px;
    position: absolute;
    left: 51%;
    transform: translateX(-51%);
    top: 15px;
    background-image: radial-gradient( ellipse, var(--color--theme-beige) 0.5px, var(--color--theme-beige) 1px, transparent 0.2px);
    background-size: 8px 8px;
    background-position: 0px 0;
    background-repeat: repeat-x;
}

.info-popup .object_item img {
    margin-right: 8px;
}

.info-popup .object_item span {
    max-width: calc(100% - 28px);
}

.info-popup .info_wrapper {
    overflow: auto;
    height: calc(100% - 60px);
    padding-right: 70px;
}

.info-popup .info_wrapper::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  position: absolute;
}

.info-popup .info_wrapper::-webkit-scrollbar-track {
  background: #ECECEC;
}

.info-popup .info_wrapper::-webkit-scrollbar-thumb {
  background-color: var(--color--theme-white-green);
}

.info-popup .info_wrapper .p-md {
    color: var(--color--theme-darkest);
}

.blueimp-gallery>.slides>.slide>.slide-content {
    border-radius: 20px;
}

.blueimp-gallery>.close {
    color: var(--color--theme-beige);
}

.blueimp-gallery>.close:hover {
    color: var(--color--theme-white-green);
}

@media (min-width: 768px) {
    .container, .container-md, .container-sm {
        max-width: 100%;
    }
}


/*@media (min-width: 992px) {
    .pl-auto {
        padding-left: calc(((100vw - 960px) / 2) + var(--bs-gutter-x) * .5);
    }
}

@media (min-width: 1200px) {
    .pl-auto {
        padding-left: calc(((100vw - 1140px) / 2) + var(--bs-gutter-x) * .5);
    }
}*/


@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1360px;
    }

    .pl-auto {
        padding-left: calc(((100vw - 1360px) / 2) + var(--bs-gutter-x) * .5);
    }
}

@media (max-width: 1400px) {
    .psk_block .pl-auto {
        padding-left: var(--bs-gutter-x);
    }

    .psk_block .container-fluid .row .col-xxl-6:nth-child(2) {
        padding: 0 !important;
    }
}

@media (max-width: 992px) {
    .mb-4 {
        margin-bottom: 1.3rem!important;
    }

    .h2, h2 {
        font-size: 1.5em;
    }

    .gap-40 {
        gap: 20px;
    }

    .button {
        font-size: 1.167em;
        line-height: 1.2;
        border-radius: 10px;
        padding: 12px 40px;
    }

    .ring-button {
        background-position: calc(50% - 75px) center;
        justify-content: center;
        width: 100%;
    }

    body {
        font-size: 12px;
        line-height: 1.33;
    }

    header {
        padding: 20px 0;
    }

    .logo_wrapper {
        text-align: center;
    }

    header .logo img {
        margin: 0 auto;
        height: 32px;
    }

    .main_menu_wrapper,
    header .main_menu {
        display: none;
    }
    .main_menu_wrapper {
        padding: 30px 20px 20px;
        flex-direction: column;;
    }

    .main_menu,
    .main_menu ul {
        width: 100%;
    }

    .main_menu ul {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 20px;
    }

    .main_menu ul li a {
        color: var(--color--white);
        font-size: 1.333em;
        line-height: 1.25;
    }

    header .main_menu ul li ul {
        display: none;
        flex-direction: column;
        margin-top: 12px;
        gap: 6px;
    }

    header .main_menu ul li ul li {
        display: flex;
        align-items: center;
        margin-bottom: 6px;
    }

    header .main_menu ul li ul li:las-child {
        margin-bottom: 0;
    }

    header .main_menu ul li ul li a {
        font-size: 1.167em;
        line-height: 1.3;
    }

    header .main_menu ul li ul li:before {
        content: '';
        width: 3px;
        height: 3px;
        border-radius: 100%;
        background-color: var(--color--theme);
        margin-right: 6px;
    }

    header .main_menu ul li.has_child {
        width: 100%;
    }

    header .main_menu ul li.has_child > span {
        display: inline-flex !important;
        margin-left: 8px;
        cursor: pointer;
        z-index: 8;
    }

    header .main_menu ul li.has_child.active > span {
        transform: rotate(180deg);
    }
    
    .mobile_burder {
        display: flex;
        width: 24px;
        height: 18px;
        background-image: url(../img/menu_burger.svg);
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat;
    }

    header.active {
        background-color: #101010;
    }

    header.active .main_menu_wrapper,
    header.active .main_menu {
        display: flex;
    }

    header.active .main_menu_wrapper {
        position: absolute;
        top: 72px;
        background-color: var(--color--black);
        height: calc(100vh - 72px);
        z-index: 99;
    }

    header.active .logo .d-none {
        display: block !important;
    }

    header.active .logo .d-block {
        display: none !important;
    }

    header.active .mobile_burder {
        background-image: url(../img/menu_close.svg);
        background-size: contain;
    }

    .first_screen {
        position: relative;
        height: auto;
        max-height: 100%;
        min-height: auto;
        padding-top: 130px;
    }

    .first_screen .container {
        margin-bottom: 20px;
    }

    .first_screen .title-wrapper {
        padding-left: 0 !important;
    }

    .first_screen svg {
        display: none;
    }

    .first_screen h1 {
        font-size: 1.8em;
        line-height: 1.3;
        margin-bottom: 0.8rem !important;
    }

    .first_screen .h2 {
        font-size: 1.333em;
        font-weight: 700;
        margin-bottom: 0.8rem !important;
    }

    .first_screen .title-wrapper .h4 {
        font-size: 0.875em;
        margin-bottom: 1.25rem !important;
    }

    .first_screen .col-xxl-3 {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        z-index: 2;
    }

    .about_wrapper {
        padding: 30px 0 0 0;
        border-radius: 0;
    }

    .about_wrapper .about_top__wrapper {
        display: flex;
        padding: 0 0 20px;       
    }

    .about_wrapper img {
        display: none;
    }

    .about_wrapper .about_top__wrapper .h1 {
        width: 50%;
    }

    .about_wrapper .about_top__wrapper .h1.first-child {
        margin-bottom: 0;
    }

    .about_wrapper .about_top__wrapper .h1 span {
        font-size: 1.167rem;
        line-height: 2;
    }

    .about_wrapper .about_button__wrapper a {
        border-radius: 10px;
        font-size: 1.167em;
        line-height: 1;
        padding: 12px 40px;
    }

    .info_block {
        margin-top: 170px;
    }

    .info_block .row .col-12:not(:last-child) {
        width: 100% !important;
    }

    .info_block .row .col-12:nth-child(1) {
        order: 1;
        width: auto !important;
    }

    .info_block .row .col-12:nth-child(2) {
        order: 3;
    }

    .info_block .row .col-12:nth-child(3) {
        order: 4;
    }

    .info_block .row .col-12:nth-child(4) {
        order: 5;
    }

    .info_block .row .col-12:nth-child(5) {
        order: 2;
    }

    .info_block__item .metro_info {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .info_block__item .short_info__items {
        margin-left: 0;
    }

    .info_block__item .metro_info > span {
        margin-bottom: 6px;
    }

    .info_block__item.logo_wrapper {
        border-radius: 6px;
        padding: 11px 1px;
    }

    .info_block__item.logo_wrapper img {
        width: 38px;
    }

    .project_block .container-fluid > .row {
        flex-direction: column-reverse;
    }

    .project_block .custom_nav_wrap {
        position: absolute;
        left: 20px;
        width: calc(100% - 40px);
        justify-content: space-between !important;
        bottom: 20px;
        z-index: 2;
    }

    .full_info_block {
        padding: 40px 0 20px;
    }

    .full_info_block .container .row:nth-child(3) {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .full_info_block .container .row:nth-child(3) .button {
        width: 100% !important;
        justify-content: center;
        margin-right: 0 !important;
    }

    .psk_block .dotted-link,
    .full_info_block .container .row:nth-child(3) .dotted-link {
        font-size: 1.333em;
    }

    .full_about_block {
        padding: 40px 0 20px;
    }

    .project_item__slide .h3 {
        padding: 11px 20px 6px;
        font-size: 1.167em;
    }

    .genplan_block {
        padding-top: 20px;
    }

    .advantages_block .col-12 {
        text-align: center;
    }

    .genplan_block iframe {
        height: 500px;
        margin-top: -62px;
    }

    .genplan-button {
        width: 100%;
        justify-content: center;
        background-position: calc(50% - 75px) center;
    }

    .build_block {
        padding: 40px 0 0;
    }

    .build_block .slick-list:before,
    .build_block .slick-list:after {
        display: none;
    }

    .flats_block {
        padding: 40px 0 20px;
    }

    .tags_block li a {
        border-radius: 8px;
        padding: 10px 14px;
    }

    .flat_item__slide {
        border-radius: 10px;
    }

    .flat_item__slide .flat_info {
        padding: 10px 20px 20px;
    }

    .custom_nav_wrap {
        margin-top: 0;
        justify-content: space-between;
    }

    .flats_block .tags_block__wrap {
        overflow: auto;
    }

    .flats_block .tags_block {
        flex-wrap: unset;
        width: max-content;
    }

    .project_block .custom_nav:hover svg path:first-child,
    .flats_block .custom_nav:hover svg path:first-child {
        fill: var(--color--theme);
    }

    .project_block .custom_nav:hover svg path:nth-child(2),
    .flats_block .custom_nav:hover svg path:nth-child(2) {
        stroke: var(--color--white);
    }

    .calc_block {
        padding: 40px 0 30px;
    }

    .calc_block .calc_result_table_row.calc_result_table_header {
        display: none;
    }

    .calc_block form .input_wrapper .input_wrapper__value {
        width: 100px;
        margin-right: 6px;
    }

    .calc_block form .input_wrapper {
        padding: 14px 20px;
        border-radius: 10px;
        font-size: 1.167em;
    }

    .calc_block .calc_result_table_row .table_row .calc_bank__logo {
        width: 40px; 
    }

    .calc_block .calc_result_table_row {
        flex-direction: column;
    }

    .calc_block .calc_result_table_row .table_row:first-child,
    .calc_block .calc_result_table_row .table_row {
        width: 100%;
        max-width: 100%;
    }

    .calc_block .calc_result_table_row .table_row:first-child {
        padding: 20px 0;
    }

    .calc_block .calc_result_table_row .table_row .calc_bank__descr {
        margin-left: 20px;
    }

    .calc_block .calc_result_table_row .table_row:not(:last-child) {
        margin-bottom: 6px;
    }

    .calc_block .calc_result_table_row .table_row:first-child {
        margin-bottom: 20px;
    }

    .calc_block .calc_result_table_row .table_row:last-child {
        max-width: 100%;
        text-align: left;
    }

    .calc_block .calc_result_table_row .table_row:first-child {
        justify-content: flex-start;
        border-top: 1px solid var(--color--brown);
        border-bottom: 1px solid var(--color--brown);
    }

    .calc_block .calc_result_table_row .table_row:not(:first-child) {
        display: flex;
        justify-content: space-between;  
    }

    .calc_block .calc_result_table_row .table_row:not(:first-child) span:first-child {
        color: var(--color--brown);
    }

    .calc_block .calc_result_table_row {
        border-bottom: none;
    }

    .calc_block .calc_result_table_row.calc_result_table_noresults .table_row {
        text-align: center;
        justify-content: center;
    }

    .psk_block .container-fluid > .row {
        flex-direction: column-reverse;
    }

    .psk_block .container-fluid .row .col-xxl-6:nth-child(2) {
        padding: 0 !important;
    }

    .psk_block .button {
        width: 100% !important;
        justify-content: center;
    }

    .about_psk img {
        width: 100px;
    }

    .advg_item {
        width: 40% !important;
    }

    .button_wrap__contacts {
        flex-direction: column;
        text-align: center;
    }

    .callback_block {
        padding: 60px 0 40px;
        text-align: center;
    }

    .button_wrapper {
        width: 100%;
    }

    .contacts_block .pe-0 {
        padding-left: 0 !important;
    }

    .callback_block .ring-button {
        width: auto;
        padding-left: 68px;
        background-position: 40px center;
    }

    #contacts_map {
        height: 400px;
    }

    .contacts_list li {
        align-items: center;
        margin-bottom: 15px;
    }

    .contacts_list li a,
    .contacts_list li span {
        font-size: 1.333em;
    }

    .blueimp-gallery>.close:hover {
        color: var(--color--theme-beige);
    }

    .footer_top {
        padding: 40px 0 30px;
    }
    
    .footer_top .logo img {
        width: 100px;
    }

    footer .main_menu > ul {
        margin-top: 30px;
        padding-top: 20px;
        border-top: 1px solid var(--color--brown);
        gap: 10px;
    }

    footer .main_menu ul li ul {
        margin-top: 10px;
    }

    footer .main_menu ul li a {
        font-size: 1.167em;
    }

    .footer_bottom .container .row {
        gap: 20px;
    }

    .p-sm,
    .link_footer {
        font-size: 1em;
    }

    .copyright,
    .link_footer__small,
    .oferta_info, .footer_contacts li .p-sm span {
        font-size: 0.875em;
    }

}

@media (max-width: 768px) {
    .popup {
        padding: 32px 16px;
        border-radius: 10px;
    }

    .popup.info-popup, .popup.order-popup, .popup.contacts-popup {
        padding-top: 32px;
    }

    .popup.info-popup {
        padding: 32px 16px 16px;
    }

    .info-popup .info_wrapper {
        height: calc(100% - 80px);
        padding-right: 20px;
    }

    .popup.contacts-popup {
        padding: 30px 20px 20px;
    }

    .char_block .char_row span:nth-child(2):after {
        top: 8px;
        background-image: radial-gradient(ellipse, var(--color--theme-beige) 0.5px, var(--color--theme-beige) 0.5px, transparent 1px);
        background-size: 7px 7px;
    }

    .order-popup > img {
        width: 40px;
        height: 40px;
    }

    .order-popup form input[type=tel],
    .order-popup form input[type=text] {
        font-size: 1.333em;
    }

    .popup_close {
        top: 15px;
        right: 15px;
    }
}

@media (max-width: 600px) {
    .project_full__slider .slick-list {
        padding: 0 100px 0 0;
    }

    .project_item__slide {
        border-radius: 10px;
        margin: 0 5px; 
    } 

    .build__slider {
        padding: 0;
    }

    .build_item__slide {
        margin: 0;
    }

    .build_block .custom_nav svg path:first-child {
        fill: var(--color--theme);
    }

    .build_block .custom_nav svg path:nth-child(2) {
        stroke: var(--color--white);
    }

    .build_block .custom_nav {
        top: auto;
        bottom: 20px;
    }

    .build_block .custom_nav svg {
        width: 40px;
    }

    .build_block .custom_nav.custom_prev {
        left: 0;
    }

    .build_block .custom_nav.custom_next {
        right: 0;
    }

    .flats__slider .slick-list {
        margin: 0;
    }

    .flat_item__slide {
        margin: 0;
    }
}