/* ==========================================================
   Allgemeine Einstellungen
========================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {

    --primary: #FF8C00;
    --dark: #2f2f2f;
    --light: #ffffff;
    --text: #555555;
    --background: #f7f7f7;

}

body {

    font-family: Arial, Helvetica, sans-serif;
    background: var(--background);
    color: var(--dark);

    min-height: 100vh;

    display: flex;
    flex-direction: column;

}

/* ==========================================================
   Header
========================================================== */

header {

    padding: 40px 20px;
    text-align: center;

}

.logo img {

    max-width: 260px;
    width: 100%;
    height: auto;

}

/* ==========================================================
   Hauptbereich
========================================================== */

main {

    flex: 1;

    display: flex;
    justify-content: center;
    align-items: center;

    padding: 20px;

}

/* ==========================================================
   Hero Box
========================================================== */

.hero {

    background: white;

    width: 100%;
    max-width: 900px;

    padding: 70px 40px;

    border-radius: 15px;

    text-align: center;

    box-shadow:
        0 15px 40px rgba(0,0,0,.08);

}

/* ==========================================================
   Zahnrad
========================================================== */

.gear {

    font-size: 90px;

    color: var(--primary);

    margin-bottom: 30px;

    animation: rotateGear 8s linear infinite;

}

@keyframes rotateGear {

    from {

        transform: rotate(0deg);

    }

    to {

        transform: rotate(360deg);

    }

}

/* ==========================================================
   Überschrift
========================================================== */

.hero h1 {

    font-size: 2.6rem;

    color: var(--dark);

    margin-bottom: 25px;

    line-height: 1.3;

}

/* ==========================================================
   Text
========================================================== */

.hero p {

    max-width: 650px;

    margin: auto;

    font-size: 1.15rem;

    line-height: 1.8;

    color: var(--text);

}

/* ==========================================================
   Button
========================================================== */

.button {

    display: inline-block;

    margin-top: 45px;

    background: var(--primary);

    color: white;

    text-decoration: none;

    padding: 15px 38px;

    border-radius: 8px;

    font-size: 1rem;

    font-weight: bold;

    transition: .3s;

}

.button:hover {

    background: #e67e00;

    transform: translateY(-3px);

    box-shadow: 0 10px 20px rgba(0,0,0,.15);

}

/* ==========================================================
   Footer
========================================================== */

footer {

    background: white;

    padding: 30px 20px;

    text-align: center;

    border-top: 1px solid #e8e8e8;

}

footer nav {

    margin-bottom: 15px;

}

footer nav a {

    color: var(--primary);

    text-decoration: none;

    font-weight: bold;

    transition: .3s;

    padding: 0 10px;

}

footer nav a:hover {

    color: var(--dark);

}

footer span {

    color: #bdbdbd;

}

footer p {

    color: #777;

    font-size: .95rem;

}

/* ==========================================================
   Responsive
========================================================== */

@media (max-width: 768px) {

    .hero {

        padding: 50px 25px;

    }

    .gear {

        font-size: 70px;

    }

    .hero h1 {

        font-size: 2rem;

    }

    .hero p {

        font-size: 1rem;

    }

    .button {

        width: 100%;

        max-width: 300px;

    }

}

@media (max-width: 480px) {

    header {

        padding: 30px 15px;

    }

    .logo img {

        max-width: 180px;

    }

    .hero {

        padding: 40px 20px;

    }

    .hero h1 {

        font-size: 1.6rem;

    }

    .gear {

        font-size: 60px;

    }

}