@charset "utf-8";

/* ==========================================================
   AWI PREMIUM HERO
   Auto-Waschpark Ingelheim

   Einheitlicher Hero-Standard für:
   Desktop
   Notebook
   Tablet
   Smartphone
========================================================== */


/* ==========================================================
   SCROLL-OFFSET
========================================================== */

[id] {
    scroll-margin-top: 100px;
}


/* ==========================================================
   HERO – GRUNDSTRUKTUR
========================================================== */

.hero,
.page-hero {

    position: relative;
    width: 100%;
    height: 620px;
    min-height: 620px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}


/* ==========================================================
   HERO-BILD
========================================================== */

.hero-image,
.page-hero-image {

    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    z-index: 0;

    overflow: hidden;
}


/* ==========================================================
   HERO-BILD – IMG
========================================================== */

.hero-image img,
.page-hero-image img {

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;

}


/* ==========================================================
   STARTSEITE – HINTERGRUND
========================================================== */

.hero-bg {

    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background-image: url("../images/hero/hero-startseite.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;

    z-index: 0;

    animation: heroZoom 18s ease-in-out infinite alternate;

}


/* ==========================================================
   HERO OVERLAY
========================================================== */

.hero-overlay,
.page-hero-overlay {

    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.62) 0%,
            rgba(0,0,0,.45) 50%,
            rgba(0,0,0,.62) 100%
        );

    z-index: 1;

}


/* ==========================================================
   CONTAINER
========================================================== */

.hero > .container,
.page-hero > .container {

    position: relative;

    z-index: 5;

    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

}


/* ==========================================================
   BOOTSTRAP ROW
========================================================== */

.hero > .container > .row,
.page-hero > .container > .row {

    width: 100%;
    min-height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-left: 0;
    margin-right: 0;

}


/* ==========================================================
   HERO SPALTEN
========================================================== */

.hero > .container [class*="col-"],
.page-hero > .container [class*="col-"] {

    display: flex;

    align-items: center;
    justify-content: center;

}


/* ==========================================================
   HERO CONTENT
========================================================== */

.hero-content,
.page-hero-content {

    position: relative;

    width: 100%;
    max-width: 900px;

    margin: 0 auto;
    padding: 0 20px;

    color: #ffffff;

    text-align: center;

    animation: heroContent 1.1s ease forwards;

}


/* ==========================================================
   VERSCHACHTELTES HERO-CONTENT
   z.B. Waschprogramme
========================================================== */

.page-hero-content .hero-content {

    width: 100%;
    max-width: 900px;

    margin: 0 auto;
    padding: 0;

    text-align: center;

}


/* ==========================================================
   HERO SUBTITLE
========================================================== */

.hero-subtitle,
.page-subtitle,
.page-hero-subtitle {

    display: block;

    margin-bottom: 20px;

    font-size: .95rem;
    line-height: 1.4;

    font-weight: 700;

    letter-spacing: 4px;

    text-transform: uppercase;

    color: #ffffff;

    text-align: center;

    text-shadow:
        0 2px 10px rgba(0,0,0,.55);

}


/* ==========================================================
   HERO H1
========================================================== */

.hero h1,
.page-hero h1 {

    margin-top: 0;
    margin-bottom: 24px;

    font-size: 4rem;
    line-height: 1.08;

    font-weight: 800;

    color: #ffffff;

    text-align: center;

    text-shadow:
        0 4px 18px rgba(0,0,0,.55);

}


/* ==========================================================
   HERO TEXT
========================================================== */

.hero p,
.page-hero p {

    max-width: 820px;

    margin: 0 auto 35px auto;

    font-size: 1.18rem;
    line-height: 1.75;

    color: #f5f5f5;

    text-align: center;

    text-shadow:
        0 2px 8px rgba(0,0,0,.45);

}


/* ==========================================================
   HERO TEXT – SPEZIELLE HERO-TEXTE
========================================================== */

.hero-text {

    max-width: 820px;

    margin-left: auto;
    margin-right: auto;

    text-align: center;

}


/* ==========================================================
   HERO BUTTONS
========================================================== */

.hero-buttons {

    display: flex;

    justify-content: center;
    align-items: center;

    gap: 18px;

    flex-wrap: wrap;

    width: 100%;

    margin: 0 auto;

}


/* ==========================================================
   BUTTONS IM HERO
========================================================== */

.hero-buttons a {

    display: inline-flex;

    align-items: center;
    justify-content: center;

}


/* ==========================================================
   SCROLL-DOWN
========================================================== */

.scroll-down {

    position: absolute;

    bottom: 28px;
    left: 50%;

    transform: translateX(-50%);

    width: 42px;
    height: 70px;

    border: 2px solid #ffffff;

    border-radius: 30px;

    z-index: 20;

    transition:
        transform .3s ease,
        opacity .3s ease;

}


.scroll-down:hover {

    opacity: .8;

    transform:
        translateX(-50%)
        translateY(-4px);

}


.scroll-down span {

    position: absolute;

    top: 12px;
    left: 50%;

    width: 6px;
    height: 12px;

    margin-left: -3px;

    background: #ffffff;

    border-radius: 3px;

    animation: scrollMouse 2s infinite;

}


/* ==========================================================
   HERO ZOOM
========================================================== */

@keyframes heroZoom {

    from {

        transform: scale(1);

    }

    to {

        transform: scale(1.08);

    }

}


/* ==========================================================
   HERO CONTENT ANIMATION
========================================================== */

@keyframes heroContent {

    from {

        opacity: 0;

        transform:
            translateY(35px);

    }

    to {

        opacity: 1;

        transform:
            translateY(0);

    }

}


/* ==========================================================
   SCROLL ANIMATION
========================================================== */

@keyframes scrollMouse {

    0% {

        opacity: 0;

        transform:
            translate(-50%, 0);

    }

    35% {

        opacity: 1;

    }

    100% {

        opacity: 0;

        transform:
            translate(-50%, 26px);

    }

}


/* ==========================================================
   NOTEBOOK / TABLET
   max-width: 1199px
========================================================== */

@media (max-width: 1199px) {

    .hero,
    .page-hero {

        height: 560px;
        min-height: 560px;

    }


    .hero h1,
    .page-hero h1 {

        font-size: 3.4rem;

    }


    .hero p,
    .page-hero p {

        max-width: 760px;

        font-size: 1.1rem;

    }

}


/* ==========================================================
   TABLET
   max-width: 991px
========================================================== */

@media (max-width: 991px) {

    .hero,
    .page-hero {

        height: 520px;
        min-height: 520px;

    }


    .hero-content,
    .page-hero-content {

        padding-left: 25px;
        padding-right: 25px;

    }


    .hero h1,
    .page-hero h1 {

        font-size: 3rem;

        margin-bottom: 20px;

    }


    .hero p,
    .page-hero p {

        font-size: 1.05rem;
        line-height: 1.65;

        margin-bottom: 28px;

    }


    .hero-subtitle,
    .page-subtitle,
    .page-hero-subtitle {

        font-size: .85rem;

        letter-spacing: 3px;

    }


    .hero-buttons {

        justify-content: center;

    }

}


/* ==========================================================
   SMARTPHONE
   max-width: 767px
========================================================== */

@media (max-width: 767px) {

    .hero,
    .page-hero {

        height: 500px;
        min-height: 500px;

    }


    /* ------------------------------------------------------
       BILDPOSITION
    ------------------------------------------------------ */

    .hero-image img,
    .page-hero-image img {

        object-position: center center;

    }


    .hero-bg {

        background-position: center center;

    }


    /* ------------------------------------------------------
       OVERLAY
    ------------------------------------------------------ */

    .hero-overlay,
    .page-hero-overlay {

        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.48) 0%,
                rgba(0,0,0,.60) 50%,
                rgba(0,0,0,.55) 100%
            );

    }


    /* ------------------------------------------------------
       CONTENT
    ------------------------------------------------------ */

    .hero-content,
    .page-hero-content {

        width: 100%;
        max-width: 100%;

        padding-left: 18px;
        padding-right: 18px;

        margin: 0 auto;

        text-align: center;

    }


    .page-hero-content .hero-content {

        width: 100%;
        max-width: 100%;

        padding: 0;

        text-align: center;

    }


    /* ------------------------------------------------------
       SUBTITLE
    ------------------------------------------------------ */

    .hero-subtitle,
    .page-subtitle,
    .page-hero-subtitle {

        margin-bottom: 14px;

        font-size: .72rem;

        line-height: 1.4;

        letter-spacing: 2.5px;

        text-align: center;

    }


    /* ------------------------------------------------------
       H1
    ------------------------------------------------------ */

    .hero h1,
    .page-hero h1 {

        margin-bottom: 18px;

        font-size: 2.15rem;

        line-height: 1.12;

        text-align: center;

    }


    /* ------------------------------------------------------
       TEXT
    ------------------------------------------------------ */

    .hero p,
    .page-hero p,
    .hero-text {

        max-width: 100%;

        margin-left: auto;
        margin-right: auto;

        margin-bottom: 24px;

        font-size: .95rem;

        line-height: 1.6;

        text-align: center;

    }


    /* ------------------------------------------------------
       BUTTONS
    ------------------------------------------------------ */

    .hero-buttons {

        width: 100%;

        display: flex;

        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 10px;

    }


    .hero-buttons a {

        width: auto;

        min-width: 190px;

        text-align: center;

    }


    /* ------------------------------------------------------
       SCROLL DOWN
    ------------------------------------------------------ */

    .scroll-down {

        bottom: 18px;

        width: 36px;
        height: 60px;

    }


    .scroll-down span {

        top: 10px;

        width: 5px;
        height: 10px;

        margin-left: -2.5px;

    }

}


/* ==========================================================
   KLEINE SMARTPHONES
   max-width: 480px
========================================================== */

@media (max-width: 480px) {

    .hero,
    .page-hero {

        height: 500px;
        min-height: 500px;

    }


    .hero-content,
    .page-hero-content {

        padding-left: 15px;
        padding-right: 15px;

    }


    .hero-subtitle,
    .page-subtitle,
    .page-hero-subtitle {

        font-size: .68rem;

        letter-spacing: 2px;

    }


    .hero h1,
    .page-hero h1 {

        font-size: 1.9rem;

        line-height: 1.12;

    }


    .hero p,
    .page-hero p,
    .hero-text {

        font-size: .9rem;

        line-height: 1.55;

    }


    .hero-buttons a {

        min-width: 180px;

    }

}


/* ==========================================================
   ACCESSIBILITY
========================================================== */

@media (prefers-reduced-motion: reduce) {

    .hero-bg {

        animation: none;

    }


    .hero-content,
    .page-hero-content {

        animation: none;

    }


    .scroll-down span {

        animation: none;

    }

}
