:root {
    --nav-bg-color: #fff; 
    --main-color: #0984e3;
    --secondary-color: #dfe6e9;
    --footer-text-color: #fff;
    --main-text-color: #2d3436;
}


a{
    transition: all 0.3s ease;
    color: var(--main-text-color);
    text-decoration: none;
}
a:hover, a:focus, a:active{
    color: var(--main-color);
    text-decoration: none;
} 
button:focus, button:active{
    outline: none;
}
.btn-primary{
    background: var(--main-color) !important;
}

/*------------------------------------------- header --------------------------------------------------*/
#templates-header{
    background-image: url(../images/templates-header-2-1.jpg);
    height: 40vh;
    background-position: center; /* Center the image */
    background-repeat: repeat; /* Do not repeat the image */
    /* background-size: cover; Resize the background image to cover the entire container */
}

.header-logo{
    background: rgba(255, 255, 255,0.5);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#templates-header h1{
    margin-bottom: 0;
    color: var(--main-text-color);
    text-shadow: 0 0 5px #fff;
    padding: 10px 20px;
    font-size: 5rem;

    /* color: var(--main-text-color);
    -webkit-text-fill-color: var(--main-text-color);
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #fff; */
}

@media only screen and (min-width: 768px){
    #templates-header{
        height: 25vh;
    }
}









/*---------------------------------------- product page ---------------------------------------------*/
/*------------------------------------------- main --------------------------------------------------*/
#product-page-main{
    /* min-height: 100vh; */
    padding-top: 50px;
    padding-bottom: 0;
}
.from-that{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: center;
}
.from-that i{
    margin: auto 10px;
}
.from-that:last-of-type i{
    display: none;
}
#product-page-main h2{
    margin-bottom: 80px;
    padding: 0 20px;
}
.pages-sequence{
    display: flex;
    flex-direction: row-reverse;
    justify-content: start;
    width: 100%;
    /* margin-bottom: 80px; */
}
.product-description{
    text-align: right;
}
.product-description h3, .product-details h3{
    margin-bottom: 40px;
}
.product-description h3{
    margin-top: 40px;
}
.product-description p, .product-details p{
    line-height: 30px;
    margin-bottom: 30px;
    font-size: 1.2rem;
}
.product-img{
    background: none;
    border-bottom: none;
}
.product-img:hover img,
.product-img:focus img,
.product-img:active img{
    width: 100%;
    height: 100%;
    object-position: 50% 50%;
}
.image-list{
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-evenly;
    align-items: center;
}
.image-list img{
    cursor: pointer;
    width: 20%;
    object-fit: cover;
    object-position: 50% 50%;
    margin: 20px auto;
    border: 2px solid var(--main-color);
    background: var(--secondary-color);
}
.order-now-div{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 2px solid var(--main-color);
}
.order-now{
    padding: 20px;
    border: none;
    padding: 10px 20px;
    background: var(--main-color);
    color: #fff;
}
.order-now i{
    margin-right: 20px;
    height: 100%;
    display: inline-block;
}
.order-now:hover i,
.order-now:focus i{
    text-shadow: 0 0 15px #fff;
    color: var(--main-text-color);
}
.product-details{
    padding: 20px 15px 40px;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    border-bottom: 2px solid var(--main-color);
}
.other-products{
    width: 100%;
    background: #fff;
    margin: 0;
    padding-top: 50px;
    padding-bottom: 90px;
}
#product-page-main .other-products h3{
    width: 100%;
    text-align: center;
}
#product-page-main .other-products{
    background: var(--secondary-color);
}
.product-img-small{
    background: #fff;
}
.product-img-small img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    transition: all 0.5s;
    border-bottom: 2px solid var(--main-color);
}
.product-card-small .product-data{
    flex-direction: column-reverse;
    justify-content: space-evenly;
    align-items: flex-end;
    padding-bottom: 10px;
}
.product-card-small h4{
    font-size: 1rem;
}
.product-card-small .price{
    font-size: 1rem;
}
.product-card-small{
    background: #fff;
    margin-top: 40px;
}
.other-products-swiper .product-card-small{
    margin-top: 0;
}
@media only screen and (min-width: 768px){
    .product-card-small h4{
        font-size: 1.3rem;
    }
    .product-card-small .price{
        font-size: 1.2rem;
    }
}

/* other products seiper */
.swiper-container-horizontal>.swiper-pagination-progressbar, .swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    top: 90%;
}
.other-products-swiper .swiper-wrapper{
    margin: 40px 0 60px;
}
.other-products-swiper .swiper-button-next, .other-products-swiper .swiper-button-prev{
    background: #fff;
    padding: 30px 20px;
    border-radius: 5px;
    top: 40%;
    /* padding-top: 50px; */
}
/* order now form */
/* .modal.fade.show{
    background: rgba(0, 0, 0, 0.9);
    z-index: 22222222;
}
.hide-me{
    display: none;
}
.modal-header{
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}
.modal-header .close{
    margin: 0;
}
.form-row{
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
}
.form-row label{
    width: 20%;
    padding: 10px;
    text-align: right;
}
.form-row input{
    width: 75%;
}
.modal-footer{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.modal-dialog{
    position: relative;
} */
.modal-checked{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--main-color);
    color: #fff;
    transform: rotateY(90deg);
    transition: all 0.5s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    text-align: right;
}
.modal-checked.checked{
    transform: rotateY(0);
}
.modal-checked .close span{
    margin: 20px;
    font-size: 2.5rem;
    color: #fff !important;
}
.checked-row{
    width: 100%;
    text-align: center;
    font-size: 10rem;
    color: rgba(76, 209, 55,1.0);
}
.modal-check-information{
    padding: 0 20px 20px 20px;
}
.modal-check-information p:nth-of-type(2){
    padding-top: 10px;
}
.order-number{
    padding: 5px 20px;
    background: #fff;
    border: 2px solid #000;
    color: #000;
    font-weight: 700;
    margin-right: 5px;
}


form label.required:before{
    color: #e84118;
    content: "* ";
}

#quick-msg-form label:before{
    color: #e84118;
    content: "* ";
}








/*------------------------------------- search results page ------------------------------------------*/
/*------------------------------------------- main --------------------------------------------------*/
#search-results-main{
    min-height: 50vh;
    position: relative;
}
.search-list{
    width: 100%;
    height: 100%;
}
.item-result{
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    border-bottom: 2px solid var(--main-color);
    padding: 0;
    margin-bottom: 30px;
    width: 100%;
}
.item-result .product-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}
.item-result .product-img{
    width: 25%;
}
.item-result .item-data{
    width: 73%;
    padding: 10px 20px;
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-end;
}
.item-result .item-name{
    font-size: 1.2rem;
}
.item-result .price{
    font-size: 0.9rem;
    margin-bottom: 5px;
}
.item-result .order-now{
    padding: 3px 10px;
}
#search-results-main .pages-sequence{
    margin-bottom: 40px;
}
@media only screen and (min-width: 768px){
    .item-result .item-name{
        font-size: 1.4rem;
    }
    .item-result .price{
        font-size: 1.2rem;
        margin: 20px 0;
    }
}









/*------------------------------------ order number request page ------------------------------------*/
/*--------------------------------------------- main ------------------------------------------------*/
#request-order-number .form-row{
    justify-content: center;
}
#request-order-number label{
    width: auto;
    font-size: 1.4rem;
}
#order-number-input{
    width: 100px;
    border: 2px solid var(--main-color);
    padding: 0 5px;
    margin-right: 10px;
}
#order-number-input:hover,
#order-number-input:active,
#order-number-input:focus{
    outline: none;
    box-shadow: 0 10px 20px #b2bec3;
}
#request-order-number input.btn{
    width: auto;
}













/*------------------------------------ order number show page ------------------------------------*/
/*--------------------------------------------- main ---------------------------------------------*/
#request-information{
    width: 100%;
    height: auto;
    margin-top: 70px;
}
#order-number-show h3{
    text-align: center;
    padding-bottom: 20px;
    width: 100%;
}
.order-state{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    padding-top: 0;
    margin-bottom: 50px;
    font-size: 1.3rem;
}
.delivering-order{
    color: var(--main-color);
}
.order-delivered{
    color: #44bd32;
}
#request-information tr{
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    text-align: right;
    padding: 10px 0;
}
#request-information th{
    width: 40%;
}
#request-information td{
    width: 58%;
}
#request-information thead th, #request-information tfoot th{
    width: 100%;
}
#request-information thead th{
    text-align: right;
    width: 100%;
    padding-bottom: 20px;
    font-size: 1.2rem;
}
#request-information .load-more-a{
    width: auto;
    padding: 12px 20px;
    height: auto;
}
#request-information tfoot th{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}
@media only screen and (min-width: 768px){
    #request-information{
        margin-top: 0px;
    }
}













/*---------------------------------------- category page -----------------------------------------*/
/*--------------------------------------------- main ---------------------------------------------*/
#category-page{
    position: relative;
    width: 100%;
    height: auto;
}
#category-page .other-products{
    background: #fff;
    padding-top: 0;
}

#category-page .product-card-small{
    border: 2px solid var(--main-color);
}

.category-search-swiper .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    font-size: 12px;
    color: #000;
    opacity: 1;
    background: rgba(0, 0, 0, 0.2);
} 
.category-search-swiper .swiper-pagination-bullet-active {
    color: #fff;
    background: var(--main-color);
}
.category-search-swiper{
    padding-bottom: 80px;
}
.category-search-swiper .swiper-button-next, .category-search-swiper .swiper-button-prev{
    top:auto;
    bottom: 5px;
    display: flex !important;
}

.go-to-first-slide-row{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

@media only screen and (min-width: 768px){
    .category-search-swiper .swiper-button-next, .category-search-swiper .swiper-button-prev{
        top: 98%;
    }
}








/*---------------------------------------- filter form -----------------------------------------*/
.filter{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1111;
    background: #fff;
    text-align: right;
    padding: 50px;
    font-size: 120%;
    display: none;
    animation-name: fade;
    animation-duration: 1s;
    animation-fill-mode: both;
    
}
#filter-form .form-group{
    margin: 25px 0;
}
#filter-form .form-group legend{
    margin-bottom: 15px;
}
.filter-button{
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 20px 20px 20px;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--main-color);
}
.filter-column{
    position: static;
}
.filter-column .pages-sequence{
    margin: 0;
    margin-bottom: 30px;
    padding: 0 20px;
    font-size: 0.9rem;
    text-align: right;
}
#filter-form{
    width: 100%;
}
#filter-form .form-row{
    justify-content: space-between;
    padding-bottom: 20px;
    margin-bottom: 30px;
}
#filter-form .price-form .filter-form-row{
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
}
#filter-form .price-form input{
    width: 50px;
    margin: 0 5px;
}
#filter-form .btn{
    width: auto;
}
.filter-opened{
    display: flex;
    animation-name: fade;
    animation-duration: 1s;
    animation-fill-mode: both;
}
@media only screen and (min-width: 768px){
    .filter-column .pages-sequence{
        padding: 0;
        padding-bottom: 20px;
        border-bottom: 2px solid var(--main-color);
    }
    .filter-button{
        justify-content: center;
    }
    .filter{
        position: relative;
        width: 100%;
        height: auto;
        background: #fff;
        padding: 0;
        font-size: 100%;
        display: flex;
    }
    .filter-column{
        border-right: 2px solid var(--main-color);
        margin-top: 40px;
        padding-right: 15px;
    }
    #filter-form .form-row{
        justify-content: space-between;
        padding-bottom: 0;
        margin-bottom: 0px;
    }
}
















/*-------------------------------------- seller profile page -------------------------------------*/
/*--------------------------------------------- main ---------------------------------------------*/
#seller-profile-main{
    position: relative;
    overflow-x: hidden;
}
.seller-shop{
    width: 100%;
    border: 2px solid #000;
    margin-bottom: 30px;
}
.seller-information{
    text-align: right;
    padding: 0 20px;
}
.general-information{
    line-height: 1.5rem;
}
.title-span{
    font-weight: 700;
    font-size: 110%;
    width: 35%;
    margin-left: 10px;
    display: inline-block;
}
.seller-information i{
    margin-left: 5px;
}
address, .phone-number{
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    align-items: center;
}













/*----------------------------------------- call us page -----------------------------------------*/
/*--------------------------------------------- main ---------------------------------------------*/
#contact-us-main h3{
    margin-bottom: 30px;
    text-align: center;
    width: 100%;
    font-size: 1.7rem;
}
.num-to-call-us, .email-to-call, .social-media-contact{
    text-align: center;
    width: 100%;
    margin-bottom: 40px;
    padding: 0 20px;
}
.email-to-call p{
    font-size: 1.4rem;
}
.social-media-contact{
    margin-bottom: 80px;
}
.number-wraper{
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
}
.number-wraper a{
    margin: 5px 0;
    font-size: 1.2rem;
}
.social-media-contact i{
    font-size: 2rem;
}
.send-message{
    padding: 0 35px;
}
#send-message-form{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.message-form-label{
    padding: 2px 5px;
    text-align: right;
    width: 90%;
    margin: 10px 0;
    border: 2px solid #2d3436;
    border-radius: 0.25rem;
    transition: all 0.5s ease;
}
.message-form-label:hover, .message-form-label:focus, .message-form-label:active{
    outline: none;
    -webkit-box-shadow: 0 5px 25px -10px var(--main-color);
    -moz-box-shadow: 0 5px 25px -10px var(--main-color);
    box-shadow: 0 5px 25px -10px var(--main-color);
}
#send-message-form .btn{
    margin-top: 10px;
}
.contact-page-message-state{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    text-align: center;
}

.message-deliverd{
    color: var(--main-color);
}

.message-not-send{
    color: #e84118;
}














/*---------------------------------------- about us page -----------------------------------------*/
/*--------------------------------------------- main ---------------------------------------------*/
#about-us-main img{
    width: 100%;
    height: auto;
}
.information-abou-us{
    padding: 20px;
}
#about-us-main p{
    line-height: 25px;
    text-align: right;
    margin: 30px 0 60px;
    width: 100%;
}
#about-us-main h3{
    width: 100%;
    text-align: center;
    font-weight: 700;
}
#about-us-main .who-are-we-h3{
    text-align: center;
    width: 100%;
}
.who-are-we-ul{
    width: 100%;
    text-align: center;
    margin: 10px 0 30px;
}
.who-are-we-ul li{
    font-size: 1.2rem;
}
.our-services{
    padding: 20px 35px;
    margin-bottom: 30px;
    margin-top: 20px;
}
.about-us-img{
    margin-bottom: 30px;
}
.achievment-card{
    background: var(--main-color);
    margin: 30px 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
}
#about-us-main .achievment-card p{
    margin: 10px 0;
    text-align: center;
}
#about-us-main .achievment-card img{
    width: 60%;
    margin-bottom: 10px;
}
@media only screen and (min-width: 768px){
    #about-us-main .who-are-we-h3{
        text-align: right;
    }
    .who-are-we-ul{
        text-align: right;
    }
}












/*---------------------------------------- error 404 page ----------------------------------------*/
/*--------------------------------------------- main ---------------------------------------------*/

#error404-main{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* padding: 9%; */
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}
#error404-main img{
    width: 90%;
    height: auto;
}

#error404-main a{
    font-size: 2rem;
    margin-top: 50px;
    font-family: sans-serif;
}

@media only screen and (min-width: 992px){
    #error404-main img{
        width: 60%;
    }
    #error404-main a{
        font-size: 3rem;
        margin-top: 30px;
    } 
}