@charset "utf-8";

body { margin: 0; padding: 0; /*max-width:1263px; margin:0 auto;*/  }
body, table, input, textarea, select { color:#373737; font-size: 14px; font-family: 'Open Sans', sans-serif;  }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block;}

.last { margin-right: 0px !important; }
.top0 { margin-top: 0px !important; } .top5 { margin-top: 5px !important; } .top10 { margin-top: 10px !important; } .top15 { margin-top: 15px !important; }
.bot0 { margin-bottom: 0px !important; } .bot5 { margin-bottom: 5px !important; }
.clear { clear: both; }
img { border: none; }
.left { float: left; }
.right { float: right; }
p { margin: 18px 0px; }

.cf:before,.cf:after { content: " "; display: table;}
.cf:after {clear: both;}
.cf { *zoom: 1;}
hr.style-two {
    height: 12px;
    border: 0;
    box-shadow: inset 0 12px 12px -12px rgba(0, 0, 0, 0.1);
}
.img-responsive{display: block;max-width: 100%; height: auto;}
a{ color:#363636; transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; outline:none; }

.table { display: table; border-collapse: collapse; }
.table .row { display: table-row; }
.table .row .cell { display: table-cell; }

*{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

#wrapper { }
.width{width:1200px; margin:0 auto; padding:0 15px; position:relative;}
#header{position:relative; z-index:101;}
#header-top{ background:#373737; height:45px; border-bottom:5px solid #ffffff; display:none;}

#race-menu{ float:left; padding:0 10px 0 0; border-right:3px solid #737373;}
#race-menu ul{ margin:0; padding:0; list-style-type:none; }

#race-menu ul li{ float:left; font-size:80%; font-weight:700; color:#9b9b9b; text-transform:uppercase; padding:0; margin:0 15px; line-height:40px; }
#race-menu ul li.first{ margin:0;}
#race-menu ul li.first:after{ content:'>';color:#9b9b9b; width:18px; text-align:right; display:inline-block; }
#race-menu ul li a{ font-size:80%; font-weight:700; color:#9b9b9b; text-transform:uppercase; text-decoration:none; padding-bottom:0; display: inline-block; vertical-align:top; }
#race-menu ul li a span.location { border-bottom:2px solid transparent; display: inline-block; height: 40px; }
#race-menu ul li a:hover span.location,#race-menu ul li a.active span.location{ color:#fff; border-bottom:2px solid #fff;}
#race-menu ul li a span.logo{ display:inline-block; width:36px; text-align:center; vertical-align:middle; height:30px;}
#race-menu ul li.first a span.logo{ height:34px; width:45px; display:inline-block; vertical-align:middle;}

#top-menu{ float:left; padding:0;}
#top-menu ul{ margin:0 0 0 12px; padding:0; list-style-type:none;}
#top-menu ul li{ float:left; margin:0 8px;font-size:80%; font-weight:700; position:relative;}
#top-menu ul li a{ font-size:80%; font-weight:700; color:#9b9b9b; text-transform:uppercase; text-decoration:none; border-bottom:2px solid transparent; padding:13px 0 12px 0; display:block;}
#top-menu ul li a:hover{ color:#fff; border-bottom:2px solid #fff;}
#top-menu ul li ul{  visibility: hidden; opacity: 0; position: absolute; left: 0; top: 60px; margin: 0; background: #fff; min-width: 175px; padding: 10px; border-bottom: 3px solid #afafaf; white-space: nowrap;
-webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.2); -moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.2); box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.2);
transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; z-index:999;}
#top-menu ul li:hover ul{visibility: visible; opacity: 1; top: 40px; }
#top-menu ul li ul li{ margin:0; float:none;}
#top-menu ul li ul li a{ padding:5px 10px; display:block; text-transform:none; font-size:100%;}
#top-menu ul li ul li a,#top-menu ul li ul li a:hover{ border:none;}
#top-menu ul li ul li a:hover{ color:#000;}

#social-menu{ float:left; display1:none !important; margin-top:21px; }
#social-menu ul{ margin:0; padding:0; list-style-type:none;}
#social-menu ul li{ float:left; margin-left:10px;}
#social-menu ul li a{ width:20px; height:20px; display:block; }
#social-menu ul li .youtube-icon{ background:url(../images/youtube-icon.png) no-repeat 0 0;}
#social-menu ul li .twitter-icon{ background:url(../images/twitter-icon.png) no-repeat 0 0;}
#social-menu ul li .fb-icon{ background:url(../images/fb-icon.png) no-repeat 0 0;}
#social-menu ul li a:hover{ background-position:left bottom; }

#header-bottom{ height:90px; background:url(../images/header-bg.jpg)  repeat-x 0 0; padding:12px 0; -moz-box-shadow:0 4px 2px 0px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 4px 2px 0px rgba(0, 0, 0, 0.1);box-shadow:0 4px 2px 0px rgba(0, 0, 0, 0.1); position:relative; z-index:100;}
#header-bottom .logo, #header-bottom .tcgl-logo{ float:left;}
#header-bottom .tcgl-logo {float: left; font-size:10px; text-align:center; margin:-7px 10px 0 -18px;}
#header-bottom .tcgl-logo img {display:block; height:62px; margin-top:2px;}
#header-bottom .uphillemg-logo {float: right; font-size:10px; text-align:center; margin-top:-5px;}
#header-bottom .uphillemg-logo img {display:block; height:50px; margin-top:2px;}
#main-menu{ float:left;}
#main-menu ul{ margin:20px 15px 0 18px; padding:0; list-style-type:none;}
#main-menu ul li{ float:left; margin-left:20px; position: relative;}
#main-menu ul li a{ font-family: 'Open Sans Condensed', sans-serif; font-size:17px; font-weight:700; color:#da251c; text-decoration:none; text-transform:uppercase;border-bottom:3px solid transparent; padding-bottom:7px;}
#main-menu ul li:hover>a,#main-menu ul li a.active{ color:#373737; border-bottom:3px solid #afafaf;}

#main-menu ul li>ul { visibility: hidden; opacity: 0; position: absolute; left: 0; top: 60px; margin: 0; background: #fff; width: 190px; padding: 10px 0; border: 1px solid #afafaf; border-bottom: 3px solid #afafaf; white-space1: nowrap;
transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; }
#main-menu ul li:hover>ul { visibility: visible; opacity: 1; top: 33px; }
#main-menu ul li ul li { float: none; margin: 0; border-top: 1px solid #ccc; }
#main-menu ul li ul li:first-child { border-top: none; }
#main-menu ul li ul li a { padding: 5px 10px; text-transform: none; border-bottom: none; display: block; font-family: 'Open Sans', sans-serif; font-size:13px; font-weight:400; color: #373737; }
#main-menu ul li ul li a:hover, #main-menu ul li ul li:hover>a { background-color: #DA251C; color: #fff; }
#main-menu ul li ul li:hover>a { border-bottom: none; }
#main-menu ul li>ul>li>ul {left:188px;top:10px;}
#main-menu ul li ul li:hover>ul {top:0;}

#mobile-menu{ display:none;}
#mobile-menu-icon{ display:none;}

footer{ background:#373737;}
footer .width{ padding:25px 0;}
#menu{ float:left; margin:0; padding:0; list-style-type:none;}
#menu li{ float:left; margin:0 15px;}
#menu li a{ font-size:90%; color:#fff; text-decoration:none;}
#menu li a:hover{ text-decoration:underline;}
.design-by{font-size:85%; font-weight:600; color:#737373; float:right;}
.design-by a{ color:#737373; text-decoration:none; }
.design-by a:hover{ color:#fff;}

#logos{ background1:#fff url(../images/footer-banner.png) no-repeat center bottom; background-color: #fff; background-size:100% auto; box-shadow:10px 0 10px rgba(0, 0, 0, 0.2); margin-top: 670px;}
#logos h3{ text-align:center; font-size:18px; font-family: 'Lato', sans-serif; color:#616161; font-weight:400; text-transform:uppercase; margin-bottom:25px; margin-top:0; padding-top:40px;}
.sponsors{ margin:0; padding:30px 0 25px; list-style-type:none; text-align:center; -moz-box-shadow:0 10px 10px rgba(0, 0, 0, 0.1); -webkit-box-shadow:0 10px 10px rgba(0, 0, 0, 0.1); box-shadow:0 10px 10px rgba(0, 0, 0, 0.1); }
.sponsors li{ display:inline-block; width:170px; height:120px; overflow:hidden; border1:1px solid #d9d9d9; background:#fff; margin:0 20px 0;padding:10px 0; -webkit-transition: 0.3s all; -moz-transition: 0.3s all; transition: 0.3s all;}
.sponsors li:hover { border-color: #373737; }
.sponsors li a{ text-decoration:none; color:#da251c; font-size:12px; display:block; }
.sponsors li span{display:table-cell; text-align:center; vertical-align:middle; width:168px; height:90px;}
.sponsors li img{ margin-top:5px;}

.partners-logo{ margin:0; padding:0 0 25px 0; list-style-type:none; text-align:center;}
.partners-logo li{ display:inline-block; width:170px; height:135px; overflow:hidden; border1:1px solid #d9d9d9; background:rgba(255,255,255,0.5); margin:0 10px 0 10px;padding:10px 0; -webkit-transition: 0.3s all; -moz-transition: 0.3s all; transition: 0.3s all;}
.partners-logo li a{ text-decoration:none; color:#da251c; font-size:12px; display:block; }
.partners-logo li:hover { border-color: #373737; }
.partners-logo li span{display:table-cell; text-align:center; vertical-align:middle; width:168px; height:90px;}
.partners-logo li img{ margin-top:5px; max-height:79px;}

/* Form */
.reg-form { background: #f0f0f0; padding-bottom: 15px; position: relative; }
.reg-form .reg-form-title { background: #DA251C; color: #fff; padding: 8px; margin-bottom: 15px; }
.reg-form p.info { padding: 15px; font-size: 12px; margin: 0; color: #ff0000; }
form .control { margin-bottom: 15px; padding: 0 15px; }
form .control .left { width: 25%; text-align: right; }
form .control .right { width: 73%; }
form .alt { background-color: #dbdbdb; padding: 15px 0 5px; margin-bottom: 15px; }
form .control div.info { margin-top: 5px; font-size: 11px; color: #DA251C; }
form .control div.error, div.reg-error { color: #ff0000; font-size: 13px; padding: 15px; }
form .control span.mandatory {color: #ff0000;}
form .control input[type=text], form .control input[type=file], form .control textarea, form .control select, form .control .text { width: 100%; border: 1px solid #ddd; font-size: 13px; padding: 0px 15px; color: #271F16; background-color: #fff; position: relative; outline: none; display: inline-block; }
form .control input[type=text], form .control input[type=file], form .control input[type=submit], form .control input[type=reset], form .control input[type=button], form .control select { height:30px; line-height: 30px; }
form .control input[type=submit], form .control input[type=reset], form .control input[type=button] { padding: 0 15px; }
form .control input[type=text].error, form .control input[type=password].error, form .control textarea.error, form .control select.error { border: 1px solid #ff0000; box-shadow: 0 0 5px rgba(104,57,70,0.5); }
form .control.disabled input[type=text], form .control.disabled input[type=password], form .control.disabled textarea, form .control.disabled select { color: #ddd; border-color: #ededed; box-shadow: none; }
form .control.disabled div.error { display: none; }
form .control input:focus, form .control textarea:focus, form .control select:focus, form .control .text:hover { box-shadow: 0 0 5px  rgba(0,0,0,0.3); }
form .control textarea { padding: 15px; }
form .control select { padding1: 6px 10px 7px 10px; }
form .control select.over { border-radius: 0px; width: auto; }
form .control ::-webkit-input-placeholder { }
form .control ::-moz-placeholder { }
form .control :-ms-input-placeholder { }
form .control input:-moz-placeholder, form .control textarea:-moz-placeholder { }
form .control .disabled::-webkit-input-placeholder { color: #ccc; }
form .control .disabled::-moz-placeholder { color: #ccc; }
form .control .disabled:-ms-input-placeholder { color: #ccc; }
form .control input.disabled:-moz-placeholder, form .control textarea.disabled:-moz-placeholder { color: #ccc; }
form .control select.default { color: #b0b0b0; }
form .control select.default option { color: #5f6a7d; }
form .control select option[default] { color: #b0b0b0; }
form .control .text { background: #f7f7f7; }
input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea, input[type="file"], input[type="checkbox"], input[type="radio"], select { margin: 0px 5px 0 0 !important; }

form .control input[type=submit], form .control input[type=button] { background: #DA251C; cursor: pointer; margin: 0; border: 1px solid #DA251C; text-transform: uppercase; color: #fff; }
form .control input[type=submit]:hover, form .control input[type=button]:hover { background:#ba150c; border: 1px solid #ba150c; }

form .browse { position: relative; cursor: pointer; }
form .browse .hide { opacity: 0; filter: alpha(opacity=0); position: absolute !important; z-index: 2; width: 100%; height: 30px; }
form .browse .show { left: 0; position: relative; top: 0; z-index: 1; }
form .browse .show input { margin-bottom: 0; }
form .browse .action { position: absolute; right: -1px; top: 0; background: #DA251C; color: #FFFFFF; padding: 0px 10px; height:30px; line-height:30px; transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; -webkit-transition: all 0.2s ease-in-out; }
form .browse:focus input { box-shadow: 0 0 5px #ffbbb6; }
form .refresh { border: 1px solid #874A5D; padding: 1px 1px 3px 1px; cursor: pointer; margin-left: 5px;}

form .overlap { position: relative; }
form .overlap .captcha { position: absolute; right: 0px; top: 0px; }
form .overlap .captcha #imgCaptcha { height: 40px; }

form .control .discount-note{ font-size:90%;}

.note { position: absolute; bottom: 0; right: 0; background: #DA251C; color: #fff; padding: 5px 12px; font-size: 13px; }
.button {text-align:center;}
.button a {background-color:#da251c; padding:5px 15px; display:inline-block; vertical-align:top; color:#fff; text-decoration:none; margin:0 5px;}
.button a:hover {background-color:#ba150c; color:#fff !important;}

#race-location.rtr-banner{ height:auto; background:url(../images/rtr-adv-bg.jpg) center top repeat-x;}