/* Variables */
:root {
    --main-nav-height: 120px;
    --background: #000;
    --font-color: #FFF;
    --hellblau: #9FA8BC;
    --danger-color: #ae0101;
    --bg-danger: #fff4f4;
}
@media only screen and (max-width: 992px) {
    :root {
        --main-nav-height: 90px;
    }
}

/* Universal */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    overflow-x: hidden;
}
html, body {
    height: 100%;
}
body {
    background-color: var(--background);
    margin-top: var(--main-nav-height);
}
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
    word-wrap: break-word;
    overflow: hidden;
    width: fit-content;
}
h1 {
    font-size: 2.25rem
}
a#muteButton, a#unMuteButton {
    position: absolute;
    bottom: 3vw;
    right: 3vw;
    width: 30px;
    padding-right: 3px;
    height: auto;
    transition: all 250ms ease-in-out;
}
a#muteButton:hover {
    opacity: .7;
}
@media (max-width:1200px) {
    .h1,h1 {
        font-size: calc(1.35rem + 1.2vw)
    }
}
h2 {
    font-size: 1.75rem
}
@media (max-width:1200px) {
    .h2,h2 {
        font-size: calc(1.3rem + .6vw)
    }
}
h3 {
    font-size: 1.5rem
}
@media (max-width:1200px) {
    .h3,h3 {
        font-size: calc(1.275rem + .3vw)
    }
}
h4 {
    font-size: 1.25rem
}
h5 {
    font-size: 1rem
}
h6 {
    font-size: .875rem
}
p {
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: 0.105rem;
}
@media only screen and (min-width: 992px) {
    p {
        font-size: 1.5rem;
        line-height: 2.75rem;
        letter-spacing: 0.135rem;
    }
}
a {
    text-decoration: none;
    color: var(--font-color);
}
img {
    max-width: 100%;
    max-height: 100%;
}
.container-fluid > div.row > * {
    padding: 0;
}
.container-max {
    width: 100%;
    padding: 0 5%;
    margin: 0 auto;
}
.container-max > .row {
    --bs-gutter-x: 0;
}
/* navbar */
nav.main-navbar {
    height: var(--main-nav-height);
    max-height: var(--main-nav-height);
    background-color: var(--background) !important;
    padding-bottom: 0;
}
nav.main-navbar > div,
nav.main-navbar > div > div,
nav.main-navbar > div > div > div:first-of-type {
    height: 100%;
}
nav.main-navbar a.navbar-brand {
    height: 100%;
    display: flex;
    align-items: center;
}
nav.main-navbar a.navbar-brand > img {
    object-fit: contain;
    max-height: 100%;
}
nav.main-navbar a.nav-link {
    color: var(--font-color);
    font-family: "Anton";
    font-size: 1rem;
    font-style: normal;
    line-height: normal;
    letter-spacing: 1.12px;
    text-transform: uppercase;
    transition: all 250ms ease-in-out;
    width: fit-content;
}
nav.main-navbar ul.navbar-nav .nav-link.active,
nav.main-navbar ul.navbar-nav .nav-link:hover {
    color: var(--font-color);
    opacity: 0.4;
}
@media only screen and (min-width: 992px) {
    nav.main-navbar li.nav-item:not(:last-of-type) {
        margin-right: 1rem;
    }
}
@media only screen and (max-width: 991px) {
    nav.main-navbar li.nav-item:not(:last-of-type) {
        margin-bottom: 0.25rem;
    }
    nav.main-navbar li.nav-item {
        margin-right: auto;
        margin-left: 2rem;
    }
}
@media (max-width: 991px) {
    nav.main-navbar a.nav-link {
        font-size: 1.5rem;
    }
    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: black;
        z-index: 10;
    }
}
nav.main-navbar button.navbar-toggler,
nav.main-navbar button.btn-close {
    height: 3em;
    width: 3em;
    align-items: center;
    justify-content: center;
}
nav.main-navbar button.btn-close:focus {
    box-shadow: none;
}
nav.main-navbar .nav-item .dropdown-menu {
    background-color: var(--background);
    border-radius: 0;
}
nav.main-navbar .nav-item > div > a.dropdown-toggle-links {
    transition: all 0.3s ease-in-out;
}
nav.main-navbar .nav-item > div > a.dropdown-toggle-links.show {
    transform: rotate(180deg);
}
@media only screen and (max-width: 992px) {
    nav.main-navbar .nav-item .dropdown-menu {
        margin-left: 3rem;
    }
}
@media only screen and (min-width: 992px) {
    nav.main-navbar .nav-item .dropdown-menu {
        border: 1px solid #FFF;
        min-width: fit-content;
        padding: 0.5rem;
        top: 95%;
    }
    nav.main-navbar .nav-item .dropdown-menu > li {
        margin: 0 auto 0 auto;
        white-space: nowrap;
    }
    nav.main-navbar .nav-item:hover .dropdown-menu,
    nav.main-navbar .nav-item .dropdown-menu.show {
        display: block;
        left: 50%;
        transform: translate(-50%, 0);
    }
}
/* COOKIE Banner */
.cookie-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    /* height: 34px; */
    background: var(--km-black);
}

.cookie-banner>div {
    display: flex;
    padding: 15px 20px;
    height: 100%;
    background: black;
}

.cookie-banner>div>div:first-child {
    margin: auto auto auto 0;
    width: calc(100% - 115px);
    display: flex;
    height: 100%;
}

.cookie-banner>div>div:last-child {
    margin: auto 0 auto auto;
    width: 115px;
    display: flex;
    height: 100%;
}

.cookie-banner>div>div p {
    font-size: 13px;
    margin: auto 0;
    color: #fff;
}

.cookie-banner>div>div a {
    text-decoration: underline !important;
    font-size: 13px;
    color: #fff;
}

.cookie-banner>div>div button {
    background: var(--km-black);
    color: #fff;
    border: 1px solid #fff;
    border-radius: var(--border-radius);
    width: 94px;
    height: 24px;
    font-size: 12px;
    margin: auto 0;
    transition: all 150ms ease-in-out;
    text-transform: uppercase;
}

.cookie-banner>div>div button:hover {
    color: var(--text-hover);
}

.cookie-banner>div>div button:active {
    background: #000;
    color: #fff;
}

/* footer */
#footer {
    background-color: #000;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
#footer .footer-socials-container {
    margin-top: 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
#footer .footer-socials-container > .social-icon-link {
    margin: 0 1rem;
}
#footer .social-icon-link > img {
    width: clamp(2rem, 2rem, 2rem);
    height: clamp(2rem, 2rem, 2rem);
    object-fit: contain;
    object-position: center;
    transition: all 250ms ease-in-out;
}
#footer .social-icon-link:hover > img {
    opacity: .7;
}
#footer .footer-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    width: 85%;
}
#footer .footer-links > div {
    margin-bottom: 1.5rem;
    width: fit-content;
}
#footer .footer-links p.footer-category {
    font-weight: bold;
}
#footer .footer-links p,
#footer .footer-links a {
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.0525rem;
    text-transform: uppercase;
    transition: all 250ms ease-in-out;
}
#footer .footer-links a {
    margin-bottom: 0.25rem;
}
#footer .footer-links a:hover {
    margin-bottom: 0.25rem;
    opacity: .7;
}
@media only screen and (max-width: 992px) {
    #footer .footer-links {
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
    }
    #footer .footer-links p,
    #footer .footer-links a {
        font-size: 1.25rem;
    }
    #footer .footer-links p.footer-category {
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 700px) {
    #footer .footer-links {
        grid-template-columns: repeat(1, 1fr);
    }
}

.scroll-top {
    position: fixed;
    right: 10px;
    bottom: -100px;
    z-index: 3000;
    opacity: 0;
    visibility: hidden;
    transition: all 200ms ease-in-out;
    box-shadow: 0px 10px 15px -3px rgba(0,0,0,0.1);
}
    .scroll-top button {
        all: unset;
        border: 1px solid white;
        background-color: black;
        width: 40px;
        height: 45px;
        display: flex;
        cursor: pointer;
    }
        .scroll-top button * {
            margin: auto;
        }
    .scroll-top.show {
        position: fixed;
        right: 10px;
        bottom: 10px;
        z-index: 3000;
        opacity: 1;
        visibility: visible;
    }

/* compontents */
.top-w-line {
    border-top: 1.5px solid var(--font-color);
}
.white-box {
    border: 1px solid #FFF;
}
button.overflow-button,
a.overflow-button {
    display: flex;
    border: 0.5px solid var(--font-color);
    background-color: transparent;
    width: fit-content;
    height: 1.875rem;
    position: relative;
}
button.overflow-button > span,
a.overflow-button > span {
    position: relative;
    bottom: -30%;
    left: 0;
    padding: 0.25rem 2rem 0rem 0.5rem;
    font-size: 1.5rem;
    white-space: nowrap;
    display: inline-block;
    transition: all 0.4s ease-in-out;
}
button.overflow-button:hover > span,
a.overflow-button:hover > span {
    padding: 0.25rem 1.25rem 0rem 1.25rem;
}
.marquee {
    width: 100%;
	min-height: 2.5rem;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
}
.marquee > span {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 25s linear infinite;
}
@keyframes marquee {
    0%   { transform: translate(0, 0); }
    100% { transform: translate(-100%, 0); }
}
hr {
    color: var(--font-color);
    border-top: 1px solid var(--font-color);
    opacity: 1;
}
/* index */
/* banner */
#index-banner {
    background-image: url(../img/index/index-banner.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    padding-top: 5rem;
    padding-bottom: 5rem;
}
#index-banner .index-banner-text-container {
    width: fit-content;
}
.orange-text-container {
    background-image: url(../img/index/orange-text-container.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 0.5rem 1rem 0.5rem 1rem;
    width: 100%;
}
@media only screen and (max-width: 992px) {
    #index-banner .index-banner-text-container {
        padding: 0rem 1rem 0rem 1rem;
        width: fit-content;
    }
}

/* section 2 */
#index-section-2 > div.container-max:first-of-type {
    background-image: url(../img/index/index-section-2.png);
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover;
}
#index-section-2 .index-section-2-gallery{
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
}
@media only screen and (min-width: 992px) {
    #index-section-2 .index-section-2-gallery{
        gap: 20px;
    }
}
#index-section-2 .index-section-2-gallery > a > img,
#index-section-2 .index-section-2-gallery > a > img {
    width: 100%;
}
#index-section-2 .index-section-2-gallery > a,
#index-section-2 .index-section-2-gallery > a > img {
    height: clamp(100px, 100px, 100px);
}
@media only screen and (min-width: 600px) {
    #index-section-2 .index-section-2-gallery > a,
    #index-section-2 .index-section-2-gallery > a > img {
        height: clamp(150px, 150px, 150px);
    }
}
@media only screen and (min-width: 992px) {
    #index-section-2 .index-section-2-gallery > a,
    #index-section-2 .index-section-2-gallery > a > img {
        height: clamp(200px, 200px, 200px);
    }
}
#index-section-2 .index-section-2-gallery > a:not(:last-of-type) > img {
    object-fit: cover;
    object-position: center;
}
#index-section-2 .index-section-2-gallery > a:last-of-type > img {
    object-fit: contain;
    object-position: right;
}
/* section 3 */
@media only screen and (max-width: 768px) {
    #index-section-3 > .row {
        position: relative;
    }
    #index-section-3 > .row > div.col-12:first-of-type {
        position: absolute;
        top: 1rem;
        opacity: 0.5;
        z-index: 1;
    }
}
#index-section-3 .index-section-3-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#index-section-3 div.position-relative > p {
    position: absolute;
    bottom: -0.5em;
    left: 50%;
    transform: translate(-50%, 0);
}
/* section 4 */
#index-section-4 {
    background-image: url(../img/index/index-section-4.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    padding-top: 5rem;
    padding-bottom: 5rem;
}
#index-section-4 .marquee {
    background-color: white;
    background-image: url(../img/index/index-section-4-marquee.png);
    background-size: contain;

}
/* section 5 */
#index-section-5{
    background-image: url(../img/index/index-section-5.jpeg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    padding-top: 5rem;
    padding-bottom: 5rem;
}
#index-section-5 .d-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    align-items: start;
}
@media only screen and (max-width: 992px) {
    #index-section-5 .d-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
#index-section-5 .gallery-card {
    max-width: 100%;
}
#index-section-5 .gallery-card > .card-photo {
    background-color: var(--background);
}
#index-section-5 .gallery-card > .card-photo > img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
}
#index-section-5 .gallery-card > .card-title {
    padding-left: 1rem;
    font-size: 1.5rem;
}
#index-section-5 .position-absolute {
    left: 0;
    top: 0;
    transform: translate(-50%, 0%);
}
#index-section-5 .hi-logo {
    height: 100%;
    object-fit: contain;
}
/* section 6 */
#index-section-6 img {
    width: 100%;
    object-fit: cover;
    object-position: 50% 35%;
    max-height: 350px;
}
@media only screen and (min-width: 992px) {
    #index-section-6 img {
        max-height: 500px;
    }
}
@media only screen and (min-width: 1440px) {
    #index-section-6 img {
        max-height: 750px;
    }
}
@media only screen and (min-width: 2400px) {
    #index-section-6 img {
        max-height: 900px;
    }
}
/* section 7 */
#index-section-7 {
    position: relative; 
    background-color: white;
    z-index: 0;
    overflow: hidden;
}
#index-section-7::before, #index-section-7::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 50%; 
    width: 100%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: -1;
}
#index-section-7::before {
    top: 0;
    background-image: url(../img/index/index-section-7-top.png);
    background-position: center top;
}
#index-section-7::after {
    bottom: 0;
    background-image: url(../img/index/index-section-7-bottom.png);
    background-position: center bottom;
}
#index-section-7 > div.container-max {
    position: relative;
}
#index-section-7 > div.container-max > .marquee {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
}
#index-section-7 > div.container-max > .marquee > span{
    font-size: 17.5rem;
}
@media only screen and (max-width: 992px) {
    #index-section-7 > div.container-max > .marquee > span{
        font-size: 5rem;
    }
}
/* section 8 */
#index-section-8 {
    overflow: hidden;
}
#index-section-8 > div.row > div.col-12,
#index-section-8 > div.row > a.col-12 {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 7.5rem 1.5rem 5rem 1.5rem;
}
#index-section-8 > div.row > div.col-12:first-of-type {
    background-image: url(../img/index/index-section-8-1.png);
}
#index-section-8 > div.row > div.col-12:first-of-type > div > div.text-container {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media only screen and (max-width: 992px) {
    #index-section-8 > div.row > div.col-12:first-of-type > div > div.text-container {
        width: 75%;
    }
}
#index-section-8 > div.row > div.col-12:first-of-type > div > div.text-container > img {
    object-fit: contain;
    position: absolute;
    top: 50%;
    left: 50%; 
    transform: translate(-50%, -50%);
    height: auto;
    width: 100%;
    z-index: -1;
    opacity: 0.5;
}
#index-section-8 > div.row > a.col-12:last-of-type {
    background-image: url(../img/index/index-section-8-2.png);
}
#index-section-8 > div.row > div.col-12:last-of-type img {
    height: 100%;
    width: auto;
    object-fit: contain;
}
#index-section-8 {
    position: relative;
}
#index-section-8 > .text-header {
    position: absolute; 
    background-color: rgba(106, 167, 181, 0.5);
    z-index: 0;
    overflow: hidden;
    top: 2.5rem;
    background-image: url(../img/index/index-section-4-marquee.png);
    background-repeat-y: no-repeat;
    background-size: contain;
    padding: 0.5rem 0;
}
/* section 9 */
#index-section-9 {
    background-image: url(../img/index/index-section-9.png);
    background-repeat: no-repeat;
    background-position: 75% 50%;
    background-size: cover;
}
@media only screen and (min-width: 992px) {
    #index-section-9 div.row {
        min-height: 600px;
    }
}
#index-section-9-mobile img{
    width: 100%;
    max-height: 125px;
    object-fit: contain;
    object-position: left;
}
/* section 10 */
#index-section-10-desktop,
#index-section-10-mobile {
    overflow: hidden;
    position: relative;
}
#index-section-10-desktop > .marquee {
    margin-top: 3rem;
}
#index-section-10-desktop .images-container,
#index-section-10-mobile .images-container {
    margin-top: 2rem;
    position: relative;
}
#index-section-10-desktop .images-container {
    margin-bottom: 300px;
}
#index-section-10-desktop .images-container > div,
#index-section-10-mobile .images-container > div {
    position: relative;
    padding: 30px;
    background-image: url(../img/index/index-section-10-2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
#index-section-10-desktop .images-container > div {
    max-width: 80%;
    height: 300px;
}
#index-section-10-mobile .images-container > div {
    max-width: 50%;
    height: 250px;
}
#index-section-10-desktop .images-container > div > img,
#index-section-10-mobile .images-container > div > img {
    object-fit: contain;
    opacity: 0.8;
}
#index-section-10-desktop .images-container > div > div,
#index-section-10-mobile .images-container > div > div  {
    position: absolute;
    background-image: url(../img/index/index-section-10-3.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
#index-section-10-desktop .images-container > div > div {
    bottom: -50%;
    right: -10%;
    width: 250px;
    height: 200px;
}
#index-section-10-mobile .images-container > div > div {
    right: 15%;
    bottom: 50%;
    transform: translate(100%, 50%);
    width: 49.5%;
    height: 150px;
}
#index-section-10-mobile .images-container > div > div > div {
    position: absolute;
    right: 15%;
    bottom: 50%;
    transform: translate(100%, 50%);
    width: 150%;
    height: 250px;
    background-image: url(../img/index/index-section-10-1.jpeg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
#index-section-10-mobile .images-container > div,
#index-section-10-mobile .images-container > div > div,
#index-section-10-mobile .images-container > div > div > div {
    filter: brightness(75%);
}
@media only screen and (max-width: 450px) {
    #index-section-10-mobile .images-container > div,
    #index-section-10-mobile .images-container > div > div > div {
        height: 130px;
    }
    #index-section-10-mobile .images-container > div > div {
        height: 75px;
    }
}
#index-section-10-mobile div.info-text {
    padding: 3rem;
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 90%;
    top: -7.5rem;
}
.background-words-container {
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0%;
    left: 0%;
    overflow: hidden;
    z-index: -1;
}
.background-words-container > .background-word {
    position: absolute;
    opacity: 0.1;
    font-size: 7.5vw;
}
.hero-section {
    background-repeat: no-repeat;
    background-size: cover;
}
.brands-header {
    background-image: url(../img/header_brands.png);
    background-position: center;
}
.shop-header {
    background-image: url(../img/header_shop.png);
}
.shop-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.shop-grid > div {
    padding-bottom: 210px;
    margin-top: -80px;

}
.shop-grid .img {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid #fff;
}
.shop-grid .img.img-1 {
    background-image: url(../img/shop/shop_img_1.jpg);
}
.shop-grid .img.img-2 {
    background-image: url(../img/shop/shop_img_2.jpg);
}
.shop-grid .img.img-3 {
    background-image: url(../img/shop/shop_img_3.jpg);
}
.shop-grid .img.img-4 {
    background-image: url(../img/shop/shop_img_4.jpg);
}
.shop-grid .img.img-5 {
    background-image: url(../img/shop/shop_img_5.jpg);
}
.shop-grid .img.img-6 {
    background-image: url(../img/shop/shop_img_6.jpg);
}
.shop-grid .img.img-7 {
    background-image: url(../img/shop/shop_img_7.jpg);
}
.shop-grid .img.img-8 {
    background-image: url(../img/shop/shop_img_8.jpg);
}
.shop-grid .img.img-9 {
    background-image: url(../img/shop/shop_img_9.jpg);
}
.shop-grid .img.img-10 {
    background-image: url(../img/shop/shop_img_10.jpg);
}
.shop-grid .img.img-11 {
    background-image: url(../img/shop/shop_img_11.jpg);
}
.shop-grid .img.img-12 {
    background-image: url(../img/shop/shop_img_12.jpg);
}
.shop-grid h4 {
    color: #fff;
    text-transform: uppercase;
}
.shop-grid .shop-cat-heading {
    position: absolute;
    bottom: -130px;
    right: 20px;
}
.shop-grid h2 {
    color: #fff;
    font-size: 120px;
    line-height: 112px;
}
@media only screen and (max-width: 1199px) {
    .shop-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .shop-grid div.shop-cat-heading {
        bottom: -110px;
    }
    .shop-grid h2.owners-narrow {
        color: #fff;
        font-size: 80px;
        line-height: 83px;
    }
}
@media only screen and (max-width: 991px) {
    .shop-grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .shop-grid div.shop-cat-heading {
        bottom: -145px;
    }
    .shop-grid h2.owners-narrow {
        color: #fff;
        font-size: 110px;
        line-height: 105px;
    }
}
.crossed-bg {
    background-image: url(../img/index/index-section-2.png);
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover;
}
.brand-section-1-1 {
    flex: 0 0 25%;
    aspect-ratio: 1;
    background-image: url(../img/brand/brand-1-1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    
}
.brand-section-1-2 {
    flex: 0 0 33.333%;
    background-image: url(../img/brand/brand-1-2.jpg);
    background-repeat: no-repeat;
    background-size: contain;
}
.brand-section-1-3 {
    flex: 0 0 25%;
    aspect-ratio: 1;
    background-image: url(../img/brand/brand-1-3.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
.brand-section-1-3 h3 {
    position: absolute;
    width: 700px;
    margin-top: -100px;
    text-align: end;
}
.img-row-random {
    width: 100%;
    grid-template-columns: repeat(5, 1fr);
}
.brand-section-1-4 {
    width: 14vw;
    max-width: 260px;
    aspect-ratio: 1;
    background-image: url(../img/brand/brand-1-4.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 2;
    margin: auto 0 20% 0;
}
.brand-section-1-5 {
    width: 14vw;
    max-width: 260px;
    aspect-ratio: 1;
    background-image: url(../img/brand/brand-1-5.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
    margin: 0 0 auto -30%;
}
.brand-section-1-6 {
    width: 14vw;
    max-width: 260px;
    aspect-ratio: 1;
    background-image: url(../img/brand/brand-1-6.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: auto 0 40% 0;
}/* section 11 */
#index-section-11 .collaboration-photos-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
@media only screen and (max-width: 991px) {
    #index-section-11 .collaboration-photos-container {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
    }
    div.brand-section-1-1 {
        border: .5px solid #fff;
        width: 70vw;
    }
    div.brand-section-1-3 {
        border: .5px solid #fff;
        width: 52vw;
        margin: -45% 0 0 auto;
    }
    div.brand-section-1-2 {
        border-top: .5px solid #fff;
        border-bottom: .5px solid #fff;
        background-image: url(../img/brand/brand-1-2.jpg);
        background-repeat: no-repeat;
        background-size: contain;
        height: 20vh;
    }
    div.brand-section-1-4 {
        border: .5px solid #fff;
        width: 100%;
        max-width: unset;
        margin: 0 10px 0 0;
    }
    div.brand-section-1-5 {
        border: .5px solid #fff;
        width: 100%;
        max-width: unset;
        margin: unset;
        margin: 0 10px 0 0;
    }
    div.brand-section-1-6 {
        border: .5px solid #fff;
        width: 100%;
        max-width: unset;
        margin: unset;
    }
    div.header-brands-2 h3 {
        bottom: 50px;
    }
    div.header-brands-3 {
        height: 20vh;
    }
}
#index-section-11 .collaboration-photos-container > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    aspect-ratio: 415/461;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 1rem;
}
@media only screen and (max-width: 991px) {
    #index-section-11 .collaboration-photos-container > div {
        aspect-ratio: 400/350;
    }
}
#index-section-11 .collaboration-photos-container > div:nth-of-type(1) {
    justify-content: end;
    background-image: url(../img/index/index-section-11-1.png);
}
#index-section-11 .collaboration-photos-container > div:nth-of-type(2) {
    justify-content: end;
    background-image: url(../img/index/index-section-11-2.png);
}
#index-section-11 .collaboration-photos-container > div:nth-of-type(3) {
    justify-content: end;
    background-image: url(../img/index/index-section-11-3.png);
}
@media only screen and (max-width: 991px) {
    #index-section-11 .collaboration-photos-container > div {
        background-position: center top;
    }
    #index-section-11 .collaboration-photos-container > div:nth-of-type(2) {
        justify-content: end;
    }
}
/* section 12 */
#index-section-12 {
    position: relative;
    z-index: 0;
    overflow: hidden;
}
#index-section-12::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 50%; 
    width: 100%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: -1;
    top: 0;
    background-position: center top;
    background-image: url(../img/index/index-section-12-banner.png);
    background-repeat: no-repeat;
    background-size: cover;
    border-bottom: 1px solid var(--font-color);
}
#index-section-12 .news-cards-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    width: 95%;
    margin: 3rem auto 0 auto;
}
@media only screen and (max-width: 992px) {
    #index-section-12 .news-cards-container {
        grid-template-columns: repeat(1, 1fr);
    }
    #index-section-12::before {
        height: 30%;
    }
}
#index-section-12 .news-cards-container > .news-card {
    width: 100%;
    position: relative;
    padding-bottom: 10rem;
}
#index-section-12 .news-cards-container > .news-card >.white-box {
    background-color: var(--background);
    padding: 1rem;
    min-height: 450px;
}
#index-section-12 .news-cards-container > .news-card > h1 {
    position: absolute;
    bottom: 15%;
    left: 10px;
    font-size: 7rem;
    line-height: 0.9;
    transition: all 250ms ease-in-out;
}
#index-section-12 .news-cards-container > .news-card h4 {
    transition: all 250ms ease-in-out;
}
#index-section-12 .news-cards-container > .news-card > div:last-of-type {
    position: absolute;
    bottom: 1rem;
    right: 50%;
    transform: translate(50%, 0);
}
#index-section-12 .news-cards-container > .news-card img {
    height: 275px;
    width: 100%;
    object-fit: cover;
    object-position: top right;
}
@media only screen and (max-width: 992px) {
    #index-section-12 .news-cards-container > .news-card > h1 {
        bottom: 15%;
    }
    #index-section-12 .news-cards-container > .news-card >.white-box {
        min-height: 150px;
    }
    #index-section-12 .news-cards-container > .news-card img {
        height: 175px;
        width: 100%;
        object-fit: cover;
        object-position: bottom;
    }
}
#index-section-12 .news-cards-container > .news-card:hover > h1 {
    opacity: .9;
}
#index-section-12 .news-cards-container > .news-card:hover h4 {
    color: #fff !important;
}

/* section 13 */
#index-section-13 div.insta-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
@media only screen and (max-width: 992px) {
    #index-section-13 div.insta-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}
#index-section-13 div.insta-gallery > div {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1/1;
}
#index-section-13 div.insta-gallery > div:nth-of-type(1) {
    background-image: url(../img/index/index-section-13-1.png);
}
#index-section-13 div.insta-gallery > div:nth-of-type(2) {
    background-image: url(../img/index/index-section-13-2.png);
}
#index-section-13 div.insta-gallery > div:nth-of-type(3) {
    background-image: url(../img/index/index-section-13-3.png);
}
#index-section-13 div.insta-gallery > div:nth-of-type(4) {
    background-image: url(../img/index/index-section-13-4.png);
}
#index-section-13 .insta-follow-area {
    position: relative;
    padding: 0 2rem;
}
#index-section-13 .insta-follow-area > img {
    object-fit: contain;
    width: 100%;
    height: auto;
    object-position: center;
}
#index-section-13 .insta-follow-area > svg {
    position: absolute;
    top: -60px;
    right: 50px;
    z-index: 1;
}
@media only screen and (max-width: 992px) { 
    #index-section-13 .insta-follow-area > svg {
        top: -25px;
        right: 0;
    }
}
/* section 14 */
#index-section-14 {
    background-color: #FFF;
    position: relative;
    z-index: 0;
    overflow: hidden;
}
#index-section-14::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 50%; 
    width: 100%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: -1;
    bottom: 0;
    background-position: center;
    background-image: url(../img/index/index-partner-bg.svg);
    background-repeat: no-repeat;
    background-size: cover;
}
#index-section-14 .partners-container {
    margin: 3rem 0;
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, 1fr);
}
#index-section-14 .partners-container > div {
    display: flex;
    justify-content: center;
    align-items: center;
}
#index-section-14 .partners-container > div > img {
   width: 50%;
   height: fit-content;
   object-fit: contain;
   object-position: center;
}
@media only screen and (max-width: 992px) {
    #index-section-14 .partners-container {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media only screen and (max-width: 1399px) {
    h3.subheader {
        width: 100%;
        padding-right: 50px;
    }
}
.subheader {
    width: 60vw;
}
.text-big-bg-right {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.text-big-bg-right h2 {
    font-size: 90px;
    line-height: 17vw;
    margin-bottom: -42px;
    width: 100%;
    text-align: end;
}
.header-brands-2 {
    height: 80vh;
    margin-top: 2rem;
    background-image: url(../img/brand/brand-header-2.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.header-brands-2 img {
    position: absolute;
    margin-top: -100px;
    z-index: 3;
    max-width: 80vw;
}
.header-brands-2 h3 {
    position: absolute;
    bottom: 100px;
    right: 0;
    max-width: 540px;
}
.header-brands-3 {
    height: 45vh;
    margin-top: 2rem;
    background-image: url(../img/brand/brand-header-3.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.brands-jobs {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}
@media only screen and (max-width: 1199px) {
    .brands-jobs {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    div.partner-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 50px;
    }
}
@media only screen and (max-width: 767px) {
    .brands-jobs {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    div.partner-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 50px;
    }
}
.brands-single-job > div:nth-child(1) {
    border: 1px solid #fff;
}
.brands-single-job-img {
    width: 70%;
    margin: auto 20px 30px auto;
}
.brands-single-job-title {
    margin-top: -40%;
}
.brands-single-jobs-link {
    margin: 0 auto;
}
.partner-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 50px;
}
.partner-grid a {
    text-align: center;
    align-items: center;
    display: flex;
    justify-content: center;
}
.partner-grid img {
    width: 60%;
    filter: invert(1);
    max-width: 220px;
}
.community-header {
    background-image: url(../img/header_community.png);
    background-position: center;   
}
.community-marquee {
    width: 100%;
    min-height: 2.5rem;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
}
.community-marquee > div {
    display: inline-block;
    animation: marquee 25s linear infinite;
}
.community-marquee h1 {
    margin-right: 30px;
    overflow: unset;
}
.community-1-1 {
    position: relative;
    width: 25vw;
    margin-left: 100px;
    aspect-ratio: 3/2;
    background-image: url(../img/healthfitness-img.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.community-1-1 img {
    position: absolute;
    top: -30px;
    left: -30px;
}
.community-1-1 ~ h3 {
    width: 360px;
    margin-left: -60px;
    margin-top: 40px;
    font-size: 1.2rem;
    z-index: 1;
}
.community-1-2 {
    position: relative;
    width: 100%;
    aspect-ratio: 3/2;
    background-image: url(../img/health-img.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 0 auto;
    display: block;
}
.community-1-2 img {
    position: absolute;
    top: -30px;
    left: -30px;
}
.community-1-2 ~ h3 {
    width: 20vw;
    max-width: 380px;
    font-size: 1.2rem;
    z-index: 1;
    margin-top: 20px;
}
.community-1-3 {
    position: relative;
    width: 40%;
    aspect-ratio: 27/19;
    background-image: url(../img/events-img.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: -50px 0 0 270px;
    display: block;
}
.community-1-3 img {
    position: absolute;
    left: calc(100% - 50px);
    top: calc(100% - 110px);
}
.community-1-3 h3 {
    position: absolute;
    top: calc(100% + 20px);
    width: 20vw;
    max-width: 380px;
    font-size: 1.2rem;
    z-index: 1;
    text-align: end;
    right: 80px;
}
.community-1-4 {
    position: relative;
    width: 100%;
    aspect-ratio: 3/2;
    background-image: url(../img/events-2-img.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 0 auto;
    display: block;
}
.community-1-4 {
    position: relative;
    width: 100%;
    aspect-ratio: 3/2;
    background-image: url(../img/events-2-img.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -40px;
    display: block;
}
.community-1-4 h3 {
    position: absolute;
    top: calc(100% + 20px);
    right: 0;
    width: 20vw;
    max-width: 380px;
    font-size: 1.2rem;
    z-index: 1;
    text-align: end;
}
.community-1-4 img {
    position: absolute;
    right: calc(100% - 50px);
    bottom: calc(100% - 110px);
}
@media only screen and (max-width: 991px) {
    .community-1-1-mobile {
        position: relative;
        margin-left: 5%;
        width: 80%;
        aspect-ratio: 3/2;
        background-image: url(../img/healthfitness-img.png);
        background-repeat: no-repeat;
        background-size: cover;
        border: .5px solid #fff;
    }
    .community-1-1-mobile img {
        margin-top: -5%;
        margin-left: -5%;
        height: 50%;
    }
    .community-1-1-mobile h3 {
        position: absolute;
        width: 60%;
        margin: 0 0 auto calc(40% + 10vw);
        font-size: 1.2rem;
        z-index: 1;
    }
    .community-1-2-mobile {
        position: relative;
        margin: -5% 0 180px 15%;
        width: 60%;
        aspect-ratio: 3/2;
        background-image: url(../img/events-img.png);
        background-repeat: no-repeat;
        background-size: cover;
    }
    .community-1-2-mobile img {
        position: absolute;
        left: calc(100% - 50px);
        top: calc(100% - 50px);
        height: 60%;
        max-height: 160px;
    }
    .community-1-2-mobile h3 {
        position: absolute;
        top: calc(100% + 20px);
        max-width: 380px;
        font-size: 1.2rem;
        z-index: 1;
        text-align: end;
        right: 70px;
    }
    .community-1-3-mobile {
        position: relative;
        margin: 0 0 160px auto;
        width: 80%;
        aspect-ratio: 3/2;
        background-image: url(../img/health-img.png);
        background-repeat: no-repeat;
        background-size: cover;
        border: .5px solid #fff;
    }
    .community-1-3-mobile img {
        position: absolute;
        right: 20px;
        top: -20px;
        height: 60%;
        max-height: 160px;
    }
    .community-1-3-mobile h3 {
        position: absolute;
        top: calc(100% + 20px);
        left: -20%;
        max-width: 380px;
        font-size: 1.2rem;
        z-index: 1;
    }
    .community-1-4-mobile {
        position: relative;
        margin-left: 5%;
        margin-bottom: 50px;
        width: 80%;
        aspect-ratio: 3/2;
        background-image: url(../img/events-2-img.png);
        background-repeat: no-repeat;
        background-size: cover;
        border: .5px solid #fff;
    }
    .community-1-4-mobile img {
        margin-top: -5%;
        margin-left: -5%;
        height: 50%;
    }
    .community-1-4-mobile h3 {
        position: absolute;
        width: 60%;
        margin: 0 0 auto calc(40% + 10vw);
        font-size: 1.2rem;
        z-index: 1;
    }
}

.input-error {
    border-color: var(--danger-color)!important;
    background-color: var(--bg-danger)!important;
}


.press-header {
    background-image: url(../img/header_press.png);
    background-position: center;
}
.press-grid {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 50px;
}
@media only screen and (max-width: 991px) {
    div.press-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}
.press-box {
    border: .5px solid #fff;
    height: 100%;
}
.press-box h5 {
    font-size: 28px;
}
.press-box img {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    height: 60%;
}
.press-box span {
    font-size: large;
}
div.news-header {
    background-image: url(../img/header_news.png);
    background-position: left;
}
/* retail */
.web-banner {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    padding-bottom: 5rem;
    border-top: 1px solid var(--font-color);
}
#retail-web-banner {
        background-image: url(../img/retail/retail-banner.png);
}
.web-banner .banner-text-container {
    width: fit-content;
}
@media only screen and (max-width: 992px) {
    .web-banner .banner-text-container {
        padding: 0rem 1rem 0rem 1rem;
        width: fit-content;
    }
}
/* section 2 */
#retail-section-2 > div > div.col-lg-6 {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 350px;
}
#retail-section-2 > div > div.col-lg-6:first-of-type {
    background-image: url(../img/retail/retail-1.png);
}
#retail-section-2 > div > div.col-lg-6:last-of-type {
    background-image: url(../img/retail/retail-2.png);
}
/* section 4 */
#retail-section-4 {
    background-image: url(../img/retail/retail-3.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
/* Kontakt-Komponente */
.contact-form-container {
    width: 90%;
    margin: 0 auto;
}
.contact-form-container > form {
    margin-top: 1rem;
}
@media only screen and (max-width: 992px) {
    .contact-form-container {
        width: 100%;
    }
}
form label.form-label {
    color: var(--font-color);
    text-transform: uppercase;
    font-weight: 700;
}
.contact-form-container form ::placeholder,
.contact-form-container form .form-select {
    color: var(--hellblau);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 14px;
}
.contact-form-container form textarea {
    background-image: url(../img/retail/higreen.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-origin: content-box;
    background-position: right;
    padding: 30px;
    border-radius: 13px;
    border: 1px solid var(--background);
    box-shadow: 7px 7px 4px 0px rgba(0, 0, 0, 0.25) inset;
}
.contact-form-container form textarea::placeholder {
    color: var(--background);
    font-family: 'Anton';
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px; /* 150% */
    letter-spacing: 1.4px;
    text-transform: uppercase;
}
.contact-form-container form input,
.contact-form-container form select {
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, 0.40);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25) inset;
    height: 45px;
}
    .contact-form-container form input:focus,
    .contact-form-container form select:focus {
        box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25) inset;
        outline: none;
        border-color: #000;
    }
.imprint-text {
    width: 70vw;
}
/* contact website */
#contact-banner {
    background-image: url(../img/contact/contact-banner-desktop.png);
    background-position: 50% 50%;
}
@media only screen and (max-width: 992px) {
    #contact-banner {
        background-image: url(../img/contact/contact-banner-mobile.png);
        background-position: 0% 65%;
    }
}
#contact-section {
    background-image: url(../img/contact/contact-section.png);
}
.contact-address-box {
    padding: 1rem 3.5rem 1rem 1.5rem;
    width: fit-content;
}
.contact-address-box p {
    font-size: 1rem;
    line-height: 1;
}
@media only screen and (max-width: 992px) {
    .contact-address-box {
        padding: 2rem 1rem; 
        margin: auto;
    }
    .contact-address-box p {
        font-size: 1.5rem;
        line-height: 1;
    }
}
/* newsletter-sub-component */
.newsletter-form-container > form {
    width: 50%;
    margin: 5rem auto 0 auto;
}
.newsletter-form-container > form  input,
.newsletter-form-container > form button {
    border: 1px solid rgba(245, 243, 243, 0.00);
    background: var(--Rahmen, #FFF);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25) inset;
    backdrop-filter: blur(2px);
    height: 50px;
    width: 100%;
    padding: 0 20px;
}
.newsletter-form-container > form  input {
    border-radius: 0.625rem 0rem 0rem 0.625rem;
}
.newsletter-form-container > form input::placeholder,
.newsletter-form-container > form button {
    color: var(--background);
    font-family: 'Anton';
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}
.newsletter-form-container > form button {
    border-radius: 0rem 0.625rem 0.625rem 0rem;
    text-align: end;
}
@media only screen and (max-width: 992px) {
    .newsletter-form-container > form {
        width: 100%;
        margin: 2rem auto 0 auto;
    }
    .newsletter-form-container > form input::placeholder,
    .newsletter-form-container > form button {
        font-size: 1.25rem;
    }
}
.legal-text {
    font-size: 1.5rem;
    line-height: 1.1;
    letter-spacing: 0.1225rem;
}
#ageCheckModal .modal-content {
    background-color: #000;
    border: 1px solid #fff;
    border-radius: 0;
}
.hover-button:hover {
    cursor: pointer;
}