/* Brightburn */

@font-face {
    font-family: 'BrightBurn';
    src: url('../fonts/BrightBurn.eot');
    src: url('../fonts/BrightBurn.eot') format('embedded-opentype'),
         url('../fonts/BrightBurn.woff2') format('woff2'),
         url('../fonts/BrightBurn.woff') format('woff'),
         url('../fonts/BrightBurn.ttf') format('truetype'),
         url('../fonts/BrightBurn.svg#BrightBurn') format('svg');
}


html, body {
    font-family: 'Nunito', sans-serif;
    font-weight: 100;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'BrightBurn';
    font-weight: 400;
    color: #5B3428;
}
    h1 {
        font-size: 60px;
    }

    h2 {
        font-size: 48px;
    }

    h3 {
        font-size: 36px;
    }

    h4 {
        font-size: 28px;
    }

    h5 {
        font-size: 24px;
        padding: 0;
        margin: 0;
    }

/* Nav section */
.navHeader {
    width: 100%;
    height: 50%;
    justify-content: center;

    /* Hero image as a background */
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.485), rgba(128, 0, 128, 0), rgba(128, 0, 128, 0)), url(../images/banners/banner-menu-patrons.png);
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
}

.navHeaderContainer {
    display: flex;
    justify-content: space-between;
    margin-left: min(10%, 186px);
    margin-right: min(10%, 186px);
    border-bottom: solid 1px #e1e1e1;
    }

.headerLogoContainer {
    padding: 1rem 0 1rem 0;
    }

.headerLogo img {
    max-width: 200px;
    min-height: 20px;
    }

.menuButtons {
    display: flex;
    gap: 3rem;        
    }

li {    
    /* remove bullet points */
        list-style-type: none;
    }
    
/* Responsive behavior of Nav Header (TABLET) */
@media only screen and (max-width: 768px) {
    .headerLogoContainer {
        display: flex;
        justify-content: center;
        width: 100%;
        padding: 1.5rem 0 0 0;
    }

    .headerLogo img {
        align-self: center;
    }
    
    .navHeaderContainer {
        display: flex;
        flex-wrap: wrap;
        }
    
    .navMenu {
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 1.5rem 0 1rem 0;
    }    

    .menuButtons {
        display: flex;
        justify-content: center;
        gap: 4rem;
        padding: 0;
        margin: 0;
    }

    .navButtons li {
        margin: 0;
        padding: 0;
        text-align: center;
    }

    .menuButtons li {
        margin-right: 0;
        }
    }

/* Responsive behavior of Nav Header (MOBILE) */
@media only screen and (max-width: 480px) {
    .menuButtons {
        gap: 2.5rem;
    }
}

    /* Link color and weight */
    .menuButtons li a {
        color: white;
        font-size: 18px;
        font-weight: 800;
        text-shadow: 2px 2px 4px #000000aa;
        
        /* remove underline */
        text-decoration: none;
        }
    
    .menuButtons li a:hover {
        color: #A1B88F;
        font-weight: 800;
        }

/* Hero label - Headline and links */
    .heroLabel {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 100%;
        height: 50%;
        margin-top: 3%;
    }    

    .headline {
        color: white;
        font-size: 60px;
        font-weight: 50;
        text-align: center;
        margin-top: 20%;
        padding-top: 5rem;
        margin-bottom: 2rem;
        margin-bottom: 2rem;
        width: 100%;
        height: 50px;
    }

    .heroButtons {
        display: block;
        box-sizing: border-box;
        justify-content: space-between;
        transition: all 0.3s ease-out;
    }   

    .heroButtons a {
        color: white;
        padding: 4px;
        text-align: center;
        text-decoration: none;
        font-size: 1.125rem;
        }

    .buttonHumans {
        background: rgba(68, 119, 43, 90%);
        border-radius: 1.25rem;
        border: none;
        width: 150px;
        height: 3rem;
        margin-right: 1rem;
        }

    .buttonCat {
        background: rgba(91, 52, 40, 25%);
        border: 1px;
        border-style: solid;
        border-color: #44772B;
        border-radius: 1.25rem;
        width: 150px;
        height: 3rem;
        }

        .buttonCat:hover {
            background: rgba(51, 89, 32, 90%);
            border: none;
            transition: all 0.5s ease-in;
        }

/* Responsive behavior of Hero label (MOBILE) */
@media only screen and (max-width: 480px) {
    .navHeader {
        height: 55%;
   }

   .headline {
    padding-top: 0;
    font-size: 52px;
    margin-bottom: 1rem;
}
}

/* Menu section */
.Menu {
    display: flex;
    flex-direction: column;
    margin-left: min(10%, 186px);
    margin-right: min(10%, 186px);
    gap: 1rem;
}

/* Menu section titles */
.Menu h2 {
    margin: 0;
    padding: 0;
    margin-top: 2rem;
}

/* Menu divider line */
hr.menuLine {
    border: 0.5px solid #D5C7C3;
    margin-left: min(10%, 186px);
    margin-right: min(10%, 186px);  
}

.menuRow {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
    margin-bottom: 2rem;
    
}

/* Individual cards */
.Card {
    display: flex;
    flex: 25%;
    flex-direction: column;
    background-color: #EFEBEA;
    border-radius: 1.5rem;
    border: 1px solid #44772B;
    transition: 0.3s;

    img {
        display: flex;
        width: 100%;
        border-radius: 1.5rem 1.5rem 0 0;
        flex-grow: 1;
    }
}

.productDetail {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 1.5rem 1rem 1.5rem
}

.productName {
    display: flex;
    margin-top: 1rem;
    justify-content: center;
    text-align: center;
}

.itemContainer {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 250px;
    word-wrap: break-word;

    .itemDescription {
    min-height: 80px;
    }
}

.priceContainer {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
}

.Size {
    font-size: 14px;
    text-align: center;
    padding: 0;
}

.Price {
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    padding: 0;
    margin: 0;
}

.itemPrice {
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    padding: 0;
}

/* Hover on Card effect */
.Card:hover {
    transform: scale(1.025);
    transition: 0.3s;
    box-shadow: 4px 8px 16px 0 rgba(0,0,0,0.6);
}

/* Responsive behavior for cards (TABLET) */
@media only screen and (max-width: 768px) {
    .menuRow {
        display: flex;
        flex-wrap: wrap;
    }
    
    .Card {
        flex: 40%;
    }
}

/* Responsive behavior for cards (MOBILE) */
@media only screen and (max-width: 480px) {
    .menuRow {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .Card {
        min-height: 480px;
    }

    .itemContainer {
        min-height: min-content;
    }

    .priceContainer {
        margin-top: auto;
        margin-bottom: auto;
    }

    .itemDescription {
        min-height: auto;
    }

    .itemPrice {
        margin-bottom: 0;
    }
}

/* Join the Black Cat Coffee Club section */
.membership {
    display: flex;
    flex-direction: column;

    background-image: url(../images/banners/banner-member.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: initial;
}

.membershipMargin {
    height: 3rem;
}

.membershipContainer {
    display: flex;
    background-color: #5b3428e0;
    background-size: cover;
    align-self: center;
    margin-left: min(10%, 186px);
    margin-right: min(10%, 186px);
    border-radius: 24px;
    width: 50%;
    padding: 1rem 1rem 1.5rem 1.5rem ;

    h3 {
        color: #FFEBC2;
        text-shadow: 2px 2px 4px #000000e0;
        text-align: center;
        margin-bottom: 1rem;
    }

    p {
        color: white;
        font-weight: 300;
        text-align: center;
    }

.form {
    text-align: center;
}

.form label {
    border-radius: 8px;
    height: 48px;
}

.form button {
    background-color: #44772B;
    border-radius: 8px;
    border: none;
    padding: 4px 16px 4px 16px;
    color: #CFDAC5;
}

.form button:hover {
    background-color: #CFDAC5;
    color: #44772B;
    transition: 0.3s;
    transform: scale(1.0125);
}

}

/* Responsive behavior for Membership container (TABLET and MOBILE) */
@media only screen and (max-width: 768px) {
    .membershipContainer {
        width: 75%;
        margin-left: min(10%, 186px);
        margin-right: min(10%, 186px);
    }
}

/* Footer */
.footer {
    display: flex;
    background-color: #5B3428;
    background-size: cover;
    background-position: center;
    background-repeat: initial;
    display: flex;
}

.footerContainer {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 2rem;
    color: white;
    margin-left: min(10%, 186px);
    margin-right: min(10%, 186px);
}

.footerRow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 1.25rem;
}

.footerLinksContainer {
    display: flex;
    flex-direction: column;
    margin-right: 1rem;

    a {
        color: white;
        text-decoration: none;
        line-height: 25px;
    }

    a:hover {
        color: #A1B88F;
        font-weight: 400;
    }
}

.footerTitle {
    font-size: 18px;
    font-weight: 600;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 0;
    color: #A1B88F;

    .footerLinks {
        margin-top: 4px;
    }
}

.footerHours {
    margin-right: 1rem;

    ul {
        margin-top: 4px;
        margin-left: 0;
        padding-left: 0;
    }

    li {
        list-style-type: none;
        margin: 0;
    }

    .direction {
        margin-top: 4px;
    }
}

.googleMap {
    display: flex;
}

iframe {
    border-radius: 1rem;
    margin-top: 0.5rem;
}

.footerLegals {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    font-size: 14px;
    padding-bottom: 1rem;

    .footerLegal {
        margin-top: 1rem;
        color: #AC928A;
    }

    .footerIcons {
        margin-top: .75rem;
        
        a {
            margin-right: 1rem;
        }
    }
}

hr.footer {
    border: 0.5px solid #856257;
    margin-top: 1rem;
}

/* Responsive behaviour for footer (TABLET) */
@media only screen and (max-width: 900px) {
    .footerContainer {
        display: flex;
        margin-left: min(10%, 186px);
        margin-right: min(10%, 186px);
        padding: 0;
        margin-top: 2rem;
    }

    .footerRow {
        flex-wrap: wrap;
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .footerLogo {
        display: flex;
        width: 100%;
        margin-bottom: 1rem;
    }

    .footerLegal {
        width: 55%;
    }

    .googleMap {
        flex: 1;
    }

    .googleMap iframe {
        width: 100% !important;
        height: 100% !important;
    }
}

/* Responsive behaviour for footer (MOBILE) */
@media only screen and (max-width: 480px) {
    .footerRow {
        flex-direction: column;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .googleMap {
        width: 100%;
    }
}

.footerIcons {
    display: flex;
    flex-direction: row;

    .fb:hover {
        transition: 0.3s;
        mix-blend-mode: color-dodge;
        transform: scale(1.125);
    }

    .ig:hover {
        transition: 0.3s;
        mix-blend-mode: color-dodge;
        transform: scale(1.125);
    }

    .tiktok:hover {
        transition: 0.3s;
        mix-blend-mode: color-dodge;
        transform: scale(1.125);
    }

    .x:hover {
        transition: 0.3s;
        mix-blend-mode: color-dodge;
        transform: scale(1.125);
    }

}
