.header-container {
	width: 100%;
	height: 100px;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
 	display: inline-flex; 
}

.menu-left {
	width: 200px;
	display: -webkit-flex;
	display: -ms-flexbox;
 	display: flex; 
 	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
}

.logo {
	position: relative;
}

.container-menu-center {
	width: 850px;
	margin: auto;
}

.menu-center {
	width: 1050px;
	height: 100px;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
 	display: inline-flex; 
	-webkit-box-pack: justify; 
	    -ms-flex-pack: justify; 
	        justify-content: space-between;
	-webkit-justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 16pt;
}

.menu-center div {
	position: relative;
	margin-right: 5%;
}

.menu-center a {
	color:#000;
	border-color: #999;
	-webkit-transition:0.25s linear border-color;
	-o-transition:0.25s linear border-color;
	transition:0.25s linear border-color;
	text-decoration: none;
}

.active-menu-center-button,
.menu-center a:hover {
	border-bottom:2px transparent solid;
	border-color: #A0A0A0;
	-webkit-transition:0.25s linear border-color;
	-o-transition:0.25s linear border-color;
	transition:0.25s linear border-color;
	padding-bottom: 3px;
}

.menu-center a:active {
	color:#333333;
	border-bottom:2px #666666 solid;
	padding-bottom: 3px;
}

.menu-right {
	width: 200px;
	height: 100px;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
 	display: inline-flex;
 	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	font-size: 13pt;
	position: relative;
}
.menu-right div {
	position: relative;
	margin-right: 10%;
}

.menu-right a {
	color:#000;
	text-decoration: none;
}

.menu-right a:hover {
	color:#69C;
	-webkit-transition:0.25s linear border-color;
	-o-transition:0.25s linear border-color;
	transition:0.25s linear border-color;
}

.search {
	width:18px;
	height:18px;
    background: url(../images/search.png) 0 0 no-repeat;
    opacity:0.5;
}

.search:hover {
	opacity:1;
}

.searchform{
    position: absolute;
	/*right: 1px;*/

	opacity:0;  
	left: -9999px;
    top: 68px;
	min-width:390px;
	min-height:42px;
	padding:20px;
	background:	#fff;
	border:1px #D9DAD8 solid;

	-webkit-transition:0.25s linear opacity; 
	-moz-transition:0.25s linear opacity; 
	-o-transition:0.25s linear opacity; 
	transition:0.25s linear opacity;
	
	-moz-box-shadow:1px 5px 3px  rgba(0,0,0,0.15);
	-webkit-box-shadow:1px 5px 3px  rgba(0,0,0,0.15);
	-o-box-shadow:1px 5px 3px  rgba(0,0,0,0.15);
	box-shadow:1px 5px 3px  rgba(0,0,0,0.15);
}
.searchform.open{
	opacity:1;  
	-webkit-transition:0.25s linear opacity; 
	-moz-transition:0.25s linear opacity; 
	-o-transition:0.25s linear opacity; 
	transition:0.25s linear opacity;
	left: auto;
	right: 57px;
	z-index:10;
}

.searchform form input[type=text] {
	display:block;
	float:left;
	border:1px #CCCCCC solid;
	font-size:13px;
	padding:7px 8px ;
	width:280px;
	margin-right:15px;
}
.searchform form input[type=submit]{
	display:block;
	float:right;
	font-size:12px;
	background:	#608CC7;
	color:#fff;
	width:75px;
	height:31px;
	border:none;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-o-border-radius:2px;
	cursor:pointer;
}

.cse .gsc-control-cse, .gsc-control-cse {
    padding: 0;
}

/*---login-dialog---*/

.overlay {
    background-color: rgba(0, 0, 0, 0.7);
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    cursor: default;
    opacity: 0;
    position: fixed;
    visibility: hidden;
    z-index: 100;
		-webkit-transition: opacity .5s;
		-o-transition: opacity .5s;
		transition: opacity .5s;
}

.login-form {
    background: url(../images/login.png) 0 0 no-repeat;
    width: 370px;
	height: 245px;
	position: absolute;
	visibility: hidden;
	z-index: 1000;
	margin: 5% 35%;
	-webkit-transition: opacity .5s, top .5s;
	-o-transition: opacity .5s, top .5s;
	transition: opacity .5s, top .5s;
}

.login-form .close-window {
	background:url(../images/closer.png) 0 0 no-repeat;
	position:absolute;
	right:10px;
	top:14px;
	cursor:pointer;
	height:20px;
	width:20px;
	z-index: 10001;
}

.login-form .close-window:hover {
	background-position:0 -20px;
}

.login-form .close-window:active {
	background-position:0 -40px;
}

/*для IE и т.п.*/
.login-grid {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin-top: 100px; 
}

.error-message {
	font-size: 13pt;
	color: red;
	margin: -35px 0 10px 85px;
}

.email-pass-grid input {
	height: 34px;
	width: 340px;
	margin-left: 16px;
}

.email-pass-grid > form > input:first-child {
	margin-bottom: 15px;
}

.email-pass-grid input {
	font-size: 12pt;
} 


.login-button button {
	margin: 5px 0 0 110px;
	font-size: 13pt;
}

@supports (display: grid) {
	.login-grid {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 340px;
		    grid-template-columns: 340px;
		-ms-grid-rows: 40px 100px 50px;
		    grid-template-rows: 40px 100px 50px; 
		-webkit-box-pack: center; 
		    -ms-flex-pack: center; 
		        justify-content: center; 
		margin-top: 15%;
		margin-left: -30px;
	}

	.error-message {
		-ms-flex-item-align: center;
		    -ms-grid-row-align: center;
		    align-self: center;
		margin-top: 20px;
	}

	.login-button {
		-ms-grid-column-align: center;
			justify-self: center;
	}

	.login-button button {
		margin: -5px 0 0 20px;
	}
}

.header-admin-container,
.subheader-container,
.header-festival-container {
	width: 100%;
	height: 70px;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
 	display: inline-flex; 
	-webkit-box-pack: justify; 
	    -ms-flex-pack: justify; 
	        justify-content: center;
	-webkit-justify-content: center;
	-webkit-justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.header-admin-container div,
.subheader-container div,
.header-festival-container div {
	position: relative;
	margin-right: 2%;
}
.active-menu-button,
.header-admin-container div a,
.subheader-container div a
.header-festival-container div a {
	border-bottom:2px transparent solid;
	padding-bottom: 24px;
}

.header-admin-container div a:hover,
.subheader-container div a:hover,
.header-festival-container div a:hover {
	color:#000;
	-webkit-transition:0.25s linear border-color;
	-o-transition:0.25s linear border-color;
	transition:0.25s linear border-color;
	border-bottom:2px #666 solid;
	padding-bottom: 24px;
}

.header-admin-container div a:active,
.subheader-container div a:active,
.header-festival-container div a:active,
.header-festival-container .active-header-admin,
.header-festival-container .active-header-festival,
.header-festival-container .active-header-program {
	color:#333333;
	border-bottom:2px #666 solid;
	padding-bottom: 24px;
}

.header-admin-container a,
.subheader-container a,
.header-festival-container a {
	color:#000;
	border-color: #999;
	-webkit-transition:0.25s linear border-color;
	-o-transition:0.25s linear border-color;
	transition:0.25s linear border-color;
	text-decoration: none;
	font-size: 14pt;
}

.subheader-container a,
.header-festival-container a {
	font-size: 15pt;
}