/*
	© RedRoll Studio, 2022 
	create@redroll.ru
	https://redroll.ru
*/

/* ==================== Сброс */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { 
	margin: 0; 
	padding: 0; 
	border: 0; 
	font-size: 100%; 
	font: inherit;
} 
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block } 
ul, ol { 
	list-style: none; 
	list-style-image: none; 
} 
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

html { 
	height: 100%; 
	min-height: 100%; 
	overflow-x: hidden;
}
body { min-height: 100%; }
html, html a { -webkit-font-smoothing: antialiased; }

:focus { outline: none; }
a:active, a:hover { outline: none; }

html * {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

input, select, textarea, button {
	font-size: 100%; 
	margin: 0;
	padding: 0;	
	vertical-align: baseline;
	resize: none;
	border: none;
	overflow: hidden;
}

button, input[type="button"], input[type="reset"], input[type="submit"] { 
	background-color: transparent;
	line-height: normal;
	cursor: pointer; 
	-webkit-appearance: button; 
}
input[type="checkbox"], input[type="radio"] {  padding: 0; }
button[disabled], input[disabled] { cursor: default; }

input[type="search"] { -webkit-appearance: textfield; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
input::-ms-clear { display: none; }
button::-moz-focus-inner, input::-moz-focus-inner { 
	border: 0; 
	padding: 0; 
}

/* ==================== Базовые теги */

cite, i { font-style: italic; }

img { 
	vertical-align: middle;
	-ms-interpolation-mode: bicubic; 
}
.left { float: left; }
.right { float: right; }

b, .bold { font-weight: 700; }

.clr { clear: both; }
.clrfix:after { clear: both; content: ""; display: table; }

hr { 
	border: none;
	height: 1px;
	margin: 0;
	background: var(--hr-color); 
}

/* ==================== Основные теги */
/*
:root {
  --light-green: #24a277;
  --light-red: #f80000;
  --dark-green: #033e38;
  --dark-red: #bf2d2d;
  --h1h2-black: #222222; 
  --hr-color: #dddddd;
  --headertext-color: #4f807a;
  --maintext-color: #333333;
  --footertext-color: #74a69b;
  --grey-bg: #f1f1f1;
}
*/

:root {
  --light-green: #43688f; 		/* 24a277 */
  --light-red: #5682b1; 		/* f80000 */
  --dark-green: #032f3e; 		/* 033e38 */
  --dark-red: #304f6f; 			/* bf2d2d */
  --h1h2-black: #222222; 
  --hr-color: #dddddd;
  --headertext-color: #436990; 	/* 4f807a */
  --maintext-color: #333333;
  --footertext-color: #5582b0; 	/* 74a69b */
  --grey-bg: #f1f1f1;
}

body {
	color: var(--maintext-color); 
	font-family: 'Montserrat', sans-serif;
	line-height: normal;
	font-size: 15px;
	font-weight: 400;
	font-style: normal;
	background: #fff;
}
	.wrp { 
		max-width: 1220px; 
		padding: 0 20px; 
		margin: 0 auto; 
	}

sup { font-size: 12px; }

input, select, textarea, button { 
	color: var(--maintext-color); 
/*	font-size: 16px; */
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400;
	font-style: normal;
}
input[type="password"] {
	padding: 5px 10px;
	background-color: var(--grey-bg);	 	 
}

a, a:visited {
	color: var(--light-green);
	text-decoration: underline;
}
a:hover { text-decoration: none; }
a[href^="tel"] { text-decoration: none !important; }

.icon {
	display: inline-block;
/*	vertical-align: middle;*/
	stroke-width: 0;
	fill: currentColor;
*/
	stroke: currentColor;
	fill: currentColor;
*/
}

.button {
	display: block;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	color: #fff !important; 
}
	.red { background: var(--dark-red); }
	.red:hover { background: var(--light-green); }
	.green { background: var(--light-green); }
	.green:hover { background: var(--dark-red); }

	
/* ==================== Шапка */	
header {
	width: 100%;
	height: 106px;
	background: #fff;
}
	a.logotype {
		display: block;
		float: left; 
		margin: 13px 20px 0 0;
	}
		.icon-logo {
			width: 198px;
			height: 80px;
		}

	.header_text {
		float: left; 
		margin: 23px 0 0 0; 
		color: var(--headertext-color);
		font-size: 17px;
		font-weight: 500;
		text-transform: uppercase;
	}
	
	.header_link {
		float: right;
		width: 347px;
		height: 18px;
		margin-top: 20px;
	}
		.header_link > a {
			display: flex;
			align-items: center;
			float: right;
			color: #a3a3a3;
			font-size: 13px;
			text-decoration: none;
		}
		.header_link > a:last-child { margin: 1px 18px 0 0; }
		.header_link > a:hover { color: var(--dark-red); }
			.icon-blind {
				width: 27px;
				height: 16px;
				margin-right: 8px;
			}
			.icon-map {
				width: 18px;
				height: 18px;
				margin-right: 8px;
			}

	.search_form {
		float: right;
		display: block;
		width: 347px;
		height: 32px;
		margin-top: 16px;
		/*padding: 5px;
		margin: 24px 0 0 40px;
		border-radius: 5px;
		background-color: #8ec9ea;**/
	}
		.search-input {
			float: left;
			width: 297px;
			height: 32px;
			border: none;
			padding: 0 15px;
			background-color: var(--grey-bg);
			/*color: #8c8c8c;*/
			/*margin-right: 10px;
			border-radius: 3px;
			padding: 0 10px;
			border: 1px solid #57a1cb;*/
		}
			input.search-input::placeholder {
				color: #8c8c8c;
				font-size: 14px;
			/*	opacity: 1;*/
			/*	font-style: italic;*/
			}
		.search_form > button {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 50px;
			height: 32px;
		/*	color: #ffffff;*/
			background: var(--light-green);
			/*padding: 0px;*/
		}
			.icon-search {
				/*display: flex;*/
				width: 20px;
				height: 20px;
				fill: #fff;
			/*	position: relative;*/
				/*padding-top: 5px;*/
			}

/* ==================== Навигация */	
nav {
	display: flex;
	align-items: center;
	width: 100%;
	background: var(--light-green);	
}
nav.ntop, .menu { height: 51px; }
	.menu > li {
		float: left;
		position: relative;	
		z-index: 100;			
	}
		.menu > li > a {
			height: 51px;
			display: inline-block;
			color: #fff;	
			/*font-size: 15px; 	*/
			text-transform: uppercase;
			/*font-weight: 500;*/
			text-decoration: none;
			padding: 16px 11px 0 11px;				
		}
		.menu > li:hover > a {
			/*color: #ffffff;*/
			background-color: var(--dark-red);		
		}
			.icon-menu {
				width: 7px;
				height: 11px;
				margin-left: 3px;
			}
		.menu > li > ul {
			display: none;
			min-width: 100%;
			position: absolute;
			top: 100%;
			white-space: nowrap;
			background-color: var(--dark-red);					
		}
		.menu > li:hover > ul { display: block; }
			.menu > li > ul > li { border-top: 1px solid rgba(255, 255, 255, 0.8); }
				.menu > li > ul > li > a {
					display: block;
					color: #ffffff;	
					font-size: 14px; 	
					/*text-transform: uppercase;*/
					text-decoration: none;	
					padding: 12px 17px;				
				}
				.menu > li > ul > li:hover > a { background-color: var(--light-red); }
				
				.menu > li > ul > li > ul { display: none; }
				
.right_menu {
	width: 100%;
	margin-top: 30px;
}	
	.right_menu > li { background: var(--dark-red); }
		.right_menu > li > a, .right_menu > li > ul > li > a {
			width: 100%;
			display: inline-block;
			color: #fff;
			text-decoration: none;
			padding: 12px 15px;				
		}
		.right_menu > li > ul > li > a {
			padding-left: 50px;				
		}
		.right_menu a:hover, a.active { background-color: var(--light-red); }
	
		.right_menu > li > ul { display: none; }
		li.display > ul { display: inline !important; }
		.right_menu > li > ul:has(.display) { display: inline !important; }
		
.map_menu {
	padding: 0 !important;
	list-style: none !important;
}
	.map_menu li { padding: 5px 0 5px 50px; }	

/* ==================== Слайдер */					
.slider {
	display: flex;
	/*align-items: center;*/
	width: 100%;
	height: auto;
	margin: 1px 0 0 0;
	background: #fff;
	flex-direction: column;
}
	.sp-slidecaption {
		color: #fff;
		font-size: 22px; 
		padding: 20px;
		background: rgba(36,104,162,0.8);
/*		
		background: rgba(36,162,119,0.8);
*/
	}
	.sp-buttons {
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 40px;
		text-align: center;
		background: rgba(0,0,0,0.4);
	}
	.sp-button {
		width: 12px;
		height: 12px;
		/*border: 2px solid #000;*/
		border-radius: 50%;
		margin: 14px 4px 0 4px;
		display: inline-block;
		cursor: pointer;
		background-color: #fff;
	}
	.sp-button:hover, .sp-selected-button { background-color: var(--light-green); }

/* ==================== Основной блок */	
.speedbar {
	/*float: left;*/
	width: 100%;
	margin: 20px 0;
}

section {
/*	padding-top: 40px;*/
}
	.main_content {
		display: flex;
		flex-direction: column;
		/*align-items: center;*/
		float: left;
		width: 880px;
		margin-top: 30px;
	}
		h1, h2, h3, .h1, .h2, .h3 {
			font-weight: 700;
			/*
			margin: 2em 0 .8em 0;
			letter-spacing: -0.01em;
			line-height: 1.35em;
			font-weight: bold;
			text-rendering: optimizeLegibility;*/
		}
		h1, h2, h3 { color: var(--h1h2-black); }
		h1, .h1 { font-size: 26px; }
		h2, .h2 { font-size: 16px; }
		h3, .h3 { font-size: 18px; }
		
		.btn_all_news {
			margin-top: 35px;
			margin-bottom: 10px;
			padding: 15px 25px;
		}

.navigation {
	width: 100%;
	margin-top: 30px;
	padding-top: 30px;
	text-align: center;
	font-weight: 500;
	border-top: 1px solid var(--hr-color);
}
	.navigation > a, .navigation > span {
		display: inline-block;
		margin: 0 2px;
		padding: 5px 12px;
		text-decoration: none;
	}
	.navigation > a:hover, .navigation > span { 
		color: #ffffff;
		background: var(--light-green);
	}
		
/* ==================== SHORTSTORY */
.shortstory {
	float: left;
	width: 100%;
/*	position: relative;*/
	margin-top: 60px;
}
.shortstory:nth-of-type(1) { margin-top: 30px !important; }
	a.ss-preview {
		float: left;
		display: block;
	}
		a.ss-preview, a.ss-preview > img {
			width: 180px;
			height: 120px;
		}
	.fix > a.ss-preview, .fix > a.ss-preview > img {
		width: 280px !important;
		height: 187px !important;
	}
	
	.ss-block {
		float: right;
		width: 660px;
		margin-right: 10px;
	}
	.fix > .ss-block { width: 560px !important; }
		.ss-block-header { 
			width: 100%; 
			display: inline-block;
			margin-bottom: 10px;
			color: var(--light-green);
		}
			.ss-b-h-date {
				font-weight: 500;
			}
			.ss-b-h-link {
				/*color: var(--light-green);*/
				float: right;
				font-size: 13px; 
			}
			.ss-b-h-link > a {
				text-decoration: none;
			}
			.ss-b-h-link > a:hover {
				color: var(--dark-red);
			}
			.ss-block > h2 {
				margin-top: 10px;
			}
				.ss-block > h2 > a {
					color: var(--h1h2-black);
				}
			.ss-block-text {
				margin-top: 15px;
				line-height: 1.3;
			}
			
.ss-teaching {
	float: left;
	width: 100%;
	margin-top: 20px;
	padding: 15px 20px;
	/*position: relative;*/
	background: var(--grey-bg);
	line-height: 1.5;
}

.ss-docs {
	float: left;
	width: 100%;
	margin-top: 20px;
	padding: 15px 20px;
	/*position: relative;*/
	background: var(--grey-bg);	
}
.ss-docs:hover { background: var(--hr-color); }
	a.ss-docs-icon {
		float: right;
		display: block;
		/*display: flex;
		align-items: center;
		justify-content: center;*/
		width: 70px;
		height: 82px;
		margin-left: 20px;
		/*border: 1px solid var(--dark-red);*/
		transition: all 0.8s ease;
	}
		svg[class^="icon-attachment-"] {
			width: 70px;
			height: 82px;
		}
		svg[class$="pdf"] { fill: #d7161a; }
		svg[class$="doc"], svg[class$="docx"] { fill: #2a5699; }
		svg[class$="xls"], svg[class$="xlsx"] { fill: #1f7246; }
		svg[class$="ppt"] { fill: #dc481a; }
		svg[class$="tiff"] { fill: #135a98; }
		svg[class$="zip"] { fill: #1579f3; }
		svg[class$="rar"] { fill: #a2518d; }
	
	/*a.ss-docs:hover{ background: var(--dark-red); }*/
	
	.ss-docs-content {
		float: left;
		width: 750px;
		line-height: 1.5;
	}
		a.dot {
			text-decoration: none;
			border-bottom: 1px dashed var(--light-green);
		}
			a.dot:hover { border-bottom: none; }
		
		.file_spoiler { 
			width: 100%;
			padding: 15px 20px; 
			background: #fff; 
			border: 1px solid var(--hr-color); 
		}
		.ss-docs-content > span { 
			font-weight: 500; 
			padding-top: 20px;
			display: inline-block;
		}

	/*
	.ss-news-block-full { width: 100%; }
		.ss-news-block-full > h2, .ss-news-block-short > h2 {
			font-size: 18px; 	
			color: #000000;
			display: block;
			width: 100%;
		}
		.ss-news-block-full > h2 > a, .ss-news-block-short > h2 > a { color: #000000; }
		.ss-news-block-full > h2 > a:hover, .ss-news-block-short > h2 > a:hover { color: #990000; }
		.ss-news-date {
			float: left;
			font-size: 14px; 
			margin: 5px 0 0 0;
			color: #999999;
		}
			.ss-news-date > a {
				color: #990000;
				text-decoration: underline;
			}
			.ss-news-date > a:hover { text-decoration: none; }
		.ss-news-text {
			float: left;
			width: 100%;
			font-size: 15px;
		}
			.ss-news-text a {
				color: #990000;
				text-decoration: underline;
			}
			.ss-news-text a:hover { text-decoration: none; }
			a.more {
				float: right;
				font-size: 13px;
			}
*/

/* ==================== FULLSTORY */
.fullstory {
/*	float: left;*/
	width: 100%;
/*	margin-top: 20px;*/
/*	position: relative;*/
}
	.fs-header { 
		width: 100%; 
		/*display: inline-block;*/
		margin-top: 20px;
		/*color: var(--light-green);*/
	}	
		.fs-date {
			float: left;
			font-weight: 700;
		}
	.fs-content { 
		width: 100%;
		/*display: inline-block;*/
		margin-top: 30px;
		font-size: 16px;
		line-height: 1.5;
		/*color: var(--light-green);*/
	}
		.fs-content > ul, .file_spoiler > ul, .fs-content > ol, .file_spoiler > ol {
				padding: 10px 0 0 25px; 
			/*	line-height: 22px;*/
			}
		.fs-content > ul, .file_spoiler > ul { list-style: disc outside; }
		.fs-content > ol, .file_spoiler > ol { list-style: decimal outside; }
		
		.fs-content > iframe { 
			/*width: 100% !important;
			height: auto !important;*/
			/*height: 495px !important;*/
		}

		.attachment { font-weight: 500; }
		
		.fs-content  > table { width: 100%; }
		.fs-content  > table tr th, .fs-content  > table tr td {
			padding: 10px;
			vertical-align: middle;
			border: 1px solid var(--hr-color); 
			text-align: center;
		}
		.fs-content  > table tr th { background-color: var(--grey-bg); }		
	
	.fs_gallery {
		float: left;
		width: 100%;
		margin-top: 20px;
		
	/*	padding: 0 !important;
		line-height: 100% !important;
		list-style: none !important;*/
	}
		/*.fs_gallery > li { display: none; }	*/
		.fs_gallery > li, .fs_gallery > li > a {	
			float: left;
			display: block;
		}
		.fs_gallery > li, .fs_gallery > li > a, .fs_gallery > li > a > img {	
			width: 280px;
			height: 187px;
		}
		.fs_gallery > li { margin: 20px 20px 0 0; }
		.fs_gallery > li:nth-of-type(3n) { margin-right: 0; }

/* ==================== Боковой блок */
aside {
	float: right;
	width: 280px;
}
	.notice {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 20px;
		margin-top: 30px;
		background: var(--grey-bg); 
	}
		.notice > div.h1 {
			color: var(--dark-red);
			text-align: center;
		}
		.notice-post {
			margin-top: 25px;
			font-size: 14px;
		}
			.notice-post > p {
				margin-bottom: 10px;
				font-weight: 700;
				color: var(--h1h2-black);
			}
			.notice-post > a {
				color: #000;
			}
		
	.btn_notice {
		margin-top: 35px;
		margin-bottom: 10px;
		padding: 15px 25px;
	}
		
	.aside_btn {
		/*float: left;*/
		display: block;
		margin-top: 20px;
	}
		.aside_btn , .aside_btn  > svg {
			width: 280px;
			height: 70px;
			background: var(--light-red); 
		}
	
	.aside_profflider {
		/*float: left;*/
		display: block;
		margin-top: 20px;
	}		
		.aside_profflider , .aside_profflider  > img {
			width: 280px;
			height: 406px;
		}
	#vk_groups {
		margin-top: 20px;
		box-sizing: content-box !important;
		border: 1px solid var(--light-green);
	}
	
/* ==================== Блок профессий */	

.professions {
/*	display: flex;
	align-items: center;*/
	float: left;
	width: 100%;
	/*height: 490px;*/
	margin-top: 20px;
	/*padding-bottom: 30px;*/
	padding: 15px 0;
	background: var(--grey-bg);
}
	.professions > div {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.prof-block {
		float: left;
		display: flex;
		flex-direction: column; /* направление расположения блоков: row, column */
	/*	justify-content: center;  *//* распределение пространства вокруг блоков по горизонтаьной оси */
		align-items: center; /* горизонтальное выравнивание */
		/*margin: 30px 20px 0 0;*/
		margin-top: 15px;
		margin-bottom: 15px;
		padding: 0 20px;
		width: 280px;
		height: 200px;		
		/*background: #fff;*/
	}
	.prof-block:not(:nth-of-type(4n+1)) { margin-left: 10px; }
	.prof-block:not(:nth-of-type(4n)):not(:nth-last-of-type(1)) { margin-right: 10px; }
/*	
	.prof-block:nth-of-type(1), .prof-block:nth-of-type(5n) { margin-left: 0; }
	.prof-block:nth-of-type(4n) { margin-right: 0; }*/
		a.prof-block-icon {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 102px;
			height: 102px;	
			margin-top: 20px;
			border: 1px solid var(--dark-red);
			transition: all 0.8s ease;
		}
		a.prof-block-icon:hover{ background: var(--dark-red); }
		a.prof-block-icon:hover > .icon-prof { fill: #fff; }
		
			.icon-prof {
				max-width: 64px;
				max-height: 64px;
				transition: all 0.8s ease;
		/*		margin-right: 8px;*/
			}
		a.prof-block-text {
			display: inline-block;
			max-height: 52px;
			overflow: hidden;
			text-align: center;
			margin-top: 16px;
			font-size: 14px;
			font-weight: 500;
			color: var(--dark-red);
			text-transform: uppercase;
			text-decoration: none;
		}
/*
		a.prof-block-text:hover + a { background: var(--dark-red); }
		a.prof-block-text:hover ~ a { background: var(--dark-red); }
*/		
	
/* ==================== Блок ссылок */	

.links {
	float: left;
	width: 100%;
	margin-top: 40px;
}
	a.links-block {
		float: left;
		display: block;
		margin: 20px 20px 0 0;	
		transition: all 0.2s ease;
	}
	.links > .wrp:hover > a.links-block:not(:hover) { opacity: 0.2; }
	.links > .wrp:hover > .h3:hover ~ a.links-block { opacity: 1; }
	.links > .wrp:hover > a.links-block:hover { margin-top: 16px; }
	/*a.links-block:hover ~ a { opacity: 0.3; }*/
	/*a.links-block:hover + a { opacity: 0.5; }*/
	
	.links-block:nth-of-type(4n) { margin-right: 0; }
		a.links-block, a.links-block > img {
			width: 280px;
			height: 80px;
		}
		
		

/* ==================== Нижнее меню */	

nav.nbottom { margin-top: 50px; }
nav.nbottom, .menu_bottom, .menu_bottom > li > a { height: 46px; }
	.menu_bottom > li {
		float: left;			
	}
		.menu_bottom > li > a {
			display: inline-block;
			color: #fff;	
			/*font-size: 15px; 	*/
			/*text-transform: uppercase;*/
			/*font-weight: 500;*/
			text-decoration: none;
			padding: 12px 35px 0 35px;
			transition: all 0.4s ease;
		}
		.menu_bottom > li:hover > a {
		/*	color: #ffffff;*/
			background-color: var(--dark-red);		
		}

/* ==================== FOOTER */		
footer {
	float: left;
	width: 100%;
	color: var(--footertext-color);
	height: 270px;
	background: var(--dark-green);
}
	div[class^="footblock"] {
	  float: left;
	  margin-top: 30px;
	}
	.footblock1 { width: 380px; }
	.footblock1, .footblock2 { margin-right: 120px; }
	.footblock2, .footblock3 { width: 280px; }
		div[class^="footblock"] a { color: var(--headertext-color); }
		div[class^="footblock"] a:hover { color: var(--footertext-color); }
		div[class^="footblock"] > p { margin-top: 20px; }
		div[class^="footblock"] > .h2, div[class^="footblock"] > p > span { color: #fff; }
		.footerror {
			float: left;
			width: 280px;
			padding: 5px;
			margin-top: 30px;
			font-size: 13px;
			text-align: center;
			color: var(--headertext-color);
			border: 1px solid var(--headertext-color);
		}
		.foot_icons {
			display: flex;
			margin-top: 20px;
		}
			.foot_icons > a {
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 5px;
				width: 26px;
				height: 26px;	
				margin-right: 5px;
				background: #04384d; /* 044d45	*/
			}
				.foot_icons > a > svg {
					width: 18px;
					height: 18px;
					fill: var(--headertext-color);
					transition: all 0.2s ease;
				}
				.foot_icons > a > svg:hover { fill: #fff; }
		.btn_write_us {
			padding: 8px 0;
			margin-top: 10px;
			border-radius: 3px;
		}
