:root
{
	--standart: 300 1.6rem/1.65 'als_sector',sans-serif;
	--h1: 500 7rem/1.1 'als_meringue';
	--h2: 500 4.3rem/1.1 'als_meringue';
	--h2-italic: italic 500 4.3rem/1.1 'als_meringue';
	--h3: 500 2.3rem/1.4 'als_meringue';
	--h4: 700 1.7rem/1.35 'als_sector',sans-serif;

	--black: #212529;
	--white: #ffffff;
	--white05: rgba(255,255,255,.5);
	--dark: #6d1900;
	--red: #a32e0b;
}

[class^="imicon-"], [class*=" imicon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.imicon-prize:before {
  content: "\e900";
}
.imicon-double-tick:before {
  content: "\e901";
}
.imicon-close:before {
  content: "\e902";
}
.imicon-house:before {
  content: "\e903";
}
.imicon-dobor:before {
  content: "\e904";
}

.h4 
{
	font: var(--h4);
	letter-spacing: .14rem;
}

.h3
{
	font: var(--h3);
}

.h2
{
	font: var(--h2);
}

.h1
{
	font: var(--h1);
}

html, body
{
	margin: 0;
	padding: 0;
	min-height: 100vh;
	background: #fff;
	font-size: 9.4px;
	line-height: 1.15;
	font-family: als_sector,sans-serif;
	-webkit-font-smoothing: antialiased;
	color: var(--black);
}

body
{
	display: grid;
	grid-template-rows: max-content 1fr max-content;
	position: relative;
}

body#tinymce
{
	display: block !important;
	font-size: 14px;
	grid-template-rows: 1fr;
	min-height: 0;
}

body.dark
{
	background: var(--dark);
	color: var(--white);
}

.gpin
{
	position: relative;
	/*left: 10px;
	top: -50px;*/
	margin-top: -10px;
	margin-bottom: 10px;
	width: 100px;
}

.dark .content a
{
	color: var(--white);
}
.symbols
{
pointer-events:none;
}

content
{
	padding-bottom: 7rem;
	font: var(--standart);
}

.height14
{
	display: block;
	height: 14rem;
}

.center
{
	text-align: center;
}

.mob-menu
{
	display: none;
}

.habsolute
{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	z-index: 2;
}

.wrapper
{
	max-width: 1140px;
	box-sizing: border-box;
	padding: 0 15px;
	margin: 0 auto;
}

.main-wrapper
{
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

.main-wrapper .panorama
{
	width: 100vw;
	height: 100vh;
	position: absolute;
	z-index: 0;
	/*background-image: url('/upload/images/panorami/main.jpg');
	background-size: auto 250%;
	background-position: 100% 40%;*/
	background-image: url('/upload/images/fasad.jpg');
	background-size: cover;
	background-position: center;

	/*-webkit-animation: panorama 900s linear infinite; 
	-moz-animation:    panorama 900s linear infinite; 
	-o-animation:      panorama 900s linear infinite; 
	animation:         panorama 900s linear infinite;*/
}

@keyframes panorama {
	0% {
		background-position: 100% 40%
	}
	50% {
		background-position: 0% 40%
	}
	100% {
		background-position: -100% 40%
	}
}

.main-arrow
{
	display: block;
	position: absolute;
	right: 30px;
	bottom: 30px;
	z-index: 2;
	cursor: pointer;
	color: var(--white05);
	transform: rotate(-90deg);
	font-size: 60px;
	-webkit-animation: panorama2 5s linear infinite; /* Safari 4+ */
	-moz-animation:    panorama2 5s linear infinite; /* Fx 5+ */
	-o-animation:      panorama2 5s linear infinite; /* Opera 12+ */
	animation:         panorama2 5s linear infinite;
}

@keyframes panorama2 {
	0% {
		transform: rotate(-90deg);
	}
	10% {
		transform: rotate(-90deg);
	}
	20% {
		transform: rotate(0deg);
	}
	30% {
		transform: scale(1.1);
	}
	35% {
		transform: scale(1.0);
	}
	40% {
		transform: scale(1.1);
	}
	45% {
		transform: scale(1.0);
	}
	50% {
		transform: scale(1.1);
	}
	55% {
		transform: scale(1.0);
	}
	60% {
		transform: scale(1.1);
	}
	65% {
		transform: scale(1.0);
	}
	70% {
		transform: scale(1.1);
	}
	75% {
		transform: scale(1.0);
	}
	80% {
		transform: rotate(0deg);
	}
	90% {
		transform: rotate(-90deg);
	}
	100% {
		transform: rotate(-90deg);
	}
}

.big-screen
{
	display: grid;
	position: absolute;
	height: 100vh;
	z-index: 1;
	grid-template-columns: 100vw auto auto auto auto auto auto;
}

.big-screen .first
{
	position: relative;
}

.big-screen .first .fbg
{
		width: 35vw;
		height: 100vh;
		background: linear-gradient(to right,#6d1900 50%,rgba(109,25,0,.8));
}

.big-screen .first .fcontent
{
	position: absolute;
	top: 10vw;
	width: 35vw;
	padding: 0vw 0 0vw 10vw;
	color: #fff;
	font-size: 2vh;
	line-height: 1.6;
}

.big-screen .first .fcontent i, .big-screen .first .fcontent a, .big-screen .first .fcontent em
{
	color: #ffc1a6;
}

.big-screen .first .fcontent .big-text
{
	font-size: 4vh;
	font-family: als_meringue;
font-weight: 500;
line-height: 1.1;
color: #fff;
}

.big-screen .second
{
	display: block;
	width: 30vw;
	padding: 10vw 4vw;
	box-sizing: border-box;
	color: #fff;
	font-size: 1vw;
	line-height: 1.6;
}

.big-screen .second .big-text
{
	font-size: 2.5vh;
	font-family: als_meringue;
font-weight: 500;
line-height: 1.4;
color: #fff;
}

.numbers
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.numbers p
{
	font-size: 6rem !important;
	margin: 0;
	font-family: als_meringue;
	font-weight: 500;
}

.big-screen .third
{
	background: var(--white);
	padding: 100px 10vw 0 4rem;
	display: grid;
	grid-template-rows: max-content 1fr;
	grid-gap: 4rem;
}


.big-screen .pre-third
{
	background: var(--white);
	padding: 100px 4rem 0 10vw;
	display: grid;
	grid-template-columns: repeat(2, 25vw);
	grid-template-rows: max-content 1fr;
	grid-gap: 4rem;
}

.big-screen .pre-third p
{
	font-size: 0.7vw;
	line-height: 1.65;
}

.big-screen .third h2, .big-screen .pre-third h2
{
	grid-column: span 5;
}

.big-screen .third>div .h3, .big-screen .pre-third>div .h3
{
	font-size: 1vw;

}

.big-screen .third>div, .big-screen .pre-third>div
{
	display: grid;
	grid-template-rows: repeat(2, 1fr);
	max-height: 70vh;
}

.third>div .ms-gal
{
	/*display: none;*/
}

.third>div:hover .ms-gal
{
	display: block;
}

.msg-images
{
	display: block;
	position: relative;
	padding-top: 100%;
}

.msg-images div
{
	display: none;
	position: absolute;
	width: 80%;
	height: 80%;
	border-radius: 5px;
	left: 0%;
	top: 10%;
	overflow: hidden;
}

.msg-images div img
{
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	transition: all 3000ms ease;
	transform: scale(1.0);
}

.msg-images div img.anim
{
	transform: scale(1.1);
}

.mh-leaders
{
	display: flex;
	justify-content: flex-start;
	padding-top: 10vh;
}

.mh-leaders>div
{
	display: block;
	width: 10vw;
}

.mh-leaders>div .mhl-photo
{
	display: block;
	padding-top: 100%;
	border-radius: 5px;
	background-size: cover;
	background-position: center;
}

.herb
{
	display: block;
	position: relative;
}

.herb img
{
	width: 100%;
	transition: all .5s;
	transform: scale(1);
}

.herb img.scale
{
	transform: scale(0.7);
}

.big-screen .third>div ul li
{
	font-size: 0.7vw;
}

.forth
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: max-content 1fr;
	grid-gap: 5rem;
	padding: 100px 10vw 0 10vw;
	width: 80vw;
	box-sizing: border-box;
}

.forth .mh-info
{
	display: grid;
	grid-template-rows: max-content 1fr;
	grid-gap: 5rem;
	font: var(--standart);
}

.forth .mh-info2
{
	display: grid;
	grid-template-rows: max-content 1fr;
	grid-gap: 5rem;
	font: var(--standart);	
}

.forth .mh-info>div:first-child
{
	font: var(--h3);
}

.forth>div.ft
{
	grid-column: span 2;
}

.five
{
	display: block;
	padding: 100px 10vw 0 10vw;
	width: 80vw;
	box-sizing: border-box;
	background: #6d1900;
	color: var(--white);
	font: var(--standart);
}

.five a.bordered, .five a.h2
{
	color: var(--white);
}

.five i
{
	color: #ffc1a6;
}

.five .only-best
{
	text-align: center;
	display: block;
	position: relative;
	padding-top: 5vw;
}

.six
{
	display: block;
	padding: 100px 10vw 0 10vw;
	width: 60vw;
	box-sizing: border-box;
	background: #94aebd;
	color: var(--white);
	font: var(--standart);
}

.six .double-block p
{
	font-size: 2vmin;
}

.six .double-block p.big-text
{
	font-size: 3vmin;
	line-height: 4vmin;
}

.main-head
{
	display: block;
	position: fixed;
	z-index: 1;
	width: 100%;
}

.main-head header
{
	margin-bottom: 0;
}

.main-head header .wrapper, .main-footer .wrapper
{
	width: 100%;
	max-width: 100%;
}

.main-head header .wrapper .search-lang .lang-selector a, .main-head header .wrapper .search-lang .search-button,
.dark header .wrapper .search-lang .lang-selector a, .dark header .wrapper .search-lang .search-button, .dark header .wrapper .menu>div>a
{
	color: #fff;
	border-color: rgba(255,255,255,.2);
}

.main-head header .wrapper .search-lang.blackrow .lang-selector a, .main-head header .wrapper .search-lang.blackrow .search-button
{
	color: var(--black);
}

.main-head header .wrapper .search-lang .lang-selector a.selected, header .wrapper .search-lang .lang-selector a:hover,
.dark header .wrapper .search-lang .lang-selector a.selected, .dark header .wrapper .search-lang .lang-selector a:hover, .dark header .wrapper .menu>div:hover>a, .dark header .wrapper .menu>div>a.selected
{
	color: #ffc1a6;
}

.main-head header .wrapper .search-lang.blackrow .lang-selector a.selected, header .wrapper .search-lang.blackrow .lang-selector a:hover
{
	color: var(--red);
}

h2
{
	font: var(--h2);
	margin-bottom: 1.5rem;
}

.main-head header .wrapper .menu
{
	margin-top: 20px;
	padding-top: 4px;
	margin-bottom: 28px;
}

.main-head header .wrapper .menu.blackrow
{
	background: rgba(255, 255, 255, 0.3);
}

.main-head header .wrapper .menu>div>a
{
	color: #fff;
	border-bottom-color: rgba(255,193,166,.2);
}

.main-head header .wrapper .menu.blackrow>div>a
{
	color: var(--black);
	border-bottom-color: rgba(0, 0, 0, 0.2);
}

.main-head header .wrapper .menu>div>a:hover
{
	color: #ffc1a6;
}

.main-head header .wrapper .menu.blackrow>div>a:hover
{
	color: var(--red);
	border-bottom-color: var(--red);
}

.main-footer
{
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	color: #ffc1a6;
}

.absolute
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 1;
}
.light-footer
{
	display: block;
	color: #ffc1a6;
}


.main-footer a, .main-footer .footer-left a, .main-footer .social a, .light-footer .footer-left a, .light-footer .social a, .light-footer a
{
	color: #ffc1a6;
}

.main-footer .social a, .light-footer .social a
{
	border-color: #ffc1a6;	
}

.main-footer .social a:hover, .light-footer .social a:hover
{
	color: var(--black);
}

h1
{
	font: var(--h1);
	margin-bottom: 2rem;
	color: inherit;
	margin-top: 0;
	padding: 0 0;/*15px;*/
	/*margin-left: -12px;*/
	position: relative;
}

h3
{
	font-size: 2.3rem;
	font-family: als_meringue;
	font-weight: 500;
}

header
{
	padding: 14px 0;
	margin-bottom: 5rem;
}

header .wrapper
{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	
}

header .wrapper>img
{
	/*background: var(--red);*/
}

header .wrapper .logo 
{
	width: 76px;
	height: 76px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 2px;
}

header .wrapper .logo img
{
	width: 69px;
}

header .wrapper .logo:hover img
{
	transform: scale(1.1);
	transition: 0.2s;
}

header .wrapper .menu
{
	display: flex;
	justify-content: flex-start;
	padding: 0px 17px;
	margin-top: 24px;
	-webkit-box-flex: 0;
	flex: 0 0 84.666666%;
	max-width: 84.666666%;
	flex-wrap: wrap;

}

header .wrapper .menu>div
{
	margin-right: 1.7rem;
	padding-bottom: 0.7rem;
	position: relative;
}

header .wrapper .menu>div>a
{
	text-transform: uppercase;
	font-weight: 500;
	color: var(--black);
	transition: all 230ms ease;
	font-size: 1.4rem;
	letter-spacing: .14rem;
	line-height: 1.3;
	text-decoration: none;
	border-bottom: 1px solid rgba(0,0,0,.2);
}

header .wrapper .menu>div>a.selected
{
	border: none;
	color: #a32e0b;
}

header .wrapper .menu>div>a.selected:after
{
	content: "↓";
	margin-left: .5rem;
	font-weight: 700;
}

header .wrapper .menu>div:hover>a
{
	color: #a32e0b;
	border-bottom: 1px solid #a32e0b;
}

header .wrapper .menu>div:hover>a.selected
{
	border-bottom: none;
}

header .wrapper .menu>div>div
{
	background-color: #a32e0b;
	border-radius: 6px;
	min-width: 22rem;
	opacity: 0;
	padding: 1.3rem 0;
	position: absolute;
	top: 2.4rem;
	left: 0;
	visibility: hidden;
	z-index: 10;
	-webkit-transform: translateY(-1rem);
	transform: translateY(-1rem);
	-webkit-transition: 150ms;
	transition: all 150ms ease;
}

header .wrapper .menu>div>div a
{
	display: block;
	padding: 1rem 3rem;
	text-transform: uppercase;
	-webkit-transition: 150ms;
	transition: all 150ms ease;
	white-space: nowrap;
	/*border-bottom: 1px solid rgba(0,0,0,.2);*/
	color: #fff;
	font-size: 1.4rem;
	text-decoration: none;
}


header .wrapper .menu>div>div a:hover
{
	background: rgba(110, 26, 0, 1);;
}

header .wrapper .menu>div:hover>div
{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-duration: .6s;
	-webkit-transform: translateY(0);
	-webkit-transition-duration: .6s;
}

header .wrapper .search-lang
{
	-webkit-box-flex: 0;
	
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-start;
	padding-top: 22px;
}

header .wrapper .search-lang .search-button
{
	color: var(--black);
	font-size: 1.4rem;
	line-height: 2.6rem;
	transition: all .4s cubic-bezier(.495,.155,.145,.955);
}

header .wrapper .search-lang .search-button:hover
{
	color: #a32e0b;
	font-size: 1.6rem;
}

header .wrapper .search-lang .lang-selector a
{
	display: inline-block;
	font-weight: 300;
	color: var(--black);
	transition: all 230ms ease;
	font-size: 1.4rem;
	letter-spacing: .14rem;
	line-height: 1.3;
	text-decoration: none;
	padding-bottom: 0;
	border-bottom: 1px solid rgba(0,0,0,.2);
}

header .wrapper .search-lang .lang-selector a.selected, header .wrapper .search-lang .lang-selector a:hover
{
	color: #a32e0b;
	border-bottom: 1px solid #a32e0b;
}

header .wrapper .search-lang .lang-selector a.selected
{
	border: none;
	pointer-events: none;
}

header .wrapper .search-lang .lang-selector a:first-child
{
	margin-right: 1.7rem;
}

footer
{
	padding-top: 1rem;
	padding-bottom: 3rem;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.65;
}

footer .wrapper
{
	display: flex;
}

.footer-left, .footer-right
{
	display: grid;
	grid-template-rows: max-content 40px;
	grid-gap: 1.2rem;
}

.footer-right>div:first-child
{
	padding-right: 8px;
}

.footer-left>div:last-child, .footer-right>div:last-child
{
	display: flex;
	align-items: center;
}

.footer-left
{
	margin-left: 8.33333333%;
	-webkit-box-flex: 0;
	flex: 0 0 58.33333333%;
	max-width: 58.33333333%;
}

.footer-left div>span
{
margin-right: 3rem!important;
}

.content a.animated, a.animated
{
	margin-bottom: -.8rem;
	padding-bottom: .8rem;	
	text-decoration: none;
	transition: all 230ms ease;
	background: url(/images/dashed_yellow-light.svg) 0 75% repeat-x;
}

.content a.animated:hover, a.animated:hover
{
	background: url(/images/dashed-anim_yellow-light.svg) 0 75% repeat-x;
}

.mh-info a.animated
{
	margin-right: 0;
}

.mh-info a.animated.selected, .mh-info a.animated.selected:hover
{
	position: relative;
	display: inline-block;
	z-index: 1;
}

.mh-info a.animated.selected:before
{
	position: absolute;
	display: block;
	left: -0.5rem;
	top: -0.5rem;
	bottom: 0.5rem;
	right: -0.5rem;
	content: "";
	z-index: -1;
	border-radius: 0.5rem;
	background: rgb(148, 174, 189);
}

.footer-left a, a.animated, .course-detail .detail a:not(.button)
{
	margin-bottom: -.8rem;
	padding-bottom: .8rem;
	color: var(--black);
	text-decoration: none;
	transition: all 230ms ease;
	background: url(/images/dashed_yellow-light.svg) 0 75% repeat-x;
	margin-right: 3rem;
}

.course-detail .detail a:not(.button)
{
	margin-right: 0;
}

.footer-left a:hover, a.animated:hover, .course-detail .detail a:not(.button):hover
{
	background: url(/images/dashed-anim_yellow-light.svg) 0 75% repeat-x;
}

a.bordered, .bordered
{
	margin-bottom: -.8rem;
	padding-bottom: .8rem;
	color: var(--black);
	text-decoration: none;
	transition: all 230ms ease;
}

.white a.bordered
{
	color: var(--white);
	background: linear-gradient(to right,var(--white) 0,var(--white) 100%) 0 75% repeat-x,linear-gradient(to right,var(--white) 0,var(--white) 100%) 0 75% repeat-x;
	background-size: 100% .3rem;
}

.footer-left a.notanim, a.bordered, .bordered
{
	background: linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x,linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x;
	background-size: 100% .3rem;
}

.white a.bordered:hover
{
	color: var(--white);
	background: linear-gradient(to right,var(--white) 0,var(--white) 100%) 0 75% repeat-x,linear-gradient(to right,var(--white) 0,var(--white) 100%) 0 calc(75% + .5rem) repeat-x;
	background-size: 100% .3rem;
}

.footer-left a.notanim:hover, a.bordered:hover, a:hover .bordered
{
	background: linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x,linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 calc(75% + .5rem) repeat-x;
	background-size: 100% .3rem;
}

.footer-right
{
	flex: 0 0 25%;
	max-width: 25%;
}

.footer-right div
{
	text-align: right;
}

.social
{
	display: flex;
	justify-content: flex-end;
}

.social a
{
	border-radius: 50%;
	border: 1px solid rgba(0,0,0,.5);
	display: flex;
	height: 3.3rem;
	margin-left: 1.2rem;
	margin-bottom: 1rem;
	text-align: center;
	vertical-align: middle;
	width: 3.3rem;
	-webkit-transition: .3s;
	color:  #212529;
	text-decoration: none;
	font-size: 2.3rem;
	justify-content: center;
	align-items: center;
	font-style: italic;
	transition: all .3s ease;
}

.social a:hover
{
	font-size: 2.5rem;
	background-color: #ffc1a6!important;
	border-color: #ffc1a6;
}

.about-content
{
	max-width: 83.333333%;
	margin: 0 auto;
	font-size: 1.6rem;
font-weight: 300;
line-height: 1.65;
}

.submenu
{
	display: block;
	margin: 0 -5px;
	margin-bottom: 6rem;

}

.submenu span
{
	display: block;
	margin: 0 5px 1rem;
	border: 0;
	border-top: 1px solid #d7d7d7;
}

.submenu div
{
	display: flex;
	margin-bottom: 1rem;
}

.submenu a
{
	padding: 4px 8px 3px;
	background: 0 0;
	border-radius: 2px;
	cursor: pointer;
	text-transform: uppercase;
	white-space: nowrap;
	-webkit-transition: .3s;
	transition: all .3s ease;
	font-size: 1.4rem;
	font-family: als_sector,sans-serif;
	font-weight: 700;
	letter-spacing: .14rem;
	line-height: 1.3;
	color: var(--black);
	text-decoration: none;
}

.submenu a.selected
{
	background-color: #a32e0b!important;
	color: #fff;
}

.mission-top
{
	display: flex;
	background: url('/upload/images/about/Mission_tiny.jpg') 50%/cover no-repeat;
	align-items: flex-end;
	height: 40rem;
	border-radius: 6px;
	color: #fff;
	display: -webkit-box;
	display: flex;
	margin-bottom: 5rem;
	padding-left: 5rem;
	padding-right: 5rem;
}

.mission-top h2
{
	font-size: 4.3rem;
	margin-bottom: 4rem;
	font-family: als_meringue;
	font-weight: 500;
	line-height: 1.1;
}

.mission-text
{
	width: 75%;
	font-size: 1.6rem;
font-weight: 300;
line-height: 1.65;
color: var(--black);
}

.mission-text p
{
	width: 90%;
	padding-top: 1px;
}


.message
{
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.65;
	color: var(--black);
	display: grid;
	grid-template-columns: 60% 1fr;
	grid-gap: 20px;
}

.message>div
{
	padding-bottom: 10rem;
}

.message .headmaster
{
	position: initial;
    display:initial;
    padding-bottom: 0;
}

.message .headmaster>div
{
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    min-height: 100vh;
    display: flex;
    align-items: flex-end;
    padding-top: 0px;
}

.message .headmaster img
{
	/*position: sticky;*/
	/*left: 0;*/
	/*top: 0;*/
    display: block;
	/*width: 100%;*/
	height: 100vh;
}

.blockquote
{
	position: relative;
	display: block;
}

.blockquote.large:before {
	content: '\e804';
	font-family: fontello;
	display: block;
	line-height: 1;
	margin-bottom: .8rem;
	font-size: 3.5rem;
	padding-right: 22px;
	position: absolute;
	top: 5px;
	left: -120px;
	text-align: right;
	width: 100px;
}

.content a
{
	background: linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x,linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x;
	background-size: 100% .3rem;
	margin-bottom: -.8rem;
padding-bottom: .8rem;
color: var(--black);
text-decoration: none;
transition: all 230ms ease;
}

.content a:hover
{
	background: linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x,linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 calc(75% + .5rem) repeat-x;
	background-size: 100% .3rem;
}

.notice {
color: rgba(0,0,0,.5);
font-size: 1.3rem;
letter-spacing: .02rem;
line-height: 1.6;
margin-bottom: 2rem;
}

.sign
{
	display: block;
	position: relative;
	padding: 6rem 0 9rem;
}

.sign:after
{
	background: url(/upload/images/about/sign.png) 100% 0/contain no-repeat;
	content: '';
	display: block;
	
	position: absolute;
	top: 0;
	/*left: 34rem;
	height: 27rem;
	*/
	height: 24rem;
	left: 23rem;
	width: 37rem;
	z-index: 0;
}

.question
{
	font-size: 2.3rem;
	line-height: 1.4;
	margin-bottom: 1.3rem;
	font-family: als_meringue;
	font-weight: 500;
	width: 60%;
	position: relative;
}

.faq .blockquote
{
	height: 4rem;
}

.question:before
{
	display: block;
	position: absolute;
	content: '—';
	color: #a32e0b;
	position: absolute;
	left: -3rem;
}

.answer
{
	margin-bottom: 4rem;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.65;
	width: 60%;
}

.double-v-block
{
	display: grid;
	grid-template-columns: 55% 1fr;
	grid-gap: 40px;
}

.double-v-block.equal
{
	grid-template-columns: repeat(2, 1fr);
}

.double-c-block
{
	display: grid;
	grid-template-columns: 1fr 493px;
	grid-gap: 40px;	
}

.double-block
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 40px;	
}

.gallery
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: 10px;
	grid-row-gap: 15px;
}

.gallery>div
{
	display: block;
	position: relative;
	padding-top: 100%;
}

.gallery div div
{
	display: block;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	background-size: cover;
	background-position: center;
	-webkit-transition: -webkit-transform .6s;
	transition: -webkit-transform .6s ease;
	transition: transform .6s ease;
	transition: transform .6s ease,-webkit-transform .6s ease;
	-webkit-transform: translateZ(0);
	transform: rotate(-2deg);
	border-radius: 3px;
}

.gallery div.unvisible
{
	display: none;
}

.more-gal-photo
{
	display: block;
	padding-top: 100%;
	position: relative;
	background-color: #94aebd;
	color: #fff;
	border-radius: 5px;
}

.more-gal-photo div
{
	display: flex;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	font: var(--h4);
	letter-spacing: .14rem;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.more-gal-photo div .number
{
	font: var(--h1);
}

.more-gal-photo div .hide-text
{
	display: none;
}

.more-gal-photo.open div .more-text, .more-gal-photo.open div .counter-name, .more-gal-photo.open div .number
{
	display: none;
}

.more-gal-photo.open div .hide-text
{
	display: block;
}

.gallery div.more-v-photo
{
	cursor: pointer;
}



.gallery div.more-v-photo div
{
	background-color: #94aebd;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-transform: uppercase;
}

.gallery div.more-v-photo div .more-text, .gallery div.more-v-photo div .counter-name, .gallery div.more-v-photo div .hide-text
{
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .14rem;
	line-height: 1.35;
}

.gallery div.more-v-photo div .hide-text
{
	display: none;
}

.gallery div.more-v-photo.open div .hide-text
{
	display: block;
}

.gallery div.more-v-photo div .number
{
	font-family: als_meringue;
	font-size: 4rem;
}

.gallery div.more-v-photo.open div .more-text, .gallery div.more-v-photo.open div .counter-name, .gallery div.more-v-photo.open div .number
{
	display: none;
}

.gallery div:nth-child(2n) div
{
	transform: rotate(2deg);
}

.gallery div:hover div
{
	-webkit-transform: scale(1.05) rotate(-2deg);
	transform: scale(1.05) rotate(-2deg);
}

.gallery div:nth-child(2n):hover div
{
	-webkit-transform: scale(1.05) rotate(2deg);
	transform: scale(1.05) rotate(2deg);
}

.gallery div:first-child
{
	grid-column: span 2;
	grid-row: span 2;
}

.double-v-block p
{
	font-size: 1.6rem;
	line-height: 1.65;
}

ul
{
	margin-bottom: 2rem;
	padding: 0;
}

ul li 
{
	list-style: none;
	margin-bottom: 1rem;
	position: relative;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.65;
	padding-left: 2rem;
}

ol
{
	margin-bottom: 2rem;
	padding: 0;
}

ol li 
{
	margin-bottom: 1rem;
	position: relative;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.65;
	padding-left: 2rem;
}

ul li:before
{
	color: #ffc1a6;
	content: '•';
	padding-right: 1.5rem;
	position: absolute;
	left: -5rem;
	text-align: right;
	width: 5rem;
}

.gallery-horizontal
{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 10px;
	grid-row-gap: 15px;
	margin-top: 40px;
}

.gallery-horizontal>div
{
	display: block;
	position: relative;
	padding-top: 100%;
	overflow: hidden;
}

.gallery-horizontal div a
{
	display: block;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	background-size: cover;
	background-position: center;
	-webkit-transition: -webkit-transform .6s;
	transition: -webkit-transform .6s ease;
	transition: transform .6s ease;
	transition: transform .6s ease,-webkit-transform .6s ease;
	border-radius: 3px;
}

.gallery-horizontal div:first-child
{
	grid-column: span 2;
	grid-row: span 2;
}

.gallery-horizontal div:hover a
{
	/*left: -2.5%;
	top: -2.5%;*/
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

.adm-video
{
	display: block;
	position: relative;
	height: auto;
}

.adm-video > div
{
	display: block;
	position: absolute;
	z-index: 1;
	pointer-events: none;
	width: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	background: url('/upload/images/about/img_prev_video_1_.jpg');
	background-size: cover;
}

.adm-video > div:before
{
	content: "";
	background-color: rgba(93,127,146,.5);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
}

.adm-video > div:after
{
	content: '\e815';
	color: #fff;
	font-family: fontello;
	font-size: 3.7rem;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	text-align: center;
	-webkit-transform: translate3d(0,-50%,0);
	transform: translate3d(0,-50%,0);
	z-index: 20;
}

.adm-video video
{
	display: block;
	height: auto;
	width: 100% !important;	
	object-fit: fill;
}

p.big-text
{
	width: 100%;
	font-family: als_meringue,sans-serif;
font-size: 2.6rem;
font-weight: 300;
line-height: 3.8rem;
}

.content p.big-text a
{
	font-size: 2.6rem;
font-weight: 300;
line-height: 3.8rem;
font-family: als_meringue,sans-serif;
}

.adm-info
{
	display: block;
	padding-top: 0;
	position: relative;
}

.scroller
{
	width: 100%;
}

.reg-info
{
	padding: 7rem 8.5rem 0
}

.registration-open
{
	padding: 7rem 8.5rem 8rem;
	position: relative;
}

.registration-open.min-pad
{
	padding: 3rem 4.5rem 4rem 7.5rem;
}

.registration-open .symbols i
{
	color: #ffac81;
}

.symbols
{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	pointer-events: none;
}

.symbols i
{
	-webkit-animation: animationSymbol 15s linear infinite; /* Safari 4+ */
	-moz-animation:    animationSymbol 15s linear infinite; /* Fx 5+ */
	-o-animation:      animationSymbol 15s linear infinite; /* Opera 12+ */
	animation:         animationSymbol 15s linear infinite;
	font-size: 10rem;
	position: absolute;
}

.symbols i:nth-child(2n)
{
	-webkit-animation: animationSymbol2 15s linear infinite; /* Safari 4+ */
	-moz-animation:    animationSymbol2 15s linear infinite; /* Fx 5+ */
	-o-animation:      animationSymbol2 15s linear infinite; /* Opera 12+ */
	animation:         animationSymbol2 15s linear infinite;
}

@-webkit-keyframes animationSymbol {
  0%    { -webkit-transform: rotate(0deg) translateX(10px) translateY(10px); }
  50%   { -webkit-transform: rotate(180deg) translateX(10px) translateY(5px); }
  100%  { -webkit-transform: rotate(360deg) translateX(10px) translateY(10px);}
}

@-o-keyframes animationSymbol {
  0%    { -o-transform: rotate(0deg) translateX(10px) translateY(10px); }
  50%   { -o-transform: rotate(180deg) translateX(10px) translateY(5px); }
  100%  { -o-transform: rotate(360deg) translateX(10px) translateY(10px);}
}

@-moz-keyframes animationSymbol {
  0%    { -moz-transform: rotate(0deg) translateX(10px) translateY(10px); }
  50%   { -moz-transform: rotate(180deg) translateX(10px) translateY(5px); }
  100%  { -moz-transform: rotate(360deg) translateX(10px) translateY(10px);}
}

@keyframes animationSymbol {
   0%    { transform: rotate(0deg) translateX(10px) translateY(10px); }
  50%   { transform: rotate(180deg) translateX(10px) translateY(5px); }
  100%  { transform: rotate(360deg) translateX(10px) translateY(10px);}
}

@-webkit-keyframes animationSymbol2 {
  0%    { -webkit-transform: rotate(360deg) translateX(10px) translateY(10px); }
  50%   { -webkit-transform: rotate(180deg) translateX(10px) translateY(5px); }
  100%  { -webkit-transform: rotate(0deg) translateX(10px) translateY(10px);}
}

@-o-keyframes animationSymbol2 {
  0%    { -o-transform: rotate(360deg) translateX(10px) translateY(10px); }
  50%   { -o-transform: rotate(180deg) translateX(10px) translateY(5px); }
  100%  { -o-transform: rotate(0deg) translateX(10px) translateY(10px);}
}

@-moz-keyframes animationSymbol2 {
  0%    { -moz-transform: rotate(360deg) translateX(10px) translateY(10px); }
  50%   { -moz-transform: rotate(180deg) translateX(10px) translateY(5px); }
  100%  { -moz-transform: rotate(0deg) translateX(10px) translateY(10px);}
}

@keyframes animationSymbol2 {
   0%    { transform: rotate(360deg) translateX(10px) translateY(10px); }
  50%   { transform: rotate(180deg) translateX(10px) translateY(5px); }
  100%  { transform: rotate(0deg) translateX(10px) translateY(10px);}
}

.registration-open:before
{
	content: "";
	background-color: rgba(255,172,129,.5);
	border-radius: 6px;
	position: absolute;
	top: 0;
	left: 4rem;
	right: 2rem;
	bottom: 0;
	z-index: 0;
	-webkit-transform: rotate(-3deg);
	transform: rotate(-3deg);
	pointer-events: none;
}

.registration-open h3
{
	width: 206px;
	color: #a32e0b;
}

.registration-open h4
{
	font-family: "als_meringue";
	font-size: 1.5rem;
	color: #a32e0b;
}

.price-line
{
	color: #c7d680;
	fill: #c7d680;
	-webkit-box-align: stretch;
	align-items: stretch;
	color: #fbdea5;
	display: -webkit-box;
	display: flex;
	flex-wrap: nowrap;
	font-size: 1.5rem;
	line-height: 0;
	margin: 2rem 0 1.5rem;
	-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
	transition: all .8s cubic-bezier(.495,.155,.145,.955);
}

.price-line i
{
	color: #c7d680;
	margin: 0;
	width: auto;
}

.price-line i:before
{
	margin-left: 0;
}

.price-line div:nth-child(2)
{
	width: 8%;
}

.price-line div:nth-child(4)
{
	-webkit-box-flex: 1;
	flex-grow: 1;
}

.price-line div svg
{
	height: 1.5rem;
	width: 100%;
}

.price-info
{
	display: flex;
	justify-content: space-between;
}

.price-info .price-block
{
	display: flex;
	justify-content: space-between;
}

.price-info .price-sum
{
	-webkit-box-flex: 0;
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	font-size: 2.3rem;
	line-height: 1.4;
	margin-bottom: 1.3rem;
	font-family: als_meringue;
	padding: 0 15px;
}

.price-info .price-text
{
	flex-basis: 0;
	-webkit-box-flex: 1;
	flex-grow: 1;
	max-width: 100%;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.65;
}

.price-info .price-plus
{
	-webkit-box-flex: 0;
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	font-size: 2.5rem;
	margin-top: -.5rem;
}

.content a.button
{
	padding: 1rem 4rem;
	line-height: 1.5;
	border-radius: 6px;
	border-width: 0px;
	font-family: als_meringue;
	font-size: 2.6rem;
	background: #a32e0b;
	border: 1px solid transparent;
	box-sizing: border-box;
	display: inline-block;
	color: #fff;
	cursor: pointer;
	font-weight: 400;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.redbutton
{
	padding: 1rem 4rem;
	border-radius: 6px;
	border-width: 0px;
	font-family: als_sector;
	font-size: 2rem;
	line-height: 3rem;
	letter-spacing: 0.2rem;
	text-decoration: none;
	text-transform: uppercase;
	background: #a32e0b;
	border: 1px solid transparent;
	box-sizing: border-box;
	display: block;
	color: #fff;
	cursor: pointer;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}


.content a.button:hover, .redbutton:hover
{
	background: rgba(163, 46, 11, 0.84);
}

.content.slim
{
	margin-left: 7.333333%;
	/*width: 58.333333%;*/
	font: var(--standart);
	position: relative;
}

.content.slim2
{
	width: 65.666666%;
	font: var(--standart);
	position: relative;
}

.content.slim2.news-detail
{
	width: 100%;
}

.margin8
{
	margin-left: 8%;/*7.333333%;*/
}

.pad15>div
{
	box-sizing: border-box;
	padding: 0 15px;
}

.marginBottomBigH1
{
	margin-bottom: 5rem;
}

.content table
{
	border-collapse: collapse;
}

.content table td
{
	border: 1px solid #212529;
	padding: 0 1em;
}

.teachers
{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 30px;
	margin-bottom: 40px;
}

.teachers .quote
{
	grid-column: span 2;
	padding-left: 12.33333333%;
}

.teachers .quote div
{
	font:  var(--h3);
	font-size: 2.6rem;	
	position: relative;
}

.teachers .quote div:before
{
	content: '\e804';
font-family: fontello;
font-size: 2.8rem;
display: block;
line-height: 1;
margin-bottom: .8rem;
position: absolute;
left: -12.333333%;
top: 0px;
}

.teachers.thide {display: none;}

.teachers h2
{
	grid-column: span 4;
}

.teachers .short-teacher
{
	display: block;
	line-height: 1.2;
	font-size: 1.6rem;
	font-weight: 300;
	background: none;
}
.teachers .short-teacher:hover
{
	background: none;	
}

.teachers .short-teacher.thide
{
	display: none;
}

.teachers .short-teacher.big
{
	grid-column: span 2;
}

.teachers .short-teacher .photo
{
	display: block;
	position: relative;
	height: 300px;
	background-position: center bottom;
	background-size: auto 95%;
	background-repeat: no-repeat;
	border-radius: 10px;
	transition: background-size 0.1s ease-in;
	-moz-transition: background-size 0.2s ease-in;
	-ms-transition: background-size 0.2s ease-in;
	-o-transition: background-size 0.2s ease-in;
	-webkit-transition: background-size 0.2s ease-in;
}

.teachers .short-teacher.big .photo
{
	height: 300px;
}

.teachers .short-teacher span
{
	display: block;
	margin: 5px 0;
}

.teachers .short-teacher:hover .photo
{
	background-size: auto 97%;
}

.filter
{
	display: flex;
	border-bottom: 1px solid rgb(215, 215, 215);
	justify-content: flex-start;
	grid-gap: 30px;
	position: relative;
	z-index: 4;
}

.filter.to-end
{
	justify-content: flex-end;
}

.filter .filter-item
{
	display: block;
	width: 160px;
	position: relative;
}

.filter .filter-item .filter-list
{
	display: none;
	position: absolute;
	background: #a32e0b;
	padding: 15px 0;
	border-radius: 6px;
	top: 120%;
	left: -20px;
	z-index: 2;
	transition: all .3s ease;
}

.filter.to-end .filter-item .filter-list
{
	left: auto;
	right: 0;
}

.filter .filter-item.open .filter-list
{
	display: block;
}

.filter .filter-item .filter-list a
{
	padding: 7px 20px 5px 57px;
	color: #ffffff;
	font-size: 1.6rem;
	display: block;
	line-height: 1.45;
	text-decoration: none;
}

.filter .filter-item .filter-list input[type=checkbox]
{
	display: none;
}

.filter .filter-item .filter-list input[type=checkbox]+label
{
	padding: 7px 20px 5px 57px;
	color: rgba(255,255,255,.5);
	font-size: 1.6rem;
	display: block;
	line-height: 1.45;
	text-decoration: none;
	white-space: nowrap;
	position: relative;
}

.filter .filter-item .filter-list input[type=checkbox]+label:before
{
	content: '';
	background-color: rgba(255,255,255,0);
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 2px;
	height: 20px;
	width: 20px;
	position: absolute;
	left: 17px;
	top: 4px;
	-webkit-transition: .3s;
	transition: all .3s ease;
}

.filter .filter-item .filter-list input[type=checkbox]:checked+label
{
	color: #ffffff;
}

.filter .filter-item .filter-list input[type=checkbox]:checked+label:before
{
	content: '\e800';
	color: #a32e0b;
	font-size: 12px;
	text-align: center;
	line-height: 20px;
	font-family: fontello;
	background-color: rgba(255,255,255,1.0);
	border: 1px solid rgba(255,255,255,1.0);
	border-radius: 2px;

}

.filter .filter-item .notice
{
	display: block;
	margin-bottom: 0.75rem;
}

.filter .filter-item>a
{
	display: inline-block;
	font-variant: small-caps;
	max-width: 100%;
	overflow: hidden;
	text-transform: uppercase;
	vertical-align: top;
	white-space: nowrap;
	font-size: 1.4rem;
	font-family: als_sector,sans-serif;
	font-weight: 700;
	letter-spacing: .14rem;
	line-height: 1.3;
	text-decoration: none;
	color: var(--black);
	margin-bottom: 0.75rem;
	position: relative;
}

.filter .filter-item>a:hover
{
	color: #a32e0b;
}

.filter .filter-item>a i
{
	color: rgba(0,0,0,.15);
	display: inline-block;
	font-size: 7px;
	height: 10px;
	width: 12px;
	position: relative;
	bottom: -3px;
	vertical-align: top;
}

.filter .filter-item>a i
{
	transition: all .3s ease;
}

.filter .filter-item.open>a i
{
	transform: rotateX(180deg) rotateZ(360deg) translateY(2px);
	color: #a32e0b;
}

.teacher-block
{
	color: #fff;
margin-bottom: 6.5rem;
min-height: 100vh;
padding-top: 16.5rem;
padding-bottom: 9.5rem;
position: relative;
box-sizing: border-box;
	background-position: 50vw bottom;
	background-repeat: no-repeat;
	background-size: contain;
}

.teacher-info
{
	display: block;
	color: #ffffff;
	width: 41.66666667%;
}

.black .teacher-info
{
	color: var(--black);
}

.teacher-info .position
{
	font-family: als_meringue,sans-serif;
	font-size: 2.6rem;
	font-weight: 300;
	line-height: 3.8rem;
}

.teacher-info .bio
{
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.65;
}

.techer-other-info
{
	display: block;
	width: 52%;
	box-sizing: border-box;
	padding: 0 15px;
}

.techer-other-info .unversity
{
	margin-bottom: 1.5rem;
	font-size: 1.7rem;
	font-weight: 700;
letter-spacing: .14rem;
line-height: 1.35;
	text-transform: uppercase;
}

.techer-other-info .courses
{
	display: grid;
	font-size: 1.6rem;
	grid-template-columns: 120px 1fr;
	grid-gap: 20px;
}

.techer-other-info .courses .courses-name
{
	opacity: 0.5;
}

.techer-other-info .courses .courses-list div
{
	margin-bottom: 1rem;
}

.techer-other-info .quote
{
	display: block;
	font-size: 1.6rem;
font-weight: 300;
line-height: 1.65;
margin-top: 5rem;
}

.techer-other-info .quote:before
{
	content: '\e804';
font-family: fontello;
font-size: 2.8rem;
display: block;
line-height: 1;
margin-bottom: .8rem;
}

.other-teachers
{
	display: block;
	padding: 0 15px;
	margin-top: 6rem;
}

.count1{grid-template-columns: repeat(1, 1fr);}
.count2{grid-template-columns: repeat(2, 1fr);}
.count3{grid-template-columns: repeat(3, 1fr);}
.count4{grid-template-columns: repeat(4, 1fr);}
.count5{grid-template-columns: repeat(5, 1fr);}
.count6{ grid-template-columns: repeat(6, 1fr);}

.count1.tfixed{grid-template-columns: repeat(1, 9vw);}
.count2.tfixed{grid-template-columns: repeat(2, 9vw);}
.count3.tfixed{grid-template-columns: repeat(3, 9vw);}
.count4.tfixed{grid-template-columns: repeat(4, 9vw);}
.count5.tfixed{grid-template-columns: repeat(5, 9vw);}
.count6.tfixed{ grid-template-columns: repeat(6, 9vw);}

.teachers-round-list
{
	display: grid;
	grid-gap: 30px;
}

.teachers-round-list a
{
	text-decoration: none;
	color: var(--black);
	font-size: 1.6rem;
	line-height: 1.2;
	margin-bottom: 0.5rem;
}

.teachers-round-list a .photo
{
	display: block;
	background-size: cover; /*auto 91%;*/

	background-position: center bottom;
	border-radius: 50%;
	padding-top: 100%;
	background-repeat: no-repeat;
	transition: all 0.3s ease;
}

.teachers-round-list a:hover .photo
{
	background-size: auto 95%;
}

.teachers-round-list a p
{
	margin-bottom: 0;
}

.bloc-name
{
	margin-bottom: 1.5rem;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: .14rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.house-teacher
{
	display: grid;
	grid-template-columns: 205px 1fr;
	grid-gap: 15px;
	margin: 20px 0;
}

.house-teacher div
{
	display: flex;
	align-items: center;
}

.house-teacher div:first-child
{
	text-align: center;
	justify-content: center;
}

.house-teacher div img
{
	max-height: 173px;
}

.houses-logo
{
	position: absolute;
	right: -285px;
	top: -120px;
	max-width: 255px;
}

.house
{
	display: grid;
	grid-template-columns: 4fr 6fr 3fr;
	grid-gap: 15px;
	padding-top: 3rem;
	padding-bottom: 14rem;
	position: relative;
}

.house>div
{
	z-index: 1;
}

.house:before
{
	content: " ";
	position: absolute;
	z-index: 1;
	width: 100vw;
	top: 0;
	bottom: 0;
	left: calc( (-1) * ( (100vw - 100%) /2  + ( 4.333333% / 1 ) ) );
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
	-webkit-animation-duration: 7s;
	animation-duration: 7s;
	transform: skewY(-3deg) scale(1,1.1);
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
	-webkit-animation-duration: 7s;
	animation-duration: 7s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: HouseBgAnimation;
	animation-name: HouseBgAnimation;
	-webkit-animation-timing-function: ease;
	animation-timing-function: ease;
}

@keyframes HouseBgAnimation {
	0% {
		transform: skewY(-3deg) scale(1,1.1);
	}
	
	100% {
		transform: skewY(0deg) scale(1,1.1);
	}
}

.house .h-gerb img
{
	max-width: 100%;
}

.house.white {color: var(--white);}

.house.white .teachers-round-list a {color: var(--white);}
.house.white .notice {color: var(--white05);}

.h-info
{
	font: var(--standart);
}

.h-teachers
{
	grid-column: span 2;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

.leaders-list
{
	margin-right: 30px;
}

.leaders-round-list
{
	display: grid;
	grid-gap: 15px;
}

.leaders-round-list .photo
{
	padding-top: 100%;
	background-size: cover;
	background-position: top center;
	border-radius: 50%;
}

.h-slogan
{
	font: var(--standart);
}

.h-slogan span
{
	font: var(--h2-italic);
}

.doc-list
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-row-gap: 5rem;
	grid-column-gap: 30px;
	margin: 1.5rem 0 5rem;
}

.doc-list a, a.doc
{
	display: grid;
	grid-template-columns: 40px 1fr;
	grid-gap: 15px;
	text-decoration: none;
}

a.doc, a.doc:hover
{
	background: none;
}

.doc-list a .name, a.doc .name
{
	font: var(--standart);
	color: #888888;
}

.doc-list a .name span, a.doc .name span
{
	color: var(--black);
	margin-bottom: -.8rem;
	padding-bottom: .8rem;
	transition: all 230ms ease;
	background: linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x,linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x;
	background-size: 100% .3rem;
}

.doc-list a:hover .name span, a.doc:hover .name span
{
	background: linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 75% repeat-x,linear-gradient(to right,#ffe2ca 0,#ffe2ca 100%) 0 calc(75% + .5rem) repeat-x;
	background-size: 100% .3rem;
}

.doc-list .icon .ras, a.doc .icon .ras
{
	display: flex;
	padding: 5px;
	box-sizing: border-box;
	align-items: flex-end;
	font-size: 1.5rem;
	background-size: contain;
	background-repeat: no-repeat;
	height: 47px;
	width: 40px;
	color: var(--white);
	position: relative;
-webkit-transform-origin: 0 100%;
transform-origin: 0 100%;
-webkit-transition: 150ms;
transition: all 150ms ease;
}

.doc-list a:hover .icon .ras, a.doc:hover .icon .ras
{
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transform: rotate(-3deg);
	transform: rotate(-3deg);
}

.docfilter
{
	margin-top: -6rem;
	margin-bottom: 7rem;
	position: relative;
}

#map
{
	width: 493px;
	height: 493px;
}

.news-list
{
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   grid-gap: 30px;
}

.news-list .news-item
{
	display: block;

}

.news-list .news-item.large-item
{

}

.news-list .news-item .news-aimg
{
	display: block;
}

.news-item .news-aimg img
{
	width: 100%;
	border-radius: 5px;
}

.news-item 
{
	text-decoration: none;
	color: var(--black);
	padding-bottom: 30px;
}

.news-item .date
{
	color: #888;
	font-size: 1.3rem;
	display: block;
	margin-bottom: .4rem;
}

.news-item .date img
{
	margin-left: 10px;
}

.news-item .title
{
	font: var(--h3);
}

.news-item.subscribe
{
	display: block;
	padding: 0;
	border-radius: 5px;
	border: 1px solid #d7d7d7;
	margin-bottom: 30px;
}

.news-item.subscribe i
{
	display: flex;
	width: 103px;
	height: 103px;
	border-radius: 50%;
	color: #fff;
	align-items: center;
	justify-content: center;
	font-size: 6rem;
	margin: 4rem auto 0;
}

.news-item.instagram
{
	display: block;
	position: relative;
}

.news-item.instagram>div
{
	display: block;
	position: relative;
	width: 100%;
	padding-top: 100%;
	border-radius: 5px;
	background: #5d7f92;
	-webkit-transform: rotate(5deg);
	transform: rotate(5deg);
	-webkit-transition: 150ms;
	transition: all 150ms ease;
	
}

.news-item.instagram:hover>div
{
	transform: scale(1.1) rotate(5deg);
}

.news-item.instagram>div>div {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	border-radius: 5px;
	opacity: 0.4;
	background-size: cover;
	background-position: center;
}

.news-item.instagram>span
{
	color: #fff;
	background: #5d7f92;
	width: 94px;
	height: 98px;
	text-align: center;
	box-sizing: border-box;
	padding: 1rem 0;
	display: block;
	font-size: 1.2rem;
	line-height: 1.2;
	border-radius: 5px;
	margin-top: 30px;
	-webkit-transform: rotate(-6deg);
transform: rotate(-6deg);
-webkit-transition: 150ms;
transition: all 150ms ease;
}

.news-item.instagram:hover>span
{
	transform: scale(1.1) rotate(-6deg);
}

.news-item.instagram>span i
{
	font-size: 5rem;
	line-height: 1;
	display: block;
}

.news-item.subscribe span
{
	display: block;
	font: var(--h3);
	margin: 0 auto 1.7rem;
	text-align: center;
}

.news-item.subscribe a
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 5px;
	width: 100%;
	margin: 0 -1px;
	font-size: 1.6rem;
	padding: 1rem 0;
	color: #fff;
	text-decoration: none;
	font-family: als_meringue;
}

.news-item.subscribe.sfb i, .news-item.subscribe.sfb a
{
	background: #4266b2;
}

.news-item.subscribe.stg i, .news-item.subscribe.stg a
{
	background: #a32e0b;
}

.news-item .video-cover
{
	display: block;
	width: 100%;
	padding-top: 56%;
	background-position: center;
	background-size: auto 100%;
	position: relative;
	border-radius: 5px;
	transition: all 500ms ease;
}

.news-item:hover .video-cover
{
	background-size: auto 110%;
}

.dn-date
{
	display: block;
	color: #888;
	margin-bottom: 2rem;
	font: var(--standart);
}

.news-item .video-cover .play-block
{
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	background: rgba(93,127,146,.5);
	color: var(--white);
	font-size: 3.7rem;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 5px;
}

.news-list2
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: max-content max-content max-content max-content;
	grid-gap: 30px;
}

.news-list2 .big-column
{
	grid-column: span 2;
}

.news-list2 .press-about
{
	grid-column: span 3;
	padding-bottom: 30px;
}

.news-list2 .press-about div
{
	display: flex;
	justify-content: flex-start;
}

.news-list2 .press-about div a
{
	display: block;
	width: 128px;
	height: 128px;
	border-radius: 50%;
	margin-right: 30px;
	transition: all 0.3s ease;
}

.news-list2 .press-about div a:hover
{
	transform: scale(1.1);
}

.news-list2 .press-about div a img
{
	width: 100%;
}

.news-list2>div>div
{
	width: 100%;
}

.news-list2 .column1
{
	grid-row: span 2;
}

.other-news-list
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 20px;
}

.other-news-list.anews
{
	grid-template-columns: repeat(3, 1fr);
}

.other-news-list.anews .anews-img
{
	display: block;
	padding-top: 70%;
	background-size: cover;
	margin-bottom: 1rem;
}

.share
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 5rem;
}

.share .soc-links
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-left: 2rem;
}

.share .soc-links a
{
	font-size: 3.3rem;
	border-radius: 50%;
	background: var(--red);
	color: var(--white);
	width: 5rem;
	height: 5rem;
	margin-right: 2rem;
	text-decoration: none;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 100ms ease;
}

.share .soc-links a:hover
{
	transform: scale(1.1);
}

.news-gallery
{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 15px;
	margin-bottom: 5rem;
}

.news-gallery .ng2 {grid-column: span 2;}
.news-gallery .ng1 {padding-top: 5rem;}
.news-gallery .ng3 {padding-bottom: 5rem;}

.news-gallery .ng1 a:first-child, .news-gallery .ng3 a:first-child
{
	margin-bottom: 15px;
}

.news-gallery .ng2 a
{
	padding: 0;
	height: 100%;
	display: flex;
}

.news-gallery a
{
	display: block;
	background-size: auto 100%;
	padding-top: 100%;
	background-position: center;
	transition: all 500ms ease;
	background-repeat: no-repeat;
}

.news-gallery>a {display: none;}
.news-gallery.showed>a {display: block;}

.news-gallery a:hover
{
	background-size: auto 110%;
}

.event
{
	position: relative;
	margin: 0 -5rem 5rem;
	box-sizing: border-box;
	padding: 0 5rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-areas: "photo info gal";
	grid-gap: 20px;
	border-radius: 6px;
}

.event:nth-child(2n)
{
	grid-template-areas: "gal info photo";
}

.event>div
{
	padding-top: 5rem;
}

.event .leader-photo
{
	grid-area: photo;
	display: flex;
	align-items: flex-end;
}

.event .leader-photo img
{
	max-width: 100%;
}

.event .event-info
{
	grid-area: info;
	padding-bottom: 2rem;
}

.event .event-info .h3
{
	font: var(--h3);
}

.event .event-info .date
{
	color: rgba(0,0,0,.5);
	font-size: 1.3rem;
	letter-spacing: .02rem;
	line-height: 1.6;
	margin-bottom: 2rem;
}

.event .event-gallery
{
	grid-area: gal;

}

.event .event-gallery div
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
}

.event .event-gallery div a
{
	padding-top: 100%;
	background-size: auto 100%;
	background-position: center;
	border-radius: 5px;
}

.event .event-gallery div a:nth-child(1)
{
	grid-column: span 2;
	grid-row: span 2;
}

.event .event-gallery div a:nth-child(n+4)
{
	display: none;
}

.floor
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 30px;
}

.floor a
{
	display: block;
	position: relative;
	border-radius: 6px;
	background-size: cover;
	background-position: left center;
	height: 30rem;
}

.floor a.big
{
	grid-column: span 2;
}

.floor a div
{
	width: 25rem;
	top: 0;
	left: 0;
	bottom: 0;
	position: absolute;
	display: block;
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}

.floor a span
{
	position: absolute;
	top: 4rem;
	padding: 0 30px;
	left: 0;
	box-sizing: border-box;
	max-width: 100%;
	color: var(--white);
}

.floor a.big span
{
	font: var(--h3);

}

.stage-info
{
	font: var(--standart);
}

.a-stages
{
	display: block;
	padding: 30px;
	border-radius: 1rem;
	background: rgba(255,172,129,.5);/*var(--red);*/

}

.a-stages a
{
	display: inline-block;
	white-space: nowrap;
	color: var(--white);
	font: var(--standart);
	margin-bottom: 10px;
}

.a-stages a.selected
{
	font-weight: bold;
}

.stage-steps
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 15px;
}

.step
{
	display: block;
	position: relative;
	padding: 0 15px 0 0;
	z-index: 2;
}

.step:after
{
	content: "→";
	right: 0;
	display: block;
	position: absolute;
	top: .7rem;
}
.step:last-child:after
{
	display: none;
}

.step:before
{
	background-color: #fff;
	border-radius: 100%;
	content: '';
	height: 3.5rem;
	opacity: .5;
	position: absolute;
	top: -.7rem;
	left: -.7rem;
	width: 3.5rem;
	z-index: 1;
}

.admission-info
{
	padding: 60px 0;
	margin: 30px 0;
	position: relative;
}

.admission-info>div
{
	position: relative;
	z-index: 1;
}

.admission-info .adm-bg-wrapper
{
	width: 100vw;
	overflow: hidden;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 0;
	display: block;
}

.admission-info .adm-bg
{
	display: block;
	background: #fbdea5;
	position: absolute;
	top: 3vw;
	bottom: 3vw;
	left: -10vw;
	width: 120vw;
	z-index: 0;
	transform: rotate(-3deg);
}

.adm-photos
{
	display: block;
	position: relative;
	padding-top: 100%;
}

.adm-photos div
{
	position: absolute;
	background-size: cover;
	width: 30%;
	padding-top: 30%;
	background-position: center;
	border-radius: 6px;
}

.adm-photos div:nth-child(1)
{
	width: 90%;
	padding-top: 60%;
	top: 10%;
	left: 10%;
}

.adm-photos div:nth-child(2)
{
	transform: rotate(5deg);
	top: -5%;
	left: -10%;
}

.adm-photos div:nth-child(3)
{
	top: 75%;
	left: 0;
	transform: rotate(1deg);
}

.adm-photos div:nth-child(4)
{
	top: 75%;
	left: 35%;
	transform: rotate(-1deg);
}

.adm-photos div:nth-child(5)
{
	top: 75%;
	left: 70%;
	transform: rotate(1deg);
}

.popup 
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 100;
}

.popup .pu-closer
{
	font-family: als_sector,sans-serif;
font-size: 5rem;
height: 5rem;
line-height: 5rem;
position: absolute;
top: 3rem;
right: 3rem;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
width: 5rem;
z-index: 30;
-webkit-transition: .6s;
transition: all .6s ease;
	text-decoration: none;
}

.popup .pu-closer:hover
{
	transform: scale(1.1);
}

.popup.form
{
	background: rgba(255,255,255,0.9);
	overflow-y: auto;
}

.popup.bgallery
{
	background: rgba(148,174,189,.9);
}

.popup.bgallery .big-gallery
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;
}

.popup.bgallery .big-gallery img
{
	display: block;
	max-width: 90vw;
	max-height: 90vh;
	margin-top: 5vh;
}

.big-g-larrow, .big-g-rarrow
{
	color: var(--white);
	cursor: pointer;
	display: inline-block;
	font-family: als_sector,sans-serif;
	font-size: 5rem;
	line-height: 0;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	z-index: 30;
	-webkit-transition: .6s;
	transition: all .6s ease;
}

.big-g-larrow:hover, .big-g-rarrow:hover
{
	transform: scale(1.2);
}

.popup.form form
{
	padding-bottom: 10vw;
}

.popup.form .pu-content
{
	display: block;
	position: absolute;
	top: 10vw;
	width: 60vw;
	bottom: 10vw;
	left: 20vw;
}

.popup.form  .field_name, .site.form  .field_name 
{
	color: #888;
	font-size: 1.6rem;
	margin-bottom: .6rem;
}

.popup.form  .form_delimetr, .site.form  .form_delimetr
{
	height: 2.7rem;
}

.popup.form .field_input.phone, .site.form .field_input.phone
{
	width: 50%;
}

.popup.form .field_input input[type=radio]
{
	display: none;
}

.popup.form .field_input input[type=radio]+label
{
	display: block;
	padding: 5px 5px 5px 30px;
	font-size: 1.8rem;
	position: relative;
}

.popup.form .field_input input[type=radio]+label:before
{
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--white);
	border:1px solid var(--red);
	position: absolute;
	left: 0;
	top:2px;
}

.popup.form .field_input input[type=radio]:checked+label:before
{
	background: var(--red);
}

.popup.form .field_input, .site.form .field_input
{
	position: relative;
}

.popup.form .field_input .error, .popup.form .modules .error, .site.form .field_input .error, .site.form .modules .error
{
	display: block;
	position: absolute;
	font: var(--standart);
	color: var(--red);
	top: 100%;
	left: 0.5rem;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
	transition: all .8s cubic-bezier(.495,.155,.145,.955);
}

.popup.form .field_input .error.show, .popup.form .modules .error.show, .site.form .field_input .error.show, .site.form .modules .error.show
{
	opacity: 1;
}

.popup.form .field_input.checkbox .error, .site.form .field_input.checkbox .error
{
	bottom: -2.5rem;
	left: 45px;
}

.popup.form .field_input input, .site.form .field_input input, .site.form .field_input select
{
-webkit-appearance: none;
background-color: transparent;
border: 2px solid #c6c6c6;
border-radius: 4px;
font-family: als_meringue;
font-size: 16px;
line-height: 1.65;
padding: .2rem 1.4rem;
width: 100%;
box-sizing: border-box;
-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
transition: all .8s cubic-bezier(.495,.155,.145,.955);
}

.popup.form .field_input input[type=checkbox], input[type=checkbox]
{
	display: none;
}

.popup.form .field_input input[type=checkbox]+label, input[type=checkbox]+label
{
	color: #888;
	font-size: 1.6rem;
	margin-bottom: .6rem;
	display: block;
	position: relative;
	padding-left: 3em;
}

.popup.form .field_input input[type=checkbox]+label:before, input[type=checkbox]+label:before
{
	content: "";
	display: flex;
	border: 2px solid #c6c6c6;
	border-radius: 6px;
	height: 1.9em;
	-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
	transition: all .8s cubic-bezier(.495,.155,.145,.955);
	width: 1.9em;
	position: absolute;
	left: 0;
	font-size: 1.7rem;
	top: -0.6em;
}

.cg-item input[type=checkbox]+label
{
	padding-left: 1.4em;
}

.cg-item input[type=checkbox]+label:before
{
	content: "";
	display: flex;
	border: 2px solid #c6c6c6;
	border-radius: 6px;
	height: 1.3em;
	-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
	transition: all .8s cubic-bezier(.495,.155,.145,.955);
	width: 1.3em;
	position: absolute;
	left: 0;
	font-size: 1.1rem;
	top: 0.2em;
}

.popup.form .field_input input[type=checkbox]:checked+label:before, input[type=checkbox]:checked+label:before
{
	content: "\e800";
	font-family: fontello;
	font-style: normal;
	font-weight: 400;
	text-align: center;
	align-items: center;
	justify-content: center;
	color: #6d1900;
	font-size: 1.7rem;
	border-color: #6d1900;
}

.popup.form .modules input[type=checkbox]+label:before, .popup.form .modules input[type=checkbox]:checked+label:before
{
	display: none;
}

.cg-item input[type=checkbox]:checked+label:before
{
	content: "\e800";
	font-family: fontello;
	font-style: normal;
	font-weight: 400;
	text-align: center;
	align-items: center;
	justify-content: center;
	color: #6d1900;
	font-size: 1.1rem;
	border-color: #6d1900;
}

.popup.form .modules > div
{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}

.popup.form .modules
{
	position: relative;
	padding-bottom: 0.5rem;
}

.popup.form .modules .counter
{
	display: grid;
	grid-template-columns: 40px 1fr 40px;
	-webkit-appearance: none;
	background-color: transparent;
	border: 2px solid #c6c6c6;
	border-radius: 4px;
	font-family: als_meringue;
	font-size: 2.6rem;
	line-height: 1.65;
	padding: .2rem 0rem;
	width: 100%;
	max-width: 200px;
	box-sizing: border-box;
}

.popup.form .modules .counter input
{
	border: none;
	text-align: center;
}

.popup.form .modules .counter a
{
	text-decoration: none;
	color: var(--black);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.popup.form .modules input[type=checkbox]
{
	display: none;
}

.popup.form .modules input[type=checkbox]+label
{
	background-color: var(--black);
	color: #fff;
	opacity: .5;
	display: block;
	padding: 5px 8px 4px;
	border-radius: 2px;
	cursor: pointer;
	font-size: 1.4rem;
	text-transform: uppercase;
	white-space: nowrap;
	-webkit-transition: .3s;
	transition: all .3s ease;
	margin-right: 30px;
	position: relative;
	z-index: 2;
}

.popup.form .modules input[type=checkbox]+label:after
{
	position: absolute;
	z-index: 1;
	right: 0;
	top: 4px;
	font-size: 1.6rem;
	content: "×";
	color: var(--black);
	-webkit-transition: .3s;
	transition: all .3s ease;
}

.popup.form .modules input[type=checkbox]:checked+label:after
{
	right: -1.5rem;
}

.popup.form .modules input[type=checkbox]:checked+label
{
	background-color: #a32e0b!important;
	color: #fff;
	opacity: 1;
	margin-bottom: 10px;
}

.popup.form input[type=submit], .button, .site.form input[type=submit]
{
	text-decoration: none;
	background-color: #a32e0b;
border: 1px solid transparent;
box-sizing: border-box;
display: inline-block;
color: #fff;
cursor: pointer;
font-weight: 400;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
padding: 1.7rem 4rem;
font-size: 1.6rem;
line-height: 1.25;
border-radius: 4px;
-webkit-transition: 230ms ease-in-out;
transition: all 230ms ease-in-out;
padding: 1rem 4rem;
line-height: 1.5;
border-radius: 6px;
border-width: 2px;
font-family: als_meringue;
font-size: 2.6rem;
}


.popup.form .field_input textarea, .site.form .field_input textarea
{
	background-color: transparent;
border: 2px solid #c6c6c6;
border-radius: 4px;
font-size: 16px;
padding: .2rem 1.4rem;
width: 100%;
-webkit-transition: border .8s cubic-bezier(.495,.155,.145,.955);
transition: border .8s cubic-bezier(.495,.155,.145,.955);
box-sizing: border-box;
}

.popup.form .pu-closer
{
	color: var(--red);
}

.popup.bgallery .pu-closer
{
	color: var(--white);
}

.popup.excursion .pu-closer
{
	color: var(--white);
}

.excurs
{
	display: block;
	width: 100vw;
	height: 100vh;
	overflow-y: hidden;
	overflow-x: auto;
	background: #fff;
}

.excurs>a
{
	position: absolute;
	top: 48vh;
}

.excurs>a.big-g-larrow
{
	left: 10px;
}

.excurs>a.big-g-rarrow
{
	right: 10px;
}

.excurs .ex-list
{
	display: grid;
}

.excurs .photo
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	height: 100vh;
	background: rgba(0, 0, 0, 0.2);
}

.excurs .photoblock
{
	display: block;
	width: 100vw;
	height: 100vh;
	background-size: cover;
	background-position: center;
}

.excurs .photo img
{
	display: block;
	height: 100%;
}

.excurs .photo .ex-photo-desc
{
	display: block;
	position: absolute;
	left: 40px;
	top: 40px;
	z-index: 1;
	width: 40%;
	color: var(--white);
	font: var(--standart);
}

.excurs .next
{
	display: flex;
	position: absolute;
	width: 30rem;
	height: 100vh;
	right: 0;
	top: 0;
	align-items: flex-end;
	justify-content: center;
	flex-direction: column;
	flex-wrap: wrap;
	color: var(--white);
	padding: 0 2rem 0 10rem;
	box-sizing: border-box;
	z-index: 1;
	font: var(--standart);
	text-decoration: none;
}

.excurs .next .next-name
{
	-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
	transition: all .8s cubic-bezier(.495,.155,.145,.955);
}

.excurs .next .arrow
{
	font-size: 5rem;
	-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
	transition: all .8s cubic-bezier(.495,.155,.145,.955);
}

.excurs .next:hover .arrow
{
	transform: translateX(1.4rem);
}

.excurs .next:hover .next-name
{
	transform: translateX(0.9rem);
}

.excurs .pano
{
	position: relative;
	display: block;
	height: 100vh;
	overflow: hidden;
	width: 100vw;
	overflow-y: hidden;
	overflow-x: auto;
	background-size: cover;
	background-position: center;
}

.excurs .pano img
{
	height: 300%;
	top: -80%;
	position: relative;
}

.excurs .pano-desc
{
	display: flex;
	position: absolute;
	width: 60rem;
	height: 100vh;
	left: 0;
	top: 0;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	flex-wrap: wrap;
	color: var(--white);
	padding: 0 20rem 0 10rem;
	box-sizing: border-box;
	z-index: 1;
	font: var(--standart);
}

.course-list .h2
{
	margin: 6rem 0 4.3rem;
}

.ci-list
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 20px;
}

.ci-list .ci-item
{
	display: block;
	padding-top: 100%;
	background-size: cover;
	background-position: center;
	position: relative;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	text-decoration: none;
}

.ci-list .ci-item.big
{
	grid-column: span 2;
	padding-top: 0;
	padding-right: 50%;
	min-height: 450px;
	display: flex;
	align-items: center;
	background-position: left center;
	border-bottom-left-radius: 5px;
	border-top-left-radius: 5px;
	border-bottom-right-radius: 0px;
}

.ci-list .ci-item .ci-bg
{
	position: absolute;
	z-index: 1;
	width: 100%;
	top: 50%;
	left: 0;
	bottom: 0;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.ci-list .ci-item.big .ci-bg
{
	width: 60%;
	top: 0;
	border-bottom-left-radius: 5px;
	border-top-left-radius: 5px;
	border-bottom-right-radius: 0px;
}

.ci-list .ci-item.big .info div
{
	font: var(--h2);
}

.ci-list .ci-item .info
{
	position: relative;
	z-index: 2;
	font: var(--standart);
	color: var(--black);
	padding: 10px;
}

.ci-list .ci-item .info.white
{
	color: var(--white);
}

.ci-list .ci-item .info span
{
	display: block;
	opacity: 0.5;
}

.course-detail
{
	font: var(--standart);
}

.c-main-image
{
	position: relative;
	display: block;
	margin-bottom: 90px;
	height: 48.5rem;
	overflow: hidden;
}
.c-main-image img
{
	width: 100%;
	border-radius: 5px;
	position: absolute;
	left: 0;
	top: 0;
}

.cm-info
{
	background-image: linear-gradient(transparent, rgb(255, 255, 255) 80%);
	height: 30rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 60px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0 20px;
	box-sizing: border-box;
}

.cm-info div
{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
}

.cm-info div span:nth-child(2)
{
	display: block;
	height: 3em;
}

.c-groups>div, .c-groups>li
{
	display: grid;
	grid-template-columns: 5fr 3fr 2fr 2fr 2fr;
	grid-gap: 10px;
	padding: 5px 10px;
	margin-bottom: 5px;
}

.c-groups .scol2 
{
	grid-column: span 2;
}

.c-groups .scol2 .sched-block
{
	display: flex;
	justify-content: space-around;
}

.cg-item .teacher
{
	display: block;
	color: var(--dark);
}

.c-groups .cg-columns
{
	color: rgba(0,0,0,.5);
	font-size: 1.3rem;
	letter-spacing: .02rem;
	line-height: 1.6;
}

.c-groups .cg-item
{
	border: 2px solid rgba(0,0,0,.3);
	border-radius: 5px;
	padding: 10px 10px;
}

.c-groups .cg-item.selected
{
	border: 2px solid var(--red);
}

.course-form
{
	display: grid;
	grid-gap: 20px;
	grid-template-columns: repeat(3, 1fr);
}

.course-form .col3, .course-form h1
{
	grid-column: span 3;
}

.course-form .col2, .col2
{
	grid-column: span 2;
}

.tcourses, .tgroups, .tmodules
{
	display: flex;
	justify-content: flex-start;
}

.tcourses a, .tgroups a, .tmodules a
{
	display: block;
	padding: 5px 10px 3px;
	border: 1px solid var(--red);
	border-radius: 3px;
	margin: 0 5px 5px 0;
	text-decoration: none;
	color: var(--black);
}

.tcourses a.selected, .tgroups a.selected, .tmodules a.selected
{
	background: var(--red);
	color: var(--white);
}

.tglist.visible
{
	display: block;
}

.tglist.unvisible
{
	display: none;
}

.forteacher.unvisible
{
	display: none;
}

.forteacher.visible
{
	display: table;
}

.forteacher
{
	font: var(--standart);
	border-collapse: collapse;
}

.forteacher td
{
	padding: 5px;
	border: 1px solid var(--black);
}

.iselect
{
	position: relative;
background-color: transparent;
border: 2px solid #c6c6c6;
border-radius: 4px;
font-family: als_meringue;
font-size: 2.6rem;
line-height: 1.65;
padding: .2rem 1.4rem;
width: 100%;
box-sizing: border-box;
-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
transition: all .8s cubic-bezier(.495,.155,.145,.955);
}

.iselect span
{
	display: block;
}

.iselect select
{
	-webkit-appearance: none;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	margin: 0;
	border: none;
	opacity: 0;
}

.iselect:after
{
	content: "↓";
margin-left: .5rem;
font-weight: 700;
	position: absolute;
	right: 1.4rem;
	top: 0.2rem;
}

.tt-filter
{
	display: block;
	padding-bottom: 20px;
}

.tt-filter input[type=submit]
{
	-webkit-appearance: none;
	display: block;
	width: 200px;
	padding: 10px 20px;
	text-align: center;
	font-size: 1.5rem;
	background: var(--red);
	color: var(--white);
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.2s ease;
}

.tt-filter input[type=radio], .tt-filter input[type=checkbox]
{
	display: none;
}

.tt-filter input[type=radio]+label, .tt-filter input[type=checkbox]+label
{
	display: block;
	padding: 5px 10px;
	border: 1px solid var(--red);
	border-radius: 4px;
	margin: 0 5px 5px 0;
}

.tt-filter input[type=checkbox]+label:before
{
	display: none;
}

.tt-filter input[type=radio]:checked+label, .tt-filter input[type=checkbox]:checked+label
{
	background: var(--red);
	color: var(--white);
}

.tt-filter input[type=submit]:hover
{
	transform: scale(1.05);
}

.tt-filter .variants
{
	display: flex;
	padding: 10px 0;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.stud-courses
{
	border-collapse: collapse;
}

.stud-courses td
{
	padding: 5px;
	border: 1px solid var(--black);
}

.stud-courses td span
{
	display: block;
}

.mystudent
{
	text-decoration: none;
	font: var(--h4);
	color: var(--red);
	display: block;
}

.s-lessons
{
	display: none;
}

.elki
{
	display: grid;
	padding: 40px 0;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 20px;
}

.elka
{
	display: block;
	color: var(--white);
	background: var(--red);
}

.elka .elka-img
{
	padding-top: 150%;
	background-size: cover;
	background-position: center center;
	position: relative;
}

.elka .elka-img a
{
	display: none;
}

.elka .elka-img a.elka-other
{
	display: block;
	width: calc(100% - 40px);
	bottom: 10px;
	left: 20px;
	background: var(--white);
	border-radius: 5px;
	color: var(--red);
	padding: 10px;
	text-align: center;
	text-decoration: none;
	position: absolute;
	box-sizing: border-box;
}

.elka .elka-price
{
	display: block;
	padding: 20px;
}

.elka .elka-price .ep-name
{
	font: var(--standart);
	display: block;
}

.elka .elka-price .ep-value
{
	font: var(--h3);
	display: block;
}

.elka .elka-price .ep-value.big
{
	font: var(--h2);
}

.elka .elka-name
{
	font: var(--h2);
	display: block;
	text-align: center;
	height: 90px;
}

.elka-more
{
	color: var(--white);
	padding: 20px;
}

.elka .elka-desc
{
	display: block;
	padding: 20px;
	height: 120px;
	overflow: hidden;
}

.elka .elka-desc.show
{
	height: auto;
}

.elka .elka-go
{
	padding: 20px;
	text-align: center;
}

.elka .elka-go a
{
	background: var(--white05);
	display: block;
	text-decoration: none;
	color: var(--red);
	padding: 10px;
	border-radius: 5px;
}

.elka .elka-go a:hover
{
	background: var(--white);
}

form.reviews
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 10px;
}

form.reviews textarea
{
	min-height: 100px;
}

form.reviews .col3
{
	grid-column: span 3;
}

.popup.form .reviews .field_input input
{
	margin: 0;
}

.review
{
	display: block;
	padding: 0 0 40px 70px;
	font: var(--standart);
	position: relative;
}

.review:before
{
	
content: '\e804';
font-family: fontello;
display: block;
line-height: 1;
margin-bottom: .8rem;
font-size: 2.5rem;
padding-right: 0px;
position: absolute;
top: 5px;
left: 0px;
text-align: right;
width: 50px;
}

.price-setter
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: 30px;
}

.price-setter div
{
	margin: 0 30px;
}

.price-setter input
{
	-webkit-appearance: none;
	padding: 15px 10px;
	margin: 0;
	width: 200px;
	font-size: 2rem;
	border: 1px solid #ccc;
	border-radius: 5px;
}

.holl
{
	display: grid;
	grid-template-columns: repeat(23, 30px);
	grid-template-rows: repeat(15, 30px);
	grid-gap: 4px;
}

.holl.editor
{
	grid-template-columns: repeat(24, 30px);
}

.scena
{
	display: block;
	font-size: 5rem;
	grid-column: span 23;
	padding-top: 20px;
}

.scena div
{
	display: block;
	border-top: 1px solid var(--black);
	text-align: center;
}

.holl .place
{
	display: block;
	position: relative;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	background: #ccc;
}

.posts
{
	list-style-type: none;
	display: flex;
	justify-content: flex-start;
overflow-x: auto;
height: auto;
padding: 10px 5px;
}

.posts li:before
{
	display: none;
}

.posts li a
{
	display: flex;
	min-height: 100%;
	width: 290px;
	height: auto;
	flex-direction: column;
	justify-content: flex-start;
	padding: 20px;
	transition: all 0.3s ease;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	box-sizing: border-box;
	text-decoration: none;
	background: var(--white);
}

.posts li a:hover
{
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
	background: var(--white);
}

.posts li a .p-image
{
	display: block;
	padding-top: 100%;
	background-size: cover;
	background-position: center;
}

.posts.oposts li a .p-image
{
	padding-top: 70%;
}

.posts li a .p-title
{
	color: var(--black);
	font-weight: bold;
	padding: 10px 0;
}

.posts li a .p-text
{
	color: black;
}

.posts li a .p-date
{
	color: black;
	font-weight: normal;
	padding-top: 10px;
}

.school-stages
{
	display: grid;
	grid-template-columns: 1fr 3fr;
	grid-gap: 20px;
}

.school-stages .info
{
	display: block;
	border-radius: 4px;
	background:rgba(255,172,129,.5);
	padding: 10px;
	color: #a32e0b;
	position: sticky;
	top:5px;
}

.school-stages .title-panel
{
	display: block;
	margin: 5px auto 10px;
	width: 80%;
	text-align: center;
	font-weight: bold;
	font-size: 1.6rem;
	border-bottom: 3px solid #c7d680;
}

.school-stages .class-panel
{
	display: block;
	margin: 5px auto;
	width: 80%;
	text-align: center;
	font-weight: bold;
	font-size: 1.4rem;
	padding: 12px 5px 10px;
	border-radius: 4px;
	background: #edecec;
	position: relative;
}

.school-stages .class-panel:hover, .school-stages .class-panel.selected
{
	background: #c7d680;
	color: var(--white);
}

.school-stages .class-panel .icons
{
	display: flex;
	position: absolute;
	left: 10px;
	top: 10px;
	gap: 10px;
	font-size: 25px;
	color: green;
}

.school-stages .class-panel .icons .imicon-close
{
	color: var(--red);
}

.school-stages .info .hb-bg
{
	color: rgba(255, 255, 255, 0.2);
	position: absolute;
	font-size: 50px;
	right: 10px;
	top: -5px;
}

.legend
{
	display: block;
	padding: 20px 0;
}

.legend>div
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 20px;
}

.legend>div>div
{
	display: grid;
	grid-template-columns: 50px 150px;
	grid-gap: 10px;
}

.legend>div>div i
{
	font-size: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
}

#full-stage-info .doc-list
{
	grid-template-columns: 1fr;
}

#full-stage-info .doc-list a
{
	background: none!important;
}

#full-stage-info .fsi-reg
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 20px;
	padding: 20px;
	border-radius: 5px;
	border: 1px solid var(--red);
}

#full-stage-info .fsi-reg b
{
	font-size: 1.6rem;
	display: block;
	padding-top: 10px;
}

#full-stage-info .fsi-step
{
	margin: 40px 0;
}

#full-stage-info .prop
{
	display: flex;
	gap:10px;
}

#full-stage-info .prop .name
{
	font-weight: bold;
}

#full-stage-info .fsi-step-head
{
	display: grid;
	grid-template-columns: 100px 1fr;
	grid-gap: 20px;
}

#full-stage-info .fsi-step-head .num
{
	text-align: center;
	color: var(--white);
	background: var(--red);
	border-radius: 5px;
}

#full-stage-info .fsi-step-head .num span
{
	font-family: als_meringue;
	font-size: 5rem;
	display: block;
	text-align: center;
}
.ms
{
	display: none !important;
}

.support
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 40px;
}

.support .sum
{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: flex-end;
	gap:20px;
}

.support .sum a
{
	background: none;
	border-radius: 5px;
	border:2px solid #ccc;
	color: #666;
	display: flex;
	align-items: center;
	padding: 5px 15px;
}

.mysum
{
	display: none;
	padding-top: 20px;
}

.support .button
{
	margin-top: 20px;
}

.support input[type=tel], .support input[type=text], .support input[type=email]
{

-webkit-appearance: none;
background-color: transparent;
border: 2px solid #c6c6c6;
border-radius: 4px;
font-family: als_meringue;
font-size: 16px;
line-height: 1.65;
padding: 1rem 2rem;
width: 100%;
box-sizing: border-box;
-webkit-transition: .8s cubic-bezier(.495,.155,.145,.955);
transition: all .8s cubic-bezier(.495,.155,.145,.955);

}

.support .sum a.selected
{
	background: var(--red);
	border-color: var(--red);
	color: var(--white);
}

.pc-list
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 40px;
}

.pc-list a
{
	color: var(--black);
	text-decoration: none;
	box-sizing: border-box;
	background: transparent;
	padding: 20px;
	border:1px solid var(--red);
	border-radius: 10px;
}

.pc-list a:hover
{
	background: var(--red);
	color: var(--white);
}

.pc-list a .pc-title
{
	font-size: 18px;
	font-weight: bold;
}

header .wrapper .menu>div>div>div
{
	padding-left: 20px;
}

.tlp
{
	border-collapse: collapse;
}

.tlp td, .content .tlp td
{
	padding: 10px 20px;
	vertical-align: top;
	border: none;
}

.tlp td img
{
	width: 95px;
}

.future-sem
{
	display: flex;
	gap: 20px;
	flex-wrap: wrap;

}

.future-sem a
{
	flex:none;
	display: flex;
	width: 290px;
	padding: 15px;
	box-sizing: border-box;
	flex-direction: column;
	gap: 15px;
	font-size: 1.5rem;
	text-decoration: none;
	color: var(--black);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	transition: all 0.3s ease;
}

.future-sem a:hover
{
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);	
}

.future-sem a .image
{
	display: block;
	width: 100%;
	padding-top: 100%;
	background-size: cover;
	background-position: center;
}

.prog-blocks
{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 30px;
}

.prog-blocks .prog-block
{
	display: block;
	min-width: 40%;
	padding: 20px;
	width: 495px;
	max-width: 100%;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid var(--red);
}

.content blockquote
{
	margin: 0;
}

.prog-blocks .prog-block .pb-title
{
	font-size: 2rem;
	padding-bottom: 20px;
	display: block;
	font-weight: bold;
}

.prog-blocks .prog-block .pb-title em
{
	font-size: 1.5rem;
	color: var(--red);
}

.prog-blocks .prog-block .pb-files
{
	display: flex;
	justify-content: space-between;
	gap:30px;
}

.prog-blocks .prog-block a
{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	text-decoration: none;
	color: var(--black);
	border-radius: 10px;
	box-sizing: border-box;
	padding: 10px;
	transition: all 0.3s ease;
}

.prog-blocks .prog-block a:hover
{
	background: rgba(163, 46, 11, 0.2);
	transform: scale(1.05);
}

.prog-blocks .prog-block a img
{
	height: 100px;
}

.characters
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px;
	row-gap: 15px;
}

.characters>div
{
	display: flex;
	flex: none;
	border-radius: 50%;
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	color: var(--red);
	justify-content: center;
	align-items: center;
}

.donlist
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 30px;
}

.donlist a
{
	display: block;
	text-decoration: none;
	color: var(--black);
	padding: 20px;
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.donlist a .d-image
{
	display: block;
	width: 100%;
	padding-top: 65%;
	background-size: cover;
	background-position: center;
}

.donlist a .d-name
{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 120%;
	margin: 10px 0;
}

.donlist a .d-sum
{
	display: flex;
	justify-content: space-between;
	gap:10px;
}

.donlist a .d-sum>span:last-child
{
	font-weight: bold;
	text-align: right;
}

.d-big-image
{
	display: block;
	width: 100%;
	padding-top: 65%;
	background-size: cover;
	background-position: center;
}

.sbor
{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 40px;
}

.sbor .s-got
{
	text-align: left;
}

.sbor .s-need
{
	text-align: right;
}

.sbor .s-got, .sbor .s-need
{
	font-size: 2rem;
}

.sbor .s-bar
{
	grid-column: span 2;
	height: 15px;
	background: #E5E5E5;
}

.sbor .s-bar div
{
	display: block;
	height: 15px;
	background: var(--red);
}

.sovetpp
{
	display: block;
	margin: 10px 0;
	justify-content: flex-start;
	gap: 5px;
	font-size: 1.6rem;
}

.sovetpp>span:first-child
{
	font-weight: bold;
	white-space: nowrap;
}

.medals
{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap:30px;
	margin: 30px 0;
}

.medals>div
{
	display: block;
	position: relative;
	width: 150px;
}

.medals>div>div
{
	position: relative;
	width: 150px;
}

.medals>div>span
{
	font-weight: bold;
	font-size: 2.5rem;
	text-align: center;
	display: block;
}

.medals>div.three-m
{
	width: 210px;
}

.medals>div>span
{

}


.medals>div>div>img
{
	max-width: 150px;
	position: relative;
	z-index: 3;
}

.medals>div>div>img:nth-child(n+2)
{
	position: absolute;
	left: 30px;
	z-index: 2;
}

.medals>div>div>img:nth-child(n+3)
{
	position: absolute;
	left: 60px;
	z-index: 1;
}

.olimp
{
	display: grid;
	grid-template-columns: 1fr 150px;
	padding: 15px 0;
	border-bottom: 1px solid var(--dark);
}

.olimp>div:nth-child(2)
{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap:10px;
}

.olimp>div:nth-child(2) span
{
	display: flex;
	justify-content: flex-start;
	gap:5px;
	font-size: 2rem;
	margin-bottom: 5px;
}

.olimp>div:nth-child(2) span img
{
	width: 20px;
	height: 20px;
}

.putin
{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 20px;
}

.putin .pphoto
{
	display: block;
	flex: none;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: url('/images/putin-r.jpg');
	background-size: cover;
	background-position: center;
}

#er-form
{
	display: flex;
	gap: 20px;
	flex-direction: row;
	flex-wrap: wrap;
}

.my-input
{
	display: flex;
	gap: 10px;
	flex-direction: column;
}

.my-input input, .my-input select
{
	flex: none;
	display: block;
	--webkit-appearance:none;
	padding: 1rem 2rem;
	border: 2px solid #c6c6c6;
	border-radius: 5px;
	width: 400px;
	font-size: 2rem;
	box-sizing: border-box;
	max-width: calc(100vw - 30px);
}

.my-input textarea
{
	flex: none;
	display: block;
	--webkit-appearance:none;
	padding: 1rem 2rem;
	border: 2px solid #c6c6c6;
	border-radius: 5px;
	height: 200px;
	width: 600px;
	font-size: 2rem;
	box-sizing: border-box;
	max-width: calc(100vw - 30px);
}

.my-input input#name
{
	width: 820px;
}

.my-input.error label {color: var(--red);}
.my-input.error input, .my-input.error select {border-color: var(--red);}

.my-radio input[type=radio]
{
	display: none;
}

.my-radio input[type=radio]+label
{
	display: flex;
	justify-content: flex-start;
	gap: 10px;
	padding: 10px 0;
}

.my-radio input[type=radio]+label:before
{
	display: block;
	content: "";
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid var(--red);
	background: #fff;
}

.my-radio input[type=radio]:checked+label:before
{
	background: var(--red);
}

.question-variants
{
	font-weight: bold;
}

#olymptest .my-input input, #olymptest .my-input textarea
{
	max-width: calc(100vw - 100px);
}

#olymptest ol
{
	margin-left: 20px;
}

.qgroup
{
	display: block;
	padding: 20px 0;
}

.qgroup-name
{
	font:var(--h3);
}

.qgroup-text
{
	font:var(--standart);
}

.sums
{
	display: flex;
	justify-content: flex-start;
	gap: 10px;
	margin-bottom: 10px;
}

.sums input[type=radio]
{
	display: none;
}

.sums input[type=radio]+label
{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 15px 5px;
	line-height: 100%;
	border-radius: 4px;
	border: 1px solid rgba(0, 0, 0, 0.3);
}

.sums input[type=radio]:checked+label
{
	border-color: var(--red);
	background: var(--red);
	color: var(--white);
}

#authorize .checker
{
	display: flex;
	font-size: 1.5rem;
	gap: 20px;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	grid-column: span 3;
}

#authorize .checker .auth-variants
{
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

#authorize .checker .auth-variants a
{
	display: block;
	text-decoration: none;
	color: var(--black);
	background: #EEEEEE;
	padding: 10px 20px;
	border-radius: 5px;
	white-space: nowrap;
}

#authorize .checker .auth-variants a:first-child
{
	background: var(--red);
	color: var(--white);
}

.autorizer
{
	display: block;
	text-decoration: none;
	background: var(--red);
	color: var(--white);
	padding: 10px 20px;
	border-radius: 5px;
	white-space: nowrap;
	font-size: 1.5rem;
}

#authorize .auth-phone, #authorize .auth-code
{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
}

#authorize .auth-phone, #authorize .auth-code
{
	display: none;
}

.seasons
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
}

.seasons a
{
	display: block;
	padding: 10px 15px;
	border-radius: 8px;
	border: 1px solid var(--red);
	color: var(--black);
	text-decoration: none;
}

.seasons a.selected
{
		background: var(--red);
		color: var(--white);
}

@media all and (max-width: 700px)
{

header .wrapper .menu>div>div a
{
	white-space: wrap;
}
.putin
{
	/*flex-direction: column;
	align-items: center;*/
	display: block;
}

.putin .pphoto
{
	float: left;
width: 150px;
height: 150px;
margin: 0 15px 15px 0;
}
	.sovetpp
{
	display: flex;
	margin: 15px 0;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 5px;
	font-size: 1.6rem;
}
	.medals
{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:10px;
	margin: 30px 0;
}

.medals>div
{
	display: block;
	position: relative;
	width: 50px;
}

.medals>div>div
{
	position: relative;
	width: 50px;
}

.medals>div>span
{
	font-weight: bold;
	font-size: 2.5rem;
	text-align: center;
	display: block;
}

.medals>div.three-m
{
	width: 80px;
}

.medals>div>span
{

}


.medals>div>div>img
{
	max-width: 50px;
	position: relative;
}

.medals>div>div>img:nth-child(n+2)
{
	position: absolute;
	left: 15px;
}

.medals>div>div>img:nth-child(n+3)
{
	position: absolute;
	left: 30px;
}
	.double-v-block.equal
	{
		grid-template-columns: 1fr;
	}
	.donlist
	{
		grid-template-columns: 1fr;
	}
	.support
	{
		grid-template-columns: 1fr;
	}

	.pc-list
	{
		grid-template-columns: 1fr;
	}

	.support .button
	{
		font-size: 1em !important;
	}
	.holl .place
	{
		width: 100%;
		height: 0;
		padding-top: 100%;
	}

	.tlp td img
	{
		width: 80px;
		max-width: 90px;
	}

	.prog-blocks .prog-block a img
	{
		height: auto;
	}

	.tlp td
	{
		padding: 5px 10px;
	}

	.gpin
	{
		position: relative;
		width: 100px;
		margin-top: -10px;
		margin-left: -30%;
		margin-bottom: 10px;
	}

	.excurs .photoblock, .excurs .pano
	{
		background-size: contain;
		background-repeat: no-repeat;
		z-index: 1;
	}

	.excurs .pano-desc
	{
		z-index: 0;
	}

	.semt tr
	{
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-row-gap: 30px;
margin-bottom: 30px;
	}

	.semt tr td
	{
		width: auto !important;
	}

	.holl
{
	display: grid;
	width: 100%;
	grid-template-columns: repeat(23, 1fr);
	grid-template-rows: repeat(15, max-content);
	grid-gap: 2px;
}
}

.holl .place div
{
	display: none;
	background: #fff;
	border: 1px solid #ccc;
	padding: 5px 10px;
	position: absolute;
	width: 100px;
	left: -35px;
	top: -60px;
	z-index: 10;
	box-sizing: border-box;
}
.holl .place:hover div
{
	display: block;
}

.holl .place:hover, .holl .place.free:hover
{
	background: lightgreen;
}

.holl .place div span
{
	font-size: 0.8rem;
	display: block;
	text-align: center;
}

.holl .place div p
{
	font-size: 1.5rem;
	text-align: center;
	margin: 0;
	margin-top: 5px;
	display: block;
}

.holl.editor .place.hasPrice
{
	background: rgba(0, 255, 0, 0.5);
}

.holl .place.free
{
	background: green;
}

.holl .place.selected, .holl .place.free.selected, .holl .place.hasPrice.selected
{
	background: var(--dark);
}

.holl .place.blank
{
	opacity: 0;
}

.cart
{
	display: block;
	margin-top: 50px;
	max-width: 500px;
}

.cart>div
{
	display: flex;
	justify-content: space-between;
	font-size: 2rem;
}

.p-selector a
{
	color: #ccc;
}

.p-selector a:hover
{
	color: var(--dark);
}

.ot-info
{
	display: grid;
	grid-template-columns: 150px 1fr;
	grid-column-gap: 20px;
}

.ot-info .ot-photo
{
	grid-row: span 3;
	padding-top: 20px;
}

.ot-info .ot-infob
{
	font-size: 1.5rem;
}

.ot-info .ot-photo img
{
	max-width: 100%;
}

.event-desc .input
{
	display: block;
	padding: 15px 0;
}

.event-desc .input input
{
	-webkit-appearance: none;
	display: block;
	font-size: 2rem;
	padding: 5px;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	border: 1px solid #ccc;
	border-radius: 3px;
}

.event-desc .input textarea
{
	-webkit-appearance: none;
	display: block;
	font-size: 1.7rem;
	padding: 5px;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	min-height: 100px;
	border: 1px solid #ccc;
	border-radius: 3px;
}

@media all and (min-width: 701px)
{
	.ms2
	{
		display: none !important;
	}
}

@media all and (max-width: 700px)
{
	:root
{
	--standart: 300 1.6rem/1.65 'als_sector',sans-serif;
	--h1: 500 3.5rem/1.1 'als_meringue';
	--h2: 500 2.8rem/1.1 'als_meringue';
	--h2-italic: italic 500 4.3rem/1.1 'als_meringue';
	--h3: 500 2.3rem/1.4 'als_meringue';
	--h4: 700 1.7rem/1.35 'als_sector',sans-serif;
}

.content ol
{
	padding-left: 20px;
}

.posts
{
	list-style-type: none;
	display: flex;
	justify-content: flex-start;
	width: calc(100vw - 30px);
	height: auto;
	overflow: auto;
	padding: 20px 0;
}

.posts li
{
	flex: none;
	width: 310px;
}

.double-block.m-one-block
{
	grid-template-columns: 1fr;
}

.double-block.m-one-block table
{
	width: 100% !important;
}

.double-block.m-one-block table img
{
	width: 50px;
}

.double-block.m-one-block table tr td:first-child
{
	width: 50px !important;
}

.double-block.m-one-block table td:last-child
{
	width: auto !important;
}

.c-main-image
{
	height: 30rem;
	margin-bottom: 30px;
}

.course-detail h1
{
	margin-left: 0;
}

.cm-info
{
	grid-gap: 15px;
	background-image: linear-gradient(transparent, rgb(255, 255, 255) 90%);
	;
}

.cm-info span
{
	font-size: 9px;
}

.cm-info span.h1
{
	font-size: 18px;
}

img
{
	max-width: 100%;
	height: auto;
}

.a-stages a.animated
{
	white-space: normal;
	background: none;
	margin-bottom: 10px;
}

form.reviews
{
	grid-template-columns: repeat(1, 1fr);
}

form.reviews .col3
{
	grid-column: span 1;
}

.price-info .price-block
{
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}

.elka .elka-img
{
	padding-top: 100%;
}

.other-news-list.anews, .elki
{
	grid-template-columns: repeat(1, 1fr);
}

.mob-table
{
	display: block;
	max-width: 100%;
	overflow: auto;
	height: auto;
}

.popup.bgallery .big-gallery img
{
	max-width: 75vw;
}

.popup.form form
{
	padding-bottom: 25vw;
}

.big-g-larrow, .big-g-rarrow
{
	font-size: 3.5rem;
}

.popup.bgallery .pu-content
{
	display: flex;
	height: 100%;
	align-items: center;
	justify-content: center;
}

.house
{
	grid-template-columns: 1fr;
}

.houses-logo
{position: relative; top: 0; right: 0;}
.h-teachers
{
	grid-column: span 1;
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 15px;
}

.h-teachers .count2.tfixed
{
	grid-template-columns: repeat(3, 1fr);
}
header .wrapper .menu, .main-head header .wrapper .menu
{
	display: block;
	position: fixed;
	top: 0;
	left: 200vw;
	width: 100vw;
	max-width: 100vw;
	flex: 100%;
	height: 100vh;
	overflow: auto;
	margin: 0;
	padding: 80px 70px;
	background: #a32e0b;
	z-index: 1;
	box-sizing: border-box;
	transition: all 0.5s ease;
}

header .wrapper .menu.showmenu
{
	left: 0;
}

header .wrapper .menu>div>a
{
	color: var(--white);
}

header .wrapper .menu>div>div
{
	display: block;
	position: relative;
	border-radius: 0;
	min-width: 1px;
	opacity: 1;
	padding: 1rem 0;
	top: 0;
	left: 0;
	visibility: visible;
	z-index: 1; 
	-webkit-transform: translateY(0rem);
	transform: translateY(0rem);
}

header .wrapper .menu>div:hover>a
{
	color: var(--white);
}

.main-wrapper
{
	position: relative;
	z-index: 0;
	height: auto;
	overflow: auto;
}

.main-wrapper .panorama
{
	position: fixed;
}

.big-screen .second
{
	width: 100vw;
}

.big-screen .second
{
	font: var(--standart);
}

.big-screen .third h2, .big-screen .pre-third h2
{
	grid-column: span 1;
}

.big-screen .third, .big-screen .pre-third
{
	padding: 10vw 5vw;
	grid-template-columns: 1fr !important;
	grid-template-rows: auto;
	font: var(--standart);
}

.big-screen .third>div, .big-screen .pre-third>div
{
	display: block;
	max-height: auto;
}

.big-screen .third>div ul li, .big-screen .pre-third>div ul li,  .big-screen .pre-third p
{
	font: var(--standart);	
}

.third>div .ms-gal, .pre-third>div .ms-gal {display: none !important;}

.forth
{
	width: 100vw;
	padding: 10vw 5vw;
}

.forth .mh-info
{
	grid-template-columns: 1fr;
	margin-top: 5vw;
}
.forth .mh-info2
{
	grid-template-columns: 1fr;
}

.mh-leaders
{
	display: grid;
	grid-template-columns: 1fr;
	padding-top: 5vw;
}

.herb img
{
	width: 50vw;
	display: block;
	margin: 0 auto;
}

.five, .six
{
	width: 100vw;
	padding: 10vw 5vw;
}

.five .double-block, .six .double-block
{
	grid-template-columns: 1fr;
}

.news-list
{
	grid-template-columns: 1fr;
}

.content.slim2
{
	width: 100%;
}

.event, .event:nth-child(2n)
{
	grid-template-columns: repeat(1, 1fr);
	grid-template-areas: "info" "photo";
}

.event .leader-photo img {
max-width: 80%;
}

.event .event-gallery
{
	display: none;
}

.mh-leaders>div
{
	width: auto;
}
.big-screen .third h2, .big-screen .pre-third h2
{
	grid-column: span 1;
}

.big-screen .third>div .h3, .big-screen .pre-third>div .h3
{
	font: var(--h3);
}

.big-screen .first .fcontent {
position: absolute;
top: 80px;
width: 100vw;
padding: 0vw 5vw 0vw 5vw;
color: #fff;
font-size: 2vh;
line-height: 1.6;
box-sizing: border-box;
}

.big-screen
{
	display: grid;
position: relative;
height: 100vh;
z-index: 1;
grid-template-columns: 1fr;
}

.big-screen .first .fbg
{
	width: 100vw;
}
	.fs
	{
		display: none !important;
	}
	body, html
	{
		font-size: 8.7px;
	}
	h1 {padding: 0;}
	.wrapper
	{
		max-width: 100vw;
	}

	header
	{
		padding-top: 15px;
	}
	header .wrapper
	{
		align-items: center;
		padding: 0 15px 0 10px;
	}

	header .wrapper .logo
	{
		width: 55px;
		height: 54px;
		z-index: 2;
	}

	header .wrapper .logo img
	{
		width: 58px;
	}

	header .wrapper .search-lang .search-button
	{
		display: none;
	}

	header .wrapper .search-lang
	{
		padding-top: 0;
	}

	header .wrapper .search-lang .lang-selector a
	{
		font-size: 15px;
	}
	.mob-menu
	{
		display: block;
		z-index: 2;
	}

	.burger
	{
		width: 26px;
		height: 20px;
		position: relative;
		display: block;
		overflow: hidden;
	}

	.mob-menu .burger-line
	{
		display: block;
		height: 2px;
		background-color: #dc3545;
		position: absolute;
		width: 100%;
	}

	.mob-menu .burger-line.white
	{
		display: block;
		height: 2px;
		background-color: var(--white);
		position: absolute;
		width: 100%;
		left: 100%;
		transition: all 0.5s ease;
	}

	.mob-menu.open .burger-line.white
	{
		left: 0;
	}

	.mob-menu .burger-line:nth-child(1), .mob-menu .burger-line:nth-child(4) {top: 0}
	.mob-menu .burger-line:nth-child(2), .mob-menu .burger-line:nth-child(5) {top: 9px;}
	.mob-menu .burger-line:nth-child(3), .mob-menu .burger-line:nth-child(6) {top: 18px;}

	.about-content
	{
		max-width: 100%;
	}

	.submenu div
	{
		flex-wrap: wrap;
	}

	.mission-text
	{
		width: 100%;
	}

	p.big-text
	{
		font-size: 2.08rem;
		line-height: 3rem;
	}
	.mission-text p
	{
		width: 100%;
	}

	footer .wrapper
	{
		display: grid;
		grid-template-columns: 1fr;
		grid-template-areas: "top" "bottom";
	}

	.footer-left
	{
		max-width: 100%;
		margin-left: 0;
		grid-area: bottom;

	}

	.footer-left>div:last-child
	{
		display: block;
	}

	.footer-right
	{
		max-width: 100%;
		grid-area: top;
	}

	.footer-right div
	{
		text-align: left;
	}

	.social
	{
		justify-content: flex-start;
	}

	.social a
	{
		margin-left: 0;
		margin-right: 1.2rem;
	}

	.message
	{
		grid-template-columns: 1fr;
	}

	.message .headmaster {display: none;}
	.sign:after {height: 20rem; width: 100%; top: calc(100% - 6rem); left: 0; background-position: left center;}

	.question, .answer
	{
		width: 100%;
		box-sizing: border-box;
		padding-left: 15px;
	}

	.question:before
	{
		left: -1rem;
	}

	.faq .blockquote
	{
		display: none;
	}

	.double-v-block, .floor
	{
		grid-template-columns: repeat(1, 1fr);
	}

	.floor a.big
	{
		grid-column: span 1;
	}

	.scroller
	{
		position: relative !important;
		bottom: auto !important;
		top: auto !importnat;
	}

	.vacancy .gallery
	{
		display: none;
	}

	.price-info
	{
		display: grid;
		grid-template-columns: auto 14px auto;
		grid-template-areas: "price1 plus price2" "text1 plus text2";
	}
	.course-detail img
	{
		max-width: 100%;
	}
	.ci-list .ci-item.big {grid-column: span 1;}
	.ci-list {grid-template-columns: 1fr;}
	.course-form{
		grid-template-columns: 1fr;
	}

	.house-teacher {grid-template-columns: 1fr 3fr;}
	.house-teacher div img {max-width: 100%; height: auto;}
	.popup.form .pu-content{width: 90vw; left: 5vw;}
	.course-form .col2, .course-form .col3, .course-form .col3, .course-form h1, .col2{grid-column: span 1;}
	.price-info .price-sum:nth-child(1) {grid-area: price1;}
	.price-info .price-sum:nth-child(2) {grid-area: price2;}
	.price-info .price-text:nth-child(1) {grid-area: text1;}
	.price-info .price-text:nth-child(2) {grid-area: text2;}
	.price-info .price-plus {grid-area: plus;}
	.registration-open .symbols {width: 80%;}

	.gallery-horizontal {grid-template-columns: 1fr;}
	.gallery-horizontal div:first-child {grid-column: span 1; grid-row: span 1;}

	.teachers h2 {grid-column: span 1;}
	.teachers {grid-template-columns: 1fr;}
	.teachers .short-teacher.big {grid-column: span 1;}
	.teachers .quote {grid-column: span 1;}
	.margin8 {margin-left: 0;}
	.filter {flex-direction: column; grid-gap: 5px;}
	.count6 {
		grid-template-columns: repeat(3, 1fr);
	}
	.teacher-info{width: 100%;}
	.teacher-block{background-image: none !important; min-height: 0;}
	.techer-other-info {width: auto; padding: 0;}
	.techer-other-info .courses {grid-template-columns: 100px 1fr;}
	.news-gallery {
		display: flex;
		align-items: center;
		overflow: auto;
		max-width: calc(100vw - 30px);
		grid-gap: 15px;
		/*grid-template-columns: 1fr; grid-column-gap: 0; grid-row-gap: 15px;*/}
	.news-gallery .ng1, .news-gallery .ng3
	{
		display: flex;
		flex: none;
		height: calc(90vw - 30px);
		/*grid-template-columns: repeat(2, calc(100vw - 30px));*/
		gap: 15px;
		padding: 0;
	}
	.news-gallery .ng2
	{
		display: grid;
		flex: none;
		height: calc(90vw - 30px);
		grid-template-columns: repeat(1, calc(90vw - 30px));
		grid-gap: 15px;
	}
	.news-gallery .ng2 a {padding-top: 100%; height: auto;}
	.news-gallery .ng3>a.more-gal-photo {padding-top: 50%; display: none;}
	.news-gallery>a, .news-gallery .ng1>a, .news-gallery .ng3>a
	{
		display: block;
		width: calc(90vw - 30px);
		height: calc(90vw - 30px);
		flex: none;
		padding: 0;
	}
	.content.slim {margin-left: 0; width: 100%;}
	.doc-list {grid-template-columns: 1fr;}
	.double-c-block {grid-template-columns: 1fr;}
	#map {width: 100%; height: 300px;}
	.pad15>div{padding: 0;}
	.double-c-block h1 {padding: 0 15px;}
}

.tt-table
{
	border-collapse: collapse;
}

.tt-table td
{
	border: 1px solid var(--black);
	padding: 5px;
	vertical-align: top;
}

.tt-table td a
{
	display: block;
	position: relative;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
	color: var(--black);
	text-decoration: none;
	margin-bottom: 4px;
}

.tt-table td a .ttcname
{
	position: relative;
	display: block;
	background: var(--white);
	padding: 3px;
	font-size: 1rem;
	z-index: 4;
}

.tt-table td a:hover .ttcname
{
	display: block;
}

.ny-ball
{
	display: block;
	position: absolute;
	max-width: 80px;
	width: 10vw;
	top: -200px;
	z-index: 10;
	left: 10px;
	-webkit-animation: ny 2s ease infinite; /* Safari 4+ */
	-moz-animation:    ny 2s ease infinite; /* Fx 5+ */
	-o-animation:      ny 2s ease infinite; /* Opera 12+ */
	animation:         ny 2s ease infinite;
	transition: all 1s ease;
}

.ny-ball.showed
{
	top: -10px;
}

@keyframes ny {
	0% {
		transform: rotate(5deg) translateX(-8px);
	}
	50% {
		transform: rotate(-5deg) translateX(8px);
	}
	100% {
		transform: rotate(5deg) translateX(-8px);
	}
}

@media all and (max-width: 700px)
{
	.ny-ball
	{
		left: 70px;
	}
}

.stars
{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.stars i
{
	font-size: 3rem;
	color: #cccccc;
}

.stars i.selected
{
	color: var(--red);
}

.semt td, .content .semt td
{
	vertical-align: top;
	border: none;
}


#ladm
{
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 400px;
	margin: 0 auto;
	gap: 20px;
}

#ladm .input
{
	display: block;
	width: 100%;
}

#ladm .input>div
{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 5px;
}

#ladm .input input, #ladm .input select
{
	-webkit-appearance: none;
	background-color: transparent;
	border: 2px solid #c6c6c6;
	border-radius: 4px;
	font-family: als_meringue;
	font-size: 18px;
	line-height: 1.65;
	padding: .2rem 1.4rem;
	width: 100%;
	box-sizing: border-box;
	display: inline-block;
}

#ladm .input>div>input
{
	width: 50px;
}

.sresults a
{
	font-size: 1.1rem;
}

.sresults a:hover
{
	background: #f5f5f5;
}