:root {
    --yellow: #F4E225;
    --lightblue: #B2D7FF; 
    --darkblue: #044389;
    --spicyrice: 'Spicy Rice', normal;
    --inter: 'inter', sans-serif, normal;
    --arial: 'Arial', sans-serif;
  }

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

html {
    scroll-behavior: smooth; /* Aktiviert sanftes Scrollen */
}

body {
    background-color: var(--lightblue);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    margin: 0;
    background-image: url('/images/cloud.png');
    background-position: 90% 20%; /* Positionen der Wolken */
    background-repeat: no-repeat; /* Kein Wiederholen der Bilder */
    background-size: 400px; /* Größe der Wolken */
    min-height: 100vh;
}

.content {
    min-height: calc(100vh - 100px); /* 100vh minus der Höhe des Footers */
    flex: 1;
}

.header {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 100%;
    text-align: center;
}

.logo-placeholder {
    position: absolute;
    top: 5%;
    left: 3%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo1 {
    width: 180px;
    height: 180px;
}

h2 { /*Fragentitel*/
    font-size: 40px;
    font-family: var(--inter);
    color: var(--darkblue);
}

.backgroundcloud1 {
    background-image: url('cloud1.png');
    background-repeat: repeat;
    background-size: 100px 100px; /* Größe der Wolke */
}

.main-text {
    position: absolute;
    top: 40%;
    width: 100%;
}

.main-text h1 {
    font-size: 64px;
    color: var(--darkblue);
    font-family: var(--spicyrice);
    height: max-content;
}

.wannwielang {
    display: flex;
    margin-top: 150px;
}

.wann {
    width: 50%;
    padding: 5%;
    text-align: center;
}

.wielang {
    width: 50%;
    padding: 5%;
    text-align: center;
    display: flex; 
    flex-direction: column;
    align-items: center;
}


.datepicker-selected{
    background-color: var(--yellow);
    color: var(--darkblue);
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
    margin: 10px;
    width: 200px;
    height: 40px;
    font-size: 18px;
    font-family: var(--inter);
    border: none;
}

.datepicker {
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
    margin: 10px;
    width: 200px;
    height: 40px;
    background-color: var(--darkblue);
    color: var(--yellow);
    font-size: 18px;
    font-family: var(--inter);
    border: none;
}

.datepicker::-webkit-calendar-picker-indicator {
    filter: invert(100%) sepia(100%) saturate(1000%) hue-rotate(6deg) brightness(100%);
}


 .numberSelect {
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
    border:none;
    width: 200px;
    margin: 10px;
    height: 40px;
    background-color: var(--darkblue);
    color: var(--yellow);
    font-size: 18px;
    font-family: var(--inter);
  }

  .numberSelect-selected {
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
    border:none;
    width: 200px;
    margin: 10px;
    height: 40px;
    background-color: var(--yellow);
    color: var(--darkblue);
    font-size: 18px;
    font-family: var(--inter);
  }

  .wo {
    align-items: center;
    width: 100%;
    display: flex;
    margin: 50px;
    flex-direction: column;
    background-image: url('/images/cloud.png');
    background-position: 25% 30%; /* Positionen der Wolken */
    background-repeat: no-repeat; /* Kein Wiederholen der Bilder */
    background-size: 200px; /* Größe der Wolken */
}

.grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: 4px;
    margin: 10px;
    font-size: 18px;
    font-family: var(--inter);
}

.grid-item {
    background-color: var(--darkblue);
    color: var(--yellow);
    text-align: center;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
    padding: 10px;
    font: 16px var(--inter);
    width: 200px;
    height: 40px;
}

.grid-item.selected {
    background-color: var(--yellow);
    color:var(--darkblue);
}

.typ-kaestchen {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}


.box-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin: 10px;
}

.box1 {
    width: 163px;
    height: 163px;    
    margin: 5px;
    border: 1px solid #ccc;
    cursor: pointer;
    font-size: 16px;
    border-radius: 4px;
    text-align: center;
    transition: border 0.3s ease;
    color: var(--darkblue);
}

.box1:hover {
    opacity: 0.8;
}

.box1 span {
    text-align: center;
    align-items: center;
    justify-self: center;
    height: 100%;
}

/* Rahmen für den ausgewählten Button */
.box1.selected {
    border: 5px solid var(--yellow); /* Schwarzer Rahmen */
}

.text-next-to-box {
    font-family: Arial, sans-serif;
    color: var(--darkblue);
    margin-left: 20px;
}

.garnoed .text-next-to-box {
    width: 100px;
}

.schutz30 .text-next-to-box, .schutz50 .text-next-to-box {
    width: 160px;
}

.uvSchutz{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    margin-top: 50px;
    flex-direction: column;
}

.uvSchutzbox-container {
    display:flex;
    justify-content: space-between;
    width: 100%;
    margin: 10px;
    position: relative;
    top: 180%;
}

.garnoed, .schutz30, .schutz50 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px;
    position: relative;
    top: 200%;
}

.uvSchutzbox {
    position: relative; /* Sicherstellen, dass z-index funktioniert */
    z-index: 10;
    width: 42px; /* Adjusted size for better visibility */
    height: 42px; /* Adjusted size for better visibility */
    background-color: var(--darkblue); /* Blue color */
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5px;
    border: none;
    cursor: pointer; /* Cursor als Pointer */
    transition: background-color 0.3s ease;
    margin-bottom: 10px;
}

.uvSchutzbox.selected{
    background-color: var(--yellow);
}


.kurvenGrafik {
    width: 100%;
    height: 100%;
    display: flex;
    margin-bottom: 200px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-image: url('/images/cloud.png');
    background-position: 90% 0%; /* Positionen der Wolken */
    background-repeat: no-repeat; /* Kein Wiederholen der Bilder */
    background-size: 300px; /* Größe der Wolken */
}

.ergebnisContainer {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    
}

.ergebnisse {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 10px;
}

.ergebnisBoxen {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.ergebnisBox1 , .ergebnisBox2 {
    height: 200px;
    width: 200px;
    background-color: var(--darkblue);
    font-size: 18px;
    color: var(--yellow);
    border-radius: 4px;
    margin: 10px;
    padding: 20px;
}

.grafik {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

#myChart {
    height: 200px;
    margin: 10px;
}

p {
    font-size: 18px;
    font-family: var(--inter);
}

.submit {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    font-size: 16px;
    border-radius: 4px;
    margin: 10px;
    width: 200px;
    height: 40px;
    border: none;
    background-color: var(--darkblue);
    color: var(--yellow);
    font-size: 18px;
    font-family: var(--inter);
}

.submit:hover {
    background-color: var(--yellow);
    color: var(--darkblue);
}

.anzeigen {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 10px 10px 100px 10px;
}

#selectedHours, #result {
    font-size: 25px;
    font-family: var(--spicyrice);
    color: var(--yellow);
    text-align: center;
    margin: 10px;
}

#resultattext {
    margin: 20px;
    text-align: center;
    font-size: 35px;
    font-family: var(--spicyrice);
    color: var(--darkblue);
}

.pfeil {
    margin-top: 50%;
}

.pfeilbild {
    width: 50px;
    margin-top: 100px;
}

footer {
    z-index: 10;
    background-color: green;
    color: white;
    text-align: center;
    width: 100%;
    height: 50px; /* Stellt sicher, dass der Footer die richtige Höhe hat */
    position: relative; /* oder 'static' wenn keine feste Positionierung gewünscht */
    bottom: 0;
}

@media (max-width: 480px)
{
    body {
        background-image: url('/images/cloud.png');
        background-position: 90% 15%; /* Positionen der Wolken */
        background-repeat: no-repeat; /* Kein Wiederholen der Bilder */
        background-size: 200px; /* Größe der Wolken */
    }

    .header {
        width: 100%;
    }

    .logo1 {
        width: 100px;
        height: 100px;
    }

    .main-text h1 {
        font-size: 40px;
    }

    .wannwielang {
        display: flex;
        flex-direction: column;
        margin-top: 200px;
    }

    .wann {
        width: 100%;
        padding: 5%;
        text-align: center;
    }

    .wielang {
        width: 100%;
        padding: 5%;
        text-align: center;
        display: flex; 
        flex-direction: column;
        align-items: center;
    }

    .date {
        padding: 10px;
        font-size: 16px;
        border-radius: 4px;
        margin: 10px;
        width: 200px;
        height: 40px;
        background-color: var(--darkblue);
        color: var(--yellow);
        font-size: 18px;
        font-family: var(--inter);
        border: none;
    }

    .numberSelect {
        padding: 10px;
        font-size: 16px;
        border-radius: 4px;
        border:none;
        width: 200px;
        margin: 10px;
        height: 40px;
        background-color: var(--darkblue);
        color: var(--yellow);
        font-size: 18px;
        font-family: var(--inter);
    }

    .numberSelect-selected {
        padding: 10px;
        font-size: 16px;
        border-radius: 4px;
        border:none;
        width: 200px;
        margin: 10px;
        height: 40px;
        background-color: var(--yellow);
        color: var(--darkblue);
        font-size: 18px;
        font-family: var(--inter);
    }

    .wo {
        align-items: center;
        width: 100%;
        display: flex;
        margin: 50px;
        flex-direction: column;
        background-image: url('/images/cloud.png');
        background-position: 5% 15%; /* Positionen der Wolken */
        background-size: 120px; /* Größe der Wolken */
    }

    .grid-container {
        display: grid;
        grid-template-columns: 1fr;
        border-radius: 4px;
        margin: 10px;
        font-size: 18px;
        font-family: var(--inter);
    }

    .pfeilbild {
        width: 30px;
        margin-top: 100px;
    }

    .pfeil {
        margin-top: 70%;
    }

    h2 {
        font-size: 30px;
    }

    .uvSchutz {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 20px;
        margin-top: 50px;
        flex-direction: column;
        flex-wrap: wrap;
        text-align: center;
    }

    .uvSchutzbox-container{
        flex-direction: column;
    }

    .garnoed, .schutz30, .schutz50 {
        display: flex;
        margin: 10px;
        justify-content: left;
        margin-left: 50px;
    }

    .kurvenGrafik {
        background-position: 60% 10%; /* Positionen der Wolken */

        background-size: 200px; /* Größe der Wolken */
    }

    .ergebnisContainer {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        margin-top: 100px;
    }

    .ergebnisBoxen {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        margin: 10px;
    }
}