@font-face {
  font-family: Ofelia Display;
  src: url("Thin.004fb157.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Extra Light.0d5b2b04.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Regular.c5c72625.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Medium.86b76bcb.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Bold.6dac68c3.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Extra Bold.a10b0c33.otf") format("opentype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Thin Italic.a63f0e40.otf") format("opentype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Extra Light Italic.bd05c370.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Regular Italic.14cefa63.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Medium Italic.b97617ef.otf") format("opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Bold Italic.6239f32c.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Ofelia Display;
  src: url("Extra Bold Italic.cc7c30ad.otf") format("opentype");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

:root {
  --content-max: 1200px;
  --page-pad: clamp(12px, 2.2vw, 28px);
  --page-pad-mobile: clamp(10px, 4vw, 18px);
  --site-zoom: 1.725;
  --accent: #ff5a1f;
  --accent-rgb: 255, 90, 31;
  --accent-overlay: 0;
  --header-height: 96px;
}

body {
  zoom: var(--site-zoom);
  font-family: Ofelia Display, serif;
  font-style: normal;
  font-weight: 400;
}

html, body, #root {
  scroll-behavior: smooth;
  background-color: #fff;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}

.background-wrapper {
  background-color: #fff;
  background-image: radial-gradient(#00000009 .6px, #0000 .6px), radial-gradient(#00000005 .6px, #0000 .6px);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: scroll;
  flex-direction: column;
  width: 100%;
  min-height: 100svh;
  margin: 0;
  padding: 0;
  display: flex;
  position: relative;
  overflow-x: hidden;
}

.background-wrapper:before {
  content: "";
  opacity: .3;
  pointer-events: none;
  z-index: 0;
  background-image: linear-gradient(to right, #1e120d14 1px, #0000 1px), linear-gradient(#1e120d0d 1px, #0000 1px);
  background-size: 16.6667% 100%, 100% 120px;
  position: absolute;
  inset: 0;
}

.background-wrapper:after {
  content: "";
  background: rgba(var(--accent-rgb), var(--accent-overlay));
  pointer-events: none;
  z-index: 0;
  position: absolute;
  inset: 0;
}

.background-wrapper > * {
  z-index: 1;
  position: relative;
}

html[data-overlay-text="light"] body, html[data-overlay-text="light"] body * {
  color: #fff !important;
}

@supports not (zoom: 1) {
  .background-wrapper {
    transform: scale(var(--site-zoom));
    transform-origin: 0 0;
    width: calc(100% / var(--site-zoom));
  }
}

@media (hover: hover) and (pointer: fine) {
  .background-wrapper {
    background-attachment: fixed;
  }
}

.app {
  max-width: none;
  min-height: 80vh;
  padding: var(--header-height) var(--page-pad) 80px;
  flex: 1 0 auto;
  width: 100%;
  margin: 0;
}

.app:focus {
  outline: none;
}

.page-load {
  animation: .5s pageFadeIn;
}

@media (prefers-reduced-motion: reduce) {
  .page-load {
    animation: none;
  }
}

@keyframes pageFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.body {
  align-items: center;
  width: 100vw;
  height: 100vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.background-image {
  object-fit: cover;
  z-index: -1;
  width: 50%;
  height: 100%;
  position: absolute;
}

.direction {
  opacity: .1;
  left: 0;
}

.finance-main {
  right: 0;
}

.content {
  align-items: left;
  z-index: 1;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
}

.text-box {
  background: #fff;
  display: flex;
}

.left-text, .right-text {
  text-transform: uppercase;
  color: #000;
  text-align: left;
  font-size: 3.5rem;
  font-weight: bold;
}

.left-text {
  border-right: 3px solid #000;
  padding-right: 10px;
}

.right-text {
  padding-left: 10px;
  font-size: 3.5rem;
  font-weight: 100;
}

.custom-btn {
  color: #fff;
  text-transform: uppercase;
  cursor: pointer;
  background-color: #0d2c4d;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  font-size: 18px;
  font-weight: bold;
  transition: all .3s;
  display: flex;
}

.custom-btn span {
  margin-left: 10px;
  font-size: 20px;
}

.custom-btn:hover {
  background-color: #0a223a;
}

hr {
  opacity: 1;
  background-color: #000;
  border: none;
  height: 2px;
}

h4 {
  font-size: 15px;
}

h1 {
  color: #111;
  font-size: 60px;
}

h1, h2, h3, p {
  margin: 0;
}

h2 {
  color: #111;
  font-size: 35px;
}

h3 {
  color: #111;
  font-size: 20px;
}

p {
  font-size: 17px;
}

a {
  color: #111;
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  transition: all .3s;
}

a:hover {
  color: var(--accent);
  text-decoration: none;
  transition: color .2s;
  transform: none;
}

a.home-scroll:hover, a.kaleidoskop-cta:hover, a.graphic-passages-cta:hover, a.august-sander-cta:hover, a.mein-weg-cta:hover, a.contact-cta-social:hover {
  text-decoration: none;
  transform: none;
}

a[href^="mailto:"]:after, a[href^="tel:"]:after {
  content: "";
  vertical-align: middle;
  background-color: currentColor;
  width: 1em;
  height: 1em;
  margin-left: .4rem;
  display: inline-block;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

a[href^="mailto:"]:after {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' ry='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
}

a[href^="tel:"]:after {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.08 4.18 2 2 0 0 1 4.06 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.77.62 2.6a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.48-1.14a2 2 0 0 1 2.11-.45c.83.29 1.7.5 2.6.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

::selection {
  background-color: var(--accent);
  color: #fff;
  background-color: var(--accent);
}

body, a, button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"], label {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"28\" height=\"28\" viewBox=\"0 0 28 28\"><circle cx=\"14\" cy=\"14\" r=\"6\" fill=\"%23000000\" opacity=\"0.9\"/></svg>") 14 14, auto !important;
}

.email-link {
  color: inherit;
  font: inherit;
  display: inline-block;
}

.hidden {
  display: none;
}

@media (width >= 640px) {
  .sm\:hidden {
    display: none;
  }

  .sm\:flex {
    display: flex;
  }
}

@media (width >= 768px) {
  .md\:hidden {
    display: none;
  }

  .md\:flex {
    display: flex;
  }
}

@media (width >= 1024px) {
  .lg\:hidden {
    display: none;
  }

  .lg\:flex {
    display: flex;
  }
}

@media (width <= 768px) {
  .app {
    padding: var(--header-height) var(--page-pad-mobile) 64px;
  }

  :root {
    --site-zoom: 1.3;
  }
}

@media (width <= 480px) {
  .main-heading {
    font-size: 2.2rem;
    line-height: 1.28;
  }

  :root {
    --site-zoom: 1.15;
    --header-height: 64px;
  }
}

@media (orientation: landscape) {
  :root {
    --site-zoom: 1.725;
  }
}

@media (orientation: landscape) and (width <= 1200px) {
  :root {
    --site-zoom: 1.35;
  }
}

@media (orientation: landscape) and (width <= 900px) {
  :root {
    --site-zoom: 1.2;
  }
}
/*# sourceMappingURL=index.9e4c6fd2.css.map */
