/* Import custom fonts */ 
@import url('https://fonts.googleapis.com/css2?family=Shantell+Sans:ital,wght@0,400;0,500;0,700;1,400&family=Tilt+Neon&display=swap');

/*
font-family: 'Shantell Sans', cursive;
font-family: 'Tilt Neon', cursive;
*/


/* Basic CSS Reset */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/*General styles*/
html, body{
    scroll-behavior: smooth !important;  /*Smooth scrolling when pressing view our menu*/
    height: 100%;
    font-family: 'Shantell Sans', cursive;
    animation: transitionIn .5s;
    background-color: rgb(252, 244, 229);

}

header{
    overflow: hidden !important; /* The whole purpose of this is to remove horizontal scrolling on smaller viewports*/
}

/* NAVIGATION BAR STYLES */

/* The actual navbar where the links are*/
#main-nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: black;
    width: 100%;
    padding: 1rem;
}

/* This just creates the circle for the "MonMon" */
.nav-logo{
    border: 2px solid red;
    border-radius: 50%;
    height: 60px;
    width: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    color: white;
    margin: 0 2rem;
}

/*Logo link is both the text and the circle*/
/* The logo is also a way to get back to the homepage of the site by clicking on it so that's why it is also a link*/
.logo-link{
    text-decoration: none;
    font-family: 'Tilt Neon', cursive;
}

/* So that everything has the same style for :focus for links*/
.logo-link:focus{
    border-bottom: 2px solid red;   
}

/* Styles for the navigation links "Home Menu Contact"*/
#main-nav ul{
    display: flex;
}

/* Margin of left and right of 2rem so that they are spaced*/
#main-nav ul li a{
    color: white;
    font-size: 1rem;
    margin: 0 2rem;
    text-decoration: none;
    transition: all .3s linear; 
}

/* So that it wont change the color of the link as this is a special type of link and not something that is clickable in the content area*/
#main-nav ul li a:link{
    color: white;
}

#main-nav ul li a:visited{
    color: white;
}

/* Just puts a border-bottom when navigating the navbar using tab key*/
#main-nav ul li a:focus{
    border-bottom: 2px solid red;
}

#main-nav ul li a:hover{
    color: red;
}

/* if you click and hold the navigation link it will produce the color that is in this CSS style*/
#main-nav ul li a:active{
    color: rgb(177, 0, 0);
}

/** HAMBURGER BUTTON FOR COLLAPSIBLE NAVBAR **/
label{
    display: flex;
    flex-direction: column;
    width: 40px;
    height: 40px;
    cursor: pointer;

}

/* STYLING THE LINES */
label span{
    background: white;
    border-radius: 10px;
    height: 8px;
    margin: 5px 0;
    transition: .4s cubic-bezier(0.68, -0.6, 0.32, 1.6);
    width: 80%;
}

input[type="checkbox"]{
    display: none;
}

/*Turns the hamburger into an x when pressed*/
/*FIRST LINE OF THE BURGER BUTTON */
input[type="checkbox"]:checked ~ span:nth-of-type(1){
    transform-origin: bottom;
    transform: rotatez(45deg) translateX(5px)translateY(5px);
}

/*SECOND LINE OF THE BURGER BUTTON */
input[type="checkbox"]:checked ~ span:nth-of-type(2){
    opacity: 0;
}

/*THIRD LINE OF THE BURGER BUTTON */
input[type="checkbox"]:checked ~ span:nth-of-type(3){
    transform-origin: bottom;
    transform: rotatez(-45deg) translateX(15px)translateY(-12px);
}

/* Contains the actual hamburger button*/
.hamburger-btn{
    visibility: hidden;     /*So that it doesn't show on larger viewports*/
    position: absolute;
    right: 2rem;
}

/** END OF NAVIGATION STYLE**/

/** BEGINNING OF Hero image and hero text styling section **/

.hero-image{
    background-image: linear-gradient(rgba(0, 0, 0, 0.226), rgba(0, 0, 0, 0.5)), url(https://images.unsplash.com/photo-1576817228310-3bfdf2689f58?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1173&q=80);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    height: 75vh;
}

h1{
    font-family: 'Tilt Neon', cursive;
}

/* Where the h1 and the slogan of the site is*/
.hero-text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Applied to every h1-h6 */
.special-h-style{
    color: red;
}

/* The button to see our menu in the hero image*/
.btn-menuLink{
    background-color: red;
    border-radius: 10px;
    padding: 1em;
    width: 200px;
    margin: 2em 0;
}

.btn-menuLink:focus{
    border-bottom: 2px solid red;
}

.btn-menuLink a{
    color: white;
    text-decoration: none;
    font-size: 1rem;
}

/** END OF HERO IMAGE OF THE SITE STYLE **/

/** BEGINNING OF MonMon's Homemade styling section of the document **/
.info-section{
    text-align: center;
    padding: 1.5em;
}

.info-section h2{
    margin: 1em;
    letter-spacing: 7px;
}

.info-section p{
    line-height: 2;
}

/** END OF MonMon's Homemade styling section of the document **/

/*Style for the menu container*/
#menu{
    display: grid; 
    grid-template-columns: auto; 
    grid-template-rows: auto; 
    gap: 1em;
    grid-template-areas: 
      "section-title section-title section-title"
      "item-1 item-2 item-3"
      "item-4 item-5 item-6"; 
    padding: 3em;
    margin-bottom: 8em;
}

#menu h2{
    font-size: 2rem;
    text-align: center;
    grid-area: section-title;
}

/*Styles for the individual menu items*/
.menu-item{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1em;
}

.menu-img{
    width: 100%;
    height: 300px;
}

.menu-item h3{
    text-align: center;
    line-height: 1.5;
    letter-spacing: 1.5px;
}


/* Attribution and Footer styling */
footer{
    display: flex;
    flex-direction: column;
    justify-content: center ;
    align-items: center;
    text-align: center;
    background-color: black;    
    width: 100%;
    height: 125px;
    color: gray;
    /* bottom: 0; */
}

footer a{
    text-decoration: none;
    color: gray;
}

/* For attribution purposes for the images that I have used */
/* The img-container and the img-attrib is for the attribution for the images; the styles that are inside is makes it so that the text is on top of the image. */
.img-container {
    position: relative;
    display: inline-block;
}

.img-attrib {
    font-size: .7rem;
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 0 .5em .5em 0; /*right .5em bottom .5em*/
    padding: .25em;
    color: white;
    background-color: rgba(0, 0, 0, .2) /* black with the opacity of .2*/
}


/* Keyframes section*/

/* ANIMATION FOR TRANSITIONING IN ALL CONTENT 
    To create a smooth transition for the user to see when first loading up in the page.
*/

@keyframes transitionIn {
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }

}


/* Responsive Styling (breakpoints) */

/* Ipads and Tablets styling */
/*collapsible navbar*/
@media only screen and (min-width: 320px) and (max-width: 861px){
    #main-nav ul{
       visibility: hidden;
    }

    .hamburger-btn{
        visibility: visible; /* Makes the hamburger button appear and disappear beyond 861px*/
    }

}

@media only screen and (min-width: 601px) and (max-width:861px) {
    #menu{
        grid-template-columns: 1fr 1fr; 
        grid-template-areas: 
          "section-title section-title"
          "item-1 item-2"
          "item-3 item-4"
          "item-5 item-6";
    }
    .menu-item{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .menu-img{
        height: 200px;
    }

    .menu-item p{
        line-height: 1.2;
        letter-spacing: 1.2px;
        font-size: .8rem;
    }

    footer{
        font-size: 0.8rem;
        padding: 2em;
    }

    
}

/* Mobile devices */
/*collapsible navbar*/
@media only screen and (min-width: 320px) and (max-width:600px){
    #menu{
        grid-template-areas: 
          "section-title"
          "item-1"
          "item-2"
          "item-3"
          "item-4"  
          "item-5"
          "item-6";
    }

    .menu-item{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .menu-img{
        height: 150px;
    }

    .menu-item p{
        line-height: 1.2;
        letter-spacing: 1.2px;
        font-size: .8rem;
    }

    footer{
        font-size: 0.8rem;
        padding: 2em;
    }

}
