body {
    margin: 0;
    padding: 0;
}
h1, h2, h3, h4, p { margin: 0; padding: 0; }


#goTop{
    position:fixed;
    bottom:-100px;
    right:10px;
    z-index:20;
    background: url('/img/ToTopScroll.png');
    width: 70px;
    height: 70px;
    cursor: pointer;
}

#info_100 {
	display: block;
	height: 23px;
	width: 100%;
	background-color: #e7e7e7;
	border-bottom: 2px solid white;
    min-width: 1055px;
    line-height:21px;
    z-index:0!important;
}

#info_line {
	display: block;
	width: 1024px;
	margin: 0 auto;
	text-align: center;
}

#info_line a {
	color: #393939;
	font: 12px Arial;
	text-decoration: none;
}

#info_line a:hover { text-decoration: underline; }

/* GREY HEADER*/
.bg_header {
	display: block;
	width: 100%;
	height: 135px;
	background-image: url('/img/rainbow/bg_header.png');
    min-width: 1055px;
}

table.site_header {
	display: block;
	position: relative;
	margin: 0 auto;
	width: 1024px;
}

.site_header td, .site_header tr {
	max-height: 137px;
	display: inline-block;
	*display: inline;
	zoom: 1;
	margin: 0; padding: 0;
}


/* Logo */
.logo_container, .logo{
	max-width: 123px;
	max-height: 123px;
}

.logo_container { margin-top: -6px; }


/* School info */
.school { max-height: 137px; height: 137px; width: 96%; }

.school_name {
	color: #6f6f6f;
	font: 30px Arial;
	margin: 0;
}

.school_description {
	font: 16px Arial;
	color: #292929;
	margin: 10px 0 0 0;
	line-height: 16px;
}


/* Telephone */
.number {
	display: block;
	position: relative;
	margin-top: -20px;
}

.phone_logo {
	background-image:url('/img/rainbow/splash.png');
	width: 30px;
	height: 31px;
	display: block;
	position: absolute;
	margin-top: -3px;
}

.tell_number {
	font-size: 18px;
	font-family: "Times New Roman", Times, serif;
	padding-left: 35px;
}

/* RAINBOW HEADER */
.bg_header_2 {
	background-image: url("/img/rainbow/bg_rainbow.png");
    display: block;
    height: 270px;
    margin-top: 3px;
    min-width: 1055px;
    position: relative;
    width: 100%;
}

.header_2 {
	display: block;
	position: relative;
	width: 1024px;
	height: 250px;
	margin: 0 auto;
}


 /* CALENDAR */
.calendar_container {
	display: inline-block;
	*display: block;
	zoom: 1;
	width: 200px;
	margin-top: 20px;
	position: absolute;
}

.has_events {
	background-color: #df9a01;
}

.calendar_title {
	display: block;
	width: 100%;
	height: 28px;
	text-align: center;
	background-color: #4c7e96;
	font: 14px Arial;
	font-weight: bold;
	line-height: 28px;
	color: #fff;
}


table.calendar, tr.weekdays { width: 100%; }

#months_titles {
	display: block;
	width: 200px;
	height: 25px;
	position: relative;
}

.previous_month {
	background: url('/img/rainbow/splash.png') -30px 0px;
	color: rgba(0,0,0, .0);
	width: 10px;
	height: 16px;
	overflow: hidden;
	margin-top: 5px;
	display: inline-block;
	*display: inline;
	zoom: 1;
	position: absolute;
	margin-left: 10px;
	font-size: 0;
}

.month_title {
	width: 140px;
	text-align: center;
	font: 14px Arial;
	color: black;
	display: inline-block;
	*display: inline;
	zoom: 1;
	margin-bottom: 5px;
	margin-top: 5px;
	position: absolute;
	margin-left: 30px;
}

.month_title  a {
	font: 14px Arial;
	color: black;
	text-decoration: none;
}

.month_title  a:hover {
	text-decoration: underline;
}

.next_month {
	background: url('/img/rainbow/splash.png') -40px 0px;
	color: rgba(0,0,0, .0);
	width: 10px;
	height: 16px;
	overflow: hidden;
	margin-top: 5px;
	display: inline-block;
	*display: inline;
	zoom: 1;
	position: absolute;
	right: 10px;
	font-size: 0;
}

table.calendar, table.calendar td { border: none; }

table.calendar tbody tr.weekdays td {
	border-bottom: 2px solid white;
	text-align: center;
}

table.calendar tr.weekdays td.weekend { color: #b03737; }

table.calendar tr.week td.day { text-align: center; }

table.calendar tr.week td.day a { color: #000; text-decoration: none; }

table.calendar tr.week td.weekend a { color: #b03737; }

table.calendar tr.week td.today { background-color: #abd23c;}

.afisha_color {
	width: 15px;
	height: 15px;
	/*background-color: #abd23c;*/
	background-color: #df9a01;
	display: inline-block;
	*display: inline;
	zoom: 1;
	margin-bottom: -3px;
	margin-right: 3px;
}

.afisha_info {
	display: block;
	margin-top: 8px;
	margin-left: 4px;
}



.slider_container {
	width: 480px;
	height: 240px;
	display: inline-block;
	*display: inline;
	zoom: 1;
	overflow: hidden;
	margin-left: 255px;
	background-color: rgba(0,0,0, .2);
	margin-top: 10px;
}


/* --------------------------------------------------------------------------*/
/**
 * BxSlider v4.0 - Fully loaded, responsive content slider
 * http://bxslider.com
 *
 * Written by: Steven Wanderski, 2012
 * http://stevenwanderski.com
 * (while drinking Belgian ales and listening to jazz)
 *
 * CEO and founder of bxCreative, LTD
 * http://bxcreative.com
 */


/** RESET AND LAYOUT
===================================*/

.bx-wrapper {
	position: relative;
	margin: 0 auto;
	border: 1px solid #d4d4d4;
	background-color: #fff;
	padding: 0;
	*zoom: 1;
	width: 468px;
	height: 228px;
	margin: 5px;
}

.bx-wrapper img {
	max-width: 458px;
	/*height: 245px;*/
	width: 100%;*/
	display: block;
	margin: auto; /*img in center of block; be or not to be?*/
	margin-left: -40px;
	margin-top: -20px;
}

div.bx-controls { /*display: none!important;*/ }


/** THEME
===================================*/

.bx-wrapper .bx-viewport {
	/*-moz-box-shadow: 0 0 5px #ccc;
	-webkit-box-shadow: 0 0 5px #ccc;
	box-shadow: 0 0 5px #ccc;
	border: solid #fff 5px;
	left: -5px;*/
	background: #fff;
}

div.bx-viewport {
	height: 223px !important; /* height of slider container itself */
	width: 463px !important;
	margin: 5px;
}


.bx-controls-auto {
	display: none;
}


.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
	position: absolute;
	/*bottom: -30px;*/
	bottom: 10px;
	width: 100%;
}

/* LOADER */

.bx-wrapper .bx-loading {
	min-height: 50px;
	background: url(/img/slider/bx_loader.gif) center center no-repeat #fff;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2000;
}

/* PAGER */

.bx-wrapper .bx-pager {
	text-align: center;
	font-size: .85em;
	font-family: Arial;
	font-weight: bold;
	color: #666;
	padding-top: 10px;
}

.bx-pager-link {
	width: 11px;
	height: 11px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
	display: inline-block;
	*zoom: 1;
	*display: inline;
}

.bx-wrapper .bx-pager.bx-default-pager a {
	background-image: url('/img/copper/splash.png');
	background-position: 23px -1px;
	text-indent: -9999px;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	outline: 0;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	color: transparent !important;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
	background-image: url('/img/copper/splash.png');
	background-position: 11px -1px;
}

/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
	left: 5px !important;
	background: url('/img/rainbow/splash.png') no-repeat 0 -88px;
}

.bx-wrapper .bx-next {
	right: 5px !important;
	position: relative;
	background: url('/img/rainbow/splash.png') no-repeat -55px -88px;
}


.bx-wrapper .bx-prev:hover {
	left: 10px;
	background: url('/img/rainbow/splash.png') no-repeat -28px -88px;
}

.bx-wrapper .bx-next:hover {
	right: 10px;
	background: url('/img/rainbow/splash.png') no-repeat -83px -88px;
}

.bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: -135px;
	outline: 0px none;
	width: 28px;
	height: 55px;
	text-indent: -9999px;
	z-index: 9999;
}

.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}

/* AUTO CONTROLS (START / STOP) */
.bx-wrapper .bx-controls-auto {
	text-align: center;
}

.bx-wrapper .bx-controls-auto .bx-start {
	display: block;
	text-indent: -9999px;
	width: 10px;
	height: 11px;
	outline: 0;
	background: url(/img/slider/controls.png) -86px -11px no-repeat;
	margin: 0 3px;
}
.lte9 .bx-wrapper .bx-controls-auto .bx-start {
	margin: 0px;
	}

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {
	background-position: -86px 0;
}

.bx-wrapper .bx-controls-auto .bx-stop {
	display: block;
	text-indent: -9999px;
	width: 9px;
	height: 11px;
	outline: 0;
	background: url(/img/slider/controls.png) -86px -44px no-repeat;
	margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {
	background-position: -86px -33px;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
	text-align: right;
	width: 98%;
	padding-left: 0;
	position: relative;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
	right: 10px;
	width: 35px;
}

/* IMAGE CAPTIONS */

.bx-wrapper .bx-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #666\9;
	background: rgba(80, 80, 80, 0.75);
	width: 100%;
}

.bx-wrapper .bx-caption span {
	color: #fff;
	font-family: Arial;
	display: block;
	font-size: .85em;
	padding: 10px;
}


.bx-controls {
	position: relative;
	top: -25px !important;
}




/* FIX */
.bx-controls-auto, .bx-pager.bx-default-pager { z-index: 9999999 !important; }

/* --------------------------------------------------------------------------*/
/* End of slider styles */
/*===================================*/


/* SEARCH and LOGIN pannel */
.login_container {
    float: right;
	width: 250px;
	height: 170px;
	margin-top: 50px;
}

.search {
	margin-top: 5px;
	margin-right: 29px;
	display: block;
	margin-bottom: 15px;
	*margin-bottom: 0;
}

.search_bar, .search_button {
	display: inline-block;
	*display: inline;
	zoom: 1;
	margin: 0;
	padding: 0;
}

.search_bar {
	width: 205px;
	height: 27px;
	border: 1px solid #cbcbcb;
	-webkit-border-radius: 13px 0 0 13px;
	border-radius: 13px 0 0 13px;
	padding-left: 5px;
	line-height: 25px;
	margin-left: 5px;
}

.search_button {
	border: none;
	background: url('/img/rainbow/splash.png') -50px 0px;
	width: 22px;
	height: 30px;
	cursor: pointer;
	margin-left: -4px;
	padding-top: 1px;
	position: absolute;
}

.search_button:hover {
	border: none;
	background: url('/img/rainbow/splash.png') -72px 0px;

}

.search_button:active {
	border: none;
	background: url('/img/rainbow/splash.png') -94px 0px;
}

input#log1, input#log2 {
	display: block;
	position: relative;
	height: 27px;
	width: 220px;
	padding-left: 10px;
	border: 1px solid #CBCBCB;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	line-height: 25px;
}

input#submit_button	{
	display: block;
	background: url('/img/rainbow/splash.png') 0px -36px;
	border: none;
	width: 84px;
	height: 25px;
	cursor: pointer;
	color: #484848;
	font: 12px Arial;
	font-weight: bold;
}

input#submit_button:hover	{
	display: block;
	background: url('/img/rainbow/splash.png') 0px -61px;
	border: none;
	width: 84px;
	height: 25px;
}

input#log1, input#log2, input#submit_button { float: right; }

/* IF LOGGED */
p.hello {
	font: 14px Arial;
	margin-bottom: 10px;
}

a.lk, a.exit {
	background-color: #fff;
	border: 1px solid grey;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	color: grey;
	text-decoration: none;
	padding: 3px 5px 3px 5px;
	font: 14px Arial;
	font-weight: bold;
}

a.lk:hover, a.exit:hover {
	background-color: rgb(245, 229, 229);
	color: rgb(96, 95, 95);
}


/* MAIN CONTENT STYLE */
/* BackGround */
.wrapper {
background: transparent url("/img/rainbow/splash_bg.png") no-repeat scroll center top;
margin-top: -8px;
position: relative;
z-index: 10;
min-width: 1055px;

}

.bg_body {
	width: 1044px;
	height: 100%;
	position: relative;
	background: #dedede;
    margin-left: auto;
    margin-right: auto;

}

.left_image {
	display: none;
	position: absolute;
	width: 188px;
	height: 210px;
	background: url('/img/rainbow/splash2.png');
	left: -178px;
}

.right_image {
	display: none;
	position: absolute;
	width: 191px;
	height: 228px;
	background: url('/img/rainbow/splash2.png') 192px 0;
	left: 1034px;
}

.main_container {
	width: 1024px;
	height: 100%;
	position: relative;
	margin: 0 auto;
	background: #fff;
}

/* ======================= */
/* MAIN MENU */
.main_menu {
	width: 1044px;
    margin: 0 auto;
	background-image: url('/img/rainbow/bg_menu.png');
	margin-bottom: 0;
    height: auto;
    background-repeat: repeat-x;
    background-position: bottom;
    background-color: #B0E0EF;
    border-top: 2px solid #B5FEFF;
    padding-bottom: 13px;
    min-height: 61px;
}

 /*TREE_PAGES*/
.nav_tree { text-align: center; }

/*
Author: Craig Erskine
Description: Dynamic Menu System - Horizontal/Vertical
*/
ul#navmenu-h {
	margin:0;
	padding: 5px 0 0	0;
	list-style: none;
	position: relative;
	padding-left: 5px;
	z-index: 10;
}

ul#navmenu-h ul {
	width: 200px; /* Sub Menu Width */
	margin: 0 0 0 -100px;
	padding: 0;
	list-style: none;
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1000;
}

ul#navmenu-h ul ul,ul#navmenu-h ul ul ul {
	top: 0%;
	left: 100%;
	margin: 0 0 0 10px;
}

	ul#navmenu-h li {
	float: none;
    display: inline-block;
    *display: inline;
    *zoom: 1;
	position: relative;
}

	ul#navmenu-h ul li {
	width: 100%;
	display: block;
	left: 0;
}

/* Root Menu */
ul#navmenu-h a {
	text-decoration: none;
	color: #1d3952;
	font: 14px Arial;
	padding: 6px;
	line-height: 28px;
}

.ie ul#navmenu-h a {
	font-size: 14px;
	padding-left: 15px;
}

/* Root Menu Hover Persistence */
ul#navmenu-h a:hover,ul#navmenu-h li:hover a,ul#navmenu-h li.iehover a {
	background-color: #fff;
}

/* 2nd Menu */
ul#navmenu-h li:hover li a,ul#navmenu-h li.iehover li a {
	float: none;
	background: #cabddf;
	color: #000;
	display: block;
	width: 200px;
	padding: 0px 5px 0 5px;
	font-weight: normal;
}

/* 2nd Menu Hover Persistence */
ul#navmenu-h li:hover li a:hover,ul#navmenu-h li:hover li:hover a,ul#navmenu-h li.iehover li a:hover,ul#navmenu-h li.iehover li.iehover a {
	background: #ffdbab;
	color: #000;
}

/* 3rd Menu */
ul#navmenu-h li:hover li:hover li a,ul#navmenu-h li.iehover li.iehover li a {
	background: #ffdbab;
	color: #000;
}

/* 3rd Menu Hover Persistence */
ul#navmenu-h li:hover li:hover li a:hover,ul#navmenu-h li:hover li:hover li:hover a,ul#navmenu-h li.iehover li.iehover li a:hover,ul#navmenu-h li.iehover li.iehover li.iehover a {
	background: #bfd571;
	color: #000;
}
ul#navmenu-h li:hover li:hover li a:hover,ul#navmenu-h li:hover li:hover li:hover a:hover,ul#navmenu-h li.iehover li.iehover li a:hover,ul#navmenu-h li.iehover li.iehover li.iehover a:hover {
	background: #bfd571;
	color: #000;
}

/* 4th Menu */
ul#navmenu-h li:hover li:hover li:hover li a,ul#navmenu-h li.iehover li.iehover li.iehover li a {
	background: #bfd571;
	color: #000;
}

/* 4th Menu Hover */
ul#navmenu-h li:hover li:hover li:hover li a:hover,ul#navmenu-h li.iehover li.iehover li.iehover li a:hover {
	background: #e5f06d;
	color: #000;
}

/* Hover Function - Do Not Move */
ul#navmenu-h li:hover ul ul,ul#navmenu-h li:hover ul ul ul,ul#navmenu-h li.iehover ul ul,ul#navmenu-h li.iehover ul ul ul {
	display: none;
}
ul#navmenu-h li:hover ul,ul#navmenu-h ul li:hover ul,ul#navmenu-h ul ul li:hover ul,ul#navmenu-h li.iehover ul,ul#navmenu-h ul li.iehover ul,ul#navmenu-h ul ul li.iehover ul {
	display: block;
}

/*=========================*/
/* Left colomn */
.left_colomn {
	display: inline-block;
	*display: inline;
	width: 200px;
	vertical-align: top;
	margin-bottom: 20px;
}


/* NEWS */
#news h2 {
	background: url('/img/rainbow/splash.png') 0 -145px;
	width: 190px;
	height: 32px;
	margin-bottom: 15px;
	margin-left: 10px;
	margin-top: 10px;
	text-align: center;
	font-size: 20px;
	line-height: 30px;
	color: white;
}

#news .news {
	margin-bottom: 8px;
	margin-left: 10px;
	width: 190px;
	border-bottom: 1px dotted grey;
	padding-bottom: 5px;
	line-height: 18px;
}

.date {
	color: grey;
	background: transparent;
	padding: 0 3px 0 3px;
	font-size: 10px;
}

.all_news, .news, .news a {
	font: 12px Arial;
	text-decoration: none;
}
#news .news a { color: #484848; }

#news .news a.sidebar_news_link {
	background-color: #8CA834;
	color: white;
	padding-left: 4px;
	padding-right: 4px;
	font-weight: bold;
}

#news .news img {
    display: block;
    max-width: 180px;
    height: auto;
    max-height: 220px;
}

.all_news, #news .news a.details { color: #3748b0; font-weight: normal; }
.all_news { margin-left: 10px; }
#news .news a:hover {
	text-decoration: underline;
}

#news .news .details {
	position: relative;
	display: block;
	background-color: transparent;
	margin-bottom: 8px;
	padding-left: 0;
	margin-top: 2px;
}

/*=========================*/
/* Content */
.main_content {
	display: inline-block;
	*display: inline;
	zoom: 1;
	width: 580px;
	vertical-align: top;
	margin-left: 10px;
	margin-top: 10px;
	margin-bottom: 20px;
    overflow: hidden;
}

.main_content p {
	margin: 8px 0;
}

h1 { font: 18px Arial; color: black; }

h2 { font: 18px Arial; color: #393939; }

h3 { font: 14px Arial; color: black; }

h4 { font: 14px Arial; color: #393939; }

p { font: 14px Arial; color: #292929;     line-height: inherit;}

.main_content a {
  color: #3748b0;
  text-decoration: none;
}

.main_content a:hover {
  color: #3748b0;
  text-decoration: underline;
}

.main_content a:visited {
  color: #5d6493;
  text-decoration: underline;
}

.main_content img {
    max-width: 560px;
}

.main_content .news_list_item img {
    display: block;
}

/*=====================*/
/* RIGHT COLOMN */
.right_colomn {
	display: inline-block;
	width: 214px;
	vertical-align: top;
	margin-left: 10px;
	margin-bottom: 20px;
    overflow: hidden;
}

.addres_container img {
    max-width: 190px;
    height: auto;
}

.addres_title {
	background: url('/img/rainbow/splash.png') 0px -145px;
	width: 190px;
	height: 32px;
	margin-bottom: 15px;
	margin-top: 10px;
	text-align: center;
	font: 20px Arial;
	line-height: 30px;
	color: #FFF;
}

.feedback { margin-top: 50px; }

.feedback h2 {
	background: url('/img/rainbow/splash.png') 0px -177px;
	width: 190px;
	height: 32px;
	margin-bottom: 15px;
	margin-top: 10px;
	text-align: center;
	font: 17px Arial;
	line-height: 32px;
	color: #000;
}
.feedback .attach_cont {
    width: 192px;
}
.feedback .attach_title {
    color: #626262;
    font: 12px Arial
}

label[for=email], label[for=name], .textarea, label.code, label[for=code],
label[for="agree"] {
	color: #626262;
	font: 12px Arial;
}

input[name=email], input[name=name], textarea[name=message] {
	border: 1px solid #d8d8d8;
	line-height: 30px;
	color: #626262;
	padding: 0 5px 0 5px;
	width: 180px;
	font: 14px Arial;
}

input[name=code] {
	border: 1px solid #d8d8d8;
	color: #626262;
	padding: 0 5px 0 5px;
	width: 155px;
	font: 14px Arial;
	line-height: 20px;
	height: 24px;
}

input[name=email], input[name=name] { height: 30px; }
textarea[name=message] { min-height: 100px; min-width: 180px; }

input.send {
	background: url('/img/rainbow/splash.png') 0 -210px;
	border: none;
	width: 121px;
	height: 28px;
	cursor: pointer;
	margin: 10px 0 0 40px;
	color: #555;
	font: 12px Arial;
	font-weight: bold;
}

input.send:hover {
	background: url('/img/rainbow/splash.png') 0 -238px;
	border: none;
}

.footer {
	display: block;
	width: 100%;
	height: 90px;
	background: url('/img/rainbow/bg_rainbow.png');
	position: relative;
    min-width: 1055px;
}

.footer_content {
	width: 1024px;
	height: 100%;
	margin: 0 auto;
}

#metrika {
	position: relative;
	float: right;
	margin-top: 25px;
	margin-right: 10px;
}

p.copyright {
	color: black;
	font: 12px Arial;
	margin-top: 25px;
	position: absolute;
	margin-left: 10px;
    width: 900px;
}

p.copyright a {
    color: black;
}

p.copyright a:hover {
    color: #6a64d2;
}

.semiblind_button {
	display: block;
	width: 210px;
	color: #6F6F6F;
	font: 16px Arial;
	text-decoration: none;
	height: 20px;
	position: absolute;
	margin-left: 37px;
	margin-top: 33px;
}
.semiblind_button:hover {
	text-decoration: underline;
}
.semiblind_img {
	position: absolute;
	background-image:url('/img/semiblind/eye.png');
	width: 34px;
	height: 20px;
	margin-left: -38px;
}

#yandex_map.yaMap_style {
	width: 100%;
	height: 220px;
}

.mobile_version_link {
  color: #393939;
  display: inline-block;
  font: 13px/19px Arial;
  padding: 2px 0 0;
  position: absolute;
  right: 0;
  text-decoration: none;
  top: 0;
  z-index:1;
}

.mobile_version_image {
  background-image: url("/img/mobile/mobile_button.png");
  background-position: 0 38px;
  display: inline-block;
  height: 18px;
  margin: 0 6px 0 0;
  vertical-align: top;
  width: 10px;
}


.mobile_version_link:hover {
  text-decoration: underline;
}


.mobile_button {
  margin: 0 auto;
  position: relative;
  width: 1042px;
}

.main_content > img {
  max-width: 500px;
}

.gallery_image_frame > img {
  max-width: 500px;
}


.news img {
  max-width: 178px;
}

.full_news_article img {
  max-width: 500px;
}

.yashare-auto-init {
    text-align: center;
    margin-top: 15px;
}


/* --- СТИЛИ ДЛЯ ТЕМЫ МЕЧТА (Исправление верстки) --- */

body {
    font-family: Arial, sans-serif;
    background-color: #f0f0f0; /* Серый фон как на старом */
    margin: 0;
    padding: 0;
}

/* Контейнер для центрирования */
.header-wrapper, .calendar-slider-zone, .main-navigation, .main-content-table, .site-footer {
    max-width: 1000px; /* Ширина как на старом сайте */
    margin: 0 auto;
    background: #fff;
}

/* Шапка */
.header-wrapper {
    padding: 10px;
    border-bottom: 2px solid #ccc;
}

/* Меню */
.main-navigation a {
    color: #333;
    text-decoration: none;
    margin: 0 5px;
    font-weight: bold;
}
.main-navigation a:hover {
    color: #000;
    text-decoration: underline;
}

/* Основная таблица */
.main-content-table {
    border-collapse: collapse;
    margin-top: 10px;
}
.main-content-table td {
    vertical-align: top;
    padding: 15px;
}

/* Сайдбары */
.left-sidebar, .right-sidebar {
    background: #fafafa;
    border: 1px solid #eee;
}

/* Центральный контент */
.center-content {
    background: #fff;
    min-height: 500px;
}

/* Заголовки виджетов */
.widget h3, .news-block h3, .address-block h3, .form-block h3 {
    background: #5bc0de !important;
    color: #fff !important;
    padding: 8px !important;
    text-align: center !important;
    margin: 0 0 10px 0 !important;
    font-size: 16px !important;
}

/* Новости в сайдбаре */
.news-item {
    margin-bottom: 15px;
    border-bottom: 1px dashed #ccc;
    padding-bottom: 10px;
}
.news-item a {
    color: #333;
    text-decoration: none;
    font-weight: bold;
}
.news-item a:hover {
    color: #007cba;
}

/* Подвал */
.site-footer {
    clear: both;
    padding: 20px;
    text-align: center;
    font-size: 12px;
    color: #666;
    border-top: 2px solid #ccc;
    margin-top: 20px;
}

/* Стили меню */
.nav-menu {
    list-style: none;
    padding: 10px;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0px;
}
.nav-menu li {
    position: relative;
}
.nav-menu a {
    color: #333;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    padding: 5px 5px;
    display: block;
    margin: 0;
}
.nav-menu a:hover {
    background: rgba(255,255,255,0.5);
    border-radius: 4px;
}
/* Выпадающее подменю (если будет) */
.nav-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #ccc;
    z-index: 100;
    min-width: 200px;
}
.nav-menu li:hover .sub-menu {
    display: block;
}

/* --- ФИКС ШИРИНЫ САЙДБАРОВ И ФОРМЫ --- */

/* Жестко фиксируем ширину ячеек таблицы */
.main-content-table td.left-sidebar {
    width: 25% !important;
    max-width: 250px !important;
}

.main-content-table td.center-content {
    width: 50% !important;
}

.main-content-table td.right-sidebar {
    width: 25% !important;
    max-width: 250px !important;
}

/* Ограничиваем ширину самой формы, чтобы она не ломала верстку */
.form-block, 
.wpcf7 {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Стили для полей формы (чтобы были компактными) */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 8px !important;
    margin-bottom: 10px !important;
    font-size: 14px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
}

.wpcf7 input[type="submit"] {
    width: 100% !important;
    background: #5bc0de !important;
    color: #fff !important;
    border: none !important;
    padding: 10px !important;
    cursor: pointer !important;
    border-radius: 4px !important;
}

.wpcf7 input[type="submit"]:hover {
    background: #31b0d5 !important;
}

/* Чекбокс согласия */
.wpcf7-list-item-label {
    font-size: 12px !important;
    color: #666 !important;
}

/* --- МОБИЛЬНОЕ МЕНЮ И ГАМБУРГЕР --- */

.mobile-menu-toggle {
    display: none; /* Скрыто на десктопе */
    background: #5bc0de;
    color: white;
    border: none;
    padding: 10px 15px;
    font-size: 24px;
    cursor: pointer;
    margin-bottom: 10px;
    width: 100%;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .mobile-menu-toggle {
        display: block; /* Показываем на мобильных */
    }

    .main-navigation {
        background: #aeeeee !important;
        padding: 0 !important;
        margin-bottom: 20px !important;
    }

    .nav-menu {
        display: none; /* Скрываем меню по умолчанию */
        flex-direction: column;
        background: #fff;
        border-top: 1px solid #ccc;
        padding: 10px 0;
    }

    .nav-menu.active {
        display: flex; /* Показываем при активном классе */
    }

    .nav-menu li {
        width: 100%;
        text-align: center;
        border-bottom: 1px solid #eee;
    }

    .nav-menu a {
        display: block;
        padding: 12px;
        color: #333;
        text-decoration: none;
        font-weight: bold;
    }
    
    .nav-menu a:hover {
        background: #f0f0f0;
    }
    
    /* Прочие мобильные фиксы */
    .calendar-slider-zone > div {
        flex-direction: column !important;
    }
    .calendar-slider-zone > div > div {
        width: 100% !important;
        margin-bottom: 15px;
    }
}


/* --- СТИЛИЗАЦИЯ ШАПКИ (Воссоздание стиля Muzkult) --- */

.site-header-bg {
    display: block;
    width: 100%;
    /* Градиент вместо картинки bg_header.png для автономности */
/*     background: linear-gradient(to bottom, #ffffff 0%, #f0f0f0 100%);  */
       background-image: url('/wp-content/themes/mechta-theme/media/bg_header.png'); 
       background-repeat: repeat-x; 
    min-height: 135px;
    border-bottom: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.site-header-inner {
    max-width: 1000px; /* Ширина контента как на старом сайте */
    margin: 0 auto;
    padding: 0 10px;
}

.site-header-table {
    height: 135px;
}

.header-logo-cell {
    vertical-align: middle;
    text-align: left;
    padding-right: 15px;
}

.site-logo {
    max-width: 140px;
    height: auto;
    display: block;
}

.header-info-cell {
    vertical-align: middle;
    text-align: left;
}

.school-title {
    font-size: 20px !important; /* Крупнее, чем было */
    font-weight: bold;
    color: #333;
    margin: 0 0 5px 0;
    line-height: 1.2;
    text-transform: uppercase; /* Иногда капсом, но лучше оставить как есть */
}

.school-subtitle {
    font-size: 12px;
    color: #666;
    margin: 0;
    line-height: 1.3;
}

.header-contact-cell {
    vertical-align: middle;
    text-align: right;
    padding-left: 15px;
}

.contact-block {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.phone-number-wrap {
    font-size: 18px;
    font-weight: bold;
    color: #d9534f; /* Красный цвет телефона, как часто бывает на таких сайтах */
    white-space: nowrap;
}

.phone-icon {
    margin-right: 5px;
    font-size: 16px;
}

/* Кнопка BVI в стиле старого сайта */
.bvi-button-old {
    background-color: #fff;
    border: 1px solid #ccc;
    color: #333;
    padding: 5px 10px;
    font-size: 11px;
    cursor: pointer;
    border-radius: 3px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.bvi-button-old:hover {
    background-color: #f9f9f9;
    border-color: #999;
    color: #000;
}

.eye-icon {
    font-size: 14px;
}

/* Адаптация шапки для мобильных */
@media screen and (max-width: 768px) {
    .site-header-bg {
        min-height: auto;
        padding: 10px 0;
    }
    
    .site-header-table, 
    .site-header-table tbody, 
    .site-header-table tr, 
    .site-header-table td {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }
    
    .header-logo-cell {
        padding-bottom: 10px;
    }
    
    .site-logo {
        margin: 0 auto;
    }
    
    .header-info-cell {
        padding-bottom: 10px;
    }
    
    .school-title {
        font-size: 16px;
    }
    
    .school-subtitle {
        font-size: 10px;
    }
    
    .contact-block {
        align-items: center;
    }
}


/* --- СТИЛИЗАЦИЯ КНОПКИ ДЛЯ СЛАБОВИДЯЩИХ (BVI) --- */

.bvi-button-custom {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Текст по левому краю внутри кнопки */
    gap: 10px; /* Расстояние между глазом и текстом */
    
    /* Размеры как на старом сайте (~210px ширина, но адаптивнее) */
    min-width: 200px; 
    height: auto;
    padding: 8px 15px;
    
    /* Цвета и границы */
    background-color: #f9f9f9;
    border: 1px solid #ccc;
    color: #6F6F6F; /* Серый текст как в примере */
    font-family: Arial, sans-serif;
    font-size: 14px; /* Чуть больше обычного, но читаемо */
    text-decoration: none;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.2s ease;
}

/* Иконка глаза */
.bvi-eye-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0; /* Чтобы иконка не сжималась */
    color: #6F6F6F;
}

/* Текст кнопки */
.bvi-text {
    white-space: nowrap; /* Чтобы текст не переносился на новую строку */
}

/* Ховер эффект */
.bvi-button-custom:hover {
    background-color: #e7e7e7;
    border-color: #999;
    color: #333;
}

.bvi-button-custom:hover .bvi-eye-icon {
    color: #333;
}

/* Активное состояние (когда включен режим слабовидящих) */
body.bvi-on .bvi-button-custom {
    background-color: #333;
    color: #fff;
    border-color: #000;
}

body.bvi-on .bvi-eye-icon {
    color: #fff;
}

body.bvi-on .bvi-button-custom:hover {
    background-color: #000;
}

/* Адаптация для мобильных: кнопка во всю ширину блока контактов */
@media screen and (max-width: 768px) {
    .bvi-button-custom {
        width: 100%;
        justify-content: center; /* Центрируем содержимое на мобилках */
        font-size: 13px;
        padding: 10px;
    }
}


/* --- РАДУЖНАЯ ЗОНА (Calendar + Slider + Search) --- */

.rainbow-header-zone {
    width: 100%;
background-image: url(/wp-content/themes/mechta-theme/media/bg_rainbow.png);
    background-repeat: repeat-x;
background-size: cover;
    padding: 15px 0;
    margin-bottom: 0; /* Плотно прилегает к меню ниже */
    position: relative;
    z-index: 10;
}

/* Затемняем фон чуть-чуть, чтобы белый текст/блоки читались лучше, если нужно */
.rainbow-header-zone::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(255, 255, 255, 0.1); /* Легкое осветление */
    pointer-events: none;
}

.rainbow-content-wrapper {
    max-width: 1000px; /* Ширина как на старом сайте */
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.rb-grid-container {
    display: flex;
    gap: 15px;
    align-items: stretch;
}

/* Общие стили для колонок */
.rb-calendar-col, 
.rb-slider-col, 
.rb-search-col {
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    overflow: hidden;
}

/* 1. КАЛЕНДАРЬ */
.rb-calendar-col {
    flex: 0 0 220px; /* Фиксированная ширина как на старом сайте (~200-220px) */
    display: flex;
    flex-direction: column;
}

.cal-title-bar {
    background-color: #4c7e96; /* Цвет заголовка как в старом CSS */
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 5px 0;
    line-height: 1.2;
}

.cal-body {
    padding: 10px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.cal-nav-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding: 0 5px;
}

.cal-arrow {
    color: #999;
    font-weight: bold;
    cursor: default; /* Не кликабельно в демо-версии, но выглядит как кнопка */
    user-select: none;
}

.cal-month-link {
    color: #333;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
}
.cal-month-link:hover {
    color: #4c7e96;
}

.cal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
    text-align: center;
    margin-bottom: 5px;
}

.cal-table th {
    color: #666;
    font-weight: normal;
    padding: 4px 2px;
    border-bottom: 1px solid #eee;
}

.cal-table td {
    padding: 4px 2px;
    height: 14px;
    vertical-align: middle;
}

.cal-table td.empty {
    color: transparent;
}

.cal-table td.weekend {
    color: #d9534f; /* Красный для выходных в заголовке */
}

.cal-table td.weekend-day {
    color: #d9534f; /* Красный для дней выходных */
}

.cal-table td.today {
    background-color: #dff0d8; /* Светло-зеленый фон для сегодняшнего дня */
    color: #3c763d;
    font-weight: bold;
    border-radius: 3px;
}

.cal-legend {
    font-size: 10px;
    color: #888;
    margin-top: auto;
    padding-top: 5px;
    border-top: 1px dashed #eee;
    display: flex;
    align-items: center;
    gap: 5px;
}

.legend-box.event-color {
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #df9a01; /* Оранжевый цвет событий как в старом CSS */
    border-radius: 2px;
}

.cal-footer-link {
    text-align: center;
    margin-top: 5px;
}
.cal-footer-link a {
    font-size: 11px;
    color: #4c7e96;
    text-decoration: none;
    font-weight: bold;
}
.cal-footer-link a:hover {
    text-decoration: underline;
}

/* 2. СЛАЙДЕР */
.rb-slider-col {
    flex: 1; /* Занимает всё оставшееся пространство */
    min-height: 250px; /* Минимальная высота, чтобы не схлопывался */
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9f9f9; /* Фон под слайдером, если картинки нет */
}

/* Убираем лишние отступы у слайдера Smart Slider, если они мешают */
.rb-slider-col .n2-ss-slider {
    width: 100% !important;
    height: 100% !important;
}

/* 3. ПОИСК И БЫСТРЫЕ ССЫЛКИ */
.rb-search-col {
    flex: 0 0 220px; /* Ширина как у календаря */
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 20px; /* Расстояние между поиском и контактами */
}

/* Единая форма поиска */
.search-widget-box {
    width: 100%;
}

.rb-unified-search-form {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden; /* Чтобы кнопка не вылезала за скругленные углы */
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
}

.rb-search-input-inline {
    flex-grow: 1;
    border: none;
    padding: 8px 10px;
    font-size: 13px;
    outline: none;
    background: transparent;
}

.rb-search-input-inline::placeholder {
    color: #aaa;
}

.rb-search-btn-inline {
    background: #f9f9f9;
    border: none;
    border-left: 1px solid #eee;
    padding: 8px 10px;
    cursor: pointer;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.rb-search-btn-inline:hover {
    background: #eef;
    color: #4c7e96;
}

/* --- ЕДИНЫЙ СТИЛЬ ДЛЯ БЛОКА АДРЕСА (ШАПКА + САЙДБАР) --- */

.unified-address-block {
    background: #f0f8ff; /* Светло-голубой фон */
    border: 1px solid #add8e6; /* Голубая рамка */
    margin-bottom: 20px;
    overflow: hidden; /* Чтобы заголовок не вылезал за скругления, если они будут */
}

.ua-title {
    background: #5bc0de !important; /* Яркий голубой фон заголовка */
    color: #fff !important;
    padding: 5px !important;
    text-align: center !important;
    margin: 0 !important;
    font-size: 14px !important; /* Чуть меньше, чем в сайдбаре, для экономии места в шапке, но можно поставить 16px */
    font-weight: bold !important;
    line-height: 1.2 !important;
}

.ua-body {
    padding: 10px;
}

.ua-text {
    font-size: 13px; /* Чуть уменьшаем для узкой колонки, чтобы не было переносов слов */
    line-height: 1.4;
    color: #333;
    margin: 0 0 10px 0;
    text-align: left; /* Текст по левому краю, как в сайдбаре обычно */
}

.ua-phone-line {
    font-weight: bold;
    color: #333;
    font-size: 13px;
    margin: 0;
}

.ua-phone-link {
    color: #d9534f; /* Красный цвет телефона, как принято на госсайтах */
    text-decoration: none;
}

.ua-phone-link:hover {
    text-decoration: underline;
}

/* Если хотите, чтобы в шапке текст был центрирован (как в старом варианте), раскомментируйте ниже */
/* 
.unified-address-block .ua-text {
    text-align: center;
}


/* Адаптивность: убираем фиксированную ширину на мобильных */
@media screen and (max-width: 768px) {
    .rb-search-col {
        flex: 1 1 auto;
        width: 100%;
        order: 3; /* Ставим после календаря и слайдера */
    }
    
    .mini-contact-block {
        margin-top: 10px;
    }
}

.rb-search-input {
    width: 100%;
    padding: 8px 35px 8px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
    box-sizing: border-box;
}
.rb-search-input:focus {
    outline: none;
    border-color: #4c7e96;
}

.rb-search-btn {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #999;
}
.rb-search-btn:hover {
    color: #4c7e96;
}

.search-help-text {
    font-size: 10px;
    color: #999;
    margin-top: 5px;
    text-align: center;
}

.quick-links-box h4 {
    margin: 0 0 10px 0;
    font-size: 13px;
    color: #333;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
}

.quick-links-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.quick-links-box li {
    margin-bottom: 5px;
}

.quick-links-box a {
    color: #666;
    text-decoration: none;
    font-size: 12px;
    display: block;
    padding: 2px 0;
}
.quick-links-box a:hover {
    color: #4c7e96;
    padding-left: 5px; /* Эффект смещения при ховере */
    transition: all 0.2s ease;
}

/* Адаптивность для мобильных */
@media screen and (max-width: 768px) {
    .rb-grid-container {
        flex-direction: column;
    }
    
    .rb-calendar-col, 
    .rb-search-col {
        flex: 1 1 auto;
        width: 100%;
    }
    
    .rainbow-header-zone {
        padding: 10px 0;
    }
}