html {
  font-size: 18px; }

body {
  font-family: freight-text-pro, serif;
  background-color: #f1f4d1;
  color: #ea5b0c;
  font-weight: 400;
  line-height: 1.444444; }
  @media (min-width: 640px) {
    body {
      font-size: 1.22222rem;
      line-height: 1.454545; } }
h1, h2, h3, h4, h5, h6 {
  font-family: balboa, sans-serif;
  font-weight: 300; }

h1 {
  font-size: 1.55556rem;
  line-height: 1; }
  @media (min-width: 1024px) {
    h1 {
      font-size: 2.222222rem; } }
  @media (min-width: 1200px) {
    h1 {
      font-size: 3.333333rem; } }
h2, .h2 {
  font-size: 1.66667rem;
  line-height: 1.2;
  font-family: freight-text-pro, serif;
  margin-top: 0.25em; }
  @media (min-width: 640px) {
    h2, .h2 {
      font-size: 1.944444rem;
      line-height: 1.05; } }
  @media (min-width: 1024px) {
    h2, .h2 {
      font-size: 2.222222rem; } }
h1, h2, h3, h4 {
  color: #ea5b0c; }
  h1 a, h2 a, h3 a, h4 a {
    color: #ea5b0c; }

h3 {
  margin-bottom: 1rem; }

h3 + p {
  margin-top: 0; }

a {
  text-decoration-color: #ea5b0c;
  color: #565544; }
  a:hover {
    color: #ea5b0c; }

p {
  color: #565544;
  margin: 1.4444rem 0; }

blockquote {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 0 0 2px;
  padding-left: 1.5em;
  margin-left: 0;
  font-style: normal; }
  blockquote p, blockquote a {
    color: #ea5b0c;
    font-size: 1.44rem; }

.blog ol, .page--default .page__content ol {
  margin: 2rem 0;
  margin-left: 1em;
  padding: 0;
  list-style-type: none;
  color: #565544;
  font-weight: 500;
  line-height: 1.54545; }
  .blog ol li, .page--default .page__content ol li {
    margin-bottom: 1rem; }
  .blog ol > li, .page--default .page__content ol > li {
    counter-increment: counter;
    position: relative; }
  .blog ol > li:before, .page--default .page__content ol > li:before {
    content: counter(counter) " ";
    position: absolute;
    left: -1em;
    margin-right: 1em;
    height: 100%;
    font-weight: 500;
    color: #ea5b0c;
    font-family: balboa, sans-serif;
    font-weight: 300; }
  .blog ol:first-child, .page--default .page__content ol:first-child {
    counter-reset: counter; }
  .blog ol p, .page--default .page__content ol p {
    margin-left: 1.25rem; }

.blog ul, .page--default .page__content ul {
  list-style-type: none;
  margin: 2rem 0;
  padding: 0;
  position: relative;
  font-weight: 500;
  line-height: 1.54545;
  color: #565544; }
  .blog ul li, .page--default .page__content ul li {
    margin-bottom: 1rem;
    margin-left: 2rem;
    line-height: 1.54545; }
  .blog ul li:before, .page--default .page__content ul li:before {
    content: "\2022";
    position: absolute;
    left: 0;
    color: #ea5b0c;
    margin-right: 1rem; }

.word-spacer {
  word-spacing: 0.5rem; }

.footer {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px;
  display: grid;
  font-size: 0.777778rem;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: auto auto auto auto; }
  @media (min-width: 1200px) {
    .footer {
      font-size: 1rem; } }
  @media (min-width: 640px) {
    .footer {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px 0 0 0;
      grid-template-columns: 8.6rem 1fr 1fr;
      grid-template-rows: auto auto; } }
  @media (min-width: 1024px) {
    .footer {
      grid-template-columns: 12.11111rem 3fr 2fr; } }
  @media (min-width: 1200px) {
    .footer {
      grid-template-columns: 13.33333rem 2fr 1fr; } }
  .footer__strip {
    grid-row: 1;
    grid-column: 1 / -1;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0; }
  .footer__title {
    grid-row: 2;
    grid-column: 1 / 6;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0;
    display: grid;
    align-items: center;
    justify-content: left;
    padding: 0.75rem 0; }
    @media (min-width: 640px) {
      .footer__title {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 0 0;
        grid-column: 1 / 2; } }
    @media (min-width: 1200px) {
      .footer__title {
        padding: 1.1rem 0; } }
  .footer__logo {
    background-image: url("/assets/images/logo_footer_mobile.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 157.22px;
    height: 43.66px;
    margin-left: 0.75rem; }
    @media (min-width: 640px) {
      .footer__logo {
        margin-right: 1rem;
        width: 114.34px;
        height: 31.75px;
        background-image: url("/assets/images/logo_footer_tablet_portrait.svg"); } }
    @media (min-width: 1024px) {
      .footer__logo {
        background-image: url("/assets/images/logo_footer_desktop.svg");
        width: 159.03px;
        height: 61.38px;
        margin-left: 1.25rem; } }
    @media (min-width: 1200px) {
      .footer__logo {
        width: 181.83px;
        height: 70.17px;
        margin-left: 1.25rem; } }
  .footer__icons {
    grid-column: 1 / 6;
    grid-row: 3 / 4;
    display: flex; }
    @media (min-width: 640px) {
      .footer__icons {
        grid-row: 2 / 3;
        grid-column: 3 / 4; } }
    @media (min-width: 1200px) {
      .footer__icons {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 0 2px; } }
  .footer__icon {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 2px;
    padding: 0.75rem 0;
    line-height: 0;
    background-size: 210% 100%;
    background-image: linear-gradient(to right, transparent 50%, #ea5b0c 50%);
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    transition: 0.2s;
    width: 25%;
    text-align: center; }
    @media (min-width: 640px) {
      .footer__icon {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0; } }
    .footer__icon:first-child {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 2px 0; }
      @media (min-width: 640px) {
        .footer__icon:first-child {
          border-style: solid;
          border-color: #ea5b0c;
          border-width: 0; } }
    .footer__icon:hover {
      color: #f1f4d1;
      background-position: -95% 0; }
    .footer__icon a {
      display: grid;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%; }
    .footer__icon svg {
      fill: #ea5b0c;
      transition: 0.2s; }
    .footer__icon a:hover svg {
      fill: #f1f4d1; }
    .footer__icon--twitter svg {
      width: 22.5px; }
      @media (min-width: 1024px) {
        .footer__icon--twitter svg {
          width: 30px; } }
    .footer__icon--mastodon svg {
      width: 22.5px;
      height: min-content; }
      @media (min-width: 1024px) {
        .footer__icon--mastodon svg {
          width: 30px; } }
    .footer__icon--email svg {
      width: 22.5px; }
      @media (min-width: 1024px) {
        .footer__icon--email svg {
          width: 30px; } }
  .footer__impressum {
    margin: 0 0.75rem;
    grid-row: 4;
    grid-column: 1 / 6;
    display: grid;
    align-items: center; }
    .footer__impressum p {
      color: #565544;
      margin: 0.75rem 0;
      line-height: 1.2em; }
    .footer__impressum a {
      color: #565544; }
    @media (min-width: 640px) {
      .footer__impressum {
        grid-row: 2;
        grid-column: 2 / 3;
        margin: 0 1rem; } }
.header {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-auto-rows: auto; }
  @media (max-width: 639px) {
    .header {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px 2px 0 2px; } }
  @media (min-width: 640px) {
    .header {
      grid-template-columns: 8.6rem 1fr auto; } }
  @media (min-width: 1024px) {
    .header {
      grid-template-columns: 12.11111rem 1fr auto;
      grid-template-rows: auto 1fr;
      position: relative; } }
  @media (min-width: 1200px) {
    .header {
      grid-template-columns: 13.33333rem 1fr auto;
      height: unset; } }
  .header__blog--name {
    grid-column: 1 / 3;
    margin-block-start: 0;
    margin-block-end: 0;
    padding: 0.5rem 1rem;
    background-color: #EA5B0C33;
    text-align: center; }
    @media (min-width: 640px) {
      .header__blog--name {
        display: none; } }
  .header__blog--title {
    grid-column: 1 / 5;
    border-left: none !important;
    border-right: none !important; }
    @media (min-width: 640px) {
      .header__blog--title {
        border-bottom: none !important;
        border-top: 2px #ea5b0c solid !important; } }
    @media (min-width: 1200px) {
      .header__blog--title {
        grid-row: 4 / 5; } }
  .header__title {
    background-color: #ea5b0c;
    margin: 0;
    grid-column: 1;
    grid-row: 1 / 2;
    order: 1;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0; }
    @media (min-width: 640px) {
      .header__title {
        grid-column: 1;
        grid-row: 1; } }
    @media (min-width: 1024px) {
      .header__title {
        min-height: 88px;
        grid-row: 1 / 3;
        display: grid;
        align-items: center; }
        .header__title a {
          display: block; } }
    @media (min-width: 1200px) {
      .header__title {
        height: 13.33333rem; } }
  .header__h2 {
    text-indent: -9999px;
    line-height: 0;
    color: #f1f4d1; }
  .header__logo {
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0.8rem 1rem;
    width: 157.22px;
    height: 43.66px;
    background-image: url("/assets/images/logo_tablet_portrait.svg"); }
    @media (min-width: 640px) {
      .header__logo {
        margin: 0.35rem 1rem;
        width: 114.34px;
        height: 31.75px; } }
    @media (min-width: 1024px) {
      .header__logo {
        background-image: url("/assets/images/logo_tablet_landscape.svg");
        width: 159.03px;
        height: 61.38px;
        margin: 0rem 1.5rem; } }
    @media (min-width: 1200px) {
      .header__logo {
        background-image: url("/assets/images/logo_desktop.svg");
        width: 178.94px;
        height: 171.44px;
        margin: 0 auto; } }
  .header__toggle {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0;
    color: #ea5b0c;
    background: transparent;
    font-family: balboa, sans-serif;
    font-weight: 300;
    display: inline-flex;
    align-items: center;
    font-size: 20px;
    text-transform: uppercase;
    grid-column: 2;
    grid-row: 1;
    order: 2;
    align-self: center; }
    .header__toggle svg {
      margin-left: 1rem; }
    @media (min-width: 640px) {
      .header__toggle {
        grid-column: 3;
        order: 3;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0px 0px 2px 2px; } }
    @media (min-width: 1024px) {
      .header__toggle {
        display: none; } }
  .header__nav {
    grid-column: 1 / -1;
    grid-row: 2;
    order: 3;
    width: 100%;
    display: none; }
    .header__nav.expanded {
      display: block; }
    @media (min-width: 1024px) {
      .header__nav {
        width: max-content;
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        border-width: 0; } }
    @media (min-width: 1200px) {
      .header__nav {
        position: relative;
        grid-column: 3 / 4;
        grid-row: 1 / 2; } }
  @media (min-width: 640px) {
    .header .strip {
      height: 100%;
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 2px 0; } }
  .header__strip--1 {
    display: none; }
    @media (min-width: 640px) {
      .header__strip--1 {
        display: block;
        grid-column: 2;
        grid-row: 1;
        height: 100%;
        min-height: 0 !important; } }
    @media (min-width: 1024px) {
      .header__strip--1 {
        display: none; } }
    @media (min-width: 1200px) {
      .header__strip--1 {
        display: block;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 2px 0; } }
  .header__strip--2 {
    display: none; }
    @media (min-width: 1024px) {
      .header__strip--2 {
        display: block;
        grid-column: 2 / 4;
        grid-row: 2; } }
    @media (min-width: 1200px) {
      .header__strip--2 {
        background-image: url("/assets/images/stripes.svg") !important; } }
.nav {
  font-family: balboa, sans-serif;
  font-weight: 300;
  font-size: 1.55556rem; }
  @media (min-width: 640px) {
    .nav {
      font-size: 1.11111rem; } }
  @media (min-width: 1200px) {
    .nav {
      font-size: 1.33333rem; } }
  .nav__toggle {
    padding: 0 1rem;
    cursor: pointer;
    height: 100%; }
    .nav__toggle line {
      stroke: #ea5b0c;
      stroke-width: 3px; }
  .nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: block;
    text-align: center;
    box-sizing: border-box; }
    @media (min-width: 640px) {
      .nav ul {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        height: 100%; } }
  .nav a {
    text-decoration: none;
    display: block;
    padding: 1.56rem 1.1rem;
    background-color: #ea5b0c;
    color: #f1f4d1; }
    @media (max-width: 639px) {
      .nav a:hover {
        background-color: #f1f4d1;
        color: #ea5b0c; } }
    @media (min-width: 640px) and (max-width: 662px) {
      .nav a {
        padding: 0.5rem 0.75rem !important; } }
    @media (min-width: 640px) {
      .nav a {
        padding: 0.5rem 0.75rem;
        margin: 0;
        background-color: transparent;
        color: #ea5b0c;
        line-height: 1.2; } }
    @media (min-width: 1200px) {
      .nav a {
        padding: 0.6rem 1rem; } }
  @media (min-width: 640px) {
    .nav li {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0px 0px 2px 2px;
      box-sizing: border-box;
      display: grid;
      justify-content: center;
      align-items: center;
      height: 100%;
      background-size: 210% 100%;
      background-image: linear-gradient(to right, transparent 50%, #ea5b0c 50%);
      -webkit-transition: 0.2s;
      -moz-transition: 0.2s;
      transition: 0.2s;
      background-clip: border-box;
      background-color: #f1f4d1; }
      .nav li:hover {
        background-position: -95% 0; }
        .nav li:hover a {
          color: #f1f4d1; }
      .nav li.active {
        background-color: #ea5b0c; }
        .nav li.active a {
          color: #f1f4d1; } }
  @media (min-width: 1024px) {
    .nav li {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0px 0px 2px 2px; } }
img {
  max-width: 100%; }

body {
  margin: 0 1rem;
  background-image: url("/assets/images/background.png");
  background-size: 35px 35px;
  background-position: 28px 28px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased; }
  @media (min-width: 640px) {
    body {
      margin: 1.5rem 1.5rem; } }
.page__wrapper {
  margin: 1rem auto;
  max-width: 1200px; }
  @media (min-width: 640px) {
    .page__wrapper {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px; } }
  @media (min-width: 1600px) {
    .page__wrapper {
      max-width: 1400px; } }
.page--default .page__content {
  padding: 1rem 1.5rem; }
  @media (max-width: 639px) {
    .page--default .page__content {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 2px; } }
  @media (min-width: 640px) {
    .page--default .page__content {
      padding: 1rem 5rem;
      padding: 2rem 5rem; }
      .page--default .page__content h2 {
        margin-top: 2rem; }
      .page--default .page__content h2 + p {
        font-size: 1.44444rem;
        line-height: 1.3077;
        font-weight: 500; }
      .page--default .page__content p {
        font-size: 1.222222rem;
        line-height: 1.454545; }
      .page--default .page__content h2 {
        margin-top: 1rem; } }
  .page--default .page__content p:first-child {
    font-weight: 900; }
    @media (min-width: 640px) {
      .page--default .page__content p:first-child {
        font-size: 1.44444444rem;
        font-weight: 500;
        margin-bottom: 1.5em; } }
  .page--default .page__content p:last-child {
    font-family: freight-text-pro, serif;
    font-weight: 400;
    line-height: 1.444444; }
    @media (min-width: 640px) {
      .page--default .page__content p:last-child {
        font-size: 1.22222rem;
        line-height: 1.454545; } }
@media (min-width: 1024px) {
  .page__content--leftmargin {
    margin-left: 12.11111rem;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 0 2px; } }

@media (min-width: 1200px) {
  .page__content--leftmargin {
    margin-left: 13.33333rem; } }

@media (min-width: 1600px) {
  .page__content--leftmargin {
    margin: 0 13.33333rem;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px; } }

@media (min-width: 1200px) {
  .page__content--doublemargin {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px;
    max-width: 950px;
    margin: 0 auto;
    box-sizing: border-box; } }

@media (min-width: 640px) {
  .page--team h1 {
    border-bottom: 0; } }

.page__header--sectionheader {
  font-family: freight-text-pro, serif;
  font-size: 1.666666rem;
  margin: 1.5rem 0;
  line-height: 1.2em; }

.page__image--sectionheader {
  height: 217px;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px 0; }
  @media (min-width: 640px) {
    .page__image--sectionheader {
      height: 282px; } }
.page__image--marginless {
  margin: 0 -1.5rem; }
  @media (min-width: 640px) {
    .page__image--marginless {
      margin: 0 -5rem; } }
  @media (min-width: 1024px) {
    .page__image--marginless {
      margin-left: calc(($margin-tablet-landscape + 5rem) * -1);
      margin-right: -5rem; } }
  @media (min-width: 1200px) {
    .page__image--marginless {
      margin-left: calc(($margin-desktop + 5rem) * -1); } }
.page__underline {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 0 2px 0; }
  .page__underline--marginless {
    margin: 0 -1.5rem;
    padding: 0 1.5rem; }
    @media (min-width: 640px) {
      .page__underline--marginless {
        margin: 0 -5rem;
        padding: 0 5rem; } }
    @media (min-width: 1024px) {
      .page__underline--marginless {
        margin-left: calc(($margin-tablet-landscape + 5rem) * -1);
        margin-right: -5rem;
        padding-left: calc($margin-tablet-landscape + 5rem); } }
    @media (min-width: 1200px) {
      .page__underline--marginless {
        margin-left: calc(($margin-desktop + 5rem) * -1);
        padding-left: calc($margin-desktop + 5rem); } }
.title {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0px 2px 2px 2px;
  margin: 0;
  text-align: center; }
  @media (min-width: 640px) {
    .title {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 2px 0; } }
  .title__main {
    font-family: balboa, sans-serif;
    font-weight: 300;
    color: #565544;
    padding: 1.25rem 2rem;
    margin: 0;
    font-size: 1.333334rem;
    line-height: 1;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0; }
    @media (min-width: 1200px) {
      .title__main {
        font-size: 2.666666rem;
        padding: 2rem 8rem;
        font-size: 2.5rem; } }
  .title__subtitle {
    padding: 1.25rem 2rem;
    margin: 0;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0; }
    @media (min-width: 640px) {
      .title__subtitle {
        padding: 1rem 6rem; } }
    @media (min-width: 1200px) {
      .title__subtitle {
        padding: 2rem 4rem; } }
    @media (min-width: 1024px) {
      .title__subtitle--bigger {
        padding: 1.5rem 6rem; } }
    @media (min-width: 1200px) {
      .title__subtitle--bigger {
        padding: 3rem 14rem; } }
    @media (min-width: 1024px) {
      .title__subtitle--bigger .title__subtitle__bigtext {
        font-size: 2.222223rem;
        padding-top: 0; } }
    @media (min-width: 1200px) {
      .title__subtitle--bigger .title__subtitle__bigtext {
        font-size: 3.333334rem; } }
    .title__subtitle__bigtext {
      margin: 0;
      font-family: balboa, sans-serif;
      font-weight: 300;
      color: #ea5b0c;
      font-size: 1.555556rem;
      line-height: 1; }
      @media (min-width: 640px) {
        .title__subtitle__bigtext {
          padding-top: 0.5rem; } }
      @media (min-width: 1200px) {
        .title__subtitle__bigtext {
          font-size: 2.555556rem; } }
    .title__subtitle__credit {
      margin-bottom: 0;
      margin-top: 0.5rem; }
      @media (min-width: 640px) {
        .title__subtitle__credit {
          font-size: 0.777778rem;
          margin-top: 1rem; } }
      @media (min-width: 1200px) {
        .title__subtitle__credit {
          font-size: 1.333334rem; } }
  .title__strip {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0; }
  .title--notitle .title__subtitle {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0; }
  .title--notitle .title__strip--top {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0; }
    @media (min-width: 640px) {
      .title--notitle .title__strip--top {
        display: none; } }
  .title--notitle .title__strip--bottom {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px 0 0 0; }
  .title--borderless .title__main {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0; }
  @media (min-width: 640px) {
    .title--blog {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0; } }
  .title--blog .title__main {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0; }
    @media (min-width: 640px) {
      .title--blog .title__main {
        display: none; } }
.page__title {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px;
  margin: 0;
  text-align: center;
  padding: 1.5rem 2rem; }
  @media (min-width: 640px) {
    .page__title {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 2px 0;
      padding: 1.5rem 8rem; } }
  @media (min-width: 1200px) {
    .page__title {
      padding: 3rem 8rem; } }
  .page__title__strip {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px; }

@media (min-width: 640px) {
  .page--default .page__title {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0; } }

.if-mobile {
  display: none; }
  @media (max-width: 639px) {
    .if-mobile {
      display: block; } }
.unless-mobile {
  display: block; }
  @media (max-width: 639px) {
    .unless-mobile {
      display: none; } }
.screen-reader-only {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

.screen-reader-only--focus:focus {
  background-color: #ea5b0c;
  color: #f1f4d1;
  font-family: balboa, sans-serif;
  font-weight: 600;
  height: max-content;
  left: 50%;
  transform: translate(-50%, 0);
  padding: 1rem;
  position: absolute;
  top: auto;
  width: max-content;
  z-index: 100; }

.video {
  display: block;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%; }
  .video iframe, .video object, .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.btn {
  background-color: #f1f4d1;
  display: inline-block;
  font-family: balboa, sans-serif;
  font-size: 18px;
  text-decoration: none;
  border: 2px solid #ea5b0c;
  padding: 0.66666rem 1rem;
  color: #ea5b0c;
  font-family: balboa, sans-serif;
  font-weight: 300;
  background-size: 210% 100%;
  background-image: linear-gradient(to right, transparent 50%, #ea5b0c 50%);
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  transition: 0.2s; }
  @media (min-width: 640px) {
    .btn {
      font-size: 1.22222rem;
      line-height: 1.454545; } }
  .btn:hover {
    color: #f1f4d1;
    background-position: -95% 0; }
  .btn--up {
    background-size: 100% 220%;
    background-image: linear-gradient(to top, #ea5b0c 50%, transparent 50%); }
  .btn--up:hover {
    color: #f1f4d1;
    background-position: 0 95%; }

a.btn--invert, .btn--invert a {
  display: inline-block;
  text-decoration: none;
  border: 2px solid #ea5b0c;
  padding: 0.66666rem 1rem;
  color: #f1f4d1;
  font-family: balboa, sans-serif;
  font-weight: 300;
  background-size: 210% 100%;
  background-image: linear-gradient(to right, #ea5b0c 50%, #f1f4d1 50%);
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  transition: 0.2s; }
  a.btn--invert:hover, .btn--invert a:hover {
    color: #ea5b0c;
    background-position: -95% 0; }
  a.btn--invert--up, .btn--invert a--up {
    background-size: 100% 220%;
    background-image: linear-gradient(to top, #f1f4d1 50%, #ea5b0c 50%); }
  a.btn--invert--up:hover, .btn--invert a--up:hover {
    color: #ea5b0c;
    background-position: 0 95%; }

a.link {
  display: inline-block;
  background-size: 100% 200%;
  background-image: linear-gradient(to top, #ea5b0c 50%, transparent 50%);
  -webkit-transition: 0.2s;
  -moz-transition: 0.2s;
  transition: 0.2s; }
  a.link:hover {
    color: #f1f4d1 !important;
    background-position: 0 100%; }

.cta-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 -1rem;
  padding: 1.5rem 1rem;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 0 2px 0; }
  @media (min-width: 640px) {
    .cta-buttons {
      margin: 0 -5rem;
      padding: 2rem 1.5rem; } }
.footnotes {
  margin: 0 -1rem;
  padding: 1rem;
  font-size: 1.2rem;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px 0 0 0;
  background-color: #ea5b0c20; }
  @media (min-width: 640px) {
    .footnotes {
      margin: 0 -5rem;
      padding: 1rem 5rem; } }
  @media (min-width: 1024px) {
    .footnotes {
      margin: 0 -2.5rem;
      padding: 1rem 2.5rem; } }
  @media (min-width: 1600px) {
    .footnotes {
      margin: 0 -7rem;
      padding: 1rem 7rem; } }
  .footnotes hr {
    display: none; }
  .footnotes ol {
    margin: 0; }
    .footnotes ol li:before {
      font-family: freight-text-pro, serif;
      left: 0; }

.footnote {
  color: #ea5b0c;
  text-decoration: none; }
  .footnote:hover {
    text-decoration: underline; }

.footnote-backref {
  background-image: url("/assets/images/eye.svg");
  background-repeat: no-repeat;
  width: 24.67px;
  height: 1rem;
  display: inline-block;
  margin-left: 0.25rem;
  color: transparent;
  background-position: bottom center;
  text-decoration: none; }
  .footnote-backref:hover {
    text-decoration: none;
    color: transparent; }

.fancy {
  box-sizing: border-box;
  height: 55px;
  margin: 0;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 2px 2px 2px;
  background-size: contain;
  background-image: url("/assets/images/circles.svg");
  background-position-y: center; }
  .fancy__project {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px; }
  @media (max-width: 639px) {
    .fancy--no-phone {
      display: none; } }
  @media (min-width: 640px) {
    .fancy {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px 0; }
      .fancy__borderless--top {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 2px 0; }
      .fancy__borderless--bottom {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 2px 0 0 0; }
      .fancy__project {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 2px 0 0 0; } }
.gallery {
  margin: 0 -1rem; }
  @media (min-width: 640px) {
    .gallery {
      margin: 0 -5rem; } }
  .gallery__image {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px 0;
    line-height: 0; }
    .gallery__image img {
      width: 100%; }
  .gallery__thumbnails {
    display: flex;
    justify-content: flex-start;
    background-color: #ea5b0c;
    gap: 0 2px;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0;
    overflow: auto; }
  .gallery__thumbnail {
    cursor: pointer;
    line-height: 0;
    background-color: #f1f4d1;
    height: 60px;
    aspect-ratio: 2 / 1; }
  .gallery__filler {
    flex-grow: 1;
    background-color: #f1f4d1; }

figure {
  margin: 0;
  padding: 0; }

figcaption, .infobox {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px;
  font-size: 1rem;
  display: inline-block;
  position: relative;
  margin: 1rem 0;
  min-height: 2rem;
  text-align: left; }
  figcaption sup, .infobox sup {
    line-height: 0; }
  figcaption .icon, .infobox .icon {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2rem;
    min-height: 2rem;
    height: 100%;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px 0px 0;
    text-align: center; }
    figcaption .icon svg, .infobox .icon svg {
      fill: #ea5b0c;
      height: 19px;
      padding-top: 0.4rem; }
  figcaption .desc, .infobox .desc {
    display: block;
    font-size: 1rem;
    line-height: 1.33333;
    padding: 0.4rem 0.75rem 0.3rem 3rem; }

.image--frame .image__wrapper, .image--toilet .image__wrapper {
  background-color: #565544; }
  @media (min-width: 1024px) {
    .image--frame .image__wrapper, .image--toilet .image__wrapper {
      margin: 0; } }
  @media (min-width: 1600px) {
    .image--frame .image__wrapper, .image--toilet .image__wrapper {
      margin: 0 -2.5rem; } }
  .image--frame .image__wrapper--single, .image--toilet .image__wrapper--single {
    padding: 1rem;
    display: inline-block;
    line-height: 1; }
  .image--frame .image__wrapper--multiple, .image--toilet .image__wrapper--multiple {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 1rem;
    align-items: center;
    justify-content: center;
    padding: 1rem; }
    @media (min-width: 640px) {
      .image--frame .image__wrapper--multiple, .image--toilet .image__wrapper--multiple {
        grid-template-columns: 1fr 1fr;
        grid-gap: 1.5rem;
        padding: 1.5rem; } }
.image--toilet .image__wrapper {
  grid-template-columns: 2fr 1fr; }

.image--1-2 .image__wrapper {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr; }
  .image--1-2 .image__wrapper img:first-child {
    grid-row: 1 / 3; }

.image--3 .image__wrapper {
  grid-template-columns: repeat(3, 1fr); }

.image--scale-down img {
  width: 50%; }

.image--wide {
  margin: 0 -1rem; }
  .image--wide figcaption {
    margin: 0 1.666667rem; }
  @media (min-width: 640px) {
    .image--wide {
      margin: 0 -4rem; }
      .image--wide figcaption {
        margin: 0 5rem; } }
  @media (min-width: 1024px) {
    .image--wide {
      margin: 0 -1.5rem; }
      .image--wide figcaption {
        margin: 0 2.5rem; } }
  @media (min-width: 1600px) {
    .image--wide {
      margin: 0 -5rem; }
      .image--wide figcaption {
        margin: 0 5rem; } }
@media (min-width: 640px) {
  .image--float {
    float: left;
    width: 40%;
    margin-right: 2rem;
    margin-left: -4rem; } }

@media (min-width: 1024px) {
  .image--float {
    margin-left: -1.5rem; } }

@media (min-width: 1600px) {
  .image--float {
    margin-left: -5rem; } }

.image--center {
  margin: auto;
  width: fit-content;
  text-align: right;
  display: table; }
  .image--center .image__wrapper {
    text-align: center; }
  .image--center figcaption {
    display: table-caption;
    caption-side: bottom; }

.kofi {
  background-color: #565544;
  padding: 1rem;
  display: block; }
  @media (min-width: 640px) {
    .kofi {
      display: flex;
      padding: 1.5rem 2rem;
      align-items: center;
      margin: 2.5rem 0;
      justify-content: space-between; } }
  @media (min-width: 1600px) {
    .kofi {
      margin: 2.5rem -2.5rem; } }
  .kofi--alt {
    background-color: #ea5b0c; }
    .kofi--alt .kofi__button__container {
      border-color: #f1f4d1 !important; }
      .kofi--alt .kofi__button__container .kofi__button {
        color: #ea5b0c !important;
        background-color: #f1f4d1 !important;
        background-image: linear-gradient(to right, transparent 50%, #565544 50%) !important; }
        .kofi--alt .kofi__button__container .kofi__button:hover {
          background-color: #565544 !important;
          color: #f1f4d1 !important; }
  .kofi .kofi__text {
    color: #f1f4d1;
    margin-block-start: 0;
    margin-block-end: 0;
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-size: 1.555556rem;
    line-height: 1.555556rem; }
    @media (min-width: 640px) {
      .kofi .kofi__text {
        font-size: 1.777778rem;
        line-height: 1.777778rem;
        flex-shrink: 2;
        margin-right: 2rem; } }
    @media (min-width: 1024px) {
      .kofi .kofi__text {
        max-width: 50%; } }
    @media (min-width: 1200px) {
      .kofi .kofi__text {
        max-width: 70%;
        flex-shrink: 1;
        flex-grow: 1; } }
  .kofi .kofi__button__container {
    display: inline block;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px;
    padding: 4px;
    margin-top: 1rem;
    box-sizing: border-box;
    max-width: 8rem; }
    .kofi .kofi__button__container:hover {
      border-color: #f1f4d1; }
    @media (min-width: 1024px) {
      .kofi .kofi__button__container {
        max-width: 10rem; } }
    @media (min-width: 640px) {
      .kofi .kofi__button__container {
        flex-shrink: 0;
        flex-grow: 0; } }
  @media (min-width: 640px) and (min-width: 1200px) {
    .kofi .kofi__button__container {
      margin-top: 0; } }
    .kofi .kofi__button__container .kofi__button {
      margin: 0;
      background-color: #ea5b0c;
      text-decoration: none;
      display: block;
      width: 100%;
      text-align: center;
      color: #f1f4d1;
      font-family: balboa, sans-serif;
      font-weight: 300;
      font-size: 1.333334rem;
      line-height: 1.333334rem;
      padding: 0.5rem;
      box-sizing: border-box;
      background-size: 200% 100%;
      background-image: linear-gradient(to right, transparent 50%, #f1f4d1 50%);
      -webkit-transition: 0.2s;
      -moz-transition: 0.2s;
      transition: 0.2s; }
      @media (min-width: 1024px) {
        .kofi .kofi__button__container .kofi__button {
          padding: 0.5rem 1rem; } }
      .kofi .kofi__button__container .kofi__button:hover {
        color: #565544;
        background-position: -100% 0;
        border-color: #565544; }

@media (max-width: 639px) {
  .members {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px; }
    .members hr {
      display: none; } }

.members__category {
  background-color: #ea5b0c;
  margin-block-start: 0;
  margin-block-end: 0;
  color: #f1f4d1;
  font-family: balboa, sans-serif;
  font-weight: 300;
  padding: 0.8rem 1rem;
  font-size: 1.333333rem; }

.members__advisors {
  background-color: #ea5b0c;
  padding: 0;
  list-style-type: none;
  display: grid;
  gap: 2px;
  grid-template-columns: 1fr;
  margin: 0; }
  @media (min-width: 640px) {
    .members__advisors {
      grid-template-columns: 1fr 1fr; } }
.members__advisor {
  background-color: #f1f4d1;
  padding-bottom: 1rem; }
  @media (min-width: 1024px) {
    .members__advisor {
      margin-top: 0;
      padding-top: 1rem;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto; } }
  .members__advisor .member__name {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0; }
  .members__advisor .member__pronouns {
    margin: 0.5rem 0; }
    @media (min-width: 1024px) {
      .members__advisor .member__pronouns {
        padding: 0;
        margin-right: 1rem; } }
  .members__advisor .member__job {
    color: #565544; }
    @media (min-width: 640px) {
      .members__advisor .member__job {
        grid-column: 1 / 3; } }
.member {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: 1fr;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px 0 0 0; }
  @media (min-width: 640px) {
    .member {
      margin-top: 0;
      grid-template-columns: 3fr 5fr;
      grid-template-rows: auto 1fr;
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0; } }
  @media (min-width: 1200px) {
    .member {
      grid-template-columns: 2fr 5fr;
      grid-template-rows: auto 1fr;
      position: relative; } }
  .member__info {
    grid-row: 1 / 2; }
    @media (min-width: 640px) {
      .member__info {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 2px 0;
        padding: 1rem 0; } }
    @media (min-width: 1024px) {
      .member__info {
        padding-left: calc(100% - 216px - 3rem); } }
    @media (min-width: 1200px) {
      .member__info {
        grid-row: 1 / 2;
        grid-column: 2 / 3;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 2px 2px;
        padding-left: 0; } }
  .member__bio {
    grid-row: 3 / 4; }
    @media (min-width: 640px) {
      .member__bio {
        grid-row: 1 / 3;
        grid-column: 2 / 3;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 0 2px;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem; } }
    @media (min-width: 1024px) {
      .member__bio {
        max-width: 450px; } }
    @media (min-width: 1200px) {
      .member__bio {
        grid-row: 2 / 3;
        grid-column: 2 / 3;
        max-width: 100%;
        padding-right: 5rem !important;
        max-width: calc(1344px + 5rem); } }
  .member__job, .member__bio, .member__name {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem; }
  .member__name {
    margin-block-start: 0;
    margin-block-end: 0;
    font-family: freight-text-pro, serif;
    font-size: 1.666666rem; }
    @media (min-width: 1200px) {
      .member__name {
        font-size: 2.5rem;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 2px 0;
        padding-bottom: 1rem; } }
  .member__job {
    font-style: italic;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem; }
    @media (min-width: 1024px) {
      .member__job {
        padding-top: 0.5rem;
        padding-bottom: 0; } }
    @media (min-width: 1200px) {
      .member__job {
        font-size: 1.777777rem;
        padding-top: 0.5rem; } }
    .member__job strong {
      font-weight: normal; }
  .member__photo {
    grid-row: 2 / 3;
    display: block;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0;
    align-self: center;
    text-align: center;
    position: relative;
    padding-top: 1rem; }
    @media (min-width: 640px) {
      .member__photo {
        align-self: baseline;
        padding-top: 2rem;
        margin-bottom: 2rem; } }
    @media (min-width: 1024px) {
      .member__photo {
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
        padding: 1.5rem 1.5rem 2.5rem 0; } }
    @media (min-width: 1200px) {
      .member__photo {
        grid-row: 1 / 3;
        grid-column: 1 / 2;
        padding: 2rem 0;
        width: 100%;
        position: unset; } }
    .member__photo__image {
      width: 300px;
      height: 300px;
      background-color: #ea5b0c;
      box-sizing: border-box;
      border-radius: 50%;
      display: inline-block; }
      @media (min-width: 640px) {
        .member__photo__image {
          width: calc(100% - 2rem);
          height: calc(100% - 2rem); } }
      @media (min-width: 1024px) {
        .member__photo__image {
          width: 216px;
          height: 216px; } }
      @media (min-width: 1200px) {
        .member__photo__image {
          width: 300px;
          height: 300px;
          max-width: 100%;
          max-height: 100%; } }
  .member__pronouns {
    font-size: 0.9rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    left: 1rem;
    bottom: 2rem;
    background-color: #f1f4d1; }
    @media (min-width: 640px) {
      .member__pronouns {
        left: 1.25rem;
        bottom: -0.25rem; } }
    @media (min-width: 1024px) {
      .member__pronouns {
        bottom: 2rem;
        left: 0rem; } }
    @media (min-width: 1200px) {
      .member__pronouns {
        top: 1rem;
        right: 1rem;
        left: unset;
        bottom: unset;
        background-color: #EA5B0C33;
        height: fit-content; } }
    .member__pronouns .infobox {
      margin: 0;
      text-transform: lowercase; }
  .member .member__pronouns {
    position: absolute;
    padding: 0; }

.paginator {
  font-family: balboa, sans-serif;
  font-weight: 300;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 0 0 2px; }
  @media (min-width: 640px) {
    .paginator {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px 0 0 0; } }
  .paginator ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    font-size: 0;
    display: flex; }
    @media (min-width: 640px) {
      .paginator ul {
        display: block; }
        .paginator ul:first-child {
          border-style: solid;
          border-color: #ea5b0c;
          border-width: 0 0 0 2px;
          margin-left: 6rem; } }
    @media (min-width: 1024px) {
      .paginator ul:first-child {
        margin-left: 12.11111rem; } }
    @media (min-width: 1200px) {
      .paginator ul:first-child {
        margin-left: 13.33333rem; } }
  .paginator li {
    display: inline-block;
    text-align: center;
    flex-grow: 1;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px 0 0; }
    @media (max-width: 639px) {
      .paginator li.page__num {
        display: none; } }
  .paginator a {
    text-decoration: none;
    display: block;
    padding: 0.6rem 1rem;
    border: 0;
    font-size: 1.11111rem; }
    @media (min-width: 1024px) {
      .paginator a {
        font-size: 1.333333rem;
        padding: 1rem 1.75rem; } }
    .paginator a.disabled {
      color: #565544; }

:root {
  --base: #ea5b0c;
  --bg-blend: screen;
  --blur: 0px;
  --fg-blend: multiply;
  --foreground: #f1f4d1;
  --opacity: 0.99;
  --spacing: 0px; }

.orangify {
  background-color: var(--base);
  display: flex;
  flex: 1 1 100%;
  height: 100%;
  overflow: hidden;
  padding: var(--spacing);
  position: relative; }

.orangify img {
  filter: grayscale(100%) contrast(1.15) blur(var(--blur));
  flex: 1 0 100%;
  height: 100%;
  max-width: 100%;
  mix-blend-mode: var(--bg-blend);
  object-fit: cover;
  opacity: var(--opacity);
  position: relative;
  width: 100%; }

.orangify::before {
  background-color: var(--foreground);
  bottom: 0;
  content: "";
  height: 100%;
  left: 0;
  mix-blend-mode: var(--fg-blend);
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 1; }

.signupbig {
  background-color: #EA5B0C33;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px 2px 0 2px;
  padding: 0.9rem 1.3em;
  display: block; }
  @media (min-width: 640px) {
    .signupbig {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px 0 0 0;
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      padding: 2rem 0 1rem 0; } }
  @media (min-width: 1024px) {
    .signupbig {
      grid-template-columns: repeat(24, 1fr);
      padding: 2rem 0; } }
  .signupbig .signupbig__title {
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-size: 1.55556rem;
    line-height: 1.55556rem;
    color: #ea5b0c;
    padding-right: 3rem;
    display: inline-block;
    text-align: left;
    margin-block-end: 0;
    margin-block-start: 0; }
    @media (min-width: 640px) {
      .signupbig .signupbig__title {
        padding: 0 1rem 0 0;
        grid-column: 2/6;
        margin: 0; } }
    @media (min-width: 1024px) {
      .signupbig .signupbig__title {
        font-size: 2.22rem;
        line-height: 2.22rem;
        grid-column: 2/12;
        padding-right: 5rem; } }
  .signupbig .signupbig__label {
    font-family: balboa, sans-serif;
    font-weight: 300; }
  .signupbig .signupbig__input {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px;
    padding: 0.5rem 1rem;
    background-color: #f1f4d1;
    margin: 0.7rem auto;
    color: #565544;
    font-size: 1.11111rem;
    font-family: freight-text-pro, serif;
    width: 100%;
    box-sizing: border-box; }
    .signupbig .signupbig__input:focus-visible, .signupbig .signupbig__input:focus {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px;
      border-color: black;
      outline: none; }
    @media (min-width: 640px) {
      .signupbig .signupbig__input {
        margin-top: 0.4rem; } }
    @media (min-width: 1024px) {
      .signupbig .signupbig__input {
        margin-top: 0.7rem; } }
  .signupbig .signupbig__submitbutton__container {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px;
    display: inline-block;
    background-color: #EA5B0C33;
    margin: 0.5rem 0;
    padding: 0.2rem; }
  .signupbig .signupbig__submitbutton__button {
    font-size: 1.111111rem;
    background-color: #f1f4d1;
    display: block;
    text-decoration: none;
    border: 2px solid #ea5b0c;
    padding: 0.25rem 1rem;
    color: #ea5b0c;
    min-width: 7rem;
    font-family: balboa, sans-serif;
    font-weight: 300;
    background-size: 200% 100%;
    background-image: linear-gradient(to right, transparent 50%, #ea5b0c 50%);
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    transition: 0.2s; }
    .signupbig .signupbig__submitbutton__button:hover {
      color: #f1f4d1;
      background-position: -100% 0;
      cursor: pointer; }
  .signupbig .signupbig__form {
    margin: 0; }
    @media (min-width: 640px) {
      .signupbig .signupbig__form {
        padding: 0;
        grid-column: 7/12;
        margin: 0; } }
    @media (min-width: 1024px) {
      .signupbig .signupbig__form {
        font-size: 2rem;
        line-height: 2rem;
        grid-column: 14/24; } }
.signupsmall {
  background-color: #ea5b0c;
  padding: 1rem; }
  @media (min-width: 640px) {
    .signupsmall {
      padding: 1.5rem;
      margin: 2.5rem 0; } }
  @media (min-width: 1600px) {
    .signupsmall {
      margin: 2.5rem -2.5rem; } }
  .signupsmall .signupsmall__title {
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-size: 1.55556rem;
    line-height: 1.55556rem;
    margin-right: 1em;
    color: #f1f4d1;
    display: block;
    margin-bottom: 0.5em;
    margin-block-start: 0;
    margin-block-end: 0; }
    @media (min-width: 640px) {
      .signupsmall .signupsmall__title {
        font-size: 1.777778rem;
        line-height: 1.777778rem; } }
    @media (min-width: 1024px) {
      .signupsmall .signupsmall__title {
        padding-right: 7rem; } }
  @media (min-width: 640px) {
    .signupsmall .signupsmall__form {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: 1.5rem 0 0.3rem 0; } }
  .signupsmall .signupsmall__label {
    color: #f1f4d1;
    font-family: balboa, sans-serif;
    font-weight: 300; }
  .signupsmall .signupsmall__input {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px;
    border-color: #565544;
    padding: 0.5rem 1rem;
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 1rem 0;
    background-color: #565544;
    color: #f1f4d1;
    font-size: 1rem;
    font-family: freight-text-pro, serif; }
    .signupsmall .signupsmall__input::placeholder {
      color: #f1f4d1; }
    .signupsmall .signupsmall__input:focus-visible, .signupsmall .signupsmall__input:focus {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px;
      border-color: #f1f4d1;
      outline: none; }
    @media (min-width: 640px) {
      .signupsmall .signupsmall__input {
        margin: 0;
        align-self: stretch;
        padding: 0.5rem 1.5rem;
        font-size: 1.222223rem; } }
  .signupsmall .signupsmall__submitbutton__container {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px;
    border-color: #f1f4d1;
    display: inline-block;
    margin: 0;
    padding: 2px; }
    .signupsmall .signupsmall__submitbutton__container:hover {
      border-color: #565544; }
    @media (min-width: 640px) {
      .signupsmall .signupsmall__submitbutton__container {
        margin-left: 1.5rem; } }
    .signupsmall .signupsmall__submitbutton__container .signupsmall__submitbutton__button {
      display: block;
      font-size: 1.3333rem;
      background-color: #f1f4d1;
      display: block;
      text-decoration: none;
      border: 2px solid #ea5b0c;
      padding: 0.25rem 1rem;
      color: #ea5b0c;
      min-width: 7rem;
      font-family: balboa, sans-serif;
      font-weight: 300;
      background-size: 200% 100%;
      background-image: linear-gradient(to right, transparent 50%, #565544 50%);
      -webkit-transition: 0.2s;
      -moz-transition: 0.2s;
      transition: 0.2s; }
      .signupsmall .signupsmall__submitbutton__container .signupsmall__submitbutton__button:hover {
        color: #f1f4d1;
        background-position: -100% 0;
        border-color: #565544; }

.strip {
  background-repeat: repeat;
  box-sizing: border-box; }
  .strip--circles {
    background-size: 98px 55px;
    background-image: url("/assets/images/circles.svg");
    background-position-y: center;
    background-size: contain;
    min-height: 50px; }
    @media (min-width: 1200px) {
      .strip--circles {
        min-height: 55px; } }
  .strip--lines {
    background-image: url("/assets/images/stripes-narrow.svg");
    background-size: 1500px 500px;
    min-height: 40px; }
  .strip--divider {
    margin: 0 -1.5rem;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px 0; }
    @media (min-width: 640px) {
      .strip--divider {
        margin: 0 -5rem; } }
    @media (min-width: 1024px) {
      .strip--divider {
        margin-left: calc(($margin-tablet-landscape + 5rem) * -1);
        margin-right: -5rem; } }
    @media (min-width: 1200px) {
      .strip--divider {
        margin-left: calc(($margin-desktop + 5rem) * -1); } }
.table {
  font-size: 0.8rem; }
  @media (min-width: 640px) {
    .table {
      font-size: 0.9rem; } }
  .table--4col tr {
    display: grid;
    grid-template-columns: repeat(4, 1fr); }
  .table tbody tr:last-child {
    border-bottom: 1px solid #ea5b0c;
    padding-bottom: 0.5rem; }

tr.hline {
  border-top: 1px solid #ea5b0c;
  margin: 0.25rem 0;
  padding: 0.5rem 0; }

th {
  text-align: left; }

.teaser {
  display: grid;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 0 2px 0;
  grid-template-columns: 1fr; }
  @media (min-width: 640px) {
    .teaser:last-of-type {
      border-width: 0; } }
  @media (min-width: 640px) {
    .teaser {
      grid-template-columns: 8.6rem 1fr; } }
  @media (min-width: 1024px) {
    .teaser {
      grid-template-columns: calc(12.11111rem + 2px) 1fr; } }
  @media (min-width: 1200px) {
    .teaser {
      grid-template-columns: calc(13.33333rem + 2px) 1fr; } }
  .teaser__header {
    background-color: #EA5B0C33;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0px 2px 2px 2px;
    box-sizing: border-box; }
    @media (min-width: 640px) {
      .teaser__header {
        display: none; } }
    .teaser__header h1 {
      margin-block-end: 0;
      margin-block-start: 0;
      text-align: center;
      padding: 0.5rem 0; }
  .teaser__title {
    font-family: freight-text-pro, serif;
    font-size: 1.666667rem;
    line-height: 1.2;
    margin-bottom: 1rem; }
    .teaser__title a {
      text-decoration: none; }
      .teaser__title a:hover {
        text-decoration: underline; }
    @media (min-width: 640px) {
      .teaser__title {
        font-size: 2.22222rem;
        line-height: 1.05; } }
    @media (min-width: 1200px) {
      .teaser__title {
        font-size: 2.5rem;
        line-height: 1.066667; } }
  .teaser__subtitle {
    font-size: 1.44444rem;
    font-style: italic;
    font-weight: 500;
    padding: 0;
    margin: 0;
    line-height: 1.2em;
    margin-block-end: 1em; }
  .teaser__content {
    border-width: 0 2px;
    border-style: solid;
    padding: 1rem 1rem 0.25rem;
    grid-row: 2; }
    @media (min-width: 640px) {
      .teaser__content {
        padding: 1rem;
        grid-column: 2;
        grid-row: 1;
        order: 2;
        padding: 2rem 2rem 1rem;
        border: 0; } }
    @media (min-width: 1200px) {
      .teaser__content {
        margin-right: 13.33333rem;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 0 0; } }
    @media (min-width: 1600px) {
      .teaser__content {
        padding: 3rem 7rem 2rem; } }
    @media (min-width: 1024px) {
      .teaser__content {
        padding: 2rem 5rem 1rem; } }
    @media (min-width: 1600px) {
      .teaser__content {
        padding: 3rem 5rem 2rem; } }
  .teaser__aside {
    grid-column: 1;
    grid-row: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row; }
    @media (min-width: 640px) {
      .teaser__aside {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto 1fr;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 0 0; } }
  .teaser__meta {
    font-family: balboa, sans-serif;
    font-weight: 300;
    padding: 1rem;
    text-align: center;
    font-size: 1.11111rem;
    line-height: 1.2222rem;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px 2px 2px; }
    .teaser__meta--author {
      text-align: left; }
      .teaser__meta--author span {
        display: block; }
    .teaser__meta:first-child {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 2px 2px; }
    @media (min-width: 640px) {
      .teaser__meta {
        padding: 1.25rem 0.75rem;
        text-align: left;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 2px 0 0 0; }
        .teaser__meta:first-child {
          border-style: solid;
          border-color: #ea5b0c;
          border-width: 0; }
        .teaser__meta:last-child {
          border-style: solid;
          border-color: #ea5b0c;
          border-width: 2px 0; } }
    @media (min-width: 1024px) {
      .teaser__meta {
        font-size: 1.333334rem;
        line-height: 1.444445rem; } }
  .teaser__excerpt {
    color: #565544; }
    .teaser__excerpt p:first-child {
      margin-top: 1rem; }
    @media (min-width: 1024px) {
      .teaser__excerpt {
        font-weight: 500; } }
.theme-tags {
  display: flex;
  flex-wrap: wrap;
  font-weight: 400;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0; }

.twitter-tweet {
  margin: 0 auto; }

.venn {
  text-align: center; }
  .venn__title {
    text-transform: uppercase;
    font-size: 1.11111rem;
    margin: 2rem 0;
    font-family: balboa, sans-serif;
    font-weight: 300; }
    @media (min-width: 1024px) {
      .venn__title {
        font-size: 1.33333rem; } }
    @media (min-width: 1200px) {
      .venn__title {
        margin: 4rem 0 3rem;
        font-size: 2rem; } }
  .venn__subtitle {
    display: none;
    margin: 0 auto;
    margin-top: 2rem;
    margin-bottom: 4rem;
    color: #ea5b0c;
    font-family: balboa, sans-serif;
    font-weight: 200;
    font-size: 1rem;
    line-height: 1.1666687; }
    @media (min-width: 640px) {
      .venn__subtitle {
        display: block;
        width: 66%;
        margin-bottom: 2rem; } }
    @media (min-width: 640px) {
      .venn__subtitle {
        font-size: 1.44444rem;
        line-height: 1.05;
        letter-spacing: 0.01em; } }
    @media (min-width: 1200px) {
      .venn__subtitle {
        width: 33%; } }
    .venn__subtitle--mobile {
      display: block;
      font-size: 1.11111rem;
      margin: 1rem 0; }
      @media (min-width: 640px) {
        .venn__subtitle--mobile {
          display: none; } }
  .venn__diagram path {
    fill: transparent;
    cursor: pointer; }
  .venn__diagram polyline {
    stroke: #ea5b0c;
    fill: none;
    stroke-width: 3; }
  .venn__diagram text {
    font-family: balboa, sans-serif;
    font-weight: 300;
    fill: #ea5b0c; }
  .venn__diagram ellipse {
    fill: transparent;
    stroke: #ea5b0c;
    stroke-miterlimit: 10;
    stroke-width: 2; }

.venn-404 {
  text-align: center; }
  .venn-404__container {
    width: 100%;
    overflow: hidden; }
  .venn-404__diagram {
    margin: 1rem 0;
    transform: translateX(-22%);
    width: 180%; }
    @media (min-width: 640px) {
      .venn-404__diagram {
        margin: none;
        transform: none;
        width: 100%; } }
    .venn-404__diagram path {
      fill: transparent; }
    .venn-404__diagram text {
      font-family: balboa, sans-serif;
      font-weight: 300;
      fill: #ea5b0c; }
    .venn-404__diagram ellipse {
      fill: transparent;
      stroke: #ea5b0c;
      stroke-miterlimit: 10;
      stroke-width: 2; }

#venn-mobile {
  display: block;
  margin: 0 auto;
  width: 95%;
  text-align: center;
  max-width: 320px; }
  @media (min-width: 640px) {
    #venn-mobile {
      display: none; } }
  #venn-mobile text.title {
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-size: 1.55556rem; }
  #venn-mobile text.desc {
    font-family: freight-text-pro, serif;
    fill: #565544; }

#venn {
  max-width: 1300px;
  display: none;
  margin: 0 auto;
  text-align: center; }
  @media (min-width: 640px) {
    #venn {
      display: block; } }
  #venn polyline, #venn foreignObject {
    display: none; }
  #venn path, #venn polyline, #venn foreignObject {
    transition-duration: 200ms; }
  #venn foreignObject {
    width: 230px;
    height: 200px;
    font-family: freight-text-pro, serif;
    font-size: 1rem; }
    #venn foreignObject p {
      color: #565544;
      line-height: 1.4;
      text-align: left;
      margin: 0; }
  #venn text {
    text-anchor: middle;
    alignment-baseline: middle;
    cursor: pointer; }
    #venn text .desc {
      font-family: sans-serif;
      text-transform: none; }
  #venn .hide {
    display: none; }
  #venn .selected .hide,
  #venn .hovered .hide,
  #venn .hovered--2 .hide {
    display: block; }
  #venn .one text {
    font-size: 2rem;
    text-transform: uppercase; }
  #venn .three text {
    font-size: 1.6rem; }
  #venn .selected text {
    fill: #f1f4d1; }
  #venn .selected.one path {
    fill: #ea5b0c; }
  #venn .selected.two path {
    fill: #EA5B0C66; }
  #venn .selected.three path {
    fill: #ea5b0c; }
  #venn .hovered.one text {
    fill: #f1f4d1; }
  #venn .hovered.one path {
    fill: #ea5b0c; }
  #venn .hovered.two path {
    fill: #EA5B0C33; }
  #venn .hovered.three path {
    fill: #EA5B0C33; }
  #venn .hovered--2.one text {
    fill: #ea5b0c; }
  #venn .hovered--2.one path {
    fill: #EA5B0C33; }
  #venn .hovered--2.two path {
    fill: #EA5B0C66; }
  #venn .hovered--2.three path {
    fill: #EA5B0C66; }

#venn-404 {
  max-width: 1300px;
  display: block;
  text-align: center; }
  #venn-404 text {
    text-anchor: middle;
    alignment-baseline: middle; }
  #venn-404 .one text {
    font-size: 2rem;
    text-transform: uppercase; }
  #venn-404 .three text {
    font-size: 1.6rem; }

.windows {
  margin: 1rem auto;
  list-style-type: none;
  padding: 0; }
  @media (min-width: 640px) {
    .windows--contact {
      padding: 0 16.6666%; } }
  @media (min-width: 1024px) {
    .windows--contact {
      padding: 0 25%; } }
  @media (min-width: 1600px) {
    .windows--contact {
      display: flex;
      padding: 0;
      justify-content: space-evenly; } }
  @media (min-width: 640px) {
    .windows--contact .window {
      width: 75%;
      margin: 3rem 0; }
      .windows--contact .window:nth-child(odd) {
        margin-right: auto; }
      .windows--contact .window:nth-child(even) {
        margin-left: auto; } }
  @media (min-width: 1024px) {
    .windows--contact .window {
      width: 83.33333%;
      margin: 4rem 0; } }
  @media (min-width: 1200px) {
    .windows--contact .window {
      width: 75%;
      margin: 5rem 0; } }
  @media (min-width: 1600px) {
    .windows--contact .window {
      width: 30%;
      margin: 3rem 0; }
      .windows--contact .window:nth-child(odd) {
        margin-right: 0; }
      .windows--contact .window:nth-child(even) {
        margin-left: 0; } }
  .windows--contact .window__header {
    text-transform: uppercase;
    padding: 0.75rem 1.5rem; }
  .windows--contact .window__content {
    font-size: 1.44444rem;
    padding: 0 1em;
    margin: 1rem 0; }
    .windows--contact .window__content__link {
      color: #565544;
      text-decoration: none;
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 2px 0;
      background-size: 100% 200%;
      background-image: linear-gradient(to top, #ea5b0c 50%, transparent 50%);
      transition: 0.2s; }
    .windows--contact .window__content__link:hover {
      color: #f1f4d1;
      background-position: 0 100%;
      padding: 0 0.5rem; }
  .windows--orange .window__content {
    background-color: #EA5B0C33; }
  @media (min-width: 640px) {
    .windows--homepage {
      margin-left: 8.333333%;
      margin-right: 8.33333%; } }
  @media (min-width: 1200px) {
    .windows--homepage {
      margin-left: 13%;
      margin-right: 13%; } }
  .windows--homepage .window {
    margin-top: 2rem;
    margin-bottom: 2rem; }
    @media (min-width: 1024px) {
      .windows--homepage .window {
        width: 80%;
        margin-top: 3rem !important;
        margin-bottom: 3rem !important; } }
    @media (min-width: 1200px) {
      .windows--homepage .window {
        width: 80%;
        margin-top: 5rem !important;
        margin-bottom: 5rem !important; } }
    .windows--homepage .window__header {
      text-transform: uppercase;
      font-size: 1.33333rem;
      line-height: 1.083333; }
      @media (min-width: 1200px) {
        .windows--homepage .window__header {
          font-size: 1.777778rem;
          line-height: 1; } }
    .windows--homepage .window__content {
      font-size: 1.11111rem;
      line-height: 1.4; }
      @media (min-width: 640px) {
        .windows--homepage .window__content {
          font-size: 1.333333rem;
          line-height: 1.166666; } }
      @media (min-width: 1200px) {
        .windows--homepage .window__content {
          font-size: 1.777778rem;
          line-height: 1.25; } }
    @media (min-width: 1024px) {
      .windows--homepage .window--homepage--1 {
        margin-left: 0;
        margin-right: auto; } }
    @media (min-width: 1024px) {
      .windows--homepage .window--homepage--2 {
        margin-right: 0;
        margin-left: auto; } }
    .windows--homepage .window--homepage--3 {
      margin-left: auto;
      margin-right: auto; }
  .windows--alternating .window {
    width: 100%; }
    @media (min-width: 640px) {
      .windows--alternating .window {
        margin: 2rem 0;
        width: 80%; }
        .windows--alternating .window:nth-child(odd) {
          margin-right: auto; }
        .windows--alternating .window:nth-child(even) {
          margin-left: auto; } }
    @media (min-width: 1024px) {
      .windows--alternating .window {
        width: 65%; } }
    @media (min-width: 1200px) {
      .windows--alternating .window {
        width: 80%;
        margin: 4rem 0; } }
  @media (min-width: 640px) {
    .windows--themes {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start; } }
  @media (min-width: 640px) {
    .windows--themes .window {
      width: calc(50% - 1rem);
      box-sizing: border-box; }
      .windows--themes .window:nth-child(odd) {
        margin: 1rem 1rem 1rem 0; }
      .windows--themes .window:nth-child(even) {
        margin: 1rem 0 1rem 1rem; } }
.window {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px;
  margin: 1.5rem 0; }
  .window__header {
    margin: 0;
    background-color: #ea5b0c;
    color: #f1f4d1;
    padding: 0.5rem 1rem;
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-size: 1.33333rem;
    line-height: 1.083333; }
    @media (min-width: 1200px) {
      .window__header {
        font-size: 1.777778rem;
        line-height: 1;
        padding: 0.75rem 1.5rem; } }
  .window__content {
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 0;
    margin-top: 0;
    color: #565544;
    padding: 1rem; }
    @media (min-width: 1200px) {
      .window__content {
        padding: 1.5rem;
        font-size: 1.25rem; } }
    .window__content p:first-child {
      margin-block-start: 0; }
    .window__content p:last-child {
      margin-block-end: 0;
      margin-bottom: 0 !important; }
  .window__footer {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px 0 0 0;
    display: flex; }
    .window__footer__stripes {
      background-image: url("/assets/images/stripes-narrow.svg");
      background-size: 1500px 500px;
      min-height: 40px;
      display: block;
      flex-grow: 2; }
    .window__footer__buttonbox {
      flex-grow: 1;
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 2px 0 0;
      padding: 0.25rem;
      width: max-content;
      background-color: #EA5B0C33; }
      @media (min-width: 640px) {
        .window__footer__buttonbox {
          flex-grow: 0; } }
    .window__footer__button {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px;
      padding: 0.25rem 0.5rem;
      display: block;
      text-decoration: none;
      text-align: center;
      font-family: balboa, sans-serif;
      font-weight: 300;
      color: #ea5b0c;
      background-color: #f1f4d1;
      background-size: 200% 100%;
      background-image: linear-gradient(to right, transparent 50%, #ea5b0c 50%);
      -webkit-transition: 0.2s;
      -moz-transition: 0.2s;
      transition: 0.2s; }
      .window__footer__button:hover {
        color: #f1f4d1;
        background-position: -100% 0; }

.blog {
  display: grid;
  grid-template-columns: 1fr; }
  @media (min-width: 1024px) {
    .blog {
      grid-template-columns: 12.11111rem 1fr; } }
  @media (min-width: 1200px) {
    .blog {
      grid-template-columns: 13.33333rem 1fr; } }
  .blog header + p {
    font-size: 1.25rem; }
  .blog hr {
    width: 30px;
    height: 28.8px;
    border: 0;
    background-image: url("/assets/images/hr.svg");
    background-size: cover;
    margin: 2rem auto; }
    @media (min-width: 640px) {
      .blog hr {
        width: 50px;
        height: 47.99px;
        margin: 3rem auto; } }
  .blog__title {
    font-family: freight-text-pro, serif;
    text-align: left;
    color: #ea5b0c;
    font-size: 1.666667rem;
    line-height: 1; }
    @media (min-width: 640px) {
      .blog__title {
        font-size: 2.222222rem; } }
    @media (min-width: 1200px) {
      .blog__title {
        font-size: 2.5rem; } }
  .blog__subtitle {
    font-size: 1.44444rem;
    font-style: italic;
    font-weight: 500; }
    @media (min-width: 640px) {
      .blog__subtitle {
        font-size: 1.555555rem; } }
  .blog p.subtitle {
    font-size: 1.111111rem; }
    @media (min-width: 1024px) {
      .blog p.subtitle {
        font-size: 1.44444rem;
        line-height: 1.307; } }
  .blog__body img, .blog__body iframe {
    max-width: 100%;
    margin: 0 auto; }
  .blog__body .updated {
    color: #ea5b0c;
    font-size: 1rem;
    margin: 2rem 0; }
  .blog__body sup {
    line-height: 0; }
  .blog__lastmod {
    font-style: italic; }
  .blog__content {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px;
    color: #565544;
    padding: 0 1rem;
    max-width: 100%;
    overflow: hidden;
    grid-row: 2;
    grid-column: 1; }
    @media (min-width: 640px) {
      .blog__content {
        grid-row: 2;
        grid-column: 1;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0;
        padding: 0 5rem; } }
    @media (min-width: 1024px) {
      .blog__content {
        grid-row: 1;
        grid-column: 2;
        order: 2;
        padding: 0 2.5rem; } }
    @media (min-width: 1600px) {
      .blog__content {
        margin-right: 13.33333rem;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 0 0;
        padding: 0 7rem; } }
  .blog__aside {
    display: flex;
    width: 100%; }
    @media (min-width: 640px) {
      .blog__aside {
        border-top: 1rem #EA5B0C33 solid; } }
    @media (min-width: 1024px) {
      .blog__aside {
        box-sizing: border-box;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 0 0;
        display: block;
        padding: 0;
        font-size: 0px; } }
  .blog__meta {
    font-family: balboa, sans-serif;
    font-weight: 300;
    font-size: 1.11111rem;
    box-sizing: border-box;
    line-height: 1.22222rem;
    padding: 0.75rem 1.25rem;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0px 2px 2px 0; }
    @media (min-width: 640px) {
      .blog__meta {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 2px 0px 2px 2px; }
        .blog__meta:first-child {
          border-style: solid;
          border-color: #ea5b0c;
          border-width: 2px 0px 2px 0px; } }
    @media (min-width: 1024px) {
      .blog__meta {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 2px 0;
        padding: 1.5rem;
        font-size: 1.333333rem;
        margin: 0;
        display: block;
        text-align: left; }
        .blog__meta:first-child {
          border-style: solid;
          border-color: #ea5b0c;
          border-width: 0 0 2px 0; }
        .blog__meta:last-child {
          border-style: solid;
          border-color: #ea5b0c;
          border-width: 0 0 2px 0; } }
    @media (max-width: 639px) {
      .blog__meta:first-child {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 2px 2px; } }
    .blog__meta--date {
      text-align: center;
      justify-content: center;
      flex-grow: 1;
      flex-shrink: 0;
      display: flex;
      align-items: center; }
      @media (max-width: 639px) {
        .blog__meta--date {
          width: 50%; } }
      @media (min-width: 1024px) {
        .blog__meta--date {
          text-align: left;
          justify-content: left; } }
    .blog__meta--illustrator {
      display: none; }
      @media (min-width: 1024px) {
        .blog__meta--illustrator {
          display: block;
          padding: 1rem 1.5rem 1.5rem 1.5rem; } }
    .blog__meta--author {
      text-align: left;
      flex-grow: 2; }
      @media (min-width: 1024px) {
        .blog__meta--author {
          line-height: 1.444444rem; } }
      @media (min-width: 1200px) {
        .blog__meta--author {
          padding-right: 3rem; } }
    .blog__meta--avatar {
      padding: 0.25rem;
      text-align: center;
      line-height: 1;
      display: grid;
      justify-content: center;
      align-items: center; }
      .blog__meta--avatar--image {
        display: block; }
      .blog__meta--avatar img, .blog__meta--avatar picture {
        width: 40px;
        border-radius: 50%; }
      @media (max-width: 639px) {
        .blog__meta--avatar {
          display: none; } }
      @media (min-width: 1024px) {
        .blog__meta--avatar {
          box-sizing: border-box; }
          .blog__meta--avatar--author {
            display: inline-block; }
            .blog__meta--avatar--author:nth-child(3):nth-last-child(3) {
              padding: 1.25rem; }
            .blog__meta--avatar--author:nth-child(3):nth-last-child(4), .blog__meta--avatar--author:nth-child(3):nth-last-child(4) ~ .blog__meta--avatar--author {
              width: 50%; }
            .blog__meta--avatar--author:nth-child(3):nth-last-child(4) {
              padding: 1rem 0.5rem 1rem 0.75rem; }
            .blog__meta--avatar--author:nth-child(3):nth-last-child(4) ~ .blog__meta--avatar--author {
              padding: 1rem 0.75rem 1rem 0.5rem; }
            .blog__meta--avatar--author:nth-child(3):nth-last-child(5), .blog__meta--avatar--author:nth-child(3):nth-last-child(5) ~ .blog__meta--avatar--author {
              width: 33.3333333%; }
            .blog__meta--avatar--author:nth-child(3):nth-last-child(5) {
              padding: 1rem 0.25rem 1rem 0.75rem; }
            .blog__meta--avatar--author:nth-child(4):nth-last-child(4) {
              padding: 1rem 0.5rem 1rem 0.5rem; }
            .blog__meta--avatar--author:nth-child(5):nth-last-child(3) {
              padding: 1rem 0.75rem 1rem 0.25rem; }
          .blog__meta--avatar img {
            width: 95%;
            max-width: 95%;
            margin: 0 auto;
            padding-left: 2.5%; } }
      .blog__meta--avatar--illustrator {
        display: none; }
        @media (min-width: 1024px) {
          .blog__meta--avatar--illustrator {
            display: block;
            width: 100%; }
            .blog__meta--avatar--illustrator:nth-child(7) {
              padding: 0; }
              .blog__meta--avatar--illustrator:nth-child(7) picture img {
                width: 33.3%;
                padding: 0.5rem;
                box-sizing: border-box; }
            .blog__meta--avatar--illustrator:nth-child(6) {
              padding: 0; }
              .blog__meta--avatar--illustrator:nth-child(6) picture img {
                width: 50%;
                padding: 1rem 0.5rem 1rem 0.75rem;
                box-sizing: border-box; }
            .blog__meta--avatar--illustrator:nth-child(5) {
              padding: 1.25rem; } }
.collective__list {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px 0;
  margin: 0rem -1.5rem !important;
  list-style: none; }
  @media (min-width: 640px) {
    .collective__list {
      margin: 0rem -5rem !important;
      display: flex;
      flex-wrap: wrap; } }
  .collective__list__item {
    list-style-type: none;
    margin: 0 !important;
    padding: 0 1rem;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0; }
    @media (min-width: 640px) {
      .collective__list__item {
        width: 50%;
        box-sizing: border-box; } }
    .collective__list__item:last-child {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0; }
    .collective__list__item::before {
      display: none; }
    @media (min-width: 640px) {
      .collective__list__item:nth-child(odd) {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 2px 0; } }
    .collective__list__item__name, .collective__list__item__pronouns, .collective__list__item__description {
      margin-block-start: 0;
      margin-block-end: 0; }
    .collective__list__item__name {
      margin: 1rem 0 0 0; }
    .collective__list__item__pronouns {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px;
      width: fit-content;
      color: #ea5b0c;
      font-style: italic;
      margin: 0.5rem 0; }
      .collective__list__item__pronouns::before {
        content: "i";
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 0 0;
        padding: 0.25rem 0.5rem;
        font-style: normal; }
    .collective__list__item__description {
      margin: 1rem 0 1.5rem 0; }

@media (min-width: 640px) {
  .homepage__themes {
    margin: 2rem; } }

.homepage__themes__title {
  font-family: balboa, sans-serif;
  font-weight: 300;
  text-align: center;
  font-size: 2rem;
  padding: 0 2rem;
  line-height: 1.1em; }

.homepage__themes__content {
  padding: 0 1.25rem;
  text-align: center; }
  @media (min-width: 640px) {
    .homepage__themes__content {
      padding: 0 3.25rem; } }
.project {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 2px 2px 2px;
  padding: 0 1rem; }
  @media (min-width: 640px) {
    .project {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0;
      padding: 0 5rem; } }
  @media (min-width: 1200px) {
    .project {
      margin: 0 13.33333rem;
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 2px; } }
  .project .fancy {
    margin: 0 -5rem; }
  .project__title {
    font-family: freight-text-pro, serif;
    font-size: 1.666666rem;
    line-height: 1.1em;
    margin: 0 -1rem;
    padding: 1.5rem 1rem;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 0 2px 0; }
    @media (min-width: 640px) {
      .project__title {
        font-size: 2.222222rem;
        margin: 0 -5rem;
        padding: 2rem 5rem; } }
  .project__themes {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 900;
    margin: 0 -1rem;
    padding: 1rem 1rem; }
    @media (min-width: 640px) {
      .project__themes {
        margin: 0 -5rem;
        padding: 1rem 5rem; } }
  .project__summary {
    font-weight: 900;
    margin: 1.444444rem 0; }
    @media (min-width: 640px) {
      .project__summary {
        font-weight: normal;
        font-size: 1.444444rem;
        margin: 2rem 0 2.5rem 0; } }
  .project__meta {
    display: none; }
    @media (min-width: 640px) {
      .project__meta {
        display: grid;
        grid-template-columns: 2fr 1fr;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 2px 0;
        margin: 0 -5rem; } }
    .project__meta p {
      margin-block-start: 0;
      margin-block-end: 0; }
    .project__meta__client, .project__meta__date, .project__meta__team, .project__meta__themes {
      padding: 0.75rem 1.25rem;
      font-weight: 900; }
    @media (min-width: 1024px) {
      .project__meta__client {
        padding-left: 5rem; } }
    @media (min-width: 1200px) {
      .project__meta__client {
        padding-left: 1.25rem; } }
    .project__meta__date {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 0 2px; }
      @media (min-width: 1024px) {
        .project__meta__date {
          padding-right: 5rem; } }
      @media (min-width: 1200px) {
        .project__meta__date {
          padding-right: 1.25rem; } }
    .project__meta__team {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px 0 0 0;
      grid-row: 2 / 3;
      grid-column: 1 / 3; }
      @media (min-width: 1024px) {
        .project__meta__team {
          padding-left: 5rem; } }
      @media (min-width: 1200px) {
        .project__meta__team {
          padding-left: 1.25rem; } }
    .project__meta__themes {
      margin: 0; }
    .project__meta__value {
      color: #ea5b0c;
      margin-left: 0.4rem; }
      .project__meta__value a {
        color: #ea5b0c;
        margin: 0 0.25rem; }
  .project__content {
    padding-bottom: 1.5rem; }
    @media (min-width: 640px) {
      .project__content {
        padding: 2rem 0; } }
    .project__content ul {
      list-style-type: none;
      margin: 2rem 0;
      padding: 0;
      position: relative;
      font-weight: 500;
      line-height: 1.54545;
      color: #565544; }
      .project__content ul li {
        margin-bottom: 1rem;
        margin-left: 2rem;
        line-height: 1.54545; }
      .project__content ul li:before {
        content: "\2022";
        position: absolute;
        left: 0;
        color: #ea5b0c;
        margin-right: 1rem; }
  .project__footer {
    display: none;
    margin: 0 -5rem;
    align-items: stretch;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px 0 0 0; }
    @media (min-width: 1200px) {
      .project__footer {
        display: flex; } }
    .project__footer .project__meta__value a {
      text-decoration: none;
      font-weight: 900; }
      .project__footer .project__meta__value a::after {
        content: ","; }
      .project__footer .project__meta__value a:last-child::after {
        content: ""; }
    .project__footer__button {
      padding: 0.75rem 1.25rem;
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 2px;
      font-family: balboa, sans-serif;
      font-weight: 300;
      text-decoration: none;
      color: #ea5b0c;
      display: block;
      margin: 1rem;
      width: max-content; }
    .project__footer__section {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 0 2px;
      display: flex;
      align-items: center; }

.project-related {
  padding: 1.5rem 1rem 1rem 1rem;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 2px 2px 2px; }
  @media (min-width: 640px) {
    .project-related {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0;
      padding: 2rem 5rem; } }
  @media (min-width: 1200px) {
    .project-related {
      margin: 0 13.33333rem; } }
  .project-related h2 {
    margin: 0;
    font-family: balboa, sans-serif; }

.studio__elements {
  padding-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem; }

.support__section {
  box-sizing: border-box;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 2px 2px 2px;
  padding: 1rem; }
  @media (min-width: 640px) {
    .support__section {
      padding: 1rem 5rem;
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0; } }
  @media (min-width: 1024px) {
    .support__section {
      padding: 1rem 7rem; } }
  @media (min-width: 1200px) {
    .support__section {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 2px;
      max-width: 950px;
      margin: 0 auto;
      padding: 1.5rem 5rem; } }
  .support__section:last-child {
    padding-bottom: 2rem;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 0 2px; }
    @media (min-width: 640px) {
      .support__section:last-child {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0; } }
    @media (min-width: 1200px) {
      .support__section:last-child {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px; } }
.support__header {
  font-family: freight-text-pro, serif;
  font-size: 1.666666rem;
  margin-block-start: 0; }
  @media (min-width: 640px) {
    .support__header {
      font-size: 2.222222rem; } }
  @media (min-width: 1200px) {
    .support__header {
      font-size: 2.5rem; } }
.support__content p:first-child {
  font-weight: 900; }
  @media (min-width: 640px) {
    .support__content p:first-child {
      font-weight: normal;
      font-size: 1.444444rem; } }
.support__circles {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }
  @media (min-width: 1024px) {
    .support__circles {
      justify-content: center; } }
  @media (min-width: 1200px) {
    .support__circles {
      margin: 3rem 0; } }
.support__circle {
  position: relative;
  width: 122px;
  height: 122px;
  color: #f1f4d1;
  padding: 1rem;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: balboa, sans-serif;
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 1.1em; }
  @media (min-width: 640px) {
    .support__circle {
      width: 150px;
      height: 150px;
      font-size: 1.666666rem; } }
  @media (min-width: 1024px) {
    .support__circle {
      margin: 0 1rem; } }
  @media (min-width: 1200px) {
    .support__circle {
      width: 200px;
      height: 200px;
      font-size: 2.222222rem; } }
  .support__circle::before {
    content: "";
    display: block;
    border-radius: 50%;
    background-color: #ea5b0c;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    z-index: -1; }

.work__types {
  display: flex;
  flex-wrap: wrap;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 2px 2px 2px;
  gap: 1rem;
  justify-content: center;
  list-style-type: none;
  padding: 1rem 1rem 1rem; }
  @media (min-width: 640px) {
    .work__types {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0;
      padding: 2.25rem 0rem 0rem;
      justify-content: center; } }
.work__btn--active {
  color: #f1f4d1;
  background-color: #ea5b0c; }

.work__types-btn {
  flex: 1; }
  @media (min-width: 640px) {
    .work__types-btn {
      flex: unset; } }
  .work__types-btn:hover {
    cursor: pointer; }

.work__filters {
  padding: 0.25rem 0.25rem;
  margin: 0;
  list-style-type: none;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 2px 2px 2px;
  display: flex;
  flex-wrap: wrap; }
  @media (min-width: 640px) {
    .work__filters {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0;
      padding: 1.5rem;
      justify-content: center; } }
  @media (min-width: 1200px) {
    .work__filters {
      flex-wrap: nowrap; } }
.work__category {
  display: none; }

.work__filter {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px;
  margin: 0.5rem;
  width: calc(50% - 1rem);
  box-sizing: border-box;
  display: flex;
  flex-direction: column; }
  @media (min-width: 640px) {
    .work__filter {
      width: 156px;
      margin: 0.75rem; } }
.work__filter--hidden {
  display: none; }

.work__name {
  padding: 0.5rem;
  margin: 0;
  color: #565544;
  font-family: freight-text-pro, serif;
  flex-grow: 10;
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 0 2px 0; }
  @media (min-width: 640px) {
    .work__name {
      font-size: 1.22222rem; } }
.work__stripes {
  background-image: url("/assets/images/stripes-narrower.svg");
  background-size: 1500px 500px;
  min-height: 40px;
  flex-shrink: 10;
  background-repeat: repeat;
  padding: 0.5rem; }

.work__link {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 2px;
  font-family: balboa, sans-serif;
  font-weight: 300;
  color: #ea5b0c;
  padding: 0.25rem 0.5rem;
  display: block;
  width: fit-content;
  text-decoration: none;
  background-color: #f1f4d1;
  margin-left: auto;
  background-size: 210% 100%;
  background-image: linear-gradient(to right, transparent 50%, #ea5b0c 50%);
  transition: 0.2s; }

.work__link:hover {
  color: #f1f4d1;
  background-position: -95% 0; }

.work__projects {
  padding: 0;
  margin: 0;
  list-style-type: none; }

.work__project {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 2px 2px 2px;
  padding: 1rem 1.5rem 0 1.5rem;
  box-sizing: border-box; }
  @media (min-width: 640px) {
    .work__project {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 2px 0;
      display: flex;
      padding: 0; }
      .work__project:last-child {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0; } }
  @media (min-width: 1200px) {
    .work__project {
      padding-left: 13.33333rem;
      padding-right: 13.33333rem; } }
  .work__project__info {
    padding-top: 0.5rem;
    padding-bottom: 2rem; }
    @media (min-width: 640px) {
      .work__project__info {
        padding: 1.25rem 1.5rem; } }
    @media (min-width: 1024px) {
      .work__project__info {
        padding: 1.25rem 2rem 1.25rem 6rem; } }
    @media (min-width: 1200px) {
      .work__project__info {
        padding-left: 1rem;
        padding-right: 1rem;
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px; } }
  .work__project__title {
    margin: 0;
    margin-bottom: 0.5rem;
    text-decoration: none; }
  .work__project__readmore {
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px;
    font-family: balboa, sans-serif;
    font-weight: 300;
    color: #ea5b0c;
    padding: 0.5rem 0.75rem;
    display: block;
    width: fit-content;
    text-decoration: none;
    background-color: #f1f4d1; }
  .work__project__image {
    margin: 0rem -1.5rem;
    background-color: #f1f4d1;
    border-style: solid;
    border-color: #ea5b0c;
    border-width: 2px 0 0 0;
    padding: 0 20%; }
    .work__project__image img {
      width: 100%; }
    @media (min-width: 640px) {
      .work__project__image {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 0 0 2px;
        margin: 0;
        width: 30%;
        padding: 0;
        flex-grow: 0;
        flex-shrink: 0;
        flex-basis: auto;
        display: grid;
        align-items: center; } }
    @media (min-width: 1024px) {
      .work__project__image {
        width: 40%; } }
    @media (min-width: 1200px) {
      .work__project__image {
        border-style: solid;
        border-color: #ea5b0c;
        border-width: 0 2px 0 0; } }
.category__title {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0 2px 2px 2px;
  margin-block-start: 0;
  margin-block-end: 0;
  text-align: center;
  padding: 0.5rem 1.5rem;
  font-size: 1.333333rem; }
  @media (min-width: 640px) {
    .category__title {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 2px 0; } }
  @media (min-width: 1200px) {
    .category__title {
      font-size: 2.5rem;
      padding: 1.5rem 3rem; } }
.category__content {
  border-style: solid;
  border-color: #ea5b0c;
  border-width: 0px 2px 2px 2px;
  padding: 1rem;
  text-align: center; }
  @media (min-width: 640px) {
    .category__content {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0;
      max-width: 522px;
      margin: 0.5rem auto; } }
  @media (min-width: 1024px) {
    .category__content {
      max-width: 714px;
      margin: 1rem auto; } }
  .category__content p:first-child {
    margin-block-start: 0; }
  .category__content p:last-child {
    margin-block-end: 0; }

.text-grid {
  display: grid;
  grid-template-areas: "middle";
  grid-template-columns: 1fr; }
  @media (min-width: 1024px) {
    .text-grid {
      grid-template-areas: "left middle ";
      grid-template-columns: 12.11111rem 1fr; } }
  @media (min-width: 1200px) {
    .text-grid {
      grid-template-areas: "left middle";
      grid-template-columns: 13.33333rem 1fr; } }
  @media (min-width: 1600px) {
    .text-grid {
      grid-template-areas: "left middle right";
      grid-template-columns: 13.33333rem 1fr 13.33333rem; } }
.text {
  grid-area: middle;
  padding: 0 1rem;
  max-width: 100%;
  overflow: hidden; }
  @media (min-width: 640px) {
    .text {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0;
      padding: 0 5rem; } }
  @media (min-width: 1024px) {
    .text {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 0 0 2px;
      padding: 0 2.5rem; } }
  @media (min-width: 1600px) {
    .text {
      border-style: solid;
      border-color: #ea5b0c;
      border-width: 0 2px;
      padding: 0 7rem; } }
