/* ==========================================================================
   CSS RESET v2.0 http://meyerweb.com/eric/tools/css/reset/
   ========================================================================== */
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* User specific resets */
html {
  font-size: 10px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  line-height: 1.5;
  text-align: center;
}

/* Remove annoying border on linked images. */
a img {
  border: none;
}

/* Remove Firefox dotted border on links */
a {
  outline: none;
}

legend {
  display: table;
  float: left;
  width: 100%;
}

legend + * {
  clear: both;
}

fieldset {
  padding: 0.01em 0 0 0;
  min-width: 0;
}

body:not(:-moz-handler-blocked) fieldset {
  display: table-cell;
}

h1 {
  border-top: 1px solid white;
  color: white;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.3;
  margin: 2rem 0 0;
  padding-top: 2rem;
  text-align: left;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  h1 {
    font-size: 1.7rem;
  }
}

h1 em {
  display: none;
}

h2 {
  color: #5ccbf4;
  font-size: 2rem;
  letter-spacing: .05em;
  line-height: 1;
  margin-bottom: 4rem;
  position: relative;
  text-align: center;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  h2 {
    font-size: 2.5rem;
    margin-bottom: 8rem;
  }
}

h2 span {
  background-color: #192531;
  border: 1px solid #5ccbf4;
  border-radius: 2.5rem;
  display: inline-block;
  padding: 0.25em 1em;
  position: relative;
  z-index: 2;
}

h2:after {
  background-color: #5ccbf4;
  content: ' ';
  display: block;
  height: 1px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  width: 100%;
  z-index: 1;
}

h3 {
  color: white;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1.3;
  margin-bottom: 30px;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  h3 {
    font-size: 2rem;
  }
}

@media (min-width: 1025px) {
  h3 {
    font-size: 2.3rem;
  }
}

h4 {
  color: #02396f;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.3;
  text-transform: uppercase;
}

h4:not(:last-child) {
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  h4:not(:last-child) {
    margin-bottom: 2rem;
  }
}

@media (min-width: 768px) {
  h4 {
    font-size: 1.8rem;
  }
}

p {
  color: white;
  font-size: 1.4rem;
  line-height: 1.5;
}

@media (min-width: 768px) {
  p {
    font-size: 1.6rem;
  }
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  color: #192531;
  text-decoration: none;
  -webkit-transition: color 0.5s ease-in-out 0s;
  transition: color 0.5s ease-in-out 0s;
}

@media (min-width: 768px) {
  a:hover {
    color: white;
  }
}

strong {
  font-weight: 700;
}

.wf-loading h1, .wf-loading h2, .wf-loading h3, .wf-loading h4, .wf-loading h5, .wf-loading h6, .wf-loading p, .wf-loading ul, .wf-loading ol, .wf-loading a, .wf-loading input, .wf-loading label, .wf-loading span {
  visibility: hidden;
}

body {
  background-color: #192531;
  color: white;
  font-family: museo-slab, Helvetica, Arial, sans-serif;
  font-weight: 400;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
}

body.no-scroll, .review-active body {
  overflow: hidden;
}

main {
  background-color: #5ccbf4;
  position: relative;
}

section {
  background-color: #5ccbf4;
  position: relative;
  text-align: left;
  z-index: 1;
}

.container {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 114em;
  padding: 0 2rem;
  position: relative;
}

@media (min-width: 768px) {
  .container {
    padding-inline: 4rem;
  }
}

@media (min-width: 1025px) {
  .container {
    padding-inline: 5rem;
  }
}

.grid {
  width: 100%;
}

.grid-table {
  display: table;
  width: 100%;
}

.grid-table.vert-center {
  height: 100%;
}

.grid-table.vert-center .grid-cell {
  text-align: center;
  vertical-align: middle;
}

.grid-table .grid-row {
  display: table-row;
}

.grid-table .grid-cell {
  display: table-cell;
  vertical-align: top;
}

.col-2 {
  display: block;
  vertical-align: top;
  width: 100%;
}

@media (min-width: 768px) {
  .col-2 {
    display: inline-block;
    padding-right: 2em;
    width: 49.75%;
  }
  .col-2 + .col-2 {
    padding-left: 2em;
    padding-right: 0;
  }
}

.col-3 {
  display: block;
  vertical-align: top;
  width: 100%;
}

@media (min-width: 768px) {
  .col-3 {
    display: inline-block;
    padding-right: 2em;
    width: 33%;
  }
  .col-3 + .col-3 {
    padding-left: 1em;
    padding-right: 1em;
  }
  .col-3 + .col-3 + .col-3 {
    padding-left: 2em;
    padding-right: 0;
  }
}

html {
  z-index: 1;
}

@media (min-width: 600px) {
  html {
    z-index: 2;
  }
}

@media (min-width: 768px) {
  html {
    z-index: 3;
  }
}

@media (min-width: 1025px) {
  html {
    z-index: 4;
  }
}

@media (min-width: 1281px) {
  html {
    z-index: 5;
  }
}

.clearfix:after {
  clear: both;
  content: ' ';
  display: table;
}

.green {
  color: #61d058;
}

.img-fit {
  position: relative;
  overflow: hidden;
}

.img-fit img, .img-fit video, .img-fit iframe {
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

button {
  -webkit-appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  font-family: museo-slab, Helvetica, Arial, sans-serif;
  padding: 0;
}

button:focus {
  outline: none;
}

.btn {
  background-color: #61d058;
  border-radius: 3px;
  color: #192531;
  display: inline-block;
  font-size: 1.3em;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1;
  padding: 0.5em 1.5em;
  text-transform: uppercase;
  -webkit-transition: background-color 0.3s ease-in-out 0s;
  transition: background-color 0.3s ease-in-out 0s;
}

.btn:hover {
  background-color: #4eca44;
  color: #192531;
}

.text-btn {
  color: #5ccbf4;
  font-size: 2em;
  letter-spacing: .05em;
  line-height: 1;
  text-transform: uppercase;
  -webkit-transition: color 0.3s ease-in-out 0s;
  transition: color 0.3s ease-in-out 0s;
}

@media (min-width: 768px) {
  .text-btn {
    font-size: 2.4em;
  }
}

.text-btn:hover {
  color: white;
}

header {
  background-color: rgba(25, 37, 49, 0);
  left: 0;
  padding: 1.5rem 0 1rem;
  position: fixed;
  top: 0;
  -webkit-transition: background-color 0.3s linear 0s;
  transition: background-color 0.3s linear 0s;
  width: 100%;
  z-index: 2;
}

@media (min-width: 768px) {
  header {
    padding: 2.75rem 0 1.5rem;
  }
}

.review-active header {
  z-index: 1;
}

header.stuck {
  background-color: #192531;
}

header .container {
  align-items: baseline;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  max-width: none;
}

header a.title {
  color: #fd7908;
  display: inline-block;
  font-size: 1.7em;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  header a.title {
    font-size: 2.4em;
  }
}

header svg {
  fill: #5ccbf4;
  height: auto;
  width: 14rem;
}

@media (min-width: 768px) {
  header svg {
    width: 19.5rem;
  }
}

footer {
  background-color: #192531;
  padding: 6em 0 20em;
  position: relative;
  text-align: center;
}

@media (min-width: 768px) {
  footer {
    padding: 9em 0 30em;
  }
}

footer svg {
  display: inline-block;
  fill: #5ccbf4;
  height: auto;
  width: 180px;
}

.hero {
  min-height: 100vh;
  position: relative;
  text-align: center;
  z-index: 0;
}

.hero .vid-wrapper {
  background: black url(../img/video-bg.jpg) no-repeat center center;
  background-size: cover;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0%;
  width: 100vw;
  z-index: -1;
}

.hero .vid-wrapper iframe {
  height: 56.25vw;
  left: 50%;
  min-height: 100vh;
  min-width: 177.77vh;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
}

.hero .animation-wrapper {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-bottom: 50vh;
  min-height: 100vh;
  width: 100%;
}

.hero .animation {
  display: inline-block;
  margin: auto;
  padding: 6rem 0;
  text-align: left;
}

@media (max-width: 767px) and (orientation: portrait) {
  .hero .animation {
    padding-bottom: 12rem;
  }
}

@media (min-width: 768px) {
  .hero .animation {
    padding: 8rem 0;
  }
}

.hero .animation ul {
  text-transform: uppercase;
}

.hero .animation ul li {
  font-size: 4rem;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 1;
}

@media (min-width: 480px) {
  .hero .animation ul li {
    font-size: 4.5rem;
  }
}

@media (min-width: 768px) {
  .hero .animation ul li {
    font-size: 6.2rem;
  }
}

.hero .animation ul li .highlight {
  color: white !important;
}

.hero .animation ul li:first-child {
  color: #61d058;
}

.hero .animation ul li:nth-child(2) {
  color: #5ccbf4;
}

.hero .animation ul li:nth-child(3) {
  color: #fd7908;
}

.hero .animation ul li:nth-child(4) {
  color: #f435d6;
}

.hero .animation ul li:nth-child(5) {
  color: #5ccbf4;
}

.hero .animation ul li:nth-child(6) {
  color: #e6ce16;
}

.hero .animation ul li:nth-child(7) {
  color: #5ccbf4;
}

.hero .animation ul li:nth-child(8) {
  color: #fd7908;
}

@keyframes bounce {
  0% {
    top: 0;
  }
  100% {
    top: 2rem;
  }
}

.hero .scroll-indicator {
  bottom: 2rem;
  color: white;
  font-size: 1rem;
  left: 50%;
  letter-spacing: .05em;
  line-height: 1.2;
  opacity: 0;
  position: fixed;
  text-align: center;
  text-transform: uppercase;
  -webkit-transition: opacity 0.3s linear 0s;
  transition: opacity 0.3s linear 0s;
  -webkit-transform: translate3d(-50%, 0, 0);
  -ms-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
  width: 13rem;
  z-index: 2;
}

.hero .scroll-indicator.on {
  opacity: 1;
}

@media (max-width: 767px) and (max-height: 630px) {
  .hero .scroll-indicator {
    bottom: 0;
    top: 550px;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .hero .scroll-indicator {
    bottom: 2rem;
    left: auto;
    right: 2rem;
    top: auto;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    width: 6rem;
  }
}

@media (min-width: 768px) {
  .hero .scroll-indicator {
    bottom: 4rem;
    font-size: 1.2rem;
    left: auto;
    right: 4rem;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    width: 7rem;
  }
}

@media (min-width: 1025px) {
  .hero .scroll-indicator {
    bottom: 5rem;
    right: 5rem;
  }
}

@keyframes scroll {
  0% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 24px, 0);
    -ms-transform: translate3d(0, 24px, 0);
    transform: translate3d(0, 24px, 0);
  }
}

@media (min-width: 768px) {
  @keyframes scroll {
    0% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    100% {
      opacity: 0;
      -webkit-transform: translate3d(0, 30px, 0);
      -ms-transform: translate3d(0, 30px, 0);
      transform: translate3d(0, 30px, 0);
    }
  }
}

.hero .scroll-indicator .icon-scroll {
  border-radius: 2.5rem;
  box-shadow: inset 0 0 0 1px white;
  display: block;
  height: 4rem;
  margin: 1rem auto 0;
  position: relative;
  width: 2.5rem;
}

@media (min-width: 768px) {
  .hero .scroll-indicator .icon-scroll {
    height: 5rem;
    margin-top: 1.5rem;
    width: 3rem;
  }
}

.hero .scroll-indicator .icon-scroll .icon-track {
  background: white;
  border-radius: 4px;
  display: block;
  height: 6px;
  left: calc(50% - 3px);
  position: absolute;
  top: 6px;
  -webkit-transition: opacity transform linear 0s;
  transition: opacity transform linear 0s;
  width: 6px;
}

.hero .scroll-indicator .icon-scroll .icon-track.on {
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-name: scroll;
}

.hero .intro .container {
  max-width: 80rem;
}

.hero .intro p {
  color: #5ccbf4;
  font-size: 2.5rem;
  line-height: 1.4;
  margin-bottom: 50vh;
  text-align: center;
}

@media (min-width: 768px) {
  .hero .intro p {
    font-size: 3.5rem;
    font-weight: 300;
  }
}

@media (min-width: 1025px) {
  .hero .intro p {
    font-size: 4rem;
  }
}

.hero .intro p:last-of-type {
  margin-bottom: 6rem;
}

@media (min-width: 768px) {
  .hero .intro p:last-of-type {
    margin-bottom: 9rem;
  }
}

.hero .intro svg {
  height: auto;
  margin: 0 auto 50vh;
  width: 10em;
}

@media (min-width: 768px) {
  .hero .intro svg {
    width: 13.3rem;
  }
}

#agenda .container {
  display: flex;
  flex-flow: row wrap;
  row-gap: 3rem;
}

@media (min-width: 768px) {
  #agenda .container {
    row-gap: 4rem;
  }
}

#agenda .event-day {
  background-color: #070500;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding: 6em 0;
}

@media (min-width: 768px) {
  #agenda .event-day {
    padding: 15em 0;
  }
}

#agenda .event-day:first-child {
  background-image: url(../img/agenda-wed-bg-sml.jpg);
}

@media (min-width: 768px) {
  #agenda .event-day:first-child {
    background-image: url(../img/agenda-wed-bg-med.jpg);
  }
}

@media (min-width: 1281px) {
  #agenda .event-day:first-child {
    background-image: url(../img/agenda-wed-bg-lrg.jpg);
  }
}

#agenda .event-day:last-child {
  background-image: url(../img/agenda-thurs-bg-sml.jpg);
}

@media (min-width: 768px) {
  #agenda .event-day:last-child {
    background-image: url(../img/agenda-thurs-bg-med.jpg);
  }
}

@media (min-width: 1281px) {
  #agenda .event-day:last-child {
    background-image: url(../img/agenda-thurs-bg-lrg.jpg);
  }
}

#agenda .event-day h2 {
  width: 100%;
}

#agenda .event-day h3 {
  margin-bottom: 0;
  width: 100%;
}

@media (min-width: 768px) {
  #agenda .event-day h3 {
    width: 40%;
  }
}

@media (min-width: 1025px) {
  #agenda .event-day h3 {
    width: 33%;
  }
}

#agenda .event-day h3 + p {
  font-size: 1.4rem;
  margin-bottom: 0;
  width: 100%;
}

@media (min-width: 768px) {
  #agenda .event-day h3 + p {
    width: 60%;
  }
}

@media (min-width: 1025px) {
  #agenda .event-day h3 + p {
    width: 67%;
  }
}

#agenda .schedule {
  width: 100%;
}

#agenda .schedule li {
  background-color: rgba(230, 228, 208, 0.8);
  background-repeat: no-repeat;
  border: 2px solid rgba(230, 228, 208, 0.8);
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}

#agenda .schedule li:not(:last-child) {
  margin-bottom: 3em;
}

#agenda .schedule li .column.event-time {
  color: #02396f;
  font-size: 1.4em;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 2rem;
  width: 100%;
}

@media (min-width: 768px) {
  #agenda .schedule li .column.event-time {
    font-size: 1.6em;
    padding: 3rem;
    width: 23%;
  }
}

@media (min-width: 1025px) {
  #agenda .schedule li .column.event-time {
    padding: 4rem;
  }
}

@media (max-width: 767px) {
  #agenda .schedule li .column.event-time.no-time {
    padding-bottom: 0;
  }
}

#agenda .schedule li .column.event-description {
  padding: 0 2rem 2rem;
}

@media (min-width: 768px) {
  #agenda .schedule li .column.event-description {
    flex: 1;
    padding: 3rem 3rem 3rem 0;
  }
}

@media (min-width: 1025px) {
  #agenda .schedule li .column.event-description {
    padding: 4rem 4rem 4rem 0;
  }
}

#agenda .schedule li .column.event-description h4 {
  max-width: 470px;
}

#agenda .schedule li .column.event-description p {
  color: #02396f;
}

#agenda .schedule li .column.event-description p em {
  display: block;
  -webkit-font-smoothing: antialiased;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

#agenda .schedule li .column.event-description .btn {
  margin-top: 25px;
}

#agenda .schedule li .column.event-img {
  position: relative;
  width: 100%;
}

@media (min-width: 768px) {
  #agenda .schedule li .column.event-img {
    margin-left: auto;
    max-width: 30rem;
    width: 33%;
  }
}

#agenda .schedule li .column.event-img:after {
  content: ' ';
  display: block;
  padding-bottom: 67%;
  width: 100%;
}

@media (min-width: 768px) {
  #agenda .schedule li .column.event-img:after {
    content: none;
  }
}

#agenda .schedule li .column.event-img .bio {
  border-radius: 0;
  bottom: 0;
  color: white;
  left: 0;
  line-height: 1.1;
  padding: 0.5em 0.75em;
  position: absolute;
  z-index: 1;
}

#agenda .schedule li .bio-drawer {
  background-color: #c7d5db;
  max-height: 0;
  overflow: hidden;
  position: relative;
  -webkit-transition: max-height 0.3s linear 0s;
  transition: max-height 0.3s linear 0s;
  width: 100%;
}

#agenda .schedule li .bio-drawer.open {
  max-height: 900rem;
}

@media (min-width: 768px) {
  #agenda .schedule li .bio-drawer.open {
    max-height: 70rem;
  }
}

@media (min-width: 1025px) {
  #agenda .schedule li .bio-drawer.open {
    max-height: 60rem;
  }
}

#agenda .schedule li .bio-drawer .bio-wrapper {
  padding: 2rem 5rem 2rem 2rem;
}

@media (min-width: 768px) {
  #agenda .schedule li .bio-drawer .bio-wrapper {
    padding: 4rem 8rem 4rem 4rem;
  }
}

#agenda .schedule li .bio-drawer .bio-wrapper p {
  color: #02396f;
  font-size: 1.2rem;
  line-height: 1.4;
  max-width: 75rem;
}

@media (min-width: 768px) {
  #agenda .schedule li .bio-drawer .bio-wrapper p {
    font-size: 1.4rem;
  }
}

#agenda .schedule li .bio-drawer .bio-wrapper p:not(:last-child) {
  margin-bottom: 1em;
}

#agenda .schedule li .bio-drawer .bio-wrapper p em {
  font-style: italic;
}

#agenda .schedule li .bio-drawer .close {
  font-family: sans-serif;
  font-size: 3rem;
  font-weight: 100;
  line-height: .5;
  padding: 0.5rem 0.5rem 1rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
}

@media (min-width: 768px) {
  #agenda .schedule li .bio-drawer .close {
    font-size: 3.8rem;
    right: 2rem;
    top: 2rem;
  }
}

#register {
  background: linear-gradient(90deg, #c3ac2f 0%, #a07e0e 100%);
  padding: 6em 0;
}

@media (min-width: 768px) {
  #register {
    padding: 15em 0;
  }
}

#register h2 {
  margin-bottom: 0;
}

#register form {
  width: 100%;
}

#register form fieldset {
  padding: 4rem 0 6rem;
  position: relative;
}

@media (min-width: 768px) {
  #register form fieldset {
    padding: 4rem 0 8rem;
  }
}

#register form fieldset#step1 h3 {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: .05em;
  margin-bottom: 2rem;
  text-transform: uppercase;
  vertical-align: middle;
  width: 100%;
}

@media (min-width: 1025px) {
  #register form fieldset#step1 h3 {
    margin-bottom: 0;
    width: 24%;
  }
}

@media (min-width: 768px) {
  #register form fieldset#step1 .notes {
    margin-bottom: 8rem;
  }
}

#register form fieldset#step2, #register form fieldset#step3, #register form fieldset#step4 {
  display: none;
}

@media (max-width: 767px) {
  #register form fieldset#step3 .col-2 + .col-2 {
    margin-top: 2rem;
  }
}

#register form fieldset#step4 {
  background-color: #192531;
  bottom: 0;
  box-sizing: border-box;
  display: none;
  left: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  position: fixed;
  right: 0;
  text-align: left;
  top: 0;
  -webkit-transition: opacity 0.3s linear 0s;
  transition: opacity 0.3s linear 0s;
  z-index: 99;
}

#register form fieldset#step4.on {
  opacity: 1;
}

#register form fieldset#step4 .content-wrapper {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: flex-start;
  left: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

#register form fieldset#step4 .container {
  margin: auto;
  padding-block: 10em;
  text-align: left;
  width: 100%;
}

#register form fieldset#step4 legend {
  margin-bottom: 4rem;
  max-width: none;
}

@media (min-width: 768px) {
  #register form fieldset#step4 legend {
    margin-bottom: 10rem;
  }
}

#register form fieldset#step4 p {
  margin-bottom: 1em;
}

#register form fieldset#step4 p em {
  display: block;
  letter-spacing: .05em;
  text-transform: uppercase;
}

#register form fieldset#step4 p:not(:first-child) em {
  padding-top: 1em;
}

#register form fieldset#step4 p.date {
  color: #c73959;
  letter-spacing: .05em;
  padding-top: 1rem;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  #register form fieldset#step4 p.date {
    padding-top: 0;
  }
}

#register form fieldset#step4 p a {
  color: #61d058;
  -webkit-transition: color 0.3s ease-in-out 0s;
  transition: color 0.3s ease-in-out 0s;
}

#register form fieldset#step4 p a:hover {
  color: white;
}

#register form fieldset#step4 .btn-wrapper {
  border-top: 1px solid white;
  margin-top: 5rem;
  padding-top: 3rem;
  text-align: right;
}

@media (min-width: 768px) {
  #register form fieldset#step4 .btn-wrapper {
    margin-top: 8rem;
  }
}

#register form fieldset#step4 .btn-wrapper button {
  margin-left: 50px;
}

#register form fieldset#step4 .close {
  color: #61d058;
  cursor: pointer;
  font-family: sans-serif;
  font-size: 4em;
  font-weight: 100;
  line-height: 0.75;
  position: absolute;
  right: 2rem;
  top: 2rem;
  -webkit-transition: color 0.3s ease-in-out 0s;
  transition: color 0.3s ease-in-out 0s;
  z-index: 1;
}

@media (min-width: 768px) {
  #register form fieldset#step4 .close {
    font-size: 5em;
    right: 5rem;
    top: 4rem;
  }
}

#register form fieldset#step4 .close:hover {
  color: #4eca44;
}

#register form fieldset legend {
  color: white;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2rem;
  max-width: 58rem;
}

@media (min-width: 768px) {
  #register form fieldset legend {
    font-size: 1.4rem;
  }
}

#register form fieldset .notes {
  color: #192531;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 4rem;
  max-width: 58rem;
}

@media (min-width: 768px) {
  #register form fieldset .notes {
    font-size: 1.4rem;
  }
}

#register form fieldset .next {
  bottom: 0;
  position: absolute;
  right: 5px;
}

#register form fieldset .general-error {
  bottom: 35px;
  color: #c73959;
  display: none;
  font-size: 1.4em;
  left: 5px;
  line-height: 1;
  position: absolute;
}

@media (min-width: 768px) {
  #register form fieldset .general-error {
    font-size: 1.6em;
  }
}

#register form .form-field {
  margin-bottom: 2em;
}

@media (min-width: 768px) {
  #register form .form-field {
    margin-bottom: 3em;
  }
}

#register form .form-field:last-child {
  margin-bottom: 0;
}

#register form .form-field.field-text label {
  display: none;
}

#register form .form-field.field-text input, #register form .form-field.field-text textarea {
  -webkit-appearance: none;
  background: none;
  background-color: rgba(255, 255, 255, 0.4);
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: #192531;
  font-family: museo-slab, Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: .025em;
  line-height: 50px;
  padding: 0 20px;
  -webkit-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s;
  width: 100%;
}

#register form .form-field.field-text input:focus, #register form .form-field.field-text textarea:focus {
  outline: none;
}

#register form .form-field.field-text input:focus::-webkit-input-placeholder, #register form .form-field.field-text textarea:focus::-webkit-input-placeholder {
  color: white;
}

#register form .form-field.field-text input:focus::-moz-placeholder, #register form .form-field.field-text textarea:focus::-moz-placeholder {
  color: white;
}

#register form .form-field.field-text input:focus:-moz-placeholder, #register form .form-field.field-text textarea:focus:-moz-placeholder {
  color: white;
}

#register form .form-field.field-text input:focus:-ms-input-placeholder, #register form .form-field.field-text textarea:focus:-ms-input-placeholder {
  color: white;
}

#register form .form-field.field-text input::-webkit-input-placeholder, #register form .form-field.field-text textarea::-webkit-input-placeholder {
  color: white;
  font-size: .8em;
  font-weight: normal;
  letter-spacing: .1em;
  opacity: 1;
  text-transform: uppercase;
}

#register form .form-field.field-text input::-moz-placeholder, #register form .form-field.field-text textarea::-moz-placeholder {
  color: white;
  font-size: .8em;
  font-weight: normal;
  letter-spacing: .1em;
  opacity: 1;
  text-transform: uppercase;
}

#register form .form-field.field-text input:-moz-placeholder, #register form .form-field.field-text textarea:-moz-placeholder {
  color: white;
  font-size: .8em;
  font-weight: normal;
  letter-spacing: .1em;
  opacity: 1;
  text-transform: uppercase;
}

#register form .form-field.field-text input:-ms-input-placeholder, #register form .form-field.field-text textarea:-ms-input-placeholder {
  color: white;
  font-size: .8em;
  font-weight: normal;
  letter-spacing: .1em;
  opacity: 1;
  text-transform: uppercase;
}

#register form .form-field.field-text input:-webkit-autofill, #register form .form-field.field-text textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px #d0c07e inset;
  -webkit-text-fill-color: #192531 !important;
}

#register form .form-field.field-text input:-webkit-autofill:focus, #register form .form-field.field-text textarea:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 30px #d0c07e inset;
}

#register form .form-field.field-text.field-state {
  display: inline-block;
  padding-right: 2em;
  width: 64%;
}

@media (min-width: 768px) {
  #register form .form-field.field-text.field-state {
    padding-right: 3em;
  }
}

#register form .form-field.field-text.field-zip {
  display: inline-block;
  width: 35.125%;
}

#register form .form-field.field-text textarea {
  height: 300px;
  line-height: 1.5;
  padding: 20px;
  resize: none;
}

@media (min-width: 768px) {
  #register form .form-field.field-text textarea {
    height: 170px;
  }
  #register form .form-field.field-text textarea#bio {
    height: 375px;
  }
}

#register form .form-field.field-checkbox {
  column-gap: 3rem;
  display: inline-flex;
  flex-wrap: wrap;
  margin-bottom: 4em;
  row-gap: 1.5rem;
  width: 100%;
}

@media (min-width: 768px) {
  #register form .form-field.field-checkbox {
    flex-wrap: nowrap;
    margin-bottom: 8em;
  }
}

@media (min-width: 1025px) {
  #register form .form-field.field-checkbox {
    width: 75.5%;
  }
}

#register form .form-field.field-checkbox .checkbox-wrapper {
  position: relative;
  width: 100%;
}

@media (min-width: 768px) {
  #register form .form-field.field-checkbox .checkbox-wrapper {
    flex: 1 0 25%;
    width: auto;
  }
}

#register form .form-field.field-checkbox .checkbox-wrapper input {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

#register form .form-field.field-checkbox .checkbox-wrapper label {
  background-color: #d0c07e;
  box-sizing: border-box;
  display: inline-block;
  color: white;
  cursor: pointer;
  font-size: 1.4rem;
  letter-spacing: .05em;
  line-height: 1;
  padding: 1.375em;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  -webkit-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s;
  width: 100%;
  z-index: 1;
}

@media (min-width: 768px) {
  #register form .form-field.field-checkbox .checkbox-wrapper label {
    white-space: nowrap;
  }
}

#register form .form-field.field-checkbox .checkbox-wrapper label:hover {
  color: #192531;
}

#register form .form-field.field-checkbox .checkbox-wrapper :checked + label {
  background-color: #5ccbf4;
  color: #192531;
}

#register form .form-field.field-checkbox .checkbox-wrapper :checked + label:hover {
  background-color: #5ccbf4;
  color: #192531;
}

#register form .form-field.field-radio {
  overflow: hidden;
  padding-top: 4em;
  position: relative;
}

@media (min-width: 768px) {
  #register form .form-field.field-radio {
    padding-top: 5em;
  }
}

#register form .form-field.field-radio .radio-option-wrapper {
  display: inline-block;
  margin: 0 10px;
  position: relative;
  width: 8.5em;
}

@media (min-width: 768px) {
  #register form .form-field.field-radio .radio-option-wrapper {
    width: 9em;
  }
}

#register form .form-field.field-radio .label {
  display: block;
  font-size: 1.4rem;
  letter-spacing: .1em;
  margin-bottom: 40px;
  text-transform: uppercase;
}

#register form .form-field.field-radio .label + .radio-option-wrapper {
  margin-left: 0;
}

#register form .form-field.field-radio label {
  background-color: #5ccbf4;
  border: 1px solid white;
  border-radius: 5px;
  box-sizing: border-box;
  display: inline-block;
  color: white;
  cursor: pointer;
  font-size: 1.6rem;
  letter-spacing: .05em;
  line-height: 1;
  padding: 0.75em 1em;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  -webkit-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s;
  width: 100%;
  z-index: 1;
}

#register form .form-field.field-radio label:hover {
  background-color: white;
  color: #5ccbf4;
}

#rsvp form .field-radio :checked + label {
  background-color: #c73959;
  border-color: #c73959;
}

#rsvp form .field-radio :checked + label:hover {
  background-color: #c73959;
  color: white;
}

#register form .form-field.field-radio input {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  -ms-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

#register form .form-field.field-submit {
  padding-top: 4em;
}

@media (min-width: 768px) {
  #register form .form-field.field-submit {
    padding-top: 6em;
  }
}

#register form .form-field.field-submit input {
  -webkit-appearance: none;
  background: none;
  background-color: #192531;
  border: none;
  border-radius: 5px;
  box-shadow: none;
  color: white;
  cursor: pointer;
  font-family: museo-slab, Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  letter-spacing: .05em;
  line-height: 1;
  padding: 0.675em 1.5em;
  text-transform: uppercase;
  -webkit-transition: background-color 0.5s ease-in-out 0s;
  transition: background-color 0.5s ease-in-out 0s;
}

@media (min-width: 768px) {
  #register form .form-field.field-submit input {
    font-size: 2rem;
  }
}

#register form .form-field.field-submit input:hover {
  background-color: #c73959;
}

#register form .error {
  font-size: 1.3rem;
  color: #c73959;
  padding-top: 10px;
}

@media (min-width: 768px) {
  #register form .error {
    font-size: 1.4rem;
  }
}

#register form + p {
  margin: 0 auto;
}

#register form + p a {
  display: block;
  margin-top: 20px;
}

#register .success {
  font-size: 2em;
  color: white;
}

@media (min-width: 768px) {
  #register .success {
    font-size: 2.1em;
  }
}

.speakers {
  bottom: 0;
  box-sizing: border-box;
  display: none;
  left: 0;
  overflow: hidden;
  position: fixed;
  right: 0;
  text-align: center;
  top: 0;
  z-index: 99;
}

.speakers h3 {
  margin-bottom: 3em;
}

@media (min-width: 768px) {
  .speakers h3 {
    margin-bottom: 4em;
  }
}

.speakers .speaker {
  display: inline-block;
  vertical-align: top;
  width: 100%;
}

@media (min-width: 768px) {
  .speakers .speaker {
    margin: 0 3em;
    max-width: 32em;
    width: 49.5%;
  }
}

.speakers .speaker.zakaria {
  margin-bottom: 5em;
}

@media (min-width: 768px) {
  .speakers .speaker.zakaria {
    margin-bottom: 0;
  }
}

.speakers .speaker .img-wrapper {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 0;
  padding-bottom: 66%;
  width: 100%;
}

@media (min-width: 768px) {
  .speakers .speaker .img-wrapper {
    padding-bottom: 100%;
  }
}

.speakers .speaker.zakaria .img-wrapper {
  background-image: url(../img/fareed-zakaria.jpg);
}

.speakers .speaker.gates .img-wrapper {
  background-image: url(../img/robert-gates.jpg);
}

.speakers .speaker p {
  line-height: 1.5;
  margin-top: 25px;
  text-align: left;
}

#confirmation main {
  margin-top: 0;
  padding: 10em 0 15em;
  text-align: left;
}

#confirmation main h1 {
  border-top: none;
  color: white;
  display: inline-block;
  font-size: 2.2rem;
  letter-spacing: .05em;
  margin: 0 0 2.5rem;
  padding-top: 0;
  text-align: left;
}

@media (min-width: 768px) {
  #confirmation main h1 {
    font-size: 2.8rem;
    margin-bottom: 4rem;
    max-width: calc(100% - 12rem);
  }
}

#confirmation main #print {
  color: white;
  background-color: #02396f;
  margin: 0 0 4rem;
}

@media (min-width: 768px) {
  #confirmation main #print {
    float: right;
    margin: 6px 0 0;
  }
}

#confirmation main #print:hover {
  background-color: #192531;
  color: white;
}

#confirmation main h2 {
  color: #192531;
  display: block;
  font-size: 1.8em;
  letter-spacing: .05em;
  margin-bottom: 30px;
  padding-top: 40px;
  text-align: left;
}

@media (min-width: 768px) {
  #confirmation main h2 {
    font-size: 2.4em;
    margin-bottom: 45px;
    padding-top: 50px;
  }
}

#confirmation main h3 {
  border-top: 1px solid white;
  color: white;
  font-size: 1.6em;
  font-weight: 700;
  letter-spacing: .05em;
  margin: 4rem 0 2rem;
  padding-top: 2.5rem;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  #confirmation main h3 {
    margin-bottom: 3rem;
  }
}

#confirmation main h4 {
  color: white;
  font-size: 1.6em;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0;
  text-transform: none;
}

#confirmation main h4:not(:first-child) {
  padding-top: .75em;
}

#confirmation main p {
  margin-bottom: 1em;
}

#confirmation main p a {
  color: #02396f;
  -webkit-transition: color 0.3s ease-in-out 0s;
  transition: color 0.3s ease-in-out 0s;
}

#confirmation main p a:hover {
  color: white;
}

#confirmation main p em {
  display: block;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  #confirmation main .col-2 {
    padding-right: 4em;
  }
}

#confirmation main .col-2 + .col-2 {
  padding-top: 1.5rem;
}

@media (min-width: 768px) {
  #confirmation main .col-2 + .col-2 {
    padding-left: 4em;
    padding-top: 0;
  }
}

#confirmation main .col-2 .events p {
  margin-bottom: .5em;
}

#confirmation main .text-btn {
  color: #02396f;
  float: right;
  margin-top: 4rem;
}

@media (min-width: 768px) {
  #confirmation main .text-btn {
    margin-top: 0;
  }
}

#confirmation main .text-btn:hover {
  color: white;
}

/*# sourceMappingURL=../css/main.map */