/* FONT */

@font-face {
    font-family: 'Netto';
    src: url('/2024/wp-content/themes/schleupen/assets/fonts/NettoLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: 'Netto';
    src: url('/2024/wp-content/themes/schleupen/assets/fonts/NettoRegular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Netto';
    src: url('/2024/wp-content/themes/schleupen/assets/fonts/NettoBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Netto';
    src: url('/2024/wp-content/themes/schleupen/assets/fonts/NettoBlack.woff') format('woff'),
        url('/2024/wp-content/themes/schleupen/assets/fonts/NettoBlack.woff2') format('woff2'),
        url('/2024/wp-content/themes/schleupen/assets/fonts/NettoBlack.otf') format('otf');
    font-weight: 800;
    font-style: normal;
}

/* VARS */

:root {
    --fontNetto: "Netto",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
    --fontNettoBlack: 800;
    --fontNettoBold: 600;
    --fontNettoRegular: 400;
    --fontNettoLight: 200;
    --contentHeight: calc(100vh - 109px);
    --fontQuote: 2vw;
    --lineQuote: 1.25;
    --fontQuoteBig: 2.6vw;
    --lineQuoteBig: 1.14;
    --fontQuoteSmall: 1.5vw;
    --lineQuoteSmall: 1.33;
    --fontChapter: 2.6vw;
    --lineChapter: 1.3;
    --fontHeadlineBig: 4.6vw;
    --lineHeadlineBig: 1.33;
    --fontHeadline: 2vw;
    --lineHeadline: 1.37;
    --fontCopy: 1.1vw;
    --lineCopy: 1.45;
    --fontButton: 1vw;
    --marginBig: 3.6vw;
    --marginMid: 2.6vw;
    --primaryColor: #00386D;
    --secondaryColor: #DBFF01;
}

@media (min-width: 1920px) {
    :root {
        --fontQuote: 40px;
        --fontQuoteBig: 50px;
        --fontQuoteSmall: 30px;
        --fontChapter: 50px;
        --fontHeadlineBig: 90px;
        --fontHeadline: 40px;
        --fontCopy: 22px;
        --fontButton: 20px;
        --marginBig: 70px;
        --marginMid: 50px;
    }
}

@media (max-width: 1024px) {
    :root {
        --fontQuote: 2.5vw;
        --fontQuoteBig: 2.5vw;
        --fontQuoteSmall: 1.5vw;
        --fontChapter: 2.8vw;
        --fontHeadlineBig: 4vw;
        --fontHeadline: 3vw;
        --fontCopy: 1.8vw;
        --fontButton: 2.8vw;
        --marginBig: 4vw;
        --marginMid: 3vw;
        --contentHeight: calc(100vh - 42px);
        --contentHeight: calc(100dvh - 42px);
    }
}

@media (max-width: 932px) {
    :root {
        --fontHeadline: 18px;
        --fontCopy: 12px;
        --fontQuoteSmall: 14px;
        --fontButton: 16px;
        --marginBig: 20px;
        --marginMid: 10px;
    }
}

@supports (-webkit-touch-callout: none) {
    @media screen and (max-device-width: 932px) {
      :root {
        --contentHeight: calc(100dvh - 42px);
      }
    }
  }

/* DEFAULTS */

html, body, .entry-content, .entry-summary, h1, h2, h3, h4, p, a, li, table th, table td {
    font-family: var(--fontNetto);
    font-weight: var(--fontNettoBlack);
    color: #fff;
}

ul {
    padding-left: calc(1 * var(--global--spacing-horizontal));
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
    background: var(--primaryColor);
}

img {
    max-width: 100%;
    object-fit: contain;
}

section {
    margin: 0!important;
}

.site-main {
    padding: 0;
}

.post-thumbnail, .entry-content .wp-audio-shortcode, .entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), *[class*=inner-container] > *:not(.entry-content):not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.wp-block-separator), .default-max-width {
    max-width: none;
}

.site-main > article > *, .site-main > .not-found > *, .entry-content > *, [class*=inner-container] > *, .wp-block-template-part > *, .wp-block-post-template :where(li > *) {
    margin-bottom: 0;
}

.entry-content {
    overflow: hidden;
}

.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
    background: none;
    text-decoration: none;
}

/* PRESETS */

.netto {
    font-family: var(--fontNetto);
}

.font-black {
    font-weight: var(--fontNettoBlack);
}

.font-bold {
    font-weight: var(--fontNettoBold);
}

.font-regular {
    font-weight: var(--fontNettoRegular);
}

.font-light {
    font-weight: var(--fontNettoLight);
}

.font-italic {
    font-style: italic;
}

.content-height {
    height: var(--contentHeight);
}

.quote {
    font-size: var(--fontQuote);
    line-height: var(--lineQuote);
}

.quote-big {
    position: relative;
    font-size: var(--fontQuoteBig);
    line-height: var(--lineQuoteBig);
    z-index: 1;
}

.quote-small {
    font-size: var(--fontQuoteSmall);
    line-height: var(--lineQuoteSmall);
}

.chapter {
    font-size: var(--fontChapter);
    line-height: var(--lineChapter);
    text-align: center;
}

.headline-big {
    font-size: var(--fontHeadlineBig);
    line-height: var(--lineHeadlineBig);
    text-align: center;
    width: 100%;
}

.headline {
    font-size: var(--fontHeadline);
    line-height: var(--lineHeadline);
    text-align: center;
}

.copy,
.copy li,
table td {
    font-size: var(--fontCopy);
    line-height: var(--lineCopy);
    font-weight: var(--fontNettoBold);
}

.margin-big-top {
    margin-top: var(--marginBig);
}

.margin-big-bottom {
    margin-bottom: var(--marginBig);
}

.margin-mid-top {
    margin-top: var(--marginMid);
}

.margin-mid-bottom {
    margin-bottom: var(--marginMid);
}

.padding-big-top {
    padding-top: var(--marginBig);
}

.padding-big-bottom {
    padding-bottom: var(--marginBig);
}

.padding-mid-top {
    padding-top: var(--marginMid);
}

.padding-mid-bottom {
    padding-bottom: var(--marginMid);
}

.container {
    max-width: 1700px!important;
    padding: 0 30px;
    margin: 0 auto;
}

.fullwidth-container {
    max-width: 1920px!important;
    padding: 0 30px;
    margin: 0 auto!important;
}

.content-wrapper {
    padding: 0 5%;
}

.row {
    display: flex;
    flex-wrap: wrap;
}

.col-2 {
    width: 16.66%;
}

.col-3 {
    width: 25%;
}

.col-4 {
    width: 33.33%;
}

.col-6 {
    width: 50%;
}

.col-8 {
    width: 66.66%;
}

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

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

.flex-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.flex-left {
    justify-content: flex-start!important;
}

.underline {
    display: table;
    line-height: 0.2;
    padding-bottom: 0.4em;
}

.underline:before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 0.15em;
    background: var(--secondaryColor);
    border-radius: 5px;
    margin-bottom: -0.7em;
}

.btn {
    margin: 0 15px;
    padding: 0.4em 2.5em 0.5em 2.5em;
    font-size: var(--fontButton);
    font-weight: var(--fontNettoBold);
    text-decoration: none;
    line-height: 1;
    border-radius: 40px;
}

.is-dark-theme .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
    background: none;
    color: #fff;
}

.button-primary {
    color: var(--primaryColor);
    background: var(--secondaryColor);
    border: solid 0.15em var(--secondaryColor);
}

.button-secondary {
    color: #fff;
    background: transparent;
    border: solid 0.15em #fff;
}

.btn.arrow:after {
    content: "";
    display: inline-block;
    position: relative;
    width: 0.65em;
    height: 0.65em;
    margin-left: 1em;
    border-right: solid 0.15em;
    border-top: solid 0.15em;
}

.button-primary.arrow:after {
    transform: rotate(45deg);
}

.button-secondary.arrow:after {
    transform: rotate(-45deg);
    top: 0.15em;
}

/* MISC */

.site-content {
    height: var(--contentHeight);
}

/* NAVIGATION */

header {
    position: relative;
    z-index: 9;
}

nav .nav-wrapper {
    position: relative;
    background: #00386E;
    z-index: 99;
}

nav .nav-wrapper a,
nav .nav-wrapper p {
    font-weight: var(--fontNettoBold);
}

nav .nav-wrapper .container {
    align-items: center;
    justify-content: space-between;
}

nav .nav-wrapper #nav-logo {
    width: 30%;
    padding: 15px 0;
    line-height: 0;
}

nav .nav-wrapper #nav-menu p {
    font-size: 20px;
    margin: 0 40px 0 0;
}

nav .nav-wrapper #nav-menu {
    width: 30%;
    align-items: center;
    justify-content: flex-end;
    cursor: pointer;
}

nav .nav-wrapper #gb-select #nav-menu-icon {
    width: 10px;
    height: 10px;
    margin-right: 15px;
    border-right: solid 2px #fff;
    border-top: solid 2px #fff;
    margin-bottom: -2px;
    transform: rotate(45deg);
    transition: 0.5s;
}

nav .nav-wrapper #gb-select.active #nav-menu-icon {
    margin-bottom: 5px;
    transform: rotate(135deg);
}

nav .nav-wrapper #nav-button #nav-button-opened {
    display: none;
}

nav .nav-wrapper #nav-button.active #nav-button-opened {
    display: block;
}

nav .nav-wrapper #nav-button.active #nav-button-closed {
    display: none;
}

nav #inner-nav-wrapper {
    position: relative;
    z-index: 9;
    height: 0;
    overflow: hidden;
    transition: 0.5s ease;
    pointer-events: none;
    width: 100%;
}

nav #inner-nav-wrapper.active {
    height: var(--contentHeight);
    pointer-events: all;
}

nav .menu-container {
    width: 100%;
    height: calc(100vh - 129.17px);
}

nav .menu-container .menu-square {
    background: linear-gradient(20deg, rgba(132, 69, 172, 1) 0%, rgba(48, 62, 133, 1) 36%, rgba(0, 56, 110, 1) 50%, rgba(4, 60, 113, 1) 52%, rgba(34, 94, 141, 1) 76%, rgba(108, 179, 211, 1) 100%);
    width: 12%;
    height: 90%;
    max-height: 700px;
    border-radius: 25px;
}

nav .menu-container .menu-list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: baseline;
    justify-content: space-around;
    height: 90%;
    max-height: 700px;
    margin: 0 0 0 2%;
}

nav .menu-container .menu-list a {
    position: relative;
    display: block;
    width: 100%;
    line-height: 1.2;
    margin: 0 0 5px 0;
    text-decoration: none;
    transition: transform 0.3s ease-in-out;
}

nav .menu-container .menu-list a:hover {
    text-decoration: underline;
    text-decoration-color: var(--secondaryColor);
    text-decoration-thickness: 0.15em;
    text-decoration-style: solid;
}

nav .menu-container .menu-list a::before {
    content: "";
    position: absolute;
    left: -5vw;
    bottom: 10px;
    transform: translate(-67%, 50%);
    width: 10vw;
    height: 5.8vw;
    background-image: url(/2024/wp-content/uploads/nav-statement-1.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 20px;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    z-index: 5;
}

nav .menu-container .menu-list a#intro::before {
    background-image: url(/2024/wp-content/uploads/background-1.jpg);
}
nav .menu-container .menu-list a#statement::before {
    background-image: url(/2024/wp-content/uploads/nav-statement-1.jpg);
}
nav .menu-container .menu-list a#umsatz::before {
    background-image: url(/2024/wp-content/uploads/placeholder-nav-finanzen.jpg);
}
nav .menu-container .menu-list a#finanzen::before {
    background-image: url(/2024/wp-content/uploads/iStock-1396745286-Kopie.jpg);
}
nav .menu-container .menu-list a#marktentwicklung::before {
    background-image: url(/2024/wp-content/uploads/placeholder-nav-marktentwicklung.jpg);
}
nav .menu-container .menu-list a#softwareentwicklung::before {
    background-image: url(/2024/wp-content/uploads/nav-softwareentwicklung-1.jpg);
}
nav .menu-container .menu-list a#gwa::before {
    background-image: url(/2024/wp-content/uploads/nav-gwa-1.jpg);
}
nav .menu-container .menu-list a#partnernetzwerk::before {
    background-image: url(/2024/wp-content/uploads/nav-statement-1.jpg);
}
nav .menu-container .menu-list a#cloud::before {
    background-image: url(/2024/wp-content/uploads/nav-cloud-saas-1.jpg);
}
nav .menu-container .menu-list a#projekte::before {
    background-image: url(/2024/wp-content/uploads/platzhalter-nav-projekte.jpg);
}
nav .menu-container .menu-list a#kundenservice::before {
    background-image: url(/2024/wp-content/uploads/nav-kundenservice-1.jpg);
}
nav .menu-container .menu-list a#personalentwicklung::before {
    background-image: url(/2024/wp-content/uploads/nav-personalentwicklung-1.jpg);
}
nav .menu-container .menu-list a#nachhaltigkeit::before {
    background-image: url(/2024/wp-content/uploads/nav-nachhaltigkeit-1.jpg);
}
nav .menu-container .menu-list a#eigentuemer::before {
    background-image: url(/2024/wp-content/uploads/nav-eigentuemer-aufsichtsrat-1.jpg);
}
nav .menu-container .menu-list a#gewinn::before {
    background-image: url(/2024/wp-content/uploads/nav-statement-1.jpg);
}

.onpage-nav {
    margin: var(--marginMid);
}

.page-title {
    font-size: 20px;
    transition: 0.5s;
}

.home .page-title,
.on-layer1 .page-title,
.on-layer2 .page-title {
    opacity: 0;
}

nav .menu-container .menu-list a:hover li {
    transform: scaleX(1.1) scaleY(1.1);
    text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5);
}

nav .menu-container .menu-list a:hover::after {
    transform: scaleX(1);
}

#gb2023 {
    position: absolute;
    top: 60px;
    margin-right: 12px;
    text-decoration: none;
    display: none;
}

#gb-select.active #gb2023 {
    display: block;
}

nav .menu-container .menu-list a:hover::before {
    opacity: 1;
}

.page-nav {
    margin: 0;
    /* background: no-repeat center,center / cover url(/wp-content/uploads/background-1.jpg); */
    z-index: 2;
}

.z9 {
    position: relative;
    z-index: 9;
}

.nav-page {
    position: relative;
    width: 100%;
    height: var(--contentHeight);
    z-index: 9;
}

.nav-page-inner {
    position: absolute;
    width: 40%;
    transform: translate(-50%, -50%)!important;
    transition: 0.8s ease;
    z-index: 99;
}

.nav-page-inner a {
    position: relative;
    z-index: 999;
}

.nav-page-inner img {
    border-radius: 25px;
}

nav #inner-nav-wrapper {
    background: no-repeat center,center / cover url(/2024/wp-content/uploads/background-1.jpg);
}

.dolly-layer.next-layer .nav-page-inner,
.dolly-layer.active-layer .nav-page-inner {
    transform: translate(-50%, -50%)!important;
}

.nav-page-inner .nav-description {
    position: absolute;
    bottom: -1%;
    z-index: 999;
}

.nav-page-inner.left .nav-description {
    left: 60%;
}

.nav-page-inner.right .nav-description {
    left: -10%;
}

.nav-page-inner .nav-description .nav-title {
    width: max-content;
    font-size: 3vw;
    font-weight: 800;
    color: #fff;
    text-align: left;
    text-shadow: 0px 0px 15px black;
    margin: 0 0 0.75em 0;
}

.nav-page-inner .nav-description .btn {
    margin: 0;
}

.nav-page .nav-page-inner.left {
    top: 50%;
    left: 36%;
    left: 30%;
}

.nav-page .nav-page-inner.right {
    top: 50%;
    left: 66%;
    left: 70%;
}


/* FOOTER */

footer {
    background: #00386E;
    position: relative;
    z-index: 8;
    position: fixed;
    width: 100%;
    bottom: 0;
}

footer .col {
    padding: 12px 0;
}

footer  #footer-logo-wrapper {
    width: 20%;
    align-content: center;
}

footer  #footer-logo-wrapper a {
    display: block;
    line-height: 0;
    text-decoration: none;
    font-size: 18px;
    font-weight: 400;
}

footer #footer-nav-wrapper {
    width: 60%;
    justify-content: center;
    align-content: center;
    text-align: center;
}

footer #footer-nav-wrapper a {
    text-decoration: none;
    font-size: 18px;
    font-weight: var(--fontNettoBold);
}

footer #footer-nav-wrapper .address,
footer #footer-nav-wrapper .links {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

footer #footer-nav-wrapper .address div:first-child:before,
footer #footer-nav-wrapper .links div:first-child:before {
    content: "";
}

footer #footer-social-wrapper {
    width: 20%;
    align-content: center;
    justify-content: flex-end;
    color: #fff;
    text-align: right;
}

footer #footer-social-wrapper a {
    margin: 0 0 0 15px;
    line-height: 0;
}

footer #footer-social-wrapper a:focus,
footer #footer-social-wrapper a:active,
footer #footer-social-wrapper a:focus img,
footer #footer-social-wrapper a:active img {
    background: none!important;
    outline: none!important;
}

footer #footer-social-wrapper a img {
    width: 30px;
}


/* DOLLY */

.dolly-layer {
    transition: 0.4s;
}

body:not(.home) .dolly-layer {
    pointer-events: none;
}

.dolly-layer.active-layer {
    pointer-events: all!important;
}

body:not(.home) .dolly-layer:last-child {
    pointer-events: all;
}

body:not(.home) .prev-layer,
body:not(.home) .dolly-layer:has(+ .active-layer) {
    opacity: 0;
}

.dolly-container.bg-gradient {
    background-image: url(/2024/wp-content/uploads/schleupen-gradient-background-1.jpg)
}

.dolly-container {
    top: 54px;
    height: var(--contentHeight);
}

.dolly-wrap {
    height: var(--contentHeight)!important;
}

.bgvideo {
    position: absolute;
    width: 100vw;
    height: var(--contentHeight);
    object-fit: cover;
    left: 50%;
    transform: translate(-50%, 0);
}

/* HEADER */

.header {
    position: relative;
    background: #151F4D;
    z-index: 8;
}

.header .row {
    position: absolute;
    display: block;
    top: 50%;
    right: 0;
    left: 0;
    transform: translate(0, -50%);
}

.header img {
    width: 100%;
}

.header h1 {
    margin: 0;
}

.header .title {
    color: #fff;
}

.header .row .button {
    margin-top: 25px;
}


/* SECTION */

section.dark {
    background: #151F4D;
}

/* BACKGROUNDS */

body:not(.home) .dolly-layer .layer-wrapper {
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: 0.7s;
}

.dolly-layer.active-layer .layer-wrapper,
.on-layer1 #layer1 .layer-wrapper,
.active-layer-2 #layer2 .layer-wrapper,
.active-layer-3 #layer3 .layer-wrapper,
.active-layer-4 #layer4 .layer-wrapper,
.active-layer-5 #layer5 .layer-wrapper,
.active-layer-6 #layer6 .layer-wrapper,
.active-layer-7 #layer7 .layer-wrapper,
.active-layer-8 #layer8 .layer-wrapper,
.active-layer-9 #layer9 .layer-wrapper,
.active-layer-10 #layer10 .layer-wrapper,
.active-layer-11 #layer11 .layer-wrapper,
.active-layer-12 #layer12 .layer-wrapper,
.active-layer-13 #layer13 .layer-wrapper,
.active-layer-14 #layer14 .layer-wrapper,
.active-layer-15 #layer15 .layer-wrapper {
    opacity: 1!important;
}
.dolly-container {
    transition: 0.5s;
    background-repeat: no-repeat;
    background-position: center,center;
    background-size: cover;
}

.bg-plain {
    background: #00386E;
}

.bg1 {
    background: no-repeat center,center / cover url(/2024/wp-content/uploads/platzhalter-projekte-1.jpg);
}

.bg2 {
    background: no-repeat center,center / cover url(/2024/wp-content/uploads/platzhalter-projekte-2.jpg);
}

.bg3 {
    background: no-repeat center,center / cover url(/2024/wp-content/uploads/platzhalter-projekte-3.jpg);
}

.bg4 {
    background: no-repeat center,center / cover url(/2024/wp-content/uploads/platzhalter-projekte-5.jpg);
}

.bg5 {
    background: no-repeat center,center / cover url(/2024/wp-content/uploads/projekte-platzhalter-6.jpg);
}

.bg9 {
    background: no-repeat center,center / cover url(/2024/wp-content/uploads/schleupen-bg9.jpg);
}


/* TEXT ELEMENTS */

.text-wrapper {
    max-width: 900px!important;
    padding: 0 15px;
    margin: 0 auto;
}

ul.text-wrapper {
    padding: 0 36px;
}

.quote-img {
    max-width: 50% !important;
    max-height: 90%;
    margin-top: auto;
}

.transparent-quote {
    position: relative;
    max-width: 45vw;
    border: solid 8px #fff;
    border-radius: 50px;
}

.quote-content {
    position: relative;
    width: 40%;
}

.quote-content:before {
    content: "";
    position: absolute;
    width: 19.427vw;
    height: 14.6875vw;
    top: -18%;
    left: -10%;
    opacity: 0.3;
    background-image: url(/2024/wp-content/uploads/quote-big.png);
    background-size: contain;
}

.transparent-quote .quote-content:before {
    content: "";
    width: 7.031vw;
    height: 5.312vw;
    top: 50%;
    left: -6%;
    transform: translate(-50%, -50%);
    opacity: 1;
    background-image: url(/2024/wp-content/uploads/quote-solid.png);
}

.transparent-quote.right .quote-content:before {
    right: -20%;
    left: unset;
}

.transparent-quote .quote-content h3 {
    font-size: var(--fontQuote);
    text-align: left;
    color: #fff;
    text-shadow: 0px 0px 10px #000000b8;
}

.transparent-quote .quote-content {
    position: unset;
    width: 90%;
    padding: 35px;
}

.transparent-quote.right .quote-content {
    width: 90%;
    margin-left: auto;
    padding: 2vw;
}

.quote {
    text-align: left;
    color: #fff;
}

.quote-subline {
    text-align: left;
    color: #fff;
}

.popup-button {
    cursor: pointer;
}

.popup {
    display: none;
    position: absolute;
    z-index: 99;
}


/* TABS */

.tab-content-wrapper {
    position: relative;
}

.tab-content {
    opacity: 0;
    transition: 0.5s;
    position: absolute;
    left: 0;
    bottom: 0;
}

.tab-content:first-child {
    position: relative;
}

.tab-content.active {
    opacity: 1;
    transition-delay: 0.5s;
}


/* BUTTON */

.button {
    padding: 10px 50px!important;
    margin: 10px 15px;
    background: transparent!important;
    border: solid 1px #fff!important;
    border-radius: 25px!important;
}

.button.active,
.button:hover {
    color: var(--primaryColor)!important;
    background: var(--secondaryColor)!important;
    border: solid 1px var(--secondaryColor)!important;
}

.button.active:hover {
    color: #fff!important;
    background: transparent!important;
    border: solid 1px #fff!important;
}

.button:focus {
    text-decoration: none!important;
}

.row .button {
    display: block;
    width: fit-content;
    margin: 0 auto;
}

.centered .button {
    margin: 10px 15px;
}

.button .arrow {
    width: 0.8vw;
    margin: 0 0 0.2vw 0.2vw;
}

.button .arrow,
.button.active:hover .arrow {
    filter: invert(1) saturate(0);
}

.button.active .arrow,
.button:hover .arrow {
    filter: none;
}

.arrow-down {
    position: relative;
    top: 0.9vw;
    margin: 0 0 0 10px;
    border-left: 0.4vw solid transparent;
    border-right: 0.4vw solid transparent;
    border-top: 0.6vw solid #000;
}

a:hover .arrow-down {
    border-top: 0.6vw solid #fff;
}

span.plus {
    display: inline-block;
    width: 1.04vw;
    height: 1.04vw;
    line-height: 0.25!important;
    padding: 0.27vw;
    color: #151F4D;
    background: var(--secondaryColor);
    border-radius: 100px;
}

a:hover span.plus {
    background: #fff;
}


/* VIDEO */

.video-wrapper {
    position: relative;
}

video {
    display: block;
    width: 100%;
}

#unmuteButton {
    position: absolute;
    top: 10%;
    left: 2%;
}

#skip {
    position: absolute;
    bottom: 8%;
    cursor: pointer;
    z-index: 9;
}

#skip-trigger {
    position: relative;
    z-index: 9;
}


/* TABLE */

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 10px 0;
    margin: 1em 0;
}

table th,
table td {
    border: none!important;
    border-bottom: solid 1px #151F4D!important;
    font-weight: 400!important;
    text-align: right;
    padding: 2px 5px;
}

table th {
    font-size: 1.2em!important;
    border-bottom: solid 2px #151F4D!important;
    font-weight: 800!important;
}

table th:nth-child(1),
table td:nth-child(1) {
    text-align: left;
}

table th:nth-child(2),
table td:nth-child(2) {
    background: var(--secondaryColor);
}


/* CARDS */

.cards-wrapper {
    justify-content: center;
    margin: 50px auto;
}

.card-item {
    width: 20vw;
    max-width: 385px;
    margin: 0 25px;
    border-radius: 25px;
    background: (var(--primaryColor));
    overflow: hidden;
}

.card-item.accordion {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    height: fit-content;
    min-height: 36vw;
}

.card-item.gradient {
    background: linear-gradient(0deg, rgba(21, 31, 77, 1) 0%, rgba(0, 56, 109, 1) 100%);
}

.card-title {
    font-size: 1.8vw!important;
    font-weight: 800;
    text-align: center;
    color: #DBFF00!important;
    padding: 25px;
}

.card-title.background {
    font-size: 1vw!important;
    padding: 25px 25px 50px 25px;
    background: no-repeat center,bottom / cover url(/2024/wp-content/uploads/card-background.jpg);
}

.card-image {
    display: block;
    padding: 0 50px;
    margin: 0 auto;
}

.card-text {
    color: #fff;
    margin: 25px;
}

.card-item.accordion .card-text {
    margin: 25px 25px 0 25px;
}

.card-item .accordion-action {
    display: block;
    margin: 0 auto 25px auto;
    color: #fff;
    text-align: center;
    align-self: flex-end;
}

.card-item .accordion-action:hover {
    color: var(--secondaryColor);
}

.card-item .accordion-action.active {
    display: none;
}

.card-item.accordion .accordion-content {
    margin: 0 25px 25px 25px;
    height: 0;
    opacity: 0;
    transition: 1s;
    overflow: hidden;
}

.card-item.accordion .accordion-content.active {
    height: 100%;
    opacity: 1;
}


/* TEXT ELEMENTS */

.text-card {
    width: auto;
    max-width: 1065px;
    padding: 0 3.75%;
    border-radius: 50px;
}

#text-card-loop {
    padding: 5% 10%;
}

.text-card.gradient {
    background: linear-gradient(50deg, rgba(126, 69, 168, 1) 0%, rgba(36, 62, 128, 1) 25%, rgba(3, 59, 112, 1) 50%, rgba(26, 84, 134, 1) 75%, rgba(105, 175, 206, 1) 100%);
}

.text-card-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    width: 100%;
    height: auto;
}

.big {
    font-size: 2.5vw!important;
    font-weight: 800;
    color: #fff;
    text-align: center;
}

.bigger {
    font-size: 4.5vw!important;
    font-weight: 800;
    color: #fff;
    text-align: center;
}

#quote2:after {
    content: url(/2024/wp-content/uploads/hagen-foerster-zitat.png);
    position: absolute;
    left: -10vw;
    top: 100%;
    transform: translate(0, -50%);
    }
    
    #loop-text-card {
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    }
    #text-card-loop .buttons-choice {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    }
    #text-card-loop .link-button-navigation,
    #text-card-loop .link-button-custservice {
    margin: 0 10px;
    }
    #text-card-loop .arrow-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15px;
    height: 35px;
    }
    #text-card-loop .arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    height: 29px;
    }
    #text-card-loop .arrow div {
    width: 10px;
    height: 4px;
    background-color: #00386E;
    border-radius: 3px;
    position: absolute;
    }
    #text-card-loop .arrow2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    height: 29px;
    }
    #text-card-loop .arrow2 div {
    width: 10px;
    height: 4px;
    background-color: #fff;
    border-radius: 3px;
    position: absolute;
    }
    #text-card-loop .line1 {
    transform: rotate(45deg);
    top: 10px;
    left: 5px;
    }
    #text-card-loop .line2 {
    transform: rotate(-45deg);
    bottom: 10px;
    left: 5px;
    }
    #text-card-loop .line3 {
    transform: rotate(45deg);
    top: 10px;
    left: 5px;
    }
    #text-card-loop .line4 {
    transform: rotate(-45deg);
    bottom: 15px;
    left: 0px;
    }
    #text-card-loop .link-button-custservice p {
    color:#00386E!important;
    }
    #text-card-loop .link-button-custservice-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: #DBFF01;
    width: 200px;
    border-radius: 25px;
    justify-content: center;
    }
    #text-card-loop #kundenservice {
    text-decoration:none;
    }
    #text-card-loop .link-button-navigation p {
    color:#fff!important;
    }
    #text-card-loop .link-button-navigation-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 200px;
    border-radius: 25px;
    justify-content: center;
    border: #fff 2px solid;
    }
    #text-card-loop #loop {
    align-self: center;
    }
    #text-card-loop #subpage-nav {
    text-decoration:none;
    }
    #text-card-loop #text-card-loop {
    height: 40%;
    width: 55%;
    border-radius: 50px;
    }

    .text-card .row img {
        padding: 0 15px;
    }

    hr {
        width: 100%;
        border-width: 2px;
        border-color: #fff;
        margin: 30px 0;
    }

/* ANIMATIONS */

.animated {
    transition: 0.5s;
}

#start-video {
    width: 100vw;
    height: var(--contentHeight);
    object-fit: cover;
    left: 50%;
    transform: translate(-50%, 0);
    position: absolute;
    z-index: 9;
}

#start-video.now {
    z-index: 0;
}

#start-overlay {
    position: absolute;
    width: 140vw;
    height: 140vh;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    filter: blur(50px);
    border-radius: 100px;
    background: #fff;
    z-index: 9;
    opacity: 0;
}

#start-overlay.now {
    opacity: 1;
    animation: start 1s linear forwards;
    animation-delay: 1s;
}

.marker {
    padding: 0 5px;
    background: linear-gradient(to right, var(--secondaryColor) 50%, transparent 50%);
    background-size: 200% 100%;
    background-position: right bottom;
}

.marker.now {
    color: #000;
    background-position: left bottom;
}

.pulse {
    animation: pulse 2s linear infinite;
}

.fade-in {
    transform: translate(0, 50px);
    opacity: 0;
}

.fade-in.now {
    animation: fade-in 1.5s ease forwards;
}

#rotate {
    display: none;
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 99;
}

#rotate.active {
    display: block;
}

#rotate img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@keyframes start {
    0% {
        width: 140vw;
        height: 140vh;
        filter: blur(50px);
        border-radius: 0;
    }
    50% {
        width: 70vw;
        height: 70vw;
        opacity: 0.9;
    }
    100% {
        width: 0vw;
        height: 0vh;
        filter: blur(100px);
        border-radius: 50vw;
        opacity: 0.5;
    }
}

@keyframes fade-in {
    0% {
        transform: translate(0, 50px);
        opacity: 0;
    }
    100% {
        transform: translate(0, 0px);
        opacity: 1;
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 0.4;
    }
    33% {
        opacity: 1;
    }
}

@keyframes shadow {
    0% {
        box-shadow: 0 0 0 0px rgb(255 255 255 / 50%);
    }
    100% {
        box-shadow: 0 0 0 20px rgb(255 255 255 / 0%);
    }
}

@keyframes scrollDown2 {
    0% {
        transform: translate(0, -20%);
        opacity: 0;
    }
    50% {
        transform: translate(0, 20%);
        opacity: 1;
    }
    100% {
        transform: translate(0, 60%);
        opacity: 0;
    }
}

@keyframes swipeUpDown {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    25% {
        transform: translateY(-20%);
        opacity: 0.7;
    }
    50% {
        transform: translateY(0);
        opacity: 1;
    }
    75% {
        transform: translateY(20%);
        opacity: 0.7;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (min-width: 1920px) {
    .arrow-down {
        top: 18px;
        margin: 0 0 0 10px;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 12px solid #000;
    }
    .button .arrow {
        width: 16px;
        margin: 0 0 5px 5px;
    }
    .card-item.accordion {
        min-height: 650px;
    }
    span.plus {
        width: 20px;
        height: 20px;
        padding: 5px;
    }
    .nav-page-inner .nav-description .nav-title {
        font-size: 60px;
    }
    .nav-page-inner .nav-description .nav-button {
        font-size: 1vw!important;
    }
}

@media (max-width: 1024px) {
    .container {
        padding: 0 10px;
    }
    nav {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
    }
    nav .nav-wrapper {
        background: transparent;
    }
    nav .nav-wrapper #nav-logo {
        width: 25%;
        padding: 10px 0;
    }
    nav .nav-wrapper #nav-logo svg {
        height: 19px;
    }
    nav .menu-container {
        position: relative;
        top: 30px;
        height: calc(100vh - 49px);
        align-items: flex-start;
        margin-top: 25px;
    }
    nav .nav-wrapper #nav-menu {
        width: 33%;
    }
    nav .nav-wrapper #nav-menu p {
        font-size: 14px;
        margin: 0 20px 0 0;
    }
    nav .menu-container .menu-list {
        justify-content: flex-start;
        height: 60%;
    }
    nav .menu-container .menu-list a {
        width: auto;
        font-size: 16px;
        margin: 0 15px 10px 0;
    }
    .page-title {
        font-size: 14px;
    }
    #gb2023 {
        top: 40px;
        font-size: 14px;
        margin-right: 0;
    }
    nav #inner-nav-wrapper.active {
        position: absolute;
        top: 0;
    }
    footer {
        padding: 0 0 10px 0;
    }
    footer .col {
        padding: 10px 0;
    }
    footer #footer-nav-wrapper a {
        font-size: 12px;
    }
    footer #footer-logo-wrapper a {
        font-size: 12px;
    }
    footer #footer-nav-wrapper .links {
        line-height: 0;
        padding: 0 0 4px 0;
    }
    footer #footer-social-wrapper a {
        margin: 0 0 0 8px;
    }
    #footer-social-wrapper svg {
        height: 12px;
    }
    .dolly-container {
        top: 0;
    }
    .quote-content {
        width: 62%;
    }
    .transparent-quote {
        max-width: 65vw;
        border: solid 4px #fff;
        border-radius: 25px;
    }
    .transparent-quote .quote-content {
        padding: 20px;
    }
    .transparent-quote .quote-content:before {
        width: 7vw;
    }
    .transparent-quote.right .quote-content:before {
        right: -14%;
    }
    table {
        margin: 0;
    }
    table th {
        font-size: 0.8em !important;
    }
    table th, table td {
        padding: 0 5px;
    }
    .text-card {
        max-width: 95%!important;
        max-height: calc(100vh - 80px);
        padding: 0 2.5%;
        border-radius: 25px;
    }
    .dolly-layer:not(:last-child) .text-card {
        position: relative;
        top: 5px;
    }   
    .popup.finanzen {
        top: -47px;
        overflow: scroll;
    }
    .popup.finanzen table {
        width: 95%;
        margin: 15px auto 20px auto;
    }
    .popup.finanzen .close-button {
        position: relative;
        top: -10px;
        font-size: 30px;
    }
    .btn {
        padding: 0.2em 1.25em 0.3em 1.25em;
    }
    hr {
        border-width: 1px;
        margin: 15px 0;
    }
    .copy,
    .copy li,
    table td {
        font-weight: var(--fontNettoRegular);
    }
    nav .menu-container .menu-list a::before {
        opacity: 0;
        display: none;
    }
    .menu-square {
        display: none;
    }
    .headline {
        width: 100%;
    }
}