* {
    margin: 0; padding: 0; border: 0; box-sizing: border-box; /* reset rule */
}

img, video, figure {
    max-width: 100%; /* a good default setting like the reset rule */
}

:root {
    font-size: 62.5% /* makes standard rem = px */
}

body {
    height: 200vh;
    max-width: 1800px; 
    background-image: linear-gradient(#c77dff, green, blue);
}

#container {
    width: 95vw;
    height: 95%;
    margin: 2vh auto;
    /* border: 2px solid orange; */
}  

    #top {
        height: 20vh;
        margin-bottom: 10px;
        font-size: 4rem;
        line-height: 15vh;
    }

        .logo {
            height: 18vh; aspect-ratio: 4/4;
            float: left;
            padding: 1vh 0 1vh 1vw;
            position: absolute;
        }

        #title {
            /* border: 2px solid purple; */
            width: 100%;
            height: 75%;
            /* background-image: radial-gradient(Blue, lightblue); */
            
        }

        h2 {
            height: 100%;
        }

            #store_name {
                max-height: 100%;
                text-align: center;
                font-family: 'Rochester', cursive;
                font-size: 8vh;
                color: #034403;
                line-height: 5vh;
                padding-top: 1vh;
            }
            
                #slogan {
                    max-height: 100%;
                    max-width: 50%;
                    margin-top: 2vh;
                    margin-left: 45%;
                    text-align: center;
                    font-size: 4vh;
                    color: #034403;
                    line-height: 5vh;
                    padding-right: 5vw;
                }

                ul {
                    display: flex;
                    list-style-type: none; 
                    justify-content: space-evenly;
                }
    
                    #main-nav > li {
                        display: block;
                        border: 2px solid purple;
                        width: 22%; height: 20%;
                        text-align: center;
                        line-height: 5vh;
                        font-size: 3vh;
                        background-image: radial-gradient(#c77dff, #70d6ff, #034403);
                        margin: 1vh auto 1vh auto;
                        border-radius: 20px;
                    }
    
                        #main-nav a {
                            display: block;
                            width: 100%; height: 100%;
                            text-decoration: none;
                            color: purple;
                            font-weight: bold; 
                        }                 

    .middle {
        height: 165vh;
        text-align: center;
        /* border: 2px solid red; */
        display: flex; 
    }

        .sidebar {
        
        }

            #sidebar_nav {
                height: 65vh;
                width: 20vw;
                font-size: 2rem;
                border: 5px solid hotpink;
                background-color:#83C5BE;
                margin-top: 5vh;
                
            }

                #sidebar_nav ul {
                    display: block;
                    height: 165vh;
                    width: 95%;
                    font-size: 2rem;
                    margin: auto;
                    justify-content: space-between;
                }

                #sidebar_nav a {
                    margin-top: 5%;
                    display: block;
                    text-decoration: none;
                    padding: 2%;
                    border: 2px solid purple;  
                    background-color: #c77dff;
                    color: white;
                }
                
                        #sidebar_nav a:hover {
                            background-color: darkorchid;

                        }
        
                #customer_comments {
                    display: block;
                    min-height: 80vh;
                    width: 20vw;
                    font-size: 2rem;
                    border: 5px solid hotpink;
                    background-color:#83C5BE;
                    margin-top: 5vh;  
                     
                }

                    #comments {
                        /* display: block; */
                        min-height: 25vh;
                        width: 95%;
                        font-size: 2rem;
                        margin-top: 10px;
                        margin: 10px;
                        justify-content: space-between;
                        border: 2px solid yellow;
                    }

                        .checked {
                            padding: 5px;
                            color: orange;
                        }

                        .headline {
                            font-size: large;
                        }

                        #comments p {
                            padding: 5px;
                            font-size: medium;
                        }
                



        #mainbody {
            margin: 2vh auto 0 5vw;
            width: 65vw;
            height: 100%;
            /* border: 2px solid red;   */
        }

            h3 {
                border: 5px solid purple;
                height: 5%;
                text-align: center;
                margin-bottom: 2vh;
                background-color: #c77dff;
            }

                h3 p {
                    color: #034403;
                    /* border: 2px solid red; */
                    font-family: 'Rochester', cursive;
                    font-size: 5vh;
                    margin: .5vh auto 1vh auto;
                }

        .featured ul {
            display: block;
            columns: 2;
            text-align: center;
        }

            .featured ul li {
                display: block;
                border: 5px solid green;
                aspect-ratio: 4/4; 
                max-height: 40%;
                max-width: 100%;
            }

            a {           
                text-decoration: none;
            }
            
                .featured ul li:first-child {
                    /* border: 3px solid black; */
                    margin-bottom: 2vh;
                    background-image: linear-gradient(
                    135deg, #FFDDD2, #c77dff ,#83C5BE
                    ); 
                }

                    .featured_item {
                        /* border: 2px solid red; */
                        width: 100%; height: 2vh;
                        font-size: x-large;
                        text-decoration: none;
                        color: teal;
                        font-weight: bold;
                        text-shadow: 1px 1px black;  
                    }

                    #featured_photo {
                        border: 2px solid green;
                        height: 80%; aspect-ratio: 3/5;
                    }

                        .flip-card {
                            border: 1px solid #f1f1f1;
                            perspective: 1000px; 
                        }

                        .flip-card-inner {
                            position: relative;
                            width: 100%;
                            height: 100%;
                            text-align: center;
                            transition: transform 0.8s;
                            transform-style: preserve-3d;
                          }

                          .flip-card:hover .flip-card-inner {
                            transform: rotateY(180deg);
                          }

                          .flip-card-front, .flip-card-back {
                            position: absolute;
                            width: 100%;
                            height: 100%;
                            -webkit-backface-visibility: hidden;
                            backface-visibility: hidden;
                          }

                          .flip-card-front {
                            color: black;
                          }

                          .flip-card-back {
                            background-color: dodgerblue;
                            color: white;
                            transform: rotateY(180deg);
                            border: 2px solid green;
                          }

                            .photo-array {
                                display: flex;
                                margin-top: 20px;
                                height: 60%; 
                                
                            }
                          
                                #photo-array {
                                    padding: 10px;
                                }

                    #tips {
                        background-image: linear-gradient(
                        45deg, #83C5BE, #c77dff , #FFDDD2
                        ); 
                    }

                        #tips_tricks h1 {
                            width: 100%; height: 2vh;
                            font-size: x-large;
                            text-decoration: none;
                            color: teal;
                            font-weight: bold;
                            text-shadow: 1px 1px black;
                            margin-bottom: 5vh;
                        }

                        #tips_tricks p {
                            padding: 3vh 3vw;
                            font-size: medium;
                        }

                    .featured ul li:nth-child(3) {
                        background-image: linear-gradient(
                        45deg,#FFDDD2, #c77dff ,#83C5BE
                        ); 
                    }
                
                        h2 {
                            width: 100%; height: 3vh;
                            font-size: x-large;
                            color: teal;
                            font-weight: bold;
                            text-shadow: 1px 1px black;  
                        } 
                    
                        #making {
                            display: flexbox;  
                            margin-top: 2vh;
                            aspect-ratio: 4/3.5;
                            height: 100%; 
                        }

                    .featured ul li:last-child {
                         /* border: 3px solid black; */
                        margin-top: 2vh;
                        background-image: linear-gradient(
                        135deg,#83C5BE, #c77dff, #FFDDD2
                        ); 
                    }
                    
                        #upcoming_events {
                            width: 100%; height: 3vh;
                            font-size: x-large;
                            color: teal;
                            font-weight: bold;
                            text-shadow: 1px 1px black;
                        }

                            #events {
                                
                                margin-top: 3vh;
                            }

                            h1 {
                                margin: 2vh;
                            }

                            p {
                                font-size: large;
                            }