@font-face {
  font-family: "DT";
  src: url("../assets/webfonts/DTReg.woff") format("woff"), url("../assets/webfonts/DTReg.woff2") format("woff2"); }

:root {
  --nav-top-padding: 0.5625rem;
  --nav-bottom-padding: 0.5625rem;
  --media-smallgap: 3rem;
  --media-biggap: 4.5rem;
  --button-icon-size: 1.3125rem;
  --navbar-transition-duration: 250ms; }

[data-theme="blue"] {
  --index-project-card-shadow: 0px -2px 8px 2px rgba(83, 198, 191, 0.07);
  --body-background: rgba(255, 255, 255, 1);
  --nav-background-collapsed: rgba(208, 240, 251, 0.4);
  --nav-background-expanded: rgba(232, 248, 253, 0.4);
  --header-background: rgba(208, 240, 251, 1);
  --block-background: rgba(243, 251, 254, 1);
  --header-controls-background: rgba(255, 255, 255, 1);
  --body-controls-background: var(--nav-background-collapsed);
  --body-controls-background-hover: rgba(208, 240, 251, 0.35);
  --type: rgb(120, 104, 218);
  --type-hover: rgba(120, 104, 218, 0.55);
  --main-rule: rgba(120, 104, 218, 0.2);
  --controls-rule: rgba(120, 104, 218, 0.15);
  --heroimage-background: linear-gradient(180deg, #EEFAFF 32.02%, rgba(243, 251, 254, 0) 87.26%);
  --callout-background: var(--type);
  --media-background: rgba(208, 240, 251, 0.25);
  --gallery-background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(249, 249, 249, 0.7) 100%);
  --dimmer: rgba(22, 12, 45, 0.15);
  --carousel-right-image: url("../assets/images/carousel_arrows/purple_right.svg");
  --carousel-left-image: url("../assets/images/carousel_arrows/purple_left.svg");
  --cursor-image: url("../assets/images/cursors/purple_light.svg"); }

[data-theme="orange"] {
  --index-project-card-shadow: 0px -2px 8px 2px rgba(227, 150, 135, 0.08);
  --body-background: rgba(255, 255, 255, 1);
  --nav-background-collapsed: rgba(255, 230, 224, 0.4);
  --nav-background-expanded: rgba(255, 251, 250, 0.4);
  --header-background: rgba(255, 225, 218, 1);
  --block-background: rgba(255, 247, 246, 1);
  --header-controls-background: rgba(255, 255, 255, 1);
  --body-controls-background: var(--nav-background-collapsed);
  --body-controls-background-hover: rgba(255, 225, 218, 0.25);
  --type: rgb(240, 132, 33);
  --type-hover: rgba(240, 132, 33, 0.55);
  --main-rule: rgba(240, 132, 33, 0.2);
  --controls-rule: rgba(240, 132, 33, 0.15);
  --heroimage-background: linear-gradient(180deg, #FFF0ED 0%, rgba(255, 240, 237, 0) 100%);
  --callout-background: var(--type);
  --media-background: rgba(255, 225, 218, 0.25);
  --gallery-background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(249, 249, 249, 0.85) 100%);
  --dimmer: rgba(73, 40, 15, 0.15);
  --carousel-right-image: url("../assets/images/carousel_arrows/orange_right.svg");
  --carousel-left-image: url("../assets/images/carousel_arrows/orange_left.svg");
  --cursor-image: url("../assets/images/cursors/orange_light.svg"); }

[data-theme="green"] {
  --index-project-card-shadow: 0px -2px 8px 2px rgba(255, 205, 71, 0.08);
  --body-background: rgba(255, 255, 255, 1);
  --nav-background-collapsed: rgba(255, 233, 175, 0.3);
  --nav-background-expanded: rgba(255, 233, 175, 0.4);
  --header-background: rgba(255, 233, 175, 1);
  --block-background: rgba(255, 244, 215, 1);
  --header-controls-background: rgba(255, 255, 255, 1);
  --body-controls-background: var(--nav-background-collapsed);
  --body-controls-background-hover: rgba(251, 238, 207, 0.85);
  --type: rgba(44, 154, 68, 1);
  --type-hover: rgba(44, 154, 68, 0.55);
  --main-rule: rgba(44, 154, 68, 0.2);
  --controls-rule: rgba(44, 154, 68, 0.15);
  --heroimage-background: linear-gradient(180deg, #FFE9AF 45.6%, rgba(255, 255, 255, 0) 87.26%);
  --callout-background: var(--type);
  --media-background: rgba(255, 233, 175, 0.25);
  --gallery-background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(249, 249, 249, 0.85) 100%);
  --dimmer: rgba(149, 139, 113, 0.2);
  --carousel-right-image: url("../assets/images/carousel_arrows/purple_right.svg");
  --carousel-left-image: url("../assets/images/carousel_arrows/purple_left.svg");
  --cursor-image: url("../assets/images/cursors/green_light.svg"); }

[data-theme="mint"] {
  --index-project-card-shadow: 0px -2px 8px 2px rgba(204, 235, 211, 0.08);
  --body-background: rgba(255, 255, 255, 1);
  --nav-background-collapsed: rgba(204, 235, 211, 0.3);
  --nav-background-expanded: rgba(204, 235, 211, 0.4);
  --header-background: rgba(222, 255, 246, 1);
  --block-background: rgba(184, 239, 229, 1);
  --header-controls-background: rgba(255, 255, 255, 1);
  --body-controls-background: var(--nav-background-collapsed);
  --body-controls-background-hover: rgba(204, 235, 211 0.85);
  --type: rgba(64, 180, 160, 1);
  --type-hover: rgba(64, 180, 160, 0.55);
  --main-rule: rgba(64, 180, 160, 0.2);
  --controls-rule: rgba(64, 180, 160, 0.15);
  --heroimage-background: linear-gradient(180deg, #FFE9AF 45.6%, rgba(255, 255, 255, 0) 87.26%);
  --callout-background: var(--type);
  --media-background: rgba(204, 235, 211,0.20);
  --gallery-background: linear-gradient(180deg, rgba(255, 255, 255, 0.85) 0%, rgba(249, 249, 249, 0.85) 100%);
  --dimmer: rgba(218, 233, 208, 0.2);
  --carousel-right-image: url("../assets/images/carousel_arrows/purple_right.svg");
  --carousel-left-image: url("../assets/images/carousel_arrows/purple_left.svg");
  --cursor-image: url("../assets/images/cursors/purple_light.svg"); }

[data-theme="purple"] {
  --index-project-card-shadow: 0px -2px 8px 2px rgba(193, 113, 172, 0.08);
  --header-background: rgba(240, 218, 229, 1);
  --block-background: rgba(236, 201, 224, 1);
  --type: rgba(193, 113, 172, 1);
  --type-hover: rgba(193, 113, 172, 0.55);
  --main-rule: rgba(193, 113, 172, 0.2);
  --controls-rule: rgba(193, 113, 172, 0.15); }

@media (prefers-color-scheme: dark) {
  [data-theme="purple"] {
    --cursor-image: url("../assets/images/cursors/purple_dark.svg"); }
  [data-theme="orange"] {
    --cursor-image: url("../assets/images/cursors/orange_dark.svg"); }
  [data-theme="green"] {
    --cursor-image: url("../assets/images/cursors/green_dark.svg"); } }

/*! bulma.io v0.8.2 | MIT License | github.com/jgthms/bulma */
@keyframes spinAround {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(359deg); } }

.is-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.is-overlay {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0; }

/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal; }

ul {
  list-style: none; }

button,
input,
select,
textarea {
  margin: 0; }

html {
  box-sizing: border-box; }

*, *::before, *::after {
  box-sizing: inherit; }

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

iframe {
  border: 0; }

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

td,
th {
  padding: 0; }
  td:not([align]),
  th:not([align]) {
    text-align: left; }

html {
  background-color: white;
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  text-size-adjust: 100%; }

article,
aside,
figure,
footer,
header,
hgroup,
section {
  display: block; }

body,
button,
input,
select,
textarea {
  font-family: "DT", "Avenir Next", "Avenir", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

code,
pre {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: auto;
  font-family: monospace; }

body {
  color: var(--type);
  font-size: 1.21875rem;
  font-weight: 400;
  line-height: 1.5625rem; }

a {
  color: #3273dc;
  cursor: pointer;
  text-decoration: none; }
  a strong {
    color: currentColor; }
  a:hover {
    color: #363636; }

code {
  background-color: whitesmoke;
  color: #f14668;
  font-size: 0.875em;
  font-weight: normal;
  padding: 0.25em 0.5em 0.25em; }

hr {
  background-color: whitesmoke;
  border: none;
  display: block;
  height: 2px;
  margin: 1.5rem 0; }

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

input[type="checkbox"],
input[type="radio"] {
  vertical-align: baseline; }

small {
  font-size: 0.875em; }

span {
  font-style: inherit;
  font-weight: inherit; }

strong {
  color: #363636;
  font-weight: 700; }

fieldset {
  border: none; }

pre {
  -webkit-overflow-scrolling: touch;
  background-color: whitesmoke;
  color: var(--type);
  font-size: 0.875em;
  overflow-x: auto;
  padding: 1.25rem 1.5rem;
  white-space: pre;
  word-wrap: normal; }
  pre code {
    background-color: transparent;
    color: currentColor;
    font-size: 1em;
    padding: 0; }

table td,
table th {
  vertical-align: top; }
  table td:not([align]),
  table th:not([align]) {
    text-align: left; }

table th {
  color: #363636; }

.is-clearfix::after {
  clear: both;
  content: " ";
  display: table; }

.is-pulled-left {
  float: left !important; }

.is-pulled-right {
  float: right !important; }

.is-clipped {
  overflow: hidden !important; }

.is-size-1 {
  font-size: 3rem !important; }

.is-size-2 {
  font-size: 2.5rem !important; }

.is-size-3 {
  font-size: 2rem !important; }

.is-size-4 {
  font-size: 1.5rem !important; }

.is-size-5 {
  font-size: 1.25rem !important; }

.is-size-6 {
  font-size: 1rem !important; }

.is-size-7 {
  font-size: 0.75rem !important; }

@media screen and (max-width: 768px) {
  .is-size-1-mobile {
    font-size: 3rem !important; }
  .is-size-2-mobile {
    font-size: 2.5rem !important; }
  .is-size-3-mobile {
    font-size: 2rem !important; }
  .is-size-4-mobile {
    font-size: 1.5rem !important; }
  .is-size-5-mobile {
    font-size: 1.25rem !important; }
  .is-size-6-mobile {
    font-size: 1rem !important; }
  .is-size-7-mobile {
    font-size: 0.75rem !important; } }

@media screen and (min-width: 769px), print {
  .is-size-1-tablet {
    font-size: 3rem !important; }
  .is-size-2-tablet {
    font-size: 2.5rem !important; }
  .is-size-3-tablet {
    font-size: 2rem !important; }
  .is-size-4-tablet {
    font-size: 1.5rem !important; }
  .is-size-5-tablet {
    font-size: 1.25rem !important; }
  .is-size-6-tablet {
    font-size: 1rem !important; }
  .is-size-7-tablet {
    font-size: 0.75rem !important; } }

@media screen and (max-width: 1023px) {
  .is-size-1-touch {
    font-size: 3rem !important; }
  .is-size-2-touch {
    font-size: 2.5rem !important; }
  .is-size-3-touch {
    font-size: 2rem !important; }
  .is-size-4-touch {
    font-size: 1.5rem !important; }
  .is-size-5-touch {
    font-size: 1.25rem !important; }
  .is-size-6-touch {
    font-size: 1rem !important; }
  .is-size-7-touch {
    font-size: 0.75rem !important; } }

@media screen and (min-width: 1024px) {
  .is-size-1-desktop {
    font-size: 3rem !important; }
  .is-size-2-desktop {
    font-size: 2.5rem !important; }
  .is-size-3-desktop {
    font-size: 2rem !important; }
  .is-size-4-desktop {
    font-size: 1.5rem !important; }
  .is-size-5-desktop {
    font-size: 1.25rem !important; }
  .is-size-6-desktop {
    font-size: 1rem !important; }
  .is-size-7-desktop {
    font-size: 0.75rem !important; } }

@media screen and (min-width: 1216px) {
  .is-size-1-widescreen {
    font-size: 3rem !important; }
  .is-size-2-widescreen {
    font-size: 2.5rem !important; }
  .is-size-3-widescreen {
    font-size: 2rem !important; }
  .is-size-4-widescreen {
    font-size: 1.5rem !important; }
  .is-size-5-widescreen {
    font-size: 1.25rem !important; }
  .is-size-6-widescreen {
    font-size: 1rem !important; }
  .is-size-7-widescreen {
    font-size: 0.75rem !important; } }

@media screen and (min-width: 1408px) {
  .is-size-1-fullhd {
    font-size: 3rem !important; }
  .is-size-2-fullhd {
    font-size: 2.5rem !important; }
  .is-size-3-fullhd {
    font-size: 2rem !important; }
  .is-size-4-fullhd {
    font-size: 1.5rem !important; }
  .is-size-5-fullhd {
    font-size: 1.25rem !important; }
  .is-size-6-fullhd {
    font-size: 1rem !important; }
  .is-size-7-fullhd {
    font-size: 0.75rem !important; } }

.has-text-centered {
  text-align: center !important; }

.has-text-justified {
  text-align: justify !important; }

.has-text-left {
  text-align: left !important; }

.has-text-right {
  text-align: right !important; }

@media screen and (max-width: 768px) {
  .has-text-centered-mobile {
    text-align: center !important; } }

@media screen and (min-width: 769px), print {
  .has-text-centered-tablet {
    text-align: center !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-centered-tablet-only {
    text-align: center !important; } }

@media screen and (max-width: 1023px) {
  .has-text-centered-touch {
    text-align: center !important; } }

@media screen and (min-width: 1024px) {
  .has-text-centered-desktop {
    text-align: center !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-centered-desktop-only {
    text-align: center !important; } }

@media screen and (min-width: 1216px) {
  .has-text-centered-widescreen {
    text-align: center !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-centered-widescreen-only {
    text-align: center !important; } }

@media screen and (min-width: 1408px) {
  .has-text-centered-fullhd {
    text-align: center !important; } }

@media screen and (max-width: 768px) {
  .has-text-justified-mobile {
    text-align: justify !important; } }

@media screen and (min-width: 769px), print {
  .has-text-justified-tablet {
    text-align: justify !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-justified-tablet-only {
    text-align: justify !important; } }

@media screen and (max-width: 1023px) {
  .has-text-justified-touch {
    text-align: justify !important; } }

@media screen and (min-width: 1024px) {
  .has-text-justified-desktop {
    text-align: justify !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-justified-desktop-only {
    text-align: justify !important; } }

@media screen and (min-width: 1216px) {
  .has-text-justified-widescreen {
    text-align: justify !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-justified-widescreen-only {
    text-align: justify !important; } }

@media screen and (min-width: 1408px) {
  .has-text-justified-fullhd {
    text-align: justify !important; } }

@media screen and (max-width: 768px) {
  .has-text-left-mobile {
    text-align: left !important; } }

@media screen and (min-width: 769px), print {
  .has-text-left-tablet {
    text-align: left !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-left-tablet-only {
    text-align: left !important; } }

@media screen and (max-width: 1023px) {
  .has-text-left-touch {
    text-align: left !important; } }

@media screen and (min-width: 1024px) {
  .has-text-left-desktop {
    text-align: left !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-left-desktop-only {
    text-align: left !important; } }

@media screen and (min-width: 1216px) {
  .has-text-left-widescreen {
    text-align: left !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-left-widescreen-only {
    text-align: left !important; } }

@media screen and (min-width: 1408px) {
  .has-text-left-fullhd {
    text-align: left !important; } }

@media screen and (max-width: 768px) {
  .has-text-right-mobile {
    text-align: right !important; } }

@media screen and (min-width: 769px), print {
  .has-text-right-tablet {
    text-align: right !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-right-tablet-only {
    text-align: right !important; } }

@media screen and (max-width: 1023px) {
  .has-text-right-touch {
    text-align: right !important; } }

@media screen and (min-width: 1024px) {
  .has-text-right-desktop {
    text-align: right !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-right-desktop-only {
    text-align: right !important; } }

@media screen and (min-width: 1216px) {
  .has-text-right-widescreen {
    text-align: right !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-right-widescreen-only {
    text-align: right !important; } }

@media screen and (min-width: 1408px) {
  .has-text-right-fullhd {
    text-align: right !important; } }

.is-capitalized {
  text-transform: capitalize !important; }

.is-lowercase {
  text-transform: lowercase !important; }

.is-uppercase {
  text-transform: uppercase !important; }

.is-italic {
  font-style: italic !important; }

.has-text-white {
  color: white !important; }

a.has-text-white:hover, a.has-text-white:focus {
  color: #e6e6e6 !important; }

.has-background-white {
  background-color: white !important; }

.has-text-black {
  color: #0a0a0a !important; }

a.has-text-black:hover, a.has-text-black:focus {
  color: black !important; }

.has-background-black {
  background-color: #0a0a0a !important; }

.has-text-light {
  color: whitesmoke !important; }

a.has-text-light:hover, a.has-text-light:focus {
  color: #dbdbdb !important; }

.has-background-light {
  background-color: whitesmoke !important; }

.has-text-dark {
  color: #363636 !important; }

a.has-text-dark:hover, a.has-text-dark:focus {
  color: #1c1c1c !important; }

.has-background-dark {
  background-color: #363636 !important; }

.has-text-primary {
  color: #00d1b2 !important; }

a.has-text-primary:hover, a.has-text-primary:focus {
  color: #009e86 !important; }

.has-background-primary {
  background-color: #00d1b2 !important; }

.has-text-link {
  color: #3273dc !important; }

a.has-text-link:hover, a.has-text-link:focus {
  color: #205bbc !important; }

.has-background-link {
  background-color: #3273dc !important; }

.has-text-info {
  color: #3298dc !important; }

a.has-text-info:hover, a.has-text-info:focus {
  color: #207dbc !important; }

.has-background-info {
  background-color: #3298dc !important; }

.has-text-success {
  color: #48c774 !important; }

a.has-text-success:hover, a.has-text-success:focus {
  color: #34a85c !important; }

.has-background-success {
  background-color: #48c774 !important; }

.has-text-warning {
  color: #ffdd57 !important; }

a.has-text-warning:hover, a.has-text-warning:focus {
  color: #ffd324 !important; }

.has-background-warning {
  background-color: #ffdd57 !important; }

.has-text-danger {
  color: #f14668 !important; }

a.has-text-danger:hover, a.has-text-danger:focus {
  color: #ee1742 !important; }

.has-background-danger {
  background-color: #f14668 !important; }

.has-text-black-bis {
  color: #121212 !important; }

.has-background-black-bis {
  background-color: #121212 !important; }

.has-text-black-ter {
  color: #242424 !important; }

.has-background-black-ter {
  background-color: #242424 !important; }

.has-text-grey-darker {
  color: #363636 !important; }

.has-background-grey-darker {
  background-color: #363636 !important; }

.has-text-grey-dark {
  color: #4a4a4a !important; }

.has-background-grey-dark {
  background-color: #4a4a4a !important; }

.has-text-grey {
  color: #7a7a7a !important; }

.has-background-grey {
  background-color: #7a7a7a !important; }

.has-text-grey-light {
  color: #b5b5b5 !important; }

.has-background-grey-light {
  background-color: #b5b5b5 !important; }

.has-text-grey-lighter {
  color: #dbdbdb !important; }

.has-background-grey-lighter {
  background-color: #dbdbdb !important; }

.has-text-white-ter {
  color: whitesmoke !important; }

.has-background-white-ter {
  background-color: whitesmoke !important; }

.has-text-white-bis {
  color: #fafafa !important; }

.has-background-white-bis {
  background-color: #fafafa !important; }

.has-text-weight-light {
  font-weight: 300 !important; }

.has-text-weight-normal {
  font-weight: 400 !important; }

.has-text-weight-medium {
  font-weight: 500 !important; }

.has-text-weight-semibold {
  font-weight: 600 !important; }

.has-text-weight-bold {
  font-weight: 700 !important; }

.is-family-primary {
  font-family: "DT", "Avenir Next", "Avenir", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }

.is-family-secondary {
  font-family: "DT", "Avenir Next", "Avenir", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }

.is-family-sans-serif {
  font-family: "DT", "Avenir Next", "Avenir", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; }

.is-family-monospace {
  font-family: monospace !important; }

.is-family-code {
  font-family: monospace !important; }

.is-block {
  display: block !important; }

@media screen and (max-width: 768px) {
  .is-block-mobile {
    display: block !important; } }

@media screen and (min-width: 769px), print {
  .is-block-tablet {
    display: block !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-block-tablet-only {
    display: block !important; } }

@media screen and (max-width: 1023px) {
  .is-block-touch {
    display: block !important; } }

@media screen and (min-width: 1024px) {
  .is-block-desktop {
    display: block !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-block-desktop-only {
    display: block !important; } }

@media screen and (min-width: 1216px) {
  .is-block-widescreen {
    display: block !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-block-widescreen-only {
    display: block !important; } }

@media screen and (min-width: 1408px) {
  .is-block-fullhd {
    display: block !important; } }

.is-flex {
  display: flex !important; }

@media screen and (max-width: 768px) {
  .is-flex-mobile {
    display: flex !important; } }

@media screen and (min-width: 769px), print {
  .is-flex-tablet {
    display: flex !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-flex-tablet-only {
    display: flex !important; } }

@media screen and (max-width: 1023px) {
  .is-flex-touch {
    display: flex !important; } }

@media screen and (min-width: 1024px) {
  .is-flex-desktop {
    display: flex !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-flex-desktop-only {
    display: flex !important; } }

@media screen and (min-width: 1216px) {
  .is-flex-widescreen {
    display: flex !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-flex-widescreen-only {
    display: flex !important; } }

@media screen and (min-width: 1408px) {
  .is-flex-fullhd {
    display: flex !important; } }

.is-inline {
  display: inline !important; }

@media screen and (max-width: 768px) {
  .is-inline-mobile {
    display: inline !important; } }

@media screen and (min-width: 769px), print {
  .is-inline-tablet {
    display: inline !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-tablet-only {
    display: inline !important; } }

@media screen and (max-width: 1023px) {
  .is-inline-touch {
    display: inline !important; } }

@media screen and (min-width: 1024px) {
  .is-inline-desktop {
    display: inline !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-desktop-only {
    display: inline !important; } }

@media screen and (min-width: 1216px) {
  .is-inline-widescreen {
    display: inline !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-widescreen-only {
    display: inline !important; } }

@media screen and (min-width: 1408px) {
  .is-inline-fullhd {
    display: inline !important; } }

.is-inline-block {
  display: inline-block !important; }

@media screen and (max-width: 768px) {
  .is-inline-block-mobile {
    display: inline-block !important; } }

@media screen and (min-width: 769px), print {
  .is-inline-block-tablet {
    display: inline-block !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-block-tablet-only {
    display: inline-block !important; } }

@media screen and (max-width: 1023px) {
  .is-inline-block-touch {
    display: inline-block !important; } }

@media screen and (min-width: 1024px) {
  .is-inline-block-desktop {
    display: inline-block !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-block-desktop-only {
    display: inline-block !important; } }

@media screen and (min-width: 1216px) {
  .is-inline-block-widescreen {
    display: inline-block !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-block-widescreen-only {
    display: inline-block !important; } }

@media screen and (min-width: 1408px) {
  .is-inline-block-fullhd {
    display: inline-block !important; } }

.is-inline-flex {
  display: inline-flex !important; }

@media screen and (max-width: 768px) {
  .is-inline-flex-mobile {
    display: inline-flex !important; } }

@media screen and (min-width: 769px), print {
  .is-inline-flex-tablet {
    display: inline-flex !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-flex-tablet-only {
    display: inline-flex !important; } }

@media screen and (max-width: 1023px) {
  .is-inline-flex-touch {
    display: inline-flex !important; } }

@media screen and (min-width: 1024px) {
  .is-inline-flex-desktop {
    display: inline-flex !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-flex-desktop-only {
    display: inline-flex !important; } }

@media screen and (min-width: 1216px) {
  .is-inline-flex-widescreen {
    display: inline-flex !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-flex-widescreen-only {
    display: inline-flex !important; } }

@media screen and (min-width: 1408px) {
  .is-inline-flex-fullhd {
    display: inline-flex !important; } }

.is-hidden {
  display: none !important; }

.is-sr-only {
  border: none !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 0.01em !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 0.01em !important; }

@media screen and (max-width: 768px) {
  .is-hidden-mobile {
    display: none !important; } }

@media screen and (min-width: 769px), print {
  .is-hidden-tablet {
    display: none !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-hidden-tablet-only {
    display: none !important; } }

@media screen and (max-width: 1023px) {
  .is-hidden-touch {
    display: none !important; } }

@media screen and (min-width: 1024px) {
  .is-hidden-desktop {
    display: none !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-hidden-desktop-only {
    display: none !important; } }

@media screen and (min-width: 1216px) {
  .is-hidden-widescreen {
    display: none !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-hidden-widescreen-only {
    display: none !important; } }

@media screen and (min-width: 1408px) {
  .is-hidden-fullhd {
    display: none !important; } }

.is-invisible {
  visibility: hidden !important; }

@media screen and (max-width: 768px) {
  .is-invisible-mobile {
    visibility: hidden !important; } }

@media screen and (min-width: 769px), print {
  .is-invisible-tablet {
    visibility: hidden !important; } }

@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-invisible-tablet-only {
    visibility: hidden !important; } }

@media screen and (max-width: 1023px) {
  .is-invisible-touch {
    visibility: hidden !important; } }

@media screen and (min-width: 1024px) {
  .is-invisible-desktop {
    visibility: hidden !important; } }

@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-invisible-desktop-only {
    visibility: hidden !important; } }

@media screen and (min-width: 1216px) {
  .is-invisible-widescreen {
    visibility: hidden !important; } }

@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-invisible-widescreen-only {
    visibility: hidden !important; } }

@media screen and (min-width: 1408px) {
  .is-invisible-fullhd {
    visibility: hidden !important; } }

.is-marginless {
  margin: 0 !important; }

.is-paddingless {
  padding: 0 !important; }

.is-radiusless {
  border-radius: 0 !important; }

.is-shadowless {
  box-shadow: none !important; }

.is-relative {
  position: relative !important; }

:root {
  --h1-font-size: min(max(2.375rem, 4.5625vw), 73px);
  --h1-project-font-size: min(max(3rem, 4.5625vw), 73px);
  --h1-line-height: 4.75rem;
  --h1-letterspacing: -0.035em;
  --h3-font-size: 1.875rem;
  --h3-line-height: 2.25rem;
  --h3-letterspacing: -0.0185em;
  --footnote-font-size: 0.84375rem;
  --footnote-line-height: 1rem;
  --footnote-letterspacing: -0.005em; }

body {
  font-feature-settings: "ss09", "ss11", "ss12";
  letter-spacing: -0.003em;
  background-color: var(--body-background); }

h1 {
  font-size: var(--h1-font-size);
  line-height: var(--h1-line-height);
  letter-spacing: var(--h1-letterspacing); }

h3 {
  font-size: var(--h3-font-size);
  line-height: var(--h3-line-height);
  letter-spacing: var(--h3-letterspacing); }

small {
  font-size: var(--footnote-font-size);
  letter-spacing: var(--footnote-letterspacing);
  line-height: var(--footnote-line-height);
  font-feature-settings: 'ss11', 'ss09', 'ss04', 'ss12'; }

figcaption {
  font-feature-settings: 'ss11', 'ss09', 'ss04', 'ss12'; }

@media screen and (max-width: 480px) {
  body .petite_body {
    font-size: 1.09375rem; } }

.allcaps {
  font-feature-settings: "cpsp";
  letter-spacing: 0.001em; }

.mononum {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum"; }

.h1_optical_align {
  transform: translateX(-4px); }

.h3_quote_optical_align {
  transform: translateX(-0.75rem);
  padding-left: 0.75rem;
  text-indent: -0.75rem; }

.callout > .h3_quote_optical_align {
  transform: translateX(-0.5rem);
  padding-left: 0.5rem;
  text-indent: -0.5rem; }

@media screen and (max-width: 480px) {
  .callout > .h3_quote_optical_align {
    transform: translateX(-0.3125rem);
    padding-left: 0.3125rem;
    text-indent: -0.3125rem; } }

nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
  display: flex;
  justify-content: center;
  transform: translateX(0) translateY(0);
  transition-property: border-radius, background-color, backdrop-filter, -webkit-backdrop-filter, width, height, transform;
  transition-duration: 350ms;
  transition-timing-function: ease-in-out; }

.nav_backarrow {
  z-index: 5; }

.nav_menu,
.nav_contact {
  z-index: 4; }

nav.expanded {
  background-color: var(--nav-background-expanded);
  backdrop-filter: blur(25px) opacity(1);
  -webkit-backdrop-filter: blur(25px) opacity(1);
  height: 7.375rem;
  transition-type: height;
  transition-duration: 225ms;
  transition-timing-function: ease-in-out; }

@media screen and (max-width: 480px) {
  nav.expanded {
    height: 10.6875rem; } }

nav.collapsed {
  background-color: var(--nav-background-collapsed);
  backdrop-filter: blur(25px) opacity(1);
  -webkit-backdrop-filter: blur(25px) opacity(1);
  height: 2.5rem;
  transition-type: height;
  transition-duration: 225ms;
  transition-timing-function: ease-in-out; }

.nav_backarrow {
  position: fixed;
  top: 0;
  left: 0;
  transform: translateX(2rem) translateY(var(--nav-top-padding));
  mix-blend-mode: multiply;
  transition-type: font-size, line-height;
  transition-duration: var(--navbar-transition-duration);
  transition-timing-function: linear; }
  .nav_backarrow a {
    color: var(--type); }
  .nav_backarrow a:hover {
    color: var(--type-hover); }

nav.circled .nav_backarrow {
  transform: translateX(0.5rem) translateY(0.28125rem);
  font-size: 1.875rem;
  line-height: 2.25rem;
  text-align: center; }

nav.circled {
  background-color: white;
  backdrop-filter: blur(25px) opacity(1);
  -webkit-backdrop-filter: blur(25px) opacity(1);
  transform: translateX(2rem) translateY(4.375rem);
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 1.25rem;
  transition: 200ms; }

@media screen and (min-width: 627px) and (max-width: 1080px) {
  nav.circled {
    transform: translateX(2rem) translateY(3.875rem); } }

@media screen and (min-width: 481px) and (max-width: 626px) {
  nav.circled {
    top: 1.775rem;
    transform: translateX(2rem) translateY(1.775rem); } }

@media screen and (max-width: 480px) {
  nav.circled {
    transform: translateX(1.5rem) translateY(1rem); } }

@media screen and (max-width: 480px) {
  .nav_backarrow {
    transform: translateX(1.5rem) translateY(var(--nav-top-padding)); } }

.nav_menu {
  display: flex;
  justify-content: space-between;
  width: 46.5%;
  max-width: 744px;
  min-width: 560px;
  opacity: 1;
  transition-type: opacity;
  transition-duration: 75ms;
  transition-timing-function: linear; }

nav.circled .nav_menu {
  opacity: 0;
  pointer-events: none;
  transition-duration: 0ms; }

nav.collapsed .nav_menu {
  transition-delay: var(--navbar-transition-duration); }

@media screen and (min-width: 481px) and (max-width: 682px) {
  .nav_menu {
    width: 100%;
    padding-left: 3.8125rem;
    padding-right: 3.8125rem;
    max-width: unset;
    min-width: unset; } }

@media screen and (max-width: 480px) {
  .nav_menu {
    width: 100%;
    padding-left: 3.3125rem;
    padding-right: 1.5rem;
    max-width: unset;
    min-width: unset; } }

.nav_menu_items {
  margin-top: var(--nav-top-padding);
  margin-bottom: var(--nav-bottom-padding);
  width: 100%; }

.nav_menu_items:before {
  position: absolute;
  content: attr(data-project); }

.nav_menu_items > li {
  cursor: pointer; }

nav.expanded .nav_menu_items:before {
  opacity: 0;
  pointer-events: none;
  transition-type: opacity;
  transition-duration: 100ms;
  transition-timing-function: linear; }

nav.collapsed .nav_menu_items:before {
  opacity: 1;
  transition-type: opacity;
  transition-duration: 100ms;
  transition-timing-function: linear; }

nav.collapsed .nav_menu_items > li {
  opacity: 0;
  transition-type: opacity;
  transition-duration: 50ms;
  transition-timing-function: linear;
  transition-delay: 0ms; }

nav.collapsed .nav_menu_items {
  cursor: pointer; }

nav.collapsed .nav_menu_items > li:first-child {
  pointer-events: none; }

nav.expanded .nav_menu_items > li {
  pointer-events: all;
  transition-duration: 25ms;
  transition-timing-function: linear;
  transition-delay: 200ms; }

nav.collapsed .nav_menu_items > li:nth-child(n+2) {
  pointer-events: none; }

nav.expanded .nav_menu_items > li.current a,
nav.collapsed .nav_menu_items > li.current a {
  color: var(--type);
  transition: opacity 125ms linear; }

nav.expanded .nav_menu_items > li a,
nav.collapsed .nav_menu_items > li a {
  color: var(--type-hover);
  transition: opacity 125ms linear; }

nav.expanded .nav_menu_items > li a:hover,
nav.collapsed .nav_menu_items > li a:hover {
  color: var(--type);
  transition: opacity 125ms linear; }

@media screen and (max-width: 480px) {
  nav.expanded .nav_menu_items {
    margin-bottom: 0; }
  nav.expanded .nav_menu_items > li {
    padding-top: 0.5rem;
    padding-bottom: 0.5625rem;
    position: relative; }
  nav.expanded .nav_menu_items > li:after {
    width: 100%;
    height: 1px;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--main-rule);
    mix-blend-mode: overlay; }
  nav.expanded .nav_menu_items > li:first-child {
    padding-top: 0; }
  nav.expanded .nav_menu_items > li:last-child {
    border-bottom: none; }
  nav.expanded .nav_menu_items > li:last-child:after {
    display: none; } }

.nav_menu_chevron {
  width: 0.875rem;
  height: 2.5rem;
  display: block;
  background-color: var(--type);
  -webkit-mask-image: url("../assets/images/chevron.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("../assets/images/chevron.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  transform: rotate(0deg);
  transition-type: background-color, transform;
  transition-duration: 200ms; }

.nav_menu_chevron:hover {
  background-color: var(--type-hover);
  cursor: pointer;
  transition-type: background-color, transform;
  transition-duration: 200ms; }

nav.collapsed .nav_menu_chevron {
  transform: rotate(-180deg);
  transition-type: background-color, transform;
  transition-duration: 200ms; }

.nav_contact {
  position: absolute;
  top: var(--nav-top-padding);
  right: 2rem;
  mix-blend-mode: multiply; }
  .nav_contact li {
    pointer-events: auto;
    opacity: 1; }
  .nav_contact li a {
    color: var(--type); }

nav.circled .nav_contact {
  transition-duration: 0ms; }

nav.collapsed .nav_contact {
  transition-delay: var(--navbar-transition-duration);
  pointer-events: none; }

.nav_contact li a:hover {
  color: var(--type-hover); }

nav.circled .nav_contact {
  opacity: 0;
  pointer-events: none; }

.nav_contact:hover {
  cursor: pointer; }

.nav_contact:before {
  content: "Contact";
  position: absolute;
  opacity: 0;
  pointer-events: none; }

@media screen and (max-width: 799px) {
  .nav_contact {
    display: none; } }

nav.collapsed .nav_contact > li {
  opacity: 0;
  pointer-events: none;
  transition-type: opacity;
  transition-duration: 50ms;
  transition-timing-function: linear; }

nav.expanded .nav_contact > li {
  transition-type: opacity;
  transition-duration: 50ms;
  transition-timing-function: linear;
  transition-delay: 200ms;
  pointer-events: all; }

nav.collapsed .nav_contact > li:first-child {
  pointer-events: all; }

nav.collapsed .nav_contact li,
nav.collapsed .nav_contact li a {
  pointer-events: none; }

nav.collapsed .nav_contact:before {
  opacity: 1; }

nav.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-2.5rem);
  transition-type: transform;
  transition-duration: 100ms; }
  nav.hidden a {
    color: var(--type); }

nav.hidden .nav_menu,
nav.hidden .nav_contact li,
nav.hidden .nav_backarrow {
  pointer-events: none; }

.dimmer {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: var(--dimmer);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transition-type: opacity;
  transition-duration: 150ms; }

.dimmer.dimmed {
  opacity: 1;
  pointer-events: all;
  transition-type: opacity;
  transition-duration: 150ms; }

.dimmer.dimmed:hover {
  cursor: var(--cursor-image), auto; }

.menu {
  position: fixed;
  left: 2rem;
  bottom: 4.375rem;
  border-radius: 18px;
  z-index: 1;
  background-color: var(--header-controls-background);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  transition-type: height, width, max-height, max-width, box-shadow;
  transition-duration: 285ms;
  transition-timing-function: ease-in-out; }

.menu.expanded .menu_titlebar,
.menu.expanded .menu_items {
  transition-type: opacity;
  transition-duration: 100ms;
  transition-delay: 285ms;
  transition-timing-function: linear; }

.menu.collapsed .menu_titlebar,
.menu.collapsed .menu_items {
  transition-type: opacity;
  transition-duration: 25ms;
  transition-timing-function: linear; }

@media screen and (max-width: 480px) {
  .menu {
    left: 1rem;
    bottom: 2rem; } }

.menu.bodymenu {
  background-color: var(--body-controls-background); }

.menu.collapsed {
  max-height: 2.25rem;
  width: 5.75rem;
  min-width: 0;
  box-shadow: 0px 0px 11px rgba(0, 0, 0, 0); }

.menu.collapsed:hover {
  width: 7.125rem;
  cursor: pointer;
  box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.04); }

.menu.expanded {
  max-height: 33.5rem;
  min-width: 15rem;
  box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.04); }

.menu.hidden {
  opacity: 0;
  pointer-events: none; }

.menu_titlebar {
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing);
  width: 100%;
  position: relative; }

.menu_titlebar:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: var(--controls-rule);
  mix-blend-mode: multiply; }

.menu.collapsed .menu_titlebar:after {
  width: 0; }

.menu_title {
  display: block;
  padding-left: 1.25rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }

.menu_control {
  display: block;
  height: 1.125rem;
  width: 1.125rem;
  border-radius: 0.5625rem;
  border: 1px solid var(--type);
  text-align: center;
  position: absolute;
  right: 0.6875rem;
  top: 0.5625rem;
  transition-type: border-color, background-color;
  transition-duration: 75ms 75ms; }

.menu_control:hover {
  border: 0px;
  background-color: var(--type);
  color: var(--body-background);
  cursor: pointer;
  transition-type: border-color, background-color;
  transition-duration: 75ms 75ms; }

.menu.collapsed .menu_control {
  transform: rotate(180deg);
  opacity: 0;
  transition-type: opacity, transform;
  transition-duration: 100ms 100ms;
  transition-delay: 15ms 0ms; }

.menu.collapsed:hover .menu_control {
  opacity: 1;
  right: 1.0625rem;
  color: var(--body-background);
  background-color: var(--type);
  transition-type: opacity;
  transition-duration: 100ms;
  transition-delay: 285ms; }

.menu_expanded .menu_control {
  transform: rotate(0deg);
  opacity: 1;
  pointer-events: auto;
  transition-type: transform;
  transition-duration: 100ms;
  transition-delay: 0ms; }

.menu.collapsed .menu_items {
  pointer-events: none;
  opacity: 0; }

.menu_expanded .menu_items {
  pointer-events: auto;
  opacity: 1; }

.menu_items > li {
  padding-left: 1.25rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  position: relative;
  font-size: 1.0625rem;
  line-height: 1.375rem; }
  .menu_items > li a {
    color: var(--type); }
  .menu_items > li a:hover {
    opacity: 0.55; }

.menu_items > li:after {
  content: "";
  width: calc(100% - 1.25rem);
  position: absolute;
  bottom: 0;
  right: 0;
  height: 1px;
  background-color: var(--controls-rule);
  mix-blend-mode: multiply; }

.menu_items > li:last-child:after {
  display: none; }

.hero {
  width: 100%;
  height: 100vh;
  min-height: 50rem;
  max-height: 85rem;
  background-color: var(--header-background); }

.hero_content {
  width: 100%;
  height: 100%;
  padding-top: 3.5rem;
  padding-bottom: 4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between; }

.hero_content > h1 {
  width: 100%;
  padding-left: 26.75%;
  font-size: var(--h1-project-font-size); }

.hero_content h3 a {
  color: var(--type);
  display: inline-block;
  border-bottom: 1px solid var(--main-rule); }

.hero_content_bottom {
  display: flex;
  width: 100%;
  padding-left: 26.75%;
  padding-right: 5.75%;
  justify-content: space-between; }

.hero_content_bottom > .overview {
  max-width: 70rem;
  flex-shrink: 1; }

.hero_content_bottom > .side {
  width: 15rem;
  margin-left: 1.5rem;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0; }

@media screen and (min-width: 721px) and (max-width: 1080px) {
  .hero_content {
    padding-top: 3rem; }
  .hero_content > h1 {
    width: 35rem;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto; }
  .hero_content_bottom {
    max-width: 35rem;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
    flex-wrap: wrap; }
  .hero_content_bottom > .overview {
    max-width: 100%;
    flex-shrink: 0;
    margin-bottom: 2rem; }
  .hero_content_bottom > .side {
    width: 100%;
    margin-left: 0;
    height: auto;
    flex-direction: row; } }

@media screen and (min-width: 481px) and (max-width: 720px) {
  .hero_content {
    justify-content: flex-end; }
  .hero_content > h1 {
    padding-left: 5.75%;
    margin-bottom: 2rem; }
  .hero_content_bottom {
    flex-direction: column;
    padding-left: 5.75%; }
  .hero_content_bottom > .overview {
    margin-bottom: 2rem; }
  .hero_content_bottom > .side {
    width: 100%;
    flex-direction: row;
    margin-left: 0;
    justify-content: space-between; }
  .hero_content_bottom > .side > .time {
    margin-right: 1.5rem; }
  .hero_content_bottom > .side > .people {
    max-width: 15rem; } }

@media screen and (max-width: 480px) {
  .hero {
    height: auto; }
  .hero_content {
    padding-top: 1.3125rem; }
  .hero_block_title {
    margin-bottom: 0.5625rem; }
  .hero_content > h1 {
    font-size: var(--h3-font-size);
    line-height: var(--h3-line-height);
    letter-spacing: var(--h3-letterspacing);
    width: 100%;
    padding-left: 4.875rem;
    padding-right: 1.5rem;
    margin-bottom: 12rem; }
  .hero_content_bottom h3 {
    font-size: var(--body-font-size);
    line-height: var(--body-line-height);
    letter-spacing: 0px; }
  .hero_content_bottom {
    flex-direction: column;
    padding-right: 1.5rem;
    padding-left: 1.5rem; }
  .hero_content_bottom > .side {
    width: 100%;
    margin-left: 0; }
    .hero_content_bottom > .side div {
      margin-top: 2.5rem; } }

.hero_block_title {
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing);
  width: 100%;
  padding-bottom: 0.4375rem;
  border-bottom: 1px solid var(--main-rule);
  margin-bottom: 0.625rem; }

.hero_content_bottom .people {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 0.375rem; }

.hero_content_bottom .title,
.hero_content_bottom .name {
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing); }

.heroimage {
  width: 100%;
  text-align: center;
  height: auto;
  background-image: var(--heroimage-background); }

.main_container {
  width: 100%;
  pointer-events: all;
  overflow-x: hidden; }

.main_container section {
  margin-top: 11rem; }

.text_container {
  width: 46.5%;
  max-width: 744px;
  min-width: 560px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }

.main_container section a {
  border-bottom: 1px solid var(--main-rule);
  color: var(--type); }

.main_container section a:hover {
  color: var(--type-hover); }

@media screen and (min-width: 481px) and (max-width: 682px) {
  .text_container {
    padding-left: 3.8125rem;
    padding-right: 3.8125rem;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: unset;
    min-width: unset; } }

@media screen and (max-width: 480px) {
  .text_container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: unset;
    min-width: unset; } }

p.text_before {
  margin-top: 0.75rem; }

p.list_before {
  margin-top: 0.5rem; }

p.table_before {
  margin-top: 4rem; }

.section_title {
  margin-bottom: 1rem; }

.superior {
  font-feature-settings: "sups" 1, "ss09" 1;
  font-variant-position: super; }

.info_tag {
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing);
  padding: 4px 9px 4px 10px;
  width: fit-content;
  width: -moz-fit-content;
  margin-bottom: 0.4375rem;
  border: 1px solid var(--type);
  border-radius: 0.8125rem; }

.text_container > .info_tag {
  border: 1px solid var(--type);
  transform: translateX(-2px); }

picture > .info_tag {
  background-color: var(--type);
  color: var(--body-background); }

.text_container ul {
  margin-top: 0.375rem; }

.text_container li {
  margin-bottom: 0.1875rem; }

.text_container > ul > li {
  padding-left: 1rem;
  text-indent: -1rem; }

.text_container > ul > ul {
  margin-top: 0;
  margin-bottom: 0.1875rem; }

.text_container > ul > ul > li {
  padding-left: 2rem;
  text-indent: -1rem; }

.text_container > ul > li:before,
.text_container > ul > ul > li:before {
  content: "";
  display: inline-block;
  transform: translateY(-2px);
  height: 0.5625rem;
  width: 0.5625rem;
  margin-right: 7px;
  border-radius: 4.5px; }

.text_container > ul > li:before {
  background-color: var(--type); }

.text_container > ul > ul > li:before {
  border: 1px solid var(--type); }

.text_container li:last-child {
  margin-bottom: 0; }

.callout {
  margin-top: var(--media-smallgap);
  position: relative;
  z-index: 0;
  color: var(--body-background);
  padding-top: 0.875rem;
  padding-bottom: 1rem; }

.callout.quote {
  padding-top: 1.5rem;
  padding-bottom: 1.875rem; }

.callout:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  left: -1.8125rem;
  width: calc(100% + 3.625rem);
  height: 100%;
  border-radius: 1.5rem;
  background-color: var(--callout-background); }

@media screen and (max-width: 480px) {
  .callout {
    padding-right: 1.8125rem;
    padding-left: 1.8125rem; }
  .callout:before {
    width: 100%;
    left: 0; } }

.callout > footnote {
  padding-bottom: 0.625rem;
  width: 100%;
  display: block;
  position: relative;
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing); }

.callout.quote > footnote {
  padding-bottom: 0;
  padding-top: 0.25rem; }

.callout > footnote:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  height: 1px;
  left: 0;
  width: calc(100% + 1.8125rem);
  background-color: var(--body-background);
  opacity: 0.5; }

.callout.quote > footnote:after {
  display: none; }

.callout h3 {
  padding-top: 0.75rem;
  margin-bottom: 0; }

.callout.quote h3 {
  padding-top: 0; }

@media screen and (max-width: 480px) {
  .callout h3 {
    font-size: var(--body-font-size);
    line-height: var(--body-line-height);
    letter-spacing: 0; } }

.text_container table {
  width: 100%; }

.text_container table th {
  text-align: left;
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing);
  color: var(--text);
  font-weight: normal;
  padding-bottom: 0.4375rem; }

.text_container table th,
.text_container table td {
  padding-right: 0.5rem;
  border-bottom: 1px solid var(--main-rule); }

.text_container table th:last-child,
.text_container table td:last-child {
  padding-right: 0; }

.text_container table td {
  padding-top: 0.875rem;
  padding-bottom: 1rem; }

.text_container table.vertically_centered td {
  vertical-align: middle; }

.text_container table tr:last-child td {
  padding-bottom: 0;
  border-bottom: none; }

.table_visibility_toggle {
  display: flex;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--main-rule); }

.table_visibility_toggle > small {
  display: block;
  padding: 0.25rem 0.625rem 0.25rem 0.625rem;
  border-radius: 0.75rem;
  background-color: rgba(255, 255, 255, 0);
  transform: translateX(-2px);
  transition: all 175ms linear; }

.table_visibility_toggle > small:hover {
  color: var(--type-hover);
  cursor: pointer; }

.table_visibility_toggle > small.active {
  background-color: var(--body-controls-background); }

.table .invisible {
  display: none; }

.table .invisible.bottom_border_only {
  display: table-cell;
  border-bottom: none; }

.biggap {
  margin-top: var(--media-biggap);
  margin-bottom: var(--media-biggap); }

.smallgap {
  margin-top: var(--media-smallgap);
  margin-bottom: var(--media-smallgap); }

.bg_color {
  background-color: var(--media-background); }

.top_padding {
  padding-top: 3.5rem; }

.bottom_padding {
  padding-bottom: 4rem; }

.media_container.narrow,
.media_container picture.narrow img {
  width: 46.5%;
  max-width: 744px;
  min-width: 560px;
  margin-left: auto;
  margin-right: auto; }

.media_container video {
  width: 100%;
  display: block; }

.media_container figcaption {
  font-size: var(--footnote-font-size);
  letter-spacing: var(--footnote-letterspacing);
  line-height: var(--footnote-line-height);
  margin-top: 0.5rem;
  margin-bottom: 0;
  width: 46.5%;
  max-width: 744px;
  min-width: 560px;
  margin-left: auto;
  margin-right: auto;
  display: flex; }

.media_container figcaption.center {
  display: block;
  text-align: center;
  min-width: unset; }

.media_container figcaption:after {
  content: "";
  height: 1rem;
  width: calc(100% - 504px);
  display: block; }

.media_container figcaption.center:after {
  display: none; }

.media_container.two_up figcaption.center,
.media_container.three_up figcaption.center {
  width: 100%;
  padding-right: 3.5rem;
  padding-left: 3.5rem; }

@media screen and (max-width: 480px) {
  .media_container.two_up figcaption.center,
  .media_container.three_up figcaption.center {
    padding-right: 1.5rem;
    padding-left: 1.5rem; } }

.media_container.narrow figcaption {
  width: 100%;
  margin-left: 0;
  margin-right: 0; }

@media screen and (min-width: 481px) and (max-width: 682px) {
  .media_container figcaption,
  .media_container.narrow,
  .media_container picture.narrow img {
    padding-left: 3.8125rem;
    padding-right: 3.8125rem;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: unset;
    min-width: unset; } }

@media screen and (max-width: 480px) {
  .media_container figcaption,
  .media_container.narrow,
  .media_container picture.narrow img {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    max-width: unset;
    min-width: unset; } }

.media_container picture {
  text-align: center;
  display: block;
  margin-top: 4.5rem; }
  .media_container picture img {
    vertical-align: middle; }

.media_container video {
  margin-top: 4.5rem; }

.media_container picture:first-child,
.media_container video:first-child {
  margin-top: 0; }

.media_container picture.bottom_border {
  border-bottom: 1px solid var(--main-rule); }

.media_container picture.horizontal_scroll {
  max-width: 100%;
  overflow-x: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.media_container picture.horizontal_scroll::-webkit-scrollbar {
  width: 0;
  height: 0; }

.media_container.two_up,
.media_container.three_up {
  display: flex;
  flex-wrap: wrap; }

.media_container.two_up > picture,
.media_container.three_up > picture,
.media_container.two_up > div,
.media_container.three_up > div {
  margin-top: 0; }
  .media_container.two_up > picture img,
  .media_container.three_up > picture img,
  .media_container.two_up > div img,
  .media_container.three_up > div img {
    width: calc(100% - 7rem);
    max-width: 43rem; }

.media_container.two_up > picture,
.media_container.two_up > div {
  width: 50%; }

.media_container.three_up > picture,
.media_container.three_up > div {
  width: 33.3333333%; }

.media_container.two_up picture,
.media_container.three_up picture {
  border-right: 1px solid var(--controls-rule); }

.media_container.two_up picture:last-child,
.media_container.three_up picture:last-child {
  border-right: none; }

@media screen and (max-width: 720px) {
  .media_container.two_up > picture,
  .media_container.two_up > div,
  .media_container.three_up > picture,
  .media_container.three_up > div {
    width: 100%;
    border-bottom: 1px solid var(--controls-rule);
    border-right: none; }
  .media_container.two_up > picture:last-child,
  .media_container.two_up > div:last-child,
  .media_container.three_up > picture:last-child,
  .media_container.three_up > div:last-child {
    border-bottom: none; }
  .media_container.two_up.individual_figcaption > picture,
  .media_container.three_up.individual_figcaption > picture,
  .media_container.two_up.individual_figcaption > div,
  .media_container.three_up.individual_figcaption > div {
    border-bottom: none;
    margin-bottom: 2rem; }
  .media_container.two_up.individual_figcaption > picture:last-child,
  .media_container.three_up.individual_figcaption > picture:last-child,
  .media_container.two_up.individual_figcaption > div:last-child,
  .media_container.three_up.individual_figcaption > div:last-child {
    margin-bottom: 0; } }

picture.tagged {
  padding-top: 1.375rem; }

.bordered {
  border: 1px solid var(--type-hover); }

picture.tagged .info_tag {
  margin-bottom: 2.125rem;
  margin-right: auto;
  margin-left: auto; }

@media screen and (max-width: 768px) {
  picture.tagged {
    padding-top: 2.125rem; } }

.phone_annotated_container {
  width: 100%; }

.phone_annotated {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  min-width: 560px;
  display: flex;
  align-items: center; }

@media screen and (max-width: 626px) {
  .phone_annotated {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 2rem;
    padding-right: 2rem;
    min-width: unset;
    max-width: unset; } }

@media screen and (max-width: 560px) {
  .phone_annotated {
    padding-left: 2rem;
    padding-right: 2rem;
    flex-direction: column; } }

.phone {
  max-width: 20rem;
  flex-grow: 0;
  position: relative;
  margin-right: 3rem; }

@media screen and (max-width: 560px) {
  .phone {
    max-width: unset;
    margin-right: 0;
    width: 100%; } }

.phone img {
  width: 100%; }

.phone picture.phone_annotated_overlay {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-top: 0;
  opacity: 0;
  transition: opacity 75ms linear; }

.phone picture.phone_annotated_overlay:hover {
  opacity: 1; }

@media screen and (max-width: 560px) {
  .phone picture.phone_annotated_overlay {
    opacity: 1; } }

.phone picture.phone_annotated_overlay img {
  width: 100%; }

.annotation {
  flex-grow: 1;
  min-width: 17.5rem;
  max-width: 25.375rem;
  display: flex;
  flex-direction: column;
  justify-content: center; }

@media screen and (max-width: 560px) {
  .annotation {
    min-width: unset;
    width: 100%; } }

.annotation_title {
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing);
  width: 100%;
  display: block;
  padding-bottom: 0.4375rem;
  border-bottom: 1px solid var(--main-rule); }

.annotation_list {
  margin-top: 0.75rem;
  list-style: none;
  counter-reset: annotation-counter; }

@media screen and (max-width: 480px) {
  .annotation_title {
    display: none; }
  .annotation_list {
    padding-top: 0.5rem;
    border-top: 1px solid var(--main-rule); } }

.annotation_list li {
  margin-bottom: 0.5rem;
  counter-increment: annotation-counter;
  padding-left: 1.875rem;
  text-indent: -1.875rem;
  transform: translateX(-1px); }

.annotation_list li:before {
  content: counter(annotation-counter);
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing);
  min-width: 1.375rem;
  width: 1.375rem;
  height: 1.375rem;
  padding-top: 3px;
  padding-left: 1px;
  text-indent: 0;
  transform: translateY(-3px);
  border-radius: 0.6875rem;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  border: 1.25px solid var(--type-hover);
  color: var(--type);
  margin-right: 0.5rem;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum", "ss09", "ss11", "ss12"; }

.annotation_list li:nth-child(n+10):before {
  font-variant-numeric: proportional-nums;
  font-feature-settings: "ss09", "ss11", "ss12"; }

.annotation_list li:last-child {
  margin-bottom: 0; }

.side_annotated_container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 100rem;
  margin-bottom: 2.5rem; }

@media screen and (max-width: 682px) {
  .side_annotated_container {
    width: 100%;
    max-width: 100%;
    min-width: unset;
    padding-right: 3.8125rem;
    padding-left: 3.8125rem; } }

@media screen and (max-width: 480px) {
  .side_annotated_container {
    padding-right: 1.5rem;
    padding-left: 1.5rem; } }

.side_annotation {
  position: absolute;
  top: 0;
  left: 2rem;
  width: calc((100% - 46.5%) / 2 - 2rem - 1.5rem);
  border-top: 1px solid var(--type-hover);
  transform: translateY(1px); }

.side_annotation.picture_enlarged {
  position: relative;
  top: unset;
  left: unset;
  width: 46.5%;
  max-width: 744px;
  min-width: 560px;
  border-top: none;
  transform: translateY(0);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: flex-start;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }
  .side_annotation.picture_enlarged .info_tag {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 1rem;
    color: var(--type);
    background-color: var(--body-background); }

@media screen and (max-width: 1204px) {
  .side_annotation {
    position: relative;
    top: unset;
    left: unset;
    width: 46.5%;
    max-width: 744px;
    min-width: 560px;
    border-top: none;
    transform: translateY(0);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: flex-start;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; } }

.side_annotation .info_tag {
  background-color: var(--type);
  color: var(--body-background);
  margin-top: 1rem;
  margin-bottom: 0.75rem; }

@media screen and (max-width: 1204px) {
  .side_annotation .info_tag {
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 1rem;
    color: var(--type);
    background-color: var(--body-background); } }

.side_annotation small {
  display: block; }

.side_annotated_container picture {
  position: relative;
  width: 46.5%;
  max-width: 744px;
  min-width: 560px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  transition-type: width;
  transition-duration: 275ms;
  transition-timing-function: ease-in-out; }

@media screen and (max-width: 682px) {
  .side_annotation,
  .side_annotated_container picture,
  .side_annotation.picture_enlarged {
    max-width: unset;
    min-width: unset;
    width: 100%; } }

.side_annotated_container picture.enlarged {
  width: 100%;
  max-width: 100%;
  transition-type: width;
  transition-duration: 275ms;
  transition-timing-function: ease-in-out; }

.side_annotated_container picture > button.main_button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--body-background);
  opacity: 0;
  transition-type: width;
  transition-duration: 50ms; }

@media screen and (max-width: 480px) {
  .side_annotated_container picture > button.main_button {
    display: none; } }

.side_annotated_container picture.enlarged > button.main_button {
  opacity: 0; }

.side_annotated_container picture > button.main_button:hover {
  box-shadow: 0px 0px 11px rgba(0, 0, 0, 0); }

.side_annotated_container picture:hover > button.main_button {
  opacity: 1;
  transition-type: box-shadow;
  transition-duration: 50ms; }

.side_annotated_container picture:hover > button.main_button:hover {
  box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.04);
  transition-type: box-shadow;
  transition-duration: 50ms; }

.media_container .persona {
  margin-bottom: 1.5rem; }

.media_container .persona:last-child {
  margin-bottom: 0; }

.persona {
  position: relative;
  z-index: 0;
  width: 100%; }

.persona:before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% + 3.625rem);
  height: 100%;
  top: 0;
  left: -1.8125rem;
  z-index: -1;
  border: 1px solid var(--type-hover);
  border-radius: 1.5rem; }

.persona_title {
  display: block;
  width: 100%;
  padding-top: 0.875rem;
  padding-bottom: 0.625rem;
  position: relative; }

.persona_title:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% + 1.8125rem);
  height: 1px;
  background-color: var(--type-hover); }

.persona_content {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center; }

.persona_text {
  margin-right: 0.75rem;
  padding-top: 1.125rem;
  padding-bottom: 1.3125rem; }

.persona_name {
  margin-bottom: 0.375rem;
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing); }

.persona_traits li {
  margin-bottom: 0.1875rem;
  padding-left: 0.75rem;
  text-indent: -0.75rem;
  transform: translateX(-0.75rem); }

.persona_traits li:before {
  content: "";
  height: 0.375rem;
  width: 0.375rem;
  display: inline-block;
  border: 1px solid var(--type);
  margin-right: 0.375rem;
  vertical-align: middle;
  transform: translateY(-1px);
  border-radius: 0.1875rem; }

.persona_traits li:last-child {
  margin-bottom: 0; }

picture.persona_image {
  width: 6rem;
  height: 6rem;
  min-width: 5.5rem;
  min-height: 5.5rem;
  margin-top: 0; }

picture.persona_image img {
  border-radius: 3rem; }

@media screen and (max-width: 480px) {
  .persona {
    padding-right: 1.8125rem;
    padding-left: 1.8125rem; }
  .persona:before {
    width: 100%;
    left: 0; }
  .persona_content {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column; }
  .persona_text {
    order: 1;
    margin-right: 0;
    padding-top: 2.75rem; }
  picture.persona_image {
    order: 0;
    width: 5.5rem;
    height: 5.5rem;
    margin-top: 1.1875rem;
    transform: translateX(-2px); } }

.info_card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 1.25rem;
  padding-bottom: 1.5rem;
  min-height: 17.5rem;
  justify-content: space-between;
  z-index: 0;
  margin-bottom: 1.5rem; }

.info_card:after {
  content: "";
  position: absolute;
  top: 0;
  left: -1.8125rem;
  display: block;
  background-color: var(--block-background);
  border-radius: 1.5rem;
  height: 100%;
  width: calc(100% + 3.625rem);
  z-index: -1; }

.info_card_title {
  padding-bottom: 1.75rem; }

picture.info_card_graphic {
  margin-top: 0;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  max-width: 15.9375rem; }

@media screen and (max-width: 682px) {
  picture.info_card_graphic {
    max-width: calc(100% - 50.1785% - 1.5rem); } }

.info_card_block {
  width: 50.1785%;
  margin-bottom: 0.75rem; }

.info_card_body > .info_card_block:last-child {
  margin-bottom: 0; }

.info_card_title, .info_card_block {
  max-width: 22.25rem; }

@media screen and (max-width: 560px) {
  .info_card {
    padding-top: 1.125rem;
    padding-bottom: 1.625rem;
    padding-left: 1.8125rem;
    padding-right: 1.8125rem;
    justify-content: flex-start; }
  .info_card:after {
    left: 0;
    width: 100%; }
  .info_card_title {
    padding-bottom: 2rem; }
  picture.info_card_graphic {
    position: relative;
    top: unset;
    right: unset;
    transform: translateY(0);
    max-width: unset; }
  .info_card_body {
    margin-top: 2.125rem; }
  .info_card_block {
    width: 100%;
    margin-bottom: 1.0625rem; }
  .info_card_title, .info_card_block {
    max-width: 100%; } }

@media screen and (max-width: 480px) {
  .info_card {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }

.main_button {
  padding-top: 1.1875rem;
  padding-bottom: 1.25rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-size: var(--body-font-size);
  line-height: var(--body-line-height);
  color: var(--type);
  background-color: var(--body-controls-background);
  border-radius: 2rem;
  display: flex;
  border: none;
  margin-left: auto;
  margin-right: auto; }

.main_button:hover {
  cursor: pointer;
  background-color: var(--body-controls-background-hover);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px); }

.main_button:focus {
  outline: 0;
  border: 1px solid var(--type-hover); }

.main_button .icon {
  width: var(--button-icon-size);
  height: var(--button-icon-size);
  background-color: var(--type);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  mask-position: center;
  margin-right: 0.5625rem;
  transform: translateY(0.5px); }

.icon.plus {
  -webkit-mask-image: url("../assets/images/plus.svg");
  mask-image: url("../assets/images/plus.svg"); }

.main_button:hover .icon.plus {
  -webkit-mask-image: url("../assets/images/plus_filled.svg");
  mask-image: url("../assets/images/plus_filled.svg"); }

.icon.minus {
  -webkit-mask-image: url("../assets/images/minus.svg");
  mask-image: url("../assets/images/minus.svg"); }

.main_button:hover .icon.minus {
  -webkit-mask-image: url("../assets/images/minus_filled.svg");
  mask-image: url("../assets/images/minus_filled.svg"); }

.main_button .icon,
.main_button p {
  pointer-events: none; }

.next_project_container {
  width: 100%;
  margin-top: 18.75rem;
  margin-bottom: 4.375rem; }

.next_project {
  width: 46.5%;
  max-width: 740px;
  min-width: 560px;
  margin-left: auto;
  margin-right: auto;
  padding: 0.625rem 1.5rem 0.625rem 1.5rem;
  background-color: var(--body-controls-background);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  border-radius: 1.125rem;
  display: flex;
  justify-content: space-between;
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing);
  color: var(--type);
  box-shadow: 0px 0px 11px rgba(0, 0, 0, 0);
  transition-type: background-color, color, box-shadow;
  transition-duration: 50ms 50ms 50ms; }

.next_project:hover {
  background-color: var(--body-controls-background-hover);
  box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.04);
  transition-type: background-color, color, box-shadow;
  transition-duration: 50ms 50ms 50ms; }

.next_project a {
  color: var(--type); }

.next_project a:hover {
  color: var(--type-hover); }

.next_project small.secondary {
  color: var(--type-hover); }

@media screen and (max-width: 682px) {
  .next_project_container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-top: 13rem; }
  .next_project {
    max-width: unset;
    min-width: unset;
    width: 100%; } }

@media screen and (max-width: 480px) {
  .next_project_container {
    margin-bottom: 1.25rem; }
  .next_project small:last-child {
    display: none; } }

.gallery_container {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  z-index: 5;
  background-color: var(--dimmer);
  backdrop-filter: blur(25px) opacity(1);
  -webkit-backdrop-filter: blur(25px) opacity(1);
  pointer-events: all;
  transition-type: background-color, backdrop-filter, -webkit-backdrop-filter;
  transition-duration: 150ms; }

.gallery_container:hover {
  cursor: var(--cursor-image), auto; }

.gallery_container.hidden {
  background-color: rgba(22, 15, 45, 0);
  backdrop-filter: blur(25px) opacity(0);
  -webkit-backdrop-filter: blur(25px) opacity(0);
  pointer-events: none;
  transition-type: background-color, backdrop-filter, -webkit-backdrop-filter;
  transition-duration: 250ms;
  transition-delay: 285ms; }

.gallery_body {
  margin-top: 3rem;
  border-radius: 2.5rem 2.5rem 0 0;
  background: var(--gallery-background);
  background-blend-mode: lighten;
  width: 100%;
  height: calc(100% - 3rem);
  max-width: 100rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 3.75rem;
  padding-right: 3.75rem;
  padding-top: 1.75rem;
  transform: translateY(0);
  opacity: 1;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
  transition-type: transform, opacity;
  transition-duration: 400ms;
  transition-timing-function: ease-in-out;
  transition-delay: 100ms; }

@media screen and (max-width: 480px) {
  .gallery_container {
    padding-left: 1rem;
    padding-right: 1rem; }
  .gallery_body {
    margin-top: 1rem;
    height: calc(100% - 1rem); } }

.gallery_body::-webkit-scrollbar {
  width: 0;
  height: 0; }

.gallery_body:hover {
  cursor: default; }

.gallery_container.hidden .gallery_body {
  transform: translateY(100%);
  opacity: 0;
  transition-type: transform, opacity;
  transition-duration: 400ms;
  transition-timing-function: ease-in-out; }

@media screen and (max-width: 800px) {
  .gallery_body {
    margin-top: 2.5rem;
    height: calc(100% - 2.5rem);
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    padding-top: 1.625rem; } }

@media screen and (max-width: 480px) {
  .gallery_body {
    border-radius: 1.5rem 1.5rem 0 0;
    padding-top: 0.8rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }

.gallery_header {
  width: 100%;
  display: flex;
  justify-content: space-between; }

.gallery_header_text {
  flex-grow: 1; }

h6.gallery_subhead {
  font-size: var(--footnote-font-size);
  letter-spacing: var(--footnote-letterspacing);
  line-height: var(--footnote-line-height);
  margin-bottom: 0.25rem; }

@media screen and (max-width: 480px) {
  h6.gallery_subhead {
    margin-bottom: 0; }
  .gallery_header_text h3 {
    font-size: var(--body-font-size);
    line-height: var(--body-line-height);
    letter-spacing: -0.0025em; } }

.gallery_header_control {
  padding-top: 5.75px; }

.gallery_header_control .icon {
  width: var(--button-icon-size);
  height: var(--button-icon-size);
  background-color: var(--type);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  mask-position: center;
  transform: translateX(12px) rotate(45deg);
  border: none; }

@media screen and (max-width: 480px) {
  .gallery_header_control {
    padding-top: 3px; }
  .gallery_header_control .icon {
    transform: translateX(6px) rotate(45deg); } }

.gallery_header_control .icon:hover {
  cursor: pointer; }

.icon.close {
  -webkit-mask-image: url("../assets/images/plus.svg");
  mask-image: url("../assets/images/plus.svg"); }

.icon.close:hover {
  -webkit-mask-image: url("../assets/images/plus_filled.svg");
  mask-image: url("../assets/images/plus_filled.svg"); }

.gallery_content {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5rem;
  width: 100%;
  padding-bottom: 3rem; }

@media screen and (max-width: 800px) {
  .gallery_content {
    margin-top: 3.5rem; } }

.gallery_content picture {
  width: calc((100% - 1.875rem) / 2);
  margin-right: 1.875rem;
  margin-bottom: 3rem; }

.gallery_content.three_up picture {
  width: calc((100% - 3.75rem) / 3); }

.gallery_content picture:nth-child(even) {
  margin-right: 0; }

.gallery_content.three_up picture:nth-child(even) {
  margin-right: 1.875rem; }

.gallery_content.three_up picture:nth-child(3n) {
  margin-right: 0; }

.gallery_content picture:nth-last-child(-n+2) {
  margin-bottom: 0; }

.gallery_content.three_up picture:nth-last-child(-n+3) {
  margin-bottom: 0; }

@media screen and (max-width: 640px) {
  .gallery_content picture,
  .gallery_content.three_up picture {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2.5rem; }
  .gallery_content picture:nth-last-child(2) {
    margin-bottom: 2.5rem; }
  .gallery_content.three_up picture:nth-last-child(-n+3) {
    margin-bottom: 2.5rem; } }

.gallery_content picture img {
  border-radius: 2px; }

.gallery_content figcaption {
  font-size: var(--footnote-font-size);
  letter-spacing: var(--footnote-letterspacing);
  line-height: var(--footnote-line-height);
  margin-top: 0.25rem; }

@media screen and (max-width: 800px) {
  .gallery_content figcaption {
    margin-top: 0.125rem; } }

.hero.frozen,
.heroimage.frozen,
.main_container.frozen {
  overflow: hidden; }

.carousel .slider-navigation-previous,
.carousel .slider-navigation-next {
  background-color: none;
  background-size: contain;
  border-radius: 2.25rem;
  border: none;
  box-shadow: none;
  width: 4.5vw;
  height: 4.5vw;
  min-width: 3.25rem;
  max-width: 4.5rem;
  min-height: 3.25rem;
  max-height: 4.5rem;
  display: block; }
  .carousel .slider-navigation-previous svg,
  .carousel .slider-navigation-next svg {
    display: none; }

.carousel .slider-navigation-previous:hover,
.carousel .slider-navigation-next:hover {
  transform: none; }

.carousel .slider-navigation-previous {
  background-image: var(--carousel-left-image);
  margin-left: 3rem; }

.carousel .slider-navigation-next {
  background-image: var(--carousel-right-image);
  margin-right: 3rem; }

@media screen and (min-width: 481px) and (max-width: 768px) {
  .carousel .slider {
    width: 100vw; }
  .carousel .slider-container {
    width: 100% !important;
    max-width: 100% !important; }
  .carousel .slider-item {
    width: 50% !important;
    margin-right: 2rem; }
  .carousel .slider-item:last-child {
    margin-right: 0rem; }
  .carousel picture {
    width: 100% !important; }
  .carousel picture img {
    width: 100% !important; } }

body.index {
  scroll-behavior: smooth; }

body.index:before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  position: fixed;
  background-color: #F1F3F4;
  z-index: -1; }

.index_container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  max-width: 100rem; }

.index_container h1 {
  line-height: 1.0411;
  margin-top: 1.0125ex; }

.index_top {
  width: 100%;
  margin-bottom: 24rem;
  display: flex;
  justify-content: space-between; }

.index_top_left {
  flex-shrink: 0;
  margin-right: 2.5rem;
  position: relative; }

.index_top_right_wrapper {
  display: inline-block; }

.index_top_right {
  position: relative; }

.index_top_right h1 {
  width: fit-content;
  width: -moz-fit-content; }

.index_cards_right,
.index_cards_left {
  display: flex;
  align-items: flex-start;
  width: 100%;
  position: absolute;
  top: calc(100% + 2rem);
  left: 0; }

#index_contact_right {
  display: none; }

.index_block {
  background-color: #FFFFFF;
  border-radius: 1.4375rem;
  padding: 0.875rem 0 1rem 1.8125rem; }

.index_block_title {
  color: rgba(0, 0, 0, 0.5);
  padding-bottom: 0.625rem;
  margin-bottom: 0.875rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  display: block; }

.index_block a {
  color: #0a0a0a; }

.index_block a:hover {
  opacity: 0.5; }

.index_block p {
  padding-right: 1.75rem; }

#index_contact {
  min-width: 15rem; }

#index_about {
  margin-right: 1.5rem;
  position: relative; }

#index_about:after {
  content: "*Available immediately for full-time opportunities";
  display: block;
  position: absolute;
  width: 100%;
  padding-left: calc(1.8125rem + 2px);
  padding-right: 1.8125rem;
  text-indent: -4px;
  bottom: -0.5rem;
  transform: translateY(100%);
  left: 0;
  font-size: var(--footnote-font-size);
  line-height: var(--footnote-line-height);
  letter-spacing: var(--footnote-letterspacing);
  color: rgba(0, 0, 0, 0.55); }

#index_toolkit {
  min-width: 16.9375rem; }

@media screen and (max-width: 1120px) {
  .index_top {
    margin-bottom: 4.5rem; }
  .index_cards_left,
  .index_cards_right {
    position: initial;
    left: unset;
    bottom: unset;
    transform: translateY(0); }
  .index_cards_left {
    display: none; }
  .index_cards_right {
    flex-wrap: wrap;
    margin-top: 1.5rem;
    align-content: stretch; }
  #index_contact_right {
    display: block;
    order: 1;
    margin-right: 1.5rem;
    flex-grow: 1; }
  #index_toolkit {
    order: 2;
    width: 50%;
    flex-shrink: 0; }
  #index_about {
    order: 3;
    width: 100%;
    margin-right: 0;
    margin-top: 1.5rem; } }

@media screen and (max-width: 1120px) {
  .index_container {
    padding-left: 4rem;
    padding-right: 4rem; }
  .index_top {
    flex-direction: column;
    flex-wrap: wrap; }
  .index_top_left,
  .index_top_right {
    width: 100%; }
  .index_top_right h1 {
    margin-top: 0.10625ex; } }

@media screen and (max-width: 560px) {
  .index_container {
    padding-left: 1.5rem;
    padding-right: 1.5rem; }
  .index_block {
    padding-left: 1.5rem; }
  #index_contact_right,
  #index_toolkit {
    width: 100%;
    margin-right: 0; }
  #index_toolkit {
    margin-top: 1.5rem; } }

.index_project_card {
  width: 100%;
  background-color: var(--header-background);
  color: var(--type);
  padding: calc(1.5rem - 1px) 2.5rem calc(1.5rem - 1px) 1.5rem;
  border-radius: 1.875rem;
  display: flex;
  justify-content: space-between;
  height: 32.5vw;
  max-height: 31rem;
  min-height: 24rem;
  align-items: stretch;
  margin-top: 1.25rem;
  margin-bottom: -20.5vmin;
  transform: translateY(0);
  box-shadow: var(--index-project-card-shadow);
  transition-type: margin-left, width, transform;
  transition-duration: 85ms, 85ms, 100ms;
  transition-timing-function: ease-in-out; }

.index_project_card.hovered {
  transform: translateY(20.5vmin);
  transition-type: margin-left, width, transform;
  transition-duration: 85ms, 85ms, 100ms;
  transition-timing-function: ease-in-out; }

.index_project_card:hover {
  color: var(--type);
  margin-left: -1.8125rem;
  width: calc(100% + 3.625rem); }

.index_project_card:first-child {
  margin-top: 0; }

.index_project_card:last-child {
  margin-bottom: 5.875rem; }

.index_project_card:nth-child(n+1) {
  position: relative; }

.index_project_image {
  flex-grow: 1;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-color: var(--block-background);
  border-radius: 0.9375rem; }

#index_project_image_cash_app {
  background-image: url("../assets/images/cash_app/cash_app_hero.png"); }

#index_project_image_chrome {
  background-image: url("../assets/images/chrome/chrome_hero.png"); }

#index_project_image_tab_strip {
  background-image: url("../assets/images/tab_strip/tab_strip_hero.png"); }

#index_project_image_marqeta {
  background-image: url("../assets/images/marqeta/marqeta_hero.png"); }

#index_project_image_merchant {
  background-image: url("../assets/images/merchant/merchant_hero.png"); }

#index_project_image_soccer {
  background-image: url("../assets/images/soccer/soccer_legend.png"); }

#index_project_image_scan {
  background-image: url("../assets/images/scan/scan_legend.png"); }

.index_project_details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0;
  width: 30vw;
  max-width: 32rem;
  min-width: 22rem;
  margin-left: 3rem; }

.index_project_meta {
  margin-top: 0.3125rem; }

h1.index_project_name {
  margin-top: 0.025ex; }

.index_project_intro {
  margin-bottom: 0.5625rem; }

.index_project_intro > li {
  padding-left: 1rem;
  text-indent: -1rem; }

.index_project_intro > li:before {
  content: "";
  display: inline-block;
  transform: translateY(-2px);
  height: 0.5625rem;
  width: 0.5625rem;
  margin-right: 7px;
  border-radius: 4.5px;
  background-color: var(--type); }

@media screen and (max-width: 850px) {
  .index_project_card {
    flex-direction: column;
    justify-content: flex-start;
    height: unset;
    min-height: unset;
    max-height: unset;
    padding: 0.85rem 1rem 1rem 1rem;
    margin-bottom: 0; }
  .index_project_card.hovered {
    transform: translateY(0); }
  .index_project_card:hover {
    margin-left: 0;
    width: 100%; }
  .index_project_details,
  .index_project_image {
    width: 100%; }
  .index_project_details {
    order: 1;
    margin-left: 0;
    min-width: unset; }
  .index_project_meta {
    display: flex;
    flex-direction: column;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-bottom: 2rem; }
  .index_project_client {
    order: 2; }
  h1.index_project_name {
    order: 1;
    line-height: 0.98; }
  .index_project_intro {
    margin-bottom: 1.5rem;
    padding-right: 0.5rem; }
  .index_project_image {
    order: 2;
    height: 22.5rem; } }

@media (hover: none) and (pointer: coarse) {
  .index_project_card {
    margin-bottom: 0; }
  .index_project_card.hovered {
    transform: translateY(0); } }

@media screen and (max-width: 480px) {
  .h1_optical_align {
    transform: translateX(-2px); }
  .index_project_image {
    height: 15rem; } }

.index_colophon_container {
  width: 100%;
  position: fixed;
  bottom: 1.75rem;
  left: 0;
  z-index: 1;
  padding-left: 5rem;
  padding-right: 5rem;
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
  transition: all 175ms ease-in-out; }

.index_colophon_container.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.5rem);
  transition: all 175ms ease-in-out; }

@media screen and (max-width: 1120px) {
  .index_colophon_container {
    padding-left: 4rem;
    padding-right: 4rem; } }

@media screen and (max-width: 560px) {
  .index_colophon_container {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }

.index_colophon {
  margin-left: auto;
  margin-right: auto;
  padding: calc(1rem - 1px) 1.5rem calc(1rem - 1px) 1.5rem;
  border-radius: 1.5rem;
  width: 100%;
  max-width: 90rem;
  background-color: #F9F9F9;
  display: flex;
  justify-content: space-between;
  box-shadow: 0px -2px 8px 2px rgba(0, 0, 0, 0.02); }

.index_colophon small.secondary {
  opacity: 0.5; }

.index_colophon a,
.index_colophon a:hover {
  color: black; }

@media screen and (max-width: 780px) {
  .index_colophon small:first-child {
    display: none; } }

@media screen and (max-width: 480px) {
  .index_colophon {
    justify-content: center; }
  .index_colophon small:last-child {
    display: none; } }

.media_container.two_up picture img.phone_limit_height,
.media_container.three_up picture img.phone_limit_height {
  width: 100%;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  max-width: 20rem;
  max-height: 41rem; }

img#marqeta_pm_flow {
  width: 72.625%;
  max-width: 72.625rem; }

img#marqeta_userflow {
  width: 207vw;
  max-width: 4000px;
  height: auto; }

@media screen and (max-width: 480px) {
  img#marqeta_userflow {
    width: 400vw;
    max-width: unset; } }

img#marqeta_fix {
  width: 90.9375%;
  max-width: 90.9375rem; }

img#marqeta_high_volume {
  width: 93%;
  max-width: 93rem; }

img#marqeta_consistency {
  width: 72.1875%;
  max-width: 72.1875rem; }

img#marqeta_modal_vs_accordion1,
img#marqeta_modal_vs_accordion2 {
  width: 72.5%;
  max-width: 72.5rem; }

img#marqeta_payment_detailpage {
  width: 93.25%;
  max-width: 93.25rem; }

img#merchant_hero_image {
  max-width: 55.9375rem;
  width: 100%; }

img#merchant_interview {
  width: 100%; }

img#merchant_existing_viz {
  width: 40%;
  max-width: 40rem; }

img#soccer_a, img#soccer_b {
  width: 72.5%;
  max-width: 72.5rem; }

img.phone_limit_width {
  width: 20%;
  min-width: 15rem;
  max-width: 25rem; }

video.phone_limit_width {
  width: 20%;
  min-width: 15rem;
  max-width: 25rem;
  margin-left: auto;
  margin-right: auto; }

a.alink {
  color: var(--type);
  text-decoration: underline; }
