@import url("https://fonts.googleapis.com/css?family=Ubuntu:400,400italic,700&subset=latin,cyrillic-ext");
@import url("mobile.css?ver=1.2");

/* ------------------------------- general ------------------------------- */
html {
	overflow: auto; /* IE7 */
}
body {
	font-family: 'Ubuntu', sans-serif;
	font-size: 14px;
	line-height: 20px;
	background: url("images/bg.png") repeat #111;
	margin: 90px 0 40px 0;
}
ol, ul, li {
	margin: 0;
	padding: 0;
	list-style: none;
}
p {
	margin: 0 0 20px 0;
}
a img {
	border: none;
}
.clear {
	clear: both;
}
.hidden, .mystical {
	display: none;
}
#wrap {
	width: 990px;
	margin: auto;
}

/* ------------------------------- navigation ------------------------------- */
#nav {
	width: 100%;
	height: 50px;
	background: url("images/bg-black.png") repeat #000;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;

	-webkit-box-shadow: 1px 1px 5px 0 #111;
	box-shadow: 1px 1px 5px 0 #111;

}
#nav ul {
	width: 990px;
	margin: auto;
}
#nav li {
	width: 175px;
	float: left;
}
#nav a {
	height: 50px;
	line-height: 50px;
	color: #aaa;
	background-repeat: no-repeat;
	background-position: 12px 50%;
	border-right: 1px solid #111;
	padding-left: 50px;
	text-decoration: none;
	text-transform: uppercase;
	display: block;
}
#nav a:hover {
	color: #fff;
	background-color: #000;
}
#nav1 a { /* home button border */
	border-left: 1px solid #111;
}
#nav1 a { background-image: url("images/icons/home.png"); }
#nav2 a { background-image: url("images/icons/about.png"); }
#nav3 a { background-image: url("images/icons/events.png"); }
#nav4 a { background-image: url("images/icons/contacts.png"); }
#nav5 a { background-image: url("images/icons/lang-ru.png"); }
#nav6 a { background-image: url("images/icons/lang-bg.png"); }
#nav7 a { background-image: url("images/icons/lang-en.png"); }
#nav8 a { background-image: url("images/icons/register.png"); }

#nav5, #nav6, #nav7 {
	width: 50px !important;
	border-right: 1px solid #111;
	overflow: hidden !important;
}
#nav8 {
	width: 188px !important;
}

#nav ul ul { /* sub */
	width: 290px;
	background: url("images/bg-black.png") repeat #000;
	border-left: 1px solid #111;
	border-top: 1px solid #111;
	margin: 0 0 0 -1px; /* ! */
	position: absolute;
	-webkit-box-shadow: 1px 1px 5px 0 #000;
	box-shadow: 1px 1px 5px 0 #000;
	visibility: hidden; /* ! */
}
#nav ul ul li {
	width: 290px;
	float: none;
}
#nav ul ul a {
	height: auto;
	font-size: 12px;
	line-height: 18px;
	color: #aaa;
	background: none;
	border: none;
	padding: 6px 12px;
	text-decoration: none;
	text-transform: none;
	display: block;
}
#nav li:hover ul { /* fire */
	visibility: visible; /* ! */
}

/* ------------------------------- logo ------------------------------- */
a#logo {
	width: 594px;
	height: 67px;
	background: url("images/logo.png") no-repeat top left;
	margin: 0 auto 40px auto;
	display: block;
}
a#logo span {
	display: none;
}

#hall {
	height: 240px;
	background: url("images/royalcastlehall.jpg") no-repeat center center #fff;
	margin: 0 0 20px 0;
}

/* ------------------------------- fast navigation ------------------------------- */
#fastnav {
	background: url("images/bg-black.png") repeat #000;
	margin: 0 0 20px 0;
	min-height: 1px; /* IE7 */
}
#fastnav li {
	width: 330px;
	float: left;
}
#fastnav a {
	height: 50px;
	line-height: 50px;
	color: #aaa;
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	display: block;
}
#fastnav a:hover {
	color: #fff;
	background-color: #000;
}

#fastnav .bottom a { border-bottom: 1px solid #111; }
#fastnav .right a { border-right: 1px solid #111; }

/* ------------------------------- events list ------------------------------- */
#events {
	background: url("images/bg-black.png") repeat #000;
	margin: 0 0 20px 0;
	min-height: 1px; /* IE7 */
}
.box {
	width: 289px; /* 330 */
	border-right: 1px solid #111;
	border-bottom: 1px solid #111;
	padding: 20px;
	float: left;
}

.box .top {
	height: 138px; /* (2 lines <h2>) + (3 lines <p>) + (10px <p> bottom margin) + (20px space from buttons) */
}
.box h2 {
	font-size: 24px;
	line-height: 24px;
	font-weight: normal;
	margin: 0 0 10px 0;
}
.box h2 a {
	color: #00a6da;
	text-decoration: none;
}
.box h2 a:hover {
	color: #41D1FF;
}
.box p {
	color: #fff;
	margin: 0;
}

a.take, a.learn { /* buttons */
	width: 140px;
	height: 36px;
	line-height: 36px;
	background-image: url("images/buttons.png");
	background-repeat: no-repeat;
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	display: block;
}
a.take {
	color: #9b3d00;
	text-shadow: 1px 1px 0px #ffb74d;
	background-position: top left;
	float: left;
}
a:hover.take {
	background-position: bottom left;
}
a.learn {
	color: #333;
	text-shadow: 1px 1px 0px #b7b7b7;
	background-position: top right;
	float: right;
}
a:hover.learn {
	background-position: bottom right;
}

/* ------------------------------- network ------------------------------- */
#network {
	margin: 0 0 30px 0;
	min-height: 1px; /* IE7 */
}
#network li {
	width: 330px;
	float: left;
}
#network a {
	height: 42px;
	background-image: url("images/network.png");
	background-repeat: no-repeat;
	display: block;
}
#network a span {
	display: none;
}
#net1 a { background-position: top left; }
#net1 a:hover { background-position: bottom left; }
#net2 a { background-position: top center; }
#net2 a:hover { background-position: bottom center; }
#net3 a { background-position: top right; }
#net3 a:hover { background-position: bottom right; }

/* ------------------------------- sections ------------------------------- */
.section {
	background-color: #fff;
	margin: 0 0 20px 0;
}
.section h1, .section h2, .section h3, .section h4, .section h5, .section h6 {
	font-size: 18px;
	font-weight: normal;
	height: 50px;
	line-height: 50px;
	color: #005975;
	background-color: #c2f0ff;
	border-top: 5px solid #007194;
	margin: 0;
	padding: 0 0 0 20px;
	text-transform: uppercase;
}
.content {
	color: #111;
	padding: 20px;
	min-height: 1px; /* IE7 */
}
.content a {
	color: #005975;
	text-decoration: underline;
}
.content a:hover {
	color: #923A00;
	text-decoration: none;
}

.list, .list2 {
	margin: 0 0 20px 0;
}
.list li, .list2 li {
	list-style: disc outside;
	margin: 0 0 0 1em;
}

.small {
	font-size: 12px;
	line-height: 18px;
	color: #666;
}
.large {
	font-size: 18px;
	line-height: 27px;
}

/* ------------------------------- partners ------------------------------- */
#partners {
	font-size: 12px;
	line-height: 18px;
	-webkit-columns: 2;
	-moz-columns: 2;
	columns: 2;
}
#partners li {
	list-style: disc outside;
	margin: 0 0 5px 1em;
}

.partners_logo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.partners_logo img {
	margin: 0 10px 20px 10px;
}

.organizers img {
	margin: 0 20px 10px 0;
}

/* ------------------------------- footer ------------------------------- */
#footer {
	font-size: 12px;
	line-height: 18px;
	color: #aaa;
}
#footer a {
	color: #444;
	text-decoration: none;
}
#footer a:hover {
	text-decoration: underline;
}

/* ------------------------------- terms of use ------------------------------- */
#termsofuse li {
	list-style: disc outside;
	margin: 0 0 0.5em 1em;
}

/* ------------------------------- tables ------------------------------- */
.table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #aaa;
	border-left: 1px solid #aaa;
	margin: 0 0 20px 0;
}
.table th {
	font-weight: normal;
	text-align: left;
	background: url("images/silver.png") repeat-x bottom left;
}
.table th, .table td {
	border-bottom: 1px solid #aaa;
	border-right: 1px solid #aaa;
	padding: 6px;
}
.table tr:hover td {
	background-color: #eee;
}

/* ------------------------------- venue ------------------------------- */
.photos189 {
	min-height: 1px; /* IE7 */
	margin: 0 0 20px 0;
}
.photos189 li {
	width: 189px;
	height: 189px;
	margin: 0 0 1px 1px;
	float: left;
}
.photos189 a {
	width: 189px;
	height: 189px;
	display: block;
	position: relative;
}
.photos189 a div {
	width: 189px;
	height: 189px;
	top: 0;
	left: 0;
	position: absolute;

	background: url("images/icons/zoom.png") no-repeat 50% -100%;
	cursor: pointer; /* IE7 */
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;

}
.photos189 a:hover div {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-khtml-opacity: 0.7;
	opacity: 0.7;
	background-color: #000;
	background-position: 50% 50%;
}

.map {
	border: 0;
	margin: 0 0 20px 0;
}
.flags {
	margin: 0 0 20px 20px;
	float: right;
}
.graybox {
	background-color: #eee;
	border: 1px solid #ddd;
	margin: 20px 0 0 0;
	padding: 10px;
	text-align: center;
}
.castle {
	margin: 0 0 20px 0;
}
.castle_left {
	width: 361px;
	float: left;
}
.castle_right {
	width: 569px;
	float: right;
}

/* ------------------------------- forms ------------------------------- */
form {
	margin: 0 0 20px 0;
}
input, select, textarea {
	font-family: 'Ubuntu', sans-serif;
	font-size: 14px;
	margin: 0;
}
textarea {
	overflow: auto;
	resize: vertical;
}
.field, .checkbox {
	margin-bottom: 5px;
}
.checkbox {
	margin-left: 200px;
}
.field label {
	width: 190px;
	padding-right: 10px;
	float: left;
	text-align: right;
}
.field span {
	color: #999;
	font-size: 12px;
	line-height: 18px;
}
.submit {
	margin-left: 200px;
	clear: both;
}
.submit input {
	padding: 6px;
	cursor: pointer;
}
.field input, .field select, .field textarea {
	border-top: 1px solid #aaa;
	border-left: 1px solid #aaa;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 5px;
}
.field input, .field textarea {
	width: 350px;
}
.field select {
	width: 362px;
}
.field textarea {
	height: 150px;
}
.label {
	font-size: 18px;
	line-height: 27px;
	background: url("images/dot.png") repeat-x center left;
	margin: 0 0 20px 0;
	padding-left: 50px;
}
.label span {
	background-color: #fff;
	padding: 0 10px;
}

label.error { /* validation */
	visibility: hidden;
	position: absolute;
}
input.error, textarea.error, select.error {
	border-color: #9B0001 !important;
	background-color: #FFE9E9 !important;
}

/* ------------------------------- contacts ------------------------------- */
#contacts-left {
	width: 582px; /* 562 + 20 */
	float: left;
}
#contacts-right {
	width: 368px;
	float: left;
}
#contacts-right span {
	text-transform: uppercase;
}

#social li {
	margin-right: 5px;
	float: left;
}
#social a {
	width: 60px;
	height: 60px;
	background-image: url("images/icons/social.png");
	background-repeat: no-repeat;
	display: block;
	-webkit-transition: background 0.3s;
	-moz-transition: background 0.3s;
	-ms-transition: background 0.3s;
	-o-transition: background 0.3s;
	transition: background 0.3s;
}
#social a span {
	display: none;
}

#icon-fb a { background-position: 0 0; }
#icon-li a { background-position: -60px 0; }
#icon-fr a { background-position: -120px 0; }
#icon-yt a { background-position: -180px 0; }
#icon-skype a { background-position: -240px 0; }
#icon-fb a:hover { background-position: 0 -60px; }
#icon-li a:hover { background-position: -60px -60px; }
#icon-fr a:hover { background-position: -120px -60px; }
#icon-yt a:hover { background-position: -180px -60px; }
#icon-skype a:hover { background-position: -240px -60px; }

#contacts { margin: 0; }
#loading { display: none; }

/* ------------------------------- messages ------------------------------- */
.successmsg, .errormsg {
	border-width: 1px;
	border-style: solid;
	background-repeat: no-repeat;
	background-position: 12px 50%;
	margin: 0 0 20px 0;
	padding: 10px 10px 10px 40px;
}
.successmsg {
	border-color: #027D00;
	background-color: #E5FBE5;
	background-image: url("images/icons/tick-button.png");
}
.errormsg {
	border-color: #9B0001;
	background-color: #FFE9E9;
	background-image: url("images/icons/cross-button.png");
}

/* ------------------------------- event ------------------------------- */
.fifty {
	width: 50%;
	float: left;
}
.hr {
	height: 1px;
	background-color: #ccc;
	margin: 20px 0;
}

.topics {
	width: 455px;
	padding-right: 20px;
	float: left;
}

.indexing {
	text-align: center;
}
.indexing a {
	margin-right: 10px;
}

.editorial-board {
	font-size: 12px;
	line-height: 18px;
	color: #666;
	border-top: 1px solid #ccc;
	margin: 20px 0 0 0;
	padding: 20px 0 0 0;
}
.editorial-board span {
	font-size: 14px;
	line-height: 20px;
	color: #111;
}

/* ------------------------------- highlights (upgraded) ------------------------------- */
.highlights-list {
	-webkit-column-count: 2; /* Chrome, Safari, Opera */
	-moz-column-count: 2; /* Firefox */
	column-count: 2;
	-webkit-column-gap: 20px; /* Chrome, Safari, Opera */
	-moz-column-gap: 20px; /* Firefox */
	column-gap: 20px;
}
.highlights-item {
	margin: 0 0 20px 0;
	display: inline-block;
}
.highlights-item span {
	font-size: 12px;
	line-height: 18px;
	color: #666;
}
.highlights-item a {
	font-size: 12px;
	line-height: 18px;
	color: #111;
	border: 1px solid #ccc;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	margin: 5px 0 0 0;
	padding: 5px 10px;
	text-transform: uppercase;
	text-decoration: none;
	display: inline-block;
}
.highlights-item a:hover {
	color: #111;
	background-color: #eee;
}

