
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body::before{
    content: "";
    height: 150px;
    display: block;
}

h2{
    font-size: clamp(2rem, 1.7vw, 3rem);
    letter-spacing: .125rem;
    padding-top: 3rem;
}

.container {
    margin: 0 auto;
}

.mainNavBar{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #563928;
}

nav li{
    list-style-type: none;
}

nav a{
    font-size: 1rem;
    color: #c0ad9f;
    transition: 0.3s;
}

nav .space-x-6{
    gap: 2rem;
}

nav a:hover{
    color: #e27323;
}

.navLists{
    font-weight: bold;
    letter-spacing: .125rem;
}

.topItm{
    position: relative;
    height: min-content;
}

.subItm {
    max-width: max-content;
    position: absolute;
    top: 0;
    left: 0;
    margin-top: 25px;
    padding: 15px 10px;
    display: flex;
    flex-direction: column;
    background-color: #c0ad9f;
    display: none
}

.subItm a{
    padding-right: 1rem;
    line-height: 3rem;
    color: #311908;
}

.subItm a:hover{
    color: #e27323;
}

.topItm:hover .subItm{
    display: block;
    border: 1px solid #4A2C1A;
    transform: translateX(-10px);
    transform: translateY(-2px);
    z-index: 3;
}

.buyNowBtn {
    color: white;
    background-color: #e27323;
    padding: .5rem 1rem;
}

.buyNowBtn:hover {
    color: #311908;
}


/*mobile nav area*/

.hamburgerMenu{
    font-size: 4em;
    font-weight: bold;
}

.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    background-color: #000000;
    background-color: #000000c7;
    overflow-x: hidden;
    transition: 0.5s;
  }

  .overlay-content {
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
  }

  .overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 36px;
    color: #e27323;
    display: block;
    transition: 0.3s;
  }


.overlay a:hover, .overlay a:focus {
    color: #f1f1f1;
  }
  
  .overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 7em;
    color: white;
  }



@media only screen and (min-width: 1024px) {
    .hamburgerMenu{
        display: none;
    }
}

@media only screen and (max-width: 1023px) {
    div.topNav {
        display: none;
    }
}

@media screen and (max-height: 450px) {
    .overlay a {font-size: 20px}
    .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
    }
  }

  @media only screen and (max-width: 450px) {
    .mainNavBar .buyNowBtn{
        padding-left: .5rem!important;
        padding-right: .5rem!important;
    }
    .hamburgerMenu {
        transform: translateX(-20px);
    }

    .logo img{
        max-width: 85%;
    }
  }

/*end of mobile nav area*/

#hero{
    background-color: #c0ad9f;
    padding-top: 3rem;
}

#hero p{
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
    letter-spacing: .125rem;
}

.heroInfo{
    gap: 3rem;
}


.heroImg{
    width: 100%;
    display: flex;
    justify-content: end;
}

.heroImg img{
    width: 100%;
    height: auto;
}



@media only screen and (max-width: 770px) {
    .heroImg{
        justify-content: center;
    }

    #hero h1{
        text-align: center;
    }

    #hero {
        padding-bottom: 2rem;
    }
}


#myObject {
    transition: transform 0.3s ease-in-out;
}

#highlights{
    padding: 3rem 0;
    background-color: #c0ad9f;
}

#highlights h2{
    margin-bottom: 3rem;
}

.cardDiv{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 3rem;
    padding-bottom: 3rem;
}

.cardDiv > div{
    width: 300px!important;
    min-height: 400px;
    color: #c0ad9f;
    background-color: #4A2C1A;
    box-shadow: 3px 12px 7px #4a2c1a96;
}

.cardContent{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cardContent img{
    margin: 0 auto;
}

.cardContent:nth-of-type(1) {
    background-color: #311908;
}

.cardContent:nth-of-type(2) {
    background-color: #64605B;
}

.cardContent h3{
    font-size: clamp(1rem, 2.5vw + 1rem, 1.6rem)!important;
    text-align: center;
    letter-spacing: .125rem;
}

.cardContent p{
    font-size: clamp(1rem, 2.5vw + 1rem, 1.2rem);
    text-align: center;
    letter-spacing: .125rem;
}

.cardContent .buyNowBtn{
    max-width: max-content;
    align-self: center;
    margin-bottom: 2rem;
    border-radius: 50vw;
}


@media only screen and (max-width: 767px) {
    .cardContent h3, .cardContent p{
        text-align: start;
        padding-left: 1rem;
    }
}

#cafeOwner{
    padding: 3rem;
    background-color: #c0ad9f;
}

.ownerContent{
    display: flex;
}

.ownerImg{
    width: 50%;
}


.ownerMessage{
    width: 40%;
    margin: 0 auto;
    align-self: center;
}

.ownerContent h3{
    font-size: clamp(1.5rem, 1.7vw, 1.7rem);
    font-weight: bold;
    letter-spacing: .25rem;
    margin-bottom: 2rem;
}

.ownerContent p{
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
    letter-spacing: .2rem;
}

@media only screen and (max-width: 767px) {
    .ownerContent{
        flex-direction: column;
    }
    .ownerImg{
        width: 95%;
        align-self: center;
    }

    .ownerMessage{
        width: 90%;

    }
}


.testimonialArea{
    min-height: 500px;
    background-color: #c0ad9f!important;
}

.testimonialArea h2{
    font-size: clamp(2rem, 2.5vw, 2.2rem);
    padding-bottom: 2rem;
}

.carouselContent{
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.testimonialTitle{
    padding-left: 5rem;
}

.testimonialMessage{
    margin: 0 auto;
    padding-bottom: 2rem;
}

.testimonialArea button {
    font-size: 2rem!important;
    padding: 0 .5rem!important;
    cursor: pointer!important;
    background-color: #e27323!important;
}

.testimonialArea button:hover{
    color: #311908!important;
}

.dotsContainter{
    display: flex;
    flex-direction: row;
    gap: 2rem;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-100px);
}

.testimonialDots {
    height: 10px;
    width: 50px;
    background-color: #e27323!important;
}

.testimonialDots.is-active {
    background-color:#64605B!important;
}

footer{
    background-color: #563928;
}

.contactInfoNewsLetter{
    padding-top: 3rem;
    display: flex;
    gap: 2rem;
}

@media only screen and (max-width: 767px) {
    .contactInfoNewsLetter{
        flex-direction: column;
    }
    .contactDetails,
    .newsletterArea{
        width: 80%;
        margin: 0 auto;
    }
    .testimonialArea .max-w-3xl{
        width: 60%;
        margin: 0 auto;
    }
}
@media only screen and (max-width: 600px) {
    .testimonialArea .max-w-3xl{
        width: 90%;
        margin: 0 auto;
    }
}

.contactInfoNewsLetter .buyNowBtn{
    border-radius: 50vw;
    cursor: pointer;
}

.newsletterArea h2{
    font-size: clamp(1.7rem, 2.5vw, 2rem);
}

.newsletterArea p{
    font-size: clamp(1.5rem,2.5vw,1.8rem);
    color: #c0ad9f;
    padding-bottom:2rem;
}


footer h3{
    font-size: clamp(2rem, 1.2vw, 2.5rem);
    letter-spacing: .2rem;
    text-decoration: underline;
    text-underline-offset: 1rem;
    color: #ffffff;
}

.footerContent{
    min-height: 300px;
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.contactDetails{
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
    background-color: #c0ad9f;
    border-radius: .5rem .5rem;
    padding-top: 1rem;
}

.contactDetails li{
    list-style-type: none;
}

.titleInfo{
    font-weight: bold!important;
    text-transform: uppercase!important;
    letter-spacing: .2rem!important;
    color: #ffffff;
    padding-left: 1rem;
}

.titleDetails{
    font-size: clamp(.9rem, 2.5vw, 1rem);
}

.socialLinks a{
    font-size: clamp(3rem, 1.2vw, 1.4rem);
    color: #e27323;
}

.socialLinks a:hover{
    color: #ffffff;
}

.socialLinks a:nth-of-type(2) {
    margin: 0 2rem;
}

.copyD {
    color: #ffffff;
    padding-top: 3rem;
}

.copyD p:nth-of-type(3) {
    padding-top: 2rem;
    padding-bottom: 1rem;
}


.backgroundPaternSection{
    height: 300px;
    width: 100%;
}

.backgroundPatern {
    height: 300px;
    width: auto;
    background-image: url("images/pattern.png");
    background-position: center;
    background-size:contain;
    background-color: #c0ad9f;
}

@media only screen and (max-width: 767px) {
    .contactDetails{
        width: 90%!important;
    }
    .contactDetails div{
        max-width: 30ch;
        margin: 0 auto;
    }
    .titleInfo{
        padding-left: 0;
    }
}

/*The about page*/

.aboutHero {
    height:min-content;
}

.aboutInfo {
    min-height: 300px;
    float: left;
    position:absolute;
    top: 200px;
    padding-top: 1rem;
    padding-left: 3rem;
    padding-right: 3rem;
    background-color: #dbd6d2bf;
    z-index: 2;
}

.aboutHero h1{
    font-size: clamp(2rem, 2.5vw, 2.2rem);
    letter-spacing: .125rem;
    padding: 1rem 0;
}

.aboutInfo p{
    font-size: clamp(1.2rem, 1.7vw, 1.5rem);
    letter-spacing: .125rem;
    max-width: 35ch;
    padding-bottom: 1rem;
}

.aboutImg img{
    height: 600px;
    width: 100%;
    object-fit:cover;
    opacity: .8;
    z-index: 1;
}

.storySection{
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
}

.storySection img{
    max-width: 60%;
    padding: 2rem;
    display: flex;
    justify-content: center;
}

.breedersStory{
    background-color: #c0ad9f;
}

.storyIntro h2{
    font-size: clamp(1.7rem, 2.5vw, 2rem);
}

.breedersStory p{
    font-size: clamp(1.1rem,2vw,1.3rem)!important;
    max-width: 70ch!important;
    letter-spacing: .2rem!important;
}

.midStory {
    flex-direction: row-reverse!important;
}

.lastPart{
    padding-bottom: 4rem;
}

@media only screen and (max-width: 767px) {
    .breedersStory img{
        width: 50%;
        height: auto;
    }
    .midStory{
        flex-direction: column!important;
    }
}

@media only screen and (max-width: 500px) {
    .aboutInfo{
        top: 100px;
    }
    .aboutInfo p{
        font-size: clamp(1rem, 2.5vw, 1.1rem);
    }
}

/*end of the about page*/

/*coffee page*/

.mainNavBar{
    z-index: 100;
}


.productOfferings::before{
    display: block;
    content: '';
    height: 200px;
}

.coffeeOptions{
    width: 100%;
    background-color: #c0ad9f;
    padding: 3rem 0;
}

.coffeeSection{
    width: 40%;
    display: flex;
}

.sideBar h2{
    font-size: clamp(1.7rem, 2.5vw, 1.8rem);
    padding-bottom: 2rem;
    text-decoration: underline;
    text-underline-offset: 1rem;
    font-weight: bold;
}

.sideBar ul{
    font-size: clamp(1.2rem, 2.5vw, 1.4rem);
    line-height: 3rem;
    letter-spacing: .2rem;
}

.sideBar {
    border-right: 1px solid #e27323;
    border-bottom: 2px solid #e27323;
    box-shadow: 3px 12px 7px #4a2c1a96;
}

.coffeeSection .sideBar{
    width:100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.coffeeImgs{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex-basis: content;
}

.coffeeImgs img{
    width: 250px;
    height: auto;
}

.productDisplay{
    margin: 0 .5rem;
}

.productDisplay .status{
    background-color: #e27323;
}

.item{
    padding-bottom: 2rem;
}

@media only screen and (max-width: 1026px) {
    .coffeeRow {
        flex-direction: column;
    }
    .sideBar h2{
        text-decoration: none;
        position: relative;
        padding-right: 1rem;
    }
    .sideBar h2::after{
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        height: 50px;
        width: 2px;
        background-color: black;
        transform: translateY(-15px);
    }

    .coffeeSection {
        width: 90%;
        margin: 0 auto;
    }
    .coffeeSection .sideBar{
        flex-direction: row;
        justify-content: center;
        align-items: baseline;
    }

    .sideBar ul {
        display: flex;
        gap: 10px;
        padding-left: 1rem;
    }

}


.productOfferings{
    width: 100%;
    min-height: 800px;
    background-color: #c0ad9f;
}


.productListing button.status{
    background-color: #e27323!important;
}

.productListing{
    margin: 0 1rem;
}


.filterListContainer label{
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
}

.filterItem{
    width:fit-content;
    word-break: break-all;
}

.filterItem:nth-of-type(3) {
    padding-bottom: 4rem;
}


.productRow{
    width: 100%;
}

.filterArea{
    width: 20%;
    min-height: 400px;
    padding-left: 2rem;
    background-color: #64605B;
    float: left;
    display: grid;
    align-content:stretch;
}

.filterArea h3{
    font-size: clamp(1.7rem, 2.5vw, 2rem);
    padding-top: 2rem;
}

.productItems{
    max-width: 80%;
    float: right;
}

.productOfferings::after{
    content: '';
    display: block;
    clear: both;
}


.accessories img{
    height: 300px;
    width: auto;
    object-fit: contain;
}

@media only screen and (min-width: 1000px) {
    .filterArea h3{
        padding-bottom: 3rem;
    }
}

@media only screen and (max-width: 1000px) {
    .filterArea{
        width: 100%;
        min-height: max-content;
        display: flex;
        align-items: baseline;
        padding-top: 2rem;
    }
    
    .productItems{
        max-width: 100%;
        float: none;
    }

    .filterListContainer{
        display: flex;
        align-items: baseline;
        margin: 0 5%;
        gap: 2rem;
    }
    div.filterArea{
        position: fixed;
        top: 50px;
        left: 0;
        z-index: 4;
    }
}

@media only screen and (max-width: 900px) {
    .filterArea h3{
        padding-top: 0;
    }

    .filterArea{
        padding: 0;
        padding-top: 2rem;
        margin: 0;
        min-height:50px;
    }

    .filterItem:nth-of-type(3){
        padding-bottom: 0;
    }

}

@media only screen and (max-width: 767px) {
    .productListing{
        max-width: 65%!important;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 650px) {
    .filterArea{
        flex-direction: column;
    }
}

@media only screen and (max-width: 522px) {
    #filters-container div{
        display: flex;
    }
}

/*the attire page*/

.attireIcon {
    margin-bottom: 3rem!important;
}


/*The menu page*/

.menuPage{
    background-color: #c0ad9f;
}

.menuPage article {
    padding: 2rem 0;
}

.menuPage article:nth-of-type(1){
    border-top: 1px solid #4A2C1A;
}

.tab {
    display: flex;
}

.tab button{
    font-size: 1.5rem;
    padding: 1rem 2rem;
    background-color: #4A2C1A;
    color: #ffffff;
}

.tab button:hover{
    background-color: #c0ad9f;
    outline: 2px solid #4A2C1A;
}

.tab button.active {
    background-color: #c0ad9f;
    outline: 2px solid #4A2C1A;
}


.tabcontent {
    display: none;
}

.tabcontent p{
    font-size: clamp(1.7rem, 2.5vw, 2.1rem);
    letter-spacing: .3rem;
    font-weight: bold;
}

.tabcontent figcaption{
    font-size: clamp(1.2rem, 2.5vw, 1.3rem);
    letter-spacing: .25rem;
    padding-top: 1rem;
}

/*contact page*/


.contactPage {
    background-color: #c0ad9f;
    min-height: 500px;
    padding-top: 3rem;
}


.headerInfo {
    padding-top: 4rem;
}

.contactForm {
    max-width: 100%!important;
    padding: 3rem 0;
}

.contactForm input[type="text"],
.contactForm textarea{
    width: 100%;
    margin: 1rem 0;
    padding-left: 1rem;
    resize: none;
}

.contactForm input[type="text"] {
    min-height: 3rem;
}

.contactForm p:not(.error) {
    font-size: clamp(1.5rem, 2.5vw, 1.7rem);
}

.formButton{
    padding: .5rem 2rem;
    display: flex;
    justify-content:flex-start;
    background-color: #e27323!important;
    color: #ffffff!important;
    border: none!important;
    border-radius: 50vw;
    margin-top: 1rem;
}

.error{
    color: #fd0000;
    font-size: 1.5rem;
}
.error.active {
    padding: 1rem;
    background-color: white;
}

form button:hover {
    color: #4A2C1A!important;
}


.headerInfo h3{
    font-size: clamp(2.2rem,2.5vw, 2.5rem);
    letter-spacing: .3rem;
    font-weight: bold;
    padding-bottom: 1rem;
}

.headerInfo p{
    max-width: 30ch;
    font-size: clamp(1.2rem, 2.5vw, 1.4rem);
    letter-spacing: .25rem;
    line-height: 2.5rem;
}

/*conformation page*/

.conformationPage {
    position: relative;
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #c0ad9f;
    z-index: 1;
    padding-bottom: 5rem;
}

.conformationPage strong{
    font-size: clamp(1.2rem, 2.5vw, 1.5rem);
    text-transform: uppercase;
}

.conformationPage span{
    font-size: clamp(1.7rem, 2.5vw, 2rem);
    letter-spacing: .2rem;
    background-color: white;
    padding: 1rem;
}

.conformationPage h2{
    margin-bottom: 2rem;
}

.conformationPage .box p{
    line-height: 5rem;
}

.conformationPage .box{
    margin-bottom: 1rem;
}

.conformationPage .closingMessage{
    margin-top: 2rem;
}

.conformationPage .closingMessage p{
    font-size: clamp(1.7rem, 2.5vw, 2rem);
    max-width: 30ch;
    margin-bottom: 2rem;
}

.conformationPage a{
    text-decoration: none;
    padding: 1rem 2rem;
    border-radius: 50vw;
    background-color: #e27323;
    color: white;
    outline: 3px solid #d1edfc;
}

.conformationPage a:hover{
    color: #4A2C1A;
    text-decoration: underline;
    text-underline-offset: 5px;
}

.conformationPage .backgroundPatern{
    width: 100vw;
    height: 20vh;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    isolation: isolate;
}


@media only screen and (max-width: 1000px) {
    .mainNavBar #navItems{
        max-height: 40px;
    }
    body::before{
        content: "";
        height: 50px;
        display: block;
    }

}