:root {
    --gradient-color: #f7cc77;
    --logo-color: #111;

    --header-min-height: 100vh;
    --section-min-height: 80vh;

    /* Font Sizes */
    --fs-default: 16px;

    --step-0: clamp(1rem, 0.8rem + 0.25vw, 18px);
    --step-1: clamp(1.25rem, 1rem + 0.35vw, 1.5rem);
    --step-2: clamp(1.5rem, 1rem + 0.5vw, 1.75rem);
    --step-3: clamp(1.65rem, 1.5rem + 0.5vw, 2.25rem);
    --step-4: clamp(2rem, 1.75rem + 1vw, 3rem);
    --step-5: clamp(2.5rem, 2rem + 1.5vw, 3.75rem);

    --fs-h1: var(--step-5);
    --fs-h2: var(--step-4);
    --fs-h3: var(--step-3);
    --fs-h4: var(--step-2);
    --fs-h5: var(--step-1);
    --fs-h6: var(--step-0);
    --fs-paragraph: var(--fs-default);
    --fs-small: calc(var(--fs-paragraph * .8));

    
    --fs-title-lg: 6rem;
    --fs-subtitle: 1.25rem;
    --fs-blockquote: var(--fs-h5);

    /* Colors */

    --white: #fff;
    --gray-200: #F1F1F1;
    --gray-300: #C6C6C6;
    --gray-400: #909090;
    --gray-500: #6B6B6B;
    --gray-600: #525252;
    --gray-700: #3C3C3C;
    --gray-800: #262626;
    --black: #000;

    --color-light: var(--gray-400);
}

img, picture, video {
    max-width: 100%;
}

html {
    font-size: calc(15px + 0.390625vw);
    scroll-padding-top: 6rem;
}

html, body {
    font-family: 'Poppins', sans-serif;
}

h1, .h1, 
h2, .h2, 
h3, .h3, 
h4, .h4, 
h5, .h5, 
h6, .h6 
{
    text-wrap: balance;
}

h1, .h1 {
    font-size: var(--fs-h1);
}

h2, .h2 {
    font-size: var(--fs-h2);
    font-weight: 700;
}

h3, .h3 {
    font-size: var(--fs-h3);
    font-weight: 400;
}

h4, .h4 {
    font-size: var(--fs-h4);
    font-weight: 400;
}

h5, .h5 {
    font-size: var(--fs-h5);
    font-weight: 400;
}

h6, .h6 {
    font-size: var(--fs-h6);
    font-weight: 400;
}

p, 
li, 
input {
    font-size: var(--fs-paragraph);
}

small {
    font-size: var(--fs-h2);
    font-weight: 700;
}

.fw-semi-bold {
    font-weight: 600;
}

.ww-title {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    padding: 1rem;
}

.title-large {
    font-family: 'Bilbo Swash Caps', cursive;
    font-size: var(--fs-title-lg);
    color: var(--logo-color);
}

.title-large > .title-small {
    font-size: calc(var(--fs-title-lg));
}

.subtitle {
    font-size: var(--fs-subtitle);
    color: var(--logo-color);
    display: inline-block;
    margin-left: 15rem;
    margin-top: -1.3rem;
    font-style: italic;
}

.ww-header {
    width: 100vw;
    height: var(--header-min-height);
    min-height: 400px;
    background: url('./_assets/images/banner.JPG');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}
.ww-header-overlay {
    width: 100%;
    height: 100%;
    background-color: rgba(256,256,256,.75);
}

.ww-section {
    min-height: var(--section-min-height);
}

.ww-logo {
    font-family: 'Bilbo Swash Caps', cursive;
    color: var(--logo-color);
    font-size: 1.5rem;
    margin: 0;
}

.nav-item {
    font-size: .8rem;;
}

/* Product Gallery */

.ww-gallery {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 1rem;
}

.ww-gallery-item {
    max-width: 500px;
    width: calc(25% - 1rem);
    max-height: 500px;
    height: calc(25% - 1rem);
    object-fit: cover;
}

/* Blockquote */

.ww-blockquote {
    position: relative;
    /* font-family: 'Bilbo Swash Caps', cursive; */
    /* font-size: 2.5rem; */
    font-size: 1.5rem;
}

.ww-author {
    position: relative;
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 1.25rem;
    margin-top: 2rem;
    font-weight: 700;
}

.ww-blockquote::before {
    content: "";
    width: 40%;
    height: 15px;
    background-color: #aaa;
    position: absolute;
    top: -1.75rem;
    left: 0;
}


/* Image Grid */
.image-grid {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: auto auto;
    gap: 1rem;
    max-width: 100%;

}

/* Form */
.form-label {
 font-size: var(--fs-paragraph);
}

input {
    font-size: var(--fs-paragraph);
}


/* Price Cards */

.product-card {
    border: 2px solid var(--color-light);
    padding: 2rem;
    height: 100%;
}


/* Utilities */

.fw-bold {
    font-weight: 700;
}

.fw-semi-bold {
    font-weight: 600;
}

@media (max-width: 991px)
{
    .ww-blockquote {
        font-size: 1.25rem;
        margin-top: 5rem;
    }

}

@media (max-width: 800px)
{
    :root {
        --fs-title-lg: 4rem;
        --fs-h2: 2rem;
        --header-min-height: 600px;
    }

    .subtitle {
        margin-left: 0;
        margin-top: 0;
    }


    .ww-blockquote::before {
        height: 10px;
    }

    .ww-author {
        font-size: 1.25rem;
    }

    .ww-gallery-item {
        width: calc(50% - 1rem);
        height: calc(50% - 1rem);
    }
}

@media (max-width: 500px)
{
    :root {
        --fs-title-lg: 14vw;
        --fs-subtitle: 1rem;
        --fs-h2: 2.25rem;
        --header-min-height: 350px;
        --section-min-height: 300px;
    }

    .ww-title {
        padding-top: 75px;
    }
    
    .ww-gallery-item {
        width: 100%;
        height: auto;
    }

}