:root{
	--c_gg:#958E84; --c_gg2:#222; --c_gg3:white; --c_gg4:black; 
	--c_wt:#446b9c; --c_wt2:white; --c_wt3:black; --c_wt4:#ccc; 
	--f_XXS:8px; --f_XS:12px; --f_S:18px; --f_M:27px; --f_L:42px; --f_XL:63px; --f_XXL:95px; --f_XXXL:142px; /*f_XXXL - для лозунгов, f_XXL - для крестиков, f_XL - для телефонов*/
	--step:20px;
}
@font-face {font-family: "GOST_Type_A"; /* Гарнитура шрифта */	src:url(/fonts/GOST_Type_A.ttf); /* Путь к файлу со шрифтом */}
@font-face {font-family: "PFDinTextCompPro-Light"; /* Гарнитура шрифта */	src:url(/fonts/PFDinTextCompPro-Light.ttf); /* Путь к файлу со шрифтом */}
@font-face {font-family: "Inter-ExtraLight"; /* Гарнитура шрифта */	src:url(/fonts/Inter-ExtraLight.otf); /* Путь к файлу со шрифтом */}
@font-face {font-family: "Roboto"; /* Гарнитура шрифта */	font-style:normal;  font-weight:100; src:url(/fonts/Roboto.ttf); /* Путь к файлу со шрифтом */}
@font-face {font-family: "DINCL"; /* Гарнитура шрифта */	src:url(/fonts/DINCondensed-Light.ttf); /* Путь к файлу со шрифтом */}
@font-face {font-family: "DINCR"; /* Гарнитура шрифта */ src:url(/fonts/DINCondensed-Regular.ttf); /* Путь к файлу со шрифтом */}
/*классы шрифтов*/
.font_family_PFDIN{font-family:"PFDinTextCompPro-Light";} 
.font_family_GOSTA{font-family:"GOST_Type_A";} 
.font_family_INTER{font-family:"Inter-ExtraLight";} 
.font_family_ROBOTO{font-family:"Roboto";} 
.font_family_DINCL{font-family:"DINCL";} 
.font_family_DINCR{font-family:"DINCR";} 
/*размеры шрифтов*/
.font_size_0{font-size:var(--f_XS);}
.font_size_1{font-size:var(--f_S);}
.font_size_2{font-size:var(--f_M);}
.font_size_3{font-size:var(--f_L);}
.font_size_4{font-size:var(--f_XL);}
.font_size_5{font-size:var(--f_XXL);}
.font_size_6{font-size:var(--f_XXXL);}
html{}
body{font-size:var(--f_M); margin:auto; /*это очень важно - убирает отступы body*/}
#constructor{font-size:var(--f_M);}
table{width:100%; border-collapse:collapse;  border-spacing:0px; /*1 - расстояние между ячейками. 2 - предотвращает задвоение рамок.*/ /*это уже не влияет, просто важно быть внутри таблицы*/}
td,th{padding:2px; vertical-align:top;}
/*div{white-space:nowrap;}*//*label{display:block;}*//*form{white-space:nowrap;}*/
form{display:inline;}

/*основные блоки*/
#menu{z-index:99; }
	#menu_block{}
		#menu_logo{z-index:98;}
			#logo{width:200px; height:auto;}
		#menu_list{padding:20px; box-sizing:border-box;}
		.menu_list{display:flex; width:100%; height:100%;}
		.menu_list_correct{display:flex; position:absolute; width:auto; height:100%; }
		.menu_media{} /*есть в 4х местах*/
			#menu_open{display:flex; align-items:center; /*justify-content:center/*flex-start*/; height:100%;}
			#menu_user{display:flex; align-items:center; justify-content:flex-end; width:100%;}
				.menu_elem{padding:10px;} /*делает отступы от пунктов меню*/
				.messenger{width:50px; height:50px;}

/*окна*/
.window{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:102; box-sizing:border-box;/* учтывает паддинг и бордер*/} 
.window2{position:absolute; top:0; right:0; width:400px; height:100%; z-index:102; box-sizing:border-box;/* учтывает паддинг и бордер*/ opacity:0.90;}
.overflow_auto{overflow:auto;}
.overflow_hidden{overflow:hidden; overflow-y:auto;}

/*.scroll_snap{display:flex;  overflow-x:auto; scroll-snap-type: x mandatory;}*/
/*.multimedia{scroll-snap-align: start;}*/
.close{cursor:pointer; font-size:var(--f_XXL); position:absolute; transform:translate(50%,-50%); right:30px; top:30px;}
/*слайдшоу----------------------------------------------*/
.slideshow{}
.scroll_snap{position:absolute; pointer-events:none; display:flex; align-items:center; justify-content:center; width:100%; height:100%;}/* для вписывания slide по центру экрана*/
.slide{cursor:pointer; position:absolute;  pointer-events:auto; /*нужно для того чтобы задавать top и left*/}
.slide_overflow{overflow:hidden;}
.multimedia{/*cursor:pointer; position:absolute; transform:translate(100px);*/}/*иначе текст вылезает*/
.image{}
/*описание-----------------------------------------------------*/
.description, .inscription{pointer-events:none;/*для анимации*/ box-sizing:border-box; display:flex; flex-direction:column; position:absolute; padding:1em 0.5em 1em 0.5em; opacity:0.90;}/* краткое и полное */
.inscription{z-index:3;}
.fon{width:100%; height:100%; position:absolute; top:0; left:0; z-index:-5;}
.link{pointer-events:auto;}
.link:hover{opacity:0.5; transition:0.5s ease-in-out; background-color:rgba(0,0,0,0);}
.arrow{width:100px; height:100px; padding-top:50px; filter:invert(100%);}
.pointer_events_none{pointer-events:none;}

/*навигация-----------------------------------------------------*/
.prev, .next{display:none; position:absolute; top: 50%; transform:translate(0%,-50%); padding:16px;/*увеличение области*/ font-weight:bold; font-size:var(--f_M); cursor:pointer; opacity:0.90;}
.next{right:0;}	
/*-уникальные классы!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*-уникальные классы!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*-уникальные классы!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*map---------------------*/
.map_column{height:25%;}
.map_row{width:20%;}

/*white & gray_gold*/
.color_gg{background-color:var(--c_gg2); color:var(--c_gg3); scrollbar-color:var(--c_gg) var(--c_gg4);} /* Новый метод задания цвета полос прокрутки */
.color2_gg{background-color:var(--c_gg4); color:var(--c_gg3); scrollbar-color:var(--c_gg) var(--c_gg4);}
.color3_gg{color:var(--c_gg3);}
.color4_gg{background-color:var(--c_gg4);}
.color_invert_gg{color:var(--c_gg2);}
.color_wt{background-color:var(--c_wt2); color:var(--c_wt3); scrollbar-color:var(--c_wt2) var(--c_wt);}
.color2_wt{background-color:var(--c_wt2); color:var(--c_wt3); scrollbar-color:var(--c_wt2) var(--c_wt);}
.color3_wt{color:var(--c_wt3);}
.color4_wt{background-color:var(--c_wt2);}

.color_bbb{background-color:#bbb;}

.padding40{padding:40px; box-sizing:border-box;}
.padding_lr20{padding-left:20px; padding-right:20px; box-sizing:border-box;}
.padding_lr40{padding-left:40px; padding-right:40px; box-sizing:border-box;}
.padding_top100{padding-top:100px; box-sizing:border-box;}
.padding_bottom100{padding-bottom:75px; box-sizing:border-box;}
.padding_left200{padding-left:5%; box-sizing:border-box;}
.padding_right200{padding-right:5%; box-sizing:border-box;}

.hidden{display:none;}
 
.flex{display:flex; flex-wrap:wrap;} 
.flex_no_wrap{display:flex;} 
.flex_1{flex:1}
.flex_2{flex:2}
.flex_grow_1{flex-grow:1;}
.flex_center{display:flex; align-items:center;} 
.flex_center_center{display:flex; align-items:center; justify-content:center;} 
.flex_direction_column{flex-direction:column;} 
.flex_direction_row{flex-direction:row;} 
.flex_direction_invert_column{flex-direction:row;} 
.flex_direction_invert_row{flex-direction:column;} 
.display_none{display:none;} 
.display_block{display:block;} 
.display_flex{display:flex;} 
.justify_content_flex_start{justify-content:flex-start;}
.justify_content_center{justify-content:center;}


.min_width_1000px{min-width:1000px;}

.visibility_hidden{visibility:hidden;}

.visibility_hover{visibility:hidden;}
.slide:hover .visibility_hover{visibility:visible;}

.parent_visibility_hover 	   .description{opacity:0; transition:opacity 0.5s ease;}
.parent_visibility_hover:hover .description{opacity:0.9;}

.scale_title 	   .title{transform:scale(2); /*opacity:0;*/   transition:0.5s ease-in-out 1s; transform-origin: left bottom;}
.scale_title:hover .title{transform:scale(1); /*opacity:0.9; transition:0.5s ease-in-out;*/}

.grayscale_animate		{filter:grayscale(1); transition:0.5s ease-in-out;}
.grayscale_animate:hover{filter:grayscale(0);}
.scale_animate		{transform:scale(1); transition:0.5s ease-in-out; }
.scale_animate:hover{transform:scale(1.05);}
/*.scale_transform		{transform:scale(1) translate(0%); transition:10s ease-in-out; }
.scale_transform:hover	{transform:scale(1.2) translate(-12%);}*/

.grayscale_straight_gg{-webkit-filter:grayscale(0%) invert(0%);}
.grayscale_straight_wt{-webkit-filter:grayscale(80%) invert(100%);}
.grayscale_invert_gg{-webkit-filter:grayscale(80%) invert(100%);}
.grayscale_invert_wt{-webkit-filter:grayscale(0%) invert(0%);}

.a_straight_gg, .a_invert_gg:hover{color:var(--c_gg);background-color:var(--c_gg2);}
.a_invert_gg, .a_straight_gg:hover{color:var(--c_gg2);background-color:var(--c_gg);}

.a_straight_wt, .a_invert_wt:hover{color:var(--c_wt);background-color:var(--c_wt2);}
.a_invert_wt, .a_straight_wt:hover{color:var(--c_wt2);background-color:var(--c_wt4);}

.close_gg		{color:var(--c_gg3);}
.close_gg:hover	{color:var(--c_gg);}

.close_wt		{color:var(--c_wt4);}
.close_wt:hover	{color:var(--c_wt);}

.shadow_inner_wt:after{content:''; position:absolute; top:0; left:0; bottom:0; right:0; box-shadow: inset 0px 0px 20px rgba(0, 0, 0, 0.1);}
.shadow_inner_gg:after{content:''; position:absolute; top:0; left:0; bottom:0; right:0; box-shadow: inset 0px 0px 20px rgba(0, 0, 0, 0.7);}
/*.shadow_inner_wt:{box-shadow: inset 0px 0px 20px rgba(0, 0, 0, 0.1);}
.shadow_inner_gg:{box-shadow: inset 0px 0px 20px rgba(0, 0, 0, 0.7);}*/
.shadow_outer_wt{box-shadow: 0 3px 10px 0 rgba(#000, 0.1); /*box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.1);*/}
.shadow_outer_gg{box-shadow: 0px 0px 5px 5px black;}

.text_stroke{-webkit-text-stroke: 1px white;}
.text_shadow{text-shadow: 0 1px 1px #000,0 1px 2px #000,0 5px 8px #000}

.shadow_wt{box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.1);}
.shadow_gg{box-shadow: 0px 0px 5px 5px black;}

.drop_shadow_gg:{filter: drop-shadow(0px 5px 5px #000);}
.drop_shadow_wt:{filter: drop-shadow(0px 5px 5px #000);}

.border_wide_wt{outline:10px solid var(--c_wt4); /*outline-offset:-5px;*/}
.border_wide_gg{outline:10px solid var(--c_gg); /*outline-offset:-5px;*/}
.border_thin_wt{outline:1px solid var(--c_wt4);}
.border_thin_gg{outline:1px solid var(--c_gg);}

.block_width_none .fon{background-color:rgba(0,0,0,0);}
.block_width_auto{width:auto;}
.height_100px{height:100px;}
.block_width_10{width:10%;}
.block_width_20{width:20%;}
.block_width_30{width:30%;}
.block_width_40{width:40%;}
.block_width_50{width:50%;}
.block_width_60{width:60%;}
.block_width_70{width:70%;}
.block_width_80{width:80%;}
.block_width_90{width:90%;}
.block_width_100{width:100%;}
.block_height_10{height:10%;}
.block_height_20{height:20%;}
.block_height_30{height:30%;}
.block_height_40{height:40%;}
.block_height_50{height:50%;}
.block_height_60{height:60%;}
.block_height_70{height:70%;}
.block_height_80{height:80%;}
.block_height_90{height:90%;}
.block_height_100{height:100%;}
.block_width_100_100{width:100%; height:100%;}
.block_width_200_100{width:200%; height:100%; padding-left:20px; padding-right:20px;}
.block_width_400_100{width:400%; height:100%; padding-left:20px; padding-right:20px;}

.position_absolute{position:absolute;}
/*.position_absolute_0_0{position:absolute; left:0; top:0; z-index:-1;}*/
.position_static{position:static;}
.position_relative{position:relative;}
.position_fixed{position:fixed;}

.displacement_none{display:none;}
.displacement_inner_top{left:0px; top:0px; text-align:left; justify-content:flex-start;}
.displacement_inner_bottom{left:0px; bottom:0px; text-align:left; justify-content:flex-end ;}
.displacement_inner_left{left:0px; top:50%; transform:translate(0%,-50%); text-align:left; justify-content:flex-start;}
.displacement_inner_center{left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; justify-content:center;}
.displacement_outer_bottom{left:0px; top:100%; background-color:rgba(0,0,0,0); text-align:left; justify-content:flex-start;}
.displacement_outer_bottom_center{left:0px; top:100%; background-color:rgba(0,0,0,0); text-align:center; justify-content:center;}
.displacement_outer_right{left:100%; top:0px; background-color:rgba(0,0,0,0); text-align:left; justify-content:flex-start ;}
.displacement_outer_right_center{left:100%; top:50%; transform:translate(0%,-50%); background-color:rgba(0,0,0,0); text-align:left; justify-content:center;}
.displacement_fixed_top{left:0; top:0; text-align:left; justify-content:flex-end;}
.displacement_fixed_bottom{left:0; bottom:0; text-align:left; justify-content:flex-end;}

.text_align_center:{text-align:center;}
.text_align_left:{text-align:left;}

/*яндекс карта*/
.ymaps-2-1-79-copyright{visibility:hidden;} /*условия использования*/
.ymaps-2-1-79-gototech{display:none;} /*создать свою карту*/
.ymaps-2-1-79-map-copyrights-promo{display:none;}/*открыть в яндекс картах*/
.ymaps-2-1-79-balloon-content__header{font-family: "GOST_Type_A";}/*шрифт в балуне*/

/*бургер*/
.burger{cursor:pointer; position:absolute;  z-index:101;/*должен быть меньше window*/ transform-origin:right top; right:50px; top:50px; transform:translate(50%,-50%);}
.b1, .b2, .b3{width:72px; height:8px; background-color:#fff; margin:20px 0; transition:0.3s;}
.change .b1{transform:rotate(-45deg) translate(-19.5px, 19.5px);}
.change .b3{transform:rotate(45deg) translate(-19.5px, -19.5px);}
.change .b2{opacity:0;}


/*растяжение страницы*/
/*самый большой размер*/
/*@media(min-width:2200px){#menu_block{background-color:rgba(0,0,0,0);}}*/
/*самый средний размер*/
/*самый маленький размер*/
@media(min-width:1200px){.burger{right:30px; top:30px; transform:scale(0.5) translate(50%,-50%);}}
@media(max-width:1200px){.flex_1{order:2} .messenger{width:100px; height:100px;} .burger{display:block;/*виден*/} #menu_user{flex-direction:column;} #menu_open{flex-direction:column;} #gallery_container0{width:100%;} #gallery_container1{width:100%;} #gallery_container2{width:100%;} #gallery_container3{width:100%;} #gallery_container4{width:100%;} #gallery_container5{width:100%;} .close{font-size:var(--f_XXXL); right:50px; top:50px;} #logo{height:80px; width:auto;} #body{flex-direction:column; font-size:var(--f_XL);} .menu_media{display:none;} .menu_row{position:static; transform:none;} .window{width:100%; height:100%;} .window2{width:100%;}}

@keyframes anima{
	0%{transform:scale(1) translate(0%);} 
	100%{transform:scale(1.5) translate(-15%);} 
	/*100%{transform:scale(1) translate(0%);}*/
}
.animation{animation-name:anima; animation-duration:15s; animation-timing-function:linear; animation-iteration-count:infinite;}

