/* Master layout */

@font-face {
	font-family: 'Montserrat-Regular';
	src: url('../fonts/Montserrat-Regular.eot');
	src: local('☺'), url('../fonts/Montserrat-Regular.woff') format('woff'),
					 url('../fonts/Montserrat-Regular.ttf') format('truetype'),
					 url('../fonts/Montserrat-Regular.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Montserrat-Medium';
	src: url('../fonts/Montserrat-Medium.eot');
	src: local('☺'), url('../fonts/Montserrat-Medium.woff') format('woff'),
					 url('../fonts/Montserrat-Medium.ttf') format('truetype'),
					 url('../fonts/Montserrat-Medium.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Montserrat-Light';
	src: url('../fonts/Montserrat-Light.eot');
	src: local('☺'), url('../fonts/Montserrat-Light.woff') format('woff'),
					 url('../fonts/Montserrat-Light.ttf') format('truetype'),
					 url('../fonts/Montserrat-Light.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Montserrat-Bold';
	src: url('../fonts/Montserrat-Bold.eot');
	src: local('☺'), url('../fonts/Montserrat-Bold.woff') format('woff'),
					 url('../fonts/Montserrat-Bold.ttf') format('truetype'),
					 url('../fonts/Montserrat-Bold.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}

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

}

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

}

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

}

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

}

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

}

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

}

/************************************************************
Global styles */

/* Partial CSS Reset */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-tap-highlight-color:  rgba(0, 0, 0, 0);
}
html, body {
	height: 100%;
	width: 100%;
	-webkit-text-size-adjust: 100%;
}
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, select, input, option {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
	display: block;
}
blockquote, q{
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
audio, canvas, video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
	height: 0;
}
pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word
}
button {
	cursor: pointer;
}
:focus {
	outline:none;
}

table {
	border: 0 none;
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
td {
	vertical-align: top;
}

/* End Reset */

body {
	font-family: 'Montserrat-Light';
	font-size: 14px;
	line-height: 1;
}

[role="button"],
input[type="button"],
button {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	-webkit-transition: all 0.3s ease 0s; 
	-moz-transition: all 0.3s ease 0s;
	-ms-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
/* Reset `button` and button-style `input` default styles */
input[type="button"],
button {
  background: none;
  border: 0;
  color: inherit;
  /* cursor: default; */
  font: inherit;
  line-height: normal;
  overflow: visible;
  padding: 0;
  -webkit-appearance: button; /* for input */
  -webkit-user-select: none; /* for button */
  -moz-user-select: none;
  -ms-user-select: none;
  cursor: pointer;
}
input::-moz-focus-inner,
button::-moz-focus-inner {
  border: 0;
  padding: 0;
  outline: none;
}

/* Make `a` like a button */
[role="button"] {
  color: inherit;
  cursor: default;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  white-space: pre;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

button::-moz-focus-inner {
  border: 0;
}


/* Links */
a {
	color:inherit;
	outline:none;
	-webkit-transition: all 0.3s ease 0s; 
       -moz-transition: all 0.3s ease 0s;
        -ms-transition: all 0.3s ease 0s;
         -o-transition: all 0.3s ease 0s;
            transition: all 0.3s ease 0s;
}
	
a:link,
a:visited,
a:hover,
a:active {
	text-decoration:none;
	outline: none;
}

#main a:not([class]),
a:not([class]):hover {
	color: #da0201;
}

#main a:not([class]) {
	font-family: 'Montserrat-Bold';
}

#main a:not([class]):hover {
	text-decoration: underline;
}

a img {
	border:none;
}
img {
	max-width:100%;
	height: auto;
}
a[href^="tel:"] {
	color:inherit;
	cursor:inherit;
}

textarea {
    resize: none;
}

/* Default Placeholder styles */
::-webkit-input-placeholder {
/* WebKit browsers */
    color: #bec0c0;
}
:-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
    color: #bec0c0;
    opacity: 1;
}
::-moz-placeholder {
/* Mozilla Firefox 19+ */
    color: #bec0c0;
    opacity: 1;
}
:-ms-input-placeholder {
/* Internet Explorer 10+ */
    color: #bec0c0;
    opacity: 1;
}


/* Headings */
h1,h2,h3,h4,h5,h6 {
  font-family: 'oswalddemibold';
}
h1 {
  font-size: 54px;
  text-transform: uppercase;
}
h2 {
  font-family: 'Montserrat-Bold';
  font-size: 34px;
  line-height: 40px;
  padding-bottom: 24px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
h3 {
	font-size: 24px;
	text-transform: uppercase;
	 padding-bottom: 14px;
}
h4 {

}
p {
	font-family: 'Montserrat-Light';
	font-size: 14px;
	line-height: 22px;
}
p + *:not(ul) {
	margin-top: 26px;
}
/* Block-level */

address {
	font-style:inherit;
}

/*************************
   Generic Site Styles
*************************/
.flexbox {
    display: flex; 
    flex-wrap: wrap;
    align-items: stretch; 
    justify-content: flex-start;
}

.table {
  display: table;
  width: 100%;
  height: 100%;
  table-layout: fixed;
  float: none !important;
}
.table.page{
  max-width: 1100px;
  margin: 0 auto;
}

main .table.page,
.table.auto-height {
  height: auto;
}

.table.auto-width {
  width: auto;
}

.table.auto-all {
  height: auto;
  width: auto;
}

main .table.page {
  max-width: 1100px;
}
.row {
  display: table-row;
}
.cell {
  display: table-cell;
  vertical-align: top;
  height: 100%;
  float: none !important;
}
.padding {
  padding: 0px 20px;
}
.padding-left {
  padding-left: 20px;
}
.padding-right {
  padding-right: 20px;
}
.middle {
  vertical-align: middle;
}
.bottom {
  vertical-align: bottom;
}
.table-header-group {
  display: table-header-group;
}
.table-footer-group {
  display: table-footer-group;
}

/* Text alignment */
.align-left { text-align:left !important; }
.align-center { text-align:center !important; }
.align-right { text-align:right !important; }

.hide {
  display: none !important;
}

.relative {
  position: relative;
}

.full-size {
  width: 100%;
  height: 100%;
  display: block;
}

.btn {
	font-size: 14px;
	line-height: 18px;
	display: inline-block;
	padding: 16px 30px;
	background-color: #5190cd;
	text-transform: uppercase;
	border-radius: 30px; 
	font-family: 'Montserrat-Medium';
	transition: all 0.3s ease 0s;
	font-weight: normal !important;
}

.btn:hover {
	background-color: #2b2b2b;
	color: #5190cd;
}

.btn.alt {
	background: transparent;
	border: 1px solid #d9d8d8;
	color: #d9d8d8;
}

.btn.alt:hover {
	background-color: #da0201;
	border-color: #da0201;
}

.btn.alt.dark {
	color: #272727;
	border-color: #272727;
	cursor: pointer;
}
.btn.alt.dark:hover {
	color: #FFF;
}

* + .btn {
	margin-top: 26px;
}

/************************************************************
Miscellaneous */

/* Container class to make iFrames responsive */
.frame-contain {
	position: relative;
	height:0;
	max-width:100%;
	overflow: hidden;
	padding-bottom: 56.25%; /* 16:9 */
							/* 75% = 4:3 */
}

.frame-contain iframe {
	position: absolute;
	top:0;
	left:0;
	height:100% !important;
	width:100% !important;
}

/* Fix extra button padding in Firefox */
input[type="submit"]::-moz-focus-inner {
	border:none;
	padding:0;
	line-height:1;
}

#header nav {
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	display: block;
	z-index: 999;
	padding: 0 58px 0 0;
}

#header nav:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #2b2b2b; 
	position: absolute;
	top:0;
	left: 0;
	opacity: 0;
	z-index: -1;
	transition: all 0.3s ease 0s;
}

.fixed #header nav:before,
.inner #header nav:before {
	opacity: 1;
}

.mobile-nav-btn {
	display: none;
}

.mobile-nav-btn span {
	display: block;
	text-align: center;
	text-transform: uppercase;
	font-size: 20px;
	padding: 5px;
}

.mobile-nav-btn span:before {
	content: "Menu";
	display: block;
}

.mobile-nav-btn span:after {
	content: "Close";
	display: none;
}

.mobile-nav-btn .is-active + span:before {
	display: none;
}

.mobile-nav-btn .is-active + span:after {
	display: block;
}


.navigation > ul {
	list-style: none;
/* 	justify-content: flex-end; */
}

.navigation ul,
.navigation ul li,
.mobile-nav ul,
.mobile-nav ul li {
	list-style: none;
}

.navigation *::marker {
	list-style: none;
	display: none !important;
}

.navigation > ul > li {
	position: relative;
}

.navigation .sub-menu {
	display: block;
	position: absolute;
	top: 100%;
	right: -30px;
	width: auto;
	background: #e8e8e8;
	padding: 20px 0;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease 0s; 
}

.navigation > ul > li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
}

.navigation .sub-menu:before {
	content: "";
	display: block;
	height: 0px;
	width: 0px;
	border-left: 18px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #e8e8e8;
	position: absolute;
	top: -19px;
	right: 38px;
}

.navigation .sub-menu li {
	display: block;
}

.navigation > ul > li + li {
	padding-left: 40px;
}

.navigation > ul > li > a {
	font-family: 'oswalddemibold';
	font-size: 28px;
	line-height: 32px;
	letter-spacing: 0.06em;
	color: #FFF;
	text-transform: uppercase;
	padding: 58px 0 25px;
	display: block;
	transition: all 0.3s ease 0s;
}

.navigation > ul > li:hover > a {
	color: #da0201;
}

.navigation .sub-menu a {
	font-family: 'oswalddemibold';
	font-size: 20px;
	line-height: 26px;
	letter-spacing: 0.06em;
	color: #2b2b2b;
	text-transform: uppercase;
	display: block;
	transition: all 0.3s ease 0s;
	white-space: nowrap;
	padding: 15px 28px 7px;
	text-align: right;
}

.navigation .sub-menu > li:hover a {
	color: #da0201;
	text-decoration: underline;
}

.logo {
	margin-right: auto;
}

.navigation > ul > li.logo a,
.mobile-nav li.logo a {
	padding: 14px 72px 18px 58px;
	position: relative;
	z-index: 0;
	overflow: hidden;
	display: block;
}

.navigation > ul > li.logo a:before,
.mobile-nav li.logo a:before {
	content: "";
	position: absolute;
	display: block;
    height: 100vh;
	width: 100vw;
	left: 0;
	top: 0;
	z-index: -1;
	background: url(/images/layout/header-bg.jpg) scroll no-repeat left top transparent;
	background-size: 100% 100%;
	opacity: 0;
	transition: all 0.3s ease 0s;
}

.fixed .navigation > ul > li.logo a:before,
.inner .navigation > ul > li.logo a:before,
.fixed .mobile-nav li.logo a:before,
.inner .mobile-nav li.logo a:before {
	opacity: 1;
}

#header > .cell {
	height: 0px;
}

#callout-section {
	height: 540px;
}

#footer {
	background: url(/images/layout/footer-bg.jpg) no-repeat scroll center center #ba8850;
	background-size: 100% 100%;
}

#footer > .cell {
	height: 145px;
	background-color: rgba(17, 17, 17, 0.8);
}

#footer .footer {
	height: 100%;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

#footer .footer > div:not(.social-media) {
	flex-grow: 1;
}

#footer .social-media {
	width: 120px;
	justify-content: space-around;
	align-items: center;
	
}

#footer .social-media a {
	font-size: 18px;
	color: #FFF;
}

#footer .footer-left {
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
}

.footer-nav,
.footer-nav > ul {
	display: block;
	font-size: 0;
}

.footer-nav,
.footer-nav > ul,
.footer-nav li {
	list-style: none;
}

.footer-nav li {
	display: inline-block;
}

.footer-nav a {
	font-size: 14px;
	line-height: 1.24;
	color: #FFF;
	display: block;
	font-family: 'Montserrat-Medium';
	text-transform: uppercase;
}

.footer-nav li + li a:before {
	content: "";
	display: inline-block;
	width: 2px;
	height: 17px;
	background-color: #FFF;
	margin: 0px 12px;
	vertical-align: text-bottom
}

.footer-content {
	font-family: 'Montserrat-Light';
	font-size: 12px;
	color: #FFF;
	line-height: 1.24;
	display: block;
	padding-top: 8px;
}

#footer .jb-logo {
	align-content: center;
	justify-content: flex-end;
	text-align: right;
	font-size: 10px;
	font-family: 'Montserrat-Light';
	color: #FFF;
}
#footer .jb-logo > div {
	display: flex;
	justify-content: center;
	flex-direction: column;
}
#footer .jb-logo img {
	width: 77px;
}

.red {
	color: #da0201;
}
.blue {
	color: #5190cd;
}

ul {
    list-style-type: none;
}

#main ul:not([class]),
#tinymce ul:not([class]) {
	display: block;
	padding: 0px 0px 0px 8px;
}
#main * + ul:not([class]),
#tinymce * + ul:not([class]) {
	padding-top: 8px;
}
#main ul:not([class]) + *,
#tinymce ul:not([class]) + *  {
  margin-top: 8px;
}
#main ul:not([class]) li,
#tinymce ul:not([class]) li {
	display: block;
	padding: 5px 0px 5px 15px;
	position: relative;
}
#main ul:not([class]) li + li,
#tinymce ul:not([class]) li + li {
	margin-top: 6px;
}
#main ul:not([class]) li:before,
#tinymce ul:not([class]) li:before {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	background-color: #da0201;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 10px;
}

#main ol:not([class]),
#tinymce ol:not([class]) {
	margin-left: 20px;
}


.right-side {
	width: 38%;
	padding-left: 60px;
}

/* Race Schedule List */

.list-schedule li {
	
	line-height: 32px;
	padding-left: 15px;
}

li.grey {
	background-color: #e4e4e4;
		
}