/************* GENERAL STYLES ***/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-family: inherit;
	vertical-align: baseline; }

:focus { outline: 0; }

* { box-sizing: border-box; }

body {
    background: url(../images/bg.jpg) top center no-repeat #fff;
    background-size: 100%;
	font-family: 'Glegoo', serif;
	font-size: 14px;
	line-height: 1.5;
	color: #222; }

ul { list-style: none; }

ul.list {
	list-style: disc;
	padding: 0 0 16px 15px; }
	
	ul.list li { margin: 0 0 7px; }

/* tables still need 'cellspacing="0"' in the markup */
table {
    width: 100%;
    margin-bottom: 30px;
	border-collapse: separate;
	border-spacing: 0;
    font-size: 12px; }

caption, th, td {
	text-align: left;
	font-weight: normal; }

th, td { padding: 10px 15px 3px 0; }

th {
    font-weight: bold;
    border-bottom: 2px solid #00a4c7; }

blockquote:before, blockquote:after,
q:before, q:after {
	content: ""; }

blockquote, q { quotes: "" ""; }

strong { font-weight: bold; }

/*** FONT STYLES ***/
h1 { 
	font-size: 24px; 
	font-weight: bold;
	color: #222;
    line-height: normal;
	margin: 0 0 20px; }

    h1 u {
        height: 2px;
        display: block;
        background: rgba(0,0,0,0.1); }

        h1 u span {
            width: 100px;
            height: 100%;
            display: block;
            background: #c70029; }

h2 {
    font-size: 18px;
    font-weight: bold;
    color: #c70029;
    line-height: normal;
    padding: 10px 0 0;
    margin: 0 0 10px; }

a:link, a:visited { 
	color: #00a4c7;
	text-decoration: none; }
	
a:hover { text-decoration: underline; }

p { margin-bottom: 1.5em; }

/************* STRUCTURE STYLES ***/
.wrapper {
	width: 1000px;
    max-width: 100%;
    padding: 0 20px;
	margin: 0 auto; }


/*** HEADER ***/
header {
    width: 100%;
    float: left;
    margin: 45px 0 30px;
    position: relative; }

    header .logo {
        position: absolute;
        z-index: 100;
        top: -35px;
        left: 50%;
        margin-left: -55px; }

    header .top {
        width: 100%;
        float: left;
        padding-bottom: 10px; }

        header .top .date {
            float: left;
            padding-top: 0px;
            font-weight: bold; }

            header .top .date span {
                display: block;
                font-size: 20px;
                line-height: 1; }

        header .top .countdown {
            float: right;
            font-size: 10px;
            font-family: 'Helvetica', Arial, sans-serif; }

            header .top .countdown > div {
                display: inline-block;
                margin: 0 0 0 2px;
                text-align: left; }

                header .top .countdown > div span {
                    display: block;
                    padding: 5px;
                    margin-bottom: 5px;
                    background: #000;
                    color: #fff;
                    text-align: center;
                    font-size: 20px;
                    font-family: 'Glegoo', serif; }

    header .carousel {
        width: 100%;
        float: left;
        position: relative;
        box-shadow: 0 0 20px rgba(0,0,0,0.5); }

        header .carousel .overlay {
            padding: 3px 15px;
            position: absolute;
            bottom: 0;
            right: 0;
            z-index: 999;
            background: rgba(0,164,199,0.7);
            color: #fff;
            font-size: 12px; }

        header .carousel .images { 
            width: 100%;
            float: left; }

        header .carousel img { 
            width: 100%;
            height: auto;
            float: left; }


/*** SECTION ***/
section {
    width: 100%;
    float: left; }


/*** MAIN ***/
section#main aside {
    width: 220px;
    float: left;
    margin-right: 35px; }

    section#main aside h2 {
        color: #222;
        padding-bottom: 1px;
        margin: 0 0 20px;
        border-bottom: 2px solid rgba(0,0,0,0.1); }

        section#main aside h2.twitter {
            padding: 0 0 0 25px;
            background: url(../images/icon_twitter.png) left no-repeat; }

            section#main aside h2.twitter a { color: #222; }

    section#main aside ul.tabs { margin-bottom: 40px; }

        section#main aside ul.tabs li { margin: 0 0 10px; }

        section#main aside ul.tabs a { 
            display: block;
            color: #999; }

            section#main aside ul.tabs a.active {
                padding-left: 15px;
                background: url(../images/icon_listArrow.png) left no-repeat;
                color: #222; }

    section#main aside select.nav {
        width: 100%;
        float: left;
        margin: 0 0 30px;
        display: none;
        font: inherit; }

section#main article { overflow: hidden; }

    section#main article .tabContent { display: none; }

        section#main article .tabContent.active { display: block; }

.times { margin-bottom: 20px; }

    .times .time { margin-bottom: 10px; }

    .times .time label {
        width: 150px;
        float: left; }

        .times .time div { overflow: hidden; }


/*** REGISTER ***/
section#registration {
    min-height: 278px;
    padding: 30px 0 50px;
    margin-top: 50px;
    background: url(../images/bg_register.png) bottom center no-repeat;
    text-align: center; }

    section#registration h2 {
        color: #222;
        font-size: 24px; }

    section#registration p {
        width: 600px;
        max-width: 100%;
        margin: 0 auto; }

    section#registration a.btn {
        display: inline-block;
        padding: 10px 30px;
        margin-top: 35px;
        background: #c70029;
        border-radius: 100px;
        font-size: 18px;
        color: #fff; }

        section#registration a.btn:hover {
            background: #b40025;
            text-decoration: none; }


/*** TICKETS ***/
section#tickets {
    padding: 40px 0;
    background: url(../images/bg_tickets.jpg) right no-repeat #00a4c7;
    background-size: auto 100%;
    color: #d7f8ff; }

    section#tickets .half {
        width: 50%;
        float: left; }

        section#tickets .half.left {
            padding-right: 25px;
            text-align: right; }

        section#tickets .half.right {
            padding-left: 25px;
            font-size: 18px; }

    section#tickets h2 {
        color: #fff;
        font-size: 24px; }

    section#tickets a, section#tickets strong { color: #fff; }

    section#tickets p.note { font-size: 12px; }


/*** PHOTOS ***/
section#photos { position: relative; }

    section#photos .overlay {
        padding: 3px 15px;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 999;
        background: rgba(0,164,199,0.7);
        color: #fff;
        font-size: 12px; }

    section#photos .images {
        width: 100%;
        float: left;
        background: #000; }

        section#photos .images img { 
            width: 100%;
            height: auto;
            float: left;
            -webkit-transition: all 0.2s linear;
            transition: all 0.2s linear; }

            section#photos .images img:hover { opacity: 0.5; }


/*** SPONSORS ***/
section#sponsors {
    padding: 50px 0 0;
    text-align: center; }

    section#sponsors img { margin: 0 8px; }


/*** FOOTER ***/
footer {
    width: 100%;
    float: left;
    padding: 40px 0 50px;
    text-align: center;
    font-size: 12px; }

    footer .logo { width: 60px; }

    footer p { margin: 10px 0 30px; }
	
	
/*** MEDIA QUERIES ***/
@-ms-viewport { width: device-width; }
@viewport { width: device-width; }


/*** RETINA ***/
@media all and (-webkit-min-device-pixel-ratio: 1.5) {

    section#main aside h2.twitter {
        background: url(../images/icon_twitter@2x.png) left no-repeat;
        background-size: 20px; }

    section#main aside ul.tabs a.active {
        background: url(../images/icon_listArrow@2x.png) left no-repeat;
        background-size: 8px; }
    
    section#registration {
        background: url(../images/bg_register@2x.png) bottom center no-repeat;
        background-size: 1440px; }

    section#tickets {
        background: url(../images/bg_tickets@2x.jpg) right no-repeat #00a4c7;
        background-size: auto 100%; }
    
}


/*** 800px ***/
@media all and (max-width: 800px) {

    header .logo {
        width: 80px;
        margin-left: -40px;
        top: -10px;
    }
    
}


/*** 700px ***/
@media all and (max-width: 700px) {
    
    section#main aside { width: 100%; }
    
        section#main aside select.nav { display: block; }
    
        section#main aside ul.tabs, section#main aside h2.twitter, section#main aside #twitterFeed { display: none; }
    
    section#main article {
        width: 100%;
        float: left;
        overflow: visible; }
    
    section#tickets .half {
        width: 100%;
        padding: 0 !important;
        text-align: left !important; }
    
}


/*** 700px ***/
@media all and (max-width: 700px) {
    
    .times .time label {
        width: 100%;
        font-weight: bold; }

    .times .time div { 
        width: 100%;
        float: left;
        margin-bottom: 15px;
        overflow: visible; }
    
    section#registration { margin-top: 20px; }
    
}


/*** 600px ***/
@media all and (max-width: 600px) {
    
    header {
        margin: 20px 0; }
    
        header .carousel { display: none; }

        header .logo {
            display: block;
            position: relative;
            top: auto;
            left: 0;
            margin: 0 auto 10px; }

        header .date {
            width: 100%;
            float: left;
            margin-bottom: 20px;
            text-align: center; }

        header .top .countdown {
            width: auto;
            float: none;
            margin: 0 auto;
            text-align: center; }
    
}




