@import url('https://fonts.googleapis.com/css?family=Fira+Sans+Condensed:500|Fira+Sans:400,400i,500,500i,600,600i,700,700i');

html, body {
	height:100%;
	overflow: hidden;
}
body {
	font-family: 'Fira Sans', sans-serif;
	font-size:18px;
	line-height:130%;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

body * {
	color:inherit;
	font-family: 'Fira Sans', sans-serif;
	font-size:inherit;
	line-height:130%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

sup, sub {
  vertical-align: baseline;
  position: relative;
  top: -0.5em;
  font-size:0.75em;
}
sub { 
  top: 0.5em; 
}

.tooltip_templates { 
	display: none; 
}

.tooltip {
	font-weight:600;
	color:#00adef;
	cursor:pointer;
}
.tooltip:hover {
	border-bottom:1px solid;
}

.clearfix {
	clear:both;
	display: block;
	padding:0.5em;
}

ul {
	padding-left: 1.25em;
}

ol {
	padding-left: 1em;
}

ul li, ol li {
	margin-bottom:0.5em;
}
ul li:last-child, ol li:last-child {
	margin-bottom:0;
}
header {
	-webkit-box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.15);
	-moz-box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.15);
	box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.15);
	position: relative;
	z-index:100;
	cursor:pointer;
}
header img {
	display: block;
	width:100%;
}

#main {
	overflow: hidden;
	height:100%;
	width:100%;
	background-image:url(../img/fond.jpg);
	background-size:cover;
	background-position: bottom center;
	position: relative;
	z-index:0;
	display: table;
}

aside#menu {
	width:220px;
	background:rgba(255,255,255,0.9);
	height:100%;
	font-size: 20px;
	font-weight: 600;
	text-transform: uppercase;
	position: absolute;
	left:0;
	transition: left ease-in-out 0.5s;
	z-index:1;
}

aside#menu ul {
	margin:0;
	padding:0;
	position: relative;
	left:0;
	transition: left ease-in-out 0.5s;
}

aside#menu ul li {
	list-style-type: none;
	margin:0;
	padding:0;
}

aside#menu li a {
	color:#40555c;
	display: block;
	padding:25px 15px;
	width:100%;
	height: 100%;
	text-align: center;
	text-decoration: none;
	border-bottom:1px solid #cfd4d6;
	transition:all ease-in-out 0.2s;
	cursor:pointer;
}

aside#menu li a.red {
	color:#ee3128;
}

aside#menu li a:not(.active):hover {
	background:rgba(65,85,92,0.2);
}

aside#menu li a.red:not(.active):hover {
	background:rgba(238,49,41,0.2);
}

aside#menu li a.active {
	background:rgba(65,85,92,0.8);
	color:#fff;
}

aside#menu li a.red.active {
	background:rgba(238,49,41,0.8);
	color:#fff;
}

aside#menu.closed {
	left:-180px;
}

aside#menu.closed ul {
	left:-40px;
}

#close-menu {
	position: absolute;
	bottom:20px;
	left:200px;
	transition: all ease-in-out 0.5s;
	z-index:200;
	text-indent: -9999px;
	width:44px;
	height:44px;
	border-radius: 100%;
	border:2px solid #fff;
	background-color:#358CCB;
	background-image:url(../img/menu-arrow.svg);
	background-position: 10px 10px;
	background-size:20px 20px;
	background-repeat: no-repeat;
	cursor:pointer;
	outline:0 none;
}
#close-menu:hover {
	background-color:#2D548C;
}
#close-menu.closed {
	left: 20px;
	transform:rotate(180deg);
}

#content {
	height:100%;
	position: relative;
	transition: all ease-in-out 0.5s;
	display: table-cell;
	vertical-align: middle;
	padding-left:220px;
	z-index:0;
}

#content.opening {
	vertical-align: top;
}

#content.fullwidth {
	padding-left:40px;
}

#opening {
	background:rgba(255,255,255,0.9);
	border-radius:6px;
	color:#40555c;
	display: none;
	font-size:20px;
	font-weight: 700;
	padding:20px 40px;
	width:80%;
	max-width:400px;
	margin:100px auto 0;
	position: relative;
	text-align: center;
	cursor: default;
}

#opening.visible {
	display: block;
}

#opening:after {
	content:"";
	display: block;
	width:51px;
	height:57px;
	position: absolute;
	bottom:-12px;
	right:-8px;
	background-image:url(../img/pointer.svg);
	background-size:51px 57px;
	background-repeat: no-repeat;
}

#opening p {
	color:inherit;
	line-height:120%;
	margin:0;
	font-size: inherit;
	font-weight: inherit;
}

.text-container {
	border:2px solid #40555c;
	display: none;
	width:calc(100% - 80px);
	margin:auto;
	background:white;
	padding:36px 30px 10px;
	position: relative;
}

.text-container.red {
	border:2px solid #ee3128;
}

.text-container ul {
	padding-left:4px;
}

.text-header {
	position: absolute;
	top:0;
	left:0;
	display: inline-block;
	background:#40555c;
	color:#fff;
	text-transform: uppercase;
	font-size:20px;
	padding:4px 20px 4px 14px;
	font-weight: 600;
}

.text-container.red .text-header {
	background:#ee3128;
}

.text-header:after {
	content:"";
	display: block;
	position: absolute;
	bottom:0;
	right:0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 8px 8px;
	border-color: transparent transparent #ffffff transparent;
}

.text-container.visible {
	display: block;
}
.tooltip-header {
	position: relative;
	height:50px;
	padding:5px 0 0;
}
.tooltip-header h1 {
	font-weight:600;
	color:#00adef;
	font-size:26px;
	line-height:32px;
	margin:0 2%;
}
.tooltip-header .close-tooltip {
	position: absolute;
	right:0px;
	top:4px;
	text-indent: -9999px;
	width:30px;
	height:30px;
	border-radius: 100%;
	border:2px solid #fff;
	background-color:#40555c;
	background-image:url(../img/close-tooltip.svg);
	background-position: 8px 8px;
	background-size:14px 14px;
	background-repeat: no-repeat;
	transition:all ease-in-out 0.2s;
	cursor:pointer;
	-webkit-appearance: none;
	padding: 0;
  	margin:0;
  	border:0;
}
.tooltip-header .close-tooltip:hover {
	background-color:#889397;
}
.tooltip-container {
	height:auto;
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events:initial;
}
.tooltip-container:after {
	content:"";
	display: block;
	clear:both;
	height:1px;
}
.fancybox {
	display: block;
	height:100%;
	margin-bottom: 0.75em;
	position: relative;
}

.fancybox:not(.video):after {
	content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 31px;
    height: 32px;
    background: #21386f url(../img/zoom.svg) 5px 5px no-repeat;
    background-size:21px 21px;
    -webkit-border-bottom-left-radius: 6px;
    -moz-border-radius-bottomleft: 6px;
    border-bottom-left-radius: 6px;
    pointer-events: none;
    transition:all ease-in-out 0.2s;
}

.fancybox {
	border: 1px solid rgba(0,0,0,0.2);
}

.fancybox:not(.video):hover:after {
	background-color:#00adef;
}

.fancybox img {
	display: block;
	width:100%;
	height:auto;
}

img.schema {
	max-width: 100%;
	height:auto;
}

p:last-child {
	margin-bottom:0;
	padding-bottom:0;
}

p:first-child {
	margin-top:0;
	padding-top:0;
}

h2 {
	font-size:21px;
	margin:0;
	padding:0;
}

h3.video-title {
	margin-bottom: 3px;
	font-weight: 500;
    line-height: 115%;
    font-size:16px;
}

h3:first-child {
	margin-top:0;
	padding-top:0;
}

h2:first-child {
	padding-top: 0;
	margin-top: 0;
}

h2:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

ul:first-child {
	margin-top:0;
	padding-top:0;
}

ul > li > ul, ul > li > ul:first-child {
	margin-top:0.5em;
}

.row {
	overflow:hidden;
}

.box {
	position:relative;
	margin-left:15px!important;
	margin-right:15px!important;
}

@media only screen and (min-width: 45em) {
	.col-4.box {
	    width: calc(33.3333333% - 30px);
	}
}

.box table {
	border-collapse: collapse;
	border:1px solid #40555c;
	width:100%;
	padding:0;
	margin:0;
}
.box table th {
	border-collapse: collapse;
	background:#40555c;
	color:#fff;
	font-weight: 600;
	text-align: center;
	padding:5px 10px;
}
.box table td {
	padding:10px;
	border-collapse: collapse;
	border:1px solid #40555c;
}

.box.withArrow:after {
	width:30px;
	height:10px;
	content:"";
	display: block;
	position: absolute;
	right:-30px;
	top:60px;
	background-image:url(../img/schema-arrow.svg);
	background-size:100% 100%;
}
.video {
	position: relative;
}
.video:after {
	content:"";
	display: block;
	position: absolute;
	left:calc(50% - 25px);
	top:calc(50% - 25px);
	width:50px;
	height: 50px;
	border:2px solid #fff;
	border-radius: 100%;
	background-color:#21386f;
	background-image:url(../img/playbtn.svg);
	background-size: 16px 18px;
    background-repeat: no-repeat;
    background-position: 19px center;
    transition:all ease-in-out 0.2s;
    box-shadow:0 0 5px rgba(0,0,0,0.25);
}
.video:hover:after{
	background-color:#00adef;
}

@media all and (max-width:1100px) {
	.video:after {
		left: calc(50% - 18px);
	    top: calc(50% - 18px);
	    width: 36px;
	    height: 36px;
	    background-size: 12px 14px;
	    background-position: 14px center;
	}
}

/*.fancybox-wrap {
	pointer-events:none!important;
}
.fancybox-close:hover {
	cursor:pointer;
}*/