/* REGULAR ELEMENTS */
* {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 1.2vw;
    font-weight: 500;
}

body {
    transition: background-color 1s ease;
}

main {
    display: grid;
    grid-template-columns: 30% 35% 35%;
    grid-template-rows: 55% 10% 15% 8% 10% 2%;
    grid-template-areas:
        "quote art art"
        "quote name title"
        "quote description description"
        "quoteButton description description"
        "button button button"
        ". . .";
    width: 85vw;
    height: 100vh;
    margin: auto;
}



/* CLASS AND ID */
#art {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-area: art;
    height: 100%;
    width: 100%;
    overflow: hidden;
}

#art>img {
    height: 90%;
    width: auto;
    margin: 2%;
    display: block;
    object-fit: contain;
    border-radius: 2vw;
    transition: img 1s ease;
}

#quote {
    grid-area: quote;
    margin: 2%;
    border: 3px solid rgba(255, 255, 255, 0.3);
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 1vw;
}

#quote>* {
    padding: 0% 2%;
    font-size: 2.3vw;
    font-family: "Federo", sans-serif;
}

#attribution {
    text-align: right;
    padding: 0% 8%;
}

#name {
    grid-area: name;
    margin: 2%;
    border: 3px solid rgba(255, 255, 255, 0.3);
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 1vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0%;
}

#title {
    grid-area: title;
    margin: 2%;
    border: 3px solid rgba(255, 255, 255, 0.3);
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 1vw;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0%;
}

#description {
    text-align: left;
    grid-area: description;
    margin: 1%;
    padding: 0% 2%;
    border: 3px solid rgba(255, 255, 255, 0.3);
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 1vw;
    display: flex;
    align-items: center;
}

#quoteButton {
    grid-area: quoteButton;
}

#button {
    grid-area: button;
    margin: 0.5% 10%;
}

#button,
#back,
#forward,
#quoteButton {
    border: 3px solid rgba(255, 255, 255, 0.6);
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 1vw;
    font-size: 2.2vw;
    font-family: "Federo", sans-serif;
    transition: all 0.5s ease;
}

#button:hover,
#back:hover,
#forward:hover,
#quoteButton:hover {
    border: 3px solid rgba(255, 255, 255, 1);
    background-color: rgba(255, 255, 255, 0.65);
}

.text {
    transition: color 1s ease;
}


/* FONTS */
.plus-jakarta-sans {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.federo-regular {
    font-family: "Federo", sans-serif;
    font-weight: 400;
    font-style: normal;
}

/* ALTERNATE STYLING */
@media screen and (max-width: 900px) {
    main {
        display: grid;
        grid-template-columns: 50% 50%;
        grid-template-rows: 35% 7% 16% 7% 24% 7%;
        grid-template-areas: "art art"
            "name title"
            "description description"
            "button button"
            "quote quote"
            "quoteButton quoteButton"
            ;
        width: 85vw;
        height: 98vh;
        margin: auto;
    }

    #title, #name, #description{
        font-size: 1.8vw;
    }

    #button, #quoteButton {
        padding: 1%;
        margin: 1%;
    }

    #quote * {
        font-size: 3.2vw;
    }
}