@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

* {
    font-family: Roboto, sans-serif;
}

html {
    height: 100%;
}

body {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.title {
    text-align: center;
    margin: 0;
    font-size: 1.2rem;
    word-break: break-word;
    color: rgb(97, 97, 97);
    text-shadow: 1px 1px black;
    margin-right: auto;
}

.subtitle {
    font-size: 3rem;
    text-align: center;
    margin: 0;
    color: white;
    text-shadow: 2px 2px black;
}

.case-title {
    text-align: center;
    margin: 0;
}

.info-text {
    text-align: center;
    padding: .5rem 1.5rem;
    font-size: 1.3rem;
    max-width: max(32rem, 70vw);
    margin: 0;
    color: whitesmoke;
    text-shadow: 1px 1px black;
}

header {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(250, 230, 195);
    border-bottom: 1px solid gray;
}

nav {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

nav>ul>li>a {
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

nav>ul>li>a>span {
    color: rgb(97, 97, 97);
    font-size: 1.5rem;
    font-weight: 700;
    padding: .7rem 0;
    letter-spacing: .5px;
    text-shadow: 1px 1px black;
}

footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: 1rem;
    background: radial-gradient(rgb(170, 0, 0), darkred);
}

footer>p {
    word-break: break-word;
    color: white;
    text-shadow: 1px 1px black;
    margin: 0;
    padding: .3rem 1rem;
    font-size: 1.1rem;
    text-align: center;
}

.product-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 1rem;
    padding: 0 0.5rem;
}

.product-image {
    overflow-x: hidden;
    margin: .5rem;
    max-width: min(70vw, 15rem);
}

.product-link {
    border-radius: 1rem;
    font-weight: 700;
    font-size: 1.1rem;
    color: whitesmoke;
    background-color: rgb(200, 82, 10);
    text-align: center;
    padding: 0.5rem 2rem;
}

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

.title-container {
    width: 100%;
    background-color: rgb(244, 238, 226);
    border-bottom: 1px solid black;
    display: flex;
    justify-content: center;
    align-items: center;
}

.title-container>div {
    padding: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.company-description-container {
    background: rgb(134, 17, 17);
    display: flex;
    gap: 1rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid black;
    padding: 1rem 0;
}

.info-card {
    background-color: rgb(105, 105, 105);
    border-radius: 2rem;
    border-style: solid;
    border-width: 1px;
    border-color: white;
    margin: 0 1rem;
}

.subtitle-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: green;
    width: 100%;
    padding: 1rem 0;
    border-bottom: 1px solid black;
}

.product-title {
    padding: 0 1rem;
    font-size: 2rem;
    text-align: center;
    margin: 0;
    color: white;
    text-shadow: 2px 2px black;
    word-break: break-word;
    max-width: 100%;
}

.product-info-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 1.5rem 0;
    max-width: 100%;
}

ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
}

ul>li {
    font-size: 1.2rem;
    color: white;
    text-shadow: 1px 1px black;
    text-align: center;
}

.logo-container {
    display: flex;
    flex-basis: 50%;
    justify-content: center;
    align-items: center;
    min-width: min(209px, 90vw);
}

.logo-container>div {
    margin-left: auto;
    max-width: min(91vw, 7rem);
    min-width: min(209px, 90vw);
}

.logo-container>div>img {
    max-width: 100%;
    max-height: 90%;
    aspect-ratio: 1/1;
}

.title-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-basis: 50%;
    min-width: min(209px, 90vw);
}

.folder-image {
    overflow-x: hidden;
    margin: .5rem;
    max-width: min(70vw, 20rem);
    border-radius: 1rem;
}

.header-image-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
}

.header-image-container>img {
    max-width: min(12rem, 90%);
    margin: .5rem;
    margin-left: 2rem;
}

nav>ul {
    width: 100%;
    flex-wrap: nowrap;
    flex-direction: row;
    padding: 0;
    list-style: none;
    display: flex;
}

nav>ul>li {
    padding: .5rem 1rem;
}

@media (max-width: 500px) {
    nav {
        margin-top: 12rem;
        position: absolute;
    }


    nav>ul {
        border-top: 1px solid black;
        background-color: rgb(244, 238, 226);
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0;
        left: 0;
        list-style: none;
        display: flex;
    }

    nav>ul>li {
        padding: 0;
        width: 100vw;
        border-bottom: 1px solid black;
    }

    .toggle-nav {
        visibility: visible;
    }

    .toggle-nav:has(input:checked)+nav {
        display: none;
    }

    input:checked + label > #hide-nav {
        display: none;
    }

    input:not(:checked) + label > #show-nav {
        display: none;
    }
}

@media (min-width: 500px) {
    .toggle-nav {
        visibility: hidden;
    }
}

.toggle-nav {
    display: flex;
}

.toggle-nav > label {
    margin-right: 1rem;
}

#show-nav, #hide-nav {
    display: block;
}

#show-nav > svg, #hide-nav > svg {
    fill:rgb(97, 97, 97);
    display: block;
    width: 2rem;
    height: 2rem;
}
