/************* 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: #f5f5f5;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	line-height: normal;
	color: #222; }

ul { list-style: none; }

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

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0; }

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

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

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

strong { font-weight: bold; }

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

/*** FONT STYLES ***/
h1, h2, h3, h4, h5, h6 { font-family: 'Archivo Narrow', sans-serif; }

h1 { 
	font-size: 30px; 
	font-weight: none;
	margin: 0 0 20px;}

a { 
	color: #b50937;
	text-decoration: none; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: #222; }
	
a:hover { text-decoration: underline; }

p { margin: 1em 0; }

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

.wrapper_home {
    width: 100%;
	max-width: 1380px;
	margin: 0 auto; }


/*** COLUMNS ***/
.col_row {
    margin-left: -10px;
    margin-right: -10px;
    clear: both; }

.col {
    float: left;
    padding: 10px; }

.col_12 { width: 100%; }
.col_9 { width: 75%; }
.col_6 { width: 50%; }
.col_4 { width: 33.3334%; }
.col_3 { width: 25%; }

table.findEvent a.btn {
	background: #e2e2e2 !important;
	color: #999999 !important; }
		
	table.findEvent a.btn:hover {
		background: #cccccc !important;
		color: #786666 !important; }

.calendar_filter_btns {  float:right; }

.eventDetails .column1, .eventDetails .column2, .eventDetails .column3 {
	width: 30%;
	padding-right: 10px;
	float: left; }

.eventDetails .column3 {
	padding-right: 0; float: right; }

.manage_filter .selectWrap .textbox { 
	height: 35px;
	width: 100%; }

.clearBoth {
	clear: both; }

.txtCenter {
	text-align: center; }

/*** STYLED SELECT ***/
.styled-select {
    width: 55px;
    height: 26px;
    float: left;
    margin: -4px 0 0 8px;
    background: url(../images-runnb/icon_drop.png) center right 5px no-repeat;
    border: 1px solid #d4d4d4;
    overflow: hidden; }

    .styled-select select {
        width: 70px;
        height: 24px;
        padding: 0 5px;
        background: transparent;
        border: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none; }

.runNB_calendar_month_header_row {
	text-align: center;
	background: #05483a;
	font-weight: bold;
	color: white;
}

.runnb_prov_champs { font-size:16px; font-weight:bold; color: #dfa400; padding-bottom: 20px; }
.runnb_prov_champs img { width:25px !important; height: 31px !important; border: 0 !important; padding: 0 !important; float:left; margin-right: 10px; } 
.runnb_prov_champs span { vertical-align: middle; } 

.box .topList { margin-top: 15px; }

.box a, .entries_list a { text-decoration: underline; }
.box a:hover, .entries_list a:hover { text-decoration: none; }

a.registrant_name_link { color: #4a4a4b !important; }
a.registrant_name_link:hover { color: #000000 !important; }

.enable_reg_btn {
	display: block; 
	color: white !important; 
	padding: 10px; 
	font-size: 15px; 
	background: #098d6e; 
	max-width:450px !important; 
	margin: auto; 
	text-align: center; 
	text-decoration: none;
}

.enable_reg_btn:hover {
	background: #0d624e; 
	text-decoration: none;
}

#onlineRegFeatures {
	float:right; 
	width: 620px; 
	font-size:10px; 
	margin-top: -10px; 
	max-width: 100%; }

/*** NAV MOBILE ***/
#navOverlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1000;
    background: rgba(0,0,0,0.3);
    opacity: 0;
    transition: all 0.2s linear; }

    #navOverlay.open {
        z-index: 998;
        opacity: 1; }

nav.mobile {
    width: 320px;
    height: 100%;
    position: fixed;
    top: 0;
    left: -320px;
    bottom: 0;
    z-index: 999;
    background: #333E3C;
    overflow: auto;
    font-family: 'Archivo Narrow', sans-serif;
    font-size: 14px;
    transition: left 0.5s ease; }

    nav.mobile.open { left: 0; }

    nav.mobile a.close {
        width: 54px;
        height: 64px;
        float: right;
        position: relative;
        text-align: center;
        color: #9BA3A1;
        line-height: 64px; }

        nav.mobile a.close:hover {
            color: #fff;
            text-decoration: none; }

        nav.mobile a.close span {
            width: 24px;
            height: 2px;
            display: block;
            position: absolute;
            top: 50%;
            margin-top: -1px;
            left: 50%;
            margin-left: -12px;
            background: #9BA3A1; }

            nav.mobile a.close span:first-child { transform: rotate(-45deg); }
            nav.mobile a.close span:last-child { transform: rotate(45deg); }

    nav.mobile > ul > li {
        width: 100%;
        float: left; }

        nav.mobile > ul > li > a {
            height: 50px;
            display: block;
            padding: 15px 20px;
            background: #202625;
            border-bottom: 1px solid #333E3C;
            color: #fff;
            font-size: 16px; }

            nav.mobile > ul > li > a:hover { background: #171919; }

            nav.mobile li a:hover { 
                color: #fff;
                text-decoration: none; }

            nav.mobile li a.drop {
                width: 50px;
                height: 50px;
                float: right;
                padding: 0;
                font-family: 'Roboto', sans-serif;
                font-size: 25px;
                line-height: 50px;
                text-align: center;
                color: #FFD000;
                border-left: 1px solid #333E3C; }

    nav.mobile ul ul { 
        width: 100%;
        float: left;
        display: none;
        padding: 10px 0; }

        nav.mobile ul ul li { 
            width: 50%;
            float: left; }

            nav.mobile ul ul li a {
                display: block;
                padding: 10px 0 10px 20px;
                color: #9BA3A1; }


/*** HEADER ***/
#headerWrap {
    width: 100%;
    float: left;
    height: 109px; }

header#header {
    width: 100%;
    float: left;
    position: relative;
    top: 0;
    z-index: 100;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    font-family: 'Archivo Narrow', sans-serif;
    transition: all 0.5s ease; }

    header#header.sticky { position: fixed; }

    header#header.sticky nav#sub { height: 5px; }

        header#header.sticky nav ul { display: none; }

        header#header.sticky .top nav#nav a.mobile { display: block; }

    header#header .top {
        width: 100%;
        height: 64px;
        float: left;
        position: relative;
        background: #fff;
        font-size: 16px;
        line-height: 64px; }

        header#header .top .logo { float: left; }

        header#header .top a { 
            display: block;
            color: #222; }

        header#header .top nav#nav { 
            height: 100%;
            float: left;
            border-left: 1px solid #d4d4d4; }

            header#header .top nav#nav ul { height: 64px;  }
			
			header#header .top nav#nav li { 
                height: 100%;
                float: left;
                margin: 0 0 0 20px; }

                header#header .top nav#nav li a {
                    height: 100%;
                    float: left; }

				header#header .top nav#nav li a:hover { 
                    text-decoration: underline; }

                header#header .top nav#nav li a.active { 
                    border-bottom: 4px solid #b50937;
                    text-decoration: none; }
            
            header#header .top nav#nav a.mobile { 
                width: 30px;
                float: left;
                margin: 16px 0 0 20px;
                display: none;
                opacity: 0.5; }

                header#header .top nav#nav a.mobile span {
                    height: 4px;
                    display: block;
                    margin: 5px 0;
                    background: #222; }

                header#header .top nav#nav a.mobile:hover { 
                    text-decoration: none;
                    opacity: 1; }

        header#header .top .right { float: right; }

            header#header .top .right .guide {
                float: left;
                padding: 0 20px 0 35px;
                background: url(../images-runnb/icon_guide2.png) left no-repeat;
                border-right: 1px solid #d4d4d4; }
                
            header#header .top .right .mem_card {
                float: left;
                padding: 0 20px 0 35px;
                background: url(../images/mem_card.png) left no-repeat; }

            header#header .top .right .lang {
                float: left;
                padding: 0 20px;
                border-right: 1px solid #d4d4d4; }

            header#header .top .right .social {
                float: left;
                padding: 0 18px;
                border-right: 1px solid #d4d4d4; }

                header#header .top .right .social a {
                    width: 24px;
                    height: 24px;
                    display: inline-block;
                    margin: 0 1px;
                    vertical-align: middle; }

                header#header .top .right .social a.facebook { background: url(../images-runnb/icon_facebook.png); }
                header#header .top .right .social a.twitter { background: url(../images-runnb/icon_twitter.png); }

            header#header .top .right .search {
                width: 60px;
                height: 64px;
                float: left; }

                header#header .top .right .search a { 
                    height: 100%;
                    display: block;
                    background: url(../images-runnb/icon_search.png) center no-repeat; }

        header#header .top .searchForm {
            width: 100%;
            height: 64px;
            position: absolute;
            top: -100%;
            background: #fff;
            transition: top 0.5s ease; }

            header#header .top .searchForm.open { top: 0; }

            header#header .top .searchForm > form { 
                height: 100%;
                display: block;
                padding: 12px 20px;
                margin-right: 60px; }

                header#header .top .searchForm input.text {
                    width: 100%;
                    height: 100%;
                    float: left;
                    padding: 0 10px 0 40px;
                    background: url(../images-runnb/icon_search.png) center left 10px no-repeat #F5F5F5;
                    border: 1px solid #ddd;
                    font-family: 'Roboto', sans-serif;
                    font-size: 15px; }

                header#header .top .searchForm input.submit { display: none; }

            header#header .top .searchForm a.close {
                width: 61px;
                height: 64px;
                float: right;
                position: relative;
                border-left: 1px solid #d4d4d4; }

                header#header .top .searchForm a.close span {
                    width: 24px;
                    height: 2px;
                    display: block;
                    position: absolute;
                    top: 50%;
                    margin-top: -1px;
                    left: 50%;
                    margin-left: -12px;
                    background: #222; }

                    header#header .top .searchForm span:first-child { transform: rotate(-45deg); }
                    header#header .top .searchForm span:last-child { transform: rotate(45deg); }

    header#header nav#sub {
        width: 100%;
        height: 45px;
        float: left;
        background: #b50937;
        font-size: 14px;
        line-height: 45px; }

        header#header nav#sub li { 
            height: 45px;
            float: left;
            margin: 0 0 0 20px; }

        header#header nav#sub a { 
            height: 100%;
            float: left;
            color: #ebc5c5; }

            header#header nav#sub a:hover { 
                color: #fff;
                text-decoration: underline;
                border-bottom: none; }
                
            header#header nav#sub a.active { 
                color: #fff;
                text-decoration: none;
                border-bottom: 4px solid #fff; }


/*** HEADER TITLES ***/
header.title {
    width: 100%;
    float: left;
    padding-bottom: 13px;
    margin: 10px 0 10px;
    border-bottom: 2px solid #dadada; }

    header.title h3 {
        float: left;
        margin: 0;
        font-size: 15px;
        font-weight: 700;
        text-transform: uppercase; }

    header.title .btns { 
        float: right;
        font-size: 13px;
        color: #aaa; }

    header.title .btns span.divider { margin: 0 6px; }


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

section.inner { 
    padding: 30px 20px 40px;
    background: #fff; }

.wrapper_home section { padding: 0 290px; }

.wrapper_home aside {
    width: 290px;
    float: left;
    padding: 20px; }

    .wrapper_home aside.left { margin-left: -290px; }
    
    .wrapper_home aside.right { 
        float: right;
        padding-top: 0px;
        margin-right: -290px; }

    .wrapper_home aside.left .logo { margin: 0 auto 5px; }

    .wrapper_home aside ul.events { 
        width: 100%;
        float: left;
        margin-top: 10px; }

        .wrapper_home aside ul.events li { 
            width: 100%;
            float: left;
            margin-bottom: 15px;
            color: #888;
            font-size: 12px; }

            .wrapper_home aside ul.events li:last-child { margin-bottom: 0; }

            .wrapper_home aside ul.events li .date {
                width: 35px;
                height: 35px;
                float: left;
                margin-right: 7px;
                border: 1px solid #b50937;
                text-align: center;
                color: #b50937;
                font-family: 'Archivo Narrow', sans-serif;
                font-size: 10px;
                font-weight: 700;
                line-height: 14px; }

                .wrapper_home aside ul.events li .date strong {
                    display: block;
                    margin-top: 3px;
                    font-size: 16px; }

            .wrapper_home aside ul.events li div { 
                margin-top: -3px;
                overflow: hidden; }

            .wrapper_home aside ul.events li h4 { 
                font-size: 15px;
                font-weight: 700; }

    .wrapper_home aside.left .addEvent {
        width: 100%;
        float: left;
        padding: 7px 0;
        margin-top: 30px;
        background: #b50937;
        color: #fff;
        font-family: 'Archivo Narrow', sans-serif;
        font-size: 15px;
        text-align: center; }

        .wrapper_home aside.left .addEvent:hover {
            background: #9e062e;
            text-decoration: none; }

.wrapper_home aside.right ul.programs { 
    width: 100%;
    float: left;
    margin-top: 10px; }

    .wrapper_home aside.right ul.programs li {
        width: 100%;
        float: left;
        margin: 0 0 15px; }

        .wrapper_home aside.right ul.programs li:last-child { margin-bottom: 0; }

        .wrapper_home aside.right ul.programs li img {
            width: 100%;
            float: left;
            margin-bottom: 7px; }

        .wrapper_home aside.right ul.programs li h4 {
            float: left;
            margin: 0;
            font-size: 14px;
            font-weight: 700; }

        .wrapper_home aside.right ul.programs li a.more {
            float: right;
            margin-top: 1px;
            font-size: 12px; }

.wrapper_home aside.right ul.sponsors {
    width: 100%;
    float: left;
    margin-top: 10px; }

    .wrapper_home aside.right ul.sponsors li {
        width: 100%;
        float: left;
        margin: 0 0 15px; }

        .wrapper_home aside.right ul.sponsors li:last-child { margin-bottom: 0; }

        .wrapper_home aside.right ul.sponsors li img {
            width: 100%;
            float: left; }

.wrapper_home aside.right .links ul {
    width: 100%;
    float: left;
    margin-top: 10px;
    font-size: 12px; }

.wrapper_home aside.right .links a { color: #222; }

    .wrapper_home aside.right .links ul li {
        width: 50%;
        float: left;
        padding: 0 10px 0 22px;
        margin-bottom: 10px; }

        .wrapper_home aside.right .links ul li:nth-child(2n+1) { clear: both; }

        .wrapper_home aside.right .links ul li.guide { background: url(../images-runnb/icon_guide.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.programs { background: url(../images-runnb/icon_programs.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.calendar { background: url(../images-runnb/icon_calendar.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.faqs { background: url(../images-runnb/icon_faqs.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.results { background: url(../images-runnb/icon_results.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.records { background: url(../images-runnb/icon_records.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.times { background: url(../images-runnb/icon_times.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.rankings { background: url(../images-runnb/icon_rankings.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.awards { background: url(../images-runnb/icon_awards.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.clubs { background: url(../images-runnb/icon_clubs.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.hof { background: url(../images-runnb/icon_hof.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.education { background: url(../images-runnb/icon_education.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.photos { background: url(../images-runnb/icon_photos.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.contact { background: url(../images-runnb/icon_contact.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.facebook { background: url(../images-runnb/icon_facebook2.png) top left no-repeat; }
        .wrapper_home aside.right .links ul li.twitter { background: url(../images-runnb/icon_twitter2.png) top left no-repeat; }

    .wrapper_home aside.right .links ul.social { 
        padding-top: 20px;
        border-top: 2px solid #d4d4d4; }

.wrapper_home main {
    width: 100%;
    float: left;
    padding: 20px 20px 40px;
    background: #fff; }

    .wrapper_home main .banner {
        width: 100%;
        float: left; }

    .wrapper_home .bannerSmall { 
        display: none;
        margin-top: 10px; }

        .wrapper_home main .banner, .wrapper_home .bannerSmall img { 
            width: 100%;
            float: left; }


/*** HOME NEWS ***/
#homeNews { 
    width: 100%;
    float: left;
    margin-top: 20px; }

    #homeNews .col h3 {
        margin: 0 0 10px;
        font-size: 15px;
        font-weight: 700; }

    #homeNews .latestPic { 
        width: 100%;
        float: left;
        margin-bottom: 10px; }

    #homeNews .meta { color: #aaa; }

    #homeNews ul li {
        width: 100%;
        float: left;
        padding-bottom: 15px;
        margin-bottom: 15px;
        border-bottom: 1px solid #dadada; }

        #homeNews ul li:last-child { 
            padding: 0;
            margin: 0;
            border-bottom: 0; }


/*** HOME STANDINGS ***/
#homeStandings .ageFilter { 
    width: 100%;
    float: left;
    margin: 10px 0 0; }

    #homeStandings .ageFilter a {
        min-width: 50px;
        float: left;
        padding: 3px 7px;
        margin: 0 3px 3px 0;
        background: #e2e2e2;
        border-radius: 3px;
        color: #999;
        text-align: center; }

        #homeStandings .ageFilter a:last-child { margin-right: 0; }

        #homeStandings .ageFilter a:hover { 
            background: #ccc;
            color: #666;
            text-decoration: none; }

        #homeStandings .ageFilter a.active { 
            background: #b50937;
            color: #fff; }

#homeStandings table { 
    width: 100%;
    float: left;
    margin-top: 10px; }

    #homeStandings table th, #homeStandings table td { padding: 4px; }

    #homeStandings table th { font-weight: 700; }

    #homeStandings table th.cat {
        background: #333;
        color: #fff;
        text-align: center; }

    #homeStandings table tr td:nth-child(1), #homeStandings table tr td:nth-child(3) { width: 50px; }

    #homeStandings table tr:nth-child(odd) { background: #f3f3f3; }

/*** FOOTER ***/
footer {
    width: 100%;
    float: left;
    padding: 30px 0;
    background: #333e3c;
    color: #bbc1c0; }

footer .wrapper_home, footer .wrapper { padding: 0 20px; }

    footer .logo { 
        float: left;
        margin-right: 20px; }

    footer div > div { 
        float: left;
        margin-top: 5px; }

    footer a { color: #fff; }

    footer .trackie { 
        float: right;
        margin-top: 7px; }
	
	
/*** MEDIA QUERIES ***/
@-ms-viewport { width: device-width; }
@viewport { width: device-width; }


/*** RETINA ***/
@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	header#header .top .right .social a.facebook { background: url(../images-runnb/icon_facebook@2x.png); background-size: 24px; }
    header#header .top .right .social a.twitter { background: url(../images-runnb/icon_twitter@2x.png); background-size: 24px; }    
    header#header .top .right .guide { background: url(../images-runnb/icon_guide2@2x.png) left no-repeat; background-size: 29px; }
    header#header .top .right .mem_card { background: url(../images-runnb/mem_card@2x.png) left no-repeat; background-size: 29px; }
    header#header .top .right .search a { background: url(../images-runnb/icon_search@2x.png) center no-repeat; background-size: 24px; }
}


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

    .wrapper_home section { padding: 0 260px; }
    
    .wrapper_home aside { width: 260px; }
    
        .wrapper_home aside.left { margin-left: -260px; }
        .wrapper_home aside.right { margin-right: -260px; }
    
    #homeNews .col, #homeStandings .col { width: 100%; }
    
    #homeNews ul li:first-child {
        padding-top: 15px;
        border-top: 1px solid #dadada; }
    
}


/*** 1024px ***/
@media all and (max-width: 1090px) {
    
    body { background: #fff; }
    
    header#header .top nav ul, header#header .top .guide, header#header nav#sub ul { display: none; }
    
    header#header nav#sub { height: 5px; }
    
    header#header .top nav#nav a.mobile { display: block; }
    
    .wrapper_home { padding: 0 20px; }
    
    .wrapper_home main .banner { display: none; }

    .wrapper_home .bannerSmall { display: block; }
    
    .wrapper_home section { padding: 0; }
    
    .wrapper_home aside { 
        width: 100%;
        padding: 0; }
    
        .wrapper_home aside.left, .wrapper_home aside.right { margin: 0; }
    
        .wrapper_home aside.left .logo { display: none; }
    
        .wrapper_home aside .col:not(.links) { width: 50%; }
    
        .wrapper_home aside.right .links ul li { width: 33.3334%; }
    
        .wrapper_home aside.right .links ul li:nth-child(2n+1) { clear: none; }
        .wrapper_home aside.right .links ul li:nth-child(3n+1) { clear: both; }
    
    .wrapper_home main { 
        padding: 0;
        background: none; }
    
    #homeNews .col, #homeStandings .col { width: 50%; }
    
    #homeNews ul li:first-child {
        padding-top: 0;
        border-top: none; }
        
        #onlineRegFeatures { 
	        float:none; 
	        clear: both; 
	        width: 100%; 
	        font-size: 10px; 
	        margin-top: 0px;
	        margin-bottom: 15px; }
}

/*** 1000px ***/
@media all and (max-width: 1000px) {
    .hideMobile2 { display: none; }
    
    .eventDetails .column1, .eventDetails .column2, .eventDetails .column3 {
		width: 100%;
		padding: 0;
		float: none;
		clear:both; }
}

/*** 700px ***/
@media all and (max-width: 700px) {
    
    .calendar_filter_btns { float: none; clear: both; }
    
    .hideMobile3 { display: none; }
    
    #homeNews .col, #homeStandings .col { width: 100%; }
    
    #homeNews ul li:first-child {
        padding-top: 15px;
        border-top: 1px solid #dadada; }
    
}


/*** 600px ***/
@media all and (max-width: 600px) {
    
    .wrapper_home aside .col { width: 100% !important; }
    
}


/*** 480px ***/
@media all and (max-width: 480px) {
    
    header#header .top .right .social { display: none; }
    
    .wrapper_home aside.right .links ul li { width: 50%; }
    
    .wrapper_home aside.right .links ul li:nth-child(2n+1) { clear: both; }
    .wrapper_home aside.right .links ul li:nth-child(3n+1) { clear: none; }
    
}


/*** 414px ***/
@media all and (max-width: 414px) {
    
    header#header .top .right .lang { display: none; }
    
}



