/* Iris CSS File */

* {     /* Universal Stuff */
    font-family: "Courier New", monospace;
    line-height: 1.45;
    margin: 2rem auto 1rem;
    max-width: 48rem;
    padding: 0.25rem;
    background: gray;
}

h1 {    /* Headline */
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    margin-left: 0.5rem;
    font-size: 3.998rem;
    font-weight: bold;
}

button {    /* Buttons */
    background: darkgray;
}

button:hover {
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.6);
}

#title-inside-header {
    display: none;
}
#navigation{
    font-size: 1.25rem;
    margin: 0.5rem;
    padding: 0.5rem;
    height: 2rem;
    border: 2px solid black;
    background: steelblue;
    border-radius: 8px; /* Rounded corners */
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
/* FixMe buttons zu hoch */
#navigation a {
    margin: 0.5rem;
    padding: 0.5rem 1rem; /* Add padding to links */
    background: steelblue;
    color: black;
    text-decoration: none; /* Remove underline */
    border-radius: 4px; /* Rounded corners */
    transition: background 0.3s, box-shadow 0.3s; /* Smooth transition */
}
#navigation a:hover {
    color: white;
    background: darkblue; /* Change background on hover */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Add shadow on hover */
}
#navigation a:last-of-type {
    margin-left: auto;
}

.grid-container {
    display: grid;
    column-gap: 1rem;
    row-gap: 1rem;
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}
.grid-item {
    background: steelblue;
    border: 2px solid black;
    border-radius: 8px;
    padding: 0.25rem;
}
#camera {
    border-radius: 8px;
    background: steelblue;
}
#video{
    background: steelblue;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -100;
    border-radius: 8px;
}
#config-container {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
}
#config-container button {
    width: 80%;
    box-sizing: border-box; /* Ensure padding and border are included in the width */
}
#output-container p {
    background: steelblue;
    overflow-y: auto;
}

a { /* background of links */
    background: steelblue;
}

@media (max-width: 40rem){  /* Small Screens */
    #navigation a {
        padding: 0.25rem;
    }

    .grid-container {
        grid-template-columns: auto;
        grid-template-rows: 25rem 4rem 20rem;
    }
    #cameraFeed-container {
        grid-column: 1;
        grid-row: 1;
        overflow: hidden;
    }
    #config-container {
        grid-column: 1;
        grid-row: 2;
        flex-flow: row;
        justify-content: flex-start;
        align-items: center;
    }
    #config-container button {
        margin: 0.1rem;
        height: 3rem;
    }
    #output-container {
        grid-column: 1;
        grid-row: 3;
    }
    #output-container p {
        max-height: 18rem;
    }
}

@media (min-width: 40rem) and (max-width: 60rem){   /* Medium Screens */

    .grid-container {
        grid-template-columns: 30rem auto;
        grid-template-rows: 25rem 20rem;
    }
    .grid-item {
        border-radius: 8px;
        padding: 0.25rem;
    }
    #cameraFeed-container {
        grid-column: 1;
        grid-row: 1;
    }
    #video{
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -100;
        border-radius: 8px;
    }
    #config-container {
        grid-column: 2;
        grid-row: 1;
        flex-flow: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #output-container {
        grid-column: 1 / 3;
        grid-row: 2;
    }
    #output-container p {
        max-height: 18rem;
    }
}

@media (min-width: 60rem) {     /* Big Screens */

    * {     /* Universal Stuff */
        margin: 2rem auto 1rem;
        max-width: 200rem;
        padding: 0.25rem;
    }

    #title-outside-header {
        display: none;
    }
    #title-inside-header {
        display: inline;
        background: steelblue;
        font-size: 3.998rem;
        text-align: center;
    }
    #navigation {
        width: auto;
        padding: 1rem;
    }
    #navigation h1 {
        margin: 0;
        font-size: 4rem;
        font-weight: bold;
    }

    .grid-container {
        grid-template-columns: 50rem auto;
        grid-template-rows: 38rem 20rem;
    }
    #cameraFeed-container {
        grid-column: 1;
        grid-row: 1;
    }
    #video{
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -100;
        border-radius: 8px;
    }
    #config-container {
        grid-column: 2;
        grid-row: 1;
        flex-flow: column;
        justify-content: flex-start;
        align-items: flex-start;
        max-width: 30rem;
    }
    #output-container {
        grid-column: 1 / 3;
        grid-row: 2;
        max-width: 81rem;
    }
    #output-container p {
        max-height: 18rem;
    }
}
