@charset "utf-8";
/*
    -------------------------------------------------------------------
        Theme Name: Prospector's Nursery 2025
        Theme URI: https://prospectorsnursery.com
        Author: GCSolutions
        Author URI: https://gardencentersolutions.com
        Description: Hydrangea Theme for GCS, Modified for Prospectors
        Tags: custom
        Version: 1.3.0
        Requires at least: 6.3
        Tested up to: 6.8
        Requires PHP: 8.1
    -------------------------------------------------------------------
*/

/* General Imports
-------------------------------------------------------------------*/
@import url('css/bootstrap.css');
@import url('wp-paginate.css');
@import url('css/aos.css');
@import url('fonts/stylesheet.css');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');


/* Root
-------------------------------------------------------------------*/
:root {
    --white: #FFF;
    --black: #222;
    --med-grey: #444;
    --light-grey: #cecece;
    --dark-green: #034702;
    --med-green: #34a51b;
    --light-green: #42c502;
    --brand-primary: #8959a1;
    --ff-accent: 'EB Garamond', serif;
    --ff-default: 'Open Sans', sans-serif;
    --ff-fancy:  'Ex Ponto Pro', serif;
}

/* HTML
-------------------------------------------------------------------*/
html {
    font-size: 62.5%;
}

/* Body
-------------------------------------------------------------------*/
body {
    background: var(--white);
    color: var(--black);
    font-family: var(--ff-default);
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.5;
}

    @media screen and (max-width: 991px) {
        body {
            padding-top: 95px;
        }
    }

    @media screen and (max-width: 575px) {
        body {
            padding-top: 98px;
        }
    }

/* Formatting
-------------------------------------------------------------------*/
h1, h2, h3 {
    font-family: var(--ff-accent);
}

h2, h3 {
    font-size: 3.5rem;
    font-weight: 600;
}

    @media screen and (max-width: 1199px) {
        h2, h3 {
            font-size: 3rem;
        }
    }

    @media screen and (max-width: 991px) {
        h2, h3, h2.h5 {
            font-size: 3rem;
        }
    }

a:link, a:visited, a:active, a:hover {
    color: var(--dark-green);
    background: none;
    text-decoration: none;
}

.form-control {
    border: 1px solid var(--med-grey);
    font-weight: 400;
    background-color: var(--white);
    color: var(--black);
    font-size: 1.8rem;
    border-radius: 0;
}

.btn-custom, a.btn-custom:link, a.btn-custom:active, 
a.btn-custom:visited, a.btn-custom:focus {
    background: var(--dark-green);
    border-color: var(--dark-green);
    color: var(--white);
    font-size: 1.8rem;
    padding: .5em 1em;
    border-radius: 0;
}

.btn-custom:hover {
    color: var(--white);
    background: var(--black);
    border-color: var(--black);
}

.accent {
    color: var(--dark-green);
}

strong, b, .bold, .strong {
    font-weight: 700;
}

.fs-sm, .text-sm {
    font-size: 1.2rem;
    overflow-wrap: break-word;
}

.text-accent {
    color: var(--pink-one);
}

.text-black, .dark {
    color: var(--black);
}


*:focus {
    outline: revert;
}


input:focus,
textarea:focus,
select:focus {
    outline: 2px solid #0066cc;
    outline-offset: 2px;
    border-color: #ff0000;
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #0066cc;
    outline-offset: 2px;
}

/* Images
-------------------------------------------------------------------*/
img.alignright {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
}

img.alignleft {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
}

/* Backgrounds
-------------------------------------------------------------------*/
.bg-white {background: var(--white);}
.bg-dark {background: var(--black);}
.bg-light-grey {background: var(--light-grey);}
.bg-light-green {background: var(--light-green);}
.bg-med-green {background: var(--med-green);}
.bg-dark-green {background: var(--dark-green);}
.bg-brand-primary, .bg-brand-purple {background: var(--brand-primary);}


/* Main Header
-------------------------------------------------------------------*/
.top-bar {
    font-size: 1.3rem;
    padding-top: .75em;
    padding-bottom: .75em;
}

.socials a {
    color: var(--black);
    text-decoration: none;
}

    @media screen and (max-width: 991px) {
        .socials-mobile {
            text-align: center;
            font-size: 2rem;
            padding-bottom: 1em;
        }
        .socials-mobile a {
            color: var(--white);
            text-decoration: none;
        }
    }

#above-nav {font-size: 1.6rem;}

@media screen and (max-width: 1199px) {
    #above-nav {font-size: 1.4rem;}
}

/* Intro  Links
-------------------------------------------------------------------*/
.intro-links p {
    margin: 0;
    padding: 0;
}

@media screen and (max-width: 575px) {
    .intro-links {
        font-size: 1.6rem;
    }

    .intro-links span {
        display: block;
    }
}

/* Navigation
-------------------------------------------------------------------*/
.navbar {
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 400;
    padding: 1em 0;
    text-transform: uppercase;
}

.navbar-nav {
    border-radius: 3px;
}

.navbar .nav-item a.nav-link {
    padding-left: 1em;
    padding-right: 1em;
    color: var(--white);
    font-size: 1.6rem;
}

.nav-link {
    font-size: 1.4rem !important;
}

.navbar .nav-item a.nav-link:hover {
    color: var(--black);
}

@media screen and (max-width: 1399px) {
    .navbar {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 1199px) {
    .navbar {
        font-size: 1.4rem;
    }

    .navbar-brand img {
        max-height: 65px;
    }
}

@media screen and (max-width: 991px) {
    .navbar-brand img {
        height: 100%;
        max-height: 65px;
    }

    .navbar-nav {
        padding: 1em 0;
    }

    .navbar .nav-item a.nav-link {
        padding-left: 0;
        padding-right: 0;
    }
}

.contact-mobile {
    color: var(--white);
    font-size: 1.4rem;
}

.contact-mobile p {
    padding: 10px 0;
}

.contact-mobile a {
    color: var(--white);
}

.contact-mobile hr {
    border-color: var(--med-grey);
}

.the-mobile-menu .menu-item {
    padding-top: 10px;
    padding-bottom: 10px;
}

#navigation .divider {
  color: var(--white);
  margin: 0 8px;
  font-weight: normal;
}

.mega-menu-wrap .mega-sub-menu > span.divider {
  display: none !important;
  visibility: hidden !important;
}

.masthead-social p {
    font-size: 16px;
    color: var(--med-grey);
    margin-right: 00px;
    margin-top: 20px;
    margin-bottom:0;
}

.masthead-social p a img:hover {
        border-radius: 50%;
        box-shadow: 0 0 6px #c0c0c0;
}

/* Mobile Header */
 /* --- Mobile header shrink styles --- */
    .mobile-header .navbar {
      background-color: var(--brand-primary);
      transition: all 0.3s ease;
      padding: 0.8rem 1rem;
    }

    .mobile-header.shrunk .navbar {
      padding: 0.3rem 1rem;
    }

    .mobile-header .navbar-brand img {
      max-height: 78px;
      transition: all 0.3s ease;
    }

    .mobile-header.shrunk .navbar-brand img {
      max-height: 58px;
    }

    .mobile-header .navbar-toggler i {
      color: #fff;
      transition: all 0.3s ease;
    }

    .mobile-header .offcanvas {
      background-color: var(--black);
    }

    .offcanvas-body {
        padding: 0 1.5em;
    }

    .mobile-header .offcanvas-title {
      color: #fff;
      font-family: var(--ff-accent);
      font-size: 1.5rem;
    }

    .mobile-header .form-control {
      border-radius: 0;
      border: none;
    }

    .mobile-header .navbar-nav li a {
      color: #fff !important;
      font-weight: 600;
      text-decoration: none;
    }

    .mobile-header .navbar-nav li a:hover {
      text-decoration: underline;
    }
    
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    background: var(--med-grey);
    color: var(--white);
    border-color: var(--white);
    font-size: 1.8rem;
}

div.offcanvas-body .form-control {
    border: 1px solid var(--white);
}

.offcanvas .form-control::placeholder {
    color: #ffffff;
    opacity: 1;
}

.offcanvas .form-select::placeholder,
.offcanvas textarea::placeholder {
    color: #ffffff;
    opacity: 1;
}

div.offcanvas-body a:link, div.offcanvas-body a:visited, div.offcanvas-body a:active, div.offcanvas-body a:hover, 
div.offcanvas-body {
    color:var(--white) !important;
}



/* Home Page */
.store-hours p {
    padding: 0px 15px;
    color: var(--med-grey);
    font-size: 16px;
}

/* Hemmingway
-------------------------------------------------------------------*/
.hem-box {
    width: 100%;
    height: 100%;
    background: var(--dark-green);
}

.hem-box figure.home-hem {
    width: 100%;
    height: 250px;
	margin: 0 !important;
}

.hem-box figure.home-hem img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.hem-box img {
    background-color: var(--white);
    object-fit: cover;
}

.hem-box:hover img {
    filter: opacity(50%);
}

.hem-box h3 {
    display: block;
    width: 100%;
    font-size: 3.5rem;
    text-align: center;
    color: var(--white);
    background: var(--dark-green);
    padding: .5em;
    margin: 0;
    font-family: var(--ff-fancy);
}

.hem-box:hover h3 {
    background-color: var(--med-green);
}

.hem-box a {
    color: var(--white);
    text-decoration: none;
}

    @media screen and (max-width: 991px) {
        .hem-box h3 {
            font-size: 2rem;
        }
    }

    @media screen and (max-width: 991px) {
        .hem-box h3 {
            font-size: 2rem;
        }
    }


/* Default Pages
-------------------------------------------------------------------*/
.bg-page-banner {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    padding: 2em 0;
    z-index: 1;
}

.bg-page-banner .container {
    z-index: 15 !important;
}

.bg-page-banner .py-10 {
    padding-top: 5em;
    padding-bottom: 5em;
}

.bg-page-banner h1 {
    z-index: 10;
    color: var(--black);
    font-size: 7rem;
    padding: .2em .5em;
    font-family: var(--ff-fancy);
    background: rgba(255, 255, 255, .8);
    display: inline;
    margin: 0;
}

    @media screen and (max-width: 991px) {
        .bg-page-banner h1 {
            display: block;
            width: 100%;
            font-size: 5rem;
            text-align: center;
        }
    }

.bg-page-no-banner h1 {
    z-index: 10;
    color: var(--black);
    font-size: 7rem;
    text-align: left;
    font-family: var(--ff-fancy);
    font-weight: 700;
}

.map-embed p {
    padding: 0;
    margin: 0;
}
.map-embed iframe {
    width: 100%;
    height: 350px;
    margin: 0;
    padding: 0;
}

/* Articles
-------------------------------------------------------------------*/
.bg-article {
    background: var(--light-grey);
}

figure.blog-thumbnail {
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    overflow: hidden;
}

figure.blog-thumbnail a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

figure.blog-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

a.btn-category:link, a.btn-category:hover, a.btn-category:visited,
a.btn-category:active, a.btn-category:focus {
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    border-color: var(--brand-primary);
    background-color: var(--white);
    color: var(--brand-primary);
    border-radius: 5px;
}

.article-meta {
    font-size: 1.3rem;
    text-transform: uppercase;
}

.article-title h3 {
    font-size: 3rem;
    text-decoration: none;
}

.article-title a {
    color: var(--black);
    text-decoration: none;
}

.article-continue {
    text-align: left;
}

.article-continue a.read-more {
    display: inline-block;
    background: var(--dark-green);
    color: var(--white);
    padding: .5em 1em;
    margin: 0 0 0 auto;
    text-decoration: none;
    font-size: 1.6rem;
    border-radius: 5px;
}

.bg-blog-no-banner h1 {
    z-index: 10;
    color: #000;
    font-size: 5rem;
    text-align: center;
}

.sub_content {
    float: left;
    width: 70%;
}

.img_content {
    float: right;
    width: 25%;
}

.img_content img {
    width: 100%;
    height: 100%;
    max-height: 300px;
    object-fit: cover;
    background-color: #EEE;
}

    @media screen and (max-width: 991px) {
        .sub_content, .img_content {
            float: none;
            width: 100%;
        }

        .img_content img {
            float: left;
            width: 32%;
            height: 100%;
            max-height: 200px;
            margin-right: 1%;
        }
    }

    @media screen and (max-width: 768px) {
        .article-continue {
            text-align: left;
            padding-top: 1em;
        }
    }

/* Gallery Pages
-------------------------------------------------------------------*/
.gallery-box h3 {
    font-size: 3rem;
    padding: 0;
    line-height: 1;
    margin: .75em 0;
}

.gallery-box h3:after {
    content: '';
    width: 125px;
    height: 2px;
    display: block;
    margin: 15px auto 0 0;
    background-color: var(--black);
}

.gallery-box p {
    margin: 0 0 1em 0;
    padding: 0;
}

@media screen and (max-width: 991px) {
    .gallery-box h3 {
        font-size: 2rem;
    }
}

#our-brands .img-greyscale {
    filter: grayscale(1);
}

#brand-logo-carousel img {
    filter: grayscale(1);
}

#brand-logo-carousel img:hover {
    filter: grayscale(0);
}

/* Contact Page*/
.contact-page-map-area h1 {
    text-align: left;
    margin: 20px 0 6px 0px;
    font-size: 20pt;
    font-style: italic;
    line-height: 1.3em;
}

/* Products */
.gallery-box img{
    border: 2px solid #cfcfcf;
}
/* Uniform square gallery thumbnails */
.gallery-thumb-wrapper {
  aspect-ratio: 1 / 1;           /* square shape; change to 4/3 or 3/4 if desired */
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;        /* match your site's bg color */
  border-radius: 6px;
}

/* Consistent image scaling and cropping */
.gallery-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* Optional zoom hover effect */
.gallery-thumb-wrapper:hover .gallery-thumb {
  transform: scale(1.05);
}

.modal.lightbox .ratio[style] {
  background-color: transparent !important;
}

/* Footer
-------------------------------------------------------------------*/
footer {
    color: var(--med-grey);
    font-size: 1.4rem;
}

.footer p {
    padding: 0;
    margin: 0;
}

footer a, footer a:link, footer a:active, footer a:visited {
    color: var(--med-grey);
    text-decoration: none;
}

footer img {
    max-height: 40px;
}

@media screen and (max-width: 768px) {
    .footer-images {
        padding-top: 1em;
    }
    .footer-images img {
        display:  block;
        margin: 0 auto;
    }
}

/* Modal
-------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    .modal-button {
        background: var(--brand-primary) !important;
        display: block;
        width: auto;
        padding: 15px 5px;
        text-align: center;
        color: var(--white) !important;
        border: 0;
        margin: 1em auto;
    }
}

.modal-content {
    background: var(--white);
    color: var(--black);
    border-radius: 0;
    border-bottom: 0;
}
.modal-header{
    position: absolute;
    right: 15px;
    top: 15px;
    z-index: 1;
    border:0;
}
.modal-header h5 {
    font-size: 2.25rem;
    font-weight: 600;
    font-family: var(--ff-accent);
}

.modal-content {
    border-radius: 0;
    padding-bottom: 1em;
}

.modal-body {
    font-size: 1.6rem;
}

/* Back to Top
-------------------------------------------------------------------*/
.scrolltop {
    display: none;
    width: 100%;
    margin: 0 auto;
    position: fixed;
    right: 1%;
    bottom: 0%;
    z-index: 1070;
}

@media screen and (max-width: 768px) {
    .scrolltop {
        right: 3%;
    }
}

.scroll {
    position: absolute;
    right: 1px;
    bottom: 0px;
    background: var(--brand-primary);
    -webkit-border-top-left-radius: 10px;
    -webkit-border-top-right-radius: 10px;
    -moz-border-radius-topleft: 10px;
    -moz-border-radius-topright: 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    text-align: center;
    margin: 0 0 0 0;
    cursor: pointer;
    transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    width: 60px;
    height: 40px;
    color: #FFF;
}

.scroll:hover {
    background: var(--med-green);
}

.scroll .fas {
    font-size: 20px;
    margin-top: 10px;
    margin-left: 1px;
    transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
}