@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
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;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

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

/* Defines core elements which are common between desktop and mobile. */
html, body {
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 20pt;
  font-weight: 300;
  margin: auto;
  min-height: 100%;
  line-height: 3em;
  color: black;
}

a:link, a:visited, a:hover, a:active {
  text-decoration: none;
  color: #403536;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 2em;
  font-weight: 500;
  clear: both;
}

h1 {
  font-size: 180%;
}

h2 {
  font-size: 150%;
}

h3 {
  font-size: 125%;
}

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

strong {
  font-weight: bold;
}

@media (min-width: 1024px) {
  html, body {
    font-size: 11pt;
  }
}
form .alert {
  display: none;
  line-height: 1.5em;
}
form .alert.danger {
  color: red;
}
form .alert.success {
  color: dark-green;
}
form .required:after {
  content: " *";
  color: red;
}
form label {
  font-weight: 500;
  text-align: left;
  font-size: 30pt;
  color: #ffffff;
}
form input, form label {
  display: block;
  line-height: 1.5em;
}
form select option {
  background-color: black;
}
form input.field, form select {
  border: none;
  border-bottom: 1px solid black;
  font-weight: 300;
}
form input.field, form select.field {
  font-size: 30pt;
}
form input#submit, form a:link, form a:visited, form a:hover, form a:active {
  background-color: #8d191f;
  padding: 0.5em;
  border: 1px solid black;
  font-size: 22pt;
  font-weight: 400;
  color: #ffffff;
  margin: auto;
}
form .form-group {
  margin-bottom: 1em;
}

@media (min-width: 1024px) {
  .feature aside .content #email-success p {
    line-height: 25em;
  }
  form .alert {
    display: none;
    line-height: 1.5em;
  }
  form .alert.danger {
    color: red;
  }
  form .alert.success {
    color: white;
  }
  form .required:after {
    content: " *";
    color: red;
  }
  form label {
    font-size: 24pt;
    font-weight: 500;
    float: left;
    width: 20%;
    display: block;
    clear: left;
  }
  form input::placeholder, form textarea::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #ffffff;
    opacity: 0.8; /* Firefox */
  }
  form input:-ms-input-placeholder, form textarea:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #ffffff;
  }
  form input::-ms-input-placeholder, form textarea::-ms-input-placeholder { /* Microsoft Edge */
    color: #ffffff;
  }
  form input, form label {
    line-height: 1.5em;
    color: #ffffff;
  }
  form input.field, form select {
    border: none;
    border-bottom: 1px solid #5d5d5e;
    line-height: 1.5em;
    float: left;
    font-size: 1em;
    font-weight: 300;
    font-size: 20pt;
    width: 75%;
    color: #ffffff;
    background-color: transparent;
  }
  form input.field:after, form select:after {
    content: "";
    display: block;
    clear: both;
  }
  form textarea {
    border: none;
    border: 1px solid #5d5d5e;
    color: #ffffff;
    background-color: transparent;
    float: left;
    width: 75%;
  }
  form textarea:after {
    content: "";
    display: block;
    clear: both;
  }
  form input.field, form select.field, form select.option {
    font-size: 12pt;
  }
  form p.cta {
    margin-top: 0em;
    text-align: center !important;
  }
  form input#submit, form a:link, form a:visited, form a:hover, form a:active {
    background-color: #8d191f;
    padding: 0.5em;
    border: 1px solid black;
    font-size: 22pt;
    font-weight: 400;
    color: #ffffff;
    margin: auto;
    clear: both;
  }
  form .form-group {
    margin-bottom: 1em;
  }
  form .form-group p {
    color: #ffffff;
    clear: both;
  }
  form .form-group:after {
    content: "";
    display: block;
    clear: both;
  }
}
/* Styles for the main navigation */
.hot {
  color: red;
}

nav {
  display: block;
  width: 100%;
  height: auto;
  text-align: right;
}
nav .nav-container {
  width: auto;
  margin: 0;
}
nav .nav-container:after {
  content: "";
  display: block;
  float: none;
  clear: both;
}
nav.primary a, nav.secondary a {
  display: none;
}
nav.secondary {
  background-color: black;
  line-height: 1em;
  position: relative;
}
nav.secondary a#logo {
  position: absolute;
  left: 42.5%;
  z-index: 100;
  display: block;
  background-color: white;
  padding: 1%;
  width: 15%;
  display: none;
}
nav.mobile {
  position: fixed;
  right: 0.5em;
  top: 0.5em;
  color: white;
  z-index: 1000;
  background-color: black;
  transition: transform 0.2s ease;
  width: auto;
  font-size: 100%;
  padding: 0.5em;
  line-height: 2em;
}
nav.mobile a:link, nav.mobile a:visited, nav.mobile a:hover, nav.mobile a:active {
  color: white;
}
nav.mobile label span {
  position: relative;
  user-select: none;
}
nav.mobile label span:before {
  content: "☰";
}
nav.mobile .menu-container {
  display: none;
}
nav.mobile .menu-container ul {
  text-align: left;
  text-indent: 1em;
}
nav.mobile .menu-container ul li {
  margin-right: 1em;
}
nav.mobile input {
  display: none;
}
nav.mobile input:checked ~ .menu-container {
  display: block;
}
nav.mobile input:checked ~ label span:before {
  content: "╳";
  font-size: 0.6em;
}

@media (min-width: 1024px) {
  nav.mobile {
    display: none;
  }
  nav .nav-container a:link, nav .nav-container a:visited, nav .nav-container a:hover, nav .nav-container a:active {
    display: block;
    float: left;
    font-weight: normal;
    text-align: left;
    margin-top: 1em;
    margin-bottom: 1em;
    margin-left: 2%;
  }
  nav .nav-container a:link:first-child, nav .nav-container a:visited:first-child, nav .nav-container a:hover:first-child, nav .nav-container a:active:first-child {
    margin-left: 20%;
  }
  nav.primary {
    background-color: black;
    line-height: 3em;
  }
  nav.primary a:link, nav.primary a:visited, nav.primary a:hover, nav.primary a:active {
    color: #ffffff;
    font-size: 9pt;
    font-weight: 700;
    text-transform: capitalize;
    width: auto;
  }
  nav.secondary {
    background-color: black;
    line-height: 1.5em;
    position: relative;
  }
  nav.secondary a:link, nav.secondary a:visited, nav.secondary a:hover, nav.secondary a:active {
    color: #403536;
    width: 13.8%;
  }
  nav.secondary a:link span, nav.secondary a:visited span, nav.secondary a:hover span, nav.secondary a:active span {
    display: block;
    font-size: 11pt;
    font-weight: 300;
  }
  nav.secondary a:link span.head, nav.secondary a:visited span.head, nav.secondary a:hover span.head, nav.secondary a:active span.head {
    text-transform: uppercase;
    font-weight: 700;
  }
  nav.secondary a:link#logo, nav.secondary a:visited#logo, nav.secondary a:hover#logo, nav.secondary a:active#logo {
    position: absolute;
    left: 1%;
    z-index: 100;
    display: block;
    background-color: white;
    padding: 1%;
    width: 10%;
    display: block;
  }
}
/* Styles for the featured image section, just under the main page navigation. */
.feature {
  background-color: black;
  margin-bottom: 2em;
  line-height: 0;
  text-align: left;
  position: relative;
}
.feature:after {
  content: "";
  display: block;
  clear: both;
}
.feature img {
  width: 100%;
}
.feature .desktop {
  display: none;
}
.feature .mobile {
  display: block;
}
.feature aside {
  width: auto;
  background: black;
}
.feature aside h1 {
  background-color: black;
  text-align: center;
  line-height: 2em;
  font-weight: 400;
  font-size: 24pt;
  color: white;
}
.feature aside .content {
  padding: 0em;
}
.feature aside .content p {
  line-height: 1.5em;
  text-align: center;
  margin-bottom: 1em;
}
.feature aside .content .form-group.control {
  text-align: center;
  margin-bottom: 0;
}
.feature aside .content input, .feature aside .content textarea, .feature aside .content select {
  width: 100%;
}
.feature aside .content input#submit, .feature aside .content textarea#submit, .feature aside .content select#submit {
  width: auto;
}

@media (max-width: 1023px) {
  .noRegForm {
    display: none;
  }
  .desktop-only {
    display: none;
  }
}
@media (min-width: 1024px) {
  .noRegForm {
    display: block;
  }
  .feature {
    background: black;
    width: 100%;
    height: auto;
    position: relative;
    background-image: url("images/wide-banner.jpg");
    background-repeat: no-repeat;
    background-position: 25% 0%;
    background-size: auto 100%;
  }
  .feature img {
    margin-left: 8%;
    width: 75%;
    height: auto;
  }
  .feature .desktop {
    display: block;
  }
  .feature .mobile {
    display: none;
  }
  .feature:after {
    content: "";
    display: block;
    clear: both;
  }
  .feature aside {
    z-index: 100;
    position: relative;
    float: right;
    right: 0%;
    width: 30%;
    top: 0%;
    background-color: transparent;
    border: none;
  }
  .feature aside .cta {
    text-align: center !important;
  }
  .feature aside h1 {
    background-color: transparent;
  }
  .feature aside:after {
    content: "";
    display: block;
    clear: both;
  }
  .feature aside .content {
    padding: 0;
  }
  .feature aside .content p {
    line-height: 1.5em;
    text-align: left;
    margin-bottom: 1em;
    color: #ffffff;
    background-color: transparent;
  }
  .feature aside .content .form-group.control {
    text-align: center;
    margin-bottom: 0;
  }
  .feature aside .content input, .feature aside .content textarea, .feature aside .content select {
    width: 75%;
  }
  .feature aside .content input#submit, .feature aside .content textarea#submit, .feature aside .content select#submit {
    width: auto;
  }
}
section.content:after {
  content: "";
  display: block;
  clear: both;
}
section.content ul.instructor li.lesson h2 {
  color: #5d5d5e;
}
section.content .container {
  width: 90%;
  margin-left: 5.5%;
  height: auto;
  text-align: left;
  line-height: 2em;
}
section.content .container p.divider {
  content: " ";
  text-align: center;
}
section.content .container p.divider:after {
  content: "";
  display: block;
  float: none;
  clear: both;
}
section.content .container p.divider:after {
  content: "";
  background-color: #DDD;
  margin-bottom: 2em;
  height: 1px;
  width: 50%;
  margin-left: 25%;
  display: block;
}
section.content .container p.centered {
  display: block;
  width: 100%;
  text-align: center;
}
section.content .container ul.quotes {
  margin-bottom: 1em;
}
section.content .container ul.quotes li {
  margin-bottom: 1em;
  width: 100%;
}
section.content .container ul.quotes li quote p {
  margin-bottom: 0;
}
section.content .container ul.quotes li quote p:before {
  content: "“";
}
section.content .container ul.quotes li quote p:after {
  content: "”";
}
section.content .container p {
  margin-bottom: 1.5em;
}
section.content .container img {
  width: 100%;
  height: auto;
}
section.content .container .caption {
  color: #555;
  font-size: 10pt;
}
section.content .container h1 {
  font-weight: 300;
  font-size: 26pt;
}
section.content .container h1 strong {
  font-weight: 500;
}
section.content .container blockquote {
  font-style: italic;
  font-weight: 300;
  font-size: 23pt;
  line-height: 1.5em;
  margin-bottom: 1em;
}
section.content .container blockquote .quote {
  font-size: 80%;
}
section.content .container blockquote .cit {
  font-size: 50%;
}
section.content .container blockquote .cit:before {
  content: "-";
}
section.content .container a:link, section.content .container a:visited, section.content .container a:hover, section.content .container a:active {
  text-decoration: none;
  font-weight: 500;
}
section.content .container .cta {
  display: block;
  text-align: center;
}
section.content .container .cta a {
  margin-top: 1em;
  font-size: 150%;
  color: #8d191f;
}
section.content .container.instructors section {
  margin-top: 2em;
  margin-bottom: 2em;
}
section.content .container.instructors section h2 {
  color: black;
}
section.content .container.instructors section h2, section.content .container.instructors section h3 {
  margin-bottom: 0.5em;
}
section.content .container.instructors section img.bio {
  max-width: 60%;
  height: auto;
}
section.content .video {
  width: 100%;
  text-align: center;
  margin: auto;
  margin-bottom: 2em;
}
section.content .video .video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin: auto;
}
section.content .video .video-container iframe, section.content .video .video-container object, section.content .video .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (min-width: 1024px) {
  section.content .container {
    width: 80%;
    margin-left: 10%;
  }
  section.content .container.wide {
    width: 860%;
    margin-left: 22%;
  }
  section.content .container.wide ul.sponsors, section.content .container.wide ul.collaborators, section.content .container.wide ul.instructor {
    width: 85%;
  }
  section.content .container.wide ul.collaborators li, section.content .container.wide ul.instructor li {
    width: 30%;
    margin-left: 1.5%;
    margin-right: 1.5%;
  }
  section.content .container.narrow {
    width: 60%;
  }
  section.content .container .video {
    width: 100%;
  }
  section.content .container ul.quotes {
    margin-bottom: 1em;
  }
  section.content .container ul.quotes li {
    width: 30%;
    margin-right: 3%;
    margin-bottom: 1.5em;
  }
  section.content .container ul.quotes li quote p {
    font-size: 120%;
    margin-bottom: 0;
  }
  section.content .container ul.quotes li quote p:before {
    content: "“";
  }
  section.content .container ul.quotes li quote p:after {
    content: "”";
  }
  section.content .container ul.quotes li.featured {
    width: 100%;
    margin-right: 0;
  }
  section.content .container h2.heading {
    width: 100%;
    text-align: center;
    margin-bottom: 1em;
  }
  section.content .container ul.collaborators li, section.content .container ul.instructor li {
    width: 30%;
    margin-right: 3%;
  }
  section.content .container ul.collaborators li img, section.content .container ul.instructor li img {
    float: none;
    max-width: 80%;
  }
  section.content .container ul.collaborators li img.large, section.content .container ul.instructor li img.large {
    max-width: 80%;
  }
  section.content .container ul.instructor.by4 li {
    width: 25%;
    margin-right: 0;
    margin-bottom: 1em;
  }
  section.content .container ul.instructor.by4 li img {
    float: none;
    max-width: 97%;
    margin: 0;
  }
  section.content .container ul.instructor.by4 li img.large {
    max-width: 100%;
  }
  section.content .container ul.collaborators li {
    width: 30%;
    margin-left: 1.5%;
    margin-right: 1.5%;
    text-align: center;
  }
  section.content .container ul.collaborators li img {
    float: none;
  }
  section.content .container ul.collaborators li img.large {
    max-width: 80%;
  }
}
.google-maps {
  position: relative;
  padding-bottom: 75%;
  margin-bottom: 1em;
  height: 0;
  overflow: hidden;
}
.google-maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

ul img {
  margin-bottom: 1em;
}

.highlight {
  color: black;
}
.highlight:after {
  content: " ";
}

footer {
  position: relative;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: black;
  color: white;
  margin-top: 4em;
  padding: 1em;
  padding-bottom: 2em;
  font-size: 9pt;
  line-height: 2em;
}
footer a:link, footer a:visited, footer a:hover, footer a:active {
  color: white;
}
footer:after {
  content: "";
  display: block;
  clear: both;
}
footer .patronage {
  margin-bottom: 1.5em;
}
footer > ul {
  display: none;
}

@media (min-width: 1000px) {
  .feature {
    height: 470px;
  }
  form label {
    font-size: 11pt;
  }
  form input.field, form select {
    font-size: 9pt;
  }
  form input#submit {
    font-size: 15pt;
  }
  section.content .video {
    width: 60%;
  }
  section.content .container .textwrapper {
    float: left;
    max-width: 48%;
  }
  section.content .container ul.quotes:after {
    content: "";
    display: block;
    float: none;
    clear: both;
  }
  section.content .container ul.quotes li {
    float: left;
    display: block;
  }
  section.content .container ul.quotes.q3 li {
    width: 32%;
    margin-right: 1%;
  }
  section.content .container ul.quotes.q3 li:last-child {
    margin-right: 0;
  }
  section.content .container ul.quotes.q4 li {
    width: 20%;
    margin-right: 5%;
  }
  section.content .container ul.quotes.q4 li:last-child {
    margin-right: 0;
  }
  section.content .container img {
    float: right;
    margin: 1em;
    max-width: 45%;
    height: auto;
    clear: right;
  }
  section.content .container img.large {
    max-width: 100%;
  }
  section.content .container img.medium {
    max-width: 60%;
    float: none;
  }
  section.content .container img.larger {
    max-width: 70%;
  }
  section.content .container img.bio {
    width: auto;
    height: auto;
    float: left;
    clear: left;
    margin-left: 0;
    margin-top: 1em;
  }
  section.content .container ul {
    width: 100%;
    height: auto;
    float: none;
    clear: both;
  }
  section.content .container ul:after {
    content: "";
    display: block;
    clear: both;
  }
  section.content .container ul li {
    float: left;
    width: 50%;
  }
  section.content .container ul li.image img {
    max-width: 80%;
  }
  section.content .container ul.sponsors li, section.content .container ul.bnb li {
    width: 33.3%;
  }
  section.content .container .caption {
    display: block;
    text-align: center;
  }
  footer {
    font-size: 11pt;
  }
  footer > ul {
    width: 60%;
    display: block;
    margin: 0 auto;
    text-align: left;
  }
  footer > ul:after {
    content: "";
    display: block;
    clear: both;
  }
  footer > ul > li {
    display: block;
    float: left;
    width: 20%;
    margin-right: 5%;
  }
  .mobile-only {
    display: none;
  }
}