@charset "utf-8";

/*
09.10.2025
v1.0

.chk_childs - селектор для проверки DIV не имеющих Children, чтобы скрыть DIV
*/

/* ---------- BASE ELEMENTS START ---------- */

HTML {font:normal 10px ProximaNova, sans-serif;}
@media (max-width:300px) {HTML {font-size:50%;}}

:root {
	--base-1:#111;
	--base-2:#222;
	--base-3:#333;
	--base-3a:#3336;
	--base-4:#444;
	--base-5:#d3d3d3;
	--base-6:#f3f5f7;/*#eaedf0*/
	
	/*--blue-0:#b9e4f9;*/
	--blue-1:#4dbaee;/*#72c8f1*/
	--blue-2:#1073a3;
	--blue-3:#062c3e;

	--red:#f03;
	--pink:#ff7373;
	--orange:#f60;
	--green:#62ad34;
	--lightgreen:#A6FF4D;
	--blue:#116cde;
	--violet:#914a9f;
	--yellow:#ffefbf;
	--gold:#fed700;
	--crimson:#dc143c;
	--tomato:#ff6247;
	--chocolate:#d3691f;
	
	--width-1:1000px;
	--width-2:450px;/* Message form */
	
	--scrollbar-width:1rem;
	
	--border-smoothing-modal:1.5rem;/* Modal window */
	--border-smoothing-input:.5rem;
	--border-smoothing-button:.6rem;
	--border-smoothing-label:.4rem;
	--border-smoothing-label-large:.5rem;

	/* BORDER LAYOUT ITEMS */
	--border-width:1px;
	--border-color:var(--base-5);
	--border-smoothing:0rem;

	/* BORDER BLOCKS */
	--border-width-blocks:0px;
	--border-color-blocks:var(--base-2);
	--border-color-blocks-hover:var(--base-6);
	--border-smoothing-blocks:0rem;
	
	/* SLIDERS */
	--sw_slide_arrow_wh:3.4rem;
	--sw_projects_arrow_wh:3.4rem;
	--sw_locations_arrow_wh:3.4rem;
	--gallery_slider_arrow_wh:3.4rem;
	}

@media (max-width:550px) {
:root {
	--border-width:0;
	--border-smoothing:0;
	--border-smoothing-blocks:0;
	}
}

* {box-sizing:border-box;}

BODY {
	display:flex;flex-direction:column;
	margin:0;padding:0;
	color:var(--base-5);
	background:var(--base-4);
	
	/* Чтобы Footer был внизу страницы */
	min-height:100dvh;/*Dynamic Viewport Height*/
	
	overflow-y:scroll;overflow-x:auto;
	text-size-adjust:none;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;
	}
	
MAIN {flex-grow:1;width:100%;} /* flex-grow:1 - Высота 100% от Viewport в Flexbox BODY */

BODY::-webkit-scrollbar {width:var(--scrollbar-width);height:var(--scrollbar-width);}
BODY::-webkit-scrollbar-track {background:var(--base-2);}
BODY::-webkit-scrollbar-thumb {
	background-color:var(--base-3);
	border:3px solid var(--base-2);
	border-radius:0/*calc(var(--scrollbar-width) / 2)*/;
	}

/* ---------- BASE ELEMENTS END ---------- */

/* ---------- SECTIONS START ---------- */

SECTION {width:100%;}

/* ---------- SWIPERS ---------- */

SECTION.swiper_slide {background:var(--base-3);}
.sw_slide_container {position:relative;max-width:var(--width-1);margin:0 auto;} /* Relative для стрелок */

SECTION.swiper_projects {padding:7rem 1rem 0;}
.sw_projects_container {position:relative;max-width:var(--width-1);margin:0 auto;font-size:1.7rem;}

SECTION.swiper_locations {padding:7rem 1rem 0;}
.sw_locations_container {position:relative;max-width:var(--width-1);margin:0 auto;font-size:1.7rem;}

/* ---------- BLOCKS ---------- */

SECTION.top_note {padding:1rem 1rem;background:var(--crimson);}
.top_note_container {max-width:var(--width-1);margin:0 auto;color:#fff;font:300 1.8rem Stem;text-align:center;}
.top_note_container A {color:#fff;border-bottom:1px solid #fff;}
.top_note_container A:hover {border-bottom:none;}

SECTION.recommend {padding:7rem 1rem 0;}
.recommend_container {max-width:var(--width-1);margin:0 auto;font-size:1.6rem;}

SECTION.press {padding:7rem 1rem 0;}
.press_container {max-width:var(--width-1);margin:0 auto;font-size:1.6rem;}

SECTION.list {padding:4rem 1rem 0;}
.list_container {max-width:var(--width-1);margin:0 auto;font-size:1.8rem;padding:1rem;background:#fff;border:var(--border-width) solid var(--border-color);border-radius:var(--border-smoothing);}

/* ---------- BLOCKS WITH BG ---------- */

/* FOOTER FORM */
SECTION.message {padding:3rem 1rem;margin-top:7rem;background:var(--blue-3);}
.message_container {max-width:var(--width-2);margin:0 auto;font-size:1.6rem;}

/* ---------- NAV ---------- */

SECTION.nav {padding:1rem;background:var(--base-3a);}
.nav_container {max-width:var(--width-1);margin:0 auto;font-size:1.7rem;line-height:1.3;color:var(--base-5);}

SECTION.offers_filter {position:sticky;top:5.2rem;z-index:9;padding:1rem;background:var(--base-3);}
.offers_filter_container {max-width:var(--width-1);margin:0 auto;}

SECTION.projects_filter {position:sticky;top:5.2rem;z-index:9;padding:1rem;background:var(--base-3);}
.projects_filter_container {max-width:var(--width-1);margin:0 auto;display:flex;gap:1rem;flex-wrap:wrap;}

SECTION.nav_page {margin-top:5rem;padding:1rem;background:var(--base-3a);}
.nav_page_container {max-width:var(--width-1);margin:0 auto;font-weight:500;font-size:1.9rem;display:flex;justify-content:center;align-items:center;flex-flow:row wrap;gap:1rem;}

/* ---------- CONTENT ---------- */

SECTION.heading1 {padding:4rem 1rem 0;} /* H1 */
SECTION.heading2 {padding:4rem 1rem 0;} /* H2 */
.heading_container {max-width:var(--width-1);margin:0 auto;font-size:1.9rem;}

SECTION.content_main {padding:2rem 1rem 0;} /* MAIN CONTENT */
.content_main_container {max-width:var(--width-1);margin:0 auto;}

SECTION.content_aside {padding:2rem 1rem 0;} /* ADDITIONAL CONTENT BLOCKS */
.content_aside_container {max-width:var(--width-1);margin:0 auto;border-radius:var(--border-smoothing);}

SECTION.listing {padding:2rem 1rem 0;}
.listing_container {max-width:var(--width-1);margin:0 auto;font-size:1.6rem;}

SECTION.text {padding:3rem 1rem 0;}
.text_container {max-width:var(--width-1);margin:0 auto;font-size:1.8rem;}

/* ---------- FOOTER ---------- */

.section_footer { /* Для кнопок внизу блоков */
	display:flex;justify-content:center;gap:2rem;
	max-width:var(--width-1);margin:0 auto;padding:2.5rem 0 1rem;
	}
.section_footer A {
	width:fit-content;
	padding:1rem 1.6rem;
	color:#fff;background:var(--base-1);
	font:300 2rem Stem;
	text-align:center;
	border-radius:var(--border-smoothing-button);
	transition:all .2s ease-in-out;
	}
.section_footer A:hover {background:var(--blue-2);}

/* ---------- TITLES ---------- */

.title_1, .title_2, .title_form {
	font-family:Stem;
	color:var(--base-6);
	margin:0 auto;
	padding:0 0 2rem;
	}
.title_1 {max-width:var(--width-1);font-size:2.6rem;}
.title_2 {max-width:var(--width-1);font-size:2.5rem;}
.title_form {max-width:var(--width-2);font-size:2rem;font-weight:300;text-align:center;}

.title_1 SPAN, .title_2 SPAN {color:var(--blue-1);} /* Marking Developer */
.title_1 A, .title_2 A {color:var(--base-6);border-bottom:1px solid var(--base-5);transition:all .2s ease-in-out;}
.title_1 A:hover, .title_2 A:hover {color:var(--blue-1);border-bottom:1px solid transparent;}

@media (max-width:550px) {
SECTION.content_main, SECTION.content_aside, SECTION.text {padding:2rem 0 0;}
SECTION.listing {padding:2rem 1rem 0;} 
}

/* ---------- SECTIONS END ---------- */

/* ---------- HTML TAGS ---------- */

H1 {display:inline-block;font:normal 3rem Stem;color:#fff;margin:0;padding:0;}
	H1 SPAN {color:var(--blue-1);}
H2 {font:300 2.5rem Stem;color:var(--base-6);margin:0;opacity:.8;}
H3 {font:300 2.5rem Stem;color:var(--base-6);margin:0;}
IMG, SVG {display:block;border:0;}
P {margin:0 0 1.5rem;}
A {color:var(--base-6);text-decoration:none;}
UL {margin:0;padding:0;}
B {font-weight:300;}
IFRAME {width:100%;height:40rem;border:0;}

/* ---------- TEXT ---------- */

.text_block {padding:2rem;background:var(--base-2);font-size:1.8rem;overflow:auto;}
.text_block H2 {margin:2rem 0 1.5rem;}
.text_block H2:first-child {margin:0 0 1.5rem;}
.text_block H3 {margin:2rem 0 1.5rem;font-size:1.8rem;font-weight:500;}
.text_block P {margin:0 0 1.5rem;}
.text_block P:last-child {margin:0;}
.text_block A, .text_block P A, .text_block LI A {color:var(--blue-1);font-weight:300;}
.text_block A:hover, .text_block P A:hover, .text_block LI A:hover {color:var(--base-6);text-decoration:underline;}

.text_block UL {margin:1rem 0 2.5rem;padding-left:4rem;}
.text_block UL LI {position:relative;list-style-type:none;margin-bottom:1rem;}
.text_block UL LI:before {content:'';position:absolute;top:.7rem;left:-1.7rem;width:.7rem;height:.7rem;background:var(--gold);border-radius:50%;}
.text_block UL:last-child {margin:0;}

.text_block OL {margin:1rem 0 2rem;padding-left:4rem;}
.text_block OL LI {position:relative;margin-bottom:1rem;}

.text_block BLOCKQUOTE {font-style:italic;margin:0 0 2rem;padding:0 0 0 2rem;border-left:.4rem solid var(--blue-1);}

@media (max-width:550px) {
.text_block {padding:1rem;}
.text_block UL, .text_block OL {padding-left:2rem;}
}