:root {
    --primary-color: #c3b59b;
    --secundary-color: #dedbd2;
    --primary-black: #212121;
    --primary-white: #ebebeb;
    --secundary-white: #e4e4e4;
}

#bg {
    background-image: url("./assets/img/header-bg-2.jpeg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left;
    filter: blur(0px);
    height: 60vh;
    width: 100vw;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;

    @media (width > 900px) {
        background-size: cover;
        height: 40vh;
        width: 50vw;
        right: 0;
        left: auto;
        top: 10vh;
    }
}

body {
    margin: 0;
    overflow-x: hidden;
    font-family: Times, serif;
    font-weight: normal;
    font-size: 1.5rem;
    color: var(--primary-black);
}

header {
    height: 50vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 2rem;
    padding-top: 4rem;
    padding-bottom: 4rem;

    & > #div-title {
        margin-right: 20%;

        & h2 {
            margin: 0;
            font-weight: normal;
            font-style: italic;
            font-size: 2.4rem;
            
            & span {
                font-size: 1rem;
                white-space: nowrap;
            }
        }

        @media (width > 900px) {
            width: 50%;
            & h2 {
                font-size: 3rem;
            }
        }
    }

    & > #seo-headline {
        position: absolute;
        top: -5rem;
        left: 0;
        opacity: 0;
        font-size: 1rem;
    }

    @media (width > 900px) {
        align-items: flex-start;
        padding: 4rem;
    }
}

main {
    width: 100%;
    background-color: var(--primary-white);
    display: flex;
    flex-direction: column;
    align-items: center;

    & > * {
        z-index: 10;
    }

    & p {
        width: 80%;
        text-align: center;
        font-size: 1.6rem;
    }

    & > #bg_logo {
        background-image: url("./assets/img/logo_diamond_grey.svg");
        background-repeat: no-repeat;
        background-position: left;
        background-size: contain;
        width: 100vw;
        height: 40vh;
        position: absolute;
        translate: 0 1rem 0;
    }

    & > #div-signature {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        margin-right: 5vw;
        width: 95vw;
        translate: 0 -2.3rem 0;
    }

    & > #introduction {
        display: flex;
        flex-direction: column;
        align-items: center;
        
        & > #cornelia {
            width: calc(5rem + 20%);
        }

        @media (width <= 900px) {
            & p {
                font-size: 1.4rem;
            }
        }

        @media (width > 900px) {
            flex-direction: row-reverse;
            margin-left: 15vw;
            margin-right: 15vw;
            font-size: 1.5rem;

            & > p {
                text-align: left;
                margin-left: 4rem;
            }
        }
    }

    & > svg {
        height: 1rem;
        margin-top: 5vh;
    }

    & > #contact {
        display: flex;
        flex-direction: column;
        align-items: center;

        & > #contact-btn-wrapper {
            display: flex;
            flex-direction: column;

            & > .contact-btn {
                text-decoration: none;
                color: var(--primary-black);
                background-color: var(--primary-color);
                padding: 0.5rem;
                width: calc(6rem + 10vw);
                text-align: center;
                border-radius: 0.5rem;
                margin-bottom: 1.5rem;
                -webkit-tap-highlight-color: transparent;

                &:hover {
                    text-decoration: underline;
                }
            }
        }
    }

    & > #opening-hours {
        display: flex;
        flex-direction: column;
        align-items: center;

        & > p {
            width: 100%;
        }

        & > #hours-table {
            font-size: 1.2rem;
            margin: 0;
            th {
                padding-right: 0.6rem;
                font-weight: normal;
                text-align: left;
            }
            td {
                text-align: center;
            }
        }
    }
}

footer {
    background-color: var(--primary-white);
    padding: 10vh 0 5vh 0;

    & > p {
        font-size: 0.8rem;
        text-align: center;
        margin: 0;
        opacity: 0.6;
    }
}
