: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_XS:8px; --f_S:12px; --f_M:20px; --f_L:33px; --f_XL:50px; --f_XXL:80px; --f_XXXL:140px; /*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_XXXL);}
.font_size_6{font-size:var(--f_XXXL);}
html{}
body{display:flex; flex-direction:column; font-size:var(--f_M); height:100vh; width:100%; margin:auto; /*это очень важно - убирает отступы body*/}
#vertical_horizontal{display:flex; flex-grow:1; position:relative;}
table{width:100%; border-collapse:collapse;  border-spacing:0px; /*1 - расстояние между ячейками. 2 - предотвращает задвоение рамок.*/ /*это уже не влияет, просто важно быть внутри таблицы*/}
td,th{padding:3px; vertical-align:top;}
/*div{white-space:nowrap;}*//*label{display:block;}*//*form{white-space:nowrap;}*/
form{display:inline;}

/*основные блоки*/
#menu{display:flex; /*position:relative;*/ align-items:center; z-index:99; }
	#menu_block{display:flex; align-items:center; /*padding:10px; box-sizing:border-box;*/ width:100%; height:100%; }
		#menu_logo{display:flex; /*position:absolute;*/ align-items:center; justify-content:center; height:100%; z-index:98;}
		#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;}
#gallery1{overflow:auto; /*width:100%; height:100%;*/ /*flex-grow:1;*/ display:flex; justify-content:center; align-items:center;} /* flex нужен для отступов справа слева и сверху*/
	#gallery_container1{position:relative; /*display:flex; align-items:center; justify-content:center;*/ } /*width:60% для полей*/

#gallery0{overflow:auto; /*width:100%; height:100%;*/ }
	#gallery_container0{position:relative; /*display:flex; align-items:center; justify-content:center;*/ width:100%; height:100%;} /* для того, чтобы по вертикали выровнять*/
.gallery_container0{display:flex; align-items:center; justify-content:center;}

.justify_content_flex_start{justify-content:flex-start;}
.justify_content_center{justify-content:center;}
/*окна*/
.window{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:101; box-sizing:border-box;/* учтывает паддинг и бордер*/ /*opacity:0.95;*/} 
.window2{position:absolute; top:0; right:0; width:300px; height:100%; z-index:101; box-sizing:border-box;/* учтывает паддинг и бордер*/ opacity:0.90;}

.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{}
.slide{position:absolute;  /*нужно для того чтобы задавать top и left*/}
.slide_overflow{overflow:hidden;}
.multimedia{cursor:pointer;}
/*описание-----------------------------------------------------*/
.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%);}

/*навигация-----------------------------------------------------*/
.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;}	

/*-уникальные классы!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*-уникальные классы!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*-уникальные классы!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
/*body----------------*/
#logo{width:200px; height:auto;}

/*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_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);}

.padding40{padding:40px; box-sizing:border-box;}
.hidden{display:none;} 
.flex{display:flex;} 
.flex_center{display:flex; align-items:center; justify-content:center; width:100%; height:100%;} 
.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;} 

.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		{filter:grayscale(1); transition:0.5s ease-in-out;}
.grayscale:hover{filter:grayscale(0);}
.scale		{transform:scale(1); transition:0.5s ease-in-out; }
.scale: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_gg);}
.close_gg:hover	{color:var(--c_gg3);}

.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_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{text-stroke:-webkit-text-stroke: 1px black; text-stroke: 1px black;}
.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;}
.block_width_100{width:100%;}
.block_height_100{height:100%;}
.height_100px{height:100px;}
.block_width_50{width:50%;}
.block_height_70{height:70%;}
.block_width_100_100{width:100%; height:100%;}
.block_width_200_100{width:200%; height:100%;}

.position_absolute{position:absolute;}
.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_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:100; 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){.messenger{width:100px; height:100px;} .burger{display:block;/*виден*/} #menu_user{flex-direction:column;} #menu_open{flex-direction:column;} #gallery_container1{width:100%;} .close{font-size:var(--f_XXXL); right:50px; top:50px;} /*.description{font-size:var(--f_L);}*/ #logo{height:80px; width:auto;} #body{flex-direction:column; font-size:var(--f_XL);} .menu_media{display:none;} .menu_row{position:static; transform:none;} /*#map{display:none;}*/ /*.gallery_horizontal{width:100%;}*/ .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;}

