@charset "UTF-8";
a.style0 {
  position: relative;
  display: inline-block;
  background: #eff;
  padding: 0 1px; }
  a.style0::before {
    left: 0;
    position: absolute;
    width: 100%;
    top: 100%;
    height: 2px;
    content: "";
    background-color: #58f; }
  a.style0::after {
    left: 0;
    position: absolute;
    top: 100%;
    height: 2px;
    width: 0;
    content: "";
    background-color: #c22;
    transition: 0.5s ease all 0.1s; }
  a.style0:hover::after {
    width: 100%;
    transition: 0.1s ease all; }

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
dl, dt, dd, ol, ul, li,
button, fieldset, form, input, label, legend, textarea,
table, caption, tbody, tfoot, thead, tr, th, td,
article, main, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  border: 0 none;
  outline: 0 none;
  text-decoration: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 100%;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  line-height: inherit;
  vertical-align: baseline;
  background: none;
  white-space: normal;
  min-height: 1%;
  scrollbar-width: thin; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

.screen-reader-text, .screen-reader-response {
  display: none; }

*::focus {
  outline: 0 none; }

::selection {
  background: #ffc;
  color: #000; }

::moz-selection {
  background: #ffc;
  color: #000; }

.bsearch_highlight {
  background: #ffc;
  color: #000; }

html {
  line-height: 30px;
  font-weight: normal;
  text-align: center;
  position: static;
  height: 100%;
  font-family: "Source Sans Pro";
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000;
  font-feature-settings: "kern";
  background: no-repeat center/cover; }
  @media screen and (min-width: 475px) {
    html {
      background-attachment: fixed; } }
  @media screen and (max-width: 475px) {
    html {
      height: 120vh; } }

body {
  position: static;
  min-height: 100vh;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover; }
  @media screen and (min-width: 475px) {
    body {
      background-attachment: fixed; } }

br {
  clear: both;
  line-height: 30px; }

img {
  vertical-align: middle;
  max-width: 100%;
  -ms-interpolation-mode: bicubic; }

hr {
  clear: both;
  display: block;
  padding: 0;
  border: 0 none;
  margin: 120px 0;
  height: 1px;
  border-top: 6px dotted #984a70; }

h1 a, h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, h6 a, caption a {
  text-decoration: none; }

h1, h2, h3, .h3, h4, .h4, h5, h6 {
  font-family: "Asap Condensed"; }

h1 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  z-index: 3;
  font-weight: 700;
  line-height: 60px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word; }
  @media screen and (min-width: 900px) {
    h1 {
      font-size: 3.75rem; } }
  @media screen and (max-width: 900px) {
    h1 {
      font-size: 3rem; } }

.edit-post-visual-editor__post-title-wrapper {
  margin-bottom: 60px;
  margin-top: 60px !important; }

.is-root-container, .mce-content-body {
  font-size: 1.25em; }
  .is-root-container ul, .is-root-container ol, .is-root-container p, .mce-content-body ul, .mce-content-body ol, .mce-content-body p {
    text-align: left; }
  .is-root-container li, .is-root-container h2, .is-root-container h3, .is-root-container h4, .is-root-container h5, .is-root-container h6, .mce-content-body li, .mce-content-body h2, .mce-content-body h3, .mce-content-body h4, .mce-content-body h5, .mce-content-body h6 {
    margin-top: 30px;
    margin-bottom: 30px; }

.mce-content-body {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  padding: 30px; }

h2 {
  line-height: 60px;
  font-weight: 600; }
  @media screen and (min-width: 900px) {
    h2 {
      font-size: 3rem; } }
  @media screen and (max-width: 900px) {
    h2 {
      font-size: 2.625rem; } }

h3, .h3 {
  font-size: 30px;
  line-height: 1;
  font-weight: 600; }

h4, .h4 {
  line-height: 30px;
  font-size: 1.5rem; }

date {
  display: block;
  margin-bottom: 30px;
  font-size: 0.875rem;
  letter-spacing: 1px; }

a {
  text-decoration: none;
  color: inherit; }
  a:hover, a:active, a:focus {
    outline: 0 none; }
  a:visited {
    color: inherit; }
  a[href^="tel"] {
    white-space: nowrap; }
    @media screen and (min-width: 900px) {
      a[href^="tel"] {
        text-decoration: none;
        cursor: normal;
        color: inherit; } }
  a img {
    border: 0 none; }

main > article {
  text-align: left;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px; }
main > ul, main > article > ul, main > section > ul {
  text-align: left;
  list-style: none outside none;
  margin: 15px 15px 30px 15px; }
  main > ul li, main > article > ul li, main > section > ul li {
    padding-bottom: 30px;
    list-style-type: none; }
    main > ul li::before, main > article > ul li::before, main > section > ul li::before {
      display: inline-block;
      margin-right: 10px;
      border-radius: 100%;
      position: relative;
      top: -4px;
      font-size: 1.4em;
      content: "";
      width: 8px;
      height: 8px;
      background: #8ab4cc; }
  main > ul ul, main > article > ul ul, main > section > ul ul {
    margin-top: 30px;
    margin-bottom: -30px;
    margin-left: 30px;
    padding-top: 0;
    padding-bottom: 0; }
main ol {
  margin-top: 30px; }
  main ol li {
    margin-left: 15px; }
main > ul, main > article ul, main > section ul {
  margin-top: 30px; }
main li {
  text-align: left; }
  main li::marker {
    margin-right: 0; }
main > p, main > ul li, main > ol li {
  word-spacing: 0.2em; }
main p {
  text-align: left;
  margin: 30px auto; }
main > cite {
  display: inline-block;
  padding-top: 30px; }

sup, sub {
  position: relative;
  font-size: 75%;
  padding: 0 1px;
  line-height: 0; }

sup {
  top: -2px; }

sub {
  top: 2px; }

i, em {
  font-style: italic; }

small {
  font-size: 0.9375rem; }
  small * {
    font-size: 0.9375rem; }

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

blockquote {
  font-style: italic; }
  blockquote cite {
    display: block;
    text-align: right;
    font-style: normal;
    font-family: "Open Sans Condensed";
    margin-bottom: 90px; }
    blockquote cite::before {
      content: "—"; }

address {
  font-weight: normal; }

abbr {
  cursor: help;
  border-bottom: 1px dashed #000; }

strong, b {
  font-weight: 700; }

iframe {
  padding: 30px 30px;
  width: 100%;
  height: 100vh; }

ol {
  margin: 0 0 30px 30px; }
  ol li {
    padding-left: 15px;
    list-style-type: none; }
    ol li::before {
      margin-left: -15px; }
  ol ul {
    margin-top: 30px; }
  ol li {
    list-style-type: decimal;
    margin-bottom: 30px;
    padding-left: 6px;
    margin: inherit inherit 30px 30px; }
    ol li li {
      padding-left: 15px;
      list-style-type: none; }
      ol li li::before {
        margin-left: -15px; }
  ol ol {
    padding: 30px inherit 30px inherit; }
    ol ol li {
      list-style-type: lower-alpha; }
      ol ol li li {
        list-style-type: lower-roman; }
        ol ol li li li {
          list-style-type: decimal; }
          ol ol li li li li {
            list-style-type: lower-alpha; }

table {
  padding: 0;
  clear: both;
  border-spacing: 0;
  empty-cells: hide;
  border-collapse: collapse; }

td, th {
  margin: 0;
  font-weight: normal;
  font-size: inherit;
  padding: 6px 15px; }

caption {
  padding: 0 15px 15px 15px; }

body ::-webkit-scrollbar {
  cursor: ns-resize;
  width: 18px; }
body ::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.2); }
body ::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.7); }
  body ::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.8); }

input, label, label span, select, button, datalist, textarea, [readonly]:hover {
  vertical-align: middle;
  display: inline-block;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: inherit;
  color: inherit;
  font-size: inherit; }

[type="text"], [type="email"], [type="password"], [type="tel"], select {
  height: 45px; }

button {
  cursor: pointer; }

[disabled] {
  cursor: default; }

label {
  position: relative;
  cursor: pointer; }
  label span {
    line-height: 45px; }

.wpcf7-list-item-label {
  padding-left: 12px; }

textarea {
  overflow: auto;
  width: 100%;
  vertical-align: top;
  padding-top: 6px;
  min-height: 150px;
  white-space: pre-wrap;
  resize: vertical; }

select {
  border: 0 none;
  padding-left: 45px;
  background: linear-gradient(-45deg, white calc(25% - 6px), white 25%, transparent 25%), linear-gradient(45deg, white calc(25% - 6px), white 25%, transparent 25%, #555 25%, #555 calc(25% + 6px), transparent calc(25% + 6px)), linear-gradient(-45deg, transparent 25%, #555 25%, #555 calc(25% + 6px), transparent calc(25% + 6px)) no-repeat calc(100% - 15px) 16px;
  background-color: white;
  background-size: 15px 15px;
  background-position: 15px 16px;
  background-repeat: no-repeat;
  cursor: pointer; }
  select:hover, select:focus, select:active {
    background: linear-gradient(-45deg, white calc(25% - 6px), white 25%, transparent 25%), linear-gradient(45deg, white calc(25% - 6px), white 25%, transparent 25%, #c22 25%, #c22 calc(25% + 6px), transparent calc(25% + 6px)), linear-gradient(-45deg, transparent 25%, #c22 25%, #c22 calc(25% + 6px), transparent calc(25% + 6px)) no-repeat calc(100% - 15px) 16px;
    background-color: white;
    background-size: 15px 15px;
    background-position: 15px 16px;
    background-repeat: no-repeat; }
  select:focus {
    outline: 0 none; }
  select:-moz-focusring {
    color: transparent; }

input::placeholder, textarea::placeholder {
  transition: all 0.2s ease-in-out;
  opacity: 1;
  color: #000; }
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  transition: all 0.2s ease-in-out;
  opacity: 1;
  color: #000; }
input:-moz-placeholder, textarea:-moz-placeholder {
  transition: all 0.2s ease-in-out;
  opacity: 1;
  color: #000; }
input::-moz-placeholder, textarea::-moz-placeholder {
  transition: all 0.2s ease-in-out;
  opacity: 1;
  color: #000; }
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  transition: all 0.2s ease-in-out;
  opacity: 1;
  color: #000; }
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5); }
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder {
  color: rgba(0, 0, 0, 0.5); }
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5); }
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.5); }
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5); }
input:focus::placeholder, textarea:focus::placeholder {
  color: rgba(0, 0, 0, 0.5); }

main button, #contact button, #rsvp + a {
  color: #fff;
  background: #282;
  padding: 0 30px;
  font-weight: 500;
  transition: all 0.2s; }
  main button:hover, main button:focus, #contact button:hover, #contact button:focus, #rsvp + a:hover, #rsvp + a:focus {
    background: #2cb12c;
    box-shadow: 0 0 10px #282;
    color: #000; }
  main button:active, #contact button:active, #rsvp + a:active {
    background: #185f18; }
  main button::selection, #contact button::selection, #rsvp + a::selection {
    color: #000; }

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

input::-moz-focus-inner {
  border: 0 none;
  padding: 0; }

input:invalid {
  box-shadow: none !important; }

.ajax-loader {
  position: absolute;
  z-index: 500;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  background: transparent(#fff, 0.4); }
  .ajax-loader::after {
    display: inline-block;
    border-radius: 100%;
    font-size: 0;
    content: "";
    height: 60px;
    width: 60px;
    background: rgba(43, 98, 150, 0.2);
    border: 12px solid transparent;
    border-top-color: #c22;
    border-right-color: #c22;
    animation: rot8n 600ms linear infinite; }
  .submitting .ajax-loader {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-align-items: center;
    -ms-flex-item-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-content-align: center;
    align-content: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center; }

@keyframes rot8n {
  to {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }
.wpcf7-response-output {
  font-style: italic;
  width: 100%;
  position: absolute;
  left: 0;
  right: 0;
  display: none;
  line-height: 30px;
  background: fade(#ee5, 80%); }
  .sent .wpcf7-response-output, .invalid .wpcf7-response-output {
    display: block; }

.wpcf7-mail-sent-ok {
  text-align: left;
  color: #282;
  line-height: 15px;
  background: rgba(34, 136, 34, 0.3); }

.wpcf7-spam-blocked, .wpcf7-mail-sent-ng, .wpcf7-validation-errors {
  color: #c22; }

.wpcf7-form-control-wrap {
  position: relative; }

.wpcf7-display-none {
  display: none; }

.wpcf7-not-valid {
  outline: 2px dotted #c22;
  outline-offset: 6px; }

.valid {
  color: #282; }

.wpcf7 {
  position: relative; }

span.wpcf7-not-valid-tip {
  position: absolute;
  top: 0;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 400;
  right: 3px;
  padding: 3px;
  border: 1px solid #c9c914;
  line-height: 1em;
  color: #000;
  background: #fdf0f0; }

span.wpcf7-not-valid-tip-no-ajax {
  display: block;
  color: #c22; }

#top nav form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-align-items: stretch;
  -ms-flex-item-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-content-align: stretch;
  align-content: stretch;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  position: relative;
  margin-left: 6px; }
#top nav form input {
  color: #fff;
  border: 0 none;
  transition: all 0.2s ease-in-out;
  text-indent: 30px;
  width: 160px;
  background: radial-gradient(circle 100px at 50px center, #20486e 50%, transparent 50%), linear-gradient(to right, transparent 0%, transparent 50px, #20486e 50px, #20486e 100%); }
#top nav #s::-webkit-input-placeholder {
  color: #fff; }
#top nav #s::-moz-placeholder {
  color: #fff; }
#top nav #s:-ms-input-placeholder {
  color: #fff; }
#top nav #s:focus::-moz-placeholder {
  color: transparent; }
#top nav #s:focus:-moz-placeholder {
  color: transparent; }
#top nav #s:focus::-moz-placeholder {
  color: transparent; }
#top nav #s:focus::-webkit-input-placeholder {
  color: transparent; }
#top nav #s:focus:-ms-input-placeholder {
  color: transparent; }
#top nav #s:focus::placeholder {
  color: transparent; }
#top nav #s:hover {
  background: radial-gradient(circle 100px at 50px center, #1a3b5b 50%, transparent 50%), linear-gradient(to right, transparent 0%, transparent 50px, #1a3b5b 50px, #1a3b5b 100%); }
#top nav #s:focus {
  outline: none;
  width: 300px;
  background: radial-gradient(circle 100px at 50px center, #142e47 50%, transparent 50%), linear-gradient(to right, transparent 0%, transparent 50px, #142e47 50px, #142e47 100%); }
#top nav label {
  position: fixed;
  left: -120vw;
  top: -120vh; }
#top nav button {
  outline: 0 none;
  font-weight: 700;
  transition: all 0.2s ease-in-out;
  margin-left: -30px;
  font-size: 0;
  line-height: 0;
  color: #fff;
  cursor: pointer;
  padding: 0 15px;
  background: radial-gradient(circle 100px at 50px center, #0f2133 calc(50% - 1px), transparent 50%); }
  #top nav button::after {
    display: block;
    box-sizing: border-box;
    content: "";
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 12px solid #fff; }
  #top nav button:hover::after, #top nav button:focus::after {
    border-left-color: #000; }
  #top nav button:focus {
    outline: 0 none; }
  #top nav button:hover, #top nav button:focus {
    background: radial-gradient(circle 100px at 50px center, #a7c7e6 calc(50% - 1px), transparent 50%); }
  #top nav button:active {
    background: radial-gradient(circle 100px at 50px center, #cfe0f1 calc(50% - 1px), transparent 50%); }

.em-booking-form [type='text'], .em-booking-form [type='password'], .em-booking-form [type='email'], .em-booking-form [type='tel'], .em-booking-form textarea, .em-booking-form select, .em-booking-form datalist, .wpcf7-form [type='text'], .wpcf7-form [type='password'], .wpcf7-form [type='email'], .wpcf7-form [type='tel'], .wpcf7-form textarea, .wpcf7-form select, .wpcf7-form datalist, #signup [type='text'], #signup [type='password'], #signup [type='email'], #signup [type='tel'], #signup textarea, #signup select, #signup datalist {
  border-bottom: 2px solid #5895cf;
  color: #555; }
  .em-booking-form [type='text']:hover, .em-booking-form [type='text']:focus, .em-booking-form [type='password']:hover, .em-booking-form [type='password']:focus, .em-booking-form [type='email']:hover, .em-booking-form [type='email']:focus, .em-booking-form [type='tel']:hover, .em-booking-form [type='tel']:focus, .em-booking-form textarea:hover, .em-booking-form textarea:focus, .em-booking-form select:hover, .em-booking-form select:focus, .em-booking-form datalist:hover, .em-booking-form datalist:focus, .wpcf7-form [type='text']:hover, .wpcf7-form [type='text']:focus, .wpcf7-form [type='password']:hover, .wpcf7-form [type='password']:focus, .wpcf7-form [type='email']:hover, .wpcf7-form [type='email']:focus, .wpcf7-form [type='tel']:hover, .wpcf7-form [type='tel']:focus, .wpcf7-form textarea:hover, .wpcf7-form textarea:focus, .wpcf7-form select:hover, .wpcf7-form select:focus, .wpcf7-form datalist:hover, .wpcf7-form datalist:focus, #signup [type='text']:hover, #signup [type='text']:focus, #signup [type='password']:hover, #signup [type='password']:focus, #signup [type='email']:hover, #signup [type='email']:focus, #signup [type='tel']:hover, #signup [type='tel']:focus, #signup textarea:hover, #signup textarea:focus, #signup select:hover, #signup select:focus, #signup datalist:hover, #signup datalist:focus {
    color: #000; }
.em-booking-form textarea, .wpcf7-form textarea, #signup textarea {
  padding-top: 0;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 28px, #cfe0f1 28px, #cfe0f1 30px); }
.em-booking-form label, .wpcf7-form label, #signup label {
  cursor: pointer; }
.em-booking-form [type='checkbox'], .em-booking-form [type='radio'], .wpcf7-form [type='checkbox'], .wpcf7-form [type='radio'], #signup [type='checkbox'], #signup [type='radio'] {
  text-align: center;
  box-sizing: border-box;
  padding: 0;
  outline: 3px solid #5895cf;
  height: 15px;
  width: 15px; }
  .em-booking-form [type='checkbox']:checked, .em-booking-form [type='radio']:checked, .wpcf7-form [type='checkbox']:checked, .wpcf7-form [type='radio']:checked, #signup [type='checkbox']:checked, #signup [type='radio']:checked {
    background: linear-gradient(-45deg, transparent calc(50% - 2px), #5895cf calc(50% - 2px), #5895cf calc(50% + 2px), transparent calc(50% + 2px)), linear-gradient(45deg, transparent calc(50% - 2px), #5895cf calc(50% - 2px), #5895cf calc(50% + 2px), transparent calc(50% + 2px)); }
.em-booking-form select:-moz-focusring, .wpcf7-form select:-moz-focusring, #signup select:-moz-focusring {
  text-shadow: 0 0 0 #000; }

#signup, #contact {
  position: fixed;
  text-align: center;
  top: 0;
  left: 0;
  overflow: hidden;
  height: 100%;
  width: 100%;
  visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-align-items: center;
  -ms-flex-item-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-content-align: center;
  align-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  border: 0 none;
  padding: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 99;
  opacity: 0;
  font-weight: 400;
  max-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto; }
  #signup > p, #contact > p {
    display: none; }
  #signup:target, #contact:target {
    outline: 0 none;
    visibility: visible;
    opacity: 1; }
  #signup > a, #contact > a {
    position: absolute;
    top: 0;
    bottom: 0; }
    #signup > a.prev, #signup > a.next, #contact > a.prev, #contact > a.next {
      vertical-align: middle;
      font-size: 0;
      z-index: 2;
      line-height: 180px;
      height: 60px;
      width: 60px;
      margin: auto;
      background: rgba(255, 255, 255, 0.5); }
      @media screen and (max-width: 475px) {
        #signup > a.prev, #signup > a.next, #contact > a.prev, #contact > a.next {
          margin-bottom: 30px; } }
      #signup > a.prev:hover, #signup > a.prev:focus, #signup > a.prev:active, #signup > a.next:hover, #signup > a.next:focus, #signup > a.next:active, #contact > a.prev:hover, #contact > a.prev:focus, #contact > a.prev:active, #contact > a.next:hover, #contact > a.next:focus, #contact > a.next:active {
        background: #000; }
      #signup > a.prev::before, #signup > a.next::before, #contact > a.prev::before, #contact > a.next::before {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        display: block;
        box-sizing: border-box;
        margin: auto;
        content: "";
        height: 30px;
        width: 30px;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent; }
    @media screen and (min-width: 900px) {
      #signup > a[href="#_"], #contact > a[href="#_"] {
        left: 0;
        bottom: 0; } }
    #signup > a.prev, #contact > a.prev {
      left: 0; }
      #signup > a.prev::before, #contact > a.prev::before {
        border-right: 30px solid #2b6296; }
      #signup > a.prev:hover::before, #signup > a.prev:active::before, #signup > a.prev:focus::before, #contact > a.prev:hover::before, #contact > a.prev:active::before, #contact > a.prev:focus::before {
        border-right: 30px solid #c22; }
    #signup > a.next, #contact > a.next {
      right: 0; }
      #signup > a.next::before, #contact > a.next::before {
        border-left: 30px solid #2b6296; }
      #signup > a.next:hover::before, #signup > a.next:active::before, #signup > a.next:focus::before, #contact > a.next:hover::before, #contact > a.next:active::before, #contact > a.next:focus::before {
        border-left: 30px solid #c22; }
  #signup > div, #signup > form, #contact > div, #contact > form {
    position: relative;
    z-index: 2; }
  #signup form, #contact form {
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.15);
    background: #fff; }
  #signup input, #signup textarea, #contact input, #contact textarea {
    transition: all 0.2s; }
  #signup input:focus, #contact input:focus {
    background-color: rgba(43, 98, 150, 0.2); }
  #signup select:focus, #signup textarea:focus, #contact select:focus, #contact textarea:focus {
    outline: 3px solid #80e3e4;
    outline-offset: 2px; }

#signup {
  text-align: center; }
  #signup label,
  #signup .gone {
    position: fixed;
    left: -120vw;
    top: -120vh; }
  #signup div {
    clear: both; }
  #signup p {
    font-size: 0.9375rem;
    margin-bottom: 30px;
    line-height: 1.25;
    color: #555; }
    #signup p * {
      font-size: 0.9375rem; }
  #signup form {
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
    border-radius: 15px;
    padding: 60px 60px 30px 60px;
    background: #fff; }
  #signup .mce_inline_error {
    color: #c22; }
  #signup .response {
    display: none;
    font-family: "Open Sans Condensed";
    font-weight: 700; }
  #signup #mce-error-response {
    color: #c22; }
  #signup #mce-success-response {
    color: #282; }
  #signup button,
  #signup [type="submit"] {
    color: #fff;
    background: #282;
    padding: 0 30px;
    font-weight: 500;
    transition: all 0.2s;
    font-family: "Open Sans Condensed";
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 12px 30px;
    border-radius: 60px; }
    #signup button:hover, #signup button:focus,
    #signup [type="submit"]:hover,
    #signup [type="submit"]:focus {
      background: #2cb12c;
      box-shadow: 0 0 10px #282;
      color: #000; }
    #signup button:active,
    #signup [type="submit"]:active {
      background: #185f18; }
    #signup button::selection,
    #signup [type="submit"]::selection {
      color: #000; }

.wp-block-jetpack-mailchimp_notification.wp-block-jetpack-mailchimp_processing {
  font-weight: 700; }

.wp-block-jetpack-mailchimp_success {
  font-weight: 700;
  padding-left: 30px;
  padding-right: 30px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); }

#contact form {
  padding: 30px 15px 160px 15px; }
  @media screen and (min-width: 475px) {
    #contact form {
      padding: 30px 60px 160px 60px; } }
  @media screen and (min-width: 900px) {
    #contact form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
      -webkit-align-items: center;
      -ms-flex-item-align: center;
      align-items: center;
      -webkit-align-content: center;
      -ms-flex-content-align: center;
      align-content: center;
      -webkit-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      margin: 30px 30px 0 30px; } }
  #contact form a {
    font-weight: 400;
    border-bottom: 2px solid #00396f;
    background-image: linear-gradient(to right, transparent 50%, #ee5 50%);
    background-position: 0% 0;
    background-size: 200% auto;
    transition: all 0.2s; }
    #contact form a:link, #contact form a:visited {
      color: #00396f; }
    #contact form a:hover, #contact form a:focus {
      background-position: -99.99% 0;
      transition: all 0.3s ease-out; }
#contact button {
  border-radius: 100%;
  font-family: "Open Sans Condensed";
  font-weight: 700;
  right: 0;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  bottom: 30px;
  height: 100px;
  width: 100px; }
#contact .wpcf7-text {
  width: 100%; }
#contact .wpcf7-form-control-wrap {
  display: block; }
#contact .wpcf7-response-output {
  top: 0; }

#rsvp form {
  font-weight: 700;
  font-family: "Open Sans Condensed"; }
#rsvp input {
  text-align: center; }
#rsvp legend {
  font-style: italic;
  font-family: "Asap Condensed"; }
#rsvp label span {
  line-height: 1.5; }
#rsvp button {
  border-radius: 100%;
  padding: 0;
  font-weight: 700;
  width: 90px;
  height: 90px; }
#rsvp + a {
  font-weight: 700;
  padding: 15px 30px;
  border-radius: 60px; }

#mobile {
  display: block;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 100%;
  background: linear-gradient(to bottom, #fff 20%, transparent 20%, transparent 40%, #fff 40%, #fff 60%, transparent 60%, transparent 80%, #fff 80%) #0f2133;
  background-repeat: no-repeat;
  background-size: 30px 30px;
  background-position: center;
  order: 1;
  top: 15px;
  right: 15px;
  height: 45px;
  width: 45px;
  z-index: 6;
  content: "";
  cursor: pointer;
  border: 8px solid #0f2133; }
  #mobile:hover, #mobile:active, #mobile:focus {
    outline: 0 none;
    background: linear-gradient(to bottom, #fff 20%, transparent 20%, transparent 40%, #fff 40%, #fff 60%, transparent 60%, transparent 80%, #fff 80%) #6ca2d5;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: center;
    border: 8px solid #6ca2d5; }
  #mobile:checked {
    background: linear-gradient(-45deg, transparent calc(50% - 3px), #fff calc(50% - 3px), #fff calc(50% + 3px), transparent calc(50% + 3px)), linear-gradient(45deg, transparent calc(50% - 3px), #fff calc(50% - 3px), #fff calc(50% + 3px), transparent calc(50% + 3px)) #0f2133;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: center;
    position: fixed;
    right: 0;
    top: 0;
    outline: none; }
    #mobile:checked:hover, #mobile:checked:active, #mobile:checked:focus {
      background: linear-gradient(-45deg, transparent calc(50% - 3px), #fff calc(50% - 3px), #fff calc(50% + 3px), transparent calc(50% + 3px)), linear-gradient(45deg, transparent calc(50% - 3px), #fff calc(50% - 3px), #fff calc(50% + 3px), transparent calc(50% + 3px)) #6ca2d5;
      background-repeat: no-repeat;
      background-size: 30px 30px;
      background-position: center; }
  @media screen and (min-width: 900px) {
    #mobile {
      display: none; } }

.btn {
  display: inline-block;
  border: 0 none;
  outline: 0 none;
  position: relative;
  cursor: pointer;
  background: #cb4e4e;
  color: #fff;
  box-shadow: 0 6px #ab3c3c;
  border-radius: 5px; }
  .btn::after {
    position: absolute;
    content: "";
    z-index: -1; }
  .btn:hover {
    background: #d55;
    box-shadow: 0 8px #ab3c3c;
    top: -2px; }
  .btn:active {
    box-shadow: 0 0 #ab3c3c;
    top: 6px; }

.message {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
  background: #181818;
  color: #fff;
  top: -250px;
  height: 250px;
  padding: 20px;
  transition: top 300ms cubic-bezier(0.17, 0.04, 0.03, 0.94); }

#toggle {
  position: absolute;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  left: -100%;
  top: -100%; }
  #toggle + label {
    position: absolute;
    text-align: center;
    cursor: pointer;
    background: #26ae90;
    width: 100px;
    padding: 8px 10px;
    color: #FFF;
    margin: 20px 50px;
    border-radius: 3px;
    -webkit-font-smoothing: antialiased;
    transition: all 500ms ease; }
    #toggle + label::after {
      content: "Open"; }
    #toggle + label:checked ~ .message {
      top: 0; }
    #toggle + label:checked ~ .container {
      margin-top: 250px; }
    #toggle + label:checked + label {
      background: #dd6149; }
      #toggle + label:checked + label::after {
        content: "Close"; }

#pledge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-align-items: center;
  -ms-flex-item-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-content-align: center;
  align-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  max-width: 500px;
  min-height: 500px;
  padding: 45px 90px;
  line-height: 30px; }
  #pledge label {
    position: fixed;
    left: -120vw;
    top: -120vh; }
  #pledge > p {
    padding-bottom: 30px;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
    border-bottom: 1px solid #fff; }
  #pledge fieldset {
    margin-bottom: 15px;
    font-family: "Asap Condensed";
    font-size: 1.375rem;
    font-weight: 900; }
    #pledge fieldset input {
      font-family: "Open Sans Condensed";
      font-weight: 700;
      font-style: normal;
      font-size: 1.125rem;
      margin: 0 3px; }
  #pledge button {
    border-radius: 100%;
    padding: 0;
    font-family: "Open Sans Condensed";
    font-weight: 700;
    background: #282;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
    bottom: 15px;
    width: 90px;
    height: 90px; }
    @media screen and (min-width: 475px) {
      #pledge button {
        position: absolute; } }
    #pledge button:hover, #pledge button:focus {
      background: #2cb12c;
      color: #000; }
  #pledge input {
    font-style: italic;
    text-align: center;
    border-bottom: 2px dotted #fff;
    color: #000;
    font-weight: 100;
    height: auto;
    width: 200px; }
    #pledge input:focus {
      background: rgba(255, 255, 255, 0.5); }
  #pledge a {
    color: #fff;
    text-align: left;
    text-align: center;
    display: block;
    position: relative;
    display: inline-block;
    transition: transform 0.5s ease-in-out; }
    #pledge a::after {
      display: block;
      margin-top: 180px;
      content: "Take Action!";
      font-weight: 700; }
  #pledge:hover a, #pledge:focus a {
    -webkit-transform: translateY(-240px);
    -ms-transform: translateY(-240px);
    transform: translateY(-240px); }

#pledge input::-webkit-input-placeholder, .enrollment input::-webkit-input-placeholder {
  color: #000; }
#pledge input::-moz-placeholder, .enrollment input::-moz-placeholder {
  color: #000; }
#pledge input:-ms-input-placeholder, .enrollment input:-ms-input-placeholder {
  color: #000; }
#pledge input:focus::-moz-placeholder, .enrollment input:focus::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5); }
#pledge input:focus:-moz-placeholder, .enrollment input:focus:-moz-placeholder {
  color: rgba(0, 0, 0, 0.5); }
#pledge input:focus::-moz-placeholder, .enrollment input:focus::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5); }
#pledge input:focus::-webkit-input-placeholder, .enrollment input:focus::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.5); }
#pledge input:focus:-ms-input-placeholder, .enrollment input:focus:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.5); }
#pledge input:focus::placeholder, .enrollment input:focus::placeholder {
  color: rgba(0, 0, 0, 0.5); }

.enrollment {
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
  margin-top: -200px;
  padding: 0 12px 30px 12px; }
  .enrollment.submitting {
    position: relative;
    opacity: 0.5;
    pointer-events: none; }
    .enrollment.submitting::after {
      display: inline-block;
      border-radius: 100%;
      font-size: 0;
      content: "";
      height: 60px;
      width: 60px;
      background: rgba(43, 98, 150, 0.2);
      border: 12px solid transparent;
      border-top-color: #c22;
      border-right-color: #c22;
      animation: rot8n 600ms linear infinite; }
    .enrollment.submitting::after {
      position: absolute;
      right: 0;
      left: 0;
      margin-left: auto;
      margin-right: auto;
      bottom: 30px; }
  .enrollment fieldset {
    text-align: left;
    position: relative;
    margin-bottom: 30px;
    border: 2px solid #2b6296;
    padding: 30px 30px 60px 30px;
    background: #fff; }
  .enrollment small, .enrollment label, .enrollment .wpcf7-form-control-wrap {
    display: block; }
  .enrollment legend {
    position: absolute;
    font-family: "Open Sans Condensed";
    font-weight: 700;
    color: #2a6063;
    font-size: 24px;
    top: 30px;
    left: 30px; }
  .enrollment label, .enrollment input {
    padding-left: 0;
    padding-right: 0; }
  .enrollment [type="text"], .enrollment [type="email"], .enrollment [type="tel"] {
    width: 100%; }
  .enrollment .wpcf7-radio {
    padding-left: 15px; }
  .enrollment .wpcf7-list-item {
    margin-right: 30px; }
  .enrollment small {
    margin-top: 6px;
    line-height: 1; }
  .enrollment .wpcf7-list-item label {
    display: inline-block; }
  .enrollment .yourinfo {
    padding-top: 90px; }
    .enrollment .yourinfo label {
      position: fixed;
      left: -120vw;
      top: -120vh; }
  .enrollment input:focus {
    background-color: rgba(43, 98, 150, 0.2); }
  .enrollment select:focus, .enrollment textarea:focus {
    outline: 3px solid #80e3e4;
    outline-offset: 2px; }
  .enrollment button {
    padding: 15px 30px;
    border-radius: 60px; }

.skip:link, .skip:visited {
  position: fixed;
  left: -120vw;
  top: -120vh;
  font-family: "Open Sans Condensed";
  font-weight: 700;
  z-index: 100;
  padding: 30px;
  background: #000;
  color: #fff; }
.skip:focus {
  position: absolute;
  top: 0;
  left: 0;
  text-decoration: underline;
  right: auto; }

#contact, #search, #rsvp {
  transition: all 0.2s; }
  #contact form, #search form, #rsvp form {
    -webkit-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7); }
  #contact:target form, #search:target form, #rsvp:target form {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  #contact .wpcf7, #search .wpcf7, #rsvp .wpcf7 {
    max-height: 100vh;
    max-width: 100vw; }
  #contact form, #search form, #rsvp form {
    font-size: 1.125rem;
    transition: all 0.2s; }

#contact input:not([type=checkbox]), #contact select, #contact label {
  margin-bottom: 6px; }
#contact header {
  text-align: left;
  font-weight: 600;
  font-size: 1.0625rem;
  margin: 15px 0; }
  @media screen and (min-width: 900px) {
    #contact header {
      margin-right: 60px; } }
#contact label {
  position: fixed;
  left: -120vw;
  top: -120vh; }
@media screen and (min-width: 900px) {
  #contact fieldset {
    margin-left: auto;
    margin-right: auto;
    max-width: 300px; } }
@media screen and (max-width: 900px) {
  #contact fieldset {
    margin-top: 30px; } }
#contact textarea {
  margin-top: 15px;
  word-spacing: 0.2em;
  height: 210px; }
#contact button {
  position: absolute;
  z-index: 600; }
#contact ul {
  list-style: none outside none;
  font-size: 1.125rem; }
  #contact ul:before {
    content: none; }
  #contact ul li {
    list-style: none outside none; }
    #contact ul li:before {
      content: none; }

#rsvp form {
  padding: 30px 30px;
  background: #fff;
  max-height: 95vh;
  overflow-y: auto; }
#rsvp legend {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 1.875rem;
  line-height: 60px; }
#rsvp .wpcf7-text {
  margin-left: auto;
  margin-right: auto;
  max-width: 300px; }
#rsvp .volunteer {
  display: block;
  margin: 15px 0; }
#rsvp + a {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 200px;
  margin-top: 30px;
  font-weight: 700;
  font-family: "Open Sans Condensed";
  text-transform: uppercase;
  padding: 15px 30px; }

#menu-main-menu {
  list-style: none outside none;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-align-items: flex-start;
  -ms-flex-item-align: flex-start;
  align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-content-align: flex-start;
  align-content: flex-start;
  -webkit-justify-content: space-around;
  -ms-justify-content: space-around;
  justify-content: space-around; }
  #menu-main-menu:before {
    content: none; }
  #menu-main-menu li {
    list-style: none outside none; }
    #menu-main-menu li:before {
      content: none; }
  #menu-main-menu ::-webkit-scrollbar {
    cursor: ns-resize;
    width: 30px; }
  #menu-main-menu ::-webkit-scrollbar-track {
    background: transparent; }
  #menu-main-menu ::-webkit-scrollbar-thumb {
    background: red; }
    #menu-main-menu ::-webkit-scrollbar-thumb:hover {
      background: transparent; }
  @media screen and (max-width: 900px) {
    #menu-main-menu {
      display: none;
      bottom: 0;
      width: 100%;
      position: fixed;
      text-shadow: 0 0 10px #000, 0 0 20px #000;
      padding: 30px;
      overflow-y: auto;
      height: 100vh;
      background: rgba(0, 0, 0, 0.9);
      z-index: 5; }
      #menu-main-menu a {
        display: inline-block;
        padding: 12px; }
      input:checked + #menu-main-menu {
        display: block; } }
  #menu-main-menu > li {
    transition: all 0.2s ease-in-out;
    position: relative; }
    @media screen and (min-width: 900px) {
      #menu-main-menu > li > a {
        display: block;
        line-height: 1em; } }
  #menu-main-menu a {
    color: #fff; }
    #menu-main-menu a:hover, #menu-main-menu a:focus {
      background-color: #96abbe;
      color: #000;
      text-shadow: none; }
  #menu-main-menu .x {
    text-indent: -10000px;
    position: fixed;
    right: 15px;
    top: 15px; }
    @media screen and (min-width: 900px) {
      #menu-main-menu .x {
        display: none; } }

@media screen and (max-width: 900px) {
  .sub-menu {
    display: none; } }
@media screen and (min-width: 900px) {
  .sub-menu {
    text-align: left;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    max-width: 300px;
    right: 120vw;
    top: 100%;
    z-index: 4;
    background: #000; }
    .sub-menu a {
      display: block;
      padding: 15px 15px;
      line-height: 15px; }
    li:hover .sub-menu, a:focus + .sub-menu, .sub-menu:focus-within {
      right: unset; } }

.logo {
  margin-bottom: 30px;
  font-size: 0;
  margin-left: auto;
  margin-right: auto;
  max-width: 200px;
  margin-left: 0;
  background: no-repeat left center/contain;
  background-image: url(/files/logo_hic.png); }
  @media screen and (min-width: 900px) {
    .logo {
      margin-left: auto;
      margin-right: auto;
      max-width: 300px;
      margin-left: 0; } }
  .logo::after {
    display: block;
    padding-top: 60%;
    content: ""; }

#heart {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  transform-box: fill-box;
  animation: beat 1s infinite; }

@keyframes beat {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  15% {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3); }
  25% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
  35% {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3); }
  75% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }
.facebook a, .twitter a, .instagram a {
  border-radius: 100%;
  display: block;
  text-indent: -10000px;
  width: 30px;
  background: no-repeat center/auto 20px; }

.facebook a {
  background-image: url('data:image/svg+xml,%3Csvg version="1.1" fill="%23fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"%3E%3Cpath d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/%3E%3C/svg%3E');
  background-repeat: no-repeat; }
  .facebook a:hover, .facebook a:focus {
    background-image: url('data:image/svg+xml,%3Csvg version="1.1" fill="%23000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"%3E%3Cpath d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"/%3E%3C/svg%3E');
    background-repeat: no-repeat; }

.twitter a {
  background-image: url('data:image/svg+xml,%3Csvg version="1.1" fill="%23fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"%3E%3Cpath d="M512 97c-19 8-39 14-60 17 22-13 38-33 46-58 -20 12-43 21-67 25C412 61 384 48 354 48c-58 0-105 47-105 105 0 8 1 16 2 24 -87-4-164-46-216-110 -9 16-14 34-14 53 0 36 19 69 47 87 -17 0-33-5-47-13 0 0 0 1 0 1 0 51 36 93 84 103 -9 2-18 3-28 3 -7 0-14 0-20-2 14 42 52 72 98 73 -36 28-81 45-130 45 -9 0-17 0-25-1C46 447 102 464 161 464c193 0 299-160 299-299 0-5 0-9 0-14C480 137 498 118 512 97z"/%3E%3C/svg%3E');
  background-repeat: no-repeat; }
  .twitter a:hover, .twitter a:focus {
    background-image: url('data:image/svg+xml,%3Csvg version="1.1" fill="%23000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"%3E%3Cpath d="M512 97c-19 8-39 14-60 17 22-13 38-33 46-58 -20 12-43 21-67 25C412 61 384 48 354 48c-58 0-105 47-105 105 0 8 1 16 2 24 -87-4-164-46-216-110 -9 16-14 34-14 53 0 36 19 69 47 87 -17 0-33-5-47-13 0 0 0 1 0 1 0 51 36 93 84 103 -9 2-18 3-28 3 -7 0-14 0-20-2 14 42 52 72 98 73 -36 28-81 45-130 45 -9 0-17 0-25-1C46 447 102 464 161 464c193 0 299-160 299-299 0-5 0-9 0-14C480 137 498 118 512 97z"/%3E%3C/svg%3E');
    background-repeat: no-repeat; }

.instagram a {
  background-image: url('data:image/svg+xml,%3Csvg version="1.1" fill="%23fff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"%3E%3Cpath d="M256,49.471c67.266,0,75.233.257,101.8,1.469,24.562,1.121,37.9,5.224,46.778,8.674a78.052,78.052,0,0,1,28.966,18.845,78.052,78.052,0,0,1,18.845,28.966c3.45,8.877,7.554,22.216,8.674,46.778,1.212,26.565,1.469,34.532,1.469,101.8s-0.257,75.233-1.469,101.8c-1.121,24.562-5.225,37.9-8.674,46.778a83.427,83.427,0,0,1-47.811,47.811c-8.877,3.45-22.216,7.554-46.778,8.674-26.56,1.212-34.527,1.469-101.8,1.469s-75.237-.257-101.8-1.469c-24.562-1.121-37.9-5.225-46.778-8.674a78.051,78.051,0,0,1-28.966-18.845,78.053,78.053,0,0,1-18.845-28.966c-3.45-8.877-7.554-22.216-8.674-46.778-1.212-26.564-1.469-34.532-1.469-101.8s0.257-75.233,1.469-101.8c1.121-24.562,5.224-37.9,8.674-46.778A78.052,78.052,0,0,1,78.458,78.458a78.053,78.053,0,0,1,28.966-18.845c8.877-3.45,22.216-7.554,46.778-8.674,26.565-1.212,34.532-1.469,101.8-1.469m0-45.391c-68.418,0-77,.29-103.866,1.516-26.815,1.224-45.127,5.482-61.151,11.71a123.488,123.488,0,0,0-44.62,29.057A123.488,123.488,0,0,0,17.3,90.982C11.077,107.007,6.819,125.319,5.6,152.134,4.369,179,4.079,187.582,4.079,256S4.369,333,5.6,359.866c1.224,26.815,5.482,45.127,11.71,61.151a123.489,123.489,0,0,0,29.057,44.62,123.486,123.486,0,0,0,44.62,29.057c16.025,6.228,34.337,10.486,61.151,11.71,26.87,1.226,35.449,1.516,103.866,1.516s77-.29,103.866-1.516c26.815-1.224,45.127-5.482,61.151-11.71a128.817,128.817,0,0,0,73.677-73.677c6.228-16.025,10.486-34.337,11.71-61.151,1.226-26.87,1.516-35.449,1.516-103.866s-0.29-77-1.516-103.866c-1.224-26.815-5.482-45.127-11.71-61.151a123.486,123.486,0,0,0-29.057-44.62A123.487,123.487,0,0,0,421.018,17.3C404.993,11.077,386.681,6.819,359.866,5.6,333,4.369,324.418,4.079,256,4.079h0Z"/%3E%3Cpath d="M256,126.635A129.365,129.365,0,1,0,385.365,256,129.365,129.365,0,0,0,256,126.635Zm0,213.338A83.973,83.973,0,1,1,339.974,256,83.974,83.974,0,0,1,256,339.973Z"/%3E%3Ccircle cx="390.476" cy="121.524" r="30.23"/%3E%3C/svg%3E');
  background-repeat: no-repeat; }
  .instagram a:hover, .instagram a:focus {
    background-image: url('data:image/svg+xml,%3Csvg version="1.1" fill="%23000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"%3E%3Cpath d="M256,49.471c67.266,0,75.233.257,101.8,1.469,24.562,1.121,37.9,5.224,46.778,8.674a78.052,78.052,0,0,1,28.966,18.845,78.052,78.052,0,0,1,18.845,28.966c3.45,8.877,7.554,22.216,8.674,46.778,1.212,26.565,1.469,34.532,1.469,101.8s-0.257,75.233-1.469,101.8c-1.121,24.562-5.225,37.9-8.674,46.778a83.427,83.427,0,0,1-47.811,47.811c-8.877,3.45-22.216,7.554-46.778,8.674-26.56,1.212-34.527,1.469-101.8,1.469s-75.237-.257-101.8-1.469c-24.562-1.121-37.9-5.225-46.778-8.674a78.051,78.051,0,0,1-28.966-18.845,78.053,78.053,0,0,1-18.845-28.966c-3.45-8.877-7.554-22.216-8.674-46.778-1.212-26.564-1.469-34.532-1.469-101.8s0.257-75.233,1.469-101.8c1.121-24.562,5.224-37.9,8.674-46.778A78.052,78.052,0,0,1,78.458,78.458a78.053,78.053,0,0,1,28.966-18.845c8.877-3.45,22.216-7.554,46.778-8.674,26.565-1.212,34.532-1.469,101.8-1.469m0-45.391c-68.418,0-77,.29-103.866,1.516-26.815,1.224-45.127,5.482-61.151,11.71a123.488,123.488,0,0,0-44.62,29.057A123.488,123.488,0,0,0,17.3,90.982C11.077,107.007,6.819,125.319,5.6,152.134,4.369,179,4.079,187.582,4.079,256S4.369,333,5.6,359.866c1.224,26.815,5.482,45.127,11.71,61.151a123.489,123.489,0,0,0,29.057,44.62,123.486,123.486,0,0,0,44.62,29.057c16.025,6.228,34.337,10.486,61.151,11.71,26.87,1.226,35.449,1.516,103.866,1.516s77-.29,103.866-1.516c26.815-1.224,45.127-5.482,61.151-11.71a128.817,128.817,0,0,0,73.677-73.677c6.228-16.025,10.486-34.337,11.71-61.151,1.226-26.87,1.516-35.449,1.516-103.866s-0.29-77-1.516-103.866c-1.224-26.815-5.482-45.127-11.71-61.151a123.486,123.486,0,0,0-29.057-44.62A123.487,123.487,0,0,0,421.018,17.3C404.993,11.077,386.681,6.819,359.866,5.6,333,4.369,324.418,4.079,256,4.079h0Z"/%3E%3Cpath d="M256,126.635A129.365,129.365,0,1,0,385.365,256,129.365,129.365,0,0,0,256,126.635Zm0,213.338A83.973,83.973,0,1,1,339.974,256,83.974,83.974,0,0,1,256,339.973Z"/%3E%3Ccircle cx="390.476" cy="121.524" r="30.23"/%3E%3C/svg%3E');
    background-repeat: no-repeat; }

@media screen and (max-width: 900px) {
  #top .facebook, #top .twitter, #top .instagram {
    position: absolute;
    bottom: 0; }
  #top .facebook {
    right: 90px; }
  #top .twitter {
    right: 30px; }
  #top .instagram {
    right: 150px; } }
.more {
  float: right;
  font-style: italic;
  font-weight: 700; }
  .more::after {
    padding-left: 6px;
    content: "→"; }

#logo {
  position: absolute;
  top: 15px;
  max-width: 240px;
  height: 150px;
  z-index: 3;
  left: 15px; }
  @media screen and (max-width: 900px) {
    #logo {
      max-width: 210px; } }
  #logo:focus .shape {
    stroke: rgba(255, 255, 255, 0.7);
    stroke-width: 3; }
  #logo:focus #healthy-illinois {
    fill: #c22; }
  @media screen and (max-width: 1280px) {
    #logo {
      top: 50px; } }
  @media screen and (max-width: 900px) {
    #logo {
      top: 0; } }
  #logo svg {
    max-width: 100%;
    max-height: 100%; }

#top {
  position: relative;
  padding-left: 15px;
  padding-right: 15px; }
  #top .button {
    color: #fff;
    background: #282;
    padding: 0 30px;
    font-weight: 500;
    transition: all 0.2s;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); }
    #top .button:hover, #top .button:focus {
      background: #2cb12c;
      box-shadow: 0 0 10px #282;
      color: #000; }
    #top .button:active {
      background: #185f18; }
    #top .button::selection {
      color: #000; }
  #top nav + div {
    position: absolute;
    top: 0;
    margin-left: auto;
    margin-right: auto;
    max-width: 1600px;
    width: 100%; }
  #top > div {
    color: #000; }
  #top h2, #top .h3, #top .h4, #top time, #top p, #top .h3 + ul {
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
    font-family: "Asap Condensed";
    text-shadow: 0 0 20px #fff, 0 0 5px #fff; }
    #top h2 a, #top .h3 a, #top .h4 a, #top time a, #top p a, #top .h3 + ul a {
      font-weight: 400;
      border-bottom: 2px solid #00396f;
      background-image: linear-gradient(to right, transparent 50%, #ee5 50%);
      background-position: 0% 0;
      background-size: 200% auto;
      transition: all 0.2s; }
      #top h2 a:link, #top h2 a:visited, #top .h3 a:link, #top .h3 a:visited, #top .h4 a:link, #top .h4 a:visited, #top time a:link, #top time a:visited, #top p a:link, #top p a:visited, #top .h3 + ul a:link, #top .h3 + ul a:visited {
        color: #00396f; }
      #top h2 a:hover, #top h2 a:focus, #top .h3 a:hover, #top .h3 a:focus, #top .h4 a:hover, #top .h4 a:focus, #top time a:hover, #top time a:focus, #top p a:hover, #top p a:focus, #top .h3 + ul a:hover, #top .h3 + ul a:focus {
        background-position: -99.99% 0;
        transition: all 0.3s ease-out; }
  #top .h3 + ul {
    font-size: 1.375rem;
    margin-top: 30px;
    list-style: none outside none;
    line-height: 1.5; }
    #top .h3 + ul:before {
      content: none; }
    #top .h3 + ul li {
      list-style: none outside none; }
      #top .h3 + ul li:before {
        content: none; }
    @media screen and (min-width: 475px) {
      #top .h3 + ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-align-items: center;
        -ms-flex-item-align: center;
        align-items: center;
        -webkit-align-content: center;
        -ms-flex-content-align: center;
        align-content: center;
        -webkit-justify-content: center;
        -ms-justify-content: center;
        justify-content: center; } }
    #top .h3 + ul li {
      margin: 0 30px; }
  #top p {
    font-size: 1.375rem;
    font-weight: 500; }
  #top nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    text-transform: uppercase;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-align-items: stretch;
    -ms-flex-item-align: stretch;
    align-items: stretch;
    -webkit-align-content: stretch;
    -ms-flex-content-align: stretch;
    align-content: stretch;
    -webkit-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    font-family: "Asap Condensed";
    background: linear-gradient(to right, #80aeda 0%, #20486e 100%);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
  @media screen and (min-width: 900px) {
    #top #menu-main-menu > li {
      height: 100%; }
      #top #menu-main-menu > li > a {
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-align-items: center;
        -ms-flex-item-align: center;
        align-items: center;
        -webkit-align-content: center;
        -ms-flex-content-align: center;
        align-content: center;
        -webkit-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        padding: 0 30px; }
      #top #menu-main-menu > li.facebook, #top #menu-main-menu > li.twitter, #top #menu-main-menu > li.instagram {
        height: 30px;
        width: 30px;
        margin: auto 10px; }
        #top #menu-main-menu > li.facebook > a, #top #menu-main-menu > li.twitter > a, #top #menu-main-menu > li.instagram > a {
          padding: 0; } }
  @media screen and (max-width: 900px) {
    #top #menu-main-menu {
      font-size: 1.5rem; }
      #top #menu-main-menu li {
        padding: 6px 0; } }

@media screen and (max-width: 475px) {
  .singular #top, .error404 #top {
    padding-top: 60px; } }
.singular #logo, .error404 #logo {
  margin-bottom: 30px; }

.singular #top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column nowrap;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-align-items: center;
  -ms-flex-item-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-content-align: center;
  align-content: center;
  -webkit-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
  margin-bottom: 210px;
  min-height: 480px; }
  @media screen and (max-width: 475px) {
    .singular #top {
      -webkit-justify-content: flex-end;
      -ms-justify-content: flex-end;
      justify-content: flex-end;
      padding-top: 200px; } }
  .singular #top time, .singular #top .time, .singular #top cite, .singular #top > div > a {
    font-family: "Asap Condensed";
    font-size: 1.5rem;
    margin-top: 6px;
    display: block;
    font-weight: 400; }
  .singular #top .button {
    color: #fff;
    background: #282;
    padding: 0 30px;
    font-weight: 500;
    transition: all 0.2s;
    position: absolute;
    right: 0;
    left: 0;
    border-radius: 36px;
    bottom: -120px;
    margin: auto;
    width: fit-content;
    padding: 18px 30px; }
    .singular #top .button:hover, .singular #top .button:focus {
      background: #2cb12c;
      box-shadow: 0 0 10px #282;
      color: #000; }
    .singular #top .button:active {
      background: #185f18; }
    .singular #top .button::selection {
      color: #000; }
  .singular #top h1 {
    color: #f5cc00;
    margin-bottom: 12px;
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black, 0 5px 12px rgba(0, 0, 0, 0.5); }

.blog #top {
  margin-bottom: 0;
  min-height: 300px; }
  .blog #top h1 {
    display: none; }

.error404 {
  background: radial-gradient(circle 600px at center 240px, #fff 50%, rgba(255, 255, 255, 0.6) 50%); }
  .error404 #top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column nowrap;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -webkit-align-items: center;
    -ms-flex-item-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-content-align: center;
    align-content: center;
    -webkit-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    min-height: 240px; }

.home #top p {
  text-align: center;
  width: 100%;
  color: #fff;
  font-size: 1.3125rem;
  font-family: "Open Sans Condensed";
  max-width: 100%;
  line-height: 22.5px;
  font-weight: 600;
  text-shadow: 0 0 6px #000;
  word-spacing: 0.2em;
  background: rgba(0, 0, 0, 0.6);
  padding: 15px 6px; }
  .home #top p::selection,
  .home #top p a::selection {
    background: #000; }
  .home #top p a:hover {
    color: #000; }
  @media screen and (min-width: 475px) {
    .home #top p {
      margin-top: 15px; } }

.home {
  background: radial-gradient(circle 120vw at 40vw 0vh, transparent 50%, rgba(255, 255, 255, 0.3) 50%), radial-gradient(circle 120vw at 50vw -10vh, transparent 50%, rgba(23, 105, 152, 0.2) 50%), linear-gradient(to bottom right, rgba(255, 255, 255, 0.5) 300px, rgba(238, 51, 68, 0.85) 100%); }
  @media screen and (min-width: 475px) {
    .home {
      background-attachment: fixed; } }
  .home #top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column wrap;
    -ms-flex-flow: column wrap;
    flex-flow: column wrap;
    -webkit-align-items: center;
    -ms-flex-item-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-content-align: center;
    align-content: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    min-height: 100vh;
    padding: 0; }
    @media screen and (max-width: 475px) {
      .home #top {
        -webkit-justify-content: flex-end;
        -ms-justify-content: flex-end;
        justify-content: flex-end; } }
    .home #top nav + div + div {
      width: 100%; }
    @media screen and (min-width: 900px) {
      .home #top #logo {
        max-width: 330px;
        height: 180px; } }
    .home #top h1 {
      margin-left: auto;
      margin-right: auto;
      max-width: 500px;
      overflow: hidden;
      margin-top: 90px;
      font-size: 1.875rem;
      box-shadow: 0 0 20px rgba(0, 0, 0, 0.35);
      font-weight: 300;
      background: #763957;
      line-height: 30px; }
      @media screen and (min-width: 475px) {
        .home #top h1 {
          border-radius: 100px; } }
      .home #top h1 a {
        color: #fff;
        text-align: left;
        text-align: center;
        display: block;
        position: relative;
        display: inline-block;
        font-weight: 900;
        padding: 45px; }
        @media screen and (max-width: 475px) {
          .home #top h1 a {
            padding: 30px 15px; } }
      @media screen and (min-width: 900px) {
        .home #top h1 {
          height: 180px; }
          .home #top h1 a {
            transition: transform 0.5s ease-in-out; }
            .home #top h1 a::after {
              display: block;
              margin-top: 180px;
              font-size: 3.5rem;
              content: "Take Action!";
              font-weight: 700; }
            .home #top h1 a:hover, .home #top h1 a:focus {
              -webkit-transform: translateY(-240px);
              -ms-transform: translateY(-240px);
              transform: translateY(-240px); } }
    @media screen and (max-width: 475px) {
      .home #top p {
        padding: 30px 15px; } }
    @media screen and (min-width: 475px) {
      .home #top p {
        position: absolute;
        bottom: 30px; } }
  .home main {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    background: #f3f3f3;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
    @media screen and (min-width: 900px) {
      .home main {
        border-radius: 6px; } }

#stats {
  overflow: hidden;
  position: relative;
  padding-bottom: 60px;
  color: #000; }
  #stats h2, #stats h3 {
    font-weight: 700;
    color: #333; }
  #stats figure {
    float: right;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-align-items: flex-start;
    -ms-flex-item-align: flex-start;
    align-items: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-content-align: flex-start;
    align-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    margin: 0 -75px 30px 60px;
    width: 500px;
    height: 900px; }
    @media screen and (max-width: 900px) {
      #stats figure {
        display: none; } }
    #stats figure > div, #stats figure > svg {
      height: 100%;
      width: 100%;
      overflow: hidden; }
    #stats figure > div {
      padding-top: 3px;
      background: #ddd; }
      #stats figure > div svg {
        fill: #2b6296;
        height: 62px;
        padding: 0 3px; }
        #stats figure > div svg.hilite {
          fill: #c22;
          animation: popin 3s linear 100; }
    #stats figure > svg {
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%; }
    #stats figure > p {
      position: absolute;
      margin-left: auto;
      margin-right: auto;
      max-width: 300px;
      font-size: 0.9375rem;
      text-align: right;
      font-weight: 400;
      line-height: 22.5px;
      right: 120px;
      bottom: -150px; }
      #stats figure > p * {
        font-size: 0.9375rem; }
      @media screen and (max-width: 900px) {
        #stats figure > p {
          display: none; } }
  #stats article {
    text-align: left;
    max-width: 800px;
    width: auto; }
    @media screen and (min-width: 900px) {
      #stats article {
        padding: 120px 60px 0 60px; } }
    @media screen and (max-width: 900px) {
      #stats article {
        position: relative;
        z-index: 1;
        background: rgba(243, 243, 243, 0.85);
        padding: 60px 30px 0 30px; } }
    #stats article h2:first-child + p {
      font-size: 1.375rem; }
  #stats ul {
    list-style: none outside none; }
    #stats ul:before {
      content: none; }
    #stats ul li {
      list-style: none outside none; }
      #stats ul li:before {
        content: none; }
    @media screen and (min-width: 900px) {
      #stats ul {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 60px;
        -moz-column-gap: 60px;
        column-gap: 60px;
        -webkit-column-rule: none;
        -moz-column-rule: none;
        column-rule: none; }
        #stats ul li, #stats ul p {
          -webkit-column-break-inside: avoid;
          page-break-inside: avoid;
          break-inside: avoid; } }
  #stats li {
    padding-bottom: 30px; }
    #stats li:before {
      margin-right: 6px;
      display: inline-block;
      vertical-align: middle;
      content: " ";
      color: #c22;
      background: #c22;
      height: 6px;
      width: 6px; }

@keyframes popin {
  20% {
    fill: #c22; }
  50% {
    fill: #2b6296; }
  80% {
    fill: #c22; } }
.man, .woman, .child {
  height: 60px;
  padding: 3px;
  transition: all 150ms linear; }

.hilite {
  fill: #c22; }

#featured {
  position: relative;
  background: #222; }
  @media screen and (min-width: 900px) {
    #featured {
      height: 630px;
      border-radius: 6px 6px 0 0; } }
  @media screen and (max-width: 900px) {
    #featured {
      overflow: hidden;
      height: 85vh; } }
  #featured nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-align-items: stretch;
    -ms-flex-item-align: stretch;
    align-items: stretch;
    -webkit-align-content: stretch;
    -ms-flex-content-align: stretch;
    align-content: stretch;
    -webkit-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 30px 15px 30px; }
  #featured fieldset {
    overflow: hidden;
    text-align: left;
    width: 100%;
    border: 0 none;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    position: relative; }
    @media screen and (min-width: 900px) {
      #featured fieldset {
        height: 680px; } }
    @media screen and (max-width: 900px) {
      #featured fieldset {
        height: 100%; } }
    @media screen and (min-width: 900px) {
      #featured fieldset > a, #featured fieldset > div {
        border-radius: 100%;
        box-shadow: inset 30px 30px 0 rgba(255, 255, 255, 0.3), inset -30px -30px 0 rgba(204, 34, 34, 0.3); }
        #featured fieldset > a > div, #featured fieldset > div > div {
          height: 530px; } }
    @media screen and (max-width: 900px) {
      #featured fieldset > a > div, #featured fieldset > div > div {
        height: 100%;
        text-shadow: 0 0 3px #000, 0 0 6px #000;
        background: rgba(0, 0, 0, 0.9); } }
    #featured fieldset > a + a, #featured fieldset > div + a {
      background-color: #9ff; }
    #featured fieldset input {
      position: absolute;
      right: 120vw; }
      #featured fieldset input + label + div,
      #featured fieldset input + label + a {
        position: absolute;
        display: block;
        color: #fff;
        background: no-repeat center center/cover;
        opacity: 0;
        pointer-events: none; }
        #featured fieldset input + label + div:focus,
        #featured fieldset input + label + a:focus {
          outline: 3px solid #80e3e4; }
        @media screen and (min-width: 900px) {
          #featured fieldset input + label + div,
          #featured fieldset input + label + a {
            width: 50%;
            left: 15px;
            transition: opacity 0.5s ease-in-out; } }
        @media screen and (max-width: 900px) {
          #featured fieldset input + label + div,
          #featured fieldset input + label + a {
            width: 100%;
            height: 100%; } }
        #featured fieldset input + label + div > div,
        #featured fieldset input + label + a > div {
          overflow: auto;
          position: absolute;
          top: 0;
          display: none;
          overflow-y: auto;
          opacity: 1;
          pointer-events: auto; }
          @media screen and (min-width: 900px) {
            #featured fieldset input + label + div > div,
            #featured fieldset input + label + a > div {
              padding: 0 45px 0 60px;
              animation: transparentize-in 0.75s;
              width: calc(100% - 30px);
              left: 100%; } }
          @media screen and (max-width: 900px) {
            #featured fieldset input + label + div > div,
            #featured fieldset input + label + a > div {
              padding: 60px 45px 0 60px; } }
          @media screen and (max-width: 475px) {
            #featured fieldset input + label + div > div,
            #featured fieldset input + label + a > div {
              padding: 30px 30px 90px 30px; } }
        #featured fieldset input + label + div::before,
        #featured fieldset input + label + a::before {
          display: block;
          padding-top: 100%;
          content: ""; }
      #featured fieldset input:checked + label + div, #featured fieldset input:checked + label + a {
        opacity: 1; }
        @media screen and (min-width: 900px) {
          #featured fieldset input:checked + label + div, #featured fieldset input:checked + label + a {
            transition: opacity 0.5s ease-in-out; } }
        #featured fieldset input:checked + label + div > div, #featured fieldset input:checked + label + a > div {
          display: block;
          text-align: left; }
@keyframes transparentize-in {
  0% {
    opacity: 0; }
  50% {
    transform: translateY(-50px);
    opacity: 0; }
  100% {
    transform: translateY(0px);
    opacity: 1; } }
  #featured legend, #featured label {
    text-transform: uppercase;
    display: inline-block;
    height: 60px;
    line-height: 60px;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 900px) {
      #featured legend, #featured label {
        font-family: "Open Sans Condensed";
        padding: 0 12px; } }
    @media screen and (min-width: 900px) {
      #featured legend, #featured label {
        margin-bottom: 15px;
        padding: 0 30px; } }
  #featured legend {
    color: #fff;
    float: left; }
    @media screen and (max-width: 475px) {
      #featured legend {
        padding: 0 15px; } }
  #featured label {
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
    color: #aaa;
    z-index: 2;
    transition: all 0.1s ease-in-out; }
  #featured label:hover,
  #featured input:focus + label,
  #featured input:checked + label {
    text-shadow: 0 0 15px #fff;
    cursor: pointer;
    color: #fff;
    border-bottom: solid 4px #fff; }
  #featured button {
    border-radius: 30px;
    height: auto;
    padding: 15px 30px; }

#author {
  margin-top: 60px;
  padding-bottom: 90px; }
  #author > figure {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-align-items: flex-end;
    -ms-flex-item-align: flex-end;
    align-items: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-content-align: flex-end;
    align-content: flex-end;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    padding: 0 30px; }
    #author > figure img {
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
      width: 200px; }
    #author > figure figcaption {
      text-align: left;
      margin-left: 30px;
      font-size: 1.0625rem; }
      #author > figure figcaption p {
        margin: 6px 0; }
    #author > figure h4 {
      padding-bottom: 15px; }
    #author > figure a {
      color: #000; }

.footnotes ol {
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
  padding-left: 30px;
  padding-right: 30px;
  font-size: 0.875rem; }
.footnotes li {
  margin-left: 15px;
  margin-bottom: 0; }
  .footnotes li:target {
    background: yellow; }
.footnotes p {
  margin: 0; }

.callout {
  margin-top: 30px;
  margin-left: 60px; }
  @media screen and (min-width: 900px) {
    .callout {
      border-left: 1px dotted #888; } }
  .callout > a {
    color: #fff;
    background: #282;
    padding: 0 30px;
    font-weight: 500;
    transition: all 0.2s;
    font-weight: 700;
    padding: 15px;
    border-radius: 45px; }
    .callout > a:hover, .callout > a:focus {
      background: #2cb12c;
      box-shadow: 0 0 10px #282;
      color: #000; }
    .callout > a:active {
      background: #185f18; }
    .callout > a::selection {
      color: #000; }
  .callout p {
    text-align: center; }

main {
  position: relative;
  font-size: 1.125rem;
  z-index: 3; }
  main p a, main ul a, main ol a, main h2 a, main h3 a, main h4 a, main h5 a {
    font-weight: 400;
    border-bottom: 2px solid #00396f;
    background-image: linear-gradient(to right, transparent 50%, #ee5 50%);
    background-position: 0% 0;
    background-size: 200% auto;
    transition: all 0.2s; }
    main p a:link, main p a:visited, main ul a:link, main ul a:visited, main ol a:link, main ol a:visited, main h2 a:link, main h2 a:visited, main h3 a:link, main h3 a:visited, main h4 a:link, main h4 a:visited, main h5 a:link, main h5 a:visited {
      color: #00396f; }
    main p a:hover, main p a:focus, main ul a:hover, main ul a:focus, main ol a:hover, main ol a:focus, main h2 a:hover, main h2 a:focus, main h3 a:hover, main h3 a:focus, main h4 a:hover, main h4 a:focus, main h5 a:hover, main h5 a:focus {
      background-position: -99.99% 0;
      transition: all 0.3s ease-out; }
  main p strong, main ul strong, main ol strong, main h2 strong, main h3 strong, main h4 strong, main h5 strong {
    font-weight: 600; }
  main p, main li {
    word-spacing: 0.2em; }
  @media screen and (max-width: 900px) {
    main > article > figure {
      width: 100%;
      text-align: center; } }
  main > article > figure img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
  main > article > figure figcaption {
    font-size: 0.9375rem; }
    main > article > figure figcaption * {
      font-size: 0.9375rem; }
  main > nav {
    margin-left: auto;
    margin-right: auto;
    max-width: 1300px;
    -webkit-flex-basis: 100%;
    -ms-flex-basis: 100%;
    flex-basis: 100%;
    font-family: "Open Sans Condensed";
    padding-top: 15px;
    padding-bottom: 60px;
    border-top: 5px dotted #984a70; }
    main > nav a:link, main > nav a:visited {
      font-weight: 400;
      border-bottom: 2px solid #00396f;
      background-image: linear-gradient(to right, transparent 50%, #ee5 50%);
      background-position: 0% 0;
      background-size: 200% auto;
      transition: all 0.2s; }
      main > nav a:link:link, main > nav a:link:visited, main > nav a:visited:link, main > nav a:visited:visited {
        color: #00396f; }
      main > nav a:link:hover, main > nav a:link:focus, main > nav a:visited:hover, main > nav a:visited:focus {
        background-position: -99.99% 0;
        transition: all 0.3s ease-out; }
  main object {
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 30px;
    max-width: calc(100% - 60px);
    min-height: calc(100vh - 60px); }
    main object + a {
      font-weight: 400;
      border-bottom: 2px solid #00396f;
      background-image: linear-gradient(to right, transparent 50%, #ee5 50%);
      background-position: 0% 0;
      background-size: 200% auto;
      transition: all 0.2s; }
      main object + a:link, main object + a:visited {
        color: #00396f; }
      main object + a:hover, main object + a:focus {
        background-position: -99.99% 0;
        transition: all 0.3s ease-out; }
  main .newer {
    float: left; }
  main .older {
    float: right; }
  @media screen and (max-width: 900px) {
    main > h2, main > h3, main > h4, main > p, main > ul, main > ol {
      padding-left: 30px;
      padding-right: 30px; } }

.error404 main {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 400px;
  min-height: 300px; }
  .error404 main p {
    text-align: center; }

.singular main {
  padding-top: 30px;
  font-size: 1.25rem; }
  .singular main sup {
    font-size: 0.8125rem;
    top: -9px; }
    .singular main sup:target {
      background: yellow; }
  .singular main > aside {
    margin-left: auto;
    margin-right: auto;
    max-width: 300px;
    margin-bottom: 30px;
    font-size: 0.875rem;
    background: linear-gradient(0deg, transparent 40px, transparent 41px, #fff 42px, #fff 100%);
    padding: 30px 30px; }
    @media screen and (min-width: 900px) {
      .singular main > aside {
        float: right;
        margin-left: 30px;
        margin-right: 30px; } }
  .singular main > h2, .singular main > h3, .singular main > h4, .singular main > h5,
  .singular main .em > h2, .singular main .em > h3, .singular main .em > h4, .singular main .em > h5 {
    margin-top: 60px; }
  .singular main > p + h2,
  .singular main .em > p + h2 {
    margin-top: 90px; }
  .singular main > p, .singular main > ul, .singular main > ol, .singular main > blockquote, .singular main > footer,
  .singular main .em > p, .singular main .em > ul, .singular main .em > ol, .singular main .em > blockquote, .singular main .em > footer {
    margin-left: auto;
    margin-right: auto;
    max-width: 800px;
    padding-left: 30px;
    padding-right: 30px; }

.upcoming {
  text-align: left;
  padding: 0 33px;
  margin: 100px 6px 0 6px; }
  .upcoming h2 {
    color: #555; }
  .upcoming ul {
    text-align: left;
    list-style: none outside none;
    font-weight: 400; }
    .upcoming ul li {
      padding-bottom: 30px;
      list-style-type: none; }
      .upcoming ul li::before {
        display: inline-block;
        margin-right: 10px;
        border-radius: 100%;
        position: relative;
        top: -4px;
        font-size: 1.4em;
        content: "";
        width: 8px;
        height: 8px;
        background: #8ab4cc; }
    .upcoming ul li {
      margin-bottom: 30px; }
      .upcoming ul li::before {
        color: #984a70; }
  .upcoming > div {
    position: sticky;
    top: 30px; }

.pastfuture {
  padding-bottom: 60px;
  position: relative;
  background: #d1e2eb; }
  .pastfuture > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-items: stretch;
    -ms-flex-item-align: stretch;
    align-items: stretch;
    -webkit-align-content: stretch;
    -ms-flex-content-align: stretch;
    align-content: stretch;
    -webkit-justify-content: space-around;
    -ms-justify-content: space-around;
    justify-content: space-around;
    margin-left: auto;
    margin-right: auto;
    max-width: 1600px; }
    .pastfuture > div > div {
      flex-basis: 600px; }

.timeline {
  text-align: center;
  padding: 30px 6px 0 6px;
  background: linear-gradient(to right, transparent calc(50% - 6px), #0f2133 calc(50% - 6px), #0f2133 calc(50% + 6px), transparent calc(50% + 6px)) #d1e2eb; }
  .timeline::after {
    display: block;
    content: "";
    height: 90px;
    background: linear-gradient(to top, #d1e2eb 0%, transparent 100%); }
  .timeline > div {
    position: relative;
    clear: both;
    margin: 30px auto; }
    @media screen and (min-width: 475px) {
      .timeline > div {
        width: 72px; } }
    .timeline > div > header {
      font-weight: 700;
      color: #222; }
      @media screen and (min-width: 475px) {
        .timeline > div > header {
          padding-bottom: 30px;
          position: absolute;
          text-align: right;
          padding-right: 15px;
          height: calc(100% - 90px);
          top: 18px;
          right: 90px;
          border-right: 6px solid #984a70;
          width: 200px; }
          .timeline > div > header::after {
            position: absolute;
            bottom: -15px;
            right: -15px;
            content: "";
            line-height: 0;
            width: 0;
            height: 0;
            border: medium solid #555;
            border-width: 18px 12px 0 12px;
            border-color: #984a70 transparent transparent transparent; } }
      @media screen and (max-width: 475px) {
        .timeline > div > header {
          background: rgba(209, 226, 235, 0.9); } }
  .timeline time {
    font-weight: 700;
    display: block;
    border-radius: 100%;
    font-family: "Asap Condensed";
    clear: both;
    margin: 30px auto;
    width: 72px;
    height: 72px;
    line-height: 60px;
    border: 6px solid #0f2133;
    background: #2b6296;
    color: #fd3; }
    .timeline time + div {
      text-align: left;
      position: relative;
      padding: 15px;
      width: 300px;
      left: 0;
      border-radius: 12px;
      background: #fff;
      margin: 0 auto 30px auto; }
      @media screen and (min-width: 475px) {
        .timeline time + div {
          float: left;
          margin: -110px 0 30px 100px; } }
      .timeline time + div header {
        font-family: "Asap Condensed";
        font-weight: 700; }
      .timeline time + div p {
        font-weight: 400;
        font-size: 1.0625rem;
        word-spacing: 0;
        margin: 6px 0 0 0; }
      .timeline time + div::before {
        position: absolute;
        top: 30px;
        right: 100%;
        width: 0;
        height: 0;
        content: "";
        line-height: 0;
        border: medium solid white;
        border-width: 15px 15px 15px 0;
        border-color: transparent white transparent transparent; }
        @media screen and (max-width: 475px) {
          .timeline time + div::before {
            border-color: transparent transparent white transparent;
            border-width: 0 15px 15px 15px;
            top: -15px;
            left: 0;
            right: 0;
            margin: 0 auto; } }

.initiatives {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: flex-start;
  -ms-flex-item-align: flex-start;
  align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-content-align: flex-start;
  align-content: flex-start;
  -webkit-justify-content: space-around;
  -ms-justify-content: space-around;
  justify-content: space-around;
  margin-top: -180px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1600px; }
  .initiatives button {
    border-radius: 30px;
    height: auto;
    padding: 15px 30px; }
  .initiatives > a, .initiatives > div {
    display: block;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    text-align: center;
    position: relative;
    margin: 0 15px 90px 15px; }
    .initiatives > a p, .initiatives > div p {
      padding-left: 30px;
      padding-right: 30px;
      font-size: 1.25rem; }
    .initiatives > a > *, .initiatives > div > * {
      position: relative;
      z-index: 2; }
    .initiatives > a > figure, .initiatives > div > figure {
      width: 100%;
      z-index: 0; }
      .initiatives > a > figure::after, .initiatives > div > figure::after {
        padding-top: 100%;
        display: block;
        content: ""; }
      .initiatives > a > figure img, .initiatives > div > figure img {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        border-radius: 100%;
        object-fit: cover; }
      .initiatives > a > figure figcaption, .initiatives > div > figure figcaption {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        vertical-align: middle;
        border-radius: 100%;
        margin: auto;
        box-shadow: inset 30px 30px 0 rgba(255, 255, 255, 0.3), inset -30px -30px 0 rgba(152, 74, 112, 0.3); }
        .initiatives > a > figure figcaption .h3, .initiatives > div > figure figcaption .h3 {
          position: absolute;
          top: 0;
          right: 0;
          left: 0;
          vertical-align: middle;
          color: #fff;
          display: inline;
          font-weight: 700;
          font-size: 3.5rem;
          margin: auto 60px 60px 60px;
          line-height: 0.75;
          bottom: 60px;
          text-shadow: 0 0 20px #000, 0 0 30px #000, 0 0 5px #000, 0 0 5px #000;
          height: 60px; }
  .initiatives > a {
    transition: 0.1s ease all 0.1s; }
    .initiatives > a::hover {
      background: #a7c7e6; }

.newspr {
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  max-width: 1600px; }
  @media screen and (min-width: 900px) {
    .newspr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-align-items: flex-start;
      -ms-flex-item-align: flex-start;
      align-items: flex-start;
      -webkit-align-content: flex-start;
      -ms-flex-content-align: flex-start;
      align-content: flex-start;
      -webkit-justify-content: center;
      -ms-justify-content: center;
      justify-content: center; } }
  .newspr > div h2 {
    margin-bottom: 6px;
    text-shadow: 0 0 10px #fff, 0 0 20px #fff;
    color: #00396f; }
    .newspr > div h2 + h3 {
      line-height: 1.2; }
  .newspr > div > a {
    display: block;
    transition: background 0.2s ease-in-out;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.7); }
    .newspr > div > a:first-child {
      box-shadow: 0 -15px 15px rgba(0, 0, 0, 0.2); }
    .newspr > div > a:hover, .newspr > div > a:focus {
      background: #e5eaef; }
    .newspr > div > a:focus {
      outline: 3px solid #80e3e4; }
  .newspr > div:first-child {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px; }
    .newspr > div:first-child > a {
      margin-bottom: 100px;
      padding: 30px; }
      .newspr > div:first-child > a p:last-child {
        margin-bottom: 0; }
    .newspr > div:first-child + div {
      margin-left: auto;
      margin-right: auto;
      max-width: 400px;
      position: relative;
      background: #fff; }
      @media screen and (min-width: 900px) {
        .newspr > div:first-child + div {
          margin-top: 400px;
          padding-left: 30px; }
          .newspr > div:first-child + div::before {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100px;
            bottom: 30px;
            top: 30px;
            content: "";
            background: red;
            z-index: -1;
            box-shadow: -10px 10px 20px rgba(85, 85, 85, 0.15); } }
      .newspr > div:first-child + div h4,
      .newspr > div:first-child + div .h4 {
        padding-left: 30px;
        margin-bottom: 30px;
        font-weight: 600;
        color: #2a6063; }
      .newspr > div:first-child + div .h3 {
        font-family: "Source Sans Pro";
        font-weight: 400;
        font-size: 1.1875rem;
        color: #00396f; }
      .newspr > div:first-child + div cite {
        font-size: 1.0625rem;
        font-family: "Open Sans Condensed"; }
      .newspr > div:first-child + div > a {
        padding: 30px; }

.about main h2 {
  color: #333; }
@media screen and (min-width: 900px) {
  .about main > section:first-child {
    padding-top: 60px;
    padding-bottom: 60px; } }
@media screen and (max-width: 900px) {
  .about main > section:first-child {
    padding-left: 30px;
    padding-right: 30px; } }
.about main > section:first-child ul {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  margin-top: 60px; }
  .about main > section:first-child ul li:last-child {
    padding-bottom: 0; }
  .about main > section:first-child ul li::before {
    color: #a01b1b; }
  @media screen and (min-width: 900px) {
    .about main > section:first-child ul {
      -webkit-column-count: 2;
      -moz-column-count: 2;
      column-count: 2;
      -webkit-column-gap: 120px;
      -moz-column-gap: 120px;
      column-gap: 120px;
      -webkit-column-rule: 3px dotted #8ab4cc;
      -moz-column-rule: 3px dotted #8ab4cc;
      column-rule: 3px dotted #8ab4cc; }
      .about main > section:first-child ul li, .about main > section:first-child ul p {
        -webkit-column-break-inside: avoid;
        page-break-inside: avoid;
        break-inside: avoid; } }

#supporters {
  padding: 60px 30px 30px 30px; }

#institutions {
  margin: 60px 0 0 0;
  padding: 90px 30px 60px 30px;
  background: #d1e2eb; }
  #institutions h3 {
    margin-top: 30px;
    color: #2a6063; }
  #institutions ul {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    margin-bottom: 90px;
    line-height: 45px; }
  #institutions li {
    display: inline-block;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 10px;
    list-style: none outside none;
    text-align: center;
    line-height: 1.2;
    list-style-type: none;
    word-spacing: unset; }
    #institutions li:before {
      content: none; }
    #institutions li li {
      list-style: none outside none; }
      #institutions li li:before {
        content: none; }
    @media screen and (min-width: 900px) {
      #institutions li {
        white-space: nowrap; } }

@media screen and (min-width: 475px) {
  .enroll #top h1 {
    margin-top: 150px; } }
.enroll #top p {
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
  font-weight: 600; }
.enroll #top .wpcf7 {
  margin-top: 30px;
  background: #984a70;
  border-radius: 100%; }
.enroll main li::before,
.enroll main h2 {
  color: #555; }
.enroll main > h2 {
  margin-bottom: 60px;
  padding-left: 30px;
  padding-right: 30px; }
.enroll main > h2:first-child {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  text-align: left; }
@media screen and (min-width: 900px) {
  .enroll main > ul {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 180px;
    -moz-column-gap: 180px;
    column-gap: 180px;
    -webkit-column-rule: none;
    -moz-column-rule: none;
    column-rule: none; }
    .enroll main > ul li, .enroll main > ul p {
      -webkit-column-break-inside: avoid;
      page-break-inside: avoid;
      break-inside: avoid; } }
.enroll main section {
  background-image: url('data:image/svg+xml,%3Csvg version="1.1" fill="%23bfd6e3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 90"%3E%3Cpath d="m12 0-0.7 0c0.2 0.3 0.3 0.5 0.4 0.7 0.5 0.5 1.1 0.9 1.5 1.5 0.3 0.4 0.6 0.8 0.7 1.2 0.2 0.6 0.5 1.1 1 1.4 0.3 0.2 0.6 0.3 0.9 0.5 1 0.7 1.5 1.6 1.3 2.9-0.1 0.6-0.1 1.3-0.2 1.9 0 0.5-0.2 0.8-0.6 1.1-0.8 0.6-1.5 1.3-1.6 2.3-0.1 1-0.6 1.6-1.3 2-0.7 0.5-1.4 0.9-2.2 1.2-1.2 0.4-2.5 0.9-3.9 0.7-0.3 0-0.7 0.1-0.8 0.3-0.2 0.4-0.3 0.9-0.4 1.4-0.1 0.2-0.1 0.5-0.2 0.7-0.5 0.8-0.5 1 0.3 1.6 1.5 1.2 1.7 2.9 0.4 4.3-0.7 0.8-1.3 1.6-1.5 2.7-0.1 0.6-0.5 1.4-1.3 1.5-0.8 0.1-1.4 0.6-1.9 1.1-0.6 0.6-0.6 0.7-0.1 1.4 0.5 0.6 0.4 0.8-0.1 1.3-0.2 0.2-0.3 0.3-0.4 0.5-0.3 0.6-0.6 1.3-0.9 1.9-0.1 0.2-0.1 0.3-0.2 0.5 0 0.6-0.2 1.1 0 1.7 0.2 0.6 0.4 1.3 0.3 2 0 0.2 0.1 0.4 0.2 0.6 0.4 0.5 0.5 1.1 0.5 1.8 0 0.4 0.2 0.8 0.4 1.1 0.1 0.1 0.3 0.2 0.4 0.3 0.4 0.6 0.8 1.3 1.1 1.9 0.5 1.1 1.3 1.8 2.2 2.6 1.3 1.2 2.6 2.5 3.9 3.7 0.6 0.6 0.7 1.3 0.8 2.1 0.2 1 0.3 2.1 0.6 3 0.4 1.4 1 1.5 2 0.5 0.4-0.4 0.9-0.6 1.4-0.4 0.8 0.3 1.5 0.5 2.3 0.8 1.4 0.5 1.5 0.8 0.6 2-0.5 0.7-0.8 1.4-0.7 2.4 0 0.3 0 0.7-0.1 0.8-0.6 0.5-0.9 1.2-0.9 1.9 0 0.1-0.1 0.3-0.2 0.4-0.2 0.4-0.5 0.8-0.7 1.1-0.7 1.1-0.5 1.9 0.4 2.8 0.5 0.5 0.9 1 1.4 1.5 0.4 0.4 0.9 0.9 1.4 1.1 1 0.3 1.8 0.7 1.8 1.9 0 0 0 0.1 0 0.1 0.2 0.5 0.5 0.7 0.9 0.4 0.5-0.3 0.9-0.2 1.2 0.2 0.6 0.7 1.2 1.4 1.8 2.1 0.1 0.2 0.3 0.3 0.4 0.4 0.5 0.5 1 1 1.4 1.5 0.2 0.2 0.2 0.6 0.2 0.9-0.1 0.7 0 1.2 0.4 1.8 0.7 1.2 0.6 1.4-0.3 2.4-0.3 0.3-0.3 0.6-0.1 1 0.3 0.6 0.6 1.3 0.9 2 0.2 0.5 0.4 0.9 0.7 1.4 0.3 0.4 0.6 0.8 1.2 0.8-0.1-0.2-0.3-0.3-0.3-0.5-0.1-0.2-0.1-0.6 0-0.6 0.2-0.1 0.6-0.1 0.7 0 0.3 0.4 0.5 0.9 0.7 1.3 0.1 0.1 0.2 0.2 0.3 0.3 0 0 0.2-0.1 0.2-0.1 0-0.1 0-0.3-0.1-0.4-0.4-0.4-0.4-0.9 0-1.3 0.6-0.8 1.3-1.5 2-2.3 0.1-0.1 0.3-0.2 0.5-0.1 0.5 0.2 1.1 0.4 1.6 0.6 0.8 0.3 1.5 0.6 2.3 1 0.4 0.2 0.9 0.4 1.3 0.8 0.6 0.5 1.3 0.4 1.6-0.3 0.3-0.7 0.2-1.5-0.4-2-0.3-0.3-0.6-0.7-0.5-1 0.1-0.6 0.4-1.3 0.7-1.8 0.1-0.2 0.5-0.2 0.8-0.3 0.2-0.1 0.6 0 0.7-0.1 0.7-0.8 1.7-0.7 2.6-0.9 0.5-0.1 0.8-0.4 0.5-0.9-0.2-0.3-0.4-0.6-0.6-0.9-0.5-0.9-0.5-1.3 0.3-2 0.2-0.2 0.3-0.3 0.5-0.5 0.4-0.2 0.3-0.5 0.2-0.9-0.2-0.6-0.2-1.3-0.3-2 0-0.1 0.2-0.2 0.2-0.3 0.2-0.3 0.5-0.7 0.4-1-0.2-0.7 0.1-1.1 0.5-1.4 0-0.3 0-0.6 0.1-0.7 0.6-0.6 0.6-0.6 0-1.2-0.2-0.2-0.4-0.6-0.3-0.8 0.1-0.4 0.4-0.7 0.9-0.6 0.7 0.1 1-0.2 1-0.9 0-0.2 0.2-0.4 0.3-0.6 0.2-0.4 0.5-0.8 0.6-1.2 0.1-0.3 0.1-0.5 0.4-0.6 0.4-0.1 0.6-0.5 0.7-1 0.1-0.6 0.3-1.2 0.5-1.8 0 0 0.1-0.1 0.1-0.1 0.4-0.3 0.7-0.5 1.1-0.8 0.1-0.1 0.3-0.3 0.3-0.4-0.1-0.6-0.1-1.1-0.3-1.6-0.2-0.4-0.3-0.8-0.1-1.3 0.2-0.4 0.3-0.9-0.3-1.3-0.1-0.1-0.3-0.4-0.2-0.5 0.2-0.5-0.1-0.8-0.4-1.1-0.8-0.8-0.7-1.2 0-2 0.2-0.2 0.3-0.6 0.2-0.7-0.4-0.6-0.1-1.1 0.2-1.5 0.1-0.2 0.3-0.4 0.3-0.6 0-3.6-0.1-7.3-0.1-10.9 0-0.3 0-0.6 0-0.9l0 0h0v-5.3h0c0-3.4 0-6.7-0.1-10.1 0-2.9 0-5.9-0.1-8.8 0-0.8-0.2-1.6-0.7-2.4-0.5-0.8-0.9-1.6-1.2-2.6-0.3-1.2-0.4-2.5-1.2-3.6-1.2-1.5-1.5-3.3-1-5.1 0.2-0.8 0-1-0.8-1z"/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-align-items: center;
  -ms-flex-item-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-content-align: center;
  align-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  margin: 120px 0;
  min-height: 100vh;
  padding: 120px 30px;
  background-position: center -30px;
  background-attachment: fixed;
  background-color: #d1e2eb; }
  .enroll main section h2, .enroll main section h3 {
    color: #763957; }
  .enroll main section h3 {
    margin-top: 60px; }
  .enroll main section ul {
    text-align: left;
    list-style: none outside none;
    -webkit-column-width: 120px;
    -moz-column-width: 120px;
    column-width: 120px;
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px;
    -webkit-column-rule: none;
    -moz-column-rule: none;
    column-rule: none; }
    .enroll main section ul li {
      padding-bottom: 30px;
      list-style-type: none; }
      .enroll main section ul li::before {
        display: inline-block;
        margin-right: 10px;
        border-radius: 100%;
        position: relative;
        top: -4px;
        font-size: 1.4em;
        content: "";
        width: 8px;
        height: 8px;
        background: #8ab4cc; }
    .enroll main section ul li, .enroll main section ul p {
      -webkit-column-break-inside: avoid;
      page-break-inside: avoid;
      break-inside: avoid; }
    .enroll main section ul li::before {
      background: #2a6063; }
  @media screen and (min-width: 900px) {
    .enroll main section > div {
      margin-left: auto;
      margin-right: auto;
      max-width: 1200px;
      text-align: left;
      -webkit-column-count: 2;
      -moz-column-count: 2;
      column-count: 2;
      -webkit-column-gap: 180px;
      -moz-column-gap: 180px;
      column-gap: 180px;
      -webkit-column-rule: 3px dotted rgba(42, 96, 99, 0.5);
      -moz-column-rule: 3px dotted rgba(42, 96, 99, 0.5);
      column-rule: 3px dotted rgba(42, 96, 99, 0.5); }
      .enroll main section > div li, .enroll main section > div p {
        -webkit-column-break-inside: avoid;
        page-break-inside: avoid;
        break-inside: avoid; }
      .enroll main section > div h3 {
        margin-top: 90px; } }

#rsvp {
  position: fixed;
  text-align: center;
  top: 0;
  left: 0;
  overflow: hidden;
  height: 100%;
  width: 100%;
  visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-align-items: center;
  -ms-flex-item-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-content-align: center;
  align-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  border: 0 none;
  padding: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 99;
  opacity: 0; }
  #rsvp > p {
    display: none; }
  #rsvp:target {
    outline: 0 none;
    visibility: visible;
    opacity: 1; }
  #rsvp > a {
    position: absolute;
    top: 0;
    bottom: 0; }
    #rsvp > a.prev, #rsvp > a.next {
      vertical-align: middle;
      font-size: 0;
      z-index: 2;
      line-height: 180px;
      height: 60px;
      width: 60px;
      margin: auto;
      background: rgba(255, 255, 255, 0.5); }
      @media screen and (max-width: 475px) {
        #rsvp > a.prev, #rsvp > a.next {
          margin-bottom: 30px; } }
      #rsvp > a.prev:hover, #rsvp > a.prev:focus, #rsvp > a.prev:active, #rsvp > a.next:hover, #rsvp > a.next:focus, #rsvp > a.next:active {
        background: #000; }
      #rsvp > a.prev::before, #rsvp > a.next::before {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        display: block;
        box-sizing: border-box;
        margin: auto;
        content: "";
        height: 30px;
        width: 30px;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent; }
    @media screen and (min-width: 900px) {
      #rsvp > a[href="#_"] {
        left: 0;
        bottom: 0; } }
    #rsvp > a.prev {
      left: 0; }
      #rsvp > a.prev::before {
        border-right: 30px solid #2b6296; }
      #rsvp > a.prev:hover::before, #rsvp > a.prev:active::before, #rsvp > a.prev:focus::before {
        border-right: 30px solid #c22; }
    #rsvp > a.next {
      right: 0; }
      #rsvp > a.next::before {
        border-left: 30px solid #2b6296; }
      #rsvp > a.next:hover::before, #rsvp > a.next:active::before, #rsvp > a.next:focus::before {
        border-left: 30px solid #c22; }
  #rsvp > div, #rsvp > form {
    position: relative;
    z-index: 2; }

#pastevents {
  margin-top: 90px;
  overflow: auto;
  background: #d1e2eb;
  padding: 120px 6px 60px 6px; }
  #pastevents h2 {
    color: #2a6063; }

@media screen and (min-width: 475px) {
  .results main > p {
    margin: 0 60px 30px 60px; } }

.eventslist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: flex-start;
  -ms-flex-item-align: flex-start;
  align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-content-align: flex-start;
  align-content: flex-start;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center; }
  .eventslist figure {
    position: relative;
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-shrink: 1;
    flex-shrink: 1;
    -webkit-flex-basis: 50%;
    -ms-flex-basis: 50%;
    flex-basis: 50%;
    border-radius: 30px;
    border: 5px solid #53293d;
    background: #53293d;
    overflow: hidden;
    margin: 15px 15px;
    max-width: 400px;
    margin: 30px;
    transition: all 0.3s; }
    .eventslist figure:hover {
      border-color: #fff; }
    .eventslist figure img {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
      width: 100%;
      height: 100%;
      object-fit: cover;
      mix-blend-mode: luminosity; }
  .eventslist a:hover, .eventslist a:focus {
    border-color: #fff; }
    .eventslist a:hover img, .eventslist a:focus img {
      mix-blend-mode: normal; }
  .eventslist a::before {
    padding-top: 75%;
    display: block;
    content: ""; }
  @media screen and (max-width: 475px) {
    .eventslist a {
      padding-left: 6px;
      padding-right: 6px;
      margin-left: 0;
      margin-right: 0;
      min-width: 100%; } }
  .eventslist figcaption {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    font-family: "Open Sans Condensed";
    font-weight: 700;
    color: #fff;
    background: rgba(49, 24, 36, 0.8);
    padding: 12px;
    text-shadow: 0 0 5px #000; }
  .eventslist time {
    font-size: 1.125rem; }
  .eventslist .h4 {
    font-family: "Asap Condensed";
    font-style: italic;
    margin-top: 90px; }
  .eventslist dl {
    margin-bottom: 60px;
    margin-top: 30px; }
    .eventslist dl strong, .eventslist dl a {
      line-height: 30px; }
    .eventslist dl a {
      display: inline-block;
      font-size: 1.625rem;
      font-weight: 400;
      border-bottom: 2px solid #00396f;
      background-image: linear-gradient(to right, transparent 50%, #ee5 50%);
      background-position: 0% 0;
      background-size: 200% auto;
      transition: all 0.2s;
      margin: 15px auto; }
      .eventslist dl a:link, .eventslist dl a:visited {
        color: #00396f; }
      .eventslist dl a:hover, .eventslist dl a:focus {
        background-position: -99.99% 0;
        transition: all 0.3s ease-out; }

#map {
  margin: 15px;
  border-radius: 6px;
  overflow: hidden; }

.em-map-balloon {
  text-align: left; }
  .em-map-balloon h4 {
    font-size: 1.125rem; }
  .em-map-balloon h5 {
    font-size: 0.9375rem; }
  .em-map-balloon h6 {
    font-weight: 700;
    font-size: 0.9375rem;
    padding: 15px 0 6px 0; }
  .em-map-balloon ul {
    text-align: left;
    list-style: none outside none; }
    .em-map-balloon ul:before {
      content: none; }
    .em-map-balloon ul li {
      list-style: none outside none; }
      .em-map-balloon ul li:before {
        content: none; }
    .em-map-balloon ul li {
      padding-bottom: 6px;
      font-size: 0.9375rem;
      list-style-type: none; }
      .em-map-balloon ul li::before {
        display: inline-block;
        content: "∙";
        width: 12px; }

.em-location-map-container {
  height: 100vh !important; }

.eventdetails > div, .eventdetails > label {
  font-family: "Open Sans Condensed";
  margin: 60px auto 15px auto;
  line-height: 1; }

.wp-block-file__button:link, .wp-block-file__button:visited {
  color: #fff;
  background: #282;
  padding: 0 30px;
  font-weight: 500;
  transition: all 0.2s;
  font-family: "Open Sans Condensed";
  font-weight: 700;
  margin-left: 15px;
  padding: 6px 30px;
  border-radius: 60px; }
  .wp-block-file__button:link:hover, .wp-block-file__button:link:focus, .wp-block-file__button:visited:hover, .wp-block-file__button:visited:focus {
    background: #2cb12c;
    box-shadow: 0 0 10px #282;
    color: #000; }
  .wp-block-file__button:link:active, .wp-block-file__button:visited:active {
    background: #185f18; }
  .wp-block-file__button:link::selection, .wp-block-file__button:visited::selection {
    color: #000; }

.gallery > figure + dialog {
  position: fixed;
  text-align: center;
  top: 0;
  left: 0;
  overflow: hidden;
  height: 100%;
  width: 100%;
  visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  -webkit-align-items: center;
  -ms-flex-item-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-content-align: center;
  align-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  border: 0 none;
  padding: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 99;
  opacity: 0; }
  .gallery > figure + dialog > p {
    display: none; }
  .gallery > figure + dialog:target {
    outline: 0 none;
    visibility: visible;
    opacity: 1; }
  .gallery > figure + dialog > a {
    position: absolute;
    top: 0;
    bottom: 0; }
    .gallery > figure + dialog > a.prev, .gallery > figure + dialog > a.next {
      vertical-align: middle;
      font-size: 0;
      z-index: 2;
      line-height: 180px;
      height: 60px;
      width: 60px;
      margin: auto;
      background: rgba(255, 255, 255, 0.5); }
      @media screen and (max-width: 475px) {
        .gallery > figure + dialog > a.prev, .gallery > figure + dialog > a.next {
          margin-bottom: 30px; } }
      .gallery > figure + dialog > a.prev:hover, .gallery > figure + dialog > a.prev:focus, .gallery > figure + dialog > a.prev:active, .gallery > figure + dialog > a.next:hover, .gallery > figure + dialog > a.next:focus, .gallery > figure + dialog > a.next:active {
        background: #000; }
      .gallery > figure + dialog > a.prev::before, .gallery > figure + dialog > a.next::before {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        display: block;
        box-sizing: border-box;
        margin: auto;
        content: "";
        height: 30px;
        width: 30px;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent; }
    @media screen and (min-width: 900px) {
      .gallery > figure + dialog > a[href="#_"] {
        left: 0;
        bottom: 0; } }
    .gallery > figure + dialog > a.prev {
      left: 0; }
      .gallery > figure + dialog > a.prev::before {
        border-right: 30px solid #2b6296; }
      .gallery > figure + dialog > a.prev:hover::before, .gallery > figure + dialog > a.prev:active::before, .gallery > figure + dialog > a.prev:focus::before {
        border-right: 30px solid #c22; }
    .gallery > figure + dialog > a.next {
      right: 0; }
      .gallery > figure + dialog > a.next::before {
        border-left: 30px solid #2b6296; }
      .gallery > figure + dialog > a.next:hover::before, .gallery > figure + dialog > a.next:active::before, .gallery > figure + dialog > a.next:focus::before {
        border-left: 30px solid #c22; }
  .gallery > figure + dialog > div, .gallery > figure + dialog > form {
    position: relative;
    z-index: 2; }

#partners {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: center;
  -ms-flex-item-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-content-align: center;
  align-content: center;
  -webkit-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-top: 30px; }
  #partners > figure {
    width: 200px; }
    #partners > figure > a {
      display: block;
      padding: 30px; }
    #partners > figure figcaption {
      padding: 6px;
      line-height: 22.5px; }
    #partners > figure img {
      width: 100%; }
  #partners > figure + div > figure {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
    overflow-y: scroll;
    background: #fff;
    padding: 60px 60px; }
    @media screen and (min-width: 900px) {
      #partners > figure + div > figure {
        max-height: 90vh; } }
    @media screen and (max-width: 900px) {
      #partners > figure + div > figure {
        max-height: 100vh; } }
    #partners > figure + div > figure figcaption {
      text-align: left;
      font-size: 1.0625rem; }
      #partners > figure + div > figure figcaption p {
        margin-top: 30px; }
      #partners > figure + div > figure figcaption a {
        color: #2b6296; }
    #partners > figure + div > figure img {
      max-width: 100%;
      max-height: 180px; }

hr + h3 + #partners > figure {
  padding: 6px;
  width: 300px; }

.action #partners > figure {
  width: 400px; }

a[href="#_"] {
  position: absolute;
  display: block;
  right: 0;
  top: 0;
  font-size: 0; }
  @media screen and (min-width: 900px) {
    a[href="#_"] {
      z-index: -1; } }
  a[href="#_"]::after {
    position: absolute;
    top: 15px;
    right: 30px;
    padding: 6px;
    height: 15px;
    width: 15px;
    content: "";
    z-index: 100;
    outline: 15px solid rgba(255, 255, 255, 0.5);
    background: linear-gradient(-45deg, transparent calc(50% - 3px), #2b6296 calc(50% - 3px), #2b6296 calc(50% + 3px), transparent calc(50% + 3px)), linear-gradient(45deg, transparent calc(50% - 3px), #2b6296 calc(50% - 3px), #2b6296 calc(50% + 3px), transparent calc(50% + 3px)) rgba(255, 255, 255, 0.5); }
  a[href="#_"]:hover::after, a[href="#_"]:active::after, a[href="#_"]:focus::after {
    outline: 15px solid #000;
    background: linear-gradient(-45deg, transparent calc(50% - 3px), #c22 calc(50% - 3px), #c22 calc(50% + 3px), transparent calc(50% + 3px)), linear-gradient(45deg, transparent calc(50% - 3px), #c22 calc(50% - 3px), #c22 calc(50% + 3px), transparent calc(50% + 3px)) #000; }

#story, #event, #flyers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: flex-start;
  -ms-flex-item-align: flex-start;
  align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-content-align: flex-start;
  align-content: flex-start;
  -webkit-justify-content: space-evenly;
  -ms-justify-content: space-evenly;
  justify-content: space-evenly; }
  #story img, #event img, #flyers img {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); }
  #story > figure, #event > figure, #flyers > figure {
    position: relative;
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-shrink: 1;
    flex-shrink: 1;
    -webkit-flex-basis: 0;
    -ms-flex-basis: 0;
    flex-basis: 0;
    margin: 15px 15px;
    max-width: 1200px; }
    @media screen and (min-width: 900px) {
      #story > figure, #event > figure, #flyers > figure {
        min-width: 400px; } }
    @media screen and (max-width: 900px) {
      #story > figure, #event > figure, #flyers > figure {
        min-width: 300px; } }
    @media screen and (max-width: 475px) {
      #story > figure, #event > figure, #flyers > figure {
        padding-left: 6px;
        padding-right: 6px;
        margin-left: 0;
        margin-right: 0;
        min-width: 100%; } }

#story > figure a, #story > div figure, #event > figure a, #event > div figure {
  overflow: hidden;
  border-radius: 30px; }
#story > figure > a, #event > figure > a {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden; }
  #story > figure > a::after, #event > figure > a::after {
    display: block;
    padding-top: 65%;
    content: ""; }
  #story > figure > a img, #event > figure > a img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    object-fit: cover;
    object-position: center; }
#story > figure > figcaption, #event > figure > figcaption {
  margin-top: 15px;
  max-width: 400px; }
  #story > figure > figcaption p, #event > figure > figcaption p {
    margin: 0; }
  #story > figure > figcaption a, #event > figure > figcaption a {
    color: #333; }
#story > figure + dialog figure, #event > figure + dialog figure {
  color: #fff;
  position: relative;
  max-width: 95vw; }
  #story > figure + dialog figure img, #event > figure + dialog figure img {
    max-height: 95vh; }
#story > figure + dialog figcaption, #event > figure + dialog figcaption {
  position: absolute;
  left: 0;
  text-shadow: 0 0 5px #000, 0 0 15px #000;
  bottom: 10px;
  padding: 6px 12px;
  background: rgba(0, 0, 0, 0.4); }
  #story > figure + dialog figcaption a, #event > figure + dialog figcaption a {
    color: #fff; }
  #story > figure + dialog figcaption p, #event > figure + dialog figcaption p {
    margin: 6px 0; }
#story figcaption, #event figcaption {
  text-align: left;
  font-size: 0.9375rem;
  line-height: 15px; }

#flyers figure + dialog img {
  max-height: 95vh;
  max-width: 90vw; }

.gallery > figure {
  position: relative; }
.gallery .lightbox figure {
  position: relative;
  z-index: 1; }
  .gallery .lightbox figure img {
    width: 100%; }
.gallery .lightbox blockquote {
  font-style: italic; }
.gallery a:focus img {
  outline: 5px solid #96abbe;
  outline-offset: 10px; }

.personnel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: stretch;
  -ms-flex-item-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-content-align: stretch;
  align-content: stretch;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  padding: 30px 0; }
  .personnel > figure {
    margin: 30px;
    min-width: 300px; }
    .personnel > figure > a {
      min-width: 300px; }
      .personnel > figure > a::after {
        display: block;
        content: ""; }
      .personnel > figure > a > div {
        border-radius: 300px; }
    .personnel > figure figcaption {
      padding: 6px;
      line-height: 22.5px; }
      .personnel > figure figcaption p {
        text-align: center;
        margin: 6px; }

#people {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: center;
  -ms-flex-item-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-content-align: center;
  align-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  margin: 60px 0;
  padding: 90px 0 60px 0;
  background: #d1e2eb;
  overflow: auto; }
  #people > img {
    aspect-ratio: 2/3;
    object-fit: cover;
    border-radius: 300px;
    border: 12px solid #d1e2eb; }
    @media screen and (min-width: 475px) {
      #people > img {
        max-width: 500px; } }
  #people > p {
    margin-left: auto;
    margin-right: auto;
    max-width: 500px;
    margin-left: 30px;
    margin-right: 30px; }
  #people > h2 {
    -webkit-flex-basis: 100%;
    -ms-flex-basis: 100%;
    flex-basis: 100%;
    color: #2a6063; }
  #people > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -webkit-align-items: center;
    -ms-flex-item-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-content-align: center;
    align-content: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center; }
  #people figure + dialog > div {
    color: #fff;
    background: #2b6296; }
  #people .gallery {
    margin-left: auto;
    margin-right: auto;
    max-width: 1600px;
    padding: 30px 0; }
    #people .gallery > figure figcaption {
      text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff; }
    #people .gallery a:hover img, #people .gallery a:focus img {
      mix-blend-mode: normal; }
    #people .gallery > figure, #people .gallery .array > figure {
      position: relative;
      flex-basis: 0; }
      #people .gallery > figure > a > div, #people .gallery .array > figure > a > div {
        overflow: hidden;
        display: block;
        position: relative;
        border: 5px solid transparent;
        height: auto;
        background: #53293d;
        transition: all 0.3s; }
        #people .gallery > figure > a > div:before, #people .gallery .array > figure > a > div:before {
          display: block;
          padding-top: 150%;
          content: " "; }
      #people .gallery > figure > a:hover > div, #people .gallery > figure > a:focus > div, #people .gallery .array > figure > a:hover > div, #people .gallery .array > figure > a:focus > div {
        border: 5px solid #fff; }
      #people .gallery > figure > a:hover > figcaption, #people .gallery > figure > a:focus > figcaption, #people .gallery .array > figure > a:hover > figcaption, #people .gallery .array > figure > a:focus > figcaption {
        color: #000;
        text-shadow: 0 0 10px #fff, 0 0 5px #fff; }
      #people .gallery > figure img, #people .gallery .array > figure img {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        mix-blend-mode: luminosity; }

#people figure + dialog > div, #author figure + dialog > div {
  text-align: left;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  z-index: 1;
  overflow-y: auto;
  padding: 30px 60px; }
  @media screen and (min-width: 900px) {
    #people figure + dialog > div, #author figure + dialog > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
      -webkit-align-items: start;
      -ms-flex-item-align: start;
      align-items: start;
      -webkit-align-content: start;
      -ms-flex-content-align: start;
      align-content: start;
      -webkit-justify-content: center;
      -ms-justify-content: center;
      justify-content: center;
      max-height: 90vh; } }
  @media screen and (max-width: 900px) {
    #people figure + dialog > div, #author figure + dialog > div {
      max-height: 100vh;
      padding: 0 24px; } }
#people figure + dialog figure, #author figure + dialog figure {
  margin-left: auto;
  margin-right: auto;
  max-width: 400px;
  margin-top: 30px;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0; }
  @media screen and (min-width: 900px) {
    #people figure + dialog figure, #author figure + dialog figure {
      padding: 0 60px 0 0; } }
  #people figure + dialog figure img, #author figure + dialog figure img {
    width: 100%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    margin-bottom: 30px; }
#people figure + dialog figcaption p, #author figure + dialog figcaption p {
  margin-top: 0; }

#recent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: stretch;
  -ms-flex-item-align: stretch;
  align-items: stretch;
  -webkit-align-content: stretch;
  -ms-flex-content-align: stretch;
  align-content: stretch;
  -webkit-justify-content: space-around;
  -ms-justify-content: space-around;
  justify-content: space-around;
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  word-spacing: 0.2em; }
  @media screen and (min-width: 475px) {
    #recent {
      background-attachment: fixed; } }
  #recent::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    height: 100%;
    width: 100%;
    display: block;
    z-index: 0;
    content: ""; }
  @media screen and (max-width: 475px) {
    #recent {
      padding: 120px 0 0 0; } }
  @media screen and (min-width: 475px) {
    #recent {
      margin-top: 90px;
      padding: 210px 30px 60px 30px; } }
  #recent > * {
    position: relative;
    z-index: 1; }
  #recent > section > div ::-webkit-scrollbar {
    width: 6px; }
  #recent > section > div ::-webkit-scrollbar-track {
    background: transparent; }
  #recent > section > div ::-webkit-scrollbar-thumb {
    background: #c22;
    border-radius: 6px; }
    #recent > section > div ::-webkit-scrollbar-thumb:hover {
      background: #c22; }
  #recent h4 {
    word-spacing: 0.2em;
    font-size: 1.5rem; }
  #recent h5 {
    font-size: 1.25rem; }
  #recent > section {
    margin-left: auto;
    margin-right: auto;
    max-width: 800px;
    text-align: left;
    color: #fff; }
    #recent > section > h3 {
      margin-bottom: 60px; }
      @media screen and (max-width: 475px) {
        #recent > section > h3 {
          margin-bottom: 30px; } }
  #recent .eventslist strong, #recent .eventslist a {
    color: #fff; }
  #recent .eventslist > div {
    padding-right: 30px;
    margin-bottom: 30px;
    overflow-y: auto;
    max-height: 70vh; }
    #recent .eventslist > div + a {
      display: block;
      margin-bottom: 30px; }
      #recent .eventslist > div + a::before {
        padding-right: 6px;
        content: "←"; }
  #recent .eventslist dl {
    margin-bottom: 30px; }
    #recent .eventslist dl strong, #recent .eventslist dl a {
      display: block;
      line-height: 30px; }
    #recent .eventslist dl a {
      font-size: 1.375rem; }
  #recent .eventslist dd {
    font-size: 0.9375rem; }

.singular {
  background: radial-gradient(circle 7000px at 50vw -2820px, transparent 50%, white calc(50% + 2px)), rgba(255, 255, 255, 0.7); }
  .singular #recent {
    background-color: #486179; }
    @media screen and (min-width: 475px) {
      .singular #recent::before {
        background: radial-gradient(circle 240vw at 60% 120vw, rgba(43, 98, 150, 0.95) calc(50% - 2px), #fff 50%); } }
    @media screen and (max-width: 475px) {
      .singular #recent::before {
        background: radial-gradient(circle 1500px at 60% 800px, rgba(43, 98, 150, 0.95) calc(50% - 2px), #fff 50%); } }
  .singular p > img {
    margin: 0 auto; }

.work #recent, .about #recent, .events #recent {
  margin-top: 0; }
  @media screen and (min-width: 475px) {
    .work #recent::before, .about #recent::before, .events #recent::before {
      background: radial-gradient(circle 240vw at 60% 120vw, rgba(43, 98, 150, 0.95) calc(50% - 2px), #d1e2eb 50%); } }
  @media screen and (max-width: 475px) {
    .work #recent::before, .about #recent::before, .events #recent::before {
      background: radial-gradient(circle 1500px at 60% 800px, rgba(43, 98, 150, 0.95) calc(50% - 2px), #d1e2eb 50%); } }

@media screen and (min-width: 475px) {
  .front #recent, .archives #recent, .results #recent, .error404 #recent {
    margin-top: -90px; } }
@media screen and (min-width: 900px) {
  .front #recent, .archives #recent, .results #recent, .error404 #recent {
    background: radial-gradient(circle 240vw at 60% 120vw, rgba(43, 98, 150, 0.95) calc(50% - 2px), transparent 50%); } }
@media screen and (max-width: 900px) {
  .front #recent, .archives #recent, .results #recent, .error404 #recent {
    background: radial-gradient(circle 1500px at 60% 800px, rgba(43, 98, 150, 0.95) calc(50% - 2px), transparent 50%); } }
@media screen and (max-width: 475px) {
  .front #recent, .archives #recent, .results #recent, .error404 #recent {
    background: #2b6296; } }

#updates h3 {
  color: #fff;
  font-size: 2.5rem;
  padding: 0 30px; }
#updates > div {
  padding-right: 6px;
  overflow-y: auto;
  height: 70vh; }
  #updates > div time, #updates > div a > span {
    padding-bottom: 12px;
    display: block;
    font-size: 0.875rem; }
  #updates > div > a {
    color: #fff;
    margin-bottom: 30px;
    display: block;
    padding: 30px;
    font-size: 18px;
    font-weight: 300;
    text-shadow: 0 0 8px #000; }
    #updates > div > a:hover, #updates > div > a:focus {
      background: rgba(0, 0, 0, 0.5); }
  #updates > div cite {
    font-size: 0.9375rem; }

#foot {
  position: relative;
  text-align: left;
  overflow: auto;
  color: #fff;
  font-size: 0.875rem;
  padding: 6px 15px;
  background: #222; }
  @media screen and (min-width: 900px) {
    #foot {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-align-items: stretch;
      -ms-flex-item-align: stretch;
      align-items: stretch;
      -webkit-align-content: stretch;
      -ms-flex-content-align: stretch;
      align-content: stretch;
      -webkit-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between; } }
  @media screen and (max-width: 900px) {
    #foot {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-align-items: stretch;
      -ms-flex-item-align: stretch;
      align-items: stretch;
      -webkit-align-content: stretch;
      -ms-flex-content-align: stretch;
      align-content: stretch;
      -webkit-justify-content: flex-start;
      -ms-justify-content: flex-start;
      justify-content: flex-start;
      padding-left: 30px;
      padding-right: 30px;
      padding-bottom: 60px; } }
  #foot p {
    line-height: 1.5;
    padding: 3px 0; }
    @media screen and (min-width: 900px) {
      #foot p {
        margin-right: 30px; } }
    @media screen and (max-width: 900px) {
      #foot p {
        padding: 30px 0; } }
  #foot a {
    color: #fff;
    display: block; }
    @media screen and (max-width: 475px) {
      #foot a {
        padding: 12px 0; } }
    #foot a:hover, #foot a:focus {
      outline: 2px solid #fff;
      outline-offset: 3px; }
  #foot > ul {
    list-style: none outside none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-items: stretch;
    -ms-flex-item-align: stretch;
    align-items: stretch;
    -webkit-align-content: stretch;
    -ms-flex-content-align: stretch;
    align-content: stretch;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between; }
    #foot > ul:before {
      content: none; }
    #foot > ul li {
      list-style: none outside none; }
      #foot > ul li:before {
        content: none; }
    @media screen and (max-width: 900px) {
      #foot > ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-align-items: stretch;
        -ms-flex-item-align: stretch;
        align-items: stretch;
        -webkit-align-content: stretch;
        -ms-flex-content-align: stretch;
        align-content: stretch;
        -webkit-justify-content: flex-start;
        -ms-justify-content: flex-start;
        justify-content: flex-start;
        font-size: 18px; } }
    #foot > ul li {
      margin-right: 30px; }
    #foot > ul .instagram {
      margin-right: 0; }

@media screen and (max-width: 900px) {
  .twitter, .facebook, .instagram {
    position: absolute;
    bottom: 12px; }

  .twitter {
    right: 150px; }

  .facebook {
    right: 30px; }

  .instagram {
    right: 120px; } }

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