body {
    box-sizing: border-box;
    margin: 0;
    overflow-x: hidden;
    font-family: Arial, Helvetica, sans-serif;
    background-color: rgb(245, 239, 239);
}

/*------------------ Login Form CSS -------------------*/
.login_container {
    background-color: rgb(245, 239, 239);
    padding: 10% 25%;
    display: none;
}

.login_box {
    padding: 5% 2%;
    text-align: center;
    position: relative;
    background-color: rgb(250, 234, 203);
    border-radius: 10px;
}

#login_heading {
    margin: 3% 5%;
    margin-top: 0;
    color: orange;
}

#invalid_email_login,#invalid_email_signup{
    display: none;
    color: red;
    font-weight: bolder;
    width: 5rem;
    margin-top: 0;
    margin-bottom: 3%;
}

#selectUserType_login,#selectUserType_signup {
    display: none;
    color: red;
    font-weight: bolder;
    width: 5rem;
    margin-top: 0;
    margin-bottom: 3%;
}

#notRegisteredMessage,#enterPassword_login,#wrongPassword {
    display: none;
    color: red;
    font-weight: bolder;
    margin-top: 0;
    margin-bottom: 3%;
}

.login_details {
    padding: 0 10%;
    text-align: left;
    margin-top: 2%;
}

#login_email,
#login_pass {
    width: 50%;
    position: absolute;
    right: 15%;
}

.typeOfUser {
    margin-top: 3%;
    margin-bottom: 4%;
    position: relative;
}

.user_labels{
    margin: 0 14% 0 0;
}

#radio_input_user,
#radio_input_admin {
    cursor: pointer;
}

#login_btn {
    border: none;
    background-color: orange;
    color: black;
    padding: 1% 3%;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
}

.sign_up {
    text-decoration: underline;
    color: blue;
}

.sign_up:hover {
    cursor: pointer;
}

/*----------------- SIGN UP SECTION CSS ----------------*/
.signUpContainer{
    background-color: rgb(245, 239, 239);
    display: none;
    width: 50%;
    margin: 10% auto;
}
.sign_up_box{
    padding: 5% 2%;
    text-align: center;
    position: relative;
    background-color: rgb(250, 234, 203);
    border-radius: 10px;
}
#signUpHeading{
    margin: 3% 5%;
    margin-top: 0;
    color: orange;
}
.signUpDetails{
    padding: 0 10%;
    text-align: left;
    margin-top: 2%;
    position: relative;
}
.signUpRadioBtn{
    padding: 0 25%;
    margin: 0 0 3% 10%;
}
.user_label_signUp{
    margin-right: 15%;
}
#type-user,#type-admin{
    cursor: pointer;
}
.signUpInputs{
    width: 50%;
    position: absolute;
    right: 10%;
}
#enterNameMessage,#enterEmailMessage,#passwordEmpty,#reentryPasswordEmpty{
    display: none;
    font-weight: bolder;
    color: red;
}
#newPassMessage,#reenterPassMessage{
    display: none;
    width: 25%;
    position: absolute;
    top: 0%;
    left: 92%;   
    padding: 0 3% 2%;
    background-color: rgb(243, 209, 141);
    border-radius: 5px;
}
#newPassMessage:nth-child(n){
    font-size: 0.7em;
}
#reenterPassMessage{
    width: 25%;
    padding: 1% 0.35% 1% 1%;
    font-size: 0.7em;
    font-weight: bolder;
}
#passMatch{
    display: none;
}
.invalid{
    width: 100%;
    margin: 1% 0%;
    color: red;
}
.valid{
    width: 100%;
    margin: 1% 0%;
    color:green;
}
.validPass{
    width: 75%;
    margin: 1% 0%;
    color:green;   
}
#registerBtn{
    border: none;
    background-color: orange;
    color: black;
    padding: 1% 3%;
    margin-top: 5%;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
}

/*----------------- ADMIN SECTION CSS -----------------*/

.admin_container{
    width: 100vw;
    display: none;
}
h1 {
    text-align: center;
}
#product_info {
    width: 55%;
    border: 2px solid lightgray;
    position: relative;
    margin: 0% auto;
    padding: 2% 4%;
}
.product_details {
    margin: 2% 0%;
}

.input_name {
    width: 45%;
    text-align: justify;
}

.inputs {
    width: 51%;
    float: right;
}

#choose_file {
    position: absolute;
    left: 41%;
}

#add_product {
    width: 24%;
    margin: 3% 38% 0%;
    height: 2.5em;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 0.35em;
}

#product_catalogue_container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 5% 5% 0%;
    width: 90vw;
}

.product_catalogue {
    border: 1px solid black;
    width: 31%;
    margin: 0.5%;
    padding-bottom: 0.25%;
    border-radius: 3px;
    position: relative;
}

.product_images {
    width: 50%;
    height: 210px;
    margin: 1% 25%;
    border-radius: 2%;
}

.details {
    display: flex;
    flex-direction: column;
}

.detail_from_localStorage {
    width: 50%;
    float: right;
    margin-right: 1%;
    margin-bottom: 1%;
}

span {
    font-weight: bold;
    font-size: large;
}

.detailSpan {
    margin-left: 1%;
    float: left;
    font-weight: bold;
    font-size: medium;
}

.update_btn,
.delete_btn {
    width: 49%;
    color: white;
    border-radius: 3px;
    border: none;
    padding: 2% 0%;
}

.update_btn {
    margin: 0 0.25% 0 0.75%;
    background-color: #007BFF;
}

.delete_btn {
    margin: 0 0.5% 0 0.25%;
    background-color: red;
}

@media (min-width : 725px) and (max-width : 1240px) {
    body {
        width: 100vw;
        margin: 0%;
    }

    .admin_container {
        width: 100vw;
        margin: 0%;
    }

    #product_info {
        margin: 0% 5%;
        width: 80vw;
    }

    #product_catalogue_container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
    }

    .product_catalogue {
        width: 47.5%;
        margin: 1%;
    }

    .detailSpan {
        width: 45%;
        font-size: small;
    }

    .details :nth-child(n) {
        margin-top: 1%;
    }
}

@media (min-width : 425px) and (max-width : 725px) {
    #product_info {
        width: 80%;
    }

    .product_catalogue {
        margin: 1% auto;
        width: 60%;
    }

    .details {
        width: 100%;
    }

    .detailSpan {
        width: 45%;
        font-size: small;
    }

    .details :nth-child(n) {
        margin-top: 0%;
    }
}

/*-------------------- Website CSS --------------------*/

#website_container{
    background-color: oldlace;
    margin: 0;
    /* display: none; */
}
#websiteHeading,#cartHeading{
    margin: 0;
    padding: 1% 0%;
    font-size: 2.5em;
    background-color: rgb(252, 194, 86);
    color: rgb(209, 0, 0);
    position: relative;
}
#cartHeading{
    padding: 1.3% 0;
}
#cartBtn,#backToHome,#checkout{
    position: absolute;
    top: 25%;
    left: 1%;
    padding: 0.5% 2%;
    font-size: 15px;
    border: none;
    border-radius: 4px;
    color: white;
    background-color:midnightblue;
    cursor: pointer;
}
#checkout{
    left: 88.25%;
}
.userImage{
    color: white;
    background-color: gray;
    padding: 8px;
    border-radius: 8rem;
    position: absolute;
    top: 1%;
    right: 3%;
}
#userName{
    color: white;
    background-color: navy;
    padding: 0.25%;
    width: 8%;
    position: absolute;
    top: 62%;
    right: 0.85%;
    border: none;
    border-radius: 5px;
    margin: 0;
    cursor: pointer;
}
.marqueeText{
    padding: 1% 0;
    font-size: 2em;
    font-weight: bolder;
}
.products,.allProductsInCart{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin: 1%;
    margin-top: 0%;
    justify-content: space-evenly;
}
.allProductsInCart{
    margin-top: 5.4%;
}
.productDivOnWebsite,.cartProduct{
    width: 20%;
    margin : 0 1% 1% 0;
    border-radius: 8px;
    background-color: rgb(222, 222, 235);
}
.imagesOfProductsOnWebsite,.productImageInCart{
    width: 84%;
    height: 13em;
    margin: 8% 8% 5% 8%;
    border-radius: 8px;
}
.nameOfProductsOnWebsite,.nameOfProductInCart{
    margin: 1% 0;
    padding: 0% 5%;
    word-wrap: break-word;
}
.descriptionOfProductsOnWebsite{
    word-wrap: break-word;
    margin: 2% 0;
    padding: 0% 5%;
}
.priceOfProductsOnWebsite,.priceOfProductInCart{
    margin: 5% 0%;
    padding: 0% 5%;
}
.addToCartBtn{
    width: 90%;
    margin: 5% 5%;
    margin-top: 0%;
    border: none;
    border-radius: 4px;
    background-color:midnightblue;
    color: white;
    padding: 3%;
    cursor: pointer;
}

.inc_dec_btn{
    border: none;
    background-color: black;
    color: white;
    border-radius: 4px;
    margin: 0 1% 8% 5%;
    padding: 2% 8%;
    font-weight: bolder;
}
.countOfItem{
    margin: 0 10%;
    font-size: 1.25em;
}