/* Theme Import */
@import url(/misc/uniElements/theme.css);

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Menu Intro */
.menuIntro{
    width: 100vw;
    min-height: 25vh;
    padding: 5vh;      /* top, right, bottom, left */
    background-color: var(--primaryBackgroundColor);
    display: flex;
    flex-direction: column;      
    justify-content: center;
}

.menuIntro h1{
    align-self: center;
    font-size: 4vh;
    padding-bottom: 2vh;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--primaryHeadingText);
}

.menuIntro p{
    align-self: center;
    font-size: 2vh;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--primaryParagraphText);
    padding: 0vh 6vw;      /* top, right, bottom, left */
}

/* Products Grid */
#products{
    width: 100vw;
    min-height: 90vh;
    padding: 5vh;
    background-color: var(--secondaryBackgroundColor);  
    
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap-reverse;
    flex: 1 1 100%;
    gap: 3vh;
    justify-content: center;
}

.itemBox{
    background-color: var(--primaryBackgroundColor);
    height: 75vh;
    max-width: 40vh;
    border-radius: 1vh;
    position: relative;
}

.itemBox:hover {
  box-shadow: 0 0 2.5vh var(--shadowBackgroundColor);
}

.hoverEffect{
    opacity: 0;
    z-index: 700;
}

.hoverEffect:hover{
    height: 100%;
    width: 100%;
    position: absolute;
    opacity: 1;
    background-color: var(--shadowBackgroundColor);
}

.hoverEffect svg{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 20vh;
    width: auto;
}
#Icon-Set{
    fill: var(--primaryBackgroundColor);
}

.itemImgBox{
    background-color: #d4d4d4;
    width: 40vh;
    height: 27vh;
}

.itemImg{
    width: 40vh;
    height: 27vh;
}

.itemDescription{
    padding: 3.3vh ;

}

.itemTextSpacing{
    padding-bottom: 1.2vh;
}

.itemCategory{
    font-weight: 100;
    font-size: 1.8vh;
    color: var(--primaryHeadingText);
}

.itemName{
    font-size: 2.8vh;
    font-weight: 600;
    color: var(--primaryHeadingText);
}

.itemInfo{
    font-weight: 100;
    font-size: 2vh;
    color: var(--primaryParagraphText);

    padding-bottom: 2.6vh;
    border-bottom: 0.3vh solid var(--thirdHeadingText);    /* width | style | color */
}

.itemPrice{
    padding-top: 2.6vh;
    font-weight: 900;
    font-size: 2vh;
    color: var(--secondaryHeadingText);
}

/* Products span exclusive/new */
.newItem{
    background-color: #e54b22;
    width: 4vh;
    height: 2vh;
    border-radius: 0.3vh;

    color: var(--secondaryParagraphText);

    position: absolute;
    margin: 1vh 0vh 0vh 0vh;     /* top, right, bottom, left */

    display: flex;
    justify-content: center;
}

.limitedItem{
    background-color: #fdd62c;
    max-width: 15vh;
    min-height: 2vh;
    border-radius: 0.3vh;

    color: #e54b22;

    position: absolute;
    margin: 3.12vh 0vh 0vh 0vh;     /* top, right, bottom, left */
    padding: 0.5vh;

    display: flex;
    justify-content: center;
}

.itemSpanText{
    font-size: 1.3vh;
    font-weight: 100;
    align-self: center;
}


/* Popup box */
#menuProductPopups{
        /* Center content */  
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
        /* Position */  
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 800;
        /* Shadow */  
    background-color: var(--shadowBackgroundColor);
        /* Pop-up effect*/
    display: none; 
    opacity: 0; /* change to 0 */
    transition: opacity 0.5s ease;
}

.menuProductBox{
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    max-width: 85%;
    min-height: 80vh;
    background-color: var(--primaryBackgroundColor);
    border-radius: 1vh;
}

.popupItem{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.itemImageDisplay, .itemPopupDescription{
    display: flex;
    flex: 1 1 50%;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 2vh;
}

.imageDisplay{
    max-width: 100%;
    max-height: 100%;
    padding: 0vh 4vh; 
    display: none;

    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.imageDisplayActive{
    display: flex;
}

.imagePreviousButton, .imageNextButton{
    fill: var(--secondaryHeadingText);
    width: 6vh;
    height: auto;
    padding: 0vh 1vh;
}

.imagePreviousButton:hover, .imageNextButton:hover{
    fill: var(--primaryHeadingText);
}

.imagePreviousButton{
    transform: rotate(180deg);
    position: fixed;
    top: 50vh;
    left: 8vw;
}

.imageNextButton{
    position: fixed;
    top: 50vh;
    left: 46vw;
}

.itemPopupDescription{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    flex-direction: column;
    align-content: center;
    margin: 5vh 0vh;
}

.itemDescriptionSpacing{
    padding: 2.2vh 0vh;
}

.menuCloseX{
    position: fixed;
    top: 12vh;
    right: 12vw;
    cursor: pointer;
    font-size: 3.1vh;
    color: var(--primaryParagraphText);
}

.menuCloseX:hover{
    font-weight: bold;
    font-size: 3.5vh;
}

.orderEnquireButton{
    margin-top: 5vh;
    padding: 1.5vh 6vh;
    border-radius: 5vh;
    background-color: var(--secondaryHeadingText);
    cursor: pointer;
}

.orderEnquireButton:hover{
    background-color: var(--primaryHeadingText);
    font-weight: bold;
}




@media (max-width: 505px) {
    .menuCloseX{
        position: fixed;
        right: 11vw;
    }

    .imagePreviousButton{
        position: fixed;
        top: 25vh;
        left: 8vw;
    }

    .imageNextButton{
        position: fixed;
        top: 25vh;
        left: 81vw;
    }

    .itemPopupDescription{
        margin: 0;
    }

    .itemDescriptionSpacing{
        padding: 1vh 0vh;
    }

}