@charset "UTF-8";
@font-face {
  font-family: 'Jungka';
  src: url("../fonts/Jungka-Regular.woff"); }

@font-face {
  font-family: 'Jungka';
  src: url("../fonts/Jungka-Medium.woff");
  font-weight: bold; }

@font-face {
  font-family: 'Jungka';
  src: url("../fonts/Jungka-RegularItalic.woff");
  font-style: italic; }

@font-face {
  font-family: 'Jungka';
  src: url("../fonts/Jungka-MediumItalic.woff");
  font-weight: bold;
  font-style: italic; }

* {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box; }

html {
  font-size: 1vw;
  touch-action: manipulation; }
  @media (min-width: 1440px) {
    html {
      font-size: 14.4px; } }
  @media (max-width: 640px) {
    html {
      font-size: 10px; } }

strong {
  font-weight: bold; }

small {
  display: block; }

em {
  font-style: italic; }

p a {
  text-decoration: underline;
  color: #fa3119; }
  p a:hover {
    color: black; }

.page {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative; }
  .page.overlay {
    background: #f5f3f0;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    overflow-y: auto;
    z-index: 50;
    -webkit-overflow-scrolling: touch;
    transition: 1s -webkit-transform cubic-bezier(0.19, 1, 0.22, 1);
    transition: 1s transform cubic-bezier(0.19, 1, 0.22, 1);
    transition: 1s transform cubic-bezier(0.19, 1, 0.22, 1), 1s -webkit-transform cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
    @media (min-width: 640px) {
      [data-user="true"] .page.overlay {
        top: 2.45rem; } }
    .page.overlay.in {
      -webkit-transform: translateY(0);
              transform: translateY(0); }

body {
  font-family: 'Jungka', sans-serif;
  font-size: 1.8rem;
  background: #f5f3f0;
  line-height: 1.2;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  transition: opacity 2s cubic-bezier(0.19, 1, 0.22, 1);
  overflow-x: hidden; }
  body.menu-open {
    overflow: hidden; }
  body:not(.ready) {
    transition-duration: 0.5s;
    opacity: 0;
    pointer-events: none; }
  body.home[data-dark="1"] {
    background: black;
    color: white; }
    body.home[data-dark="1"] .search-icon {
      background: black; }
    body.home[data-dark="1"] header {
      background: black; }
      body.home[data-dark="1"] header h1:not(:hover) {
        color: white; }

.contain {
  max-width: 1440px;
  width: 100%;
  margin: auto; }
  .contain-inner {
    padding: 0 0.9rem; }

.font-size-large {
  font-size: 3.5rem; }
  @media (max-width: 640px) {
    .font-size-large {
      font-size: 2.8rem; } }

.font-size-medium {
  font-size: 1.4rem; }
  @media (max-width: 640px) {
    .font-size-medium {
      font-size: 1.4rem; } }

.font-size-small, figcaption, small {
  font-size: 1rem; }
  @media (max-width: 640px) {
    .font-size-small, figcaption, small {
      font-size: 1.4rem; } }

.page h1, .page figure {
  margin-bottom: 1.2em; }

.page h1 {
  font-weight: bold; }

img {
  max-width: 100%; }

p, .p, hr {
  margin-bottom: 1.2em; }

a:hover {
  color: #fa3119; }

.gutter {
  margin: 0 0.9rem; }

header {
  padding-top: 1.8rem;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background: #f5f3f0;
  z-index: 10;
  padding-bottom: 2rem; }
  .home header h1 {
    font-size: 4rem;
    line-height: 1;
    margin-top: -0.3rem; }
  header h1 {
    margin-bottom: 0 !important;
    font-weight: normal !important; }
    header h1 a:hover {
      color: black; }
  @media (min-width: 1024px) {
    [data-user="true"] header {
      top: calc(2.4rem - 1px); } }
  [data-user="true"] .overlay header {
    top: 0; }
  @media (max-width: 1024px) and (min-width: 640px) {
    header .subhead > *:nth-child(1) {
      flex: none !important;
      order: 2;
      padding: 0 0.6em; }
    header .subhead > *:nth-child(2) {
      order: 1;
      margin-left: -1rem; }
    header .subhead > *:nth-child(3) {
      order: 3; } }
  @media (max-width: 640px) {
    header {
      font-size: 2.8rem;
      padding-top: 0.8rem;
      padding-bottom: 1rem; }
      header .logo > div:nth-child(1) {
        padding-right: 3rem; }
      header .logo > div:nth-child(2), header .subhead {
        display: none; } }
  header .contain-inner {
    display: flex; }
  [data-template="calendar"] header {
    margin-bottom: 0 !important; }
  header .logo, header .nav {
    flex: 1; }
  header .logo {
    display: flex; }
    header .logo > * {
      flex: 1; }
  body.legacy-menu header .open {
    display: none; }
  body:not(.legacy-menu) header .nav-wrap {
    position: absolute; }
    body:not(.legacy-menu) header .nav-wrap:not(:hover) nav {
      visibility: hidden; }
    body:not(.legacy-menu) header .nav-wrap:hover + .open {
      display: none; }
  @media (max-width: 1024px) {
    header .open {
      display: none; }
    header nav {
      visibility: visible !important; } }
  header nav {
    transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
    .home header nav {
      visibility: visible !important; }
    .search-focus header nav {
      opacity: 0;
      pointer-events: none; }
    header nav:hover {
      visibility: visible; }
  header h1 {
    color: #fa3119; }
  header .hamburger {
    display: none;
    position: absolute;
    top: 1rem;
    right: 1.8rem; }
    @media (max-width: 1024px) {
      header .hamburger {
        display: block !important; } }
    header .hamburger svg {
      width: auto;
      height: 0.8em; }
      header .hamburger svg rect {
        fill: currentColor; }
  header .nav-close {
    position: absolute;
    display: none;
    top: -1.26rem;
    right: 0.45rem;
    z-index: 100; }
    @media (max-width: 1024px) {
      header .nav-close {
        display: block !important; } }
    header .nav-close svg {
      width: 3rem;
      height: auto;
      overflow: visible; }
      header .nav-close svg line {
        vector-effect: non-scaling-stroke;
        stroke-width: 0.3rem; }
  header .nav {
    display: flex; }
    header .nav .social {
      display: none;
      opacity: 0.5; }
      @media (max-width: 1024px) {
        header .nav .social {
          display: block; } }
    @media (max-width: 1024px) {
      header .nav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #fa3119;
        color: white;
        z-index: 10;
        font-size: 4.8rem;
        padding: 1.8rem 0.9rem;
        line-height: 1; } }
  @media (max-width: 1024px) and (min-width: 640px) {
    header .nav {
      font-size: 6rem; } }
    @media (max-width: 1024px) {
        header .nav nav {
          display: block !important;
          font-size: 6.5vh; }
          header .nav nav a {
            display: block; }
            header .nav nav a span {
              display: none; }
            header .nav nav a:hover, header .nav nav a.open {
              color: black; } }
    header .nav .gutter {
      display: flex;
      justify-content: space-between;
      flex: 1;
      position: relative; }
    header .nav .search-icon {
      background: #f5f3f0;
      margin-right: -0.7rem;
      position: absolute;
      right: 0; }
      [data-herotype="feature"] header .nav .search-icon {
        background: black; }
      @media (max-width: 1024px) {
        header .nav .search-icon {
          display: none; } }
      header .nav .search-icon input {
        background: none;
        border: none;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        padding-left: 1em;
        outline: none;
        width: 100%;
        max-width: 12em;
        transition: max-width 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
        header .nav .search-icon input:not(:focus):not(.active) {
          max-width: 0;
          cursor: pointer; }
      header .nav .search-icon svg {
        height: 0.7em;
        width: auto;
        overflow: visible;
        position: absolute;
        left: 0;
        top: 0.6rem;
        pointer-events: none; }
        header .nav .search-icon svg path, header .nav .search-icon svg line {
          stroke-width: 0.17rem;
          stroke: currentColor;
          vector-effect: non-scaling-stroke; }
    header .nav nav {
      display: flex; }

header, main, footer {
  width: 100%;
  margin: auto; }

main {
  flex: 1; }

footer {
  padding-bottom: 1.8rem;
  margin-top: 6.4rem !important;
  position: relative;
  z-index: 5;
  pointer-events: none; }
  footer .clicks {
    pointer-events: initial; }
  footer .contain-inner {
    display: flex;
    justify-content: space-between; }
  @media (max-width: 1024px) {
    footer .footer-social {
      display: none; } }
  @media (max-width: 1024px) and (min-width: 640px) {
    footer {
      display: none; } }

.works-section {
  display: flex;
  margin-bottom: 1.6em; }
  @media (max-width: 640px) {
    .works-section {
      display: block; }
      .works-section > *:first-of-type {
        color: #fa3119; } }
  .works-section > * {
    flex: 1; }
    .works-section > * .gutter {
      border-top: 1px solid black; }

.works .work-cat-title span {
  flex: 1; }

.works .work-row {
  position: relative; }
  .works .work-row-hover {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 10em;
    height: 10em;
    z-index: 10;
    -webkit-transform: translate(-50%, -50%) scaleY(0.5) rotate(-45deg);
            transform: translate(-50%, -50%) scaleY(0.5) rotate(-45deg);
    cursor: pointer; }
  .works .work-row-more {
    color: #fa3119; }
  .works .work-row:hover {
    color: #fa3119; }
    .works .work-row:hover .gutter:nth-of-type(1) {
      border-top-color: #fa3119; }
    .works .work-row:hover .work-row-detail, .works .work-row:hover .work-row-hover {
      display: block; }
  .works .work-row a {
    display: block; }
  .works .work-row-title {
    padding: 0.4rem 0;
    display: flex;
    justify-content: space-between; }
  .works .work-row-detail {
    display: none;
    position: absolute;
    width: 100%;
    padding-right: 1.8rem;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    top: 0;
    background: #f5f3f0;
    border: none; }
    .works .work-row-detail-border {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 1.8rem;
      border-top: 1px solid currentColor;
      border-bottom: 1px solid transparent; }
    .works .work-row-detail.reverse {
      -webkit-transform: translateX(-100%) translateY(-100%);
              transform: translateX(-100%) translateY(-100%);
      top: 1px; }
      .works .work-row-detail.reverse .work-row-detail-border {
        border-top-color: transparent;
        border-bottom-color: currentColor; }
    .works .work-row-detail:after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      width: 1.8rem;
      height: 100%;
      -webkit-transform: translateX(100%);
              transform: translateX(100%); }
  .works .work-row-inner {
    margin: auto;
    width: 70%;
    text-align: center;
    position: relative; }
  .works .work-row-link {
    margin-top: 1.8rem; }
    .works .work-row-link span {
      border-bottom: 1px solid; }
  .works .work-row-excerpt {
    padding: 1.2rem; }
  .works .work-row figure {
    margin: auto;
    position: relative; }
    .works .work-row figure img {
      -webkit-filter: grayscale(1);
              filter: grayscale(1);
      display: block;
      margin: auto; }
    .works .work-row figure .tone {
      background: #fa3119;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      z-index: 2;
      mix-blend-mode: screen; }

@media (max-width: 640px) {
  .only-desktop, .not-mobile {
    display: none !important; } }

@media (min-width: 640px) {
  .only-mobile, .not-desktop {
    display: none !important; } }

@media (min-width: 1025px) {
  .not-desktop2 {
    display: none !important; } }

@media (max-width: 640px) {
  .only-tablet {
    display: none !important; } }

@media (min-width: 1025px) {
  .only-tablet {
    display: none !important; } }

/*
.hero {
  &-text {
    color: $color-red;
    text-align: center;
    line-height: 0.85;
    font-size: $font-size-hero;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    @media (max-width: $break-mobile) {
      font-size: $font-size-hero-mobile;
    }
  }
  &-image {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    padding: $gutter;
    max-width: 100%;
    img {
      display: block;
    }
    figcaption {
      margin: 0 $gutter;
    }
  }
  &-footer {
    position: absolute;
    bottom: 0;
    left: 50%;
    text-align: center;
    margin-bottom: 1.8rem;
    transform: translateX(-50%);
    max-width: 30em;
    p:last-child {
      margin-bottom: 0;
    }
  }
}
*/
.hero-slides {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }
  .hero-slides.desktop {
    display: block; }
  .hero-slides.mobile {
    display: none; }
  @media (max-width: 640px) {
    .hero-slides {
      position: absolute; }
      .hero-slides.desktop {
        display: none; }
      .hero-slides.mobile {
        display: block; } }
  .hero-slides__arrow {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    line-height: 1;
    padding: 1.8rem;
    z-index: 2; }
    .hero-slides__arrow[data-dir="-1"] {
      left: 0; }
    .hero-slides__arrow[data-dir="1"] {
      right: 0; }

.hero-slide {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  padding-top: 10rem;
  padding-bottom: 8rem; }
  @media (max-width: 640px) {
    .hero-slide {
      height: calc(var(--vh, 1vh) * 100); } }
  .hero-slide .contain {
    margin: 0 auto;
    display: flex;
    flex-direction: column; }
    .hero-slide .contain .contain-inner {
      flex: 1;
      display: flex;
      flex-direction: column; }
      .hero-slide .contain .contain-inner .gutter {
        flex: 1; }
  .hero-slide-text {
    color: #fa3119;
    text-align: center;
    line-height: 0.85;
    font-size: 12rem;
    position: absolute;
    font-weight: normal !important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 100%;
    z-index: 2; }
    @media (max-width: 640px) {
      .hero-slide-text {
        font-size: 6rem; } }
  .hero-slide-caption {
    position: absolute;
    left: 50%;
    bottom: calc(1.8rem + 3.6em);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: 1rem;
    text-align: center; }
    @media (max-width: 640px) {
      .hero-slide-caption {
        font-size: 1.4rem;
        left: 1.8rem;
        right: 1.8rem;
        bottom: 1.8rem;
        -webkit-transform: none;
                transform: none; } }
  .hero-slide figure {
    width: 100%;
    height: 100%;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin: auto; }

/*
.hero-message {
  h1 {
    color: $color-red;
    text-align: center;
    line-height: 0.85;
  }
  @media (max-width: $break-mobile) {
    & {
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      text-align: center;
    }
    h1 {
      font-size: $font-size-hero-mobile;
      margin-bottom: 0.6em;
    }
    &__text {
      margin-left: auto;
      margin-right: auto;
      font-size: $font-size-body-mobile;
      padding: 0 $gutter;
      p {
        max-width: 30em;
        margin-left: auto; margin-right: auto;
      }
      img {
        margin-bottom: 0.8em;
      }
    }
  }
  @media (min-width: $break-mobile) {
    h1 {
      font-size: $font-size-hero;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      z-index: 2;
    }

    &__text {
      position: absolute;
      bottom: 1.8rem;
      text-align: center;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      img {
        margin-bottom: 1.2em;
        max-width: 80rem;
      }
      p {
        max-width: 28em;
        margin-left: auto;
        margin-right: auto;
        &:last-of-type {
          margin-bottom: 0;
        }
      }
    }
  }
}
*/
.calendar .load-fade {
  transition: opacity 0.25s; }

.calendar.loading {
  pointer-events: none; }
  .calendar.loading .load-fade {
    opacity: 0; }

.calendar-header {
  margin-top: 0.6rem;
  margin-bottom: 4.8rem; }
  .calendar-header-row {
    display: flex; }
    .calendar-header-row .calendar-header-col {
      flex: 1;
      display: flex; }
    @media (max-width: 640px) {
      .calendar-header-row > *:last-child {
        display: none; }
      .calendar-header-row .calendar-filter span:not(.dot) {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis; } }

.calendar-filters {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  margin-bottom: auto; }
  .calendar-filters .calendar-filter {
    border-top: 1px solid;
    width: 50%;
    padding: 0.3rem 0 0.5rem;
    cursor: pointer;
    display: flex;
    align-items: center; }
    .calendar-filters .calendar-filter.hide {
      pointer-events: none; }
    .calendar-filters .calendar-filter.hide * {
      visibility: hidden; }
    .calendar-filters .calendar-filter--view {
      width: 100%; }
      .calendar-filters .calendar-filter--view:last-of-type {
        border-bottom: 1px solid; }
    .calendar-filters .calendar-filter:hover span.dot {
      background-color: black; }
    .calendar-filters .calendar-filter span.dot {
      width: 0.6em;
      height: 0.6em;
      border-radius: 50%;
      overflow: hidden;
      border: 2px solid;
      display: block;
      margin-right: 0.3em;
      position: relative;
      top: 0.1em; }
      .calendar-filters .calendar-filter span.dot.filled {
        background: #fa3119;
        border-color: #fa3119; }
    .calendar-filters .calendar-filter:not(.calendar-filter--view):nth-of-type(even) span.dot {
      margin-left: 0.9rem; }
    .calendar-filters .calendar-filter:not(.calendar-filter--view):nth-last-child(1), .calendar-filters .calendar-filter:not(.calendar-filter--view):nth-last-child(2) {
      border-bottom: 1px solid; }

.calendar[data-view="day"] .day {
  width: calc(100% * 1 / 6); }

@media (max-width: 640px) {
  .calendar[data-view="day"] .day-name, .calendar[data-view="day"] .day {
    display: none !important; } }

.calendar-days {
  display: flex;
  flex-wrap: wrap; }

.calendar .day {
  width: calc(100% * 1 / 7);
  margin-bottom: 4.8rem; }
  @media (max-width: 640px) {
    .calendar .day {
      width: calc(100% * 1 / 2); }
      .calendar .day.day-name, .calendar .day.skipped {
        display: none; } }
  .calendar .day-arrows .gutter {
    display: flex; }
    .calendar .day-arrows .gutter a {
      display: block;
      width: 50%; }
      .calendar .day-arrows .gutter a svg {
        width: 100%;
        height: auto; }
        .calendar .day-arrows .gutter a svg line, .calendar .day-arrows .gutter a svg polyline {
          vector-effect: non-scaling-stroke;
          stroke-width: 1px; }
      .calendar .day-arrows .gutter a:first-child {
        -webkit-transform: scaleX(-1);
                transform: scaleX(-1);
        margin-right: 0.9rem; }
      .calendar .day-arrows .gutter a:last-child {
        margin-left: 0.9rem; }
  .calendar .day.today .day-num {
    opacity: 0; }
  .calendar .day-today {
    margin: 0.6rem 0;
    background: #fa3119;
    width: 1.2em;
    height: 1.2em;
    overflow: hidden;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0; }
  .calendar .day.has-events {
    cursor: pointer; }
    .calendar .day.has-events:hover:not(.day-arrows) {
      color: #fa3119; }
  .calendar .day-name {
    margin-bottom: 0.8rem; }
  .calendar .day-contents {
    min-height: 10rem;
    border-top: 1px solid;
    position: relative; }
  .calendar .day.skipped .day-num {
    color: transparent;
    -webkit-text-stroke: 1.5px black; }
  .calendar .day-num {
    font-size: 4.8rem;
    line-height: 1; }
  .calendar .day-events {
    margin-top: 0.8rem; }
  .calendar .day-event {
    border-top: 1px solid;
    display: block;
    padding-top: 0.3rem;
    padding-bottom: 0.5rem; }
    .calendar .day-event p {
      margin-bottom: 0; }
    .calendar .day-event:hover .day-event-hover {
      display: block; }
    @media (max-width: 640px) {
      .calendar .day-event:hover .day-event-hover {
        display: none !important; } }
    .calendar .day-event-hover {
      width: 24rem;
      display: none;
      position: fixed;
      z-index: 10;
      pointer-events: none;
      transition: -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
      transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1); }
      @media (max-width: 640px) {
        .calendar .day-event-hover {
          top: initial !important;
          bottom: 0 !important;
          left: 0 !important;
          -webkit-transform: translate(0, 0) !important;
                  transform: translate(0, 0) !important; } }
      .calendar .day-event-hover-type {
        text-transform: capitalize; }
      .calendar .day-event-hover-inner {
        margin: 1rem;
        background: white; }
      .calendar .day-event-hover-text p:not(:first-of-type) {
        display: none; }
      .calendar .day-event-hover img {
        display: block; }
      .calendar .day-event-hover-link {
        margin-top: 1.2em; }
        .calendar .day-event-hover-link span {
          border-bottom: 1px solid; }
      .calendar .day-event-hover-contents {
        padding: 0.4rem;
        padding-bottom: 0.8rem;
        background: black;
        color: white; }
        .calendar .day-event-hover-contents p {
          margin-bottom: 0 !important; }

.calendar figcaption {
  text-align: left; }

[v-cloak] {
  opacity: 0; }

.icon-large-arrow polyline, .icon-large-arrow line {
  vector-effect: non-scaling-stroke;
  fill: none;
  stroke-weight: 1px;
  stroke: currentColor; }

.single-events .single-event {
  display: flex; }
  @media (max-width: 640px) {
    .single-events .single-event {
      display: block; }
      .single-events .single-event .single-event-left, .single-events .single-event .single-event-right {
        width: 100% !important; }
      .single-events .single-event .single-event-right .gutter {
        border-top: none !important; } }
  .single-events .single-event .single-event-left, .single-events .single-event .single-event-right {
    width: 50%; }
    .single-events .single-event .single-event-left .gutter, .single-events .single-event .single-event-right .gutter {
      border-top: 1px solid; }
  .single-events .single-event .single-event-left {
    position: relative; }
    .single-events .single-event .single-event-left p {
      max-width: 16em; }
  .single-events .single-event .single-event-edit {
    position: absolute;
    top: 0.2rem;
    right: 0.9rem; }

pre {
  font-family: 'SF Mono';
  font-size: 1.2rem;
  white-space: pre-wrap;
  line-height: 1.4; }

figure {
  display: table; }
  figure figcaption {
    display: table-caption;
    caption-side: bottom;
    margin-top: 0.4rem;
    text-align: center; }

.single {
  position: relative; }
  .single-feature {
    width: 100%; }
    .single-feature-slides {
      position: relative; }
      .single-feature-slides a[data-dir] {
        position: absolute;
        z-index: 5;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        padding: 1.8rem; }
      .single-feature-slides a[data-dir="-1"] {
        left: 0; }
      .single-feature-slides a[data-dir="1"] {
        right: 0; }
    .single-feature-slide {
      padding: 3rem 0.9rem 4rem;
      width: 100%; }
    .single-feature figure {
      margin: auto;
      max-width: 60rem; }
  .single-cols {
    display: flex;
    margin-top: 2.4rem; }
    .single-cols > * {
      flex: 1; }
    @media (max-width: 640px) {
      .single-cols {
        display: block;
        margin-bottom: 4.8rem; } }
  .single-accordion h2, .single-accordion ul {
    margin-bottom: 1.2em; }
  .single-accordion h2:not(:first-child) {
    border-top: 1px solid;
    padding-top: 0.2rem; }
  .single-accordion-item:not(.opened) > .single-accordion-item-content {
    opacity: 0;
    pointer-events: none; }
  .single-accordion-item-title {
    border-bottom: 1px solid;
    padding: 0.2rem 0 0.5rem 0;
    position: relative;
    display: flex;
    cursor: pointer; }
    .single-accordion-item-title span:first-of-type {
      width: 3rem; }
  .single-accordion-item-content {
    position: relative;
    overflow: hidden;
    transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1); }
  .single-accordion-item-content-inner {
    padding: 0.2rem 0 0.5rem 0;
    padding-left: 3rem;
    border-bottom: 1px solid; }
    .single-accordion-item-content-inner audio {
      margin-top: 0.8rem; }
  .single-accordion .accordion-slides {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .single-accordion .accordion-slides-close {
      display: none; }
      .single-accordion .accordion-slides-close svg line {
        stroke: currentColor; }
    .single-accordion .accordion-slides.fullscreen {
      position: fixed;
      background: rgba(0, 0, 0, 0.9);
      color: white;
      z-index: 10; }
      .single-accordion .accordion-slides.fullscreen .accordion-slides-close {
        display: block;
        position: fixed;
        width: 1.3rem;
        top: 0;
        right: 0;
        margin: 1.8rem;
        z-index: 13; }
        .single-accordion .accordion-slides.fullscreen .accordion-slides-close svg {
          width: 100%;
          height: auto; }
      .single-accordion .accordion-slides.fullscreen .accordion-slides-arrow {
        position: fixed;
        z-index: 12;
        padding: 1.8rem;
        display: none; }
      .single-accordion .accordion-slides.fullscreen .accordion-slide {
        cursor: inherit !important; }
        .single-accordion .accordion-slides.fullscreen .accordion-slide figure {
          max-width: 1440px;
          margin: auto;
          width: 100%;
          background-position: center center; }
    .single-accordion .accordion-slides-arrow {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      font-size: 1.8rem;
      z-index: 5; }
      .single-accordion .accordion-slides-arrow[data-dir="1"] {
        right: 0; }
    .single-accordion .accordion-slides .flickity-viewport {
      height: 100% !important; }
    .single-accordion .accordion-slides-container {
      position: relative; }
    .single-accordion .accordion-slides-sizer {
      width: 100%;
      padding-top: 60%; }
    .single-accordion .accordion-slides .accordion-slide {
      width: 100%;
      height: 100%;
      padding: 2rem 4rem;
      display: flex;
      flex-direction: column;
      cursor: zoom-in !important; }
      .single-accordion .accordion-slides .accordion-slide figure {
        width: 100%;
        flex: 1;
        background-position: bottom center;
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        margin-bottom: 0; }
        .single-accordion .accordion-slides .accordion-slide figure img {
          display: none !important; }
      .single-accordion .accordion-slides .accordion-slide-caption {
        text-align: center;
        margin-top: 0.4rem; }
  .single-accordion-item-images {
    padding: 0;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .single dl dt {
    position: absolute;
    width: 45%; }
    .single dl dt:after {
      content: ':'; }
  .single dl dd {
    margin-left: 50%;
    padding-left: 1.8rem; }

.single-accordion-item-content-inner .single-accordion-item:last-child .single-accordion-item-title, .single-accordion-item-content-inner .single-accordion-item:last-child .single-accordion-item-content-inner {
  border-bottom: none; }

.toolbar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  font-size: 1rem;
  background: white;
  color: black;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
  display: flex;
  z-index: 2000;
  justify-content: space-between;
  overflow: hidden;
  border-bottom-left-radius: 0.4rem;
  border-bottom-right-radius: 0.4rem;
  height: 2.4rem; }
  @media (max-width: 640px) {
    .toolbar {
      display: none; } }
  .toolbar > * {
    display: flex;
    padding: 0.4rem 0.2rem; }
  .toolbar a, .toolbar span {
    background: #eee;
    padding: 0.1rem 0.6rem 0.4rem;
    border-radius: 0.2rem;
    margin: 0 0.2rem; }
  .toolbar span {
    background: none; }
  .toolbar a:hover {
    background: #fa3119;
    color: white; }

.hire-form-row {
  display: flex; }
  .hire-form-row:not(:last-of-type) {
    border-bottom: 1px solid black;
    padding: 0.2rem 0 0.5rem 0; }
  .hire-form-row > div {
    flex: 1; }
  .hire-form-row > div:first-child {
    width: 50%;
    padding-right: 1.8rem; }

.hire-form input[type="text"], .hire-form input[type="email"], .hire-form textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  border: none;
  background: none;
  outline: none; }

.hire-form input[type="radio"] {
  position: relative;
  top: -0.15em;
  margin-right: 0.4rem; }

.hire-form textarea {
  resize: none;
  height: calc(1.2em * 4); }

.hire-form button[type="submit"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: none;
  margin-left: calc(50% + 1.8rem);
  margin-top: 0.4rem;
  margin-bottom: 0.1rem; }

.single-accordion-item-content-section {
  display: flex; }
  .single-accordion-item-content-section:not(:last-of-type) {
    border-bottom: 1px solid black;
    padding: 0.2rem 0 0.5rem 0; }
  .single-accordion-item-content-section > div {
    flex: 1; }
    .single-accordion-item-content-section > div:first-of-type {
      padding-right: 1.8rem; }
    .single-accordion-item-content-section > div:last-of-type p:last-of-type {
      margin-bottom: 0; }

ul {
  list-style: none; }
  ul li {
    position: relative;
    padding-left: 0.7em; }
    ul li:before {
      content: '•';
      position: absolute;
      left: 0; }

body.overlay-open {
  overflow: hidden; }

.overlay-close {
  width: 1.3rem;
  display: block;
  position: absolute;
  top: 0;
  right: 0; }
  @media (max-width: 640px) {
    .overlay-close {
      right: 1.8rem;
      top: 1rem;
      width: 1.8rem; } }
  .overlay-close svg {
    overflow: visible;
    width: 100%; }
    .overlay-close svg line {
      stroke: currentColor; }

.publicity-row {
  display: flex;
  position: relative; }
  .publicity-row:not(:last-child) {
    margin-bottom: 1.8rem; }
  .publicity-row > * {
    flex: 1; }
  .publicity-row > :nth-child(2) {
    flex: 2; }
  .publicity-row > :nth-child(3) {
    flex: 5; }

.accordion-row {
  padding-top: 0.2rem;
  padding-bottom: 0.5rem;
  display: block;
  width: 100%; }
  .accordion-row.flex {
    display: flex; }
    .accordion-row.flex > * {
      flex: 1; }
  .accordion-row:not(:first-child) {
    border-top: 1px solid; }

hr {
  border: none;
  border-top: 1px solid black; }

.red {
  color: #fa3119; }

a.red:hover {
  color: black; }

.border-top {
  border-top: 1px solid black; }

.resi__switch a.active {
  color: #fa3119; }

.pagination {
  padding-top: 0.6rem;
  padding-bottom: 2rem;
  display: flex;
  justify-content: center; }
  .pagination a {
    margin: 0 0.3rem; }
    .pagination a.active {
      text-decoration: underline; }

@media (min-width: 640px) {
  [data-page-template="post"] header,
  [data-page-template="event"] header {
    background: transparent; } }

.overlay[data-page-template="post"] header,
.overlay[data-page-template="event"] header {
  position: fixed;
  background: transparent; }

.overlay[data-page-template="post"] .logo,
.overlay[data-page-template="event"] .logo {
  visibility: hidden; }

.overlay[data-page-template="post"] .single-feature-slide,
.overlay[data-page-template="event"] .single-feature-slide {
  padding-top: 2.4rem; }

.single[data-template="post"] .single-cols, .single[data-template="post"] .single-feature,
.single[data-template="event"] .single-cols,
.single[data-template="event"] .single-feature {
  max-width: 60rem;
  margin-left: auto;
  margin-right: auto; }

.single[data-template="post"] .post-top h2,
.single[data-template="event"] .post-top h2 {
  font-size: 3.8rem;
  line-height: 1;
  font-weight: bold; }

.single[data-template="post"] .post-top h2.subtitle,
.single[data-template="event"] .post-top h2.subtitle {
  color: #fa3119; }

.single[data-template="post"] .post-top .post-lede,
.single[data-template="event"] .post-top .post-lede {
  font-size: 2.4rem;
  margin-top: 3.2rem;
  margin-bottom: 3.2rem; }

.single[data-template="post"] .post-top .date,
.single[data-template="event"] .post-top .date {
  margin-top: 1.6rem;
  color: #fa3119; }

.single[data-template="post"] {
  font-size: 1.4rem; }
  .single[data-template="post"] .post-content h2 {
    font-weight: bold;
    color: #fa3119; }
  .single[data-template="post"] .post-content hr {
    position: absolute;
    left: 1.8rem;
    right: 1.8rem; }
  @media (max-width: 640px) {
    .single[data-template="post"] .single-cols {
      margin-top: 6rem; } }

.dark {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 100;
  background-color: black;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: contain;
  color: white;
  transition: 2s -webkit-transform cubic-bezier(0.19, 1, 0.22, 1);
  transition: 2s transform cubic-bezier(0.19, 1, 0.22, 1);
  transition: 2s transform cubic-bezier(0.19, 1, 0.22, 1), 2s -webkit-transform cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translateY(0);
          transform: translateY(0); }
  .dark.out {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  @media (max-width: 640px) {
    .dark {
      background-position: center center; } }
  .dark-close {
    position: absolute;
    top: 2rem;
    right: 1.8rem;
    display: block;
    width: 1em;
    z-index: 101; }
    .dark-close svg {
      width: 100%;
      height: auto; }
    .dark-close line {
      stroke: currentColor; }
    @media (min-width: 640px) {
      [data-user="true"] .dark-close {
        top: calc(2rem + 2.4rem); } }
  .dark .contain {
    margin: auto; }
  .dark header {
    background: none !important; }
    .dark header a {
      color: white; }
  .dark .dark-title {
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin-top: 2rem; }
    @media (max-width: 640px) {
      .dark .dark-title {
        margin-top: 4.4rem; } }
    [data-user="true"] .dark .dark-title {
      top: 2.4rem; }
  .dark .dark-details {
    margin: auto;
    margin-top: 2rem;
    font-size: 1rem;
    max-width: 60rem; }
    @media (max-width: 640px) {
      .dark .dark-details {
        margin-top: 4rem; } }
    .dark .dark-details__row {
      display: flex;
      padding-bottom: 0.2rem; }
      .dark .dark-details__row div:nth-child(1) {
        flex: 1; }
      .dark .dark-details__row div:nth-child(2) {
        flex: 2; }
      .dark .dark-details__row:not(:last-of-type) {
        border-bottom: 1px solid; }

[data-page-dark="1"] {
  background: black !important;
  color: white; }
  [data-page-dark="1"] .search-icon {
    background: black !important; }
  [data-page-dark="1"] header {
    background: black; }
    [data-page-dark="1"] header h1:not(:hover) {
      color: white; }

.enews-archive [data-pagination-page] {
  display: flex;
  flex-wrap: wrap; }
  .enews-archive [data-pagination-page] > div {
    width: 50%; }
    .enews-archive [data-pagination-page] > div:not(.pagination):nth-child(odd) {
      padding-right: calc(1.8rem / 2) !important; }
    .enews-archive [data-pagination-page] > div:not(.pagination):nth-child(even) {
      padding-left: calc(1.8rem / 2) !important; }
    .enews-archive [data-pagination-page] > div.pagination {
      width: 100%; }

.enews-archive__image {
  display: block;
  width: 100%;
  height: 0;
  padding-top: 100%;
  background-color: black;
  background-size: cover;
  background-position: center; }

.subhead {
  display: flex; }

.legacy-menu .curr {
  color: #fa3119; }

[data-calendar-view="day"] .subhead [data-dir] {
  display: none; }

[data-calendar-view="day"] .only-mobile.load-fade .gutter[style] {
  margin-top: 1rem; }

[data-calendar-view="month"] .only-mobile.load-fade .gutter[style] {
  margin-top: -1rem; }

figure.multiply {
  background: #f5f3f0; }
  figure.multiply img {
    mix-blend-mode: multiply; }

.password-message {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
  background: white;
  padding: 3.6rem;
  width: 100%;
  max-width: 48rem; }
  .password-message form {
    display: flex;
    margin-bottom: 1.2em; }
  .password-message form + p {
    font-size: 1.4rem;
    margin-bottom: 0; }
  .password-message input {
    border: 1px solid black;
    padding: 0.3rem 0.5rem 0.4rem; }
    .password-message input[type=password] {
      flex: 1;
      margin-right: 0.5rem; }
    .password-message input[type=submit] {
      background: black;
      color: white; }

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