/*
037ac1 - main color
00ADEF - hover and blue
f1f2f3 - light gray
#fc4a0a - orange
*/

html { height: 100%; }
.hide, .visuallyhidden { display: none; }

/* common text */
html {
  font-family: 'Roboto', Arial, sans-serif;
  line-height: 1.5;
  font-weight: 300;
  font-size: 20px;  
}

body * {
  box-sizing:border-box;
}

body
{
  text-align: left;
  min-height: 100%;
  -webkit-font-smoothing: antialiased;

  min-width: 1000px;
  max-width: 1200px;
  margin: 0 auto;
  background:#f2f2f2;
}



body, input, select, textarea
{
  color: #010101;
}

input, select, textarea { outline: none;}

/* links general */
a
{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #d2d2d2;
}

.pseudo-link {border-bottom: 1px dashed #d2d2d2;cursor:pointer;}

a.imglink {border-bottom:none;}

a:hover, .pseudo-link:hover
{
  text-decoration: none;
  color: #00ADEF !important;
  border-color: #00ADEF !important;
  cursor:pointer;
}

/*
a:hover img {
    opacity:0.7;
    //filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
*/

img {vertical-align:top;}

iframe {border:none; vertical-align:top;}

/* headings, text */

h1, h2, h3, h4, h5, h6
{
  line-height: 1.3;
  font-weight: bold;
  font-weight:normal;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none; }
h1 b, h2 b, h3 b, h4 b, h5 b, h6 b { font-weight: inherit; }
i { font-style: italic; }

sup
{
  font-size: 10px;
  line-height: 10px;
}

blockquote {
  font-size: 1.15rem;
  color:#448eb9;
  margin:0 0 1em;
  padding: 1em;
}

blockquote p:last-child {margin-bottom:0;}

blockquote.spravka {
  font-size:0.95rem;
  color: #888;
  /* border:solid 1px #dbeaf3; */
  border-radius:10px;
  background:#f2f3f4;
}

blockquote.spravka h3 {
  margin-top:0;
  color:#888;
}


address { font-style: normal; }
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }

.blue {color:#037ac1;}
.gray {color:#888;}
.red {color:#c00;}


/* general text styles */
.page-content p, .intro p {margin: 0 0 1em;}


h1.mainHeader.long, .page-content h1
{
  color: #000;
  font-size: 48px;
  line-height: 50px;
  font-weight: normal;
  margin:0 0 0.5em;
}

h1.mainHeader.long {font-size:40px;}


#content-header h1.mainHeader {margin:0;}

h2
{
  font-size: 30px;
  line-height: 40px;
  margin: 1em 0 0.6em;
  color:#111;
  font-weight: normal;
}

aside h2 {margin-top:0;}

h2 + h3.ce-subheader {
  color:#037ac1;
  font-size: 16px;
  font-weight: 300;
  margin:-10px 0 1em;
}

p.page-date { 
  color: #037ac1;
  margin-top: 5px;
  margin-bottom: 15px;
  font-weight: bold;
}

#content-header h2 {
  margin:7px 0 0;
  font-size: 20px;
  color: #888;
  line-height: 1.3;
}

#content-header p.page-date + h2.page-subtitle{
  margin-top:-15px; 
}


h3 {
  font-size: 22px;
  line-height: 1.4;
  margin: 1em 0 0.4em;
  color:#111;

}

aside h3 {margin-top:0;}


h4
{
    font-weight: bold;
    font-size: 18px;
    margin: 0 0 0.6em;
    line-height: 1.5;
}


.col h2:first-child, .col h3:first-child, .col h4:first-child {margin-top:0;}
.content section h2:first-child  {margin-top:0;}

.bg h2:first-child, .bg h3:first-child {margin-top:0;}

p.subheader {
    margin: 0.2em 0 0;
    font-size: 16px;
    color: #888;
    line-height: 1.3;
}

ul
{
  margin-bottom: 0.5em;
  margin-top: 0;
  padding:0;
  list-style: none;
}

ul ul { margin-top: 0.5em; padding-left:15px;}

ul li
{
  background: url(../images/ul.png) 0 0.7em no-repeat;
  padding-left: 15px;
  margin-bottom: 0.5em;
  position: relative;
}


ol
{
  list-style: decimal;
  padding-left: 30px;
}

ol li { margin-bottom: 0.6em; }

.content dl
{
  margin-bottom: 1em;
  overflow: hidden;
  position: relative;
}

dt
{
  font-weight: normal;
  float: left;
  padding-right: 0.5em;
  padding-bottom: 0.5em;
}

dd
{
  padding-bottom: 0.5em;
  min-height: 1.5em;
}


span.extra
{
  color: #037ac1;
}

.description {
  font-size:0.8rem;
  color:#888;
}
/* 

span.highlight-green {
  background:#efffef;
  background:#037ac10f;
}
span.highlight-blue {
  background:#037ac10f;
}
 */



/* tables */
td, th
{
  vertical-align: top;
  text-align: left;
}

table
{
  margin-bottom: 30px;
  border:none;
  width: 100%;
  font-size: 16px;
  line-height: 1.4;
}

table th
{
  padding: 5px 3px;
  font-weight: normal;
  text-align: left;
  background: #fff;
  color: #000;
  vertical-align: top;
  
  border-bottom: solid 1px #037ac1;
  
}

table th[scope="col"] { border-bottom: solid 1px #037ac1; }

table th[scope="row"]
{
  border-right: solid 1px #037ac1;
  border-bottom: solid 1px #037ac1;
}

table td
{
  border:none;
  border-bottom: solid 1px #e6e6e6;
  padding: 3px 20px 3px 3px;
}

.page-content .tr-even td { background: #fcfcfc; }


/* ==============================================================================
============================   STRUCTURE   ==============
============================================== */


                /* HEADER */
#page-header
{
  overflow: hidden; 
  position:relative;
  z-index:2;
  padding:0;
  background:transparent;
  min-height:100px;
  /*min-height:110px;*/
}

  /* logo */

#page-header h1
{
  margin: 0;
  padding: 0;
  position: absolute;
  line-height: 1;
  z-index: 31; 
  display:block;
  height: 100px;
  top: 0px;
  left: 40px;
  max-width:170px; /*ie11, moz fix*/
  
}

#page-header h1 a {border:none;}

#page-header h1 a img
{
  display: block;
  border: none;
  height: 100% !important;
  width: auto;
}

#page-header #topline {
  position: absolute;
  overflow: hidden;
  z-index:2;

  left: 0;
  right: 0;
  top:5px; 
  min-height:30px;
  
  line-height:32px; /* like search height */
  text-align: right;
  white-space:nowrap;

  font-size: 13px;
  color:#888;
}

#page-header #topline > * {text-align:left; white-space:normal; vertical-align:middle;}

#page-header #topline .search_short {display:inline-block;  margin-left: 20px;}


#page-header #topline .left {float:left;}



#page-header .offsite-logo a {border:none;}
#page-header .offsite-logo img {
  display: block;
  border: none;
  height: 100% !important;
  width: auto;
}




              /* navigation */

              
  /* main menu */
nav#website-menu
{
  position: relative;
  overflow: hidden;
  vertical-align: middle;

  font-size: 20px;
  line-height:1;
  color: #111;
  font-weight:normal;

  margin:27px 240px 0px 250px;
  box-sizing:border-box;  
}


nav#website-menu a
{
  display: inline-block;
  line-height: 1;
  padding: 5px 10px;  
  margin:0 10px 7px 0;
  
  outline: none;
  border:none;
  
  border-radius:0;
}

nav#website-menu a:hover
{
  border-color: #aaa !important;
  color: #666 !important;
  background: #efefef;
}


#page-header nav#website-menu a.act
{
  background: #e9f2f8;
  background: #037ac1;
  color:#fff;
}

#page-header nav#website-menu a.act:hover 
{
  color: #000 !important;
  background: #e9f2f8;  
}

/* menu lang */
#page-header #menu-lang {
  position:absolute;
  right:150px;
  top: 37px;
  z-index:2;
  height:60px;
  
  display: -ms-flexbox;
  -ms-flex-direction: column;
  -ms-flex-wrap: wrap;
  -ms-flex-align: stretch;
  
  display:flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items:stretch;
  
  text-transform:uppercase;
  font-size:0.7rem;
  color:#888;
}

#page-header #menu-lang > span {
  line-height:1;
  white-space:nowrap;
  display:block;
}

#page-header #menu-lang > span.act,
#page-header #menu-lang > span a
{
  display:block;
  border:none;
  padding:0.3em 0.3em;
  margin:0 0.4em 0.4em 0;
  border-radius:5px;
  background:transparent;
}

#page-header #menu-lang > span a:hover {
  background:rgba(0,0,0,0.1);
  color:#000 !important;
}


#page-header #menu-lang > span.act {background:rgba(0,0,0,0.1);}

/* burger */

#burger {display:none; /* opacity:0; */}
#burger.active {display:block;}
body.burgerActive {overflow:hidden; padding-right:15px; box-sizing:content-box;}

#burger {
  position:fixed;
/*   top:0;right:0;bottom:0;left:0; */
  right:0; left:0; height:100vh;
  top:-100vh;
  z-index:30;
  padding:100px;
  background:#fff;
  overflow-x:hidden;
  overflow-y:auto;  
  text-align:right;
}

#burger-toggle {
  position:absolute;
  right:50px;
  top: 50px;  
  z-index:2;
  
  width:24px;
  height:18px;
  background:url(../images/ico-burger.png) 0 0 no-repeat;
  background-size:contain;
}

#burger-toggle:hover,
#burger .burger-close:hover
{
  opacity:0.5;
  cursor:pointer;
}

#burger .burger-close {
  float:right;
  margin:-70px 0 0 0;
  display:block;
  width:1.5rem;
  height:1.5rem;
  background:url(../images/ico-close-blue.svg) center no-repeat;
  background-size:contain;
}


#burger > .wrap {
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  margin:0 -17.5px;
  text-align:left;
  padding-top:50px;
}

#burger > .wrap > div.level {
  padding:0 17.5px;
  margin: 0 0 1rem;
  flex: 0 0 25%;
}

#burger h1.logo-container {
  position:absolute;
  top:0;
  left: 90px;
    height: 100px;
    top: 0px;
    display:block;
}

#burger h1.logo-container img {height:100%;}

/* burger menu */
#burger span.item {
  margin:0 0 0.1rem;
  display:block;
}

#burger span.item a {
  display:inline-block;
  padding:0.2em 0.3em;
  background:transaprent;
  border:none;
}

#burger span.item.active a {
  background:#037ac1;
  color:#fff;
}

#burger > .wrap > div.level > span.item {
  font-weight:bold;
}


  /* footer */

#page-footer
{
  overflow: hidden;
  position: relative;

  font-size: 0.8rem;
  color: #888;

  border-top: dotted 1px #ccc;
  padding: 25px 35px 30px;
  box-sizing: border-box;

  display: flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:top;
}

#page-footer > div {
  flex:0 1 auto;
  padding-left:35px;
}


#page-footer .cell.copyright {
  flex-grow:1;
  padding-left:0;
}




              /* navigation */


/* rootline */
nav.rootline
{
  padding:0;
  margin:0 0 0.5rem;
  
  font-size: 0.8rem;
  line-height: 1.1;
  font-weight: 500;
  color:#037ac1;
}

nav.rootline span.item
{
  display:inline-block;
  margin:0 0 0.5em 0;
}

nav.rootline span.item:after
{
  content:'\203A';
  display:inline-block;
  margin:0 0.5em;
}

nav.rootline a
{
  border:none;
}

  
/* submenu */
nav.directory {
  position:relative;
  overflow:hidden;
  margin:1rem 0;
  font-size:1rem;
  font-weight:500;
  color:#037ac1;
}
nav.directory > span.item {
  display:inline-block;
  
  margin:0 1em 1em 0;  
}

nav.directory a {
  display:inline-block;
  padding:0.3em 0.5em;
  line-height:1.3;
  border:solid 1px rgba(3,122,193,0.5);
  border-radius:5px;
}

nav.directory a:hover {
  background:rgba(3,122,193,0.1);
}



/* ==============================================================================
============================   SPECIAL PAGES   ==============
============================================== */

.content.inner #content-image img {max-width:100%; height: auto;}

/* ••• GRID 1 = default •••• */
.inner.grid1 #content-normal .ce-textpic .ce-bodytext, .inner.grid1 #content-normal .ce-text, .inner.grid1 #content-normal .ce-header {
  max-width:700px;
}


/* ••• GRID 81 - menu on top •••• */
.page-content.inner.gridpagets__81 nav.subMenu {
  text-align:left;
  margin:0 0 35px;
  font-size:18px;
  width:100%;
}

.page-content.inner.gridpagets__81 #content-header {
}

.page-content.inner.gridpagets__81 #content-all {
  clear:both;
}

.page-content.inner.gridpagets__81 nav.subMenu ul li {
  display:inline-block;
  padding:0.3em 0.5em;
  margin:0 10px 10px 0;
  border: solid 1px #ccc;
  border-radius:5px;
}

.page-content.inner.gridpagets__81 nav.subMenu ul li.current {
  background:#037ac1;
  color:#fff;
}

.page-content.inner.gridpagets__81 nav.subMenu ul li.current strong {font-weight:300;}

.page-content.inner.gridpagets__81 nav.subMenu ul li a {
  line-height:1;
  border:none;
}

/* ==============================================================================
============================   ELEMENTS   ==============
============================================== */
.ce-header p.subheader {margin-bottom:1em; font-weight: bold;}
.ce-header div.categories {font-size:14px; color:#888;}
.ce-header div.categories > span {
  display:inline-block;
  margin-right:0.5em;
}


            /* common frames */ 
.bg  {
  background-color:#f1f2f3;
  padding:1em;
  margin-bottom:30px;
}

div.intro-block,
div.highlight,
p.highlight
{
  font-size:1.25rem;
  font-weight:normal;
}

div.factoid {
  margin:1rem 0;
}

div.factoid h3, div.factoid h2 {
  color:#037ac1;
  font-weight: normal;
  line-height:1;
  margin-bottom:0.2em;
}

div.factoid p.subheader {
  font-size:0.85rem;
  line-height:1.4;
  margin-top:0.3em;
  font-weight: 300;
}


/* video */
.video-container, iframe[src*="youtube"] {
  position:relative;
  margin:1rem 0;
}

.video-container video, iframe[src*="youtube"] {
  border-radius:1rem;
  box-shadow:0 0 1rem 0 rgba(0,0,0,0.5);
  outline:none;
}

									/* flash messages */
.ms_flash-container {
	position:fixed;
	bottom:0;left:0;right:0;
	z-index:10; 
}
.ms_flash {
	position:relative;
	overflow:hidden;

	align-items:flex-start;
	padding:20px;
	background:#e3f1f9;
	background:#bde6ff;
	border-top:2px dotted rgba(0,0,0,0.6);	
	
	display:none;		
}

.ms_flash.visible {display:flex;}

.ms_flash > .wrap {
	flex:1 1 auto;
	padding-right:50px;	
}

.ms_flash .button {white-space:nowrap;}