@charset "UTF-8";
:root {
  --line-height: 1.3em;
  --purple: #6A00FF;
}

@font-face {
  font-family: "PublicSans";
  font-style: normal;
  font-weight: normal;
  src: url(../fonts/PublicSans-VariableFont_wght.ttf) format("truetype-variations");
  font-weight: 1 999;
}
* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100svw;
  scroll-behavior: smooth;
  height: 100%;
  font-size: 1.1vw;
  font-family: "PublicSans", sans-serif;
  letter-spacing: 0.02em;
}

body {
  height: 100%;
  width: 100%;
  overflow-x: hidden;
  line-height: var(--line-height);
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

h1, h2, h3, h4, h5 {
  font-size: inherit;
  font-weight: inherit;
  margin-block-start: 0;
  margin-block-end: 0;
}

ul {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
  list-style: none;
}

ol {
  margin-block-start: 0;
  margin-block-end: 0;
}

p {
  margin-block-start: 0;
  margin-block-end: 0;
}

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

article, section {
  position: relative;
}

figure {
  margin: 0;
}

blockquote {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

.d-b {
  display: block;
}

.d-i-b {
  display: block;
}

.d-f {
  display: flex;
  flex-wrap: wrap;
}

.d-f-c {
  flex-direction: column;
}

.j-s-b {
  justify-content: space-between;
}

.j-e {
  justify-content: flex-end;
}

.j-c {
  justify-content: center;
}

.a-b {
  align-items: baseline;
}

.a-s {
  align-items: flex-start;
}

.a-e {
  align-items: flex-end;
}

.rel {
  position: relative;
}

.abs {
  position: absolute;
}

.sticky {
  position: sticky;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

.w-50 {
  width: 50%;
}

.w-100 {
  width: 100%;
}

.f-w {
  width: 100svw;
  margin-left: calc(var(--margin) * -1);
}

.m-t-1 {
  margin-top: 1rem;
}

.m-t-2 {
  margin-top: 2rem;
}

.m-t-3 {
  margin-top: 3rem;
}

.m-t-4 {
  margin-top: 4rem;
}

.m-t-5 {
  margin-top: 5rem;
}

.m-t-6 {
  margin-top: 6rem;
}

.m-t-7 {
  margin-top: 7rem;
}

.m-t-8 {
  margin-top: 8rem;
}

.m-t-9 {
  margin-top: 9rem;
}

.m-t-10 {
  margin-top: 10rem;
}

.m-t-11 {
  margin-top: 11rem;
}

.m-t-12 {
  margin-top: 12rem;
}

.m-t-13 {
  margin-top: 13rem;
}

.m-t-14 {
  margin-top: 14rem;
}

.m-t-15 {
  margin-top: 15rem;
}

.m-t-16 {
  margin-top: 16rem;
}

.m-t-17 {
  margin-top: 17rem;
}

.m-t-18 {
  margin-top: 18rem;
}

.m-t-19 {
  margin-top: 19rem;
}

.m-t-20 {
  margin-top: 20rem;
}

.m-t-21 {
  margin-top: 21rem;
}

.m-t-22 {
  margin-top: 22rem;
}

.m-t-23 {
  margin-top: 23rem;
}

.m-t-24 {
  margin-top: 24rem;
}

.m-t-25 {
  margin-top: 25rem;
}

.m-t-26 {
  margin-top: 26rem;
}

.m-t-27 {
  margin-top: 27rem;
}

.m-t-28 {
  margin-top: 28rem;
}

.m-t-29 {
  margin-top: 29rem;
}

.m-t-30 {
  margin-top: 30rem;
}

.m-t-31 {
  margin-top: 31rem;
}

.m-t-32 {
  margin-top: 32rem;
}

.m-t-33 {
  margin-top: 33rem;
}

.m-t-34 {
  margin-top: 34rem;
}

.m-t-35 {
  margin-top: 35rem;
}

.m-t-36 {
  margin-top: 36rem;
}

.m-b-1 {
  margin-bottom: 1rem;
}

.m-b-2 {
  margin-bottom: 2rem;
}

.m-b-3 {
  margin-bottom: 3rem;
}

.m-b-4 {
  margin-bottom: 4rem;
}

.m-b-5 {
  margin-bottom: 5rem;
}

.m-b-6 {
  margin-bottom: 6rem;
}

.m-b-7 {
  margin-bottom: 7rem;
}

.m-b-8 {
  margin-bottom: 8rem;
}

.m-b-9 {
  margin-bottom: 9rem;
}

.m-b-10 {
  margin-bottom: 10rem;
}

.m-b-11 {
  margin-bottom: 11rem;
}

.m-b-12 {
  margin-bottom: 12rem;
}

.m-b-13 {
  margin-bottom: 13rem;
}

.m-b-14 {
  margin-bottom: 14rem;
}

.m-b-15 {
  margin-bottom: 15rem;
}

.m-b-16 {
  margin-bottom: 16rem;
}

.m-b-17 {
  margin-bottom: 17rem;
}

.m-b-18 {
  margin-bottom: 18rem;
}

.m-b-19 {
  margin-bottom: 19rem;
}

.m-b-20 {
  margin-bottom: 20rem;
}

.m-b-21 {
  margin-bottom: 21rem;
}

.m-b-22 {
  margin-bottom: 22rem;
}

.m-b-23 {
  margin-bottom: 23rem;
}

.m-b-24 {
  margin-bottom: 24rem;
}

.m-b-25 {
  margin-bottom: 25rem;
}

.m-b-26 {
  margin-bottom: 26rem;
}

.m-b-27 {
  margin-bottom: 27rem;
}

.m-b-28 {
  margin-bottom: 28rem;
}

.m-b-29 {
  margin-bottom: 29rem;
}

.m-b-30 {
  margin-bottom: 30rem;
}

.m-b-31 {
  margin-bottom: 31rem;
}

.m-b-32 {
  margin-bottom: 32rem;
}

.m-b-33 {
  margin-bottom: 33rem;
}

.m-b-34 {
  margin-bottom: 34rem;
}

.m-b-35 {
  margin-bottom: 35rem;
}

.m-b-36 {
  margin-bottom: 36rem;
}

.p-t-1 {
  padding-top: 1rem;
}

.p-t-2 {
  padding-top: 2rem;
}

.p-t-3 {
  padding-top: 3rem;
}

.p-t-4 {
  padding-top: 4rem;
}

.p-t-5 {
  padding-top: 5rem;
}

.p-t-6 {
  padding-top: 6rem;
}

.p-t-7 {
  padding-top: 7rem;
}

.p-t-8 {
  padding-top: 8rem;
}

.p-t-9 {
  padding-top: 9rem;
}

.p-t-10 {
  padding-top: 10rem;
}

.p-t-11 {
  padding-top: 11rem;
}

.p-t-12 {
  padding-top: 12rem;
}

.p-b-1 {
  padding-bottom: 1rem;
}

.p-b-2 {
  padding-bottom: 2rem;
}

.p-b-3 {
  padding-bottom: 3rem;
}

.p-b-4 {
  padding-bottom: 4rem;
}

.p-b-5 {
  padding-bottom: 5rem;
}

.p-b-6 {
  padding-bottom: 6rem;
}

.p-b-7 {
  padding-bottom: 7rem;
}

.p-b-8 {
  padding-bottom: 8rem;
}

.p-b-9 {
  padding-bottom: 9rem;
}

.p-b-10 {
  padding-bottom: 10rem;
}

.p-b-11 {
  padding-bottom: 11rem;
}

.p-b-12 {
  padding-bottom: 12rem;
}

.m-t-a {
  margin-top: auto;
}

.m-r-a {
  margin-right: auto;
}

.m-l-a {
  margin-left: auto;
}

.m-r-g {
  margin-right: var(--gutter);
}

.m-t-lh {
  margin-top: var(--line-height);
}

.m-b-lh {
  margin-bottom: var(--line-height);
}

.m-r-lh {
  margin-right: var(--line-height);
}

.p-l-g {
  padding-left: var(--gutter);
}

.p-m {
  padding: var(--margin);
}

.p-l-m {
  padding-left: var(--margin);
}

.p-r-m {
  padding-right: var(--margin);
}

.p-b-m {
  padding-bottom: var(--margin);
}

.f-m {
  font-size: 1.7rem;
  line-height: 1.15em;
  letter-spacing: 0;
}
.f-m p + p {
  margin-top: 1.15em;
}

.t-c {
  text-align: center;
}

.purple {
  color: var(--purple);
}

.white {
  color: white;
}

.bg-purple {
  background-color: var(--purple);
  color: white;
}

.bg-white {
  background-color: white;
}

.cover {
  object-fit: cover;
}
.cover img {
  height: 100%;
}

.top-center {
  object-position: top center;
}

header {
  padding: var(--margin);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4;
  pointer-events: none;
  will-change: clip-path;
  background-color: white;
  transition: all 0.66s;
  overflow: hidden;
}
header button {
  font-size: inherit;
  font-weight: inherit;
  cursor: pointer;
  color: black;
  background: transparent;
  border: 0;
  border-radius: 0.6em;
  padding: 0;
  margin: 0;
  pointer-events: auto;
  color: inherit;
}

.logo {
  pointer-events: auto;
}
.logo img {
  width: 5.1rem;
  transform-origin: top left;
}

nav {
  border-radius: 0.6em;
  pointer-events: auto;
}
nav li {
  padding: 0 2em;
}

.nav-mobile {
  z-index: 2;
  display: none;
  border-radius: 0.6em;
  padding: 1.25em 0;
  width: 100%;
  line-height: 1.5;
  top: 1rem;
  position: relative;
  pointer-events: auto;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.nav-mobile ul li {
  padding-bottom: 0.2em;
}

.nav-active .nav-mobile {
  opacity: 1;
  pointer-events: auto;
}
.nav-active header {
  max-height: 27rem;
  background-color: rgb(248, 248, 248);
}

main {
  padding: 0 var(--margin);
}
main > section:first-child {
  padding-top: 15rem;
}
main > section:first-child#hero {
  padding-top: 0;
}

section {
  display: flex;
  flex-direction: column;
}

.content {
  display: flex;
  flex-direction: column;
}
.content article.f-w {
  height: 40rem;
}
.content article.s-6 {
  margin-top: 4rem;
}

#hero {
  height: 88.5svh;
  align-items: flex-start;
}
#hero figure {
  height: 100%;
  width: 100%;
  z-index: -1;
}
#hero .button {
  background-color: white;
  margin-left: var(--margin);
  margin-bottom: var(--margin);
  color: black;
}

.select {
  width: 0.9em;
  position: relative;
  top: -0.05em;
  margin-left: 0.2em;
  transition: transform 0.5s;
}

.nav-active .select, .socials-active .select {
  transform: rotate(180deg);
}

.bg-purple .select {
  fill: white;
}

footer {
  padding: var(--margin) var(--margin);
}
footer p {
  margin-top: 6rem;
  max-width: 33em;
  margin-right: auto;
}
footer a + a {
  margin-left: 1em;
}

.text-default-block + .full-width-block, .text-lead-block + .full-width-block {
  margin-top: 4rem;
}

.full-width-block + .text-default-block {
  margin-bottom: 1rem;
}
.full-width-block + .text-lead-block {
  margin-top: 4rem;
}

.team-list-block {
  margin-top: 4rem;
}

.headline {
  margin-top: 0.45em;
}

.text-lead-block + .text-default-block {
  margin-top: 1em;
}
.text-lead-block + .text-lead-block {
  margin-top: 4rem;
}

.text-default-block + .text-default-block {
  margin-top: 1em;
}

.text-default-block + .text-lead-block {
  margin-top: 4rem;
}

.text-default-block h2 {
  margin-bottom: 1.3rem;
  text-transform: uppercase;
}
.text-default-block h3 {
  text-decoration: underline;
}
.text-default-block h4 {
  font-style: italic;
  margin-bottom: 1.3rem;
}
.text-default-block p > img {
  width: 23rem;
}
.text-default-block blockquote {
  margin-bottom: 1.3rem;
  font-size: 1.7rem;
  padding-left: 3rem;
  line-height: 1.15em;
}

ol {
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0;
  margin-left: 1.55em;
}

.additional-text {
  width: 100%;
}

.page-contact .text-container {
  align-items: flex-end;
}
.page-contact .additional-text {
  margin-top: 1.3em;
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}
.page-contact .additional-text + a.button {
  margin-right: auto;
  margin-left: calc(var(--unit) * 6 + var(--gutter) * 6);
  margin-top: 1.3em;
}

.socials-container {
  position: relative;
}

.socials {
  position: absolute;
  border-radius: 0.6em;
  text-align: left;
  line-height: 1.6;
  left: 8em;
  top: 2.2em;
}

.wpcf7 {
  margin-bottom: 2rem;
}
.wpcf7 input[type=email] {
  width: 28rem;
  border: 2px solid var(--purple);
  border-radius: 0.6rem;
  font-size: inherit;
  padding: 1.25em 2em;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  color: var(--purple);
}
.wpcf7 input[type=submit] {
  font-size: inherit;
  font-weight: inherit;
  cursor: pointer;
  background: var(--purple);
  color: white;
  border: 0;
  border-radius: 0.6em;
  padding: 1.25em 2em;
  margin: 0;
}
.wpcf7 input[type=checkbox] {
  cursor: pointer;
  font-size: inherit;
  width: 1.4em;
  height: 1.4em;
  appearance: none;
  webkit-appearance: none;
  opacity: 0;
  z-index: 2;
  margin-right: 0.4em;
  margin-top: 0;
  margin-left: 0;
  margin-bottom: 0;
}
.wpcf7 input[type=checkbox] + span {
  position: relative;
  font-size: inherit;
}
.wpcf7 input[type=checkbox] + span:before {
  cursor: pointer;
  content: "";
  border: 2px solid var(--purple);
  border-radius: 0.4em;
  width: 1.4em;
  height: 1.4em;
  position: absolute;
  left: -1.8em;
  margin-top: -0.13em;
  pointer-events: none;
  box-sizing: border-box;
}
.wpcf7 input[type=checkbox]:checked + span:before {
  background-color: white;
  border: 0.55em var(--purple) solid;
}

.wpcf7-list-item {
  margin: 0 !important;
  align-items: center;
  display: flex;
}

.wpcf7-not-valid-tip {
  color: #ff0b0b;
  position: absolute;
  top: -1.4em;
  left: 0.8em;
  font-size: 75% !important;
  letter-spacing: 0.03em;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0 0 !important;
  padding: 0 !important;
  border: unset !important;
}

.grecaptcha-badge {
  display: none !important;
}

#home-about p {
  font-size: 1.4rem;
  line-height: 1.24;
}
#home-about p:before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: var(--purple);
  border-radius: 1em;
  margin: auto;
  margin-bottom: 0.5em;
}

.text-lead-block p {
  margin-left: -0.025em;
}

.page-imprint main, .page-privacy-policy main {
  padding-bottom: 4rem;
}

.single-project .content, .single-event .content {
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
}
.single-project .content .text-default-block + .image.s-5, .single-event .content .text-default-block + .image.s-5 {
  margin-right: calc(var(--unit) * 1 + var(--gutter) * 1);
}
.single-project .content .text-default-block + .image.s-4, .single-event .content .text-default-block + .image.s-4 {
  margin-right: calc(var(--unit) * 1 + var(--gutter) * 2);
}
.single-project .content .text-default-block + .image.s-3, .single-event .content .text-default-block + .image.s-3 {
  margin-right: calc(var(--unit) * 1 + var(--gutter) * 3);
}
.single-project .content .text-default-block + .image.s-2, .single-project .content .full-width-block .additional-text ul .text-default-block + li.image, .full-width-block .additional-text ul .single-project .content .text-default-block + li.image, .single-event .content .text-default-block + .image.s-2, .single-event .content .full-width-block .additional-text ul .text-default-block + li.image, .full-width-block .additional-text ul .single-event .content .text-default-block + li.image {
  margin-right: calc(var(--unit) * 1 + var(--gutter) * 4);
}
.single-project .content .text-default-block + .image.s-1, .single-event .content .text-default-block + .image.s-1 {
  margin-right: calc(var(--unit) * 1 + var(--gutter) * 5);
}
.single-project .text-default-block + .text-default-block, .single-event .text-default-block + .text-default-block {
  margin-top: 3rem;
}
.single-project .text-default-block p + p, .single-project .text-default-block p + h2, .single-project .text-default-block p + h3, .single-project .text-default-block p + h4, .single-project .text-default-block p + ul, .single-project .text-default-block p + blockquote, .single-event .text-default-block p + p, .single-event .text-default-block p + h2, .single-event .text-default-block p + h3, .single-event .text-default-block p + h4, .single-event .text-default-block p + ul, .single-event .text-default-block p + blockquote {
  margin-top: 1.3rem;
}
.single-project .text-default-block ul li:before, .single-event .text-default-block ul li:before {
  content: "• ";
  background: currentcolor;
  background-color: transparent;
  display: inline-block;
  position: relative;
  left: unset;
  top: unset;
  width: unset;
  height: unset;
  border-radius: 0;
  margin-right: 0.75em;
  margin-bottom: unset !important;
}
.single-project .text-default-block ul li ul li:before, .single-event .text-default-block ul li ul li:before {
  content: "– ";
}

#events-grid {
  flex-direction: row;
}
#events-grid figure {
  width: 100%;
  margin: 0;
  margin-bottom: 0.25rem;
}

.controls {
  margin-top: 4rem;
  margin-bottom: 2rem;
}
.controls button {
  font-size: inherit;
  border: 0;
  background-color: transparent;
  color: black;
  padding: 0;
  letter-spacing: inherit;
  font-family: inherit;
  margin-right: 1.25em;
  cursor: pointer;
}
.controls button:hover {
  text-decoration: underline;
}

.mixitup-control-active {
  text-decoration: underline;
}

.page-projects .full-width-block, .single-project .full-width-block, .single-event .full-width-block {
  margin-top: 4rem;
}
.page-projects footer, .single-project footer, .single-event footer {
  margin-top: 8rem;
}
.page-projects #hero .button, .single-project #hero .button, .single-event #hero .button {
  background-color: transparent;
  margin-left: var(--margin);
  margin-bottom: var(--margin);
  color: white;
  padding: 0;
}
.page-projects .text-container .button, .single-project .text-container .button, .single-event .text-container .button {
  background-color: transparent;
  color: black;
  padding: 0;
}

.single-project .full-width-block .text-container .button {
  color: white;
}

.tag {
  position: absolute;
  right: 0;
}

.text-container .tag {
  right: var(--margin);
  color: black;
}

.image figcaption {
  position: relative;
}

#events-grid {
  margin-bottom: 4rem;
}
#events-grid h2 {
  margin-bottom: 0.75rem;
}
#events-grid .event {
  margin-bottom: 2rem;
}

.event figure {
  aspect-ratio: 16/9;
}
.event figure img {
  height: 100%;
  object-fit: cover;
}
.event + h2 {
  margin-top: 2rem;
}

.single-event .content {
  margin-top: 3rem;
}
.single-event .text-default-block {
  margin-top: 3rem;
}

.agenda .text-default-block h3 {
  text-decoration: none;
  margin-bottom: 1.25rem;
}
.agenda p {
  position: relative;
  padding-left: 4.25em;
}
.agenda strong {
  position: absolute;
  left: 0;
  font-weight: normal;
}

.page-the-lab .nav-lab {
  text-decoration: underline;
}

.page-projects .nav-projects {
  text-decoration: underline;
}

.page-events .nav-events {
  text-decoration: underline;
}

.page-resources .nav-resources {
  text-decoration: underline;
}

.page-contact .nav-contact {
  text-decoration: underline;
}

.page-newsletter .nav-newsletter {
  text-decoration: underline;
}

.project-navigating-parenthood.single-project .content {
  flex-direction: column;
}

strong, b {
  font-weight: 700;
}

p + p {
  margin-top: 1.3em;
}

.text-default-block ul,
.text-lead-block ul {
  margin-top: 1em;
  margin-bottom: 1em;
}
.text-default-block ul li,
.text-lead-block ul li {
  position: relative;
  margin-bottom: 0;
  margin-left: 1em;
}
.text-default-block ul li:before,
.text-lead-block ul li:before {
  content: " ";
  background: currentcolor;
  display: block;
  position: absolute;
  left: 0;
  top: 0.25em;
  width: 0.65em;
  height: 0.65em;
  border-radius: 100%;
  margin-left: -1em;
}

.button {
  display: inline-block;
  background: var(--purple);
  color: white;
  font-family: "PublicSans";
  font-style: normal;
  font-weight: normal;
  font-size: 1rem;
  padding: 1.25em 2em;
  border-radius: 0.6em;
  line-height: 1.2;
  text-decoration: none;
}

.team-list-block {
  width: 100%;
}
@media (max-aspect-ratio: 800/1000) {
  .team-list-block .team-list-member {
    margin-left: 0;
    width: 48.3%;
  }
  .team-list-block .team-list-member.m-r-g {
    margin-right: 0;
  }
}
.team-list-block .team-list-member .portrait {
  background: #f2f2f2;
  aspect-ratio: 3/4;
  overflow: hidden;
}
.team-list-block .team-list-member .portrait img {
  object-fit: cover;
  object-position: center center;
  height: 100%;
  width: auto;
}
.team-list-block ul {
  width: calc(100% + var(--gutter));
}

.full-width-block {
  position: relative;
  overflow: hidden;
  min-height: 36rem;
}
.full-width-block img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
}
.full-width-block .text-container {
  position: relative;
}
.full-width-block .button {
  background: white;
  color: var(--purple);
}
.full-width-block .additional-text {
  line-height: var(--line-height);
}
.full-width-block .additional-text ul {
  margin-top: 1em;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  left: -1.5em;
}
.full-width-block .additional-text ul:after {
  content: "";
  flex-basis: calc(var(--unit) * 2 + var(--gutter) * 1);
}
.full-width-block .additional-text ul li {
  position: relative;
  margin-bottom: 1em;
  padding-left: 1.5em;
}
.full-width-block .additional-text ul li:before {
  content: " ";
  background: white;
  display: block;
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 0.75em;
  height: 0.75em;
  border-radius: 100%;
}

@media (max-aspect-ratio: 800/1000) {
  .project-list  .project-list-item {
    margin-left: 0;
    width: 100%;
  }
}

.hamburger {
  cursor: pointer;
  width: 3rem;
  padding: 0 0;
  display: inline-block;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  display: flex;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.hamburger:focus {
  outline: none;
}
.hamburger:hover {
  opacity: 0.7;
}
.hamburger.is-active:hover {
  opacity: 0.7;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: black;
}

.hamburger-box {
  width: 3rem;
  height: 1.65rem;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.125rem;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 3rem;
  height: 0.25rem;
  background-color: black;
  border-radius: 0;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger-inner::before {
  top: -0.7rem;
}
.hamburger-inner::after {
  bottom: -0.7rem;
}

/*
 * Slider
 */
.hamburger--slider .hamburger-inner {
  top: 0.125rem;
}
.hamburger--slider .hamburger-inner::before {
  top: 0.7rem;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}
.hamburger--slider .hamburger-inner::after {
  top: 1.4rem;
}
.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 0.7rem, 0) rotate(45deg);
}
.hamburger--slider.is-active .hamburger-inner::before {
  transform: rotate(-45deg) translate3d(-0.4285714286rem, -0.45rem, 0);
  opacity: 0;
}
.hamburger--slider.is-active .hamburger-inner::after {
  transform: translate3d(0, -1.4rem, 0) rotate(-90deg);
}

/*
 * Collapse
 */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse .hamburger-inner::after {
  top: -1.4rem;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -0.7rem, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}
.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media (max-aspect-ratio: 800/1000) {
  :root {
    --gutter: 2vw;
    --margin: 3vw;
    --unit: calc( ( 100svw - var(--gutter) * 3 - var(--margin) * 2 ) / 4 );
  }
  .hide-mobile {
    display: none;
  }
  html, body {
    font-size: 3vw;
  }
  .nav-mobile {
    display: flex;
  }
  #hero {
    height: 80svh;
  }
  nav {
    background-color: transparent !important;
  }
  header {
    max-height: 8rem;
    align-content: flex-start;
  }
  header .bg-purple {
    color: black;
  }
  header button {
    padding: 0;
    background-color: transparent !important;
  }
  header .header-inner {
    align-items: center;
  }
  header .logo img {
    width: 6rem !important;
  }
  .f-s {
    font-size: 1.3rem;
    line-height: 1.3;
  }
  .f-m {
    font-size: 1.75rem;
  }
  .grid-block {
    width: 100%;
  }
  .grid-block article.s-6 {
    width: 74.5%;
  }
  .grid-block article.s-4 {
    width: 50%;
  }
  .grid-block .m-l-6 {
    margin-left: auto;
  }
  .grid-block .m-l-1 {
    margin-left: 2rem;
  }
  footer a.s-1 {
    width: var(--unit);
  }
  #home-about .s-3 {
    display: flex;
    justify-content: space-between;
  }
  #home-about .s-3 + .s-3 {
    margin-top: 2rem;
  }
  .text-lead-block .f-s {
    margin-bottom: 0.25em;
  }
  .team-list {
    justify-content: space-between;
  }
  .page-contact .additional-text {
    align-items: flex-start;
  }
  .page-contact .text-container {
    align-items: flex-start;
    width: 100%;
  }
  #hero .button {
    margin-bottom: 4rem;
  }
  .wpcf7-checkbox + .wpcf7-not-valid-tip {
    top: -1.3em;
    left: 20.8em;
    width: 12rem;
  }
  #home-about p {
    padding: 0 5rem;
  }
  #home-about .s-2 + .s-2, #home-about .full-width-block .additional-text ul li + .s-2, .full-width-block .additional-text ul #home-about li + .s-2, #home-about .full-width-block .additional-text ul .s-2 + li, .full-width-block .additional-text ul #home-about .s-2 + li, #home-about .full-width-block .additional-text ul li + li, .full-width-block .additional-text ul #home-about li + li {
    margin-top: 2rem;
  }
  .home .grid-block article:first-of-type {
    margin-left: auto;
  }
  .menu-toggle {
    color: black;
  }
  .bg-purple .select {
    fill: black;
  }
  .full-width-block .additional-text ul li {
    margin-left: 1.5em;
  }
  .wpcf7 input[type=checkbox] + span:before {
    left: -1.9em;
  }
  .wpcf7 input[type=checkbox] {
    margin-right: 0.9em;
  }
  .page-projects .image figcaption {
    padding-right: 7rem;
  }
  .page-projects .image figcaption .tag {
    top: 0;
  }
  .page-projects .full-width-block .text-container .tag {
    bottom: var(--margin);
    top: unset;
  }
  .event {
    width: 100%;
  }
}
@media (min-aspect-ratio: 800/1000) {
  :root {
    --gutter: 1vw;
    --margin: 3vw;
    --unit: calc( ( 100svw - var(--gutter) * 11 - var(--margin) * 2 ) / 12 );
  }
  .hide-desktop {
    display: none;
  }
  html, body {
    font-size: 1.1vw;
  }
  header.p-m {
    padding: 1.35rem 2rem;
  }
  body {
    display: flex;
    flex-direction: column;
  }
  footer {
    margin-top: auto;
  }
  .s-1 {
    width: calc(var(--unit) * 1 + var(--gutter) * 0);
  }
  .s-2, .full-width-block .additional-text ul li {
    width: calc(var(--unit) * 2 + var(--gutter) * 1);
  }
  .s-3 {
    width: calc(var(--unit) * 3 + var(--gutter) * 2);
  }
  .s-4 {
    width: calc(var(--unit) * 4 + var(--gutter) * 3);
  }
  .s-5 {
    width: calc(var(--unit) * 5 + var(--gutter) * 4);
  }
  .s-6, .page-contact .additional-text p, .full-width-block .additional-text ul {
    width: calc(var(--unit) * 6 + var(--gutter) * 5);
  }
  .s-7 {
    width: calc(var(--unit) * 7 + var(--gutter) * 6);
  }
  .s-8 {
    width: calc(var(--unit) * 8 + var(--gutter) * 7);
  }
  .s-9 {
    width: calc(var(--unit) * 9 + var(--gutter) * 8);
  }
  .s-10 {
    width: calc(var(--unit) * 10 + var(--gutter) * 9);
  }
  .s-11 {
    width: calc(var(--unit) * 11 + var(--gutter) * 10);
  }
  .s-12 {
    width: calc(var(--unit) * 12 + var(--gutter) * 11);
  }
  .s-13 {
    width: calc(var(--unit) * 13 + var(--gutter) * 12);
  }
  .s-14 {
    width: calc(var(--unit) * 14 + var(--gutter) * 13);
  }
  .s-15 {
    width: calc(var(--unit) * 15 + var(--gutter) * 14);
  }
  .s-16 {
    width: calc(var(--unit) * 16 + var(--gutter) * 15);
  }
  .s-17 {
    width: calc(var(--unit) * 17 + var(--gutter) * 16);
  }
  .s-18 {
    width: calc(var(--unit) * 18 + var(--gutter) * 17);
  }
  .s-19 {
    width: calc(var(--unit) * 19 + var(--gutter) * 18);
  }
  .s-20 {
    width: calc(var(--unit) * 20 + var(--gutter) * 19);
  }
  .s-21 {
    width: calc(var(--unit) * 21 + var(--gutter) * 20);
  }
  .s-22 {
    width: calc(var(--unit) * 22 + var(--gutter) * 21);
  }
  .s-23 {
    width: calc(var(--unit) * 23 + var(--gutter) * 22);
  }
  .m-l-1 {
    margin-left: calc(var(--unit) * 1 + var(--gutter) * 1);
  }
  .m-l-2 {
    margin-left: calc(var(--unit) * 2 + var(--gutter) * 2);
  }
  .m-l-3 {
    margin-left: calc(var(--unit) * 3 + var(--gutter) * 3);
  }
  .m-l-4 {
    margin-left: calc(var(--unit) * 4 + var(--gutter) * 4);
  }
  .m-l-5 {
    margin-left: calc(var(--unit) * 5 + var(--gutter) * 5);
  }
  .m-l-6 {
    margin-left: calc(var(--unit) * 6 + var(--gutter) * 6);
  }
  .m-l-7 {
    margin-left: calc(var(--unit) * 7 + var(--gutter) * 7);
  }
  .m-l-8 {
    margin-left: calc(var(--unit) * 8 + var(--gutter) * 8);
  }
  .m-l-9 {
    margin-left: calc(var(--unit) * 9 + var(--gutter) * 9);
  }
  .m-l-10 {
    margin-left: calc(var(--unit) * 10 + var(--gutter) * 10);
  }
  .m-l-11 {
    margin-left: calc(var(--unit) * 11 + var(--gutter) * 11);
  }
  .m-r-1 {
    margin-right: calc(var(--unit) * 1 + var(--gutter) * 1);
  }
  .m-r-2 {
    margin-right: calc(var(--unit) * 2 + var(--gutter) * 2);
  }
  .m-r-3 {
    margin-right: calc(var(--unit) * 3 + var(--gutter) * 3);
  }
  .m-r-4 {
    margin-right: calc(var(--unit) * 4 + var(--gutter) * 4);
  }
  .m-r-5 {
    margin-right: calc(var(--unit) * 5 + var(--gutter) * 5);
  }
  .m-r-6 {
    margin-right: calc(var(--unit) * 6 + var(--gutter) * 6);
  }
  .m-r-7 {
    margin-right: calc(var(--unit) * 7 + var(--gutter) * 7);
  }
  .m-r-8 {
    margin-right: calc(var(--unit) * 8 + var(--gutter) * 8);
  }
  .m-r-9 {
    margin-right: calc(var(--unit) * 9 + var(--gutter) * 9);
  }
  .m-r-10 {
    margin-right: calc(var(--unit) * 10 + var(--gutter) * 10);
  }
  .m-r-11 {
    margin-right: calc(var(--unit) * 11 + var(--gutter) * 11);
  }
  .m-r-12 {
    margin-right: calc(var(--unit) * 12 + var(--gutter) * 12);
  }
  .m-r-13 {
    margin-right: calc(var(--unit) * 13 + var(--gutter) * 13);
  }
  .m-r-14 {
    margin-right: calc(var(--unit) * 14 + var(--gutter) * 14);
  }
  .m-r-15 {
    margin-right: calc(var(--unit) * 15 + var(--gutter) * 15);
  }
  .m-r-16 {
    margin-right: calc(var(--unit) * 16 + var(--gutter) * 16);
  }
  .m-r-17 {
    margin-right: calc(var(--unit) * 17 + var(--gutter) * 17);
  }
  .m-r-18 {
    margin-right: calc(var(--unit) * 18 + var(--gutter) * 18);
  }
  .m-r-19 {
    margin-right: calc(var(--unit) * 19 + var(--gutter) * 19);
  }
  .m-r-20 {
    margin-right: calc(var(--unit) * 20 + var(--gutter) * 20);
  }
  .m-r-21 {
    margin-right: calc(var(--unit) * 21 + var(--gutter) * 21);
  }
  .m-r-22 {
    margin-right: calc(var(--unit) * 22 + var(--gutter) * 22);
  }
  .m-r-23 {
    margin-right: calc(var(--unit) * 23 + var(--gutter) * 23);
  }
  .m-r-24 {
    margin-right: calc(var(--unit) * 24 + var(--gutter) * 24);
  }
  .m-t--1 {
    margin-top: -1rem;
  }
  .m-t--2 {
    margin-top: -2rem;
  }
  .m-t--3 {
    margin-top: -3rem;
  }
  .m-t--4 {
    margin-top: -4rem;
  }
  .m-t--5 {
    margin-top: -5rem;
  }
  .m-t--6 {
    margin-top: -6rem;
  }
  .m-t--7 {
    margin-top: -7rem;
  }
  .m-t--8 {
    margin-top: -8rem;
  }
  .m-t--9 {
    margin-top: -9rem;
  }
  .m-t--10 {
    margin-top: -10rem;
  }
  .m-t--11 {
    margin-top: -11rem;
  }
  .m-t--12 {
    margin-top: -12rem;
  }
  .header-inner {
    align-items: center;
    border-radius: 0.75em;
  }
  .additional-text p {
    width: 55%;
  }
  .socials {
    opacity: 0;
    transition: opacity 0.4s;
  }
  .socials-active .socials {
    pointer-events: auto;
    opacity: 1;
  }
  .socials-active header {
    padding-bottom: 5rem;
  }
  .wpcf7 {
    margin-bottom: 6rem;
  }
  .wpcf7 .wpcf7 input[type=checkbox] {
    width: 1.7em;
    height: 1.7em;
    margin-top: -0.8em;
  }
  .wpcf7-checkbox + .wpcf7-not-valid-tip {
    top: -1.63em;
    left: 50.8em;
    width: 12em;
  }
}
@media (min-aspect-ratio: 800/1000) and (max-aspect-ratio: 1200/1000) {
  html, body {
    font-size: 1.25vw;
  }
  .text-lead-block .s-6, .text-lead-block .page-contact .additional-text p, .page-contact .additional-text .text-lead-block p, .text-lead-block .full-width-block .additional-text ul, .full-width-block .additional-text .text-lead-block ul {
    width: calc(var(--unit) * 8 + var(--gutter) * 7);
  }
}

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