
.a-container {
  padding: 4vw;
}
.a-container--relative {
  position: relative;
}


.a-title {
  font-size: 1rem;
  color: var(--color-gray--dark);
  display: inline-block;
  margin: 0;
  position: relative;
  font-weight: 400;
  padding-bottom: 4px;
}
.a-title--bold {
    font-weight: 700;
    font-size: 1em;
    color: var(--color-primary);
    text-transform: uppercase;
}
.a-title::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  background-color: var(--color-primary);
  height: 1px;
}


.m-header {
  border-bottom: 1px solid var(--color-gray--light);
  margin-bottom: 1em;
  position: relative;
  z-index: 1;
}


.a-button,
.gform_button {
  background-color: var(--color-primary);
  border-radius: 0;
  border: 0;
  color: var(--color-white);
  padding: 1em;
  font-weight: 700;
  font-family: var(--font-family--sans);
  font-size: 1rem;
  cursor: pointer;
}


.a-headline {
  color: var(--color-primary);
  text-transform: uppercase;
  font-weight: 600;
  font-size: 1.75rem;
  margin: 0 0 0.25em;
  padding-bottom: 0.25em;
  border-bottom: 1px solid var(--color-gray--light);
  display: inline-block;
}


.m-menuItem--active {
  --color-primary: #c6c6c6;
}
.m-menuItem__subtitle {
  margin-top: 0;
  font-size: 1rem;
}
.m-menuItem__title {
  border-bottom: 1px solid var(--color-gray--light);
  position: relative;
  z-index: 1;
}


.o-menu__list {
  list-style: none;
  margin-top: 1em;
}
.o-menu__button {
  height: 54px;
  overflow: hidden;
}
@media (min-width: 768px) {
.o-menu__toggle {
    display: none;
}
}
.slide--menu-enter-active,
.slide--menu-leave-active,
.slide--vertical-enter-active,
.slide--vertical-leave-active {
  transition: var(--transition-default);
}
.slide--menu-enter,
.slide--menu-leave-to {
  transform: translateX(-6em);
  opacity: 0;
}
.slide--vertical-enter,
.slide--vertical-leave {
  height: 0;
  opacity: 0;
}


.a-shape {
  width: 100%;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0.5;
  pointer-events: none;
  z-index: -1;
}


:root {
  --left-column-width: calc(18rem + 4vw);
}
@media (max-width: 1000px) {
:root {
      --left-column-width: calc(16rem + 4vw);
}
}
@media (max-width: 768px) {
:root {
      --left-column-width: calc(8rem + 4vw);
}
}
.o-page {
  display: flex;
  min-height: 100vh;
}
@media (max-width: 500px) {
.o-page {
      display: block;
}
}
.o-page__column {
  width: calc(100% - var(--left-column-width));
  min-height: 100%;
  transition: var(--transition-default);
  position: relative;
}
@media (max-width: 500px) {
.o-page__column {
      width: 100%;
}
}
.o-page__column--left {
    width: var(--left-column-width);
    border-right: 1px solid var(--color-gray--light);
}
@media (max-width: 500px) {
.o-page__column--left {
        width: 100%;
        max-width: 100%;
}
}
@media (max-width: 768px) {
.o-page__column--left > header {
        display: none;
}
}
.o-page[data-route='agenda'] .o-page__column--left,
.o-page[data-route='event'] .o-page__column--left {
  width: calc(30rem + 4vw);
}
.o-page--menu-open {
  --left-column-width: 50%;
}
@media (max-width: 768px) {
.o-page--menu-open {
      --left-column-width: 75%;
}
}
@media (max-width: 500px) {
.o-page--menu-open {
      --left-column-width: 100%;
}
}
.o-page--menu-open:not([data-route='home'])::after {
  content: '';
  width: calc(110% - var(--left-column-width));
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), white);
}


.a-logo {
  height: auto;
}


.m-frame {
  font-size: 2vw;
  background-color: var(--color-primary);
  min-height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 0;
}
.m-frame__border {
  width: 1em;
  height: 1em;
  position: absolute;
  background-color: var(--color-primary--dark);
}
.m-frame__border--top, .m-frame__border--bottom {
    width: 100%;
    left: 0;
}
.m-frame__border--top {
    top: 0;
}
.m-frame__border--bottom {
    bottom: 0;
}
.m-frame__border--right, .m-frame__border--left {
    height: 100%;
    top: 0;
}
.m-frame__border--right {
    right: 0;
}
.m-frame__border--left {
    left: 0;
}
.m-frame__logo-box {
  position: absolute;
  left: 0;
  top: 0;
}
.m-frame__logo-box__shape {
  width: 6.45em;
  height: auto;
}
.m-frame__logo {
  position: absolute;
  top: 1em;
  left: 1em;
  width: 3em;
}
.m-frame__text-box {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 7.5em;
}
.m-frame__text-box__shape {
  height: auto;
  position: absolute;
  bottom: 0;
}
.m-frame__text-logo {
  position: absolute;
  bottom: 1em;
  right: 1.5em;
  width: 4em;
}
.m-frame__text-logo path {
  fill: var(--color-white);
}


.a-content-box {
  font-size: 1rem;
  background-color: var(--color-white);
  width: 70%;
  max-width: 34rem;
  padding: 2em;
  border-radius: 1em;
  box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.2);
}
.a-content-box__content p:last-child {
  margin-bottom: 0;
}



.a-content-default {
  max-width: 60rem;
}
.a-content-default__title {
  color: var(--color-primary);
  font-size: 3em;
  font-weight: 700;
  text-transform: uppercase;
}
.a-content-default__content p:not(:first-child) {
  font-size: 16px;
}
.a-content-default__content a {
  color: var(--color-primary);
}
.a-content-default__image {
  float: right;
  margin-left: 1em;
  margin-bottom: 1em;
  max-width: 45%;
}


.a-Content-person {
  margin-bottom: 2em;
}
.a-Content-person__image {
  height: 14rem;
  background-size: cover;
  background-position: center;
  margin-bottom: 1em;
  display: flex;
  padding: 1em 1em 0.5em;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
}
.a-Content-person__image header {
    margin-bottom: 0.25em;
}
.a-Content-person__image::after {
    content: '';
    width: 100%;
    position: absolute;
    bottom: 0;
    height: 4em;
    background-image: linear-gradient(rgba(0, 0, 0, 0), black);
    left: 0;
}
.a-Content-person__inner {
  flex-grow: 1;
}
.a-Content-person__role {
  color: var(--color-white);
  font-size: .85em;
  position: relative;
  z-index: 1;
}


.t-About__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  grid-gap: 1em;
  max-width: 1200px;
}



.t-event__image {
  max-width: 700px;
}


/* http://meyerweb.com/eric/tools/css/reset/
   v4.0 | 20180602
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

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

/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

:root {
  --color-primary: #FF373C;
  --color-gray--light: #DADADA;
  --color-gray--dark: #575756;
  --color-gray--transparent: rgba(0, 0, 0, .2);
  --color-white: #fff;
  --font-family--sans: 'Open Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family--serif: Merriweather, Georgia, sans-serif;
  --transition-default: .4s ease; }

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent; }

html,
body {
  height: 100%; }

html {
  font-family: var(--font-family--sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  line-height: 1.1;
  color: var(--color-dark);
  font-size: calc(16px + 0.25vw); }

body label,
body blockquote,
body dl,
body dt,
body figcaption,
body li,
body p,
body textarea {
  line-height: calc(1.5em + 0.2vw); }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  margin-bottom: 1rem; }

h2 {
  color: var(--color-primary);
  font-weight: 700;
  line-height: 1.5;
  font-size: 1.15em; }

a,
a:visited {
  text-decoration: none; }

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

p {
  margin: calc(1em + 0.5vw) 0;
  font-family: var(--font-family--serif);
  color: var(--color-gray--dark); }

ul {
  list-style: inherit; }

#app {
  min-height: 100%; }

.slide--app-enter-active,
.slide--app-leave-active {
  transition: var(--transition-default); }

.slide--app-enter,
.slide--app-leave-to {
  transform: translateX(-6em);
  opacity: 0;
  position: absolute;
  top: 0; }

.slide--app-leave-to {
  transform: translateX(6em); }

.gform_body ul {
  list-style: none; }

.gform_wrapper .gsection .gfield_label, .gform_wrapper h2.gsection_title, .gform_wrapper h3.gform_title {
  font-weight: 700;
  font-size: 1.25em; }

.gform_wrapper .gform_heading {
  width: 100%;
  margin-bottom: 18px; }

.gform_wrapper *, .gform_wrapper :after, .gform_wrapper :before {
  box-sizing: border-box !important; }

.gform_wrapper ul li:after, .gform_wrapper ul li:before, .gform_wrapper ul.gform_fields {
  padding: 0;
  margin: 0;
  overflow: visible; }

.gform_wrapper ul li.gfield {
  margin-top: 16px;
  padding-top: 0; }

.gform_wrapper ul li.gfield.field_sublabel_above.field_description_below + li.gfield {
  margin-top: 16px; }

.gform_wrapper ul li.gfield {
  clear: both; }

.gform_wrapper form li, .gform_wrapper li {
  margin-left: 0 !important;
  list-style: none !important;
  overflow: visible; }

.gform_wrapper .top_label .gfield_label {
  display: -moz-inline-stack;
  display: inline-block;
  line-height: 1.3;
  clear: both; }

.gform_wrapper label.gfield_label {
  font-weight: 700;
  font-size: inherit; }

.gform_wrapper .gfield_required {
  color: var(--color-primary);
  margin-left: 4px; }

.gform_wrapper .ginput_complex .ginput_left input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type=file]), .gform_wrapper .ginput_complex .ginput_right input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type=file]), .gform_wrapper .ginput_complex .ginput_right select, .gform_wrapper .ginput_complex input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type=file]), .gform_wrapper .ginput_complex select {
  width: 100%; }

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
  font-size: inherit;
  font-family: inherit;
  padding: 5px 4px;
  letter-spacing: normal; }

.gform_wrapper li.field_sublabel_above .ginput_complex input[type=text] {
  margin-bottom: 1px; }

.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_first, .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_last, .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_middle {
  padding-top: 2px; }

.gform_wrapper select option {
  padding: 2px;
  display: block; }

.gform_wrapper select, .gform_wrapper textarea {
  font-family: inherit;
  letter-spacing: normal;
  font-size: inherit; }

.gform_wrapper textarea {
  padding: 6px 8px;
  line-height: 1.5;
  resize: none; }

.gform_wrapper textarea.medium {
  height: 120px;
  width: 100%; }

@media only screen and (min-width: 641px) {
  .gform_wrapper .gform_body {
    width: 100%; }
  .gform_wrapper ul.gform_fields li.gfield {
    padding-right: 16px; }
  .gform_wrapper .top_label li.gfield.gf_left_half,
  .gform_wrapper .top_label li.gfield.gf_right_half {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    width: 50%;
    padding-right: 16px;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker), .gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker) {
    width: 100% !important;
    margin: 8px 0 0;
    padding-left: 0;
    padding-right: 0; }
  .gform_wrapper .top_label li.gfield.gf_right_half:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) input.large, .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) input.medium, .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) select.large, .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) select.medium, .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) input.large, .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) input.medium, .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) select.large, .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) select.medium {
    width: 100%; }
  .gform_wrapper .top_label input.medium, .gform_wrapper .top_label select.medium {
    width: calc(50% - 8px); }
  .gform_wrapper.gf_browser_chrome select {
    padding: 2px 0 2px 3px; }
  .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_left select, .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_right select, .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield input[type=radio], .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield select {
    margin-left: 1px; }
  div.ginput_complex.ginput_container.gf_name_has_2 span {
    width: 50%; }
  html div.ginput_complex.ginput_container.gf_name_has_2 span:first-child, html div.ginput_complex.ginput_container.gf_name_has_3 span:first-child, html div.ginput_complex.ginput_container.gf_name_has_4 span:first-child, html div.ginput_complex.ginput_container.gf_name_has_5 span:first-child {
    margin-left: 0 !important; }
  div.ginput_container_name span {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    padding-right: 16px;
    margin-right: -4px; }
  .gform_wrapper textarea.medium {
    height: 160px;
    width: 100%; } }

