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

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.no-select, z-button, .button,
input[type=submit] {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */ /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently
supported by Chrome, Edge, Opera and Firefox */
}

/* ----------------------------------------------------------------------------------------------------

Super Form Reset

A couple of things to watch out for:

- IE8: If a text input doesn't have padding on all sides or none the text won't be centered.
- The default border sizes on text inputs in all UAs seem to be slightly different. You're better off using custom borders.
- You NEED to set the font-size and family on all form elements
- Search inputs need to have their appearance reset and the box-sizing set to content-box to match other UAs
- You can style the upload button in webkit using ::-webkit-file-upload-button
- ::-webkit-file-upload-button selectors can't be used in the same selector as normal ones. FF and IE freak out.
- IE: You don't need to fake inline-block with labels and form controls in IE. They function as inline-block.
- By turning off ::-webkit-search-decoration, it removes the extra whitespace on the left on search inputs

----------------------------------------------------------------------------------------------------*/
input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  line-height: 1;
  /* Browsers have different default form fonts */
  font-size: 13px;
  font-family: Arial;
}

/* Remove the stupid outer glow in Webkit */
input:focus {
  outline: 0;
}

/* Box Sizing Reset
-----------------------------------------------*/
/* All of our custom controls should be what we expect them to be */
input,
textarea {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

/* These elements are usually rendered a certain way by the browser */
button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Text Inputs
-----------------------------------------------*/
/* Button Controls
-----------------------------------------------*/
input[type=checkbox],
input[type=radio] {
  width: 13px;
  height: 13px;
}

/* File Uploads
-----------------------------------------------*/
/* Search Input
-----------------------------------------------*/
/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none;
}

/* Buttons
-----------------------------------------------*/
button,
input[type=reset],
input[type=button],
input[type=submit] {
  /* Fix IE7 display bug */
  overflow: visible;
  width: auto;
}

/* IE8 and FF freak out if this rule is within another selector */
::-webkit-file-upload-button {
  padding: 0;
  border: 0;
  background: none;
}

/* Textarea
-----------------------------------------------*/
textarea {
  /* Move the label to the top */
  vertical-align: top;
  /* Turn off scroll bars in IE unless needed */
  overflow: auto;
}

/* Selects
-----------------------------------------------*/
select[multiple] {
  /* Move the label to the top */
  vertical-align: top;
}

.-font-343, select, .-reset-type, input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=url],
textarea, label, body, html {
  font-family: "Barlow", sans-serif;
  font-style: normal;
}

body, html {
  font-weight: 400;
  font-size: 23px;
  line-height: 125%;
}

h1, h2, h3 {
  color: #F4F2F0;
  margin: 0;
  position: relative;
}

h1 {
  font-size: 3rem;
  font-weight: 200;
  line-height: 125%;
  text-align: center;
  white-space: nowrap;
}

h2 {
  font-size: 2.5rem;
  font-weight: 200;
  line-height: 125%;
}

h3 {
  font-size: 1.5rem;
  font-weight: 200;
  line-height: 130%;
}

h4 {
  font-size: 1.25rem;
  text-transform: uppercase;
  line-height: 150%;
}

h5 {
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
}

@media (orientation: portrait) {
  body, html {
    font-size: 18px;
  }
  h1, h2 {
    font-size: 12vw;
  }
  h1 {
    white-space: normal;
  }
}
.-font-xl, main .highlights p {
  font-size: 2rem;
  font-weight: 200;
  line-height: 133%;
}

.-font-l, .stack ._row ._label, main .features {
  font-size: 1.5rem;
  font-weight: 200;
  line-height: 133%;
}

.-font-m, select, .-reset-type, input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=url],
textarea, label {
  font-size: 1rem;
  line-height: 133%;
}

.-font-s, .stack ._row ._floor > *, nav a, .map-legend, .map ._dot, .gallery ._ui, .tooltip, z-tooltip, z-logo ._container, .z-logo ._container {
  font-size: 0.75rem;
  line-height: 133%;
  font-weight: 400;
}

.-font-xs {
  font-size: 0.5rem;
  font-weight: 400;
}

.-all-caps, .stack ._row ._floor > *, nav a {
  text-transform: uppercase;
}

b, .-font-bold, strong {
  color: #F4F2F0;
}

p {
  max-width: 60ch;
}

span {
  white-space: nowrap;
}

.-text-left {
  text-align: left;
}

.-text-center, main .highlights p, main .features {
  text-align: center;
}

.-text-right {
  text-align: right;
}

@media (max-width:560px) {
  body, html {
    font-size: 14px !important;
  }
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {
    font-size: 1.25rem;
  }
}
code {
  background-color: var(--col-main);
  color: var(--col-bg);
}

:root {
  --col-accent: #F4F2F0;
}

.-apply-theme, .-theme-accent, .gallery, .-theme-off-light, .-theme-light, main .highlights p, .-theme-dark, nav, .map-legend, main .-logo-container {
  background: var(--col-bg);
  color: var(--col-main);
  stroke: var(--col-main);
}

.-apply-main-color {
  color: var(--col-main);
  stroke: var(--col-main);
}

.-invert-theme, z-logo, .z-logo {
  background: var(--col-main);
  color: var(--col-bg);
  stroke: var(--col-bg);
}

.-fx-exclusion {
  mix-blend-mode: exclusion;
}

.-bg-off {
  background: var(--col-off-bg);
}

.-bg-accent {
  background: #F4F2F0;
}

.-bg-debug {
  background: rgba(255, 204, 0, 0.2666666667);
}

.-bg-warning {
  background: #FFBB00;
}

.-bg-error {
  background: #FF0222;
}

.-col-warning {
  color: #FFBB00;
  stroke: #FFBB00;
}

.-col-error {
  color: #FF0222;
  stroke: #FF0222;
}

.-col-neutral {
  color: #606669;
}

.-col-main, nav a:not([active]) {
  color: var(--col-main);
  stroke: var(--col-main);
}

.-col-invert {
  color: var(--col-bg);
  stroke: var(--col-bg);
}

.-theme-dark, nav, .map-legend, main .-logo-container {
  --col-main:#CE8868;
  --col-bg: #141B26;
  --col-off-bg: #000;
}

.-theme-light, main .highlights p {
  --col-main: #141B26;
  --col-bg: #CE8868;
  --col-off-bg: #FFF;
}

.-theme-off-light {
  --col-main: #141B26;
  --col-bg: #FFF;
  --col-off-bg: #CE8868;
}

.-theme-accent, .gallery {
  --col-main: #CE8868;
  --col-bg: #F4F2F0;
  --col-off-bg: #FFF;
}

.-col-accent, nav a[active], nav a:not([active]):hover {
  color: var(--col-accent);
  stroke: var(--col-accent);
}

.-space-xxl {
  margin-top: 16rem !important;
}

.-space-xl, main .features {
  margin-top: 8rem !important;
}

.-space-l, .gallery ._ui h4 {
  margin-top: 4rem !important;
}

.-space, .gallery ._ui ._links, .space-m {
  margin-top: 1rem !important;
}

.-space-s {
  margin-top: 0.5rem !important;
}

.-left-50 {
  margin-left: 50%;
}

.container {
  position: relative;
  width: calc(100% - 4rem);
  margin-left: auto;
  margin-right: auto;
}
@media (max-width:560px) {
  .container {
    width: calc(100% - 1rem);
  }
}
.container.-xl {
  max-width: 1440px;
}
.container.-l {
  max-width: 1152px;
}
.container.-m {
  max-width: 800px;
}
.container.-s {
  max-width: 540px;
}

.-pad-xl {
  padding: 8rem;
}

.-pad-l {
  padding: 4rem;
}

.-pad, .gallery ._arrow, .gallery, z-logo ._container, .z-logo ._container, main .highlights p, main .features > *, main .-logo-container, main, code,
.-pad-m {
  padding: 1rem;
}

.-pad-s, .map-legend, .tooltip, z-tooltip, .tag {
  padding: 0.5rem;
}

.-pad-xs {
  padding: 2px;
}

.-pad-horiz {
  padding: 0 1rem;
}

@media (max-width:560px) {
  .-no-mobile {
    display: none !important;
  }
}

.-absolute, main .highlights p {
  position: absolute;
}

.-relative {
  position: relative;
}

.-fixed {
  position: fixed;
}

.-no-overflow {
  overflow: hidden;
}

.-z-over-top {
  z-index: 200;
}

.-z-top {
  z-index: 100;
}

.-z-mid {
  z-index: 50;
}

.-no-flex, .-w-25, .-w-50, .-w-75, .-w-100 {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 1 auto !important;
          flex: 0 1 auto !important;
}

.-size-100 {
  width: 100%;
  height: 100%;
}

.-w-100 {
  width: 100%;
}

.-h-100 {
  height: 100%;
}

.-w-75 {
  width: 75%;
}

.-h-75 {
  height: 75%;
}

.-w-50 {
  width: 50%;
}

.-h-50 {
  height: 50%;
}

.-w-25 {
  width: 25%;
}

.-h-25 {
  height: 25%;
}

.-vsize-100 {
  width: 100vw;
  height: 100vh;
}

.-vw-100 {
  width: 100vw;
}

.-vh-100 {
  height: 100vh;
}

.-vw-75 {
  width: 75vw;
}

.-vh-75 {
  height: 75vh;
}

.-vw-50 {
  width: 50vw;
}

.-vh-50 {
  height: 50vh;
}

.-vw-25 {
  width: 25vw;
}

.-vh-25 {
  height: 25vh;
}

.debug {
  border: 1px solid gold;
}

hr {
  border-top: 1px solid var(--col-accent);
}

.-aspect-1x1 {
  padding-bottom: 100%;
}

.-aspect-2x1 {
  padding-bottom: 50%;
}

.-aspect-3x2 {
  padding-bottom: 66.66%;
}

.-aspect-4x3 {
  padding-bottom: 75%;
}

.-aspect-16x9 {
  padding-bottom: 56.25%;
}

.-aspect-4x5 {
  padding-bottom: 125%;
}

.-aspect-3x4 {
  padding-bottom: 133%;
}

.-img-full {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.-round-corners {
  border-radius: 4px;
  overflow: hidden;
}

.-blend-multiply {
  mix-blend-mode: multiply;
}

body, html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

body {
  --main-width: 80vw;
  --gate-opening: 0;
  --gate-size: calc(var(--main-width) * .5);
  --logo-scale: 1;
  --gate-pos-y: 0%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media (max-width:560px) {
  body {
    --main-width:100vw;
  }
}
body.-opened {
  --gate-opening: 1 !important;
  --logo-scale:.5 !important;
}

main {
  width: var(--main-width);
  margin: 0 auto;
}
main .-outside {
  position: relative;
  z-index: 200;
  min-height: 100vh;
}
main h1 {
  position: absolute;
  left: 50%;
  max-width: calc(100vw - 2rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
main .-logo-container {
  display: inline-block;
  position: sticky;
  top: 2.5rem;
  bottom: 0;
  z-index: 200;
  margin-left: 50%;
  -webkit-transform: translateX(-50%) scale(var(--logo-scale));
          transform: translateX(-50%) scale(var(--logo-scale));
  -webkit-transition: -webkit-transform 400ms;
  transition: -webkit-transform 400ms;
  transition: transform 400ms;
  transition: transform 400ms, -webkit-transform 400ms;
  -webkit-transform-origin: 50% 0%;
          transform-origin: 50% 0%;
}
main .-logo-container svg {
  width: 100px;
  height: 162px;
}
main .vimeo-container {
  position: relative;
}
main .vimeo-container iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
main section:not(#Contact) {
  min-height: 100vh;
  padding: 4rem 0;
}
main section.-divider {
  border-top: 3px solid var(--col-main);
}
main .features > * {
  border: 1px solid var(--col-main);
}
main .highlights > * > div {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100;
}
main .highlights img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
main .highlights p {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  font-size: 2.5vw;
}
main .highlights p.-small {
  font-weight: 700;
  font-size: 22px;
}
@media (max-width:560px) {
  main .highlights p {
    font-size: 22px;
  }
  main .highlights p.-small {
    font-size: 18px;
  }
}
main img:not(.-dont-expand) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
}
main .-interactive {
  cursor: pointer;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: opacity 250ms;
  transition: opacity 250ms;
}
@media (hover: hover) {
  main .-interactive:hover {
    opacity: 0.95;
  }
  main .-interactive:hover .plus-tag {
    opacity: 1;
  }
  main .-interactive:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@media (hover: none) {
  main .-interactive z-icon.plus-tag {
    opacity: 1;
  }
}
main .-interactive img {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 250ms;
  transition: -webkit-transform 250ms;
  transition: transform 250ms;
  transition: transform 250ms, -webkit-transform 250ms;
}
main .-interactive .plus-tag {
  background: var(--col-bg);
  border: 2px solid var(--col-main);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 250ms;
  transition: opacity 250ms;
}

.-hidden {
  display: none;
}

.contacts {
  position: sticky;
  top: 50%;
}

.arrow.-up::before {
  content: "↑";
}
.arrow.-up-right::before {
  content: "↗";
}
.arrow.-right::before {
  content: "→";
}
.arrow.-down-right::before {
  content: "↘";
}
.arrow.-down::before {
  content: "↓";
}
.arrow.-down-left::before {
  content: "↙";
}
.arrow.-left::before {
  content: "←";
}
.arrow.-up-left::before {
  content: "↖";
}

z-button, .button,
input[type=submit] {
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: background-color 250ms, -webkit-transform 250ms;
  transition: background-color 250ms, -webkit-transform 250ms;
  transition: transform 250ms, background-color 250ms;
  transition: transform 250ms, background-color 250ms, -webkit-transform 250ms;
}
z-button:hover:not(.-in-group):not(.-menu), .button:hover:not(.-in-group):not(.-menu),
input[type=submit]:hover:not(.-in-group):not(.-menu) {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
  text-decoration: none;
}
z-button:hover:not(.-in-group):not(.-menu), .button:hover:not(.-in-group):not(.-menu),
input[type=submit]:hover:not(.-in-group):not(.-menu) {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  text-decoration: none;
}
z-button.-in-group, .button.-in-group,
input[type=submit].-in-group {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
z-button span, .button span,
input[type=submit] span {
  white-space: nowrap;
}
z-button span, z-button svg, .button span, .button svg,
input[type=submit] span,
input[type=submit] svg {
  pointer-events: none;
}
z-button[disabled], .button[disabled],
input[type=submit][disabled] {
  opacity: 0.33;
  pointer-events: none;
}
z-button.-selected:not(.-active-selected), .button.-selected:not(.-active-selected),
input[type=submit].-selected:not(.-active-selected) {
  pointer-events: none;
}
z-button > *:not(:first-child), .button > *:not(:first-child),
input[type=submit] > *:not(:first-child) {
  margin-left: 0.5rem;
}
z-button.-reverse, .button.-reverse,
input[type=submit].-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
z-button.-reverse > *:not(:first-child), .button.-reverse > *:not(:first-child),
input[type=submit].-reverse > *:not(:first-child) {
  margin-left: 0;
  margin-right: 0.5rem;
}
z-button.-primary, .button.-primary,
input[type=submit].-primary {
  padding: 0.5rem 1rem;
  background-color: var(--col-accent);
  color: var(--col-bg);
  stroke: var(--col-bg);
}
z-button.-primary:not(.-in-group), .button.-primary:not(.-in-group),
input[type=submit].-primary:not(.-in-group) {
  border-radius: 4px;
}
z-button.-primary.-selected, .button.-primary.-selected,
input[type=submit].-primary.-selected {
  background: #F4F2F0;
  color: #CE8868;
  stroke: #CE8868;
}
z-button.-secondary, .button.-secondary,
input[type=submit].-secondary {
  padding: 0.5rem 1rem;
}
z-button.-secondary:not(.-in-group), .button.-secondary:not(.-in-group),
input[type=submit].-secondary:not(.-in-group) {
  -webkit-box-shadow: inset 0 0 0 1px var(--col-main);
          box-shadow: inset 0 0 0 1px var(--col-main);
  border-radius: 4px;
}
z-button.-secondary:hover, .button.-secondary:hover,
input[type=submit].-secondary:hover {
  text-decoration: underline;
}
z-button.-secondary.-selected, .button.-secondary.-selected,
input[type=submit].-secondary.-selected {
  background-color: var(--col-main);
  color: var(--col-bg);
  stroke: var(--col-bg);
}
z-button.-secondary.-in-group, .button.-secondary.-in-group,
input[type=submit].-secondary.-in-group {
  -webkit-box-shadow: none;
          box-shadow: none;
}
z-button.-menu, .button.-menu,
input[type=submit].-menu {
  padding: 0.5rem;
  text-transform: lowercase;
}
z-button.-menu > *:not(:first-child), .button.-menu > *:not(:first-child),
input[type=submit].-menu > *:not(:first-child) {
  margin-left: 0.5rem;
}
z-button.-menu.-selected, z-button.-menu:hover, .button.-menu.-selected, .button.-menu:hover,
input[type=submit].-menu.-selected,
input[type=submit].-menu:hover {
  background: var(--col-main);
  color: var(--col-bg);
  stroke: var(--col-bg);
}
z-button:not(.-primary):not(.-secondary):not(.-menu).-selected, .button:not(.-primary):not(.-secondary):not(.-menu).-selected,
input[type=submit]:not(.-primary):not(.-secondary):not(.-menu).-selected {
  background-color: var(--col-main);
  color: var(--col-bg);
  stroke: var(--col-bg);
  border-radius: 4px;
}

.button-group.-joined, cs-button-group.-joined {
  overflow: hidden;
  border-radius: 4px;
}
.button-group.-joined.-primary cs-button:not(:first-child), cs-button-group.-joined.-primary cs-button:not(:first-child) {
  margin-left: 1px;
}
.button-group.-joined.-inline, z-button.button-group.-joined, .button-group.-joined.button,
input.button-group.-joined[type=submit], cs-button-group.-joined.-inline, cs-button-group.-joined.button {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}
.button-group.-joined.-secondary, cs-button-group.-joined.-secondary {
  -webkit-box-shadow: inset 0 0 0 1px var(--col-main);
          box-shadow: inset 0 0 0 1px var(--col-main);
}
.button-group.-joined.-secondary cs-button:not(:first-child), cs-button-group.-joined.-secondary cs-button:not(:first-child) {
  border-left: 1px solid var(--col-main);
}
.button-group.-joined:not(.-primary):not(.-secondary) cs-button, cs-button-group.-joined:not(.-primary):not(.-secondary) cs-button {
  padding: 0.5rem 1rem;
}
.button-group.-joined:not(.-primary):not(.-secondary) cs-button:not(:first-child), cs-button-group.-joined:not(.-primary):not(.-secondary) cs-button:not(:first-child) {
  margin-left: 1rem;
}

.dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 100;
  background-color: white;
  --dropdown-height: 8rem;
  -webkit-transition: max-height 250ms;
  transition: max-height 250ms;
  height: auto;
  max-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border-radius: 4px;
  -webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
.dropdown > * {
  border-radius: 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.dropdown > *:not(:last-child) {
  border-bottom: 1px solid #CE8868;
}

.dropdown-parent {
  display: block;
  cursor: pointer;
}
.dropdown-parent .dropdown-trigger {
  -webkit-transition: -webkit-transform 400ms;
  transition: -webkit-transform 400ms;
  transition: transform 400ms;
  transition: transform 400ms, -webkit-transform 400ms;
}
.dropdown-parent.-expanded .dropdown-trigger {
  -webkit-transform: translateY(-0.5rem);
          transform: translateY(-0.5rem);
}
.dropdown-parent.-expanded .dropdown {
  max-height: var(--dropdown-height);
}

label {
  margin-bottom: 0.5rem;
  width: 100%;
}

input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=url],
textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  background: var(--col-off-bg);
  border: 1px solid var(--col-off-bg);
  border-radius: 4px;
  color: var(--col-main);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=url]:focus,
textarea:focus {
  border: 1px solid #F4F2F0;
}
input[type=text]:disabled, input[type=text][readonly],
input[type=email]:disabled,
input[type=email][readonly],
input[type=number]:disabled,
input[type=number][readonly],
input[type=password]:disabled,
input[type=password][readonly],
input[type=search]:disabled,
input[type=search][readonly],
input[type=url]:disabled,
input[type=url][readonly],
textarea:disabled,
textarea[readonly] {
  opacity: 0.5;
  border: 1px solid var(--col-off-bg);
}
input[type=text]:invalid, input[type=text].-invalid,
input[type=email]:invalid,
input[type=email].-invalid,
input[type=number]:invalid,
input[type=number].-invalid,
input[type=password]:invalid,
input[type=password].-invalid,
input[type=search]:invalid,
input[type=search].-invalid,
input[type=url]:invalid,
input[type=url].-invalid,
textarea:invalid,
textarea.-invalid {
  border: 1px solid #FF0222;
}

textarea {
  resize: vertical;
  line-height: 150%;
}

.form-field {
  display: block;
  width: 100%;
  position: relative;
}
.form-field svg {
  position: absolute;
  bottom: 14px;
  right: 1rem;
  fill: #606669;
  mix-blend-mode: exclusion;
  pointer-events: none;
}
.form-field:hover svg {
  display: none;
}

select {
  display: block;
  color: var(--col-main);
  line-height: 120%;
  height: 52px;
  padding: 0 1rem;
  width: 100%;
  max-width: 50ch;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  border: 1px solid var(--col-off-bg);
  border-radius: 4px;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--col-off-bg);
  color: var(--col-main);
  /* Support for rtl text, explicit support for Arabic and Hebrew */
}
select:focus {
  border: 1px solid #F4F2F0;
  outline: none;
}
select:disabled {
  opacity: 0.5;
}
select option {
  font-weight: normal;
}
select *[dir=rtl] select, select :root:lang(ar) select, select :root:lang(iw) select {
  background-position: left 0.7em top 50%, 0 0;
  padding: 0.6em 0.8em 0.5em 1.4em;
}

z-radio-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width:560px) {
  z-radio-buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}
z-radio-buttons:not(.-vertical) ._radio-button:not(:first-child) {
  margin-left: 1rem;
}
z-radio-buttons.-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
z-radio-buttons.-vertical ._radio-button:not(:first-child) {
  margin-top: 0.5rem;
}
z-radio-buttons ._radio-button {
  width: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
z-radio-buttons ._radio-button span {
  white-space: nowrap;
}
z-radio-buttons ._radio-button input {
  display: inline;
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
z-radio-buttons ._radio-button .checkmark {
  position: relative;
  display: inline;
  height: 1.25rem;
  width: 1.25rem;
  background-color: transparent;
  border: 2px solid var(--col-main);
  border-radius: 50%;
  margin-right: 0.5rem;
  -webkit-transition: border-width 250ms;
  transition: border-width 250ms;
}
z-radio-buttons ._radio-button:hover input:not(:checked) ~ .checkmark:after {
  -webkit-transform: translate(-50%, -50%) scale(0.25);
          transform: translate(-50%, -50%) scale(0.25);
}
z-radio-buttons ._radio-button .checkmark:after {
  content: "";
  position: absolute;
}
z-radio-buttons ._radio-button input:checked ~ .checkmark:after {
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}
z-radio-buttons ._radio-button .checkmark:after {
  top: 50%;
  left: 50%;
  width: 0.75rem;
  height: 0.75rem;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  -webkit-transition: -webkit-transform 250ms;
  transition: -webkit-transform 250ms;
  transition: transform 250ms;
  transition: transform 250ms, -webkit-transform 250ms;
  border-radius: 50%;
  background: var(--col-main);
}

z-toggle {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
z-toggle z-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 0.5rem;
}
z-toggle span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  white-space: nowrap;
}
z-toggle:not(.-selected) {
  color: #606669;
}
z-toggle:not(.-selected) svg {
  stroke: #606669;
}
z-toggle:not(.-selected) ._icon-off {
  display: block;
}
z-toggle:not(.-selected) ._icon-on {
  display: none;
}
z-toggle.-selected {
  color: var(--col-main);
}
z-toggle.-selected svg {
  stroke: var(--col-main);
}
z-toggle.-selected ._icon-off {
  display: none;
}
z-toggle.-selected ._icon-on {
  display: inline;
}

.grid, main .highlights, z-grid {
  --num-columns: 4;
  display: grid;
  grid-auto-flow: dense;
  grid-auto-flow: dense;
  grid-template-columns: repeat(var(--num-columns), 1fr);
}
@media ((orientation:portrait) and (min-width:560px)) {
  .grid, main .highlights, z-grid {
    --num-columns: 3;
  }
}
@media ((max-width:560px)) {
  .grid, main .highlights, z-grid {
    --num-columns: 2;
  }
}
.grid.-gap-s, main .grid.features, main .highlights, z-grid.-gap-s, main z-grid.features {
  gap: 0.5rem;
}
.grid.-gap, .stack .grid._row, .grid.map-legend, .grid.gallery, .grid.tag, main .-gap.highlights, main .stack .highlights._row, .stack main .highlights._row, main .highlights.map-legend, main .highlights.gallery, main .highlights.tag, main .features > .grid, main .features > .highlights, z-grid.-gap, .stack z-grid._row, z-grid.map-legend, z-grid.gallery, z-grid.tag, main .features > z-grid {
  gap: 1rem;
}
.grid.-gap-l, main .-gap-l.highlights, z-grid.-gap-l {
  gap: 4rem;
}
.grid > *, main .highlights > *, z-grid > * {
  position: relative;
  overflow: hidden;
}
.grid .-cell, main .highlights .-cell, z-grid .-cell {
  padding-top: 100%;
  grid-column-start: span 1;
  grid-row-start: span 1;
}
.grid .-cell-half, main .highlights .-cell-half, z-grid .-cell-half {
  padding-top: 50%;
  grid-column-start: span 2;
  grid-row-start: span 1;
  border: 1px solid rgba(255, 204, 0, 0.4);
}
.grid .-cell-2x1, main .highlights .-cell-2x1, z-grid .-cell-2x1 {
  grid-column-start: span 2;
  grid-row-start: span 1;
  padding-top: 50%;
}
.grid .-cell-2x2, main .highlights .-cell-2x2, z-grid .-cell-2x2 {
  grid-row-start: span 2;
  grid-column-start: span 2;
  padding-top: 100%;
}
.grid .-cell-1x2, main .highlights .-cell-1x2, z-grid .-cell-1x2 {
  grid-column-start: span 1;
  grid-row-start: span 2;
  padding-top: 200%;
}
.grid > *.-col-2, main .highlights > *.-col-2, z-grid > *.-col-2 {
  grid-column: span 2;
}
.grid > *.-collapse, main .highlights > *.-collapse, z-grid > *.-collapse {
  grid-column: 1;
}

z-icon {
  display: table;
}
z-icon svg {
  display: table-row;
  vertical-align: -33%;
  width: 1.5em;
  height: 1.5em;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
z-icon.-l svg {
  width: 3em;
  height: 3em;
  stroke-width: 1.25;
}
z-icon.-xl svg {
  width: 6em;
  height: 6em;
  stroke-width: 1;
}
z-icon.-s svg {
  stroke-width: 2;
  width: 1em;
  height: 1em;
}
z-icon.-filled svg {
  stroke-width: 0;
  fill: var(--col-main);
}

z-logo.-horiz ._logo svg, z-logo.-bottom ._logo svg, .z-logo.-horiz ._logo svg, .z-logo.-bottom ._logo svg {
  height: 3rem;
  width: 13.333rem;
}
z-logo.-vert ._logo svg, .z-logo.-vert ._logo svg {
  width: 3rem;
  height: 13.333rem;
}
z-logo ._logo svg, .z-logo ._logo svg {
  stroke: none;
  fill: var(--col-bg);
  padding: none;
}
z-logo.-fixed, .z-logo.-fixed {
  position: fixed;
  overflow: hidden;
  z-index: 200;
}
z-logo.-fixed.-horiz, .z-logo.-fixed.-horiz {
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 3rem;
  -webkit-transition: height 250ms, -webkit-box-shadow 250ms;
  transition: height 250ms, -webkit-box-shadow 250ms;
  transition: height 250ms, box-shadow 250ms;
  transition: height 250ms, box-shadow 250ms, -webkit-box-shadow 250ms;
}
z-logo.-fixed.-horiz:hover, .z-logo.-fixed.-horiz:hover {
  height: 13.333rem;
  -webkit-box-shadow: 0.5rem 0.5rem 0 rgba(0, 0, 0, 0.1333333333);
          box-shadow: 0.5rem 0.5rem 0 rgba(0, 0, 0, 0.1333333333);
}
z-logo.-fixed.-vert, .z-logo.-fixed.-vert {
  bottom: 0;
  right: 0;
  width: 3rem;
  -webkit-transition: width 250ms, -webkit-box-shadow 250ms;
  transition: width 250ms, -webkit-box-shadow 250ms;
  transition: width 250ms, box-shadow 250ms;
  transition: width 250ms, box-shadow 250ms, -webkit-box-shadow 250ms;
}
z-logo.-fixed.-vert:hover, .z-logo.-fixed.-vert:hover {
  width: calc(1.25 * 13.333rem);
  -webkit-box-shadow: 0.5rem 0.5rem 0 rgba(0, 0, 0, 0.1333333333);
          box-shadow: 0.5rem 0.5rem 0 rgba(0, 0, 0, 0.1333333333);
}

ul {
  list-style-position: inside;
  width: 100%;
}
ul.-divide > * {
  border-top: 1px solid var(--col-main);
  padding: 0.5rem 0;
}
ul.-divide > *:last-child {
  border-bottom: 1px solid var(--col-main);
}
ul.-gap > *:not(:first-child), .stack ul._row > *:not(:first-child), ul.map-legend > *:not(:first-child), ul.gallery > *:not(:first-child), ul.tag > *:not(:first-child), main .features > ul > *:not(:first-child) {
  margin-top: 1rem;
}
ul.-gap-s > *:not(:first-child), main ul.features > *:not(:first-child), main ul.highlights > *:not(:first-child) {
  margin-top: 0.5rem;
}
ul[disc] {
  list-style-type: disc;
}
ul[arrow] {
  list-style-type: "→ ";
}
ul li p {
  max-width: none;
}
ul li p span {
  display: inline-block;
}

/* Common for both horizontal and vertical flex layouts */
.flex-h, .stack ._row ._floor > *, .stack ._row ._floor, .stack ._row, nav, .map-legend ._item, .map-legend, .map ._dot, .gallery, .tag, main .features, z-button, .button,
input[type=submit], .button-group.-joined, cs-button-group.-joined, z-logo.-fixed.-vert, .z-logo.-fixed.-vert, .flex-v, .stack ._row ._links, .gallery ._ui ._links, .gallery ._ui, .gallery ._arrow, main .features > *, main .features > * p:first-child, main .highlights p, z-logo.-fixed.-horiz, .z-logo.-fixed.-horiz {
  --gap: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex-h.-reverse, .stack ._row ._floor > .-reverse, .stack ._row .-reverse._floor, .stack .-reverse._row, nav.-reverse, .map-legend .-reverse._item, .-reverse.map-legend, .map .-reverse._dot, .-reverse.gallery, .-reverse.tag, main .-reverse.features, z-button.-reverse, .-reverse.button,
input.-reverse[type=submit], .-reverse.button-group.-joined, cs-button-group.-reverse.-joined, z-logo.-reverse.-fixed.-vert, .-reverse.z-logo.-fixed.-vert, .flex-v.-reverse, .stack ._row .-reverse._links, .gallery ._ui .-reverse._links, .gallery .-reverse._ui, .gallery .-reverse._arrow, main .features > .-reverse, main .features > * p.-reverse:first-child, main .highlights p.-reverse, z-logo.-reverse.-fixed.-horiz, .-reverse.z-logo.-fixed.-horiz {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.flex-h.-gap, .stack ._row ._floor > .-gap, .stack ._row .-gap._floor, .stack ._row, nav.-gap, .map-legend .-gap._item, .map-legend, .map .-gap._dot, .map ._dot.map-legend, .gallery, .tag, main .-gap.features, main .features.map-legend, main .features.gallery, main .features.tag, z-button.-gap, .-gap.button,
input.-gap[type=submit],
input[type=submit].map-legend,
input[type=submit].gallery,
input[type=submit].tag, .-gap.button-group.-joined, .button-group.-joined.map-legend, .button-group.-joined.gallery, .button-group.-joined.tag, cs-button-group.-gap.-joined, cs-button-group.-joined.map-legend, cs-button-group.-joined.gallery, cs-button-group.-joined.tag, z-logo.-gap.-fixed.-vert, .stack z-logo.-fixed.-vert._row, z-logo.-fixed.-vert.map-legend, z-logo.-fixed.-vert.gallery, z-logo.-fixed.-vert.tag, .-gap.z-logo.-fixed.-vert, .stack .z-logo.-fixed.-vert._row, .z-logo.-fixed.-vert.map-legend, .z-logo.-fixed.-vert.gallery, .z-logo.-fixed.-vert.tag, main .features > .button-group.-joined, main .features > cs-button-group.-joined, main .features > z-logo.-fixed.-vert, main .features > .z-logo.-fixed.-vert, .flex-v.-gap, .stack ._row .-gap._links, .gallery ._ui .-gap._links, .gallery ._ui .stack ._links._row, .stack .gallery ._ui ._links._row, .gallery ._ui ._links.map-legend, .gallery .-gap._ui, .gallery ._ui.map-legend, .gallery .-gap._arrow, .gallery ._arrow.map-legend, main .features > * p.-gap:first-child, main .features > * .stack p._row:first-child, .stack main .features > * p._row:first-child, main .features > * p.map-legend:first-child, main .features > * p.gallery:first-child, main .features > * p.tag:first-child, main .highlights p.-gap, main .highlights p.map-legend, main .highlights p.gallery, main .highlights p.tag, z-logo.-gap.-fixed.-horiz, .stack z-logo.-fixed.-horiz._row, z-logo.-fixed.-horiz.map-legend, z-logo.-fixed.-horiz.gallery, z-logo.-fixed.-horiz.tag, .-gap.z-logo.-fixed.-horiz, .stack .z-logo.-fixed.-horiz._row, .z-logo.-fixed.-horiz.map-legend, .z-logo.-fixed.-horiz.gallery, .z-logo.-fixed.-horiz.tag, main .features > *, main .features > .features > p:first-child, main .features > z-logo.-fixed.-horiz, main .features > .z-logo.-fixed.-horiz {
  --gap: 1rem;
}
.flex-h.-gap-xl, .stack ._row ._floor > .-gap-xl, .stack ._row .-gap-xl._floor, .stack .-gap-xl._row, nav.-gap-xl, .map-legend .-gap-xl._item, .-gap-xl.map-legend, .map .-gap-xl._dot, .-gap-xl.gallery, .-gap-xl.tag, main .-gap-xl.features, z-button.-gap-xl, .-gap-xl.button,
input.-gap-xl[type=submit], .-gap-xl.button-group.-joined, cs-button-group.-gap-xl.-joined, z-logo.-gap-xl.-fixed.-vert, .-gap-xl.z-logo.-fixed.-vert, .flex-v.-gap-xl, .stack ._row .-gap-xl._links, .gallery ._ui .-gap-xl._links, .gallery .-gap-xl._ui, .gallery .-gap-xl._arrow, main .features > .-gap-xl, main .features > * p.-gap-xl:first-child, main .highlights p.-gap-xl, z-logo.-gap-xl.-fixed.-horiz, .-gap-xl.z-logo.-fixed.-horiz {
  --gap: 8rem;
}
.flex-h.-gap-l, .stack ._row ._floor > .-gap-l, .stack ._row .-gap-l._floor, .stack .-gap-l._row, nav.-gap-l, .map-legend .-gap-l._item, .-gap-l.map-legend, .map .-gap-l._dot, .-gap-l.gallery, .-gap-l.tag, main .-gap-l.features, z-button.-gap-l, .-gap-l.button,
input.-gap-l[type=submit], .-gap-l.button-group.-joined, cs-button-group.-gap-l.-joined, z-logo.-gap-l.-fixed.-vert, .-gap-l.z-logo.-fixed.-vert, .flex-v.-gap-l, .stack ._row .-gap-l._links, .gallery ._ui .-gap-l._links, .gallery .-gap-l._ui, .gallery .-gap-l._arrow, main .features > .-gap-l, main .features > * p.-gap-l:first-child, main .highlights p.-gap-l, z-logo.-gap-l.-fixed.-horiz, .-gap-l.z-logo.-fixed.-horiz {
  --gap: 4rem;
}
.flex-h.-gap-s, .stack ._row ._floor > .-gap-s, .stack ._row .-gap-s._floor, .stack .-gap-s._row, nav.-gap-s, .map-legend .-gap-s._item, .-gap-s.map-legend, .map .-gap-s._dot, .-gap-s.gallery, .-gap-s.tag, z-button.-gap-s, .-gap-s.button,
input.-gap-s[type=submit], .-gap-s.button-group.-joined, cs-button-group.-gap-s.-joined, z-logo.-gap-s.-fixed.-vert, .-gap-s.z-logo.-fixed.-vert, main .features, main .button-group.-joined.features, main cs-button-group.-joined.features, main z-logo.-fixed.-vert.features, main .z-logo.-fixed.-vert.features, main .flex-h.highlights, main .stack ._row ._floor > .highlights, .stack ._row main ._floor > .highlights, main .stack ._row .highlights._floor, .stack ._row main .highlights._floor, main .stack .highlights._row, .stack main .highlights._row, main nav.highlights, main .map-legend .highlights._item, .map-legend main .highlights._item, main .highlights.map-legend, main .map .highlights._dot, .map main .highlights._dot, main .highlights.gallery, main .highlights.tag, main z-button.highlights, main .button.highlights,
main input[type=submit].highlights, main .button-group.-joined.highlights, main cs-button-group.-joined.highlights, main z-logo.-fixed.-vert.highlights, main .z-logo.-fixed.-vert.highlights, .flex-v.-gap-s, .stack ._row .-gap-s._links, .gallery ._ui .-gap-s._links, .gallery .-gap-s._ui, .gallery .-gap-s._arrow, main .features > .-gap-s, main .features > * p.-gap-s:first-child, main .highlights p.-gap-s, z-logo.-gap-s.-fixed.-horiz, .-gap-s.z-logo.-fixed.-horiz, main .features > * p.features:first-child, main .highlights p.features, main z-logo.-fixed.-horiz.features, main .z-logo.-fixed.-horiz.features, main .flex-v.highlights, main .stack ._row .highlights._links, .stack ._row main .highlights._links, main .gallery ._ui .highlights._links, .gallery ._ui main .highlights._links, main .gallery .highlights._ui, .gallery main .highlights._ui, main .gallery .highlights._arrow, .gallery main .highlights._arrow, main .features > .highlights, main .features > * p.highlights:first-child, main .highlights p.highlights, main z-logo.-fixed.-horiz.highlights, main .z-logo.-fixed.-horiz.highlights {
  --gap: 0.5rem;
}
.flex-h.-space-between, .stack ._row ._floor > .-space-between, .stack ._row .-space-between._floor, .stack .-space-between._row, nav.-space-between, .map-legend .-space-between._item, .-space-between.map-legend, .map .-space-between._dot, .-space-between.gallery, .-space-between.tag, main .-space-between.features, z-button.-space-between, .-space-between.button,
input.-space-between[type=submit], .-space-between.button-group.-joined, cs-button-group.-space-between.-joined, z-logo.-fixed.-vert, .z-logo.-fixed.-vert, .flex-v.-space-between, .stack ._row .-space-between._links, .gallery ._ui .-space-between._links, .gallery .-space-between._ui, .gallery .-space-between._arrow, main .features > .-space-between, main .features > * p.-space-between:first-child, main .highlights p.-space-between, z-logo.-fixed.-horiz, .z-logo.-fixed.-horiz {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.flex-h.-space-around, .stack ._row ._floor > .-space-around, .stack ._row .-space-around._floor, .stack .-space-around._row, nav.-space-around, .map-legend .-space-around._item, .-space-around.map-legend, .map .-space-around._dot, .-space-around.gallery, .-space-around.tag, main .-space-around.features, z-button.-space-around, .-space-around.button,
input.-space-around[type=submit], .-space-around.button-group.-joined, cs-button-group.-space-around.-joined, z-logo.-space-around.-fixed.-vert, .-space-around.z-logo.-fixed.-vert, .flex-v.-space-around, .stack ._row .-space-around._links, .gallery ._ui .-space-around._links, .gallery .-space-around._ui, .gallery .-space-around._arrow, main .features > .-space-around, main .features > * p.-space-around:first-child, main .highlights p.-space-around, z-logo.-space-around.-fixed.-horiz, .-space-around.z-logo.-fixed.-horiz {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.flex-h.-justify-center, .stack ._row ._floor > *, .stack ._row .-justify-center._floor, .stack .-justify-center._row, nav, .map-legend .-justify-center._item, .map-legend nav._item, .map-legend, .map ._dot, .-justify-center.gallery, nav.gallery, .-justify-center.tag, nav.tag, main .-justify-center.features, main nav.features, main .features.map-legend, .-justify-center.button-group.-joined, nav.button-group.-joined, .button-group.-joined.map-legend, cs-button-group.-justify-center.-joined, cs-button-group.-joined.map-legend, z-logo.-justify-center.-fixed.-vert, z-logo.-fixed.-vert.map-legend, .map z-logo.-fixed.-vert._dot, .gallery z-logo.-fixed.-vert._arrow, .-justify-center.z-logo.-fixed.-vert, nav.z-logo.-fixed.-vert, .z-logo.-fixed.-vert.map-legend, .map .z-logo.-fixed.-vert._dot, .gallery .z-logo.-fixed.-vert._arrow, main .highlights p.button-group.-joined, main .highlights p.z-logo.-fixed.-vert, main z-button.features, z-button, z-button.button-group.-joined, z-button.z-logo.-fixed.-vert, main .features.button, .button, .button-group.-joined.button, cs-button-group.-joined.button, z-logo.-fixed.-vert.button, .z-logo.-fixed.-vert.button,
input[type=submit],
input.button-group.-joined[type=submit],
input.z-logo.-fixed.-vert[type=submit], .flex-v.-justify-center, .stack ._row ._links, .gallery ._ui .-justify-center._links, .gallery ._ui nav._links, .gallery ._ui ._links.map-legend, .gallery ._ui .map ._links._dot, .map .gallery ._ui ._links._dot, .gallery .-justify-center._ui, .gallery nav._ui, .gallery ._ui.map-legend, .gallery ._arrow, main .features > .-justify-center, main .features > nav, main .features > .map-legend, z-logo.-justify-center.-fixed.-horiz, z-logo.-fixed.-horiz.map-legend, .map z-logo.-fixed.-horiz._dot, .gallery z-logo.-fixed.-horiz._arrow, .-justify-center.z-logo.-fixed.-horiz, nav.z-logo.-fixed.-horiz, .z-logo.-fixed.-horiz.map-legend, .map .z-logo.-fixed.-horiz._dot, .gallery .z-logo.-fixed.-horiz._arrow, main .features > * p:first-child, main .highlights p, main .highlights p.z-logo.-fixed.-horiz, main .features > z-button, z-button.z-logo.-fixed.-horiz, main .features > .button, z-logo.-fixed.-horiz.button, .z-logo.-fixed.-horiz.button,
input.z-logo.-fixed.-horiz[type=submit] {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flex-h.-justify-start, .stack ._row ._floor > .-justify-start, .stack ._row .-justify-start._floor, .stack .-justify-start._row, nav.-justify-start, .map-legend .-justify-start._item, .-justify-start.map-legend, .map .-justify-start._dot, .-justify-start.gallery, .-justify-start.tag, main .-justify-start.features, z-button.-justify-start, .-justify-start.button,
input.-justify-start[type=submit], .-justify-start.button-group.-joined, cs-button-group.-justify-start.-joined, z-logo.-justify-start.-fixed.-vert, .gallery z-logo.-fixed.-vert._ui, .-justify-start.z-logo.-fixed.-vert, .gallery .z-logo.-fixed.-vert._ui, main .features > .button-group.-joined, main .features > cs-button-group.-joined, main .features > z-logo.-fixed.-vert, main .features > .z-logo.-fixed.-vert, z-button.-menu, z-button.button-group.-joined.-menu, z-button.z-logo.-fixed.-vert.-menu, .button.-menu, z-logo.-fixed.-vert.button.-menu, .z-logo.-fixed.-vert.button.-menu,
input[type=submit].-menu, .flex-v.-justify-start, .stack ._row .-justify-start._links, .gallery ._ui .-justify-start._links, .gallery ._ui, .gallery .-justify-start._arrow, main .features > * p.-justify-start:first-child, main .features > * .gallery p._ui:first-child, .gallery main .features > * p._ui:first-child, main .highlights p.-justify-start, z-logo.-justify-start.-fixed.-horiz, .gallery z-logo.-fixed.-horiz._ui, .-justify-start.z-logo.-fixed.-horiz, .gallery .z-logo.-fixed.-horiz._ui, main .features > *, main .features > .features > p:first-child, main .features > z-logo.-fixed.-horiz, main .features > .z-logo.-fixed.-horiz, z-button.z-logo.-fixed.-horiz.-menu, main .features > * p.button.-menu:first-child, z-logo.-fixed.-horiz.button.-menu, .z-logo.-fixed.-horiz.button.-menu {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.flex-h.-justify-end, .stack ._row ._floor > .-justify-end, .stack ._row ._floor, .stack .-justify-end._row, nav.-justify-end, .map-legend .-justify-end._item, .-justify-end.map-legend, .map .-justify-end._dot, .-justify-end.gallery, .-justify-end.tag, main .-justify-end.features, z-button.-justify-end, .-justify-end.button,
input.-justify-end[type=submit], .-justify-end.button-group.-joined, cs-button-group.-justify-end.-joined, z-logo.-justify-end.-fixed.-vert, .-justify-end.z-logo.-fixed.-vert, .flex-v.-justify-end, .stack ._row .-justify-end._links, .gallery ._ui .-justify-end._links, .gallery .-justify-end._ui, .gallery .-justify-end._arrow, main .features > .-justify-end, main .features > * p.-justify-end:first-child, main .highlights p.-justify-end, z-logo.-justify-end.-fixed.-horiz, .-justify-end.z-logo.-fixed.-horiz {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.flex-h.-align-stretch, .stack ._row ._floor > .-align-stretch, .stack ._row ._floor, .stack .-align-stretch._row, nav.-align-stretch, .map-legend .-align-stretch._item, .-align-stretch.map-legend, .map .-align-stretch._dot, .gallery, .-align-stretch.tag, z-button.-align-stretch, .-align-stretch.button,
input.-align-stretch[type=submit],
input[type=submit].gallery, .-align-stretch.button-group.-joined, .button-group.-joined.gallery, cs-button-group.-align-stretch.-joined, cs-button-group.-joined.gallery, z-logo.-align-stretch.-fixed.-vert, z-logo.-fixed.-vert.gallery, .-align-stretch.z-logo.-fixed.-vert, .z-logo.-fixed.-vert.gallery, main .features, main .button-group.-joined.features, main cs-button-group.-joined.features, main z-logo.-fixed.-vert.features, main .z-logo.-fixed.-vert.features, .flex-v.-align-stretch, .stack ._row .-align-stretch._links, .gallery ._ui ._links, .gallery .-align-stretch._ui, .gallery .-align-stretch._arrow, main .features > .-align-stretch, main .features > .gallery, main .features > * p.-align-stretch:first-child, main .features > * p.gallery:first-child, main .highlights p.-align-stretch, main .highlights p.gallery, z-logo.-align-stretch.-fixed.-horiz, z-logo.-fixed.-horiz.gallery, .-align-stretch.z-logo.-fixed.-horiz, .z-logo.-fixed.-horiz.gallery, main .features > * p.features:first-child, main .highlights p.features, main z-logo.-fixed.-horiz.features, main .z-logo.-fixed.-horiz.features {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.flex-h.-align-center, .stack ._row ._floor > *, .stack ._row .-align-center._floor, .stack ._row, nav.-align-center, .map-legend ._item, .map-legend, .map ._dot, .-align-center.gallery, .-align-center.tag, main .-align-center.features, main .features.map-legend, .-align-center.button-group.-joined, .button-group.-joined.map-legend, cs-button-group.-align-center.-joined, cs-button-group.-joined.map-legend, main z-button.features, z-button, z-button.button-group.-joined, main .features.button, .button, .button-group.-joined.button, cs-button-group.-joined.button,
input[type=submit],
input.button-group.-joined[type=submit], z-logo.-fixed.-vert, .z-logo.-fixed.-vert, .flex-v.-align-center, .stack ._row .-align-center._links, .gallery ._ui .-align-center._links, .gallery ._ui .stack ._links._row, .stack .gallery ._ui ._links._row, .gallery ._ui .map-legend ._links._item, .map-legend .gallery ._ui ._links._item, .gallery ._ui ._links.map-legend, .gallery ._ui .map ._links._dot, .map .gallery ._ui ._links._dot, .gallery .-align-center._ui, .gallery ._ui.map-legend, .gallery .-align-center._arrow, .gallery ._arrow.map-legend, main .features > .-align-center, main .features > .map-legend, main .features > * p.-align-center:first-child, main .features > * .stack p._row:first-child, .stack main .features > * p._row:first-child, main .features > * .map-legend p._item:first-child, .map-legend main .features > * p._item:first-child, main .features > * p.map-legend:first-child, main .features > * .map p._dot:first-child, .map main .features > * p._dot:first-child, main .highlights p.-align-center, main .highlights p.map-legend, z-logo.-align-center.-fixed.-horiz, .stack z-logo.-fixed.-horiz._row, .map-legend z-logo.-fixed.-horiz._item, z-logo.-fixed.-horiz.map-legend, .map z-logo.-fixed.-horiz._dot, .-align-center.z-logo.-fixed.-horiz, .stack .z-logo.-fixed.-horiz._row, .map-legend .z-logo.-fixed.-horiz._item, .z-logo.-fixed.-horiz.map-legend, .map .z-logo.-fixed.-horiz._dot, main .features > z-button, z-button.z-logo.-fixed.-horiz, main .features > .button, main .features > * p.button:first-child, main .highlights p.button, z-logo.-fixed.-horiz.button, .z-logo.-fixed.-horiz.button,
input.z-logo.-fixed.-horiz[type=submit] {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.flex-h.-align-start, .stack ._row ._floor > .-align-start, .stack ._row .-align-start._floor, .stack .-align-start._row, nav.-align-start, .map-legend .-align-start._item, .-align-start.map-legend, .map .-align-start._dot, .-align-start.gallery, .-align-start.tag, main .-align-start.features, z-button.-align-start, .-align-start.button,
input.-align-start[type=submit], .-align-start.button-group.-joined, cs-button-group.-align-start.-joined, z-logo.-align-start.-fixed.-vert, .-align-start.z-logo.-fixed.-vert, .flex-v.-align-start, .stack ._row ._links, .gallery ._ui .-align-start._links, .gallery .-align-start._ui, .gallery .-align-start._arrow, .gallery ._arrow.-prev, main .features > .-align-start, main .features > * p.-align-start:first-child, main .highlights p.-align-start, z-logo.-fixed.-horiz, .z-logo.-fixed.-horiz {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.flex-h.-align-end, .stack ._row ._floor > .-align-end, .stack ._row .-align-end._floor, .stack .-align-end._row, nav.-align-end, .map-legend .-align-end._item, .-align-end.map-legend, .map .-align-end._dot, .-align-end.gallery, .-align-end.tag, main .-align-end.features, z-button.-align-end, .-align-end.button,
input.-align-end[type=submit], .-align-end.button-group.-joined, cs-button-group.-align-end.-joined, z-logo.-align-end.-fixed.-vert, .gallery z-logo.-fixed.-vert._ui, .-align-end.z-logo.-fixed.-vert, .gallery .z-logo.-fixed.-vert._ui, .flex-v.-align-end, .stack ._row .-align-end._links, .gallery ._ui .-align-end._links, .gallery ._ui, .gallery .-align-end._arrow, .gallery ._arrow.-next, main .features > .-align-end, main .features > * p.-align-end:first-child, main .features > * .gallery p._ui:first-child, .gallery main .features > * p._ui:first-child, main .highlights p.-align-end, z-logo.-align-end.-fixed.-horiz, .gallery z-logo.-fixed.-horiz._ui, .-align-end.z-logo.-fixed.-horiz, .gallery .z-logo.-fixed.-horiz._ui {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.flex-h .-col-1, .stack ._row .-col-1, nav .-col-1, .map-legend .-col-1, .map ._dot .-col-1, .gallery .-col-1, .gallery ._slide-container, .tag .-col-1, main .features .-col-1, z-button .-col-1, .button .-col-1,
input[type=submit] .-col-1, .button-group.-joined .-col-1, cs-button-group.-joined .-col-1, z-logo.-fixed.-vert .-col-1, z-logo.-fixed.-vert .gallery ._slide-container, .gallery z-logo.-fixed.-vert ._slide-container, .z-logo.-fixed.-vert .-col-1, .z-logo.-fixed.-vert .gallery ._slide-container, .gallery .z-logo.-fixed.-vert ._slide-container, main .features > *, .button-group.-joined main .features > *, main .button-group.-joined .features > *, cs-button-group.-joined main .features > *, main cs-button-group.-joined .features > *, z-logo.-fixed.-vert main .features > *, main z-logo.-fixed.-vert .features > *, .z-logo.-fixed.-vert main .features > *, main .z-logo.-fixed.-vert .features > *, main .features > * p:first-child, .flex-v .-col-1, .gallery ._ui ._links .-col-1, main .features > * p:first-child .-col-1, main .highlights p .-col-1, z-logo.-fixed.-horiz .-col-1, z-logo.-fixed.-horiz .gallery ._slide-container, .gallery z-logo.-fixed.-horiz ._slide-container, .z-logo.-fixed.-horiz .-col-1, .z-logo.-fixed.-horiz .gallery ._slide-container, .gallery .z-logo.-fixed.-horiz ._slide-container, main .features > .features > *, main .features > * p:first-child .features > *, main .highlights p .features > *, z-logo.-fixed.-horiz main .features > *, main z-logo.-fixed.-horiz .features > *, .z-logo.-fixed.-horiz main .features > *, main .z-logo.-fixed.-horiz .features > * {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flex-h .-col-2, .stack ._row .-col-2, nav .-col-2, .map-legend .-col-2, .map ._dot .-col-2, .gallery .-col-2, .tag .-col-2, main .features .-col-2, z-button .-col-2, .button .-col-2,
input[type=submit] .-col-2, .button-group.-joined .-col-2, cs-button-group.-joined .-col-2, z-logo.-fixed.-vert .-col-2, .z-logo.-fixed.-vert .-col-2, .flex-v .-col-2, .gallery ._ui ._links .-col-2, main .features > * p:first-child .-col-2, main .highlights p .-col-2, z-logo.-fixed.-horiz .-col-2, .z-logo.-fixed.-horiz .-col-2 {
  -webkit-box-flex: 2;
      -ms-flex: 2;
          flex: 2;
}
.flex-h .-col-3, .stack ._row .-col-3, .stack ._row ._floor, nav .-col-3, .map-legend .-col-3, .map ._dot .-col-3, .gallery .-col-3, .tag .-col-3, main .features .-col-3, z-button .-col-3, .button .-col-3,
input[type=submit] .-col-3, .button-group.-joined .-col-3, cs-button-group.-joined .-col-3, z-logo.-fixed.-vert .-col-3, .z-logo.-fixed.-vert .-col-3, .flex-v .-col-3, .gallery ._ui ._links .-col-3, main .features > * p:first-child .-col-3, main .highlights p .-col-3, z-logo.-fixed.-horiz .-col-3, .z-logo.-fixed.-horiz .-col-3 {
  -webkit-box-flex: 3;
      -ms-flex: 3;
          flex: 3;
}
.flex-h .-col-4, .stack ._row .-col-4, nav .-col-4, .map-legend .-col-4, .map ._dot .-col-4, .gallery .-col-4, .tag .-col-4, main .features .-col-4, z-button .-col-4, .button .-col-4,
input[type=submit] .-col-4, .button-group.-joined .-col-4, cs-button-group.-joined .-col-4, z-logo.-fixed.-vert .-col-4, .z-logo.-fixed.-vert .-col-4, .flex-v .-col-4, .gallery ._ui ._links .-col-4, main .features > * p:first-child .-col-4, main .highlights p .-col-4, z-logo.-fixed.-horiz .-col-4, .z-logo.-fixed.-horiz .-col-4 {
  -webkit-box-flex: 4;
      -ms-flex: 4;
          flex: 4;
}
.flex-h .-col-5, .stack ._row .-col-5, nav .-col-5, .map-legend .-col-5, .map ._dot .-col-5, .gallery .-col-5, .tag .-col-5, main .features .-col-5, z-button .-col-5, .button .-col-5,
input[type=submit] .-col-5, .button-group.-joined .-col-5, cs-button-group.-joined .-col-5, z-logo.-fixed.-vert .-col-5, .z-logo.-fixed.-vert .-col-5, .flex-v .-col-5, .gallery ._ui ._links .-col-5, main .features > * p:first-child .-col-5, main .highlights p .-col-5, z-logo.-fixed.-horiz .-col-5, .z-logo.-fixed.-horiz .-col-5 {
  -webkit-box-flex: 5;
      -ms-flex: 5;
          flex: 5;
}
.flex-h .-col-6, .stack ._row .-col-6, nav .-col-6, .map-legend .-col-6, .map ._dot .-col-6, .gallery .-col-6, .tag .-col-6, main .features .-col-6, z-button .-col-6, .button .-col-6,
input[type=submit] .-col-6, .button-group.-joined .-col-6, cs-button-group.-joined .-col-6, z-logo.-fixed.-vert .-col-6, .z-logo.-fixed.-vert .-col-6, .flex-v .-col-6, .gallery ._ui ._links .-col-6, main .features > * p:first-child .-col-6, main .highlights p .-col-6, z-logo.-fixed.-horiz .-col-6, .z-logo.-fixed.-horiz .-col-6 {
  -webkit-box-flex: 6;
      -ms-flex: 6;
          flex: 6;
}

.flex-h, .stack ._row ._floor > *, .stack ._row ._floor, .stack ._row, nav, .map-legend ._item, .map-legend, .map ._dot, .gallery, .tag, main .features, z-button, .button,
input[type=submit], .button-group.-joined, cs-button-group.-joined, z-logo.-fixed.-vert, .z-logo.-fixed.-vert {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-column-gap: var(--gap);
     -moz-column-gap: var(--gap);
          column-gap: var(--gap);
  row-gap: calc(0.5 * var(--gap));
  /* hr is used to break the line */
}
.flex-h.-inline, .stack ._row ._floor > .-inline, .stack ._row .-inline._floor, .stack .-inline._row, nav.-inline, .map-legend .-inline._item, .-inline.map-legend, .map .-inline._dot, .-inline.gallery, .-inline.tag, main .-inline.features, .-inline.button-group.-joined, cs-button-group.-inline.-joined, z-logo.-inline.-fixed.-vert, .-inline.z-logo.-fixed.-vert, main z-button.features, z-button, z-button.button-group.-joined, z-button.z-logo.-fixed.-vert, main .features.button, .button, .button-group.-joined.button, cs-button-group.-joined.button, z-logo.-fixed.-vert.button, .z-logo.-fixed.-vert.button,
input[type=submit],
input.button-group.-joined[type=submit],
input.z-logo.-fixed.-vert[type=submit] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.flex-h.-wrap, .stack ._row ._floor > .-wrap, .stack ._row .-wrap._floor, .stack .-wrap._row, nav.-wrap, .map-legend .-wrap._item, .-wrap.map-legend, .map .-wrap._dot, .-wrap.gallery, .-wrap.tag, z-button.-wrap, .-wrap.button,
input.-wrap[type=submit], .-wrap.button-group.-joined, cs-button-group.-wrap.-joined, z-logo.-wrap.-fixed.-vert, .-wrap.z-logo.-fixed.-vert, main .features, main .button-group.-joined.features, main cs-button-group.-joined.features, main z-logo.-fixed.-vert.features, main .z-logo.-fixed.-vert.features {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flex-h hr, .stack ._row ._floor hr, .stack ._row hr, nav hr, .map-legend ._item hr, .map-legend hr, .map ._dot hr, .gallery hr, .tag hr, main .features hr, z-button hr, .button hr,
input[type=submit] hr, .button-group.-joined hr, cs-button-group.-joined hr, z-logo.-fixed.-vert hr, .z-logo.-fixed.-vert hr {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  height: 0;
  border: none;
  margin: 0;
  padding: 0;
}
@media (orientation:portrait) {
  .flex-h.-responsive, .stack ._row ._floor > .-responsive, .stack ._row .-responsive._floor, .stack .-responsive._row, nav.-responsive, .map-legend .-responsive._item, .-responsive.map-legend, .map .-responsive._dot, .-responsive.gallery, .-responsive.tag, z-button.-responsive, .-responsive.button,
  input.-responsive[type=submit], .-responsive.button-group.-joined, cs-button-group.-responsive.-joined, z-logo.-responsive.-fixed.-vert, .-responsive.z-logo.-fixed.-vert, main .features, main .button-group.-joined.features, main cs-button-group.-joined.features, main z-logo.-fixed.-vert.features, main .z-logo.-fixed.-vert.features {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: var(--gap);
  }
  .flex-h.-responsive hr:not([class]), .stack ._row ._floor > .-responsive hr:not([class]), .stack ._row .-responsive._floor hr:not([class]), .stack .-responsive._row hr:not([class]), nav.-responsive hr:not([class]), .map-legend .-responsive._item hr:not([class]), .-responsive.map-legend hr:not([class]), .map .-responsive._dot hr:not([class]), .-responsive.gallery hr:not([class]), .-responsive.tag hr:not([class]), z-button.-responsive hr:not([class]), .-responsive.button hr:not([class]),
  input.-responsive[type=submit] hr:not([class]), .-responsive.button-group.-joined hr:not([class]), cs-button-group.-responsive.-joined hr:not([class]), z-logo.-responsive.-fixed.-vert hr:not([class]), .-responsive.z-logo.-fixed.-vert hr:not([class]), main .features hr:not([class]) {
    display: none;
  }
}

.flex-v, .stack ._row ._links, .gallery ._ui ._links, .gallery ._ui, .gallery ._arrow, main .features > *, main .features > * p:first-child, main .highlights p, z-logo.-fixed.-horiz, .z-logo.-fixed.-horiz {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}

z-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  height: auto;
}
@media (max-width:560px) {
  z-tabs {
    width: 100%;
  }
}
z-tabs.-inline, z-tabs.button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
z-tabs ._tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: top;
      -ms-flex-pack: top;
          justify-content: top;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 1rem 8rem;
  color: #606669;
  stroke: #606669;
  white-space: nowrap;
  border-bottom: 1px solid var(--col-main);
}
@media (max-width:560px) {
  z-tabs ._tab {
    padding: 1rem 0.5rem;
  }
}
z-tabs ._tab > *:not(:first-child) {
  margin-top: 0.5rem;
}
z-tabs ._tab:not(.-selected):hover {
  color: var(--col-main);
  stroke: var(--col-main);
  cursor: pointer;
}
z-tabs ._tab.-selected {
  color: var(--col-main);
  stroke: var(--col-main);
  border-bottom: 8px solid var(--col-main);
}
z-tabs.-small ._tab {
  padding: 0.5rem;
}
z-tabs.-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  overflow: hidden;
  text-overflow: ellipsis;
}
z-tabs.-vertical > *:not(:first-child) {
  margin-top: auto;
}
z-tabs.-vertical ._tab {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: none;
  border-left: 1px solid var(--col-main);
  padding: 1rem;
  overflow: hidden;
}
z-tabs.-vertical ._tab.-selected {
  border-bottom: none;
  border-left: 8px solid var(--col-main);
}
z-tabs.-vertical ._tab span {
  max-width: 35ch;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}
z-tabs.-vertical ._tab > *:not(:first-child) {
  margin-top: 0;
  margin-left: 0.5rem;
}

.tag {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  width: auto;
  border-radius: 4px;
  border: 1px solid #141B26;
  margin-bottom: 0.5rem;
}
.tag:not([disabled]) {
  cursor: pointer;
}
.tag:not([disabled]):hover {
  opacity: 0.66;
}

.tooltip, z-tooltip {
  --display: none;
  position: fixed;
  bottom: var(--y);
  left: var(--x);
  max-width: 25rem;
  display: var(--display);
  border: 1px solid #FFBB00;
  background: #FD8;
  border-radius: 4px;
  -webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2666666667);
          box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2666666667);
  z-index: 200;
  pointer-events: none;
}

.transition {
  position: fixed;
  top: -15vmax;
  left: -15vmax;
  width: 130vmax;
  height: 130vmax;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transform: translateX(110%) rotate(45deg);
          transform: translateX(110%) rotate(45deg);
  z-index: 100000;
  pointer-events: none;
}
.transition.-moved {
  -webkit-transform: translateX(-110%) rotate(-45deg);
          transform: translateX(-110%) rotate(-45deg);
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: -webkit-transform 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: transform 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: transform 1s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 1s cubic-bezier(0.37, 0, 0.63, 1);
}

.gallery {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 300;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0;
  -webkit-transition: opacity 700ms, -webkit-transform 700ms;
  transition: opacity 700ms, -webkit-transform 700ms;
  transition: transform 700ms, opacity 700ms;
  transition: transform 700ms, opacity 700ms, -webkit-transform 700ms;
  pointer-events: none;
}
.gallery.-show {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
  pointer-events: all;
}
.gallery ._slide-container {
  background: #141B26;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
}
.gallery ._slide-container img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.gallery ._caption {
  display: none;
}
@media (orientation:portrait) {
  .gallery ._caption {
    display: block;
    position: absolute;
    bottom: 1rem;
    left: 4rem;
    width: calc(100% - 8rem);
    text-align: center;
  }
}
.gallery ._arrow {
  position: absolute;
  top: 0;
  height: 100%;
  width: 25%;
  cursor: pointer;
}
.gallery ._arrow:hover {
  color: white;
  stroke: white;
}
.gallery ._arrow.-prev {
  left: 0;
}
.gallery ._arrow.-next {
  right: 0;
}
@media (orientation:portrait) {
  .gallery ._arrow {
    top: auto;
    bottom: 0;
    height: auto;
    width: auto;
    border: 1px solid var(--col-main);
  }
}
.gallery ._btn-close {
  position: absolute;
  right: 1rem;
  top: 1rem;
}
@media (orientation:portrait) {
  .gallery ._btn-close {
    padding: 1rem;
    border: 1px solid var(--col-main);
  }
}
.gallery ._ui {
  width: 20ch;
}
@media (orientation:portrait) {
  .gallery ._ui {
    display: none;
  }
}
.gallery ._ui sup {
  display: inline-block;
  font-size: 0.6em;
  -webkit-transform: translateY(-0.5em);
          transform: translateY(-0.5em);
  text-transform: uppercase;
}
.gallery ._ui h4 {
  display: block;
  width: 100%;
  color: #141B26;
  text-transform: capitalize;
}
.gallery ._ui ._links {
  width: 100%;
}
.gallery ._ui ._links a {
  --my-color: var(--col-main);
  color: var(--my-color);
  width: 100%;
  padding: 0.5rem 0;
}
.gallery ._ui ._links a.-hide {
  display: none;
}
.gallery ._ui ._links a {
  border-top: 1px solid var(--my-color);
}
.gallery ._ui ._links a:not([active]) {
  cursor: pointer;
}
.gallery ._ui ._links a:hover {
  --my-color: #141B26;
}
.gallery ._ui ._links a[active] {
  --my-color: #141B26;
  pointer-events: none;
}

.gate {
  position: fixed;
  top: 0;
  width: 50%;
  height: 100%;
  z-index: 100;
  -webkit-transform: translateX(calc(var(--gate-opening) * var(--gate-size) * var(--gate-direction)));
          transform: translateX(calc(var(--gate-opening) * var(--gate-size) * var(--gate-direction)));
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
  background-color: var(--col-bg);
}
.gate img {
  width: 100%;
  height: auto;
  -webkit-transform: translateY(var(--gate-pos-y));
          transform: translateY(var(--gate-pos-y));
}
@media (orientation:portrait) {
  .gate img {
    -webkit-transform: none;
            transform: none;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.gate.-left {
  --gate-direction:-1;
  left: 0%;
}
@media (orientation:portrait) {
  .gate.-left img {
    -o-object-position: 100% var(--gate-pos-y);
       object-position: 100% var(--gate-pos-y);
  }
}
.gate.-right {
  --gate-direction:1;
  right: 0;
}
@media (orientation:portrait) {
  .gate.-right img {
    -o-object-position: 0% var(--gate-pos-y);
       object-position: 0% var(--gate-pos-y);
  }
}

:root {
  --screen-aspect: 1;
}

.rotation-wrapper-inner {
  position: relative;
}
@media (max-width:560px) {
  .rotation-wrapper-inner {
    padding: 60% 0;
  }
}

iframe {
  opacity: 0.75;
}

.map {
  --item-scale: 1.25;
  --item-rotation: 0deg;
  border: 2px solid #CE8868;
}
@media (max-width:560px) {
  .map {
    -webkit-transform: rotate(-90deg) scale(1.77);
            transform: rotate(-90deg) scale(1.77);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    --item-scale: .5;
    --item-rotation: 90deg;
  }
  .map ._jackson {
    top: 0;
    right: 0;
    -webkit-transform: translate(0, 0) rotate(0) scale(0.5) !important;
            transform: translate(0, 0) rotate(0) scale(0.5) !important;
    -webkit-transform-origin: 100% 0;
            transform-origin: 100% 0;
  }
}
.map ._caption {
  color: var(--col-accent);
  position: absolute;
  top: var(--y);
  left: var(--x);
  -webkit-transform: translate(-50%, -50%) scale(var(--item-scale)) rotate(var(--item-rotation));
          transform: translate(-50%, -50%) scale(var(--item-scale)) rotate(var(--item-rotation));
}
.map ._caption.-left {
  -webkit-transform: translateY(-50%) scale(var(--item-scale)) rotate(var(--item-rotation));
          transform: translateY(-50%) scale(var(--item-scale)) rotate(var(--item-rotation));
}
.map ._caption.-right {
  -webkit-transform: translateY(-50%) scale(var(--item-scale)) rotate(var(--item-rotation));
          transform: translateY(-50%) scale(var(--item-scale)) rotate(var(--item-rotation));
  left: auto;
  right: var(--x);
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
}
.map ._caption.-bottom {
  top: auto;
  bottom: var(--y);
}
.map ._dot {
  border-radius: 0.75rem;
  background: var(--col-dot);
  stroke: white;
  padding: 0 0.5rem;
  height: 1.5rem;
  width: 1.5rem;
  -webkit-transform: translate(-50%, -50%) scale(var(--item-scale)) rotate(var(--item-rotation));
          transform: translate(-50%, -50%) scale(var(--item-scale)) rotate(var(--item-rotation));
  -webkit-box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.5333333333);
          box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.5333333333);
  cursor: pointer;
}
.map ._dot span {
  display: none;
}
.map ._dot:hover {
  width: auto;
}
.map ._dot:hover span {
  display: block;
}
@media (max-width:560px) {
  .map ._dot z-icon {
    display: none;
  }
}
.map z-icon._logo {
  -webkit-transform: translate(-50%, -50%) scale(var(--item-scale)) rotate(var(--item-rotation));
          transform: translate(-50%, -50%) scale(var(--item-scale)) rotate(var(--item-rotation));
}
.map z-icon._logo svg {
  width: 50px;
  height: 81px;
  fill: var(--col-accent) !important;
}

.map-legend {
  --col-dot: #FC0;
}
.map-legend ._color {
  height: 1rem;
  width: 1rem;
  border-radius: 50%;
  background: var(--col-dot);
}
.map-legend span {
  margin-left: 0.5rem;
}

nav {
  --t-x:-50%;
  --t-y:-100%;
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translate(var(--t-x), var(--t-y));
          transform: translate(var(--t-x), var(--t-y));
  -webkit-transition: -webkit-transform 400ms;
  transition: -webkit-transform 400ms;
  transition: transform 400ms;
  transition: transform 400ms, -webkit-transform 400ms;
  z-index: 100;
}
nav.-show {
  --t-y: 0px;
}
nav a {
  font-weight: 700;
  text-decoration: none;
  padding: 0.5rem;
}
nav a:not([active]) {
  cursor: pointer;
  border-bottom: 2px solid var(--col-main);
}
nav a[active] {
  pointer-events: none;
  border-bottom: 2px solid var(--col-accent);
}
@media (orientation: portrait) and (max-width: 760px) {
  nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    width: 100%;
    z-index: 300;
  }
  nav a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 2rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.stack ._row {
  width: 100%;
  height: 2rem;
  --void-w:0%;
  --roof-w: 20%;
  --occupied-w:50%;
  --available-w:30%;
}
.stack ._row > * {
  height: 100%;
}
.stack ._row ._floor > * {
  height: 100%;
  border: 2px solid #141B26;
  line-height: 100%;
}
.stack ._row ._floor ._zone-void {
  border: 1px solid red;
  width: var(--void-w);
  height: 100%;
}
.stack ._row ._floor ._zone-roof {
  color: #F4F2F0;
  background: #CE8868;
  width: var(--roof-w);
  height: 100%;
}
.stack ._row ._floor ._zone-occupied {
  background: #606669;
  width: var(--occupied-w);
  height: 100%;
}
.stack ._row ._floor ._zone-available {
  background: #F4F2F0;
  color: #141B26;
  width: var(--available-w);
  height: 100%;
}
.stack ._row ._floor span {
  margin-left: 0.35em;
}
.stack ._row ._label {
  width: 4ch;
  text-align: right;
}
.stack ._row ._links {
  width: 12ch;
}
@media (max-width:560px) {
  .stack ._row ._links {
    width: 2ch;
  }
}
.stack ._row ._links a:hover {
  cursor: pointer;
  color: var(--col-accent);
}/*# sourceMappingURL=343.css.map */