@charset "UTF-8";
/*
Theme Name: GSW Geschaeftsbericht
Author: STUDIOHORN
Author URI: https://studio-horn.de
Description: Das globale GSW GB Theme
[...]
Template: twentytwentyfive
[...]
*/
/*== General SCSS ==*/
/*== General ==*/
@font-face {
  font-family: "Open Sans";
  src: url("assets/fonts/OpenSans-ExtraBold.eot") format("embedded-opentype");
  src: url("assets/fonts/OpenSans-ExtraBold.woff") format("woff"), url("assets/fonts/OpenSans-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("assets/fonts/OpenSans-Bold.eot") format("embedded-opentype");
  src: url("assets/fonts/OpenSans-Bold.woff") format("woff"), url("assets/fonts/OpenSans-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Open Sans";
  src: url("assets/fonts/OpenSans-Regular.eot") format("embedded-opentype");
  src: url("assets/fonts/OpenSans-Regular.woff") format("woff"), url("assets/fonts/OpenSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
main {
  margin-top: 0 !important;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Open Sans", sans-serif !important;
  font-weight: 700;
  font-style: normal;
  letter-spacing: unset !important;
  margin-bottom: var(--wp--preset--spacing--20);
}
p, a, li, div {
  font-family: "Open Sans", sans-serif !important;
  letter-spacing: unset !important;
  -webkit-hyphens: auto;
  font-size: var(--fs-p);
  line-height: 1.5em;
  font-weight: 400;
}
strong {
  font-weight: 700 !important;
}
h1 {
  font-size: var(--fs-h1);
}
h2 {
  font-size: var(--fs-h2);
}
h3 {
  font-size: var(--fs-h3);
}
h4 {
  font-size: var(--fs-h4);
}
h5 {
  font-size: var(--fs-h5);
}
p {
  hyphens: auto !important;
}
a {
  text-decoration: none !important;
  cursor: pointer;
  font-size: inherit;
  font-weight: inherit !important;
  color: inherit !important;
}
:where(.wp-site-blocks *:focus) {
  outline: none;
}
.fs-h4 {
  font-size: var(--fs-h4);
  line-height: 1.25em !important;
}
.fs-30 {
  font-size: var(--fs-h5);
}
.fs-20 {
  font-size: var(--fs-20);
}
:root {
  --primary: #0F3C41;
  --secondary: #FCE900;
  --gswred: #E10236;
  /* Bitte Schriftgrößen nun in diesem Format anlegen */
  --fs-h1: clamp(30px, 2.0rem + ((1vw - 3.2px) * 2.963), 90px);
  --fs-h2: clamp(30px, 1.9rem + ((1vw - 3.2px) * 1.737), 50px);
  --fs-h3: clamp(22px, 1.35rem + ((1vw - 3.2px) * 1.052), 40px);
  --fs-h4: clamp(18px, 1.1rem + ((1vw - 3.2px) * 0.789), 30px);
  --fs-p-small: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.156), 14px);
  --fs-p: clamp(14px, 0.875rem + ((1vw - 3.2px) * 0.469), 20px);
  --fs-p-big: clamp(17px, 1.05rem + ((1vw - 3.2px) * 0.716), 25px);
}
/* Hiermit können die responsive Spacings von Wordpress angepasst werden

@media(max-width: 1200px) {
  body {
    --wp--preset--spacing--10: 1rem !important;
    --wp--preset--spacing--30: min(1.5rem, 2.0vw) !important;
    --wp--preset--spacing--40: min(2rem, 3vw) !important;
    --wp--preset--spacing--50: min(4.5rem, 6vw) !important;
    --wp--preset--spacing--60: min(6.5rem, 8vw) !important;
  }
} */
.responsive-padding-x {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
@media (min-width: 768px) {
  .responsive-padding-x {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
}
@media (min-width: 992px) {
  .responsive-padding-x {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
}
.img-w-100 img {
  width: 100% !important;
}
.wp-block-cover {
  overflow: hidden;
}
.fw-blod {
  font-weight: 700 !important;
}
.fw-semibold {
  font-weight: 600 !important;
}
.fw-regular {
  font-weight: 500 !important;
}
.text-primary {
  color: var(--primary) !important;
}
.text-secondary {
  color: var(--secondary) !important;
}
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
.wp-site-blocks {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  max-width: 100vw;
  overflow: hidden;
}
.hyphens-auto {
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
}
.wp-site-blocks .alignfull, .wp-site-blocks > .wp-block-group.has-background, .wp-site-blocks > .wp-block-cover, .wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background, .wp-site-blocks > .wp-block-template-part > .wp-block-cover, body > .is-root-container > .wp-block-cover, body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background, body > .is-root-container > .wp-block-template-part > .wp-block-cover, .is-root-container .wp-block[data-align="full"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: unset;
}
.border-primary {
  border-color: var(--primary) !important;
}
.border-secondary {
  border-color: var(--secondary) !important;
}
.entry-content {
  margin-top: 0 !important;
}
@media (max-width: 992px) {
  .center-animated-text-group .spacer-10vw {
    height: 20vw !important;
  }
  .center-animated-text-group .spacer-18vw {
    height: 30vw !important;
  }
}
.mw-unset {
  max-width: unset;
}
.mw-unset img {
  max-width: unset;
}
.wp-block-button__link.has-primary-color {
  transition: 0.25s;
}
.wp-block-button__link.has-primary-color:hover {
  background-color: var(--primary) !important;
  color: white !important;
  border-color: var(--primary) !important;
}
/*== Layout ==*/
table td {
  padding-left: 0 !important;
  padding-right: 0.25em !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
table * {
  font-size: var(--fs-p);
}
/*== Layout END ==*/
/*== z-index Styling ==*/
.z-99 {
  z-index: 99 !important;
  position: relative;
}
.z-98 {
  z-index: 98 !important;
  position: relative;
}
.z-97 {
  z-index: 97 !important;
  position: relative;
}
.z-96 {
  z-index: 96 !important;
  position: relative;
}
.z-95 {
  z-index: 95 !important;
  position: relative;
}
.z-94 {
  z-index: 94 !important;
  position: relative;
}
.wp-block-navigation :where(a), .wp-block-navigation :where(a:active), .wp-block-navigation :where(a:focus) {
  text-decoration: none !important;
}
/*== WPForms Styling ==*/
.wpforms-container input, .wpforms-container textarea {
  border-color: var(--secondary) !important;
  border-radius: 0px !important;
}
.wpforms-container legend, .wpforms-container label {
  color: var(--secondary) !important;
}
.wpforms-container button {
  padding: 10px 15px !important;
  border-radius: 0 !important;
  border: solid 1px var(--primary) !important;
  background-color: var(--primary) !important;
  color: white !important;
  font-family: "Open Sans", sans-serif;
  font-weight: 700 !important;
  transition: 0.25s;
  font-size: 20px !important;
}
.wpforms-container button:hover {
  transform: scale(1.1);
}
/*== WPForms Styling END ==*/
.grecaptcha-badge {
  opacity: 0 !important;
}
/* Force lightbox container size, ignoring JS-set custom props */
.wp-lightbox-overlay .lightbox-image-container {
  width: 1000px !important;
  height: 800px !important;
}
/*== General END ==*/
/*== Navigation ==*/
.wp-block-navigation__submenu-container {
  width: 280px !important;
  padding: 0.5rem !important;
}
.wp-block-navigation__submenu-container li a span {
  color: #000;
  font-size: 16px !important;
}
.wp-block-navigation__responsive-container-open {
  height: 40px;
  margin-bottom: -2rem !important;
}
.wp-block-navigation__responsive-container-open svg {
  width: 40px;
  height: 40px;
}
/*== Navigation END ==*/
/*== Header ==*/
header {
  position: absolute;
  width: 100%;
  z-index: 99;
}
header .header-inner {
  padding-right: 4rem;
  padding-left: 4rem;
}
@media (max-width: 1329px) {
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-close svg {
    fill: var(--gswred);
    height: 50px;
    width: 50px;
  }
  .wp-block-navigation__responsive-container .wp-block-navigation.items-justified-right {
    --navigation-layout-justification-setting: center!important;
    --navigation-layout-justify: center!important;
  }
  .wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
    align-items: center !important;
    display: flex;
    flex-direction: var(--navigation-layout-direction, initial);
    flex-wrap: var(--navigation-layout-wrap, wrap);
    justify-content: center !important;
  }
  .wp-block-navigation__responsive-container ul {
    width: 360px !important;
  }
  .wp-block-navigation__responsive-container ul li .wp-block-navigation-item__content {
    color: #000 !important;
    font-size: 18px;
    font-weight: bold !important;
  }
  .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container {
    margin-bottom: 0.25rem;
  }
  .wp-block-navigation__responsive-container .wp-block-navigation-item__content {
    padding: 0 1em !important;
  }
  .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container span {
    font-size: 15px !important;
  }
}
/* Force hamburger menu to show */
@media (max-width: 1329px) {
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }
  .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
    display: none !important;
  }
  .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
    color: var(--gswred) !important;
  }
}
/* Force desktop menu */
@media (min-width: 1330px) {
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  .wp-block-navigation__responsive-container .wp-block-navigation__container {
    display: flex !important;
  }
  .wp-block-navigation__responsive-container {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
@media (min-width: 600px) {
  .main-nav {
    margin-bottom: -1rem !important;
  }
}
@media (max-width: 600px) {
  .header-inner {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .main-nav {
    margin-bottom: 0 !important;
  }
}
/*== Header END ==*/
/*== Footer ==*/
footer {
  margin-top: 0;
}
@media (max-width: 1605px) {
  .responsive-padding {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}
@media (max-width: 600px) {
  .footer-inner {
    justify-content: center !important;
  }
  .footer-inner .footer-first-group {
    justify-content: center !important;
  }
  .footer-inner .footer-first-group .footer-center {
    align-items: center;
  }
  .footer-inner .footer-second-group p {
    text-align: center !important;
  }
}
/*== Footer END ==*/
/*== Site specific SCSS ==*/
/*== content ==*/
.custom-bullets li {
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}
.custom-bullets li::marker {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #E10536;
  font-size: 1.2em;
  font-weight: bold;
}
.aufsichtsrat-pseudo {
  position: relative;
}
.aufsichtsrat-pseudo:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 187px;
  background-color: var(--gswred);
  bottom: 0;
  z-index: -1;
}
.neubau-pseudo {
  position: relative;
}
.neubau-pseudo:after {
  content: "";
  position: absolute;
  width: 1167px;
  height: 827px;
  background-image: url(https://gsw.d.studio-horn.de/wp-content/uploads/2025/10/blueprints-neubau-korrigiert.svg);
  top: -8%;
  right: -15%;
  z-index: 0;
}
.vorwort-intro {
  margin-top: -175px;
  z-index: 1;
  position: relative;
}
.swiper-button-next, .swiper-button-prev {
  width: 22px !important;
}
.swiper-button-next:after {
  content: "" !important;
  background-image: url("/wp-content/themes/gsw-gb/assets/images/chevron-right.svg") !important;
  width: 22px !important;
  height: 45px !important;
  background-size: cover;
}
.swiper-button-prev:after {
  content: "" !important;
  background-image: url("/wp-content/themes/gsw-gb/assets/images/chevron-left.svg") !important;
  width: 22px !important;
  height: 45px !important;
  background-size: cover;
}
.swiper-pagination-bullet {
  background: #fff !important;
  height: 11px !important;
  opacity: 1 !important;
  width: 11px !important;
  border: 1px solid #E10236 !important;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #E10236 !important;
  opacity: 1 !important;
}
/* Animate .bh-* bars from 10px to their target height */
[class*="bh-"] {
  transition: height 1s ease-out;
  will-change: height;
}
/* Accessibility: disable animation for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  [class*="bh-"] {
    transition: none !important;
  }
}
.kennzahl-container .kennzahl-inner {
  width: 235px;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-10 {
  height: 20px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-20 {
  height: 40px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-30 {
  height: 60px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-40 {
  height: 80px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-50 {
  height: 100px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-60 {
  height: 120px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-70 {
  height: 140px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-80 {
  height: 160px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-90 {
  height: 180px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .bh-100 {
  height: 200px !important;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .white-outer {
  width: 65px;
  height: 200px;
  display: flex;
  align-items: flex-end;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .white-outer .white-inner {
  width: 65px;
  height: 10px;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .black-outer {
  width: 65px;
  height: 200px;
  display: flex;
  align-items: flex-end;
}
.kennzahl-container .kennzahl-inner .kennzahl-row .black-outer .black-inner {
  width: 65px;
  height: 10px;
}
.half-background {
  background-position: 125% 50% !important;
  margin-top: 0 !important;
}
.quote-block {
  position: relative;
  overflow: visible;
}
.quote-block:before {
  content: "";
  position: absolute;
  top: -75px;
  left: 0;
  background-image: url("/wp-content/themes/gsw-gb/assets/images/quotes-before.svg");
  width: 139px !important;
  height: 75px !important;
  background-size: cover;
}
.quote-block:after {
  content: "";
  position: absolute;
  bottom: -33px;
  right: 0;
  background-image: url("/wp-content/themes/gsw-gb/assets/images/quotes-after.svg");
  width: 61px !important;
  height: 33px !important;
  background-size: cover;
}
.number-group {
  postition: relative;
}
.number-group:before {
  position: absolute;
  top: 5px;
  left: -45px;
  font-size: 150px;
  font-weight: 700;
  color: #E10236;
  opacity: 0.2;
  background-size: cover;
}
.number-group.number-1:before {
  content: "1";
}
.number-group.number-2:before {
  content: "2";
}
.number-group.number-3:before {
  content: "3";
}
.number-group.number-4:before {
  content: "4";
}
.number-group.number-5:before {
  content: "5";
}
.number-group.number-6:before {
  content: "6";
}
.number-group.number-7:before {
  content: "7";
}
.number-group.number-8:before {
  content: "8";
}
.number-group.number-9:before {
  content: "9";
}
.animated-clouds-section {
  position: relative;
  overflow: hidden;
}
.cloud {
  position: absolute;
  transform: translateX(0);
  z-index: -1;
  top: 10%;
  right: 50%;
  width: 120px;
  opacity: 0.1;
}
.cloud-1 {
  top: 0%;
  right: 10%;
  width: 150px;
}
.cloud-2 {
  top: 10%;
  right: 40%;
  width: 150px;
}
.cloud-3 {
  top: 20%;
  right: 20%;
  width: 100px;
}
.cloud-4 {
  top: 30%;
  right: 5%;
  width: 100px;
}
.cloud-5 {
  top: 60%;
  right: 55%;
  width: 150px;
}
.cloud-6 {
  top: 80%;
  right: 55%;
  width: 100px;
}
.red-heading {
  color: var(--gswred);
  position: relative;
  margin-top: 1rem;
}
.red-heading:before {
  content: "";
  position: absolute;
  height: 2px;
  width: 300px;
  background-color: var(--gswred);
  top: -1rem;
  left: 0;
}
@media (max-width: 821px) {
  .quote-block:before {
    top: -31px;
    width: 80px !important;
    height: 43px !important;
  }
}
/*
.cb-button-next {
	right: -10px!important;
}
.cb-button-prev {
	left: -10px!important;
}
*/
@media (max-width: 821px) {
  .responsive-gap-remover {
    gap: 1.25rem !important;
  }
  .reverse-on-mobile {
    flex-direction: column-reverse;
  }
}
.never-break {
  hyphens: none !important;
  word-break: keep-all;
}
.headline-breaker {
  word-break: break-word;
  hyphens: auto;
}
/*== content END ==*/
/*== Sidebar SCSS ==*/
.sidebar {
  z-index: 99;
  position: fixed;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.sidebar .sidebar-vertical:before {
  content: "";
  position: absolute;
  width: 2px;
  height: 321px;
  background-color: #fff;
  bottom: -15px;
  left: 0px;
}
.sidebar .sidebar-vertical:after {
  content: "";
  position: absolute;
  width: 2px;
  height: 321px;
  background-color: #fff;
  bottom: -15px;
  right: 0;
}
.sidebar .sidebar-block {
  position: relative;
}
.sidebar .sidebar-block .floater {
  display: none;
  position: absolute;
  top: 2px;
  right: 51px;
  margin: 0;
}
.sidebar .sidebar-block .floater p {
  hyphens: none !important;
}
.sidebar .sidebar-block:hover .floater {
  display: block;
}
.sidebar .pseudo-bor {
  position: relative;
}
.sidebar .pseudo-bor:before {
  content: "";
  position: absolute;
  width: 15px;
  height: 2px;
  background-color: #fff;
  bottom: -2px;
  left: -15px;
}
.sidebar-rework-group:hover {
  background-color: var(--gswred) !important;
}
@media (max-width: 600px) {
  .sidebar {
    top: unset;
    bottom: 2rem;
    transform: translate(0, 0);
  }
}
/*== Sidebar SCSS END ==*/
/*== Blog Stying ==*/
/*== Module specific SCSS ==*/
