/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

/**
Use a more readable tab size (opinionated).
*/
html {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/*
Sections
========
*/
/**
Remove the margin in all browsers.
*/
body {
  margin: 0;
}

/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
}

/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
}

/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

meta[name=x-koch-breakpoints] {
  font-family: "xs=320px&sm=375px&md=768px&lg=1024px&xl=1280px&xxl=1480px&max=1920px";
}

button.c-hamburger {
  height: 40px;
  width: 40px;
}

div.c-hamburger {
  height: 40px;
  width: 40px;
}
div.c-hamburger > .inner {
  top: 50%;
}

.c-hamburger {
  background-color: transparent;
  border: 0 transparent solid;
  border-radius: 0px;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  opacity: 1;
  overflow: visible;
  padding: 10px;
  text-transform: none;
  transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.c-hamburger:hover {
  background-color: transparent;
  opacity: 1;
}
.c-hamburger:hover span.bar {
  background-color: #000;
}
.c-hamburger:hover > .inner:nth-child(1)::before, .c-hamburger:hover > .inner:nth-child(1)::after, .c-hamburger:hover > .inner:nth-child(2)::before, .c-hamburger:hover > .inner:nth-child(2)::after, .c-hamburger:hover > .inner:nth-child(3)::before, .c-hamburger:hover > .inner:nth-child(3)::after,
.c-hamburger:hover span.bar:nth-child(1)::before,
.c-hamburger:hover span.bar:nth-child(1)::after,
.c-hamburger:hover span.bar:nth-child(2)::before,
.c-hamburger:hover span.bar:nth-child(2)::after,
.c-hamburger:hover span.bar:nth-child(3)::before,
.c-hamburger:hover span.bar:nth-child(3)::after {
  background-color: #000;
}
.c-hamburger.is-active {
  background-color: transparent;
}
.c-hamburger.is-active span.bar {
  background-color: #000;
}
.c-hamburger.is-active > .inner:nth-child(1)::before, .c-hamburger.is-active > .inner:nth-child(1)::after, .c-hamburger.is-active > .inner:nth-child(2)::before, .c-hamburger.is-active > .inner:nth-child(2)::after, .c-hamburger.is-active > .inner:nth-child(3)::before, .c-hamburger.is-active > .inner:nth-child(3)::after,
.c-hamburger.is-active span.bar:nth-child(1)::before,
.c-hamburger.is-active span.bar:nth-child(1)::after,
.c-hamburger.is-active span.bar:nth-child(2)::before,
.c-hamburger.is-active span.bar:nth-child(2)::after,
.c-hamburger.is-active span.bar:nth-child(3)::before,
.c-hamburger.is-active span.bar:nth-child(3)::after {
  background-color: #000;
}
.c-hamburger > .inner {
  margin: 0;
  margin-top: -1.5px;
  position: relative;
  width: 100%;
}
.c-hamburger span.bar {
  background-color: #000;
  border-radius: 0;
  content: "";
  display: block;
  height: 3px;
  position: absolute;
  width: 100%;
}
.c-hamburger span.bar:nth-child(1) {
  top: -12px;
}
.c-hamburger span.bar:nth-child(3) {
  top: 12px;
}
.c-hamburger:focus {
  outline: 0;
}

.c-hamburger--collapse span.bar {
  transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s, opacity 0.25s cubic-bezier(0.645, 0.045, 0.355, 1) 0.25s;
}
.c-hamburger--collapse span.bar::before {
  background-color: #000;
  border-radius: 0;
  content: "";
  display: block;
  height: 3px;
  position: absolute;
  width: 100%;
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.c-hamburger--collapse span.bar:nth-child(1), .c-hamburger--collapse span.bar:nth-child(3) {
  background: none;
  top: 0;
}
.c-hamburger--collapse span.bar:nth-child(1) {
  transform: translate3d(0, -12px, 0);
}
.c-hamburger--collapse span.bar:nth-child(3) {
  transform: translate3d(0, 12px, 0);
}
.c-hamburger--collapse.is-active span.bar {
  transition: transform 0.25s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.c-hamburger--collapse.is-active span.bar:nth-child(1), .c-hamburger--collapse.is-active span.bar:nth-child(3) {
  transform: translate3d(0, 0, 0);
}
.c-hamburger--collapse.is-active span.bar:nth-child(1)::before, .c-hamburger--collapse.is-active span.bar:nth-child(3)::before {
  transition: transform 0.35s cubic-bezier(0.645, 0.045, 0.355, 1) 0.15s;
}
.c-hamburger--collapse.is-active span.bar:nth-child(1)::before {
  transform: rotate(135deg);
}
.c-hamburger--collapse.is-active span.bar:nth-child(2) {
  opacity: 0;
}
.c-hamburger--collapse.is-active span.bar:nth-child(3)::before {
  transform: rotate(45deg);
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../Fonts/Roboto-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../Fonts/Roboto-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../Fonts/Roboto-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Changa";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../Fonts/ChangaOne-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Anton";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../Fonts/Anton-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Pixel";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../Fonts/PixelifySans-Regular.ttf") format("truetype");
}
.l-col {
  padding-left: 1.125rem;
  padding-right: 1.125rem;
  width: 100%;
  position: relative;
}

@media (min-width: 48em) {
  .l-col-md-1-3 {
    width: 33.3333333333%;
  }
}

@media (min-width: 48em) {
  .l-col-md-1-2 {
    width: 50%;
  }
}

@media (min-width: 48em) {
  .l-col-md-2-3 {
    width: 66.6666666667%;
  }
}

.l-container, .c-header__container, .c-hero__inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.l-container--small {
  width: 100%;
  padding: 0 20px;
}
@media (min-width: 48em) {
  .l-container--small {
    width: 80vw;
    max-width: 1400px;
  }
}
.l-container--default, .c-header__container, .c-hero__inner {
  width: 100%;
  padding: 0 20px;
}
@media (min-width: 48em) {
  .l-container--default, .c-header__container, .c-hero__inner {
    width: 90vw;
    max-width: 1600px;
  }
}

.l-embed {
  position: relative;
  overflow: hidden;
}
.l-embed--16by9::before {
  padding-bottom: 56.25%;
}
.l-embed--4by3::before {
  padding-bottom: 75%;
}
.l-embed::before {
  content: "";
  display: block;
}
.l-embed iframe,
.l-embed embed,
.l-embed object,
.l-embed video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.l-flex {
  display: flex;
}
.l-flex--column {
  flex-direction: column;
}
.l-flex--column > * {
  min-height: 1px;
}

.l-page {
  font-family: "Roboto", Arial, sans-serif;
  line-height: 1.5;
  background-color: #000;
  color: #000;
  font-size: 1rem;
  overflow-x: hidden;
  padding-top: calc(var(--hh, 0) + var(--ibh, 0));
  scroll-behavior: smooth;
}
.l-page ::-moz-selection {
  background: rgba(255, 255, 255, 0.3); /* WebKit/Blink Browsers */
}
.l-page ::selection {
  background: rgba(255, 255, 255, 0.3); /* WebKit/Blink Browsers */
}
.l-page ::-moz-selection {
  background: rgba(255, 255, 255, 0.3); /* Gecko Browsers */
}

.l-row {
  margin-left: -1.125rem;
  margin-right: -1.125rem;
  display: flex;
  flex-wrap: wrap;
}
.l-row--no-gutter {
  margin-left: 0;
  margin-right: 0;
}
.l-row--no-gutter > .l-col {
  padding-left: 0;
  padding-right: 0;
}

.l-section {
  position: relative;
}
.l-section--default {
  background-color: #000;
}
.l-section--primary {
  background-color: #ffe430;
}
.l-section--secondary {
  background-color: #fff;
}
.l-section--tertiary {
  background-color: #fff;
}

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

a:not([class]) {
  margin: -0.1875rem 0;
  padding: 0.1875rem 0;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 2px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  text-decoration: none;
}
a:not([class]) {
  transition: background-size 0.3s;
}
a:not([class]):hover {
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 2px;
}
a:not([class]):focus-visible {
  background-size: 0 2px;
}
@media (hover: hover) and (pointer: fine) {
  a:not([class]):hover {
    background-size: 0 2px;
  }
}

.c-btn {
  display: inline-block;
  padding: 0.9375rem 1.5625rem 0.9375rem 3.125rem;
  background-color: transparent;
  border: 0.125rem solid #000;
  border-radius: 1.5rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  position: relative;
  display: inline-block;
  overflow: hidden;
  background-color: #000;
  color: #fff;
  border: 2px solid #ff4676;
  transition: all 0.225s cubic-bezier(0.77, 0, 0.175, 1);
  cursor: pointer;
}
.c-btn span,
.c-btn input[type=submit] {
  position: relative;
  z-index: 1;
  transition: color 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.c-btn::before {
  position: absolute;
  top: 50%;
  left: 10%;
  width: 20px;
  height: 20px;
  content: "";
  background-color: #ff4676;
  transform: translate(0, -50%);
  border-radius: 100%;
  transform-origin: top left;
  transition: all 0.765s cubic-bezier(0.77, 0, 0.175, 1);
}
.c-btn::after {
  position: absolute;
  top: 50%;
  left: 10%;
  width: 20px;
  height: 20px;
  content: "";
  background-color: #ffe430;
  transform: translate(0, -50%) scale(0);
  border-radius: 100%;
  transform-origin: center;
  transition: all 0.45s cubic-bezier(0.77, 0, 0.175, 1);
}
.c-btn:hover, .c-btn:focus {
  background-color: #000;
  border-color: #ff4676;
  height: 300%;
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.c-btn:hover span,
.c-btn:hover input[type=submit], .c-btn:focus span,
.c-btn:focus input[type=submit] {
  color: #000;
  transition: color 0.3s cubic-bezier(0.77, 0, 0.175, 1);
}
.c-btn:hover::before, .c-btn:focus::before {
  width: 200%;
  height: 300%;
  left: -1%;
}
.c-btn:hover::after, .c-btn:focus::after {
  position: absolute;
  top: 50%;
  left: 10%;
  width: 20px;
  height: 20px;
  content: "";
  background-color: #ffe430;
  transform: translate(0, -50%) scale(1);
}
.c-btn span {
  pointer-events: none;
}
@-moz-document url-prefix() {
  .c-btn {
    padding: 0.9375rem 1.5625rem 0.9375rem 3.125rem;
  }
}

/*
Usage example: body { @include fluid-calc('font-size', (1rem, 1.25rem), (min: 400px, max: 960px)); }
 */
h1, h2, h3, h4, h5, h6 {
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  font-family: "Anton", Arial, sans-serif;
  line-height: 1.16;
}
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
  margin-top: 0;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4 {
  font-weight: normal;
  font-size: 2.8125rem;
  line-height: 1.1;
  font-family: "Roboto", Arial, sans-serif;
}
@media (min-width: 20em) {
  h1,
  h2,
  h3,
  h4 {
    font-size: calc(2.8125rem + 4.6875 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  h1,
  h2,
  h3,
  h4 {
    font-size: 7.5rem;
  }
}

h2,
h3,
h4 {
  font-weight: normal;
  font-size: 1.875rem;
  line-height: 1.1;
  font-family: "Anton", Arial, sans-serif;
}
@media (min-width: 20em) {
  h2,
  h3,
  h4 {
    font-size: calc(1.875rem + 5.625 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  h2,
  h3,
  h4 {
    font-size: 7.5rem;
  }
}

/*
Usage example: .icon { background-image: url(get-icon('radio', #fff)); }
*/
.c-link {
  display: inline-flex;
  align-items: center;
  font-family: "Anton", Arial, sans-serif;
}
.c-link span {
  margin-right: 0.9375rem;
}
.c-link::after {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.0625rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='41.115' height='34.843' viewBox='0 0 41.115 34.843'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' d='m23.9 34.136 16.715-16.714L23.9.707'/%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' d='M40.615 17.422H.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transition: all 0.3s ease-in-out;
}
.c-link--load-more::after, .c-link[href$=".pdf"]::after, .c-link[href$=".doc"]::after, .c-link[href$=".docx"]::after, .c-link[href$=".jpg"]::after, .c-link[href$=".jpeg"]::after, .c-link[href$=".png"]::after, .c-link[href$=".mov"]::after, .c-link[href$=".mp4"]::after, .c-link[href$=".mp3"]::after, .c-link[href$=".zip"]::after {
  transform: rotate(90deg);
}
.c-link[href^="http://"]::after, .c-link[href^="https://"]::after {
  margin-bottom: 0.25rem;
  transform: rotate(-45deg);
}

.c-logo {
  display: inline-block;
  font-weight: 800;
}

ul {
  padding-left: 0;
  list-style: none;
}

.c-richtext ul:not([class]) {
  padding-left: 1.875rem;
}
.c-richtext ul:not([class]) li {
  position: relative;
}
.c-richtext ul:not([class]) li:not(:last-child) {
  margin-bottom: 0.3125rem;
}
.c-richtext ul:not([class]) li::before {
  content: "";
  position: absolute;
  left: -1.875rem;
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.4375rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23000' d='M4 1C2.3 1 1 2.3 1 4s1.3 3 3 3 3-1.3 3-3S5.7 1 4 1z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.c-teaser {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2vw;
  color: white;
  transform: translate(0, 5vh);
  transition: all 0.55s ease-in-out;
}
@media (min-width: 64em) {
  .c-teaser {
    grid-template-columns: 1fr 1fr;
  }
}
.c-teaser__image {
  overflow: hidden;
  position: relative;
  aspect-ratio: 706/524;
}
.c-teaser__image-wrapper {
  position: relative;
  grid-row: 1;
}
.c-teaser__image-mobile {
  position: absolute;
  max-width: 200px;
  max-height: 70%;
  top: 30%;
  right: 0;
  height: auto;
  z-index: 10;
  overflow: hidden;
  aspect-ratio: 107/206;
}
.c-teaser__image-mobile .c-device__inner {
  position: absolute;
  width: 87%;
  left: 50%;
  top: 2%;
  z-index: -1;
  transform: translate(-50%, 0);
  transition: all 0.35s linear;
}
.c-teaser__content {
  align-self: center;
  grid-row: 2;
  row-gap: 1.5625rem;
}
@media (min-width: 20em) {
  .c-teaser__content {
    row-gap: calc(1.5625rem + 0.9375 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .c-teaser__content {
    row-gap: 2.5rem;
  }
}
@media (min-width: 64em) {
  .c-teaser__content {
    grid-row: 1;
    justify-self: center;
  }
}
.c-teaser.is-in-view {
  transform: translate(0, 0);
}
.c-teaser__labels {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.c-teaser__label {
  padding-left: 0;
  list-style: none;
  padding: 5px 10px;
  border: 1px solid white;
  border-radius: 5px;
  font-size: 14px;
}
@media (min-width: 64em) {
  .c-teaser--right .c-teaser__image-wrapper {
    grid-column: 2/span 1;
  }
}
.c-teaser__buttons {
  padding-top: 1rem;
}

.c-device {
  width: 100%;
  z-index: 1;
  position: relative;
}
.c-device__inner {
  position: absolute;
  width: 80%;
  left: 50%;
  top: 17%;
  z-index: 0;
  transform: translate(-50%, 0);
  transition: all 0.35s linear;
}
.c-device__inner--small {
  width: 72% !important;
}

.c-device-mobile {
  width: 100%;
}

@keyframes desktop {
  0% {
    transform: translate(-50%, 0);
  }
  100% {
    transform: translate(-50%, -10%);
  }
}
.c-portrait {
  padding-bottom: 12.5rem;
}
@media (min-width: 20em) {
  .c-portrait {
    padding-bottom: calc(12.5rem + -9.375 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .c-portrait {
    padding-bottom: 3.125rem;
  }
}
.c-portrait::after {
  content: "";
  width: 100vw;
  left: 0;
  height: 1px;
  background-color: #fff;
  opacity: 0.1;
  position: absolute;
  left: 0;
  bottom: 0;
}
.c-portrait__inner {
  position: absolute;
  bottom: 0%;
  right: 20vw;
  width: 300px;
  height: 300px;
  opacity: 0.4;
}

.c-footer {
  background: radial-gradient(#c2c2c2 8%, transparent 8%), white;
  background-position: 0 0, 25px 25px;
  background-size: 25px 25px;
  padding-bottom: 20vh;
  position: relative;
  overflow: hidden;
}
.c-footer .c-hero__shape:nth-child(0n+2) {
  top: 3%;
  left: 10vw;
}
.c-footer .c-hero__shape:nth-child(0n+3) {
  top: 10%;
  left: 50vw;
}
.c-footer .c-hero__shape:nth-child(0n+4) {
  top: 20%;
  left: 80vw;
}
.c-footer .c-hero__shape:nth-child(0n+5) {
  top: 32%;
  left: 1vw;
  transform: rotate(45deg);
}
.c-footer .c-hero__shape:nth-child(0n+5) {
  top: 0;
  left: 90vw;
}

.c-header {
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
  position: fixed;
  left: 0;
  top: var(--ibh);
  width: 100%;
  z-index: 500;
  background-color: #fff;
}
.c-header__inner {
  display: flex;
  justify-content: space-between;
}

/*! Pusha v2.0.0 | MIT License | https://github.com/slavanga/pusha */
body {
  overflow-x: hidden;
}

.pusha-active,
.pusha-active body {
  overflow: hidden;
}

.pusha-wrapper,
.pusha-push {
  transition: transform 0.3s ease;
}

.pusha-wrapper {
  position: relative;
  z-index: 200;
  height: 100%;
  background-color: inherit;
}

.pusha-panel {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  will-change: transform;
}

.pusha-panel--left {
  max-width: 100%;
  max-height: 100vh;
  width: 260px;
  height: 100%;
  background-color: #fff;
  top: 0;
  left: 0;
  transform: translateX(-100%);
  z-index: 200;
  transition: visibility 0s linear 0.3s, opacity 0.05s linear 0.3s, transform 0.3s ease;
}
.pusha-panel--left.pusha-panel--active ~ .pusha-push, .pusha-panel--left.pusha-panel--active ~ .pusha-blocker, .pusha-panel--left.pusha-panel--active ~ .pusha-wrapper {
  transform: translateX(260px);
}
.pusha-panel--left.pusha-panel--active {
  transition: opacity 0.05s, transform 0.3s ease;
}

.pusha-panel--right {
  max-width: 100%;
  max-height: 100vh;
  width: 260px;
  height: 100%;
  background-color: #fff;
  top: 0;
  right: 0;
  transform: translateX(100%);
  z-index: 200;
  transition: visibility 0s linear 0.3s, opacity 0.05s linear 0.3s, transform 0.3s ease;
}
.pusha-panel--right.pusha-panel--active ~ .pusha-push, .pusha-panel--right.pusha-panel--active ~ .pusha-blocker, .pusha-panel--right.pusha-panel--active ~ .pusha-wrapper {
  transform: translateX(-260px);
}
.pusha-panel--right.pusha-panel--active {
  transition: opacity 0.05s, transform 0.3s ease;
}

.pusha-panel--top {
  max-width: 100%;
  max-height: 100vh;
  width: 100%;
  height: 260px;
  background-color: #fff;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  z-index: 220;
  transition: visibility 0s linear 0.3s, opacity 0.05s linear 0.3s, transform 0.3s ease;
}
.pusha-panel--top.pusha-panel--active {
  transition: opacity 0.05s, transform 0.3s ease;
}

.pusha-panel--bottom {
  max-width: 100%;
  max-height: 100vh;
  width: 100%;
  height: 260px;
  background-color: #fff;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
  z-index: 220;
  transition: visibility 0s linear 0.3s, opacity 0.05s linear 0.3s, transform 0.3s ease;
}
.pusha-panel--bottom.pusha-panel--active {
  transition: opacity 0.05s, transform 0.3s ease;
}

.pusha-panel--active {
  opacity: 1;
  visibility: visible;
  transform: none !important;
}

.pusha-panel__content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
}
.pusha-active .pusha-panel__content {
  overflow-y: auto;
}

.pusha-blocker {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 210;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: visibility 0s linear 0.3s, transform 0.3s ease, opacity 0.3s ease;
}
.pusha-active .pusha-blocker {
  opacity: 1;
  visibility: visible;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.c-panel {
  max-width: 100%;
  max-height: 100vh;
  width: 100%;
  height: 100%;
  background-color: #000;
  top: 0;
  left: 0;
  transform: translateX(-100%);
  z-index: 200;
  transition: visibility 0s linear 0.3s, opacity 0.05s linear 0.3s, transform 0.3s ease;
  top: calc(var(--hh, 0) + var(--ibh, 0));
  outline: none;
}
.c-panel.pusha-panel--active ~ .pusha-push, .c-panel.pusha-panel--active ~ .pusha-blocker, .c-panel.pusha-panel--active ~ .pusha-wrapper {
  transform: translateX(100%);
}
.c-panel.pusha-panel--active {
  transition: opacity 0.05s, transform 0.3s ease;
}
.c-panel__container {
  overflow-y: auto;
  overflow-x: hidden;
  outline: none;
  height: calc(var(--vh) * 100 - var(--hh) - var(--ibh));
}
.sub-is-open .c-panel__container {
  overflow-y: hidden;
}
.c-panel__top {
  height: 50vh;
  overflow: hidden;
}
.sub-is-open .c-panel__top {
  height: calc(var(--vh) * 100 - var(--hh) - var(--ibh));
  overflow-y: visible;
}

.c-hero {
  overflow: hidden;
  padding-top: 20vh;
  background: radial-gradient(#c2c2c2 8%, transparent 8%), white;
  background-position: 0 0, 25px 25px;
  background-size: 25px 25px;
  min-height: 100vh;
  min-height: 100vh;
  position: relative;
}
.c-hero h1 {
  position: relative;
  z-index: 10;
}
.c-hero__scroll {
  position: absolute;
  bottom: 6rem;
  right: -115px;
}
.c-hero__circle {
  border-radius: 50%;
}
.c-hero__circle-border {
  background-color: transparent;
  border: 15px solid;
  border-radius: 50%;
}
.c-hero__shape {
  position: absolute;
  animation-duration: 4s;
  animation-timing-function: cubic-bezier(0.18, 1.17, 0.03, 1.46);
  animation-fill-mode: backwards;
  transform-origin: center;
  transform-box: fill-box;
}
.c-hero__shape:nth-child(0n+2) {
  top: 3vh;
  left: 10vw;
}
.c-hero__shape:nth-child(0n+3) {
  top: 90vh;
  left: 50vw;
}
.c-hero__shape:nth-child(0n+4) {
  top: 65vh;
  left: 80vw;
}
.c-hero__shape:nth-child(0n+5) {
  top: 32vh;
  left: 1vw;
  transform: rotate(45deg);
}
.c-hero__shape:nth-child(0n+5) {
  top: 0;
  left: 90vw;
}
.c-hero__shape:nth-child(0n+6) {
  top: 85vh;
  left: 10vw;
  transform: rotate(10deg);
}
.c-hero__shape:nth-child(0n+7) {
  top: 40vh;
  left: 40vw;
}
.c-hero__shape:nth-child(0n+8) {
  top: 35vh;
  left: 40vw;
}
.c-hero__shape:nth-child(0n+10) {
  top: 15vh;
  left: 17vw;
}

@keyframes gradient-animation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
.u-theme-red {
  background-color: #ff4676;
}
.u-theme-red.c-hero__circle-border {
  background-color: transparent !important;
  border-color: #ff4676;
}

.u-theme-yellow {
  background-color: #ffe430;
}
.u-theme-yellow.c-hero__circle-border {
  background-color: transparent !important;
  border-color: #ffe430;
}

.u-theme-black {
  background-color: #000000;
}
.u-theme-black.c-hero__circle-border {
  background-color: transparent !important;
  border-color: #000000;
}

.u-size-big {
  width: 30vw;
  height: 30vw;
  animation-name: bigCircle;
}
@media (min-width: 64em) {
  .u-size-big {
    width: 10vw;
    height: 10vw;
  }
}

.u-size-default {
  width: 20vw;
  height: 20vw;
  animation-name: bigCircle;
}
@media (min-width: 64em) {
  .u-size-default {
    width: 7vw;
    height: 7vw;
  }
}

.u-size-small {
  width: 8vw;
  height: 8vw;
  animation-name: littleCircle;
}
@media (min-width: 64em) {
  .u-size-small {
    width: 5vw;
    height: 5vw;
  }
}

canvas {
  touch-action: none;
}

.c-hero__shape:nth-child(1) {
  animation-delay: 0.16s;
}

.c-hero__shape:nth-child(2) {
  animation-delay: 0.32s;
}

.c-hero__shape:nth-child(3) {
  animation-delay: 0.48s;
}

.c-hero__shape:nth-child(4) {
  animation-delay: 0.64s;
}

.c-hero__shape:nth-child(5) {
  animation-delay: 0.8s;
}

.c-hero__shape:nth-child(6) {
  animation-delay: 0.96s;
}

.c-hero__shape:nth-child(7) {
  animation-delay: 1.12s;
}

.c-hero__shape:nth-child(8) {
  animation-delay: 1.28s;
}

.c-hero__shape:nth-child(9) {
  animation-delay: 1.44s;
}

.c-hero__shape:nth-child(10) {
  animation-delay: 1.6s;
}

.c-hero__shape:nth-child(11) {
  animation-delay: 1.76s;
}

@keyframes bigSquare {
  from {
    transform: translateY(10%) rotate(-80deg) scale(0);
  }
  to {
    transform: translateY(0) rotate(0deg) scale(1);
  }
}
.littleSquare {
  animation-name: littleSquare;
}

@keyframes littleSquare {
  from {
    transform: translate(226%, 183%) rotate(140deg) scale(0);
  }
  to {
    transform: translate(0%, 0%) rotate(0deg) scale(1);
  }
}
.triangle {
  animation-name: triangle;
}

@keyframes triangle {
  from {
    transform: rotate(140deg) scale(0);
  }
  to {
    transform: rotate(60deg) scale(1);
  }
}
.hoop {
  animation-name: hoop;
}

@keyframes hoop {
  from {
    transform: translate(-160%, -33%) scale(0);
  }
  to {
    transform: translate(0%, 0%) scale(1);
  }
}
.bigCircle {
  animation-name: bigCircle;
}

@keyframes bigCircle {
  from {
    transform: scale(0) translate(60%, 3%);
  }
  to {
    transform: scale(1) translate(0%, 0%);
  }
}
.littleCircle {
  animation-name: littleCircle;
}

@keyframes littleCircle {
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}
.u-cover-object {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
}
.u-cover-object:hover, .u-cover-object:focus {
  text-decoration: none;
}

.u-cover-media {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.u-cover-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.u-cover-link::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.u-gap-top-zero {
  padding-top: 0;
}
@media (min-width: 20em) {
  .u-gap-top-zero {
    padding-top: calc(0 + 0 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-gap-top-zero {
    padding-top: 0;
  }
}

.u-gap-bottom-zero {
  padding-bottom: 0;
}
@media (min-width: 20em) {
  .u-gap-bottom-zero {
    padding-bottom: calc(0 + 0 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-gap-bottom-zero {
    padding-bottom: 0;
  }
}

.u-gap-top-small {
  padding-top: 1.5625rem;
}
@media (min-width: 20em) {
  .u-gap-top-small {
    padding-top: calc(1.5625rem + 1.5625 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-gap-top-small {
    padding-top: 3.125rem;
  }
}

.u-gap-bottom-small {
  padding-bottom: 1.5625rem;
}
@media (min-width: 20em) {
  .u-gap-bottom-small {
    padding-bottom: calc(1.5625rem + 1.5625 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-gap-bottom-small {
    padding-bottom: 3.125rem;
  }
}

.u-gap-top-default {
  padding-top: 3.125rem;
}
@media (min-width: 20em) {
  .u-gap-top-default {
    padding-top: calc(3.125rem + 5 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-gap-top-default {
    padding-top: 8.125rem;
  }
}

.u-gap-bottom-default {
  padding-bottom: 3.125rem;
}
@media (min-width: 20em) {
  .u-gap-bottom-default {
    padding-bottom: calc(3.125rem + 5 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-gap-bottom-default {
    padding-bottom: 8.125rem;
  }
}

.u-gap-top-large {
  padding-top: 4.6875rem;
}
@media (min-width: 20em) {
  .u-gap-top-large {
    padding-top: calc(4.6875rem + 10.9375 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-gap-top-large {
    padding-top: 15.625rem;
  }
}

.u-gap-bottom-large {
  padding-bottom: 4.6875rem;
}
@media (min-width: 20em) {
  .u-gap-bottom-large {
    padding-bottom: calc(4.6875rem + 10.9375 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-gap-bottom-large {
    padding-bottom: 15.625rem;
  }
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.u-sr-only-focusable:active, .u-sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: inherit;
}

.u-text-lead {
  color: #fff;
  font-size: 1.5625rem;
  line-height: 1.1;
}
@media (min-width: 20em) {
  .u-text-lead {
    font-size: calc(1.5625rem + 2.1875 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .u-text-lead {
    font-size: 3.75rem;
  }
}

.u-text-second {
  font-family: "Anton", Arial, sans-serif;
}

.u-text-pixel {
  font-family: "Pixel", Arial, sans-serif;
}

.u-text-special {
  color: #fff;
}

.c-text {
  font-size: 3.75rem;
  line-height: 1.1;
}
@media (min-width: 20em) {
  .c-text {
    font-size: calc(3.75rem + 8.75 * (100vw - 20rem) / 72.5);
  }
}
@media (min-width: 92.5em) {
  .c-text {
    font-size: 12.5rem;
  }
}

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

.hidden,
.u-hidden {
  display: none !important;
}

.u-visible-xs {
  display: none !important;
}

.u-visible-sm {
  display: none !important;
}

.u-visible-sm-up {
  display: none !important;
}

.u-visible-md {
  display: none !important;
}

.u-visible-md-up {
  display: none !important;
}

.u-visible-lg {
  display: none !important;
}

.u-visible-lg-up {
  display: none !important;
}

.u-visible-xl {
  display: none !important;
}

.u-visible-xl-up {
  display: none !important;
}

.u-visible-xxl {
  display: none !important;
}

.u-visible-xxl-up {
  display: none !important;
}

.u-visible-max {
  display: none !important;
}

@media (max-width: 23.4275em) {
  .u-hidden-xs {
    display: none !important;
  }
  .u-visible-xs {
    display: block !important;
  }
}
@media (min-width: 23.4375em) and (max-width: 47.99em) {
  .u-hidden-sm {
    display: none !important;
  }
  .u-visible-sm {
    display: block !important;
  }
}
@media (min-width: 48em) and (max-width: 63.99em) {
  .u-hidden-md {
    display: none !important;
  }
  .u-visible-md {
    display: block !important;
  }
}
@media (min-width: 64em) and (max-width: 79.99em) {
  .u-hidden-lg {
    display: none !important;
  }
  .u-visible-lg {
    display: block !important;
  }
}
@media (min-width: 80em) and (max-width: 92.49em) {
  .u-hidden-xl {
    display: none !important;
  }
  .u-visible-xl {
    display: block !important;
  }
}
@media (min-width: 92.5em) and (max-width: 119.99em) {
  .u-hidden-xxl {
    display: none !important;
  }
  .u-visible-xxl {
    display: block !important;
  }
}
@media (min-width: 120em) {
  .u-hidden-max {
    display: none !important;
  }
  .u-visible-max {
    display: block !important;
  }
}
@media (min-width: 23.4375em) {
  .u-hidden-sm-up {
    display: none !important;
  }
  .u-visible-sm-up {
    display: block !important;
  }
}
@media (min-width: 48em) {
  .u-hidden-md-up {
    display: none !important;
  }
  .u-visible-md-up {
    display: block !important;
  }
}
@media (min-width: 64em) {
  .u-hidden-lg-up {
    display: none !important;
  }
  .u-visible-lg-up {
    display: block !important;
  }
}
@media (min-width: 80em) {
  .u-hidden-xl-up {
    display: none !important;
  }
  .u-visible-xl-up {
    display: block !important;
  }
}
@media (min-width: 92.5em) {
  .u-hidden-xxl-up {
    display: none !important;
  }
  .u-visible-xxl-up {
    display: block !important;
  }
}