/* CSS RESET */

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body{
    font-family: Arial, Helvetica, sans-serif;
}

.photo {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.text-frame {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 100px;
}

.product-content {
    padding: 0 15px;
}

.hero-layout {
    background-size: cover; /* same as object-fit, but for bg-images */
    background-position: center;
}

#box1 {
    background-image: url("../img/toy.jpg");
}

#box2 {
    background-image: url("../img/toy2.jpg");
}

#box3 {
    background-image: url("../img/toy3.jpg");
}

#box4 {
    background-image: url("../img/toy4.jpg");
}

#box5 {
    background-image: url("../img/toy5.jpg");
}

.text-banner {
    text-align: center;
    text-transform: uppercase;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
    .main-container {
        display: flex;
        flex-flow: row wrap;
    }

    .product-layout {
        width: 100%;
        height: 400px;
    }

    #box1 {
        height: 600px;
        width: 100%;
    }

    #box2 {
        height: 300px;
        width: 66.66%;
    }

    #box3 {
        height: 300px;
        width: 33.33%;
    }

    #box4 {
        height: 300px;
        width: 33.33%;
    }

    #box5 {
        height: 300px;
        width: 66.66%;
    }

    .hero-content {
        display: flex;
        height: 100%;
        justify-content: center;
        align-items: center;
    }

    .text-banner {
        padding: 50px 0;
    }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
    .main-container {
        display: flex;
        flex-flow: row wrap;
    }

    .flex-container{
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        align-items: center;
    }

    .product-layout {
        width: 100%;
        height: 400px;
    }

    #box1 {
        height: 600px;
        width: 100%;
    }

    #box2 {
        height: 300px;
        width: 66.66%;
    }

    #box3 {
        height: 300px;
        width: 33.33%;
    }

    #box4 {
        height: 300px;
        width: 33.33%;
    }

    #box5 {
        height: 300px;
        width: 66.66%;
    }

    .hero-content {
        display: flex;
        height: 100%;
        justify-content: center;
        align-items: center;
    }

    .text-banner {
        padding: 50px 0;
    }
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
    .product-layout {
        width: 60%;
        height: 500px;
    }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
    .main-container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: 1fr 1fr 1fr;
        gap: 10px;
        height: 100vh;
    }

    .flex-container {
        display: flex;
        flex-flow: row wrap;
    }

    .product-layout {
        width: 33.33%;
    }

    .hero-content {
        display: flex;
        height: 100%;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .left-middle {
        align-items: center;
    }

    #box1,
    #box2,
    #box3,
    #box4,
    #box5 {
        width: 100%;
        height: 100%;
    }

    #box1 {
        grid-column: 1/3;
        grid-row: 1/3;
        padding-left: 100px;
    }

    #box2 {
        grid-column: 3/4;
        grid-row: 1/2;
        padding: 25px 0 0 50px;
    }

    #box3 {
        grid-column: 3/4;
        grid-row: 2/3;
    }

    #box4 {
        grid-column: 1/2;
        grid-row: 3/4;
    }

    #box5 {
        grid-column: 2/4;
        grid-row: 3/4;
        padding: 25px 0 0 50px;
    }

    .text-banner{
        padding: 100px 0 50px 0;
    }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
}
