html,
body {
    width: 100%;
    overflow-x: hidden;
    min-height: 100vh;
    height: auto;
    
    font-family: 'Montserrat', sans-serif;
}

.site {
    height: 100%;
    position: relative;
}

.post, .page,
.page-content, .entry-content, .entry-summary {
    margin: 0;
}

nav.navbar ul,
nav.navbar ul li,
nav.navbar ol,
nav.navbar ol li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#primary-navbar-collapse {
    margin-left: 30px;
    /*justify-content: center;*/
}

.container #primary {
    margin-top: 30px;
}

.single-strain .strain-image img {
    border-radius: 400px;
}

.strain-list {
    
}

.strain-list .strain-item .strain-item-inner {
    border: 1px solid #ddd;
    text-align: center;
    border-radius: 4px;
}

.strain-list .strain-item .strain-item-inner a {
    display: block;
    padding: 15px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
    position: relative;
    overflow: hidden;
}

.strain-list .strain-item .strain-item-inner a:focus,
.strain-list .strain-item .strain-item-inner a:hover {
 }
 
 /* Pre-render the bigger shadow, but hide it */
.strain-list .strain-item .strain-item-inner a::after {
    box-shadow: inset 0 0 15px rgba(0,0,128,1);
    opacity: 0;
    transition: opacity 200ms ease;
    content: ' ';
    z-index: 10;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

/* Transition to showing the bigger shadow on hover */
.strain-list .strain-item .strain-item-inner a:focus::after,
.strain-list .strain-item .strain-item-inner a:hover::after {
    opacity: 1;
}
 

.strain-list-strain-img {
    border-radius: 200px;
}

.strain-list-strain-img.default-image {
    /*opacity: .55;*/
}

.strain-list .strain-item .strain-item-inner a span {
    display: block;
    margin-top: 10px;
}

.related-strains-wrapper {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #333;
}

a.btn.btn-primary {
    color: white;
}

.single-strain .entry-content {
    font-size: 1.25rem;
}

.single-strain .entry-content .strain-content {
    margin-top: 15px;
}

.location-detail a {
 padding: 15px;
 border: 1px solid #333;
 border-radius: 8px;
 display: block;
 color: #333;
 text-decoration: none;
 transition: background 250ms ease, color 250ms ease;
}

.location-detail a:focus,
.location-detail a:hover,
.location-detail a:active {
 background-color: #333;
 color: white;
}

.purchase-options .purchase-option {
 padding: 15px;
 border-color: #fff;
}

.rating-display {
 margin: 1.25rem auto 2rem;
 display: flex;
 justify-content: center;
}

.review-item .rating-display {
 margin: 0;
 justify-content: flex-start;
}

.rating-display .fa-regular.fa-star,
.rating-display .fa-regular.fa-star-half-stroke,
.rating-display .fa-solid.fa-star {
 color: goldenrod;
}

.rating-display .fa-regular.fa-star {
 opacity: .75;
}

.rating-display .rating-number {
 margin-left: 15px;
 font-weight: bold;
}

.single .location-address-display {
 font-style: italic;
 font-size: 1.25rem;
}

.logo-wrapper-outer {
 max-width: 75%;
}

.single-location-primary {
 margin-bottom: 50px;
}

.location-content {
 margin: 30px auto;
}

.nf-response-msg {
 text-align: center;
 font-weight: bold;
 font-style: italic;
 border: 1px solid #333;
 background-color: #ddd;
 padding: 15px 20px;
 border-radius: 8px;
}

.nf-response-msg p {
 margin: 0;
 padding: 0;
}

.review-item-list {
 padding: 15px 20px;
 border: 0px solid #333;
 margin: 3rem auto 2rem;
 border-bottom: 8px solid rgba(0,0,0,.2);
 box-shadow: 0 0 15px rgba(0,0,0,.2);
}

.review-pagination {
 text-align: center;
 margin: 30px auto 10px;
}

.review-pagination:empty {
 display: none;
}

.review-item .review-item-meta {
 margin-bottom: 10px;
}

.review-item .review-item-content {
 padding: 5px 10px;
 border: 0px solid #999;
 border-left: 4px solid #999;
 
 /*border-radius: 8px;*/
 margin-top: 6px;
}

.review-item {
 margin-bottom: 15px;
 padding-bottom: 15px;
 border-bottom: 1px solid #bbb;
}

.review-item:last-child {
 margin-bottom: 0;
 padding-bottom: 0;
 border-bottom: 0;
}

.reviews-section-title {
 font-weight: bold;
 font-size: 1.25rem;
}

.archive .location-image {
 width: 250px;
 height: 250px;
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
 border-radius: 8px;
 overflow: hidden;
 margin: 0 auto;
}

.location-image > img {
 width: 100%;
}

.location-inner {
 text-align: center;
}

.location-content-wrapper {
 column-gap: 20px;
}

.location-content-wrapper .content-location-details {
 margin-bottom: 20px;
}

.location-content-wrapper .content-location-details a {
 color: #333;
 text-decoration: none;
}

.location-inner .entry-header {
 font-size: 1rem;
 margin-top: 15px;
}

.location-inner .location_address_display {
 font-style: italic;
 font-size: .8rem;
 margin-bottom: 6px;
}

.directory_listing {
 margin: 30px auto;
}

.directory_listing a {
 text-decoration: none;
 color: #333;
 display: inline-block;
 vertical-align: top;
}

.archive .rating-total {
 margin-left: 10px;
}