@charset "UTF-8";



/* -----  Font Definitions  --------------------------------------------- */


/* @font-face {font-family: 'Swiss721BT';src: url('/assets/fonts/36BB52_1_0.woff2') format('woff2');font-weight: 700;} */

@font-face {
    font-family: "LasVegas";
    src: url("/assets/fonts/LasVegas-Castaways.woff") format('woff');
}


/* ----- Reset & Normalization  ---------------------------------------- */

*, *::before, *::after {
  margin: 0;
  padding: 0;
  border: none;
  box-sizing: border-box;
  list-style: none;
  font-family: "Open Sans", sans-serif;
}

article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section, summary {
  /* Add correct display for IE 9- and some newer browsers */
  display: block;
}

::-moz-selection {
  background: #222;
  color: #eee;
}

::selection {
  background: #222;
  color: #eee;
}

/* ----- General Typography  ------------------------------------------- */

h1, h2, h3, h4, h5, h6,
p, ul, ol, figure, pre {
  /* Reset font-sizes and normalize margins */
  font-size: inherit;
  line-height: inherit;
  margin: 0 0 1.5rem;
}

/* Links */
a {
  color: inherit;
  text-decoration: none;
  cursor:pointer;
}


/* Global Misc */
img {
  border-style: none;
  max-width: 100%;
  height: auto;
  max-height:100%;
}
ul {
  padding-left:20px;
}
footer ul {
  padding-left:0;
}


/* The Clearfix™: A classic … */
.cf::after {
  content: "";
  display: block;
  height: 0;
  overflow: hidden;
  clear: both;
}


.container.boxed {
  max-width:1100px;
  margin:0 auto;
}
.c-90 {
  width: 90%;
}
.c-80 {
  width: 80%;
}
.c-70 {
  width: 70%;
}

h1 {
  font-family: "LasVegas",sans-serif;
}
h2 {
  font-size:1.5vw;
}
h3 {
  text-transform:uppercase;
  margin-bottom:8px;
}
.button {
  color:white;
  padding:12px 20px;
  letter-spacing:1px;
}
p {
  line-height:28px;
}


/* Header */
header {
  position:fixed;
  top:0;
  width:100%;
  height:80px;
  transition: background 0.18s ease-out, border 0.18s ease-out;
  border-bottom:1px solid transparent;
  z-index:10;
}
header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height:100%;
}
header .logo {
  padding:10px 0;
  width:auto;
  height:100%;
}
header .logo img {
  padding-bottom:6px;
}

header .menu {
  padding-left:3%;
  padding-top:8px;
  height:100%;
}
header .menu ul {
  display:flex;
  height:100%;
  align-items:center;
}
header .menu li {
  display:inline-block;
}
header .menu a {
  padding:10px 20px;
  font-weight:900;
  display: inline-block;
  white-space: nowrap;
}
header.scrolled {
  background:white;
  border-color:#eee;
}




/* Footer */
footer {
  background:#fafafa;
  padding-top:40px;
  margin-top:80px;
}
footer .col-3.image {
  padding-right:5%;
}
footer ul li {
  padding:4px 0;
}
footer .cpy {
  font-size:12px;
}



/* Heros */
.hero {
  height:50vw;
  background-size:cover;
  background-position:50% 50%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero .content {
  background: white;
  padding: 4vw;
  box-shadow: 0px 0px 0px 5px rgba(255,255,255,0.8);
}
.hero h1 {
  font-size:4vw;
  margin-bottom:42px;
  line-height:3.7vw;
  letter-spacing:0.3vw;
  text-transform: uppercase;
  margin-top:6px;
}
.hero .subtitle {
  text-transform: uppercase;
  font-size:14px;
  font-size: 12px;
  color: #aaa;
}
.home .hero {
  justify-content: flex-start;
  padding-left: 12vw;
}
.hero a {
  font-size:14px;
  text-transform:uppercase;
}

.hero h1.faded {
  text-shadow: 0px 0px 15px black;
  color: white;
  font-size: 5vw;
}


.faq-block {
  padding:20px;
}
.faq-block .q {
  font-size:18px;
}
.faq-block .a {

}

.get-sponsor-section {
  background:#fafafa;
  padding:60px 0;
  text-align:center;
}
#donate {
  padding-top:60px;
}




/* Multi-section page */
.page-nav {
  padding:60px 0;
  text-align:center;
  background:#fafafa;
}
.page-nav a {
  text-transform: uppercase;
  padding: 30px;
  font-size: 14px;
  letter-spacing:1px;
  font-weight:600;
}
.page-nav a:hover {
  text-decoration:underline;
}

.split {
  display:flex;
  align-items: stretch;
}
.split .bg {
  background-size:cover;
  background-position:50% 50%;
}
.split .text {
  padding:6vw;
}
.split .left {
  width:50vw;
}
.split .right {
  width:50vw;
}



.race-section ul, .race-section li {
  list-style:disc
}
#course {
  text-align: center;
  background: #fafafa;
  padding: 110px 0;
  background-size: contain;
  background-position: 50% 100%;
  background-repeat: no-repeat;
}
#course a {
  margin:0px 20px;
}
#course p a {
  display:inline;
  margin:0;
}
#location {
  padding:60px 0;
  border-top:1px solid #eee;
}



.contact-form {
  padding-left:20px;
}
.contact-form label {
  font-size:11px;
  text-transform:uppercase;
}
.contact-form input {
  width: 100%;
  background: #f4f4f4;
  padding: 12px;
  font-size: 14px;
  margin-bottom: 12px;
  outline:none;
}
.contact-form textarea {
  width:100%;
  resize:vertical;
  padding: 12px;
  font-size: 14px;
  background: #f4f4f4;
  min-height:150px;
  outline:none;
  margin-bottom:12px;
}
.contact-form button {
  cursor:pointer;
  outline:none;
}

/* */



.cs-section {
  padding-top:90px;
}



.cs-section.padding.px_30 {
  padding-bottom:30px;
}
.cs-section.padding.px_60 {
  padding-bottom:60px;
}
.cs-section.padding.px_90 {
  padding-bottom:90px;
}
.cs-section.padding.px_120 {
  padding-bottom:120px;
}


.cs-section .grid-2x1 > div {
  width:48%;
  margin:0px 1% 1%;
  float:left;
}
.cs-section .grid-2x1 > div img  {
  width:100%;
}
.cs-section .grid-4x2 > div {
  width: 24.4%;
  float: left;
  margin: 0px 0.3% 0.3%;
}

.cs-bigimage img {
  width:100%;
}

.blurb ul, .blurb ul li {
  list-style:disc;
}
.blurb ul li {
  padding:8px 0;
}

.horiz-slider {
  width:100vw;
  overflow-x:hidden;
  min-height:40vw;
  margin-bottom:10px;
}
.horiz-slider.in-container {
  width:100%;
}
.horiz-slider .meta {
  text-align:center;
}
.horiz-slider img {
  width:100%;
  cursor: grab;
  cursor: -webkit-grab;
}
.horiz-slider img:active  {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}
.swiper-nav {
  text-align:center;
}
.swiper-nav > div {
  display: inline-block;
  cursor:pointer;
  font-family:'AndaleMono';
}
.swiper-nav > .swiper-next {
  padding:10px 2px;
}
.swiper-nav > .swiper-prev {
  padding:10px 2px;
}
.horiz-slider .swiper-page .swiper-pagination-bullet, .vert-slider .swiper-page .swiper-pagination-bullet {
  margin: 18px 6px 0;
  height: 12px;
  width: 12px;
  background: #ccc;
  font-size:14px;
  transition: opacity 0.18s ease-out;
  outline:none;
}



.cs-section .cs-video iframe {
  width: 90vw;
  height: 48vw;
}



/* BEGIN MOBILE BREAKDOWN */
@media screen and (max-width:768px) {
  header {
    position: static;
    height:auto;
    border-bottom:0;
  }
  header .container {
    display:block;
  }
  header .logo {
    width: 50%;
    margin: 0 auto;
  }
  header .menu {
    padding:0;
  }
  header .menu ul {
    padding:0;
    border-top:1px solid #efefef;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    background: #fafafa;
    margin-bottom: 0;
    display:block;
    text-align:center;
    white-space: nowrap;
    background: linear-gradient(to right, #efefef 0%, white 2%, white 98%, #efefef 100%);
  }
  header .container {
    margin: 0;
    width:100%;
  }
  header .menu a {
    padding:10px 12px;
  }

  .hero h1 {
    font-size: 9vw;
    line-height: 9vw;
    margin-bottom:20px;
  }
  .home .hero {
    padding-left:4vw;
  }
  .hero .content {
    padding: 7vw 4vw;
    width:92vw;
  }
  .hero {
    height:100vw;
  }
  .hero h1.faded {
    font-size:9vw;
    padding:0 6vw;
  }
  .cs-section .grid-4x2 > div {
    width: 48%;
    margin: 0px 1% 1%;
  }
  .cs-section .grid-2x1 > div {
    width: 100%;
    margin: 0 0 2% 0;
  }

  .split {
    display:block;
  }
  .split .right, .split .left {
    width:100%;
  }
  h2 {
    font-size:6vw;
  }
  #course a {
    display:block;
    margin-bottom:12px;
  }
  .page-nav a {
    width:100%;
    display:block;
    padding:10px;
  }


  .contact-form {
    padding:20px 0 0 0;
  }


  footer .col-3.image {
    display:none;
  }

}
