/************* 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; }

body {
	font-family: 'gotham_bookregular';
	font-size: 16px;
	line-height: 1.4;
	color: #222; }

ul { list-style: none; }

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

ol { padding: 0 0 16px 18px; }
	
	ul.list li, ol li { margin: 0 0 10px; }

        ul.list li ul, ul.list li ol { padding: 10px 0 1px 18px; }

.anchor { height: 50px; display: block; }

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

table.full { width: 100%; }

caption, th, td {
    padding: 5px 10px;
	text-align: left;
	font-weight: normal; }

table.txt_center th, table.txt_center td { text-align: center; }
table th.left, table td.left { text-align: left; }

th, td.red { 
    color: #e83f3b;
    font-weight: bold; }

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

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

strong { font-weight: bold; }

em { font-style: italic; }

hr {
    width: 100%;
    height: 1px;
    float: left;
    margin: 20px 0 40px;
    border: none;
    background: #eaeaea; }

img { max-width: 100%; }

dl {
    width: 100%;
    float: left;
    padding: 25px 25px 0;
    margin: 20px 0 40px;
    background: #f1f1f2;
    border-left: 5px solid #384049;
    font-size: 14px;
    box-sizing: border-box; }

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

dd { margin: 0 0 25px; }


/*** FONT STYLES ***/
@font-face {
    font-family: 'gotham_bookregular';
    src: url('../fonts/gotham-book-webfont.eot');
    src: url('../fonts/gotham-book-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/gotham-book-webfont.woff2') format('woff2'),
         url('../fonts/gotham-book-webfont.woff') format('woff'),
         url('../fonts/gotham-book-webfont.ttf') format('truetype'),
         url('../fonts/gotham-book-webfont.svg#gotham_bookregular') format('svg');
    font-weight: normal;
    font-style: normal; }

@font-face {
    font-family: 'gotham_bookregular';
    src: url('../fonts/gotham-medium-webfont.eot');
    src: url('../fonts/gotham-medium-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/gotham-medium-webfont.woff2') format('woff2'),
         url('../fonts/gotham-medium-webfont.woff') format('woff'),
         url('../fonts/gotham-medium-webfont.ttf') format('truetype'),
         url('../fonts/gotham-medium-webfont.svg#gotham_mediumregular') format('svg');
    font-weight: bold;
    font-style: normal; }

@font-face {
    font-family: 'canterbold';
    src: url('../fonts/canter_bold-webfont.eot');
    src: url('../fonts/canter_bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/canter_bold-webfont.woff2') format('woff2'),
         url('../fonts/canter_bold-webfont.woff') format('woff'),
         url('../fonts/canter_bold-webfont.ttf') format('truetype'),
         url('../fonts/canter_bold-webfont.svg#canterbold') format('svg');
    font-weight: normal;
    font-style: normal; }

@font-face {
    font-family: 'geo986bold';
    src: url('../fonts/geo98b_-webfont.eot');
    src: url('../fonts/geo98b_-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/geo98b_-webfont.woff') format('woff'),
         url('../fonts/geo98b_-webfont.ttf') format('truetype'),
         url('../fonts/geo98b_-webfont.svg#geo986bold') format('svg');
    font-weight: normal;
    font-style: normal; }

.font_canter { font-family: 'canterbold'; }
.font_geo { font-family: 'geo986bold'; }

h1, h2 {
    font-family: 'geo986bold';
	font-size: 30px; 
	font-weight: normal;
    line-height: normal;
	color: #222; }

h1 { margin: 0 0 40px; }

h2 { margin: 0 0 50px; }

p + h2, ul + h2 { padding-top: 40px; }

h3 { 
	font-size: 22px; 
	font-weight: bold;
	color: #222;
    padding: 30px 0 0;
	margin: 0 0 25px; }

h4 { 
	font-size: 18px; 
	font-weight: bold;
	color: #222;
	margin: 0 0 15px; }

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

a.more {
    padding-right: 15px;
    background: url(../images/icon_moreArrow.png) right no-repeat; }

a.registerBtn {
    display: inline-block;
    padding: 10px 15px;
    margin: 0;
    border: 2px solid #E83F3B;
    border-radius: 3px;
    font-size: 20px;
    letter-spacing: 1px; }

p { margin-bottom: 20px; }

.txt_center { text-align: center; }

.confirm_entry_link { display: block; font-size: 12px; text-align: center; color:white !important; margin-bottom: 10px;  margin-top: -20px; }

.subHead {
    padding: 0 50px;
    text-align: center; }

.note {
    padding: 25px 50px;
    margin: 0 0 25px;
    background: #f1f1f2;
    text-align: center; }


/************* STRUCTURE STYLES ***/
.wrapper {
	width: 1000px;
	margin: 0 auto; }


/*** AD ***/
header .ad {
    width: 100%;
    float: left;
    padding: 15px;
    position: relative;
    text-align: center;
    box-sizing: border-box; }

    header .ad .bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 0;
        background: #000;
        opacity: 0.5; }

    header .ad img {
        position: relative;
        z-index: 1; }


/*** MAIN ***/
header {
    width: 100%;
    float: left;
    text-align: center;
    color: #fff;
    font-size: 19px; }

header.inner {
    background: url(../images/bg.jpg) no-repeat;
    background-size: cover; }

    header .content { 
        width: 100%;
        float: left;
        padding: 20px 0;
        position: relative;
        box-sizing: border-box; }

    header img.logo { 
        display: inline-block;
        margin: 5px 20px 0 0; }

     header .content .social {
        position: absolute;
        top: 40px;
        left: 20px; }

        header .content .social a {
            width: 32px;
            height: 32px;
            float: left;
            margin: 0 10px 0 0;
            opacity: 0.5; }

            header .content .social a.facebook { background: url(../images/icon_facebook.png) no-repeat; }
            header .content .social a.twitter { background: url(../images/icon_twitter.png) no-repeat; }
            header .content .social a.flickr { background: url(../images/icon_flickr.png) no-repeat; }

            header .content .social a:hover { opacity: 1; }

    header .content form {
        padding: 0 15px 0 0;
        position: absolute;
        max-width: 50%;
        top: 29px;
        right: 20px;
        font-size: 16px; }
        
         header .content .topRight {
        padding: 0;
        position: absolute;
        top: 0px;
        right: 20px;
        font-size: 16px; }

        header .content .topRight ul {
            float: left;
            margin: 33px 15px 0 0;
            text-align: left; }

            header .content .topRight ul li { 
                display: inline;
                padding: 8px 0;
                margin: 0 10px;
                position: relative; }

            header .content .topRight > ul > li > a { 
                color: #fff;
                opacity: 0.7;
                filter: alpha(opacity=70); }

                header .content .topRight ul li:hover a, header .content .topRight ul li a.active {
                    opacity: 1;
                    filter: alpha(opacity=100);
                    text-decoration: none; }

                header .content .topRight ul li:hover .submenu { display: block; }

                header .content .topRight ul li .submenu {
                    width: 210px;
                    position: absolute;
                    top: 100%;
                    left: 50%;
                    z-index: 999;
                    display: none;
                    padding: 7px 0 0;
                    margin: 0 0 0 -105px;
                    background: url(../images/nav_arrow.png) top center no-repeat;
                    font-size: 13px;
                    text-transform: none; }

                    header .content .topRight ul li .submenu ul { 
                        width: 100%;
                        padding: 10px 0;
                        margin: 0;
                        background: #fbfbfb;
                        border-bottom: 1px solid #eaeaea;
                        box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2); }

                    header .content .topRight ul li ul li {
                        display: block;
                        padding: 0;
                        margin: 0; }

                    header .content .topRight ul li ul a { 
                        display: block;
                        padding: 8px 15px;
                        width:100%;
                        -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
						-moz-box-sizing: border-box;    /* Firefox, other Gecko */
						box-sizing: border-box;         /* Opera/IE 8+ */
                        color: #222; }

                        header .content .topRight ul li ul a:hover { background: #eee; }

        header .content .topRight form {
            float: right;
            padding: 0;
            position: relative; }

        header .content form .bg {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 0;
            background: #fff;
            border-radius: 3px;
            opacity: 0.5; }

        header .content form .text {
   	      	width: 150px;
            position: relative;
            z-index: 1;
            padding: 15px 40px 15px 15px;
            background: url(../images/icon_search.png) right center no-repeat;
            border: 0;
            font: inherit;
            color: #fff; }

    header a.btn {
        display: inline-block;
        padding: 10px 15px;
        margin: 10px 0 0;
        border: 2px solid #ffe17a;
        border-radius: 3px;
        color: #fff;
        font-size: 18px;
        letter-spacing: 1px;
        text-transform: none;
        vertical-align: top; }

        header a.btn span {
            display: block;
            margin: 3px 0 0;
            font-size: 15px;
            letter-spacing: 0; }

            header a.btn:hover {
                color: #e0e0e0;
                text-decoration: none; }

#main { 
    text-transform: uppercase;
    position: relative; }

    #main .content { padding: 40px 20px; }

    #main img.logo { margin: 0 0 20px; }

    #main .content .social { top: 29px; }

    #main .content form { top: 20px; }

    #main h1 {
        color: #ffe17a;
        font-size: 47px;
        margin: 0 0 10px;
        font-family: 'gotham_bookregular'; }

        #main h1 small {
            display: block;
            margin: 0 0 5px;
            color: #fff;
            font-size: 23px; }

    #main a.btn {
        margin: 15px 0 30px;
        font-size: 21px; }

    #main .date p {
        color: #ffe17a;
        font-size: 22px; }

    #main .date .countdown {
        width: 100%;
        float: left;
        line-height: normal; }

        #main .date .countdown div {
            width: 100px;
            display: inline-block;
            font-size: 80px;
            font-family: 'canterbold'; }

        #main .date .countdown div span.legend {
            display: block;
            font-family: 'gotham_bookregular';
            font-size: 18px;
            color: #fff;
            opacity: 0.6; }

#slides {
	position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1; }
	
	#slides #background {
		z-index: -100; 
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%; }
    
    #slides .img0 { 
    	background: url(../images/bg.jpg) 50% 0 no-repeat fixed;
		background-size: cover; }
		
	#slides .img1 { 
    	background: url(../images/bg2.jpg) 50% 0 no-repeat fixed;
		background-size: cover; }
	
	#slides #fader {
		z-index: -99;
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%; }

header#sticky {
    display: none;
    background: #8E3344;
    z-index: 9998; }

header#sticky a#mobileBtn { top: 42px; }

header#sticky .content { display: none; }


/*** NAV ***/
nav {
    width: 100%;
    float: left;
    background: #384049;
    text-align: center;
    font-size: 15px;
    position: relative; }

    nav > ul li {
        display: inline-block;
        position: relative;
        margin: 0 15px; }

    nav > ul li a:link, nav > ul li a:visited {
        padding: 25px 0;
        display: inline-block;
        color: #afb3b6; }

    nav > ul li a:hover {
        color: #fff !important;
        text-decoration: none;
        background: url(../images/nav_arrow.png) bottom center no-repeat; }

    nav > ul li a.active {
        color: #fff;
        background: url(../images/nav_arrow.png) bottom center no-repeat; }
		 
		/*** SUB MENU ***/
nav.main > ul > li:hover > ul, nav.main > ul ul > li:hover > ul { display: block; }

nav.main > ul > li ul {
    width: 250px;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;
    padding: 10px 0;
    background: #fbfbfb;
    border-bottom: 1px solid #eaeaea;
    box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
    text-align: left;
    font-size: 13px;
    text-transform: none; }

    nav.main > ul > li ul.right {
        left: auto;
        right: 0; }

    nav.main > ul > li > ul li {
        display: block;
        position: relative;
        width: 100%;
        margin: 0 }

        nav.main > ul > li > ul li a:link, nav.main > ul > li > ul li a:visited { 
            padding: 8px 15px;
            width: 100%;
		    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
		    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
		    box-sizing: border-box;         /* Opera/IE 8+ */
            color: #222; }

        nav.main > ul > li > ul li:hover > a { background: #eee; color: black !important; }

    nav.main > ul > li > ul ul {
        padding: 0;
        top: 0;
        left: 100%;
        border-top: 1px solid #eaeaea; }
		 
header a#mobileBtn {
    width: 35px;
    position: absolute;
    top: 32px;
    left: 20px;
    display: none; }

header.inner a#mobileBtn { top: 40px; }

    header a#mobileBtn span {
        height: 5px;
        display: block;
        margin: 0 0 5px;
        background: #fff; }

nav#mobile {
    width: 230px;
    position: fixed;
    top: 0;
    bottom: 0;
    left: -230px;
    z-index: 9999;
    background: #333;
    display: none;
    text-align: left; }
    
    nav#mobile > div {
    	width: 100%;
    	max-height: 100%;
    	float: left;
    	overflow-y: auto; }
    	
    	nav#mobile ul.mobileNav { padding-bottom: 30px; }

    nav#mobile a.close {
        width: 18px;
        height: 18px;
        position: absolute;
        top: 37px;
        right: 25px;
        background: url(../images/icon_close.png) no-repeat;
        opacity: 0.5; }

        nav#mobile a.close:hover { opacity: 1; }

    nav#mobile h2 { 
        padding: 20px 0 20px 25px;
        margin: 0 0 25px;
        color: #888;
        border-bottom: 2px solid #000; }

    nav#mobile ul li { 
        display: block;
        padding: 10px 0; }

    nav#mobile ul li a {
        display: block;
        padding: 0 25px;
        margin: 0;
        color: #fff;
        font-size: 15px; }

        nav#mobile ul li a span {
            float: right;
            color: #F6BB53;
            font-size: 16px; }

        nav#mobile ul li ul {
            width: 100%;
            display: none;
            padding: 10px 0 0 10px;
            box-sizing: border-box; }

        nav#mobile ul li ul li a {
            color: #afb3b6;
            font-size: 13px; }


/*** SECTION ***/
section {
    width: 100%;
    float: left;
    padding: 60px 0; }

article { 
    width: 100%;
    float: left;
    padding: 0 20px;
    box-sizing: border-box; }

.mapIframe {
    padding: 20px 0;
    text-align: center; }

    .mapIframe iframe { max-width: 100%; }


/*** GRIDS ***/
.col {
    float: left;
    padding: 0 20px;
    box-sizing: border-box; }

.col_4 { width: 33.3333%; }
.col_6 { width: 50%; }
.col_12 { width: 100%; }


/*** LATEST NEWS ***/
#latestNews ul li {
    width: 33.3333%;
    float: left;
    padding: 0 20px;
    box-sizing: border-box; }

#latestNews ul li a.pic {
    width: 100%;
    float: left;
    margin: 0 0 15px;
    position: relative; }

    #latestNews ul li a.pic .date {
        width: 90px;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        color: #fff;
        text-align: center; }

        #latestNews ul li a.pic .date .num { 
            width: 100%;
            height: 100%;
            position: relative;
            z-index: 1;
            display: table;
            line-height: normal; }

            #latestNews ul li a.pic .date .num div {
                display: table-cell;
                vertical-align: middle; }

        #latestNews ul li a.pic .date span { 
            font-size: 60px;
            display: block; }

#latestNews ul li a.pic .date .bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background: #1b447f;
    opacity: 0.75; }

    #latestNews ul li a.pic img {
        width: 100%;
        float: left; }


/*** BOXES ***/
#boxes { border-top: 1px solid #eaeaea; }

    #boxes li {
        width: 33.3333%;
        float: left;
        padding: 0 20px;
        margin: 20px 0;
        box-sizing: border-box; }

    #boxes a {
        display: block;
        padding: 10px 0;
        text-align: center;
        color: #fff;
        font-weight: bold; }

        #boxes a.blue { 
            background: #1b447f;
            border: 3px solid #155cc2; }

            #boxes a.blue:hover { background: #0e3164; }

        #boxes a.yellow { 
            background: #dac87b;
            border: 3px solid #fbc770; }

            #boxes a.yellow:hover { background: #cfbb65; }

        #boxes a.red { 
            background: #c64145;
            border: 3px solid #e7403a; }

            #boxes a.red:hover { background: #b02b2f; }

        #boxes a:hover { text-decoration: none; }

    #boxes a div { padding: 90px 0 0; }

        #boxes a.race div { background: url(../images/icon_raceday.png) top center no-repeat; }
        #boxes a.course div { background: url(../images/icon_course.png) top center no-repeat; }
        #boxes a.training div { background: url(../images/icon_training.png) top center no-repeat; }
        #boxes a.team div { background: url(../images/icon_team.png) top center no-repeat; }
        #boxes a.records div { background: url(../images/icon_records.png) top center no-repeat; }
        #boxes a.achievement div { background: url(../images/icon_achievement.png) top center no-repeat; }
        #boxes a.pins div { background: url(../images/icon_pins.png) top center no-repeat; }
        #boxes a.williams div { background: url(../images/icon_williams.png) top center no-repeat; }


/*** RACE DATES ***/
#raceDates {
    padding: 30px 0;
    background: #1b447f;
    color: #fff;
    font-size: 20px;
    color: #9db9e1; }

    #raceDates .wrapper div {
        float: left;
        margin: 0 20px;
        box-sizing: border-box; }

    #raceDates h2 { 
        margin: 10px 0 0;
        color: #fff; }

    #raceDates .font_geo {
        display: block;
        font-size: 30px; }

    #raceDates .current { color: #FFE17A; }


/*** IMAGE CAROUSEL ***/
#imageCarousel { 
    padding: 0;
    position: relative; }

    #imageCarousel .crsl-item { width: auto !important; }

    #imageCarousel_nav a {
        width: 50px;
        height: 60px;
        position: absolute;
        top: 50%;
        margin-top: -25px;
        z-index: 999;
        opacity: 0.5; }

        #imageCarousel_nav a.previous { 
            left: 10px;
            background: url(../images/icon_prev.png) center no-repeat #000; }

        #imageCarousel_nav a.next { 
            right: 10px;
            background: url(../images/icon_next.png) center no-repeat #000; }

        #imageCarousel_nav a:hover { opacity: 0.7; }


/*** NEWSLETTER ***/
#newsletter {
    background: url(../images/newsletter_bg.jpg) center no-repeat;
    background-size: cover;
    color: #fff;
    position: relative;
    overflow: hidden; }

    #newsletter .bg {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 47%;
        z-index: 0;
        border-top: 100vh solid #e83f3b;
        border-right: 40vw solid transparent;
        opacity: 0.7; }

    #newsletter .col { 
        position: relative;
        z-index: 1; }

        #newsletter h2 { 
            margin: 16px 0 20px;
            color: #fff; }

        #newsletter form {
            width: 100%;
            float: left;
            margin: 50px 0 0;
            border: 2px solid #ffe17a;
            border-radius: 3px;
            box-sizing: border-box;
            position: relative; }

            #newsletter form .text {
                width: 75%;
                padding: 15px 20px;
                float: left;
                background: none;
                border: none;
                font: inherit;
                font-size: 15px;
                color: #fff;
                box-sizing: border-box; }

            #newsletter form .submit {
                width: 25%;
                float: left;
                padding: 17px;
                margin: 0 !important;
                background: #ffe17a;
                border: none;
                font: inherit;
                font-size: 15px;
                box-sizing: border-box;
                cursor: pointer; }

    #newsletter form .formBg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        background: #000;
        opacity: 0.5; }


/*** SPONSORS ***/
#sponsors img { margin: 0 20px; }


/*** INFO OVERVIEW ***/
#infoOverview.borderTop { border-top: 1px solid #eaeaea; }

#infoOverview ul, .infoOverview ul { padding: 0 10px; }

    #infoOverview ul li, .infoOverview ul li {
        width: 50%;
        float: left;
        padding: 10px;
        box-sizing: border-box; }

        #infoOverview ul li a, .infoOverview ul li a {
            display: block;
            padding: 30px 20px;
            background: #f1f1f2;
            border: 1px solid #e0e0e0;
            color: #222;
            font-weight: bold; }

            #infoOverview ul li a:hover, .infoOverview ul li a:hover {
                background: #e9e9e9;
                text-decoration: none; }

    #infoOverview ul li span, .infoOverview ul li span {
        display: block;
        padding: 0 15px 0 0;
        background: url(../images/icon_moreArrow.png) right no-repeat; }

.infoOverview {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 999;
    padding: 15px 0;
    background: #fbfbfb;
    border-bottom: 1px solid #eaeaea;
    box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.15);
    text-align: left; }


/*** FILTER ***/
.filter { 
    padding: 0 0 30px;
    margin: 0 0 30px;
    border-bottom: 1px solid #EAEAEA; }

.selectWrap { 
    display: inline-block;
    margin-top: -5px;
    background: url(../images/select_arrow.png) right 10px center no-repeat #fff;
    border: 1px solid #E0E0E0;
    box-sizing: border-box;
    overflow: hidden;
    vertical-align: middle; }

    .selectWrap select {
        width: 130%;
        min-width: 100px;
        padding: 5px 15px 5px 5px;
        border: none;
        box-shadow: none;
        background: transparent;
        background-image: none;
        -webkit-appearance: none;
        font: inherit;
        font-size: 13px;
        color: #000; }

    .selectWrap option { padding: 3px; }


/*** SPONSORS ***/
ul.sponsors {
    width: 100%;
    float: left;
    text-align: center; }

ul.sponsors li { display: inline; }


/*** MEDIA ***/
#gallery {
    width: 100%;
    float: left;
    text-align: center; }

    #gallery img {
        display: inline;
        margin: 10px; }


/*** CONTACT ***/
form#contact {
    width: 100%;
    float: left;
    margin: 0 0 20px; }

    form#contact .row {
        width: 100%;
        float: left;
        margin: 0 0 20px; }

    form#contact .half {
        width: 48%;
        float: left; }

        form#contact .half.right { float: right; }

    form#contact label { 
        display: block;
        margin: 0 0 5px; }

    form#contact input.text, form#contact textarea, form#contact input.submit {
        width: 100%;
        float: left;
        padding: 10px;
        background: #f1f1f2;
        border: none;
        font: inherit;
        font-size: 14px;
        box-sizing: border-box; }

    form#contact textarea { 
        height: 200px;
        resize: none; }

    form#contact input.submit {
        padding: 15px 10px;
        background: #1B447F;
        color: #fff;
        cursor: pointer; }

    form#contact input.submit:hover { background: #0E3164; }


/*** FOOTER ***/
footer {
    width: 100%;
    float: left;
    padding: 60px 0;
    background: #384049;
    color: #cbcbcb;
    font-size: 15px; }

    footer h4 { 
        margin: 0 0 30px;
        color: #fff;
        font-weight: normal; }

    footer span { color: #fff; }

    footer .social a {
        width: 32px;
        height: 32px;
        float: left;
        margin: 0 10px 0 0;
        opacity: 0.5; }

        footer .social a.facebook { background: url(../images/icon_facebook.png) no-repeat; }
        footer .social a.twitter { background: url(../images/icon_twitter.png) no-repeat; }
        footer .social a.flickr { background: url(../images/icon_flickr.png) no-repeat; }

        footer .social a:hover { opacity: 1; }

    footer img.ad { 
        display: block;
        margin: 0 auto; }


/*** MEDIA QUERIES ***/
@-ms-viewport { width: device-width; }

@viewport { width: device-width; }


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

    a.more {
        background: url(../images/icon_moreArrow@2x.png) right no-repeat;
        background-size: 7px; }
    
    header .content .social a.facebook, footer .social a.facebook { 
        background: url(../images/icon_facebook@2x.png) no-repeat;
        background-size: 32px; }
    
    header .content .social a.twitter, footer .social a.twitter { 
        background: url(../images/icon_twitter@2x.png) no-repeat;
        background-size: 32px; }
    
    header .content .social a.flickr, footer .social a.flickr { 
        background: url(../images/icon_flickr@2x.png) no-repeat;
        background-size: 32px; }
        
    header .content .topRight ul li .submenu {
        background: url(../images/nav_arrow@2x.png) top center no-repeat;
        background-size: 15px; }
    
    header .content form .text {
        background: url(../images/icon_search@2x.png) right center no-repeat;
        background-size: 24px; }
    
    nav > ul li a.active {
        background: url(../images/nav_arrow@2x.png) bottom center no-repeat;
        background-size: 15px; }
    
    nav#mobile a.close {
        background: url(../images/icon_close@2x.png) no-repeat;
        background-size: 18px; }
    
    #boxes a.race div { 
        background: url(../images/icon_raceday@2x.png) top center no-repeat;
        background-size: 108px; }
    
    #boxes a.course div { 
        background: url(../images/icon_course@2x.png) top center no-repeat;
        background-size: 108px; }
    
    #boxes a.training div { 
        background: url(../images/icon_training@2x.png) top center no-repeat;
        background-size: 108px; }
    
    #boxes a.team div { 
        background: url(../images/icon_team@2x.png) top center no-repeat;
        background-size: 108px; }
    
    #boxes a.records div { 
        background: url(../images/icon_records@2x.png) top center no-repeat;
        background-size: 108px; }
    
    #boxes a.achievement div { 
        background: url(../images/icon_achievement@2x.png) top center no-repeat;
        background-size: 108px; }
    
    #imageCarousel_nav a.previous { 
        background: url(../images/icon_prev@2x.png) center no-repeat #000;
        background-size: 30px; }

    #imageCarousel_nav a.next { 
        background: url(../images/icon_next@2x.png) center no-repeat #000;
        background-size: 30px; }
    
    #infoOverview ul li span, .infoOverview ul li span {
        background: url(../images/icon_moreArrow@2x.png) right no-repeat;
        background-size: 7px; }
    
    .selectWrap { 
        background: url(../images/select_arrow@2x.png) right 10px center no-repeat #fff;
        background-size: 9px; }

}

/*** 1440px ***/
@media all and (max-width: 1440px) {
    
    #main .content { padding: 120px 20px 40px; }
    
    nav { font-size: 14px; }
    
        nav > ul li { margin: 0 10px; }
    
}


/*** 1280px ***/
@media all and (max-width: 1280px) {
    
    nav { font-size: 12px; }
    
        nav > ul li { margin: 0 8px; }
    
}

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

    .wrapper { width: 100%; }
    
    header .social, header.inner form { display: none; }
    
    header#sticky .content { display: block; }
    
    nav ul { display: none; }
    
    header a#mobileBtn { display: block; }
    
    nav#mobile, nav#mobile ul { display: block; }

}


/*** 900px ***/
@media all and (max-width: 900px) {
    
    #twitter_feed { display:none; }
}

/*** 800px ***/
@media all and (max-width: 800px) {
    
    #main .content { padding: 120px 20px 40px; }

    #latestNews ul li { 
        width: 50%;
        margin: 15px 0; }
    
    #boxes li { width: 50%; }
    
    #raceDates { text-align: center;}
    
    #raceDates .wrapper div { 
        width: 25%;
        margin: 0; }
    
        #raceDates .wrapper .title { 
            width: 100%;
            margin: 0 0 20px; }
    
    .col_4 { 
        width: 50%;
        margin: 15px 0; }
    
    .col.single { width: 100%; }
    
    #newsletter .bg { display: none; }
    
        #newsletter h2 { margin-top: 0; }

        #newsletter .col_6 { width: 100%; }
        
        #inner_header_menu { margin-left: 50px;}
    

}


@media all and (max-width: 700px) {
    
    .hideMobile { display: none; }
   
}



/*** 520px ***/
@media all and (max-width: 520px) {
    
    header.inner .content, header#sticky .content { 
        padding-right: 20px;
        box-sizing: border-box; }
    
    header.inner, header#sticky { text-align: right; }

    #latestNews ul li { width: 100%; }
    
    .hideMobile { display: none; }
    
    #boxes li { width: 100%; }
    
    #imageCarousel_nav a { display: none; }

    .col_4, .col_6 { width: 100%; }

    #infoOverview ul li, .infoOverview ul li { width: 100%; }

    #infoOverview ul li a, .infoOverview ul li a { padding: 20px; }

    form#contact .half { width: 100%; }

    form#contact .half.right { margin: 20px 0 0; }

}

