@charset "UTF-8";
/* Layout */
/* Type */
/* Generated by Font Squirrel (https://www.fontsquirrel.com) on March 15, 2017 */
@font-face {
  font-family: "Basis Grotesque";
  src: url("../fonts/basis-grotesque-regular.eot");
  src: url("../fonts/basis-grotesque-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/basis-grotesque-regular.woff2") format("woff2"), url("../fonts/basis-grotesque-regular.woff") format("woff"), url("../fonts/basis-grotesque-regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Basis Grotesque";
  src: url("../fonts/basis-grotesque-bold.eot");
  src: url("../fonts/basis-grotesque-bold.eot?#iefix") format("embedded-opentype"), url("../fonts/basis-grotesque-bold.woff2") format("woff2"), url("../fonts/basis-grotesque-bold.woff") format("woff"), url("../fonts/basis-grotesque-bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
:root,
[data-bs-theme=light] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #0d6efd;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 13, 110, 253;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-primary-text-emphasis: rgb(5.2, 44, 101.2);
  --bs-secondary-text-emphasis: rgb(43.2, 46.8, 50);
  --bs-success-text-emphasis: rgb(10, 54, 33.6);
  --bs-info-text-emphasis: rgb(5.2, 80.8, 96);
  --bs-warning-text-emphasis: rgb(102, 77.2, 2.8);
  --bs-danger-text-emphasis: rgb(88, 21.2, 27.6);
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: rgb(206.6, 226, 254.6);
  --bs-secondary-bg-subtle: rgb(225.6, 227.4, 229);
  --bs-success-bg-subtle: rgb(209, 231, 220.8);
  --bs-info-bg-subtle: rgb(206.6, 244.4, 252);
  --bs-warning-bg-subtle: rgb(255, 242.6, 205.4);
  --bs-danger-bg-subtle: rgb(248, 214.6, 217.8);
  --bs-light-bg-subtle: rgb(251.5, 252, 252.5);
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: rgb(158.2, 197, 254.2);
  --bs-secondary-border-subtle: rgb(196.2, 199.8, 203);
  --bs-success-border-subtle: rgb(163, 207, 186.6);
  --bs-info-border-subtle: rgb(158.2, 233.8, 249);
  --bs-warning-border-subtle: rgb(255, 230.2, 155.8);
  --bs-danger-border-subtle: rgb(241, 174.2, 180.6);
  --bs-light-border-subtle: #e9ecef;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: "Basis Grotesque", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: calc(1.275rem + 0.3vw);
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: rgb(27.5, 31, 37.5);
  --bs-body-color-rgb: 28, 31, 38;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: rgba(27.5, 31, 37.5, 0.75);
  --bs-secondary-color-rgb: 28, 31, 38;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-tertiary-color: rgba(27.5, 31, 37.5, 0.5);
  --bs-tertiary-color-rgb: 28, 31, 38;
  --bs-tertiary-bg: #f8f9fa;
  --bs-tertiary-bg-rgb: 248, 249, 250;
  --bs-heading-color: inherit;
  --bs-link-color: #0d6efd;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: underline;
  --bs-link-hover-color: rgb(10.4, 88, 202.4);
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-code-color: #d63384;
  --bs-highlight-color: rgb(27.5, 31, 37.5);
  --bs-highlight-bg: rgb(255, 242.6, 205.4);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.1875rem;
  --bs-border-radius-sm: 0.125rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 0.25;
  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
  --bs-form-valid-color: #198754;
  --bs-form-valid-border-color: #198754;
  --bs-form-invalid-color: #dc3545;
  --bs-form-invalid-border-color: #dc3545;
}
@media (min-width: 1200px) {
  :root,
  [data-bs-theme=light] {
    --bs-body-font-size: 1.5rem;
  }
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: rgb(109.8, 168, 253.8);
  --bs-secondary-text-emphasis: rgb(166.8, 172.2, 177);
  --bs-success-text-emphasis: rgb(117, 183, 152.4);
  --bs-info-text-emphasis: rgb(109.8, 223.2, 246);
  --bs-warning-text-emphasis: rgb(255, 217.8, 106.2);
  --bs-danger-text-emphasis: rgb(234, 133.8, 143.4);
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: rgb(2.6, 22, 50.6);
  --bs-secondary-bg-subtle: rgb(21.6, 23.4, 25);
  --bs-success-bg-subtle: rgb(5, 27, 16.8);
  --bs-info-bg-subtle: rgb(2.6, 40.4, 48);
  --bs-warning-bg-subtle: rgb(51, 38.6, 1.4);
  --bs-danger-bg-subtle: rgb(44, 10.6, 13.8);
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: rgb(7.8, 66, 151.8);
  --bs-secondary-border-subtle: rgb(64.8, 70.2, 75);
  --bs-success-border-subtle: rgb(15, 81, 50.4);
  --bs-info-border-subtle: rgb(7.8, 121.2, 144);
  --bs-warning-border-subtle: rgb(153, 115.8, 4.2);
  --bs-danger-border-subtle: rgb(132, 31.8, 41.4);
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-heading-color: inherit;
  --bs-link-color: rgb(109.8, 168, 253.8);
  --bs-link-hover-color: rgb(138.84, 185.4, 254.04);
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
  --bs-code-color: rgb(230.4, 132.6, 181.2);
  --bs-highlight-color: #dee2e6;
  --bs-highlight-bg: rgb(102, 77.2, 2.8);
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: rgb(117, 183, 152.4);
  --bs-form-valid-border-color: rgb(117, 183, 152.4);
  --bs-form-invalid-color: rgb(234, 133.8, 143.4);
  --bs-form-invalid-border-color: rgb(234, 133.8, 143.4);
}

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

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.1;
  color: var(--bs-heading-color);
}

h1, .h1 {
  font-size: calc(1.5rem + 3vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 3.75rem;
  }
}

h2, .h2 {
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 3rem;
  }
}

h3, .h3 {
  font-size: calc(1.3875rem + 1.65vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 2.625rem;
  }
}

h4, .h4 {
  font-size: calc(1.35rem + 1.2vw);
}
@media (min-width: 1200px) {
  h4, .h4 {
    font-size: 2.25rem;
  }
}

h5, .h5 {
  font-size: calc(1.3125rem + 0.75vw);
}
@media (min-width: 1200px) {
  h5, .h5 {
    font-size: 1.875rem;
  }
}

h6, .h6 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h6, .h6 {
    font-size: 1.5rem;
  }
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.875em;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0.125rem;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role=button] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: clamp(1.5rem, 2.3vw, 4rem);
  font-weight: 300;
}

.display-1 {
  font-weight: 300;
  line-height: 1.1;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-weight: 300;
  line-height: 1.1;
  font-size: calc(1.575rem + 3.9vw);
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-weight: 300;
  line-height: 1.1;
  font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-weight: 300;
  line-height: 1.1;
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-weight: 300;
  line-height: 1.1;
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-weight: 300;
  line-height: 1.1;
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 0.875em;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 1rem;
  font-size: calc(1.3125rem + 0.75vw);
}
@media (min-width: 1200px) {
  .blockquote {
    font-size: 1.875rem;
  }
}
.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #6c757d;
}
.blockquote-footer::before {
  content: "— ";
}

.container, html.single-page #singleContent,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container, html.single-page #singleContent {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container, html.single-page #singleContent {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container, html.single-page #singleContent {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container, html.single-page #singleContent {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container, html.single-page #singleContent {
    max-width: 1320px;
  }
}
body {
  padding: 3vh 5vw;
  position: relative;
}

.siteMain {
  margin-left: auto;
  margin-right: auto;
  padding-right: 7vw;
  position: relative;
}
@media (min-width: 992px) {
  .siteMain {
    padding-right: 12vw;
  }
}

.mt-2 {
  margin-top: 2rem;
}

a.default {
  color: inherit;
}

.siteHeader--aside {
  position: fixed;
  right: 5vw;
  top: 9vh;
  transform-origin: bottom right;
  width: 80vh;
  transform: rotate(-90deg) translate(0, 6px);
}

.brand {
  text-transform: uppercase;
  font-size: 1rem;
  display: flex;
  justify-content: flex-start;
  letter-spacing: 0.1em;
}
.brand > span {
  white-space: nowrap;
}
.brand > span:first-child {
  margin-right: 8vw;
}

.brandShortcut {
  line-height: 1;
  position: absolute;
  z-index: 1031;
}
@media (min-width: 992px) {
  .brandShortcut {
    position: fixed;
    z-index: 1031;
  }
}
.brandShortcut:before {
  content: "";
  display: none;
  position: fixed;
  height: calc(3vh + 4rem);
  width: calc(10vw + 2.5rem);
  top: 0;
  left: 0;
  background-color: var(--main-bg-color);
}
@media (min-width: 992px) {
  .brandShortcut:before {
    height: calc(3vh + 7rem);
    width: calc(10vw + 1.5rem);
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .brandShortcut:before {
    display: block;
  }
}
.brandShortcut .logo--letters {
  position: absolute;
  z-index: 1032;
  width: 50px;
  height: auto;
}
@media (min-width: 992px) {
  .brandShortcut .logo--letters {
    width: 90px;
    left: 6px;
    top: 6px;
  }
}
.brandShortcut .logo--letters #letters path {
  fill: rgb(27.5, 31, 37.5);
}
.brandShortcut > span {
  display: inline-block;
  position: fixed;
  font-weight: bold;
  font-size: 3.75rem;
  color: red;
}
.brandShortcut .letter--b {
  left: 5vw;
  top: 3vh;
}
.brandShortcut .letter--i {
  left: 10vw;
  top: 3vh;
}
.brandShortcut .letter--w {
  left: 5vw;
  top: calc(3vh + 0.8em);
}

.topNav, .socialNav {
  position: fixed;
  z-index: 1030;
  right: 10vw;
  left: 5vw;
  transform: translateX(10px);
  top: 0;
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  background-color: var(--main-bg-color);
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  line-height: 1.1;
}
.topNav > a, .socialNav > a {
  color: inherit;
  text-decoration: none;
  font-weight: bold;
  background-color: var(--main-bg-color);
  position: relative;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .topNav > a, .socialNav > a {
    padding: 3vh 1vw 1rem 1vw;
  }
}
.topNav > a:hover:before, .topNav > a.active:before, .socialNav > a:hover:before, .socialNav > a.active:before {
  height: 4px;
  background-color: rgb(27.5, 31, 37.5);
  position: absolute;
  display: block;
  left: 1vw;
  right: 1vw;
  top: 0;
  content: "";
}
.topNav .nav-link, .socialNav .nav-link {
  display: none;
}
@media (min-width: 992px) {
  .topNav .nav-link, .socialNav .nav-link {
    display: unset;
  }
}
.topNav .nav-link--instagram, .socialNav .nav-link--instagram {
  display: unset;
  padding-bottom: 0;
  top: 1.5rem;
}
@media (min-width: 768px) {
  .topNav .nav-link--instagram, .socialNav .nav-link--instagram {
    top: unset;
  }
}
.topNav .nav-link--instagram .icon, .socialNav .nav-link--instagram .icon {
  margin-top: -0.1em;
}
.topNav .icon, .socialNav .icon {
  width: 2rem;
  height: auto;
  margin-block: 0;
}
.topNav .icon path, .socialNav .icon path {
  fill: currentColor;
}

.siteFooter {
  padding-top: 15vh;
  padding-bottom: 1rem;
}
.siteFooter__contact a {
  color: inherit;
  -webkit-text-decoration-color: rgba(27.5, 31, 37.5, 0.34);
          text-decoration-color: rgba(27.5, 31, 37.5, 0.34);
}
.siteFooter__contact a:hover {
  -webkit-text-decoration-color: rgba(27.5, 31, 37.5, 0.85);
          text-decoration-color: rgba(27.5, 31, 37.5, 0.85);
}

.footerNav {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  font-size: 1rem;
}
.footerNav .nav-item {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  color: inherit;
  text-decoration: none;
}
.footerNav .copyright {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.footerNav .icon {
  width: 1em;
  height: auto;
  vertical-align: -0.1em;
  margin-right: 0.3em;
}
.footerNav .icon path, .footerNav .icon circle {
  fill: currentColor;
}

html.single-page .topNav {
  left: auto;
}
html.single-page .siteMain {
  padding-top: 12vh;
  padding-bottom: 12vh;
}
@media (min-width: 992px) {
  html.single-page .siteMain {
    padding-left: 12vw;
  }
}
.singleLayout__body {
  font-size: 1rem;
}
@media (min-width: 992px) {
  .singleLayout__body {
    font-size: 1.5rem;
  }
}
.singleLayout__body h2, .singleLayout__body .h2 {
  margin-top: 4rem;
  font-size: 1rem;
}
@media (min-width: 992px) {
  .singleLayout__body h2, .singleLayout__body .h2 {
    font-size: 1.5rem;
  }
}
.singleLayout__body h3, .singleLayout__body .h3 {
  margin-top: 2rem;
  font-size: 1rem;
}
@media (min-width: 992px) {
  .singleLayout__body h3, .singleLayout__body .h3 {
    font-size: 1.5rem;
  }
}
.singleLayout__body a {
  color: inherit;
  -webkit-hyphens: auto;
          hyphens: auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.bgPanels {
  list-style-type: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  margin: 0;
  background-color: rgb(27.5, 31, 37.5);
}

.bgPanel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  z-index: 0;
  transition: 3s opacity ease;
}
.bgPanel--amethyst {
  background-color: #A89DC0;
}
.bgPanel--sinbad {
  background-color: #B2DBD1;
}
.bgPanel--mandy {
  background-color: #E05669;
}
.bgPanel--deco {
  background-color: #C6D588;
}
.bgPanel--active {
  opacity: 1;
  z-index: 1;
}

/*
html {
  &[data-bgcolor=amethyst] .bgPanel--amethyst,
  &[data-bgcolor=sinbad] .bgPanel--sinbad,
  &[data-bgcolor=mandy] .bgPanel--mandy,
  &[data-bgcolor=deco] .bgPanel--deco { 
    opacity: 1; 
    z-index: 1;

    animation-name: fade-in;
    animation-duration: $transition-duration; // 1s;

    // transition-duration: $transition-duration;
    // transition-delay: 0;
  }
}
*/
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.panel {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.panel__title {
  font-size: 1.5rem;
  font-weight: bold;
}

figure.blockquote blockquote {
  font-size: clamp(3rem, 6vh, 10rem);
  font-weight: 700;
  line-height: 1.1;
}
figure.blockquote figcaption {
  font-weight: normal;
}

.intro {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
}
@media (min-width: 992px) {
  .intro {
    flex-wrap: nowrap;
    flex-direction: row;
  }
}
.intro + .intro {
  margin-top: 15vh;
}
@media (min-width: 992px) {
  .intro + .intro {
    margin-top: 50vh;
  }
}
@media (min-width: 992px) {
  .intro__wrapper {
    margin-bottom: 25vh;
  }
}
.intro__title h2, .intro__title .h2, .intro__description {
  font-size: clamp(1.5rem, 2.3vw, 4rem);
  line-height: 1.2;
  font-weight: bold;
}
@media (min-width: 992px) {
  .intro__title, .intro__description {
    flex: 0 0 50%;
  }
}
.intro__title {
  position: sticky;
  top: 0;
  background-color: var(--main-bg-color);
  padding-top: 1rem;
}
@media (min-width: 992px) {
  .intro__title {
    padding-right: 3vw;
    white-space: nowrap;
    visibility: hidden;
  }
}
.intro__title h2, .intro__title .h2 {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .intro__title h2, .intro__title .h2 {
    position: sticky;
    top: 45vh;
  }
}
.intro__description {
  margin-top: 5vh;
}
@media (min-width: 992px) {
  .intro__description {
    margin-top: 0;
    flex: 0 1 auto;
  }
}
@media (min-width: 992px) {
  .intro__description p + p {
    margin-top: 2rem;
  }
}
.intro__group + .intro__group {
  margin-top: 4rem;
}
@media (min-width: 992px) {
  .intro__group + .intro__group {
    margin-top: 15vh;
  }
}
.intro--first {
  margin-top: 0;
}
@media (min-width: 992px) {
  .intro--first .intro__description {
    min-height: 50vh;
  }
}
.intro--first .intro__group {
  min-height: 50vh;
}
.intro--first + .intro {
  margin-top: 15vh;
}
.intro--quote {
  align-items: center;
  min-height: 66vh;
}
@media (min-width: 992px) {
  .intro--quote {
    margin-top: 0;
    padding-top: 4vw;
    min-height: 88vh;
  }
}
.intro--quote .blockquote p {
  font-size: 2.25rem;
  line-height: 1em;
  font-weight: bold;
  letter-spacing: -0.02em;
  white-space: wrap;
}
@media (min-width: 992px) {
  .intro--quote .blockquote p {
    font-size: clamp(3rem, 7.5vw, 10rem);
  }
  .intro--quote .blockquote p wbr {
    white-space: normal;
  }
}
@media (min-width: 1200px) {
  .intro--quote .blockquote p {
    margin-left: 9vw;
    margin-right: -9vw;
  }
}
.intro--quote .blockquote__footer {
  margin-top: 1rem;
  font-size: 1rem;
}
@media (min-width: 992px) {
  .intro--quote .blockquote__footer {
    margin-top: 2rem;
    font-size: clamp(1.5rem, 2.3vw, 4rem);
  }
}
.intro--quote span.line {
  display: inline-block;
  white-space: nowrap;
}
.intro--quote .move {
  display: inline-block;
}
.intro--quote .gap {
  display: inline-block;
  width: 0.3em;
  height: 0.66em;
}
.intro--quote .gap.gap--first {
  margin-left: -0.3em;
}
.intro--quote + .intro--first {
  margin-top: 0;
}

.scrollytelling {
  height: 75vh;
  position: relative;
  display: none;
}
@media (min-width: 992px) {
  .scrollytelling {
    display: block;
  }
}
.scrollytelling__wrapper {
  position: relative;
}
.scrollytelling__string {
  display: none;
  position: absolute;
  flex-wrap: wrap;
  align-items: flex-end;
  background-color: var(--main-bg-color);
  padding-top: 100px;
}
@media (min-width: 992px) {
  .scrollytelling__string {
    display: flex;
    flex-wrap: nowrap;
    padding-top: 0;
    background-color: transparent;
  }
}
.scrollytelling [class^=slice] {
  padding-right: 0.3em;
  white-space: nowrap;
  box-sizing: content-box;
  display: block;
  max-width: 100%;
}
@media (min-width: 1200px) {
  .scrollytelling [class^=slice] {
    max-width: 450px;
  }
}
@media (min-width: 1400px) {
  .scrollytelling [class^=slice] {
    max-width: 680px;
  }
}
.scrollytelling .slice--04, .scrollytelling .slice--05 {
  display: none;
  opacity: 0;
  position: relative;
}
.scrollytelling .slice--04:after, .scrollytelling .slice--05:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0.3em;
  height: 3px;
  bottom: -3px;
  display: block;
  background-color: rgb(27.5, 31, 37.5);
}
.scrollytelling__copy {
  position: absolute;
  margin-left: 50%;
  transform: translateY(100vh);
  top: 0;
}
.scrollytelling__copy p {
  font-size: clamp(1.5rem, 2.3vw, 4rem);
  line-height: 1.2;
  font-weight: bold;
}
.scrollytelling .copy__group + .copy__group {
  margin-top: 50vh;
}

.contentSection {
  padding-top: 15vh;
}
@media (min-width: 992px) {
  .contentSection {
    padding-left: 220px;
    padding-top: 15vh;
  }
}
.contentSection__title {
  font-size: 1.5rem;
  padding-top: 3vh;
}
@media (min-width: 992px) {
  .contentSection__title {
    font-size: 1.43vw;
  }
}
.contentSection__head {
  position: sticky;
  top: 0;
  z-index: 1030;
  background-color: var(--main-bg-color);
  width: calc(100% + 2rem);
  padding-left: 1.5rem;
  margin-left: -1.5rem;
}
@media (min-width: 992px) {
  .contentSection__head {
    width: auto;
  }
}
.contentSection__body {
  margin-top: 4rem;
}

#contact {
  min-height: auto;
}
#contact address {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
@media (min-width: 992px) {
  #contact address {
    flex-direction: row;
  }
}
#contact address dd {
  margin-right: 1.5rem;
  white-space: nowrap;
}
@media (min-width: 1200px) {
  #contact address dd {
    margin-right: 3rem;
  }
}
#contact address a {
  color: inherit;
  -webkit-text-decoration-color: rgba(27.5, 31, 37.5, 0.25);
          text-decoration-color: rgba(27.5, 31, 37.5, 0.25);
}
#contact address a:hover {
  -webkit-text-decoration-color: rgba(27.5, 31, 37.5, 0.85);
          text-decoration-color: rgba(27.5, 31, 37.5, 0.85);
}

#partner {
  min-height: auto;
}
.projectList {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}

.projectTeaser {
  border-radius: 1rem;
  max-width: 90vw;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media (min-width: 992px) {
  .projectTeaser {
    max-width: 55vw;
  }
}
.projectTeaser__title {
  font-weight: bold;
  font-size: clamp(1.5rem, 2.3vw, 4rem);
}
@media (min-width: 992px) {
  .projectTeaser__title {
    text-indent: -0.07em;
    margin-bottom: 1rem;
  }
}
.projectTeaser__content {
  padding-top: 1rem;
  border-top: 1px solid rgba(27.5, 31, 37.5, 0.4);
}
.projectTeaser--hasImage {
  display: flex;
}
.projectTeaser__image {
  padding-right: 1.5rem;
  background-color: var(--main-bg-color);
  max-width: 33.3333333333%;
  flex: 1 0 33.3333333333%;
}
.projectTeaser__image picture img {
  max-width: 100%;
  height: auto;
  mix-blend-mode: multiply;
  display: block;
}

.link--readmore {
  color: inherit;
  text-decoration: none;
  padding-top: 1rem;
  padding-bottom: 1rem;
  display: inline-flex;
  align-items: center;
  font-weight: bold;
}
.link--readmore .icon--readmore path, .link--readmore .icon--readmore #Oval {
  stroke: rgb(27.5, 31, 37.5);
}
.link--readmore:hover {
  text-decoration: none;
  color: inherit;
  /*
  .icon--readmore {
    #pupil {
      transform: translateX(4px);
    }
    path {
      d: path("M16,6 C21.9223902,6 27.0227051,11.171875 27.8596689,16.0003182 C27.517334,21.4299316 21.9219777,26 16,26 C10.0780223,26 4.9050293,21.6748047 3.93676758,16 C4.72558594,10.0336914 10.0776098,6 16,6 Z");
    }
  }
  */
}
.link--readmore:hover .icon--readmore #Oval {
  r: 14;
}
.link--readmore:hover .icon--readmore path {
  transform: translateX(4px);
}
.link--readmore .icon--readmore {
  margin-right: 0.75rem;
}
.link--readmore .icon--readmore #pupil {
  transition: 0.2s transform cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.link--readmore .icon--readmore path {
  transition: 0.2s d cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.teamList {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.teamItem {
  margin-bottom: 3rem;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 91.66666667%;
  margin-left: 8.33333333%;
}
@media (min-width: 992px) {
  .teamItem {
    flex: 0 0 auto;
    width: 50%;
    margin-left: 0;
  }
}
@media (min-width: 1400px) {
  .teamItem {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
.teamItem__image {
  background-color: var(--main-bg-color);
}
.teamItem__image picture {
  max-width: 160px;
  display: block;
  background-color: var(--main-bg-color);
  transform: translateX(-8%);
}
@media (min-width: 992px) {
  .teamItem__image picture {
    max-width: 300px;
    transform: translateX(-25%);
  }
}
.teamItem__image picture img {
  max-width: 100%;
  height: auto;
  border-radius: 50%;
  display: block;
  mix-blend-mode: multiply;
}
.teamItem__content {
  margin-top: 1rem;
}
@media (min-width: 992px) {
  .teamItem__content {
    padding-right: 0.75rem;
  }
}
.teamItem__name {
  font-weight: bold;
}
.teamItem__title {
  line-height: 1.2;
}
.teamItem__footer {
  font-size: 1rem;
}
.teamItem__focusList {
  padding-left: 0;
  list-style-type: none;
}

.publication {
  padding-top: 3rem;
  padding-bottom: 3rem;
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
  line-height: 1.3;
}
@media (min-width: 992px) {
  .publication {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
.publication + .publication {
  border-top: 1px solid rgba(27.5, 31, 37.5, 0.4);
}
@media (min-width: 992px) {
  .publication + .publication {
    border-top: none;
  }
}
.publication__image, .publication__content {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}
.publication__image {
  flex: 0 0 auto;
  width: 100%;
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .publication__image {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
.publication__image picture img {
  width: 100%;
  height: auto;
  display: block;
}
.publication__cover {
  display: block;
  background-color: var(--main-bg-color);
  box-shadow: 1px 1px 0 var(--main-bg-color), 2px 2px 0 rgba(27.5, 31, 37.5, 0.67), 3px 3px 0 var(--main-bg-color), 4px 4px 0 rgba(27.5, 31, 37.5, 0.67), 5px 5px 0 var(--main-bg-color), 6px 6px 0 rgba(27.5, 31, 37.5, 0.67);
  border: 1px solid rgb(27.5, 31, 37.5);
}
.publication__content {
  flex: 0 0 auto;
  width: 100%;
  padding-top: 1rem;
  position: relative;
}
@media (min-width: 992px) {
  .publication__content {
    flex: 0 0 auto;
    width: 66.66666667%;
    padding-top: 2rem;
  }
}
.publication__content:before {
  content: "";
  height: 1px;
  position: absolute;
  background-color: rgba(27.5, 31, 37.5, 0.4);
  left: 0.75rem;
  right: 0.75rem;
  top: 0;
  display: none;
}
@media (min-width: 992px) {
  .publication__content:before {
    display: block;
  }
}
.publication__author {
  font-size: 1rem;
  margin-bottom: 0.5rem;
}
.publication__title {
  font-weight: bold;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .publication__title {
    font-size: 1.5rem;
  }
}
.publication__excerpt {
  font-size: 1rem;
}
.publication__placeholder {
  width: 90%;
}
.publication .link {
  font-size: 1rem;
}
.publication .link .link__icon {
  margin-right: 0.1875rem;
}
.publication .link .link__text {
  font-weight: bold;
}

@media (min-width: 992px) {
  .publicationList--own .publication__title {
    font-size: 1.875rem;
  }
}

.publicationList--others {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.publicationList--others .publication {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 1200px) {
  .publicationList--others .publication {
    flex: 0 0 auto;
    width: 50%;
  }
}
.publicationList--others .publication__image {
  max-width: 160px;
}

#partner.contentSection {
  align-items: stretch;
}
.partnerLogoBar {
  border-radius: 0.125rem;
  background-color: #fff;
}
.partnerLogoBar img {
  width: 100%;
  height: auto;
}

.partnerLogos {
  background-color: #fff;
  max-width: 440px;
  /*
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  */
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto auto;
  grid-template-areas: "bmf dl" "lads lads" "kultgz alf";
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  margin-left: -2.25rem;
  row-gap: 2rem;
}
@media (min-width: 992px) {
  .partnerLogos {
    max-width: 800px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin-left: -2.25rem;
    margin-right: -2.25rem;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    row-gap: 1rem;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto;
    grid-template-areas: "bmf dl alf" "lads lads kultgz";
  }
}
.partnerLogos [class^=partnerLogos--] img {
  width: 100%;
  height: auto;
}
.partnerLogos--lads, .partnerLogos--lapb, .partnerLogos--svkgz, .partnerLogos--kultgz, .partnerLogos--alf {
  grid-area: lads;
  padding-left: 20px;
}
@media (min-width: 992px) {
  .partnerLogos--lads, .partnerLogos--lapb, .partnerLogos--svkgz, .partnerLogos--kultgz, .partnerLogos--alf {
    padding-inline: 40px;
  }
}
.partnerLogos--bmf {
  grid-area: bmf;
}
.partnerLogos--demokratie-leben {
  grid-area: dl;
}
.partnerLogos--flick {
  grid-area: flick;
  padding-top: 1.6rem;
}
.partnerLogos--bpb {
  grid-area: bpb;
}
.partnerLogos--lapb {
  margin-top: 1.5rem;
  grid-area: lapb;
}
.partnerLogos--kultgz {
  margin-top: 1.5rem;
  grid-area: kultgz;
}
.partnerLogos--svkgz {
  margin-top: 1.5rem;
  grid-area: svkgz;
}
.partnerLogos--alf {
  margin-top: 1.5rem;
  grid-area: alf;
  padding-bottom: 1rem;
}
.partnerLogos--alf svg, .partnerLogos--alf img {
  margin-inline: auto;
  display: block;
  max-width: 160px;
}
@media (min-width: 992px) {
  .partnerLogos--alf svg, .partnerLogos--alf img {
    max-width: 260px;
  }
}

html.modal--open body {
  overflow: hidden;
}
html.modal--open .modal {
  /*
  &__wrapper {
    display: flex;
  }

  &__backdrop {
    display: block;
  }
  */
}
html.modal--open .modal__wrapper, html.modal--open .modal__backdrop {
  visibility: visible;
}

.modal {
  background-color: var(--main-bg-color);
  min-height: 50vh;
  min-width: 50vw;
  display: flex;
  flex-direction: column;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 90vw;
  max-width: 1200px;
  margin-bottom: 0;
  margin-top: auto;
  box-shadow: 0 60px 120px -60px rgba(0, 0, 0, 0.02), 0 30px 60px -30px rgba(0, 0, 0, 0.05), 0 15px 30px -15px rgba(0, 0, 0, 0.25);
}
@media (min-width: 1400px) {
  .modal {
    max-width: 1920px;
  }
}
.modal__header {
  border-bottom: 1px solid rgba(27.5, 31, 37.5, 0.25);
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  display: flex;
  align-items: center;
  position: sticky;
  background-color: var(--main-bg-color);
  top: -5vh;
}
.modal__header .modal__title {
  font-size: 1rem;
  font-weight: bold;
}
.modal__close {
  width: 40px;
  height: 40px;
  position: relative;
  margin-right: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.modal__close:hover .bar {
  height: 4px;
}
.modal__close .bar {
  height: 2px;
  width: 100%;
  background-color: rgb(27.5, 31, 37.5);
  display: block;
  position: absolute;
  border-radius: 1px;
}
.modal__close .bar:first-child {
  transform: rotate(45deg);
}
.modal__close .bar:last-child {
  transform: rotate(-45deg);
}
.modal__content {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media (min-width: 992px) {
  .modal__content {
    padding-top: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem;
    padding-right: 3rem;
  }
}
.modal__backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  opacity: 0.15;
  z-index: 1050;
  display: block;
}
.modal__wrapper {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1055;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  padding: 5vh 3vw;
}
@media (min-width: 992px) {
  .modal__wrapper {
    padding: 5vh 5vw;
  }
}
.modal__backdrop, .modal__wrapper {
  visibility: hidden;
}
.modal__loading {
  margin: 10vh 0;
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 24px;
}
.modal__loading:after {
  content: "Laden";
  text-transform: uppercase;
  margin-left: 0.5em;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
.modal__loading .dot {
  width: 8px;
  height: 8px;
  background-color: rgb(27.5, 31, 37.5);
  border-radius: 4px;
  margin: 0 4px;
  animation-name: loading-animation;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.modal__loading .dot:nth-child(2) {
  animation-delay: 0.25s;
}
.modal__loading .dot:nth-child(3) {
  animation-delay: 0.5s;
}
.modal__wrapper.loading .modal__loadung {
  display: flex;
}

@keyframes loading-animation {
  from {
    height: 8px;
  }
  to {
    height: 24px;
  }
}
.project {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.project__title, .project__content, .project__footer {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}
.project__title {
  text-wrap: balance;
}
.project__titleImage {
  margin-left: -3.75rem;
  margin-right: -3.75rem;
  margin-top: -3rem;
  margin-bottom: 3rem;
}
.project__titleImage img {
  mix-blend-mode: multiply;
}
@media (min-width: 992px) {
  .project__title h2, .project__title .h2 {
    font-size: clamp(1.5rem, 2.3vw, 4rem);
    margin-bottom: 2rem;
    position: sticky;
    top: 3rem;
  }
}
@media (min-width: 992px) {
  .project__title {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
@media (min-width: 992px) {
  .project__content {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
}
.project__footer {
  margin-top: 4rem;
  font-size: 1rem;
  color: rgba(27.5, 31, 37.5, 0.67);
  text-wrap: balance;
}
@media (min-width: 992px) {
  .project__footer {
    margin-top: 6rem;
    flex: 0 0 auto;
    width: 66.66666667%;
  }
}
.project__footer a {
  color: inherit;
  -webkit-text-decoration-color: rgba(27.5, 31, 37.5, 0.4);
          text-decoration-color: rgba(27.5, 31, 37.5, 0.4);
}
.project__footer a:hover {
  color: rgb(27.5, 31, 37.5);
  -webkit-text-decoration-color: rgb(27.5, 31, 37.5);
          text-decoration-color: rgb(27.5, 31, 37.5);
}

.singleLayout {
  display: flex;
  flex-direction: column;
}
@media (min-width: 992px) {
  .singleLayout {
    flex-direction: row;
  }
}
.singleLayout__title h1, .singleLayout__title .h1 {
  margin-bottom: 3rem;
  font-weight: bold;
  font-size: 1.875rem;
}
@media (min-width: 992px) {
  .singleLayout__title h1, .singleLayout__title .h1 {
    position: sticky;
    top: 40px;
    font-size: clamp(1.5rem, 2.3vw, 4rem);
  }
}
@media (min-width: 992px) {
  .singleLayout__title {
    margin-right: 3rem;
  }
}
.singleLayout__body h6, .singleLayout__body .h6 {
  font-size: inherit;
}

body {
  font-size: 1rem;
}
@media (min-width: 992px) {
  body {
    font-size: 1.43vw;
  }
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4 {
  line-height: 1.1;
}

h2, .h2 {
  font-size: clamp(1.5rem, 2.3vw, 4rem);
  font-weight: bold;
}

h3, .h3,
h4, .h4,
h5, .h5 {
  font-size: 1.5rem;
}

h5, .h5 {
  margin-top: 3rem;
  margin-bottom: 1rem;
}

h6, .h6 {
  font-size: 1rem;
  font-weight: bold;
  margin-top: 1.5rem;
}

.balanced {
  text-wrap: balance;
}

.pretty {
  text-wrap: pretty;
}

.hyphens {
  -webkit-hyphens: auto;
          hyphens: auto;
}

.nowrap {
  white-space: nowrap;
}

.lead {
  line-height: 1.2;
}
@media (min-width: 992px) {
  .sectionTitle {
    margin-top: 4rem;
  }
}

.stress {
  display: inline-block;
  border-bottom: 4px solid rgb(27.5, 31, 37.5);
  text-shadow: 0 0 0 5px #fff;
  line-height: 1.4;
}

a.default {
  color: inherit;
}

.link--has-icon {
  display: flex;
  color: inherit;
  align-items: center;
  text-decoration: none;
}
.link--has-icon .link__icon {
  margin-right: 0.375rem;
}
.link--has-icon .icon--arrow-down #Oval, .link--has-icon .icon--arrow-down path {
  stroke: rgb(27.5, 31, 37.5);
}
.link--has-icon .icon--arrow-down #Oval {
  transition: 0.2s r cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.link--has-icon .icon--arrow-down path {
  transition: 0.2s transform cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.link--has-icon:hover {
  color: inherit;
}
.link--has-icon:hover .icon--arrow-down #Oval {
  r: 14;
}
.link--has-icon:hover .icon--arrow-down path {
  transform: translateX(4px);
}

html {
  --main-bg-color: #a89dc0;
}

body {
  color: rgb(27.5, 31, 37.5);
  background-color: var(--main-bg-color);
}
/*# sourceMappingURL=main.css.map */
