@font-face {
    font-family: "arachne";
    src: url("./fonts/Arachne-Mortal.woff") format("woff");
    src: url("./fonts/Arachne-Mortal.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "sombra";
    src: url("./fonts/Sombra-Thin.woff") format("woff");
    src: url("./fonts/Sombra-Thin.woff2") format("woff2");
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: "sombra";
    src: url("./fonts/Sombra-Light.woff") format("woff");
    src: url("./fonts/Sombra-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: "sombra";
    src: url("./fonts/Sombra-Regular.woff") format("woff");
    src: url("./fonts/Sombra-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
}

/* Default */

:root {
    --clr-white: #ffffff;
    --clr-beige: #EBE9E4;
    --clr-dark-beige: #D6D2CA;
    --clr-gray: #2C2C2C;
    --clr-black: #000000;

    --ff-arachne: "arachne", serif;
    --ff-sombra: "sombra", Arial, Helvetica, sans-serif;

    --fs-70: 1.0rem;
    --fs-80: 1.2rem;
    --fs-90: 1.4rem;
    --fs-100: 1.6rem;
    --fs-110: 2.0rem;
    --fs-120: 2.4rem;
    --fs-121: 3.2rem;
    --fs-125: 4.0rem;
    --fs-130: 4.8rem;
    --fs-140: 8.0rem;

    --lh-70: 1.125em;
    --lh-80: 1.2em;
    --lh-90: 1.4em;
    --lh-100: 1.5em;

    --ls-100: 0.08rem;

    --space-40: 4px;
    --space-50: 8px;
    --space-60: 12px;
    --space-70: 16px;
    --space-80: 24px;
    --space-90: 32px;
    --space-100: 40px;
    --space-110: 48px;
    --space-120: 56px;
    --space-130: 64px;
    --space-140: 72px;
    --space-150: 80px;
    --space-160: 128px;
}

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

html {
    width: 100%;
    height: 100%;
    font-size: 62.5%;
}

body {
    background-color: var(--clr-beige);
    font-family: var(--ff-sombra);
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    color: var(--clr-gray);
    overflow-x: hidden;
}


/* Typography */

h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
    margin: 0;
    font-weight: 300;
}

li {
    list-style-type: none;
}

p {
    font-size: var(--fs-100);
    line-height: var(--lh-100);
}

a {
    font-size: var(--fs-100);
    line-height: var(--lh-100);
    color: var(--clr-gray);
    text-decoration: none;
}

.link, .link-header {
    position: relative;
}

.link::before {
    content: "";
    height: 3px;
    width: 3px;
    background-color: var(--clr-gray);
    border-radius: 100%;
    -webkit-border-radius: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-8px, -50%);
    opacity: 0;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.link-header::before {
    content: "";
    height: 6px;
    width: 6px;
    background-color: var(--clr-gray);
    border-radius: 100%;
    -webkit-border-radius: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-8px, -50%);
    opacity: 0;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.link:hover::before, .link-header:hover::before {
    opacity: 1;
}

.link-img {
    position: relative;
}

.link-img::after {
    content: "";
    height: 16px;
    width: 16px;
    background-color: var(--clr-beige);
    border-radius: 100%;
    -webkit-border-radius: 100%;
    position: absolute;
    bottom: 24px;
    left: 24px;
    opacity: 0;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.link-img:hover::after {
    opacity: 1;
}

.link-img-wrapper {
    height: 100%;
    width: 100%;
    background: no-repeat center;
    background-size: cover;
    -webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .8s ease-in-out;
	transition: .8s ease-in-out;
}

.link-img-wrapper:hover {
    -webkit-transform: scale(1.025);
	transform: scale(1.025);
}

.img-wrapper {
    width: 100%;
    overflow: hidden;
    border-radius: 24px;
}


.caption-small {
    font-size: var(--fs-70);
    line-height: var(--lh-90);
    letter-spacing: var(--ls-100);
    font-weight: 400;
    text-transform: uppercase;
}

.caption-big {
    font-size: var(--fs-80);
    line-height: var(--lh-80);
    letter-spacing: var(--ls-100);
    font-weight: 400;
    text-transform: uppercase;
}

.body-small {
    font-size: var(--fs-90);
    line-height: var(--lh-100);
}

.body-long {
    font-weight: 300;
    font-size: var(--fs-110);
    line-height: var(--lh-90);
}

.body-short {
    font-weight: 300;
    font-size: var(--fs-120);
    line-height: var(--lh-70);
}

.heading-sombra-small {
    font-weight: 100;
    font-size: var(--fs-130);
    line-height: var(--lh-80);
}

.heading-sombra-big {
    font-weight: 100;
    font-size: var(--fs-140);
    line-height: var(--lh-80);
}

.heading-arachne {
    font-family: var(--ff-arachne);
    font-size: var(--fs-140);
    line-height: var(--lh-80);
    text-transform: uppercase;
}

.heading-menu {
    font-family: var(--ff-arachne);
    font-size: 64px;
    line-height: var(--lh-80);
    text-transform: uppercase;
}

.thin {
    font-weight: 100;
}

.light {
    font-weight: 300;
}

.regular {
    font-weight: 400;
}

.underline {
    text-decoration: underline solid 0.5px;
    text-underline-offset: 2px;
}


/* Tags */

.tag {
    font-size: var(--fs-100);
    border: 1px solid var(--clr-gray);
    border-radius: 32px;
    padding: var(--space-50) var(--space-70);
    margin: 0 var(--space-70) var(--space-70) 0;
}


/* Buttons */

button {
    border: none;
    background: none;
    font-size: var(--fs-120);
    font-weight: 300;
    cursor: pointer;
}

.button-small {
    border: none;
    background: none;
    font-size: var(--fs-100) !important;
    font-weight: 300;
    cursor: pointer;
}

button::after {
    content: '↗';
    color: var(--clr-gray);
    position: relative;
    bottom: 0px;
    left: 0px;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

button:hover::after {
    bottom: 2px;
    left: 2px;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}


/* Anchor Buttons */

.anchor-button {
    border: none;
    background: none;
    font-size: var(--fs-120);
    font-weight: 300;
    cursor: pointer;
}

.anchor-button::after {
    content: '↘';
    color: var(--clr-gray);
    position: relative;
    top: 0px;
    left: 0px;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.anchor-button:hover::after {
    top: 2px;
    left: 2px;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}


/* MNTW Buttons */

.fullscreen-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 98;
}

.mntw-button {
    border: none;
    background: none;
    font-size: var(--fs-120);
    font-weight: 300;
    cursor: pointer;
    z-index: 99;
}

.mntw-button::after {
    content: '↑';
    color: var(--clr-gray);
    position: relative;
    bottom: 0px;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.mntw-button:hover::after {
    bottom: 2px;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}



/* -------------------------------------------------------------------------------------------------------- General */

/* Menu-Hero */

.menu-hero {
    display: flex;
    align-items: center;
    height: var(--space-150);
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.menu-hero-logo-wrapper, .menu-hero-links-wrapper {
    width: 50%;
}

.menu-hero-links-wrapper {
    display: flex;
    justify-content: flex-end;
}

.menu-hero-logo {
    width: 100%;
    max-width: 200px;
}

/* Lottie */

.lottie-player {
    width: 100%;
    height: auto;
}

/* Quick-Links */

.quick-links-wrapper-links {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.quick-links-headline {
    display: flex;
    align-items: center;
    margin: 0 var(--space-100) 0 0;
}

.quick-links {
    width: 100%;
    margin-right: var(--space-130);
    max-width: 800px;
}

.ql-wrapper {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-60) 0;
    border-top: 1px solid var(--clr-gray);
    overflow: hidden;
}

.ql-last {
    border-bottom: 1px solid var(--clr-gray);
}

.ql-arrow {
    font-size: 3.2rem;
    line-height: 0;
    font-weight: 100;
    margin-right: var(--space-70);
}

.marquee {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    --offset: 20vw;
    --move-initial: calc(-25% + var(--offset));
    --move-final: calc(-50% + var(--offset));
}

.marquee__inner {
    padding: var(--space-60) 0;
    width: max-content;
    display: flex;
    position: relative;
    transform: translate3d(var(--move-initial), 0, 0);
    animation: marquee 10s linear infinite;
    animation-play-state: paused;
    opacity: 0;
    background-color: var(--clr-gray);
}

.marquee span {
    font-weight: 300;
    font-size: var(--fs-120);
    line-height: var(--lh-70);
    padding: 0 2vw;
    color: var(--clr-beige);
}

.marquee:hover .marquee__inner {
    animation-play-state: running;
    opacity: 1;
}

@keyframes marquee {
    0% {
        transform: translate3d(var(--move-initial), 0, 0);
    }

    100% {
        transform: translate3d(var(--move-final), 0, 0);
    }
}


/* -------------------------------------------------------------------------------------------------------- Accordion */

.accordion {
    color: var(--clr-gray);
    cursor: pointer;
    padding: var(--space-70);
    width: 100%;
    border-top: 1px solid var(--clr-gray);
    text-align: left;
    outline: none;
    font-size: var(--fs-121);
    transition: 0.4s;
}
  
.accordion:hover {
    color: var(--clr-beige);
    background-color: var(--clr-gray);
}
  
.accordion:after {
    content: '↓';
    color: var(--clr-gray);
    position: relative;
    top: 0px;
    left: 0px;
    margin-left: var(--space-60);
}

.accordion:hover::after {
    color: var(--clr-beige);
    top: 0px;
    left: 0px;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.active {
    padding: var(--space-100);
}
  
.active:after {
    content: "↑";
    color: var(--clr-gray);
}


/* -------------------------------------------------------------------------------------------------------- ScrollFade */

/* Keyframes */

@keyframes fadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.scrollFade--hidden {
    opacity: 0;
}
.scrollFade--visible {
    opacity: 1;
}
.scrollFade--animate {
    transition: all 1s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 1s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 1s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 1s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 1s cubic-bezier(0.65,0.05,0.36,1);
}


/* -------------------------------------------------------------------------------------------------------- Background */

.bg-gradient {
    height: 100vh;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    background: linear-gradient(-20deg, #CBF0BD, #EADEB9, #EAD7D3, #DEDAD6, #BBE4D9, #EBE9E4, #AEF6A6);
	background-size: 240% 240%;
	animation: gradient 60s cubic-bezier(0.65,0.05,0.36,1);
    z-index: -2;
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

.bg-img {
    height: 100vh;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.5;
    background-image: url(../assets/background-glow.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}


/* -------------------------------------------------------------------------------------------------------- Site-Main */

.site-main {
    width: 100%;
    padding: 0 var(--space-100) 0 var(--space-100);
}


/* -------------------------------------------------------------------------------------------------------- Circular-Menu */


.menu-button {
    position: fixed;
    top: 24px;
    left: 50%;
    margin-left: -20px;
    width: 40px;
	z-index: 100;
	cursor: pointer;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
	animation-duration: 350ms;
	animation-timing-function: ease;
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    filter: drop-shadow(0 0 0.4rem rgb(44, 44, 44, 0.2));
}

.menu-button:hover {
    transform: scale(0.90);
    transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: all 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.menu-button[data-open="true"] {
	animation-name: scale;
}

.menu-button[data-open="false"] {
	transition: background-color 250ms linear;
}

@keyframes scale {
	from {
		transform: scale(0);
	}

	to {
		transform: scale(100%);
	}
}

.menu__nav {
	background-color: var(--clr-beige);
	position: fixed;
    display: flex;
	overflow: hidden;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	visibility: hidden;
	clip-path: circle(var(--radius) at calc(100% - 55px) 47px);
    background-image: url(../assets/background-glow.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.menu-content, .menu-img-wrapper {
    width: 50%;
}

.menu-content-wrapper {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--space-70) 0 var(--space-70) var(--space-70);
}

.nav-item {
    margin-bottom: var(--space-70);
}

.menu-img {
    border-top-left-radius: 100%;
    width: 100%;
    height: 100%;
    background-image: url(../assets/Erste-Garde-Menu.jpg);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.menu__nav[data-active="true"] {
	visibility: visible;
}



/* -------------------------------------------------------------------------------------------------------- Separators */

.separator-wrapper {
    display: flex;
    border-top: 1px solid var(--clr-gray);
    margin: var(--space-90) 0;
    padding-top: var(--space-70);
    justify-content: space-around;
}

.separator-wrapper-img {
    display: flex;
    border-top: 1px solid var(--clr-gray);
    margin: var(--space-90) 0 0 0;
    padding-top: var(--space-70);
    justify-content: space-around;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.separator-wrapper-accordion {
    display: flex;
    margin: var(--space-90) 0 0 0;
    padding-top: var(--space-70);
    justify-content: space-around;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}



/* -------------------------------------------------------------------------------------------------------- Event-Slideshow */

.sy-controls, .sy-slide > a, .sy-slide > a > img, .sy-slide > img {
    height: auto;
}


/* -------------------------------------------------------------------------------------------------------- Sections */

/* Hero Home*/

.hero-home-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 80vh;
    padding-top: var(--space-80);
}

.hero-home-menu-wrapper {
    display: flex;
    justify-content: space-around;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.hero-home-menu-item {
    text-transform: uppercase;
    letter-spacing: 1px;
}

.hero-home-brand-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.hero-home-logo {
    width: 100%;
    margin-top: var(--space-80);
}

#lottie-player-hero-home {
    height: 20px;
}


/* Hero Pages*/

.hero-page-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 256px;
    height: 64vh;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.hero-page-headline-wrapper {
    width: 50%;
    height: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-page-paragraph-wrapper {
    width: 50%;
    height: 50%;
    align-self: flex-end;
}

.hero-page-paragraph {
    max-width: 496px;
}


/* Hero Pages Alternate */

.hero-page-alternate-wrapper {
    height: 64vh;
    min-height: 256px;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.hero-page-alternate-headline, .hero-page-alternate-links-wrapper {
    width: 50%;
}

.hero-page-alternate-headline h1 {
    max-width: 720px;
}

.hero-page-alternate-links {
    display: flex;
    justify-content: center;
}

.hero-page-alternate-links ul li {
    margin-bottom: var(--space-60);
}


/* Full Width Image */

.full-width-img-wrapper {
    margin: var(--space-80) 0;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.full-width-img {
    height: 512px;
    width: 100%;
    border-radius: 24px;
    background: no-repeat center;
    background-size: cover;
}

#full-width-img-hero-home {
    background-image: url(../assets/Erste-Garde-Full-Service-Event-Agentur.jpg);
}


/* Full Width Paragraph */

.full-width-paragraph-wrapper {
    margin: var(--space-90) 0;
}

.full-width-paragraph {
    font-weight: 100;
    font-size: var(--fs-130);
    line-height: var(--lh-80);
}


/* Marquee Section */

.marquee-text-wrapper {
    margin: var(--space-80) 0;
}

.marquee-text {
    position: relative;
    overflow: hidden;
    --offset: 20vw;
    --move-initial: calc(-25% + var(--offset));
    --move-final: calc(-50% + var(--offset));
}

.marquee-text__inner {
    width: max-content;
    display: flex;
    position: relative;
    transform: translate3d(var(--move-initial), 0, 0);
    animation: marquee 20s linear infinite;
}

.marquee-text-content {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.marquee-text-content p {
    font-size: 4vw;
    padding: 0 2vw;
}

@keyframes marquee {
    0% {
        transform: translate3d(var(--move-initial), 0, 0);
    }

    100% {
        transform: translate3d(var(--move-final), 0, 0);
    }
}


/* Service */

.service-wrapper {
    display: flex;
    flex-direction: row;
    margin: var(--space-80) 0;
}

.service-content-left, .service-content-right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 50%;
    padding-top: var(--space-80);
    padding-bottom: var(--space-80);
}

.service-content-left {
    padding-right: var(--space-80);
}

.service-content-right {
    padding-left: var(--space-80);
    border-left: 1px solid var(--clr-gray);
}

.service-wrapper-button {
    display: flex;
    justify-content: flex-end;
    margin: var(--space-100) 0 var(--space-150) 0;
}

.service-button {
    width: 50%;
    text-align: center;
}

.service-wrapper-paragraph {
    display: flex;
    flex-direction: row;
    border-top: 1px solid var(--clr-gray);
    align-items: center;
}

.service-lottie {
    margin-top: var(--space-80);
}

.service-paragraph {
    padding: 0 var(--space-80);
    margin-top: var(--space-80);
    max-width: 512px;
}

#lottie-player-service {
    max-width: 256px;
    margin-right: var(--space-80);
}

.service-img-wrapper {
    margin-top: var(--space-90);
    padding-top: var(--space-90);
    border-top: 1px solid var(--clr-gray);
}

.service-wrapper-img {
    height: 352px;
}

#img-service {
    background-image: url(../assets/Erste-Garde-Full-Service.jpg);
}




/* Event */

.event-wrapper, .event-wrapper > div {
    display: flex;
    flex-direction: column;
}

.event-wrapper-first {
    margin: var(--space-150) 0 var(--space-80) 0;
}

.event-wrapper-second, .event-wrapper-third {
    align-items: flex-end;
}

.event-wrapper-third {
    margin: var(--space-150) 0 var(--space-80) 0;
}

.event-wrapper-headline, .event-wrapper-button {
    width: 50%;
    text-align: center;
}

.event-wrapper-paragraph {
    width: 50%;
}

.event-paragraph {
    max-width: 480px;
    padding: var(--space-60) var(--space-70);
}

.event-wrapper-img {
    height: 560px;
}

#img-event {
    background-image: url(../assets/Erste-Garde-Event.jpg);
}


/* Clients */

.clients-wrapper {
    display: flex;
    flex-direction: row;
    margin: var(--space-130) 0;
}

.client-logo-wrapper {
    display: flex;
    justify-content: center;
    width: 25%;
    padding: var(--space-80) 0;
    border-left: 1px solid var(--clr-gray);
} 

.client-logo-wrapper:first-child {
    border: none;
}

.client-logo-wrapper img {
    width: 90%;
    max-width: 200px;
}


/* Agency */

.agency-wrapper, .agency-wrapper-first, .agency-wrapper-second {
    display: flex;
    flex-direction: column;
}

.agency-wrapper-first {
    margin: var(--space-150) 0 var(--space-150) 0;
}

.agency-wrapper-second {
    align-items: flex-end;
}

.agency-wrapper-third {
    display: flex;
    flex-direction: row;
    margin: var(--space-80) 0 0 0;
}

.agency-wrapper-headline {
    width: 50%;
    text-align: center;
}

.agency-wrapper-paragraph {
    width: 50%;
}

.agency-paragraph {
    max-width: 480px;
    padding: var(--space-60) var(--space-70);
}

.agency-wrapper-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 25%;
}

.agency-wrapper-img {
    height: 560px;
}

#img-agency {
    background-image: url(../assets/Erste-Garde-Agentur-Team.jpg);
}


/* CTA */

.cta-wrapper-top, .cta-wrapper-bottom {
    display: flex;
}

.cta-wrapper-top {
    justify-content: right;
    margin: var(--space-130) 0 var(--space-140) 0;
}

.cta-wrapper-button {
    width: 50%;
    text-align: center;
}

.cta-wrapper-headline, .cta-wrapper-paragraph {
    display: flex;
    align-items: flex-end;
    width: 50%;
}

.cta-wrapper-paragraph {
    justify-content: center;
}

.cta-headline {
    max-width: 688px;
}

.cta-paragraph {
    max-width: 440px;
    padding: var(--space-60) var(--space-70);
}



/* Quick Links */

.quick-links-wrapper {
    display: flex;
    flex-direction: row;
    margin: var(--space-80) 0;
}

.quick-links-content-left, .quick-links-content-right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 50%;
    padding-top: var(--space-80);
    padding-bottom: var(--space-80);
}

.quick-links-content-left {
    padding-right: var(--space-80);
}

.quick-links-content-right {
    padding-left: var(--space-80);
    border-left: 1px solid var(--clr-gray);
}

.quick-links-wrapper-button {
    display: flex;
    justify-content: flex-end;
    margin: var(--space-100) 0 var(--space-150) 0;
}

.quick-links-button {
    width: 50%;
    text-align: center;
}

.quick-links-wrapper-img {
    height: 352px;
    margin-top: var(--space-60);
}

#img-quick-links-personalservice {
    background-image: url(../assets/Erste-Garde-Personalservice.jpg);
}

#img-quick-links-full-service {
    background-image: url(../assets/Erste-Garde-Event.jpg);
}

#img-quick-links-event {
    background-image: url(../assets/Erste-Garde-Full-Service.jpg);
}

#img-quick-links-agentur {
    background-image: url(../assets/Erste-Garde-Karriere.jpg);
}

#img-quick-links-karriere {
    background-image: url(../assets/Erste-Garde-Agentur-Team.jpg);
}

#img-quick-links-personal {
    background-image: url(../assets/Erste-Garde-Agentur-Team.jpg);
}

.quick-links-wrapper-spark {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding-bottom: var(--space-80);
}

#lottie-player-ql {
    max-width: 320px;
}



/* Social */

.social-content-wrapper {
    display: flex;
    margin: var(--space-90) 0;
}

.social-claim-wrapper, .social-spark-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-50) 0;
}

.social-claim-wrapper {
    width: 75%;
}

.social-spark-wrapper {
    width: 25%;
    border-left: 1px solid var(--clr-gray);
}

#lottie-player-social-claim {
    max-width: 448px;
}

#lottie-player-social-spark {
    min-height: 112px;
    max-width: 128px;
}


/* -------------------------------------------------------------------------------------------------------- Full Service */

.full-service-cta-portfolio-wrapper {
    display: flex;
    margin: var(--space-150) 0;
}

.full-service-cta-portfolio, .full-service-cta-portfolio-paragraph-wrapper {
    display: flex;
    align-items: center;
    width: 50%;
}

.full-service-cta-portfolio {
    justify-content: center;
}

.full-service-cta-portfolio-paragraph-wrapper {
    justify-content: left;
}

.full-service-cta-portfolio-paragraph {
    max-width: 488px;
}

.section-services-list-wrapper {
    margin: var(--space-70) 0;
}
  
.accordion-services-list-content-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.accordion-services-list-content {
    display: flex;
    padding: 0 var(--space-70);
}

.services-list-content {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 var(--space-80);
    border-right: 1px var(--clr-gray) dotted;
}

.services-list-content:last-child {
    border-right: none;
}

.services-list-content-headline {
    margin-bottom: var(--space-120);
}

.services-list-spacing {
    width: 100%;
    height: var(--space-100);
}

.section-cta-agency-wrapper {
    margin: var(--space-100) 0 var(--space-120) 0;
    padding-top: var(--space-100);
    display: flex;
    align-items: center;
    border-top: 1px solid var(--clr-gray);
}

.cta-agency-left {
    width: 75%;
}

.cta-agency-right {
    width: 25%;
    display: flex;
    justify-content: center;
}

.cta-agency-paragraph {
    font-weight: 100;
    font-size: var(--fs-130);
    line-height: var(--lh-80);
}

#img-full-service {
    background-image: url(../assets/Erste-Garde-Full-Service.jpg);
}


/* -------------------------------------------------------------------------------------------------------- Event */

.section-case-studies-wrapper {
    margin: var(--space-70) 0;
}
  
.accordion-case-studies-content-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.accordion-case-studies-content {
    display: flex;
    padding: 0 var(--space-70);
}

.case-study-content {
    width: 33.33%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 var(--space-80);
    border-right: 1px var(--clr-gray) dotted;
}

.case-study-content:last-child {
    border-right: none;
}

.case-study-content-headline {
    margin-bottom: var(--space-120);
}

.case-study-img {
    width: 100%;
}

.case-studies-spacing {
    width: 100%;
    height: var(--space-100);
}

#img-event {
    background-image: url(../assets/Erste-Garde-Event.jpg);
}


/*Navigation Slideshow*/
/* next/ prev buttons, with arrows and clickable area a lot larger than the visible buttons */
/* 
.sy-controls {
    display: none;
    list-style: none;
    height: 100%;
    width: 100%;
    position: absolute;
    padding: 0;
    margin: 0; 
}

.sy-controls li {
    position: absolute;
    width: 10%;
    min-width: 4.2em;
    height: 100%;
    z-index: 33; 
}

.sy-controls li.sy-prev {
    left: 0;
    top: 0; 
}

.sy-controls li.sy-prev a:after {
    content: "";
    text-align: center;
    font-size: var(--fs-120);
    text-indent: 0;
    line-height: 2em;
    color: var(--clr-gray);
    position: absolute;
    background-color: var(--clr-beige);
    width: 2em;
    height: 2em;
    left: 50%;
    top: 50%;
    margin-top: -1.4em;
    margin-left: -1.4em;
    border-radius: 50%; 
}

.sy-controls li.sy-next {
    right: 0;
    top: 0; 
}

.sy-controls li.sy-next a:after {
    content: "";
    text-align: center;
    font-size: var(--fs-120);
    text-indent: 0;
    line-height: 2em;
    color: var(--clr-gray);
    position: absolute;
    background-color: var(--clr-beige);
    width: 2em;
    height: 2em;
    left: 50%;
    top: 50%;
    margin-top: -1.4em;
    margin-left: -1.4em;
    border-radius: 50%; 
}

.sy-controls li a {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    text-decoration: none;
    box-shadow: none;
    text-indent: -9999px; 
}

.sy-controls li a:link, .sy-controls li a:visited {
    opacity: 0.4; 
}

.sy-controls li a:hover, .sy-controls li a:focus {
    opacity: 0.8;
    outline: none; 
}

@media only screen and (max-device-width: 600px) {
    .sy-controls {
        display: block; }
    .sy-controls li {
        min-width: 2.1em; }
    .sy-controls li a:after {
        width: 1.4em;
        height: 1.4em;
        margin-top: -0.7em;
        margin-left: -0.7em; } 
} */



/* -------------------------------------------------------------------------------------------------------- Agentur */

.section-team-wrapper {
    display: flex;
    justify-content: flex-end;
    margin: var(--space-150) 0 var(--space-80) 0;
}

.section-team-content {
    display: flex;
    flex-wrap: wrap;
    width: 75%;
}

.team-member {
    width: 33%;
    padding-right: var(--space-110);
    margin-bottom: var(--space-110);
    max-width: 360px;
}

.member-portrait {
    width: 100%;
    border-radius: 8px;
    margin-bottom: var(--space-70);
}

.member-name {
    font-size: var(--fs-110);
    line-height: var(--lh-80);
}

.member-position {
    font-size: var(--fs-90);
    line-height: var(--lh-70);
    margin: var(--space-40) 0 var(--space-60) 0;
}


/* -------------------------------------------------------------------------------------------------------- Karriere */

.virtues-wrapper {
    display: flex;
    justify-content: flex-end;
    margin: var(--space-150) 0;
}

.virtues {
    width: 50%;
}

.section-jobs-wrapper {
    margin: var(--space-70) 0;
}
  
.accordion-jobs-content-wrapper {
    display: flex;
    justify-content: flex-end;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -o-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -ms-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -moz-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
    -webkit-transition: max-height 0.35s cubic-bezier(0.65,0.05,0.36,1);
}

.accordion-jobs-content {
    width: 50%;
    padding: var(--space-70);
}

.job-short, .job-benefits-content {
    margin-bottom: var(--space-70);
}

.job-requirement-content {
    margin-bottom: var(--space-110);
}

.job-benefits-headline, .job-requirement-headline {
    margin-bottom: var(--space-40);
}

.job-benefits-list, .job-requirements-list {
    display: list-item;
    margin-left : 1em;
}

.button-jobs, .job-mail {
    font-size: var(--fs-120);
}

.accordion-spacing {
    height: var(--space-110);
}

#img-karriere {
    background-image: url(../assets/Erste-Garde-Karriere.jpg);
}

.section-button-jobs-legal {
    margin: var(--space-100) 0;
    padding-left: var(--space-70);
}

/* -------------------------------------------------------------------------------------------------------- Personalservice */

.section-personal-offering-wrapper {
    display: flex;
    margin: var(--space-150) 0;
}

.personal-offering-cta-wrapper {
    width: 25%;
}

.personal-offering-cta {
    display: flex;
    justify-content: center;
    position: sticky;
    position: -webkit-sticky;
    top: var(--space-90);
}

.personal-offering-content-wrapper {
    width: 75%;
}

.personal-offering-paragraph-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: var(--space-150);
}

.personal-offering-paragraph {
    max-width: 488px;
}

.personal-offering {
    margin-top: var(--space-130);
    border-top: 1px solid var(--clr-gray);
}

.personal-offering-headline {
    margin: var(--space-70) 0 var(--space-90);
}

.personal-offering-list {
    display: flex;
    flex-wrap: wrap;
}

#img-personalservice {
    background-image: url(../assets/Erste-Garde-Personalservice.jpg);
}


/* -------------------------------------------------------------------------------------------------------- Kontakt */

.contact-hero-wrapper {
    height: 64vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.contact-info-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

.contact-info {
    width: 50%;
    display: flex;
}

.contact, .address {
    width: 50%;
    margin-top: var(--space-80);
    padding-right: var(--space-70);
}

.kicker-contact-info {
    margin-bottom: var(--space-50);
}

.map-frame {
    width: 100%;
    height: 512px;
    border-radius: 24px;
}


/* -------------------------------------------------------------------------------------------------------- Legal */

.legal {
    max-width: 680px;
    padding-top: var(--space-160);
    margin: 8vh auto var(--space-150) auto;
}

.legal-content {
    margin: var(--space-90) 0;
}

.legal-subhead {
    margin-bottom: var(--space-50);
    font-weight: 400;
}

.legal-sub-subhead {
    font-size: var(--fs-90);
    margin-bottom: var(--space-40);
    font-weight: 400;
}

.legal-sub-sub-subhead {
    font-size: var(--fs-80);
    margin-bottom: var(--space-40);
    font-weight: 400;
}

.legal-text {
    margin-bottom: var(--space-70);
}

.legal-list li {
    list-style-type: lower-latin;
    font-size: var(--fs-90);
    line-height: var(--lh-100);
    font-weight: 400;
    margin-left: var(--space-80);
    margin-bottom: var(--space-70);
}

/* .legal-documents {
    padding: var(--space-60) 0;
    border-bottom: 1px solid var(--clr-gray);
} */

.button-legal, .button-text-legal {
    font-size: var(--fs-110);
    text-align: left;
}

/* -------------------------------------------------------------------------------------------------------- 404 */

.error-404-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    padding-top: var(--space-80);
}

.error-404-menu-wrapper {
    display: flex;
    justify-content: space-around;
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.error-404-menu-item {
    text-transform: uppercase;
    letter-spacing: 1px;
}

.error-404-content {
    text-align: center;
    margin: var(--space-80);
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.error-404-brand-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: var(--space-80);
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.error-404-logo {
    width: 100%;
    margin-top: var(--space-80);
}

#lottie-player-error-404 {
    height: 20px;
}


/* -------------------------------------------------------------------------------------------------------- Footer */

.site-footer {
    width: 100%;
    padding: var(--space-130) var(--space-100) var(--space-70) var(--space-100);
    background-color: var(--clr-dark-beige);
    overflow: hidden;
}

.footer-wrapper {
    display: flex;
    flex-direction: column;
}

.footer-links-wrapper {
    display: flex;
}

.footer-links {
    padding: 0 var(--space-70) 0 var(--space-70);
    border-left: 1px solid var(--clr-gray);
    padding-bottom: var(--space-100);
    margin-bottom: var(--space-90);
    width: 25%;
}

.footer-links-content {
    margin-bottom: var(--space-70);
}

.logo-footer {
    width: 100%;
}






/* -------------------------------------------------------------------------------------------------------- Now */

.now-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    padding-top: var(--space-80);
}

.now-content {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-direction: column;
    flex-grow: 2;
    margin: var(--space-80);
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.now-brand-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: var(--space-80);
    animation: fadein 1s 0.25s backwards cubic-bezier(0.77,0,0.18,1);
}

.now-heading {
    font-size: 40px;
    margin: 8px 0 32px 0;
}

.now-logo {
    width: 100%;
    margin-top: var(--space-80);
}

#lottie-player-now {
    height: 20px;
}























/* Slideshow Test */

#slider {
  position: relative;
  overflow: hidden;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.lazy {
  opacity: 0;
}

.lazy.loaded {
  opacity: 1;
}

#fullscreen-toggle {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
