﻿/*
 *
 * FLEDA
 * Author: Martin Winkler
 * url: http://www.martinwinkler.cz/
 *
 */

/************************************************************************************
RESET
*************************************************************************************/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, footer, header, hgroup, menu, nav, section, menu,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

ol, ul { list-style: none; }

blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }

:focus { outline: 0; }

table { border-collapse: collapse; border-spacing: 0; }

article, aside, figure, footer, header, hgroup, nav, section, img { display: block; }

input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; *vertical-align: baseline; }

label, input[type=button], input[type=submit], button { cursor: pointer; overflow: visible; }

em, i { font-weight: inherit; }

/************************************************************************************
GENERAL
*************************************************************************************/

html { height: 100%; }

body {
	font-family: 'Proxima Nova',sans-serif;
	font-size: 15px;
	line-height: 1.5em;
	color: #000;
	background: #e0e0e0;
	margin: 0;
	padding: 0;
	min-height: 100%;
}

/* Box sizing */

*, *:after, *:before { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }

/* Anchors */

a { color: #000; text-decoration: underline; }
a:hover { text-decoration: none; }

/* Heading */

h1, .h1 { font: 700 30px/1.3em 'Proxima Nova',sans-serif; color: #000; margin: 0 0 20px 0; text-transform: uppercase; }
h2, .h2 { font: 700 25px/1.3em 'Proxima Nova',sans-serif; color: #000; margin: 0 0 20px 0; text-transform: uppercase; }
h3, .h3 { font: 600 20px/1.3em 'Proxima Nova',sans-serif; color: #000; margin: 0 0 10px 0; }
h4, .h4 { font: 600 20px/1.3em 'Proxima Nova',sans-serif; color: #000; margin: 0 0 10px 0; }
h5, .h5 { font: 600 17px/1.3em 'Proxima Nova',sans-serif; color: #000; margin: 0 0 10px 0; }
h6, .h6 { font: 600 14px/1.3em 'Proxima Nova',sans-serif; color: #000; margin: 0 0 10px 0; }

/* Paragraphs */

p { margin: 0 0 20px 0; }
address { font-style: normal; }
cite { font-style: normal; }

/* Lists */

ul, ol { list-style: none; margin: 0 0 20px 0; }
ul li { padding: 0 0 0 20px; background: none; margin: 0 0 5px 0; }
ul.unstyled li { padding: 0; background: none; }

ol { counter-reset: counter; margin-left: 0; *margin-left: 54px; }
ol li { margin: 0 0 10px 0; padding: 0 0 0 20px; *list-style-type: decimal; counter-increment: counter; position: relative; }
ol li:before { color: #2285c8; content: counter(counter)'. '; position: absolute; left: 0; top: 0; }

dl { margin: 0 0 20px 0; }
dt { font-weight: bold; }

/* Forms */

form { display: block; }
fieldset { border: none; }
label { font-weight: bold; }
input, select, button { vertical-align: top; }

/* Various */

sup,sub { height: 0; line-height: 1; vertical-align: baseline; _vertical-align: bottom; position: relative; }
sup { bottom: 1ex; }
sub { top: .5ex; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

p.small { font-size: 70%; }
p.big { font-size: 130%; }

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

.bold { font-weight: bold; }
.nowrap, .nobr { white-space: nowrap !important; }

/* Alignment */

.v-top { vertical-align: top; }
.v-middle { vertical-align: middle; }
.v-bottom { vertical-align: bottom; }

.l { float: left; }
.r { float: right; }
.a-l { text-align: left; }
.a-r { text-align: right; }
.a-c { text-align: center; }

/************************************************************************************
HEADER
*************************************************************************************/

.header { background: #fff; position: fixed; left: 0; top: 0; width: 100%; box-shadow: 0 0 3px 0 rgba(0,0,0,0.15); z-index: 200; }
.header-r { display: flex; align-items: center; }
.header, .header * { -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.header .logo { display: block; margin-right: 30px; text-decoration: none; }
.header .inner { display: flex; justify-content: space-between; align-items: center; }
.header .socials { margin-bottom: 0; }
.header .h_1 { margin-bottom: 0; padding: 0; background: #000; max-height: 0; overflow: hidden; }
.header .h_1.active { padding: 10px 0; max-height: 64px; }
.header .h_2 { padding: 25px 0 25px 0; }

.header.fixed .h_2 { padding: 10px 0; }

/* Main navigation */

.main-nav { margin: 0; display: inline-block; vertical-align: top; position: relative; }
.main-nav ul { margin: 0 0 0 -20px; }
.main-nav ul li { margin: 0; padding: 0 0 0 20px; background: none; display: inline-block; vertical-align: top; }
.main-nav ul li a { font-size: 17px; font-weight: 600; text-decoration: none; display: block; padding: 5px 0; }
.main-nav ul li a:hover { color: #ec292b; }
.main-nav ul li.active a { color: #ec292b; cursor: default; }

/* Socials */

.socials { margin-bottom: 30px; }
.socials ul { margin: 0; display: flex; align-items: center; }
.socials ul li { padding: 0 5px 0 0; background: none; }
.socials ul li:last-child { padding-right: 0; }
.socials ul li a { width: 33px; height: 33px; line-height: 33px; display: block; color: #fff; text-align: center; border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; }
.socials ul li a .icon { width: 30px; height: 30px; vertical-align: middle; }
.socials ul li.fb .icon { width: 20px; height: 20px;	 }
.socials ul li.fb a { background: #3a5897; }
.socials ul li.fb a:hover { background: #20396d; }
.socials ul li.tw a { background: #00bdf3; }
.socials ul li.tw a:hover { background: #0097c2; }
.socials ul li.in a { background: -webkit-radial-gradient(50px 220px, #ffda75 18%,#ff3a49 43%,#ff3a49 50%,#e518a1 70%,#6634e1 100%); background: radial-gradient(circle at 33% 100%, #fed373 4%, #f15245 30%, #d92e7f 62%, #9b36b7 85%, #515ecf); }
.socials ul li.in a .icon { width: 23px; height: 23px; top: -1px; }
.socials ul li.spot .icon { width: 22px; height: 22px; }
.socials ul li.spot a { background: #94cb4f; }
.socials ul li.spot a:hover { background: #82b741; }
.socials ul li.sc .icon { width: 28px; height: 28px; }
.socials ul li.sc a { background: #ff6a22; }
.socials ul li.sc a:hover { background: #dd5310; }
.socials ul li.app a { background: #000 url('../img/fleda-app.png') center center no-repeat; }
.socials ul li.app a:hover { background-color: #323030; }

.header .socials { margin-left: 10px; }
.header .socials ul li { margin: 2px 0; }

/* Support */

.support .item { margin-bottom: 20px; }
.support .item .img { margin-bottom: 10px; }
.support .item .text { font-style: italic; color: #999; }

/* User */

.user { line-height: 20px; margin-left: 15px; position: relative; display: flex; align-items: center; }
.user a { display: flex; align-items: center; height: 100%; }
.user .icon { margin-left: 5px; width: 19px; height: 19px; position: relative; }

.user-login { position: absolute; right: 0; top: 63px; width: 250px; background: #fff; z-index: 20; display: none; box-shadow: 0 4px 4px 0 rgba(0,0,0,0.15); }
.user-login a { color: #ec292b; }
.user-login form.std .cell { margin-bottom: 10px; }
.user-login .box-content { padding: 15px; }
.user-login .btn { font-size: 13px; width: 100%;color: #fff; }

.social-btn { padding-bottom: 20px; }
.social-btn .btn { font-size: 12px; margin-bottom: 5px; text-align: left; padding-left: 50px; border: none; }
.social-btn .btn:last-child { margin-bottom: 0; }
.social-btn .btn .icon { position: absolute; left: 0; top: 12px; }
.social-btn .btn:before { content: ''; position: absolute; left: 0; top: 0; width: 36px; height: 100%;  }
.social-btn .btn.fb { background: #2a4784; }
.social-btn .btn.fb:hover { background: #20396d; }
.social-btn .btn.fb:before { background: #3a5897; }
.social-btn .btn.tw { background: #00b0e2; }
.social-btn .btn.tw:hover { background: #0097c2; }
.social-btn .btn.tw:before { background: #00bdf3; }

.or-register { border-top: 1px solid #bbb; padding: 16px 15px 0 15px; margin: 0 -15px; position: relative; }
.or-register .head { text-align: center; font-size: 13px; line-height: 10px; position: absolute; left: 50%; top: -5px; margin-left: -23px; height: 10px; width: 46px; background: #fff; }

/* Searching */

.searching { width: 30px; height: 30px; margin-left: 10px; }
.searching .search-trig { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; }

.search-results .item { border-bottom: 1px solid #bbb; padding-bottom: 5px; margin-bottom: 20px; }
.search-results .item .tag { margin-bottom: 10px; color: #999; }
.search-results .item .hl { background: #000; color: #fff; padding-left: 5px; padding-right: 5px; }
.search-results .cats ul { display: flex; flex-wrap: nowrap; }
.search-results .cats ul li { padding-left: 0; padding-right: 40px; }
.search-results .cats ul li:last-child { padding-right: 0; }

/* Breadcrumbs */

.breadcrumbs { line-height: 16px; padding-left: 20px; margin-bottom: 15px; }
.breadcrumbs a { text-decoration: underline; }
.breadcrumbs a:hover { text-decoration: none; }

/* Mobile nav */

.nav-btn { padding: 10px 0; display: none; vertical-align: top; margin-left: 20px; }
.nav-btn span { width: 30px; height: 5px; border-bottom: 13px double #000; border-top: 4px solid #000; content:""; display: block; text-decoration: none; box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; }

.mobile-nav { background: #000; height: 100%; position: fixed; right: 0; top: 0; z-index: 2000; overflow-y: scroll; width: 100%; max-width: 320px; padding: 50px 20px 0 20px; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-transform: translate(100%,0); -moz-transform: translate(100%,0); -ms-transform: translate(100%,0); -o-transform: translate(100%,0); transform: translate(100%,0); }
.mobile-nav.active { -webkit-transform: translate(0,0); -moz-transform: translate(0,0); -ms-transform: translate(0,0); -o-transform: translate(0,0); transform: translate(0,0); }
.mobile-nav .close { font-size: 35px; font-weight: 600; width: 15px; height: 15px; position: absolute; right: 15px; top: 15px; color: #fff; text-decoration: none; }
.mobile-nav .close .icon { width: 15px; height: 15px; }
.mobile-nav .close:hover { color: #fff; }
.mobile-nav ul { margin: 0; padding: 0; border-bottom: 1px solid rgba(255,255,255,0.2); }
.mobile-nav ul li { font-size: 18px; color: #fff; margin: 0; padding: 0; background: none; border: none; border-top: 1px solid rgba(255,255,255,0.2); }
.mobile-nav ul li.active a { background: rgba(0,0,0,0.2); }
.mobile-nav ul li.last { border: none; }
.mobile-nav ul li a { font-size: 15px; font-weight: 400; display: block; width: 100%; padding: 15px 0; color: #fff; border: none; position: relative; text-decoration: none; }
.mobile-nav ul li a.mobile-login { padding-left: 30px; position: relative; }
.mobile-nav ul li a.mobile-login .icon { position: absolute; left: 0; top: 17px; }
.mobile-nav ul li span.more { position: absolute; right: 0; top: 0; width: 47px; height: 100%; background: #f6f6f6 url('../img/sprite.png') -116px -35px no-repeat; }

.mobile-nav ul ul { display: none; border-top: none; border-bottom: none; }
.mobile-nav ul ul.active { display: block; }
.mobile-nav ul ul li a { background: #f6f6f6; padding-left: 50px; }

.mobile-nav ul ul ul li a { padding-left: 70px; }

.mobile-nav-overlay { position: fixed; left: 0; top: 0; z-index: 100; width: 100%; height: 100%; background: rgba(0,0,0,0.9); display: none; }

/************************************************************************************
CONTENT
*************************************************************************************/

.content { padding: 87px 0 0 0; }

/* Block */

.block { padding: 50px 0; }
.block.narrow { padding: 30px 0; }

.block.alt { background: #000; color: #fff; }
.block.alt a { color: #fff; }

.block.alt-2 { background: #999; color: #fff; }
.block.alt-2 a { color: #fff; }

.block.alpha { padding-top: 0; }
.block.omega { padding-bottom: 0; }

/* Section head */

.section-head { text-align: center; margin: 0 auto 30px auto; }
.section-head h2 { margin: 0; }
.section-head h3 { margin: 0; }

.intro { text-align: center; max-width: 800px; margin: 0 auto 30px auto; }

/* Teaser */

.teaser { width: 100%; margin-bottom: 60px; }
.teaser-content { width: 100%; height: 555px; background-size: cover !important; color: #fff; position: relative; }
.teaser-content h1 { font-size: 50px; color: #fff; margin-bottom: 10px; text-shadow: #000 0 0 5px; }
.teaser-content .subhead { font-size: 30px; text-shadow: #000 0 0 5px; margin-bottom: 0; }
.teaser-content .va-m { position: absolute; left: 0; top: 50%; width: 100%; height: auto; text-align: center; display: block; padding: 0 80px;
	-webkit-transform: translate(0,-50%);
	-moz-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	-o-transform: translate(0,-50%);
	transform: translate(0,-50%);
}

/* Events */

.events { margin: 0; }
.events .item-list { margin: 0 0 0 -20px; }
.events .item { width: 25%; margin: 0; padding-left: 20px; }
.events .item-inner { position: relative; text-decoration: none; }
.events .item-inner h3 { font-size: 16px; line-height: 1.3em; font-weight: 700; text-transform: uppercase; padding-bottom: 10px; border-bottom: 4px solid #000; }
.events .item .img { position: relative; display: block; margin-bottom: 15px; }
.events .item .date { margin-bottom: 5px; }

.events .item-inner:hover h3 { color: #ec292b; border-color: #ec292b; }
.events .item-inner:hover .date { color: #ec292b; }
.events .item-inner:hover .img:before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; background: rgba(236,41,43,0.8); }
.events .item-inner:hover .img:after { content: '+'; font-size: 30px; width: 50px; height: 50px; line-height: 50px; text-align: center; border: 1px solid #fff; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; color: #fff; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

/* News */

.news { margin: 0; }
.news .item-list { margin: 0 0 0 -20px; }
.news .item { width: 25%; margin: 0; padding-left: 20px; }
.news .item-inner { position: relative; text-decoration: none; }
.news .item-inner h3 { font-size: 16px; line-height: 1.3em; font-weight: 700; text-transform: uppercase; margin: 0; color: #fff; }
.news .item .head { background: #000; padding: 10px 15px; margin-bottom: 10px; }
.news .item .img { position: relative; display: block; margin-bottom: 0; }
.news .item .img .frame { position: relative; display: block; }
.news .item .date { margin-bottom: 5px; color: #fff; }

.news .item .img:hover .frame:before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; background: rgba(236,41,43,0.8); }
.news .item .img:hover .frame:after { content: '+'; font-size: 30px; width: 50px; height: 50px; line-height: 50px; text-align: center; border: 1px solid #fff; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; color: #fff; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); -moz-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); -o-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

/* News archive */

.news-archive { margin: 0; }
.news-archive .item-list { margin: 0; }
.news-archive .item { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #bbb; }
.news-archive .item .img { float: left; display: block; max-width: 260px; }
.news-archive .item .text { padding-left: 285px; }
.news-archive .item .text .date { margin-bottom: 5px; }
.news-archive .item .text h2 { margin-bottom: 10px; }

.news-archive .item-hl .img { max-width: 360px; }
.news-archive .item-hl .text { padding-left: 385px; }

/* Contest */

.contest-archive { margin: 0; }
.contest-archive .item-list { margin: 0; }
.contest-archive .item { margin: 0 0 10px 0; width: 100%; }
.contest-archive .item .img { width: 110px; float: left; }
.contest-archive .item .text { padding-left: 130px; }
.contest-archive .item .text .date { margin-bottom: 5px; }
.contest-archive .item .text h2 { font-size: 18px; line-height: 1.3em; margin-bottom: 5px; }
.contest-archive .item-head { position: relative; padding-right: 80px; }
.contest-archive .item-head .trigger { position: absolute; right: 0; top: 0; display: block; width: 40px; height: 100%; background: #ccc; }
.contest-archive .item-head .trigger:after { content: ''; position: absolute; left: 50%; top: 50%; margin-left: -5px; margin-top: -5px; width: 0; height: 0; border-style: solid; border-width: 10px 5px 0 5px; border-color: #ffffff transparent transparent transparent; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.contest-archive .item-head .trigger:hover { background: #ec292b; }
.contest-archive .item-content { border-bottom: 4px solid #000; padding: 20px 0; display: none; }
.contest-archive .item-content .head { font-weight: 600; margin-bottom: 5px; }

.contest-archive .item.active .item-head .trigger { background: #ec292b; }
.contest-archive .item.active .item-head .trigger:after { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); }
.contest-archive .item.active .item-content { display: block; }

/* Program */

.program-archive { margin: 0; }
.program-archive .item-list { margin: 0; }
.program-archive .item { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid #bbb; }
.program-archive .item .img { float: left; display: block; }
.program-archive .item .img .inner { margin-right: 410px; }
.program-archive .item .text { width: 385px; margin-left: -385px; float: right; }
.program-archive .item .text h2 { font-size: 26px; line-height: 1.3em; text-transform: none; margin-bottom: 0; }
.program-archive .item .text h2 a { text-decoration: none; }
.program-archive .item .text h2 a:hover { text-decoration: underline; }
.program-archive .item .text .subhead { font-size: 20px; padding-top: 5px; }
.program-archive .item .text .subhead a { text-decoration: none; color: #ec292b; }
.program-archive .item .text .subhead a:hover { text-decoration: underline; }
.program-archive .item .text .info { margin: 0 0 10px 0; }
.program-archive .item .text .info .date { font-size: 49px; line-height: 15px; width: 1.95em; /*height: 1.95em;*/ padding: 12px 0 0 0; background: #ec292b; color: #fff; float: left; text-align: center; }
.program-archive .item .text .info .date .day { font-size: 0.25em; line-height: 1em; font-weight: 600; display: inline-block; vertical-align: top; width: 100%; }
.program-archive .item .text .info .date .month { font-size: 0.3em; line-height: 1em; margin-bottom: 0; font-weight: 300; display: inline-block; vertical-align: top; width: 100%; }
.program-archive .item .text .info .date .year { border-top: 1px solid rgba(255,255,255,0.5); font-size: 0.25em; line-height: 1em; font-weight: 600; display: inline-block; vertical-align: top; width: 100%; padding: 5px 0; }
.program-archive .item .text .info .date .num { font-size: 1em; line-height: 1em; font-weight: 600; display: inline-block; vertical-align: top; width: 100%; }
.program-archive .item .text .info .list { font-weight: 300; margin: 0; padding-left: 110px; }
.program-archive .item .text .info .list ul { margin: 0; border-top: 1px solid #bbb; }
.program-archive .item .text .info .list ul li { border-bottom: 1px solid #bbb; padding: 4px 0; margin: 0; }
.program-archive .item .text .btn { font-size: 15px; }
.program-archive .pager { text-align: center; padding-top: 20px; }

/* Program detail */

.program-detail { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 4px solid #000; }
.program-detail .heading { font-size: 17px; line-height: 1.3em; position: relative; }
.program-detail .heading h1 { font-size: 26px; line-height: 1.3em; text-transform: none; margin-bottom: 5px; }
.program-detail .heading a { text-decoration: none; color: #ec292b; }
.program-detail .heading a:hover { text-decoration: underline; }
.program-detail .heading .btn { position: absolute; right: 0; top: 0; color: #fff; padding: 8px 20px 6px 20px; text-transform: none; }
.program-detail .heading .btn:hover { text-decoration: none; }
.program-detail .img { float: left; display: block; }
.program-detail .img .inner { margin-right: 410px; }
.program-detail .text { width: 385px; margin-left: -385px; float: right; }
.program-detail .text .subhead { font-size: 20px; padding-top: 5px; }
.program-detail .text .subhead a { text-decoration: none; color: #ec292b; }
.program-detail .text .subhead a:hover { text-decoration: underline; }
.program-detail .text .info { margin: 0 0 20px 0; }
.program-detail .text .info .date { font-size: 49px; line-height: 15px; width: 1.95em; /*height: 1.95em;*/ padding: 12px 0 0 0; background: #ec292b; color: #fff; float: left; text-align: center; }
.program-detail .text .info .date .day { font-size: 0.25em; line-height: 1em; font-weight: 600; display: inline-block; vertical-align: top; width: 100%; }
.program-detail .text .info .date .month { font-size: 0.3em; line-height: 1em; margin-bottom: 0; font-weight: 300; display: inline-block; vertical-align: top; width: 100%; }
.program-detail .text .info .date .year { border-top: 1px solid rgba(255,255,255,0.5); font-size: 0.25em; line-height: 1em; font-weight: 600; display: inline-block; vertical-align: top; width: 100%; padding: 5px 0; }
.program-detail .text .info .date .num { font-size: 1em; line-height: 1em; font-weight: 600; display: inline-block; vertical-align: top; width: 100%; }
.program-detail .text .info .list { font-weight: 300; margin: 0; padding-left: 110px; }
.program-detail .text .info .list ul { margin: 0; border-top: 1px solid #bbb; }
.program-detail .text .info .list ul li { border-bottom: 1px solid #bbb; padding: 4px 0; margin: 0; }
.program-detail .text .actions { max-width: 200px; }
.program-detail .text .actions .item-list { margin-left: -5px; }
.program-detail .text .actions .item { padding-left: 5px; width: 50%; }
.program-detail .text .actions .item.full { width: 100%; }
.program-detail .text .actions .btn { font-size: 15px; margin-bottom: 5px; width: 100%; }

.smsticket-iframe { width: 100%; max-width: 920px; }

/* Program nav */

.program-nav { margin: 0 0 30px 0; }
.program-nav ul { margin: 0; }
.program-nav ul li { font-size: 21px; font-weight: 600; text-transform: uppercase; padding-left: 20px; margin-left: 20px; position: relative; }
.program-nav ul li:before { content: '|'; position: absolute; left: 0; top: 0; }
.program-nav ul li:first-child { padding-left: 0; margin-left: 0; }
.program-nav ul li:first-child:before { content: none; }
.program-nav ul li a { text-decoration: none; position: relative; }
.program-nav ul li a:hover { color: #ec292b; }
.program-nav ul li.active a { color: #000; cursor: default; }
.program-nav ul li.active a:before { content: ''; display: block; position: absolute; left: 0; bottom: -5px; width: 100%; height: 3px; background: #000; }

.program-nav.divider { padding-bottom: 20px; margin-bottom: 30px; border-bottom: 1px solid #bbb; }

/* Calendar */

.calendar { margin: 0; }
.calendar .labels .item-list { margin-left: -2px; }
.calendar .labels .item { width: 14.2857142%; padding-left: 2px; }
.calendar .labels .item-inner { font-size: 15px; font-weight: 600; text-align: center; padding: 5px 10px; text-transform: uppercase; }
.calendar .labels .item-inner .short { display: none; }

.calendar .days .item-list { margin-left: -2px; }
.calendar .days .item { width: 14.2857142%; padding-left: 2px; padding-bottom: 2px; }
.calendar .days .item .head { background: #000; color: #fff; display: block; height: 23px; padding: 1px 10px; }
.calendar .days .item .detail { min-height: 140px; }
.calendar .days .item.offset .head { background: #ccc; }
.calendar .days .item.offset .item-inner { background: #f2f2f2; }
.calendar .days .item .detail { position: relative; }
.calendar .days .item .detail a { position: relative; display: block; }
.calendar .days .item .detail a:after { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(236,41,43,0); -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.calendar .days .item .detail a:hover:after { background: rgba(236,41,43,0.8); }
.calendar .days .item .detail a .head { font-size: 13px; line-height: 1.3em; font-weight: 600; text-transform: uppercase; height: auto; display: block; position: absolute; left: 0; bottom: 0; z-index: 10; text-align: center; width: 100%; padding-bottom: 20px; max-height: 53px; overflow: hidden; text-overflow: ellipsis; color: #fff; background: none; }

.calendar .days .item.double .detail { max-height: 140px; }
.calendar .days .item.double .detail a { height: 50%; overflow: hidden; }

/* Cal switch */

.calendar-switch { max-width: 280px; margin: 0 auto 30px auto; }
.calendar-switch .title { font-size: 21px; font-weight: 600; text-align: center; }
.calendar-switch a { width: 19px; height: 19px; background: #000; display: inline-block; position: relative; }
.calendar-switch a:hover { background: #ec292b; }
.calendar-switch a.prev { float: left; }
.calendar-switch a.next { float: right; }
.calendar-switch a.prev:after { content: ''; position: absolute; left: 50%; top: 50%; margin-left: -3px; margin-top: -3px; width: 0; height: 0; border-style: solid; border-width: 3.5px 5px 3.5px 0; border-color: transparent #fff transparent transparent; }
.calendar-switch a.next:after { content: ''; position: absolute; left: 50%; top: 50%; margin-left: -3px; margin-top: -3px; width: 0; height: 0; border-style: solid; border-width: 3.5px 0 3.5px 5px; border-color: transparent transparent transparent #fff; }

/* Photogallery */

.photogallery { margin: 0; }
.photogallery .item-list { margin: 0 0 0 -30px; }
.photogallery .item { width: 25%; padding-left: 30px; margin-bottom: 40px; }
.photogallery .item .img { margin-bottom: 10px; display: block; position: relative; text-decoration: none; }
.photogallery .item .img:hover:before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; background: rgba(236,41,43,0.8); }
.photogallery .item .img .head { position: absolute; left: 0; bottom: 0; background: rgba(0,0,0,0.5); padding: 10px; width: 100%; display: block; }
.photogallery .item .img .head .date { color: rgba(255,255,255,0.7); margin: 0; }
.photogallery .item .img .head h2 { font-size: 16px; line-height: 1.3em; color: #fff; margin: 0; }
.photogallery .item .text { border-bottom: 4px solid #000; padding: 0 0 10px 0; }

/* Gallery detail */

.gallery-detail { margin: 0; }
.gallery-detail .head { margin-bottom: 20px; }
.gallery-detail .head h1 { font-size: 26px; line-height: 1.3em; margin-bottom: 10px; text-transform: none; }
.gallery-detail .head .date { color: rgba(0,0,0,0.5); }

.gallery-main { margin-bottom: 20px; }

.gallery-switch .item-list { margin-left: -18px; }
.gallery-switch .item { padding-left: 18px; margin-bottom: 16px; width: 16.66666%; }
.gallery-switch .item a { display: block; background: #000; }
.gallery-switch .item a img { opacity: 0.5; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.gallery-switch .item a:hover img,
.gallery-switch .item a.current img { opacity: 1; }

/* Box */

.box { background: #fff; padding: 30px 20px; margin-bottom: 30px; }
.box h2 { font-size: 21px; line-height: 1.3em; }

/* Sidebar */

.sidebox { margin-bottom: 30px; }
.sidebox:last-child { margin-bottom: 0; }
.sidebox h2 { font-size: 21px; line-height: 1.3em; }
.sidebox h2 .hl { color: #ec292b; }

.sidebox .events .item { width: 100%; }
.sidebox .events .item-inner h3 { border: none; padding-bottom: 0; }

.sidebox .tags { margin: 0; }
.sidebox .tags ul { margin-bottom: 0; margin-left: -5px; }
.sidebox .tags ul li { padding-left: 5px; }
.sidebox .tags ul li a { font-size: 15px; line-height: 1.3em; font-weight: 300; display: block; padding: 4px 8px; background: #585858; color: #fff; border-left: 5px solid #8d8c8c; text-decoration: none; }
.sidebox .tags ul li a:hover { background: #ec292b; border-left: 5px solid #ec292b; }

.sidebox .promo .item { margin-bottom: 20px; }
.sidebox .promo .item:last-child { margin-bottom: 0; }

/* Gmap */

.gmap { width: 100%; height: 350px; margin-bottom: 30px; }
.gmap img { max-width: inherit; }

.popup-contact { font-size: 15px; background: #fff; color: #000; width: 190px; height: 80px; padding: 10px; }
.popup-contact ul { margin: 0; }
.popup-contact ul li { padding: 0; background: none; }

/* Pager */

.pager { margin: 30px 0; text-align: center; position: relative; }
.pager li { display: inline-block; vertical-align: top; padding: 0; background: none; }
.pager li a { display: block; width: 36px; height: 36px; line-height: 36px; background: #e3e3e3; text-align: center; text-decoration: none; }
.pager li a:hover { background: #000; color: #fff; }
.pager li a.active { background: #000; color: #fff; text-decoration: none; cursor: default; }
.pager .prev { position: absolute; left: 0; top: 0; }
.pager .next { position: absolute; right: 0; top: 0; }
.pager .counter { display: none; }

/* Cookie Notice */

.cookie-notice { font-size: 12px; position: fixed; z-index: 10000; bottom: 0; width: 100%; padding: 10px 15px; background: rgba(0,0,0,0.90); color: #CCC; text-align: center; }
.cookie-button { display: inline-block; padding: 2px 10px; margin-left: 25px; background: #ec292b; color: #fff; text-align: center; }
.cookie-button:hover { background: #ad2223; color: #fff; }
.cookie-test { position: fixed; z-index: 10000; bottom: 0; width: 150px; padding: 25px 15px; background: rgba(50,50,50,0.95); color: #CCC; text-align: center;}

/*================================= Various Content =================================*/

.last { margin-bottom: 0 !important; }

/* Buttons */

.btn { font: 700 16px/20px 'Proxima Nova',sans-serif; padding: 12px 20px 10px 20px; text-transform: uppercase; background: #ec292b; border: none; border-bottom: 2px solid #ad2223; color: #fff; text-align: center; display: inline-block; vertical-align: top; text-decoration: none; position: relative; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.btn:hover { background-color: #ad2223; }

.btn.alt { background: #f4f4f4; border-color: #ccc; color: #000; }
.btn.alt:hover { background: #ccc; }

.btn.btn-fb { background: #3363a1; border-color: #004579; }
.btn.btn-fb:hover { background: #004579; }

/* Vertical align */

.va-wrap { display: table; width: 100%; height: 100%; }
.va-m { display: table-cell; vertical-align: middle; height: 100%; }
.va-t { display: table-cell; vertical-align: top; height: 100%; }
.va-b { display: table-cell; vertical-align: bottom; height: 100%; }

/* Icons */

.icon { width: 20px; height: 20px; fill: currentColor; position: relative; }

/* Hidden content */

.sh-content { display: none; }

/* Youtube */

.yt-video { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.yt-video iframe, .yt-video object, .yt-video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/*================================= Columns =================================*/

.col2-set, .col3-set { letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em; }
.col { display: inline-block; *display: inline; zoom: 1; vertical-align: top; letter-spacing: normal; word-spacing: normal; }

.col2-r-set { margin: 0; }
.col2-r-set .col-1 { float: left; width: 100%; }
.col2-r-set .col-1-inner { margin-right: 360px; }
.col2-r-set .col-2 { width: 340px; margin-left: -340px; float: right; }

.col2-set { margin: 0 0 30px -20px; }
.col2-set .col { width: 50%; padding: 0 0 0 20px; }

.col3-set { margin: 0 0 30px -20px; }
.col3-set .col { width: 33.33333%; padding: 0 0 0 20px; }

.col4-set { margin: 0 0 30px -20px; }
.col4-set .col { width: 25%; padding: 0 0 0 20px; }

.ib { font-family: 'Arial',sans-serif; letter-spacing: -0.31em; *letter-spacing: normal; *word-spacing: -0.43em; }
.ib > * { font-family: 'Proxima Nova',sans-serif; display: inline-block; *display: inline; zoom: 1; vertical-align: top; letter-spacing: normal; word-spacing: normal; }

/************************************************************************************
FOOTER
*************************************************************************************/

.footer { background: #fff; padding: 30px 0; }
.footer h3 { margin-bottom: 25px; }
.footer .logo-foot { margin-bottom: 20px; display: block; }
.footer .sitemap ul { margin: 0; }
.footer .sitemap ul li { position: relative; width: 50%; }
.footer .sitemap ul li:before { content: ''; width: 9px; height: 9px; background: #e9e9e9; display: block; position: absolute; left: 0; top: 5px; }

/************************************************************************************
ENTRY
*************************************************************************************/

.entry { margin: 0; }
.entry h2 { margin: 40px 0 10px 0; }
.entry h3 { margin: 40px 0 10px 0; }

/* Post */

.post-text { margin: 0 0 30px 0; padding: 0 0 30px 0; border-bottom: 1px solid #ccc; }

.post-gallery { margin: 0 0 30px 0; padding: 0 0 30px 0; border-bottom: 1px solid #ccc; }
.post-gallery .item-list { margin-left: -20px; margin-bottom: -20px; }
.post-gallery .item { width: 25%; padding-left: 20px; margin-bottom: 20px; }

.post-reference { margin: 0 0 30px 0; padding: 0 0 30px 0; border-bottom: 1px solid #ccc; }
.post-reference .item-list { margin-left: -20px; margin-bottom: -20px; }
.post-reference .item { width: 20%; padding-left: 20px; margin-bottom: 20px; }
.post-reference .item .img { border: 1px solid #e3e3e3; }
.post-reference .item .img img { display: block; margin: 0 auto; }

.post-partners { margin: 0 0 30px 0; padding: 0 0 30px 0; border-bottom: 1px solid #ccc; }
.post-partners .item-list { margin-left: -20px; margin-bottom: -20px; }
.post-partners .item { width: 20%; padding-left: 20px; margin-bottom: 20px; }
.post-partners .item .img { border: 1px solid #e3e3e3; height: 140px; line-height: 140px; padding: 0 10px; text-align: center; }
.post-partners .item .img img { display: inline-block; vertical-align: middle; }

.post-download { margin: 0 0 30px 0; padding: 0 0 30px 0; border-bottom: 1px solid #ccc; }
.post-download ul li { position: relative; padding-left: 15px; }
.post-download ul li:before { content: ''; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; background: #000; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; }
.post-download ul:last-child { margin-bottom: 0; }

.post-contacts { margin: 0 0 30px 0; padding: 0 0 30px 0; border-bottom: 1px solid #ccc; }
.post-contacts .item-list { margin: 0 0 -30px -30px; }
.post-contacts .item { margin: 0 0 30px 0; width: 50%; padding-left: 30px; }
.post-contacts .item .img { float: left; }
.post-contacts .item .text { padding-left: 135px; }
.post-contacts .item .text .name { font-size: 16px; line-height: 1.3em; font-weight: 600; margin-bottom: 5px; }
.post-contacts .item .text .job { margin-bottom: 15px; }

.post-cites { margin: 0 0 30px 0; padding: 0 0 30px 0; border-bottom: 1px solid #ccc; }
.post-cites .item { margin: 0 0 20px 0; font-style: italic; }
.post-cites .item:last-child { margin-bottom: 0; }
.post-cites .item p { margin: 0; }
.post-cites .item .name { font-weight: 600; font-style: normal; }

.post-lost { margin: 0 0 30px 0; padding: 0 0 30px 0; border-bottom: 1px solid #ccc; }
.post-lost .item-list { margin-left: -30px; }
.post-lost .item { margin: 0; width: 50%; padding-left: 30px; }
.post-lost .item .img { width: 120px; float: left; }
.post-lost .item .text { padding-left: 135px; }

.contact-list { margin-bottom: 10px; }
.contact-list li { padding-left: 35px; position: relative; }
.contact-list li a { color: #ec292b; }
.contact-list li .icon { position: absolute; left: 0; top: -2px; width: 23px; height: 23px; padding: 4px; background: #ec292b; color: #fff; display: inline-block; vertical-align: top; }

/************************************************************************************
TABLES
*************************************************************************************/

.entry table { width: 100%; margin: 0 0 30px 0; }
.entry table th { font-weight: normal; border-bottom: 1px solid #c9cacb; padding: 14px 30px; background: #e3e3e3; color: #000; }
.entry table td { border-bottom: 1px solid #c9cacb; padding: 14px 30px; }

/************************************************************************************
FORMS
*************************************************************************************/

form.std label { font: normal 16px/24px 'Proxima Nova',sans-serif; color: #000; margin: 0 0 10px 0; display: block; }
form.std input.text { font: normal 16px/24px 'Proxima Nova',sans-serif; color: #000; background: #efefef; border: none; padding: 11px 15px 9px 15px; width: 100%; }
form.std textarea { font: normal 16px/24px 'Proxima Nova',sans-serif; color: #000; background: #efefef; resize: vertical; border: none; padding: 8px 15px; margin: 0; width: 100%; min-width: 100%; max-width: 100%; height: 150px; min-height: 150px; max-height: 300px; }
form.std select { font: normal 16px/24px 'Proxima Nova',sans-serif; color: #000; width: 100%; padding: 2px 10px; }
form.std option { font: normal 16px/20px 'Proxima Nova',sans-serif; padding: 2px 20px; }

form.std input.text[required="required"] { background-image: url('../img/req.png'); background-position: right center; background-repeat: no-repeat; }
.req { font-weight: 600; color: #f00808; padding-left: 4px; }

:-moz-placeholder { color: #000; opacity: 1; }
::-moz-placeholder { color: #000; opacity: 1; }
:-ms-input-placeholder { color: #000; }
::-webkit-input-placeholder { color: #000; }

/*================================= Form standard =================================*/

/* Standard */

form.std .cell-set { margin: 0 0 0 -20px; }
form.std .cell { margin: 0 0 30px 0; padding-left: 20px; position: relative; text-align: left; }
form.std .cell.full { width: 100%; }
form.std .cell-input { margin: 0 0 30px 0; padding-left: 20px; position: relative; text-align: left; }

/* Inline */

form.std .set-2 .cell,form.std .set-2 .cell-input { width: 50%; }
form.std .set-3 .cell,form.std .set-3 .cell-input { width: 33.33333%; }
form.std .set-4 .cell,form.std .set-4 .cell-input { width: 25%; }
form.std .set-5 .cell,form.std .set-5 .cell-input { width: 20%; }
form.std .set-6 .cell,form.std .set-6 .cell-input { width: 16.666666%; }

form.std .toggle { position: relative; padding: 0 0 0 30px; }
form.std .toggle label { display: inline-block; *display: inline; zoom: 1; vertical-align: top; margin: 0; }
form.std .toggle .note { font-size: 16px; max-width: 100%; }

/* Various */

form.std .radio,
form.std .checker { position: absolute; left: 0; top: 2px; }

/* Form newsletter */

form.form-nl { width: 100%; max-width: 270px; }
form.form-nl input.text { color: #000; background: #efefef; margin-bottom: 5px; border: none; }
form.form-nl .btn { width: 100%; }

/* Form login */

form.form-login { max-width: 400px; }
form.form-login .cell { margin-bottom: 10px; }
form.form-login .cell input.text {  }
form.form-login .cell.forgot { font-size: 13px; margin-bottom: 10px; }

/* Form acreditation */

form.form-acreditation .note { font-size: 13px; line-height: 1.4em; }
form.form-acreditation .music .cell-set { margin-bottom: 20px; }
form.form-acreditation .music .cell { margin-bottom: 15px; }

.acreditations .item-list { margin-bottom: 0; }
.acreditations .item { margin: 0 0 20px 0; }
.acreditations .item-inner { position: relative; }
.acreditations .item .img { float: left; width: 110px; }
.acreditations .item .text { padding-left: 130px; padding-right: 80px; }
.acreditations .item .text .date { margin: 0; }
.acreditations .item .check { position: absolute; right: 0; top: 0; width: 40px; background: #ec292b; height: 100%; }
.acreditations .item .check .checker { position: absolute; left: 50%; top: 50%; margin-top: -10px; margin-left: -10px; }

/* Form search */

form.form-search .cell-set { margin-bottom: 0; }
form.form-search .cell { display: flex; margin-bottom: 0; }

/* Form search filter */

form.form-search-filter { margin-bottom: 30px; }
form.form-search-filter .cell-set { margin-bottom: 0; display: flex; }
form.form-search-filter .cell { margin-bottom: 0; }

/************************************************************************************
FLASH MESSAGES
*************************************************************************************/

.cf_info span { font-size: 14px; font-weight: 600; margin: 0; padding: 15px 20px; display: block; text-align: left; }
.cf_error,
.single.cf_error { border-color: #ff637d; }
.cf_li_err .single { border-color: #ff637d; }
.cf_li_err textarea { border-color: #ff637d; }

.cf_info.failure { background: #fae7ea; border: none; color: #e5547a; padding: 0; margin: 0 0 30px 0; }
.cf_info.success { background: #ebf5bc; border: none; color: #6c7e17; padding: 0; margin: 0 0 30px 0; }

/************************************************************************************
TABS
*************************************************************************************/

.tabs { position: relative; }

.tab-nav ul { margin: 0 0 0 -1px; padding: 0; }
.tab-nav li { float: left; list-style-type: none; padding: 0; background: none; margin: 0 0 0 1px; }
.tab-nav li a { display: block; text-decoration: none; outline: 0; padding: 15px 30px; background: #000; color: #fff; }
.tab-nav li a:hover {  background: #a0a0a0; color: #000; }
.tab-nav li a.active { background: #e3e3e3; color: #000; }

/* Tab nav - basic */

.tab-nav-basic li { margin: 0; width: 33.33333%; position: relative; top: 1px; z-index: 20; }
.tab-nav-basic li a { font-size: 15px; font-weight: 600; color: #0071aa; background: #fff; text-transform: uppercase; text-align: center; border: 1px solid #ced0d0; border-right: none; }
.tab-nav-basic li:last-child a { border-right: 1px solid #ced0d0; }
.tab-nav-basic li a:hover { background: #fff; color: #db3214; }
.tab-nav-basic li a.active { background: #fff; color: #db3214; border-bottom: 1px solid #db3214; }

/************************************************************************************
QTIP
*************************************************************************************/

.qtip-default { font: normal 15px/20px 'Proxima Nova',sans-serif; text-transform: uppercase; padding: 8px 15px; background-color: #000; color: #000; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; }
.qtip-content { font-size: 17px; color: #fff; }

/************************************************************************************
FANCYBOX
*************************************************************************************/

body .fancybox-wrap { padding-bottom: 20px; }

body .fancybox-close { font-size: 35px; width: 70px; height: 70px; text-align: center; line-height: 70px; background: none; right: 0; top: 0; text-decoration: none; }
body .fancybox-close:before { content: ''; position: absolute; right: 0; top: 0; width: 0; height: 0; border-style: solid; border-width: 0 70px 70px 0; border-color: transparent #f30c48 transparent transparent; }
body .fancybox-close:after { font-size: 30px; content: '×'; position: absolute; right: 11px; top: -13px; color: #fff; }
body .fancybox-close:hover { background-position: -40px 0; }

body .fancybox-prev { position: static; }
body .fancybox-prev span { width: 40px; height: 40px; display: block; background: url('../img/fancybox/fancybox.png') -40px 0 no-repeat; position: absolute; top: 50%; text-indent: -80000px; left: -50px; visibility: visible; }
body .fancybox-prev:hover span { background-position: -40px -40px; }

body .fancybox-next { position: static; }
body .fancybox-next span { width: 40px; height: 40px; display: block; background: url('../img/fancybox/fancybox.png') -80px 0 no-repeat; position: absolute; top: 50%; text-indent: -80000px; right: -50px; visibility: visible; }
body .fancybox-next:hover span { background-position: -80px -40px; }

/************************************************************************************
MODAL
*************************************************************************************/

.modal-box { display: none; background: #eee; }
.modal-content { padding: 40px; }

/* Modal contact */

.modal-contact { max-width: 600px; }

/************************************************************************************
FIXER
*************************************************************************************/

.fixer-start { position: relative; }
.fixer { position: relative; top: 0; max-width: px; }
.fixer.fixed { position: fixed; }

/************************************************************************************
UNIFORM
*************************************************************************************/

/* Select */

div.selector { font-size: 18px; background: #fff; color: #024b41; line-height: 45px; width: 100% !important; height: 42px; padding: 0; position: relative; overflow: hidden; cursor: pointer; text-align: left; }
div.selector span { text-overflow: ellipsis; display: block; overflow: hidden; white-space: nowrap; background: #fff url('../img/uniform/select.png') right 16px no-repeat; border: none; padding: 0; text-indent: 15px; height: 42px; line-height: 42px; cursor: pointer; display: block; }
div.selector select { height: 42px; line-height: 42px; text-align: left; opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; border: none; background: none; position: absolute; top: 0; left: 0; width: 100%; cursor: pointer; }
div.selector select option { padding: 2px 10px; }

div.selector.active span { background-position: right 16px; }
div.selector.focus span { background-position: right 16px; }
div.selector.hover span { background-position: right 16px; }
div.selector.hover.active span { background-position: right 16px; }
div.selector.focus.active span { background-position: right 16px; }

/* Checkbox */

div.checker { position: relative; }
div.checker, div.checker span, div.checker input { width: 20px; height: 20px; }
div.checker span { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; text-align: center; background: url('../img/uniform/uniform.png') -52px -11px no-repeat; }
div.checker span.checked { background-position: -52px -51px; }
div.checker input { margin: 0; cursor: pointer; opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; border: none; background: none; display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; vertical-align: top; }

div.checker.active span { background-position: -52px -51px; }
div.checker.active span.checked { background-position: -52px -11px; }
div.checker.hover span, div.checker.focus span { background-position: -52px -11px; }
div.checker.hover span.checked, div.checker.focus span.checked { background-position: -52px -51px; }
div.checker.hover.active span, div.checker.focus.active span { background-position: -52px -11px; }
div.checker.hover.active span.checked, div.checker.focus.active span.checked { background-position: -52px -51px; }

/* Radio */

div.radio { position: relative; }
div.radio, div.radio span, div.radio input { width: 24px; height: 26px; cursor: pointer; }
div.radio span { display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; text-align: center; background: url('../img/uniform/uniform.png') -8px -8px no-repeat; }
div.radio span.checked { background-position: -8px -48px; }
div.radio input { margin: 0; opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; margin: 0; border: none; background: none; display: -moz-inline-box; display: inline-block; *display: inline; zoom: 1; text-align: center; }

div.radio.active span { background-position: -8px -48px; }
div.radio.active span.checked { background-position: -8px -8px; }
div.radio.hover span, div.radio.focus span { background-position: -8px -48px; }
div.radio.hover span.checked, div.radio.focus span.checked { background-position: -8px -48px; }
div.radio.hover.active span, div.radio.focus.active span { background-position: -8px -48px; }
div.radio.hover.active span.checked, div.radio.focus.active span.checked { background-position: -8px -48px; }

/* Uploader */

div.uploader { background-position: 0 -297px; height: 28px; width: 190px; cursor: pointer; position: relative; overflow: hidden; }
div.uploader span.action { background-position: right -409px; height: 28px; line-height: 28px; width: 85px; text-align: center; float: left; display: inline; overflow: hidden; cursor: pointer; }
div.uploader span.filename { text-overflow: ellipsis; display: block; overflow: hidden; white-space: nowrap; float: left; cursor: default; height: 24px; margin: 2px 0 2px 2px; line-height: 24px; width: 82px; padding: 0 10px; }
div.uploader input { opacity: 0; filter: alpha(opacity=0); -moz-opacity: 0; border: none; background: none; position: absolute; top: 0; right: 0; float: right; cursor: default; width: 100%; height: 100%; }
div.uploader.active span.action { background-position: right -465px; }
div.uploader.hover, div.uploader.focus { background-position: 0 -353px; }
div.uploader.hover span.action, div.uploader.focus span.action { background-position: right -437px; }
div.uploader.hover.active span.action, div.uploader.focus.active span.action { background-position: right -493px; }
div.uploader.disabled, div.uploader.disabled.active { background-position: 0 -325px; }
div.uploader.disabled span.action, div.uploader.disabled.active span.action { background-position: right -381px; }

/************************************************************************************
SUDO SLIDERS
*************************************************************************************/

.slider ul, .slider li.panel { margin: 0; padding: 0; list-style: none; position: relative; display: block; }
.slider, .slider li.panel { overflow: hidden; background: none; }

.slider-nav { position: static; text-align: center; }
.slider-nav ol { margin: 20px 0 0 -10px; position: absolute; left: 50%; bottom: -30px; -webkit-transform: translate(-50%,0); -moz-transform: translate(-50%,0); -ms-transform: translate(-50%,0); -o-transform: translate(-50%,0); transform: translate(-50%,0); }
.slider-nav li:before { content: ''; }
.slider-nav li { margin: 0 0 0 10px; padding: 0; background: none; display: inline-block; font-size: 0; }
.slider-nav li a { width: 10px; height: 10px; display: block; background: #fff; text-indent: -80000px; }
.slider-nav li a:hover { background: #ec292b; }
.slider-nav li.current a { background: #ec292b; }

.slider-nav .prev, .slider-nav .next { overflow: hidden; text-indent: -80000px; display: block; position: absolute; z-index: 40; background: url('../img/sprite.png') no-repeat 0 0; cursor: pointer; }

.slider-nav .prev { width: 80px; height: 80px; margin-top: -40px; left: 0; top: 50%; background-position: -16px -180px; }
.slider-nav .prev:hover { background-position: -16px -380px; }
.slider-nav .next { width: 80px; height: 80px; margin-top: -40px; right: 0; top: 50%; background-position: -136px -180px; }
.slider-nav .next:hover { background-position: -136px -380px; }

/* Teaser slider */

.teaser-slider { position: relative; max-height: 604px; overflow: hidden; /*padding-bottom: 50px;*/ }
.teaser-slider li.panel:after { content: ''; position: absolute; z-index: 20; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.3); }
.teaser-slider li.panel { background-size: cover !important; background-position: center center !important; }
.teaser-slider li.panel .img { position: relative; width: 100%; height: auto; visibility: hidden; min-height: 400px; }
.teaser-slider li.panel .teaser-content { position: absolute; left: 0; top: 0; width: 100%; z-index: 40; height: 100%; }

.teaser-slider .slider-nav .prev { position: absolute; left: 1em; top: 50%; width: 2.5em; height: 5em; margin-top: -2.5em; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.teaser-slider .slider-nav .prev .icon { position: absolute; left: 0.85em; top: 50%; margin-top: -0.75em; display: inline-block; width: 1.5em; height: 1.5em; border-left: 0.2em solid rgba(255,255,255,0.8); border-bottom: 0.2em solid rgba(255,255,255,0.8); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); margin-right: 0.5em; display: block; }
.teaser-slider .slider-nav .prev:hover .icon { border-color: #fff; }
.teaser-slider .slider-nav .next { position: absolute; right: 1em; top: 50%; width: 2.5em; height: 5em; margin-top: -2.5em; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.teaser-slider .slider-nav .next .icon { position: absolute; right: 0.3em; top: 50%; margin-top: -0.75em; display: inline-block; width: 1.5em; height: 1.5em; border-right: 0.2em solid rgba(255,255,255,0.8); border-top: 0.2em solid rgba(255,255,255,0.8); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); margin-right: 0.5em; display: block; }
.teaser-slider .slider-nav .next:hover .icon { border-color: #fff; }

/*.teaser-slider:hover .slider-nav .prev { background: #ec292b; left: 0; }
.teaser-slider:hover .slider-nav .prev:hover { background: #fff; }
.teaser-slider:hover .slider-nav .next { background: #ec292b; right: 0; }
.teaser-slider:hover .slider-nav .next:hover { background: #fff; }*/


/* Gallery slider */

.gallery-slider { position: relative; }
.gallery-slider .slider-nav .prev { position: absolute; left: 2em; top: 50%; width: 2.5em; height: 5em; margin-top: -2.5em; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.gallery-slider .slider-nav .prev .icon { position: absolute; left: 0.85em; top: 50%; margin-top: -0.75em; display: inline-block; width: 1.5em; height: 1.5em; border-left: 0.2em solid #fff; border-bottom: 0.2em solid #fff; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); margin-right: 0.5em; display: block; }
.gallery-slider .slider-nav .prev:hover .icon { border-color: #ec292b; }
.gallery-slider .slider-nav .next { position: absolute; right: 2em; top: 50%; width: 2.5em; height: 5em; margin-top: -2.5em; -webkit-transition: all 0.2s; -moz-transition: all 0.2s; -ms-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; }
.gallery-slider .slider-nav .next .icon { position: absolute; right: 0.3em; top: 50%; margin-top: -0.75em; display: inline-block; width: 1.5em; height: 1.5em; border-right: 0.2em solid #fff; border-top: 0.2em solid #fff; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); margin-right: 0.5em; display: block; }
.gallery-slider .slider-nav .next:hover .icon { border-color: #ec292b; }

.gallery-slider:hover .slider-nav .prev { background: #ec292b; left: 0; }
.gallery-slider:hover .slider-nav .prev:hover { background: #fff; }
.gallery-slider:hover .slider-nav .next { background: #ec292b; right: 0; }
.gallery-slider:hover .slider-nav .next:hover { background: #fff; }

/************************************************************************************
AJAX
*************************************************************************************/

.loader-overlay { display: none; z-index: 9999; width: 100%; height: 100%; position: fixed; left: 0; top: 0; background-image: url('../img/fancybox/fancybox_overlay.png');  }
.loader-box { position: absolute; width: 44px; height: 44px; margin-top: -22px; margin-left: -22px; opacity: 0.8; left: 50%; top: 50%; background-image: url('../img/fancybox/fancybox_sprite.png'); background-position: 0 -108px; background-repeat: no-repeat; }
.loader {width: 100%; height: 100%; position: absolute; left: 0; top: 0; background-image: url('../img/fancybox/fancybox_loading.gif'); background-position: center center; background-repeat: no-repeat; }

/************************************************************************************
MEDIA QUERIES
*************************************************************************************/

/*========================= Viewport width 1199px and lower =========================*/

@media screen and (max-width: 1199px) {
	.main-nav { flex-shrink: 0; }
	.main-nav ul { margin-left: -6px; }
	.main-nav ul li { padding-left: 6px; }
	.main-nav ul li a { font-size: 14px; }

    .news-archive .item .img { max-width: 225px; }
    .news-archive .item .text { padding-left: 245px; }

    .news-archive .item-hl .img { max-width: 260px; }
    .news-archive .item-hl .text { padding-left: 285px; }

    .photogallery { max-width: 860px; margin-left: auto; margin-right: auto; }
    .photogallery .item-list { margin-left: -10px; }
    .photogallery .item { width: 33.33333%; padding-left: 10px; }
    .photogallery .item .img .head { padding: 0; position: relative; background: none; padding-top: 10px; }
    .photogallery .item .img .head .date { color: rgba(0,0,0,0.7); }
    .photogallery .item .img .head h2 { color: #000; }

    .header .h_2 { padding: 10px 0; }
    .header-r { flex-wrap: wrap; justify-content: flex-end; flex-shrink: 1; }
    .header-r .socials { flex: 0 0 100%; margin-bottom: 10px; }
    .header-r .socials ul { justify-content: flex-end; }
}

/*========================= Viewport width 991px and lower =========================*/

@media screen and (max-width: 991px) {
	.main-nav { display: none; }
	.header-r { right: 100px; }
	.nav-btn { display: inline-block; }

	.teaser-content h1 { font-size: 35px; line-height: 1em; }
	.teaser-content .subhead { font-size: 28px; }

	.events .item { width: 33.33333%; }
	.news .item { width: 33.33333%; }

    .gallery-switch .item { width: 20%; }

    .col2-r-set .col-1 { float: none; }
    .col2-r-set .col-1-inner { margin-right: 0; }
    .col2-r-set .col-2 { float: none; width: 100%; max-width: 310px; margin-left: 0; }

    .teaser-slider .slider-nav .prev { width: 2em; height: 3em; }
	.teaser-slider .slider-nav .prev .icon { width: 1em; height: 1em; margin-top: -0.5em; left: 0.5em; }
	.teaser-slider .slider-nav .next { width: 2em; height: 3em; }
	.teaser-slider .slider-nav .next .icon { width: 1em; height: 1em; margin-top: -0.5em; left: 0.25em; }

	.footer h3 { margin-bottom: 10px; margin-top: 30px; }
	.footer .support { padding-top: 20px; }
	.foot-item { margin-bottom: 40px; }

    form.form-acreditation .music .cell-set.set-6 .cell { width: 25%; }
}

/*========================= Viewport width 767px and lower =========================*/

@media screen and (max-width: 767px) {
    .news-archive .item .img { max-width: 150px; }
    .news-archive .item .text { padding-left: 175px; }

    .news-archive .item-hl .img { max-width: 190px; }
    .news-archive .item-hl .text { padding-left: 215px; }

    .gallery-switch .item { width: 25%; }

    .post-contacts .item { width: 100%; }

    .post-lost .item { width: 100%; }

    .pager .prev, .pager .next { display: none; }

    .calendar .labels .item-inner .short { display: inline-block; }
    .calendar .labels .item-inner .long { display: none; }
}

/*========================= Viewport width 640px and lower =========================*/

@media screen and (max-width: 640px) {
	.header .socials { display: none; }
	.header .user { display: none; }

	.events .item { width: 50%; }

    .news .item-list { margin-left: -10px; }
	.news .item { width: 50%; padding-left: 10px; }

    .program-archive .item .img .inner { margin-right: 360px; }
    .program-archive .item .text { width: 340px; margin-left: -340px; }

    .program-detail .img .inner { margin-right: 360px; }
    .program-detail .text { width: 340px; margin-left: -340px; }

    .gallery-switch .item { width: 33.33333%; }

    .post-gallery .item { width: 33.33333%; }
    .post-reference .item { width: 33.33333%; }
    .post-partners .item { width: 33.33333%; }

    form.form-acreditation .music .cell-set.set-6 .cell { width: 33.33333%; }

    .teaser-content h1 { font-size: 35px; line-height: 1em; }
	.teaser-content .subhead { font-size: 24px; }
}

/*========================= Viewport width 540px and lower =========================*/

@media screen and (max-width: 540px) {
    .header {  }
    .content { padding-top: 60px; }

    .teaser-content h1 { font-size: 24px; line-height: 1em; margin-bottom: 5px; }
	.teaser-content .subhead { font-size: 24px; margin: 5px 0 0 0; }

    .teaser-slider { margin-left: -15px; margin-right: -15px; }
	/*.teaser-slider li.panel .teaser-content { background: #000; position: relative; padding: 20px 0; }*/
	/*.teaser-slider li.panel .teaser-content .va-m { position: static;
		-webkit-transform: translate(0,0);
		-moz-transform: translate(0,0);
		-ms-transform: translate(0,0);
		-o-transform: translate(0,0);
		transform: translate(0,0);
	}*/

	.teaser-slider .slider-nav .prev { width: 1.5em; height: 2.5em; }
	.teaser-slider .slider-nav .prev .icon { width: 1em; height: 1em; margin-top: -0.5em; left: 0.5em; }
	.teaser-slider .slider-nav .next { width: 1.5em; height: 2.5em; }
	.teaser-slider .slider-nav .next .icon { width: 1em; height: 1em; margin-top: -0.5em; left: 0em; }

	.events .item { width: 50%; }
	.news .item { width: 50%; }

	.box { margin-left: -15px; margin-right: -15px; padding: 15px; }

	.block { padding: 30px 0; }

    .program-archive .item .img { margin-bottom: 20px; }
    .program-archive .item .img .inner { margin-right: 0; }
    .program-archive .item .text { width: 100%; margin-left: 0; }

    .program-detail .img { margin-bottom: 20px; }
    .program-detail .img .inner { margin-right: 0; }
    .program-detail .text { width: 100%; margin-left: 0; }
    .program-detail .heading .btn { position: static; margin-top: -10px; margin-bottom: 20px; }

    .news-archive .item .img { max-width: 260px; float: none; display: block; margin: 0 auto 20px auto; }
    .news-archive .item .text { padding-left: 0; text-align: center; }

    .news-archive .item-hl .img { max-width: 260px; float: none; }
    .news-archive .item-hl .text { padding-left: 0; }

    .contest-archive .item { margin-bottom: 50px; }
    .contest-archive .item .img { float: none; margin-bottom: 20px; display: block; margin: 0 0 10px 0; }
    .contest-archive .item .text { padding-left: 0; text-align: left; }
    .contest-archive .item-head { padding-right: 0; }
    .contest-archive .item-content { padding-right: 0; }
    .contest-archive .item-head .trigger { position: relative; margin: 20px auto 0 auto; width: 100%; height: 30px; }

    .photogallery .item { width: 50%; }

    .acreditations .item .img { float: none; margin-bottom: 20px; }
    .acreditations .item .text { padding-left: 0; }

    form.std .set-3 .cell, form.std .set-3 .cell-input { width: 50%; }
}

/*========================= Viewport width 420px and lower =========================*/

@media screen and (max-width: 420px) {
    .gallery-switch .item { width: 50%; }
    .post-gallery .item { width: 50%; }
    .post-reference .item { width: 50%; }
    .post-partners .item { width: 50%; }

    .events .item { width: 100%; }
    .news .item { width: 100%; max-width: 300px; }

    form.std .set-3 .cell, form.std .set-3 .cell-input { width: 100%; }
    form.std .set-2 .cell, form.std .set-2 .cell-input { width: 100%; }

    form.form-acreditation .music .cell-set.set-6 .cell { width: 50%; }
}

/************************************************************************************
TRANSITIONS & ANIMATIONS
*************************************************************************************/

a {
	transition: color 0.1s;
	-moz-transition: color 0.1s;
	-webkit-transition: color 0.1s;
	-o-transition: color 0.1s;
	-ms-transition: color 0.1s;
}

/************************************************************************************
CLEARFIX
*************************************************************************************/

/* http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified */

.clearfix:before,
.clearfix:after {
  content: '\0020';
  display: block;
  overflow: hidden;
  visibility: hidden;
  width: 0;
  height: 0;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  zoom: 1;
}
