/**
Theme Name: epca
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.10
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: epca
Template: astra
*/

html {
    background: #7b2d2d;
}

body{
    background: #FAF8F3;
}

body .gform_wrapper input,
body .gform_wrapper select,
body .gform_wrapper textarea {
    font-family: Arial !important;
}

/* Usually the Contact Us Page where the children go off the screen. */
.main-header-menu > li:last-child .sub-menu {
    right: 0px !important;
    left: auto !important;
}

.ast-above-header-section-wrap {
    min-height: 30px;
}

.ast-site-identity{
    padding-top: 0px;
    padding-bottom: 0px;
    text-align: center;
}

.ast-above-header{
    border-bottom: none !important;
    line-height: 1em;
}



.fc-full-width {
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;
    position: relative;
    right: 50%;
    width: 100vw;
}

.fc-content {
    clear: both;
    overflow: hidden;
}

.wp-block-embed {
    margin-bottom: 0px;
}

.wp-block-cover-image .wp-block-cover__inner-container,
.wp-block-cover .wp-block-cover__inner-container {
    max-width: 1120px;
}
.wp-block-cover-image .wp-block-cover__inner-container .wp-block-embed,
.wp-block-cover .wp-block-cover__inner-container .wp-block-embed {
    padding-top: 30px;
    padding-bottom: 30px;
}
.wp-block-cover-image .wp-block-cover__inner-container .wp-block-gallery,
.wp-block-cover .wp-block-cover__inner-container .wp-block-gallery {
    padding-top: 30px;
    padding-bottom: 0px;
}

.has-black-color {
    color: #000 !important;
}

.has-black-background-color {
    background-color: #000 !important;
}

.has-white-color {
    color: #fff !important;
}

.has-white-background-color {
    background-color: #fff !important;
}

.has-dark-gray-color {
    color: #3A3A3A !important;
}

.has-dark-gray-background-color {
    background-color: #3A3A3A !important;
}

.has-blue-color {
    color: #0174BE !important;
}

.has-blue-background-color {
    background-color: #0174BE !important;
}

#primary {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

#ast-desktop-header{
    text-transform: uppercase;
}

@media only screen and (min-width: 1081px) {
    .main-header-menu {
        background: transparent !important;
    }

    .ast-header-break-point .main-navigation ul .menu-item .menu-link{
        border: none !important;
        font-size: 15px;
    }

    .ast-builder-menu .main-navigation>ul {
        align-self: center !important;
    }

    .ast-header-break-point .main-navigation .stack-on-mobile li {
        width: auto !important;
    }

    #ast-mobile-header{
        display: none !important;
    }
}

.main-header-bar-navigation .current-menu-item,
.main-header-bar-navigation .current-page-ancestor > a{
    color: #3d1010;
}

.main-header-bar-navigation .menu-item span{
    border-bottom: 2px solid transparent;
}

.main-header-bar-navigation .current-menu-item span,
.main-header-bar-navigation .current-page-ancestor > a span{
    border-bottom: 2px solid #7b2d2d;
}

.ast-primary-header-bar .main-header-menu > .menu-item{
    line-height: 30px !important;
}

#primary-site-navigation ul ul ul{
    display: none;
}

#primary-site-navigation ul ul ul a{
    padding-left: 50px;
}
.main-header-menu .sub-menu .menu-item.menu-item-has-children>.menu-link:after{
    content: "";
    display: none;
}

.ast-header-break-point .ast-above-header-section .widget {
    margin: 0;
}

.ast-header-break-point .main-navigation ul.sub-menu a{
    line-height: 1.5em !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

main a,
main a:visited,
main a:hover{
    text-decoration: underline;
}

h1.entry-title,
.ast-archive-title{
    margin-top: 1em;
}

.ast-archive-description {
    margin-bottom: 20px;
    padding-bottom: 0;
    border-bottom: none;
}

.blog-layout-1 {
    border-bottom: none;
    border-top: 1px solid #eee;
    padding-top: 2em;
    padding-bottom: 1em;
}

@media only screen and (max-width: 1119px) {
    .pagination {
        padding: 0 20px;
    }
}
.EpcSubmenu ul ul {
    margin-left: 20px;
}

#after-content {
    background-color: #F0EDE4;
    min-height: 60px;
    border-style: solid;
    border-width: 0px;
    border-top-width: 1px;
    border-top-color: #e2d9cc;

    position: relative;
    padding-bottom: 52px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 52' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,0 C480,52 960,52 1440,0 L1440,52 L0,52 Z' fill='%237B2D2D'/%3E%3C/svg%3E");
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: 100% 52px;

}

#after-content-inner{
    max-width: 1080px;
    margin: 0 auto;
    padding: 30px;
}

.ast-small-footer a{
    text-decoration: underline;
}


.widget-address-field{
    align-items: flex-start !important;
}

.widget-address-field .address-icons{
    position: relative;
    top: 7px;
}

#menu-footer-2 li a{
    text-decoration: underline;
}


.footer-adv h2.widget-title{
    margin-bottom: 0px;
}

#menu-epc-footer li a{
    text-decoration: none;
}

#menu-epc-footer li{

    font-size: 14px;
    font-weight: normal;
}

@media only screen and (min-width: 1080px) {
    #menu-epc-footer{
        text-align: right;
    }

    #menu-epc-footer li{
        display: inline-block;
        padding: 0px 10px;
        margin: 0;

    }

}

.ast-builder-html-element .fab{
    position: relative;
    top: 4px;
    padding-right: 5px;
}


.blog-layout-3 {
    display: block;
}

.blog-layout-3 .post-thumb {
    padding-bottom: 10px;
}

@media only screen and (min-width: 768px) {

    .blog-layout-3 .post-content {
        width: calc(100% - 320px);
        padding: 0;
        float: left;
    }

    .blog-layout-3 .post-thumb {
        padding-left: 0;
        padding-right: 0;
        position: relative;
        max-width: 300px;
        float: right;
    }

}

body .gform_wrapper input,
body .gform_wrapper select,
body .gform_wrapper textarea{
    font-family: Arial !important;
}

select,
body .gform_wrapper select{
    padding: 5px 5px;
    height: 33px;
}

.gform_wrapper ol.validation_list{
    width: auto !important;
}

.gform_title{

    font-size: 30px !important;
    font-weight: normal !important;
}

.gform_wrapper .gform_heading{
    margin-bottom: 0px !important;
}

.gform_wrapper span.gform_description{
    margin-bottom: 0px !important;
}

.gform_wrapper {

    padding: 0px;
    width: 100%;
    margin: 0 auto 20px auto;
}



#ast-scroll-top{
    display: none !important;
}

ul.site-map-list{
    margin-left: 0px;
}

.site-map-header{
    margin-bottom: 20px;
}

ul.site-map-list,
ul.site-map-list ul{
    list-style: none;
}

.wp-block-media-text .wp-block-media-text__content{
    padding: 0 !important;
}

.ast-no-sidebar .entry-content .wp-block-media-text.alignfull {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    width: 100%;
}

.ast-no-sidebar .entry-content .wp-block-media-text.alignfull,
.ast-no-sidebar .entry-content .wp-block-media-text.alignwide {
    margin-left: 0px;
    margin-right: 0px;
    max-width: unset;
    width: unset;
}

.wp-block-media-text .wp-block-media-text__content{
    padding-left: 0px;
}

figcaption{
    text-align: center;
}

.wp-block-button .wp-block-button__link:hover{
    text-decoration: none;
}

.entry-title a{
    text-decoration: none;
}

.ast-footer-html-3 a{
    margin: 5px;
}

#nav_menu-2{
    text-align: center;
}

@media only screen and (max-width: 700px) {
    .alignright,
    .alignleft{
        display: block;
        margin: 10px 0;
        float: none !important;
    }
}

.wp-block-file__button:focus,
.wp-block-button__link:focus,
input:focus,
textarea:focus,
input[type="file"]:focus,
input[type="submit"]:focus,
select:focus{
    outline: 1px solid #5c1f1f !important;
}

.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select{

}

iframe:focus {
    outline: 1px solid #5c1f1f;
    border: 1px solid #5c1f1f;
}

header.site-header {
    background: #F9E3D9 url(images/leaves.jpg) 0 0 repeat;
}

.ast-primary-header-bar{
    background: transparent;
}

.ast-primary-sticky-header-active .ast-primary-header-bar{
    background: #F9E3D9 url(images/leaves.jpg) 0 0 repeat;
}

#header-wave-wrapper {
    width: 100%;
    height: 52px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 52' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,52 C480,0 960,0 1440,52 L1440,52 L0,52 Z' fill='%23FAF8F3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
}

.ast-primary-sticky-header-active #header-wave-wrapper{
    /*display: none;*/
}


#wave-down {
    display: block;
    width: 100%;
    height: 52px;
}

.site-description{
    margin-top: 10px;
}


#after-content-inner blockquote {
    margin: 0 auto;
    max-width: 830px;
    border: none;
    text-align: center;
}

#after-content-inner blockquote p {
    font-style: italic;
    font-size: 24px;
    line-height: 1.4;
    color: #5c1f1f;
    margin-bottom: 20px;
    font-weight: 400;
}

#after-content-inner cite {
    font-style: normal;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #A45237;
    display: block;
}

footer.site-footer {
    background: #7B2D2D url(images/ampersand.png) 98% 0 no-repeat;
}


header.entry-header .entry-title{
    font-weight: bold;
    text-align: center;
    font-size: 88px;
}

@media only screen and (max-width: 1080px) {
    header.entry-header .entry-title{

        font-size: 45px;
    }

    .page-id-6 h1.wp-block-heading{
        font-size: 45px !important;
    }

}

h1.wp-block-heading{
    font-weight: 600 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04em !important;
}

.top-quote{
    font-weight: 400;
    font-style: italic;
    font-size: 24px;
    color: #9b3d2d;
    margin: 0 auto;
    line-height: 1.65;
    letter-spacing: 0.01em;
}

.ampersand-spacer {
    position: relative;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ampersand-spacer::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #BD9795;
    z-index: 0;
}

.ampersand-spacer::after {
    content: '';
    position: relative;
    width: 30px;
    height: 40px;
    background:
            linear-gradient(rgba(250, 248, 243, 0.5), rgba(250, 248, 243, 0.5)),
            url(images/ampersand.png) center center no-repeat,
            #FAF8F3;
    background-size: 20px auto;
    z-index: 1;
    padding: 30px;
}

.story {
    overflow: visible !important;
}

.page-id-7 .story h2{
    font-weight: 500;
    font-style: italic;
    font-size: 1.3rem;
    color: #9b3d2d;
    margin-bottom: 1.25rem;
    letter-spacing: 0.01em;
    text-transform: lowercase;

}

.page-id-7 .story h2:first-child{
    padding-top: 50px;
}

.page-id-7 .story h2:not(:first-child)::before {
    content: '';
    display: block;
    width: 40px; /* Adjust width */
    height: 2px;  /* Line thickness */
    background-color: #9b3d2d;
    margin-bottom: 20px; /* Space between line and heading */
}

.story p {
    font-weight: 300;
    color: #5a3a2a;
    line-height: 1.9;
    margin-top: 0px;
}


@media only screen and (min-width: 782px) {
    .story .wp-block-column:first-child {
        padding: 0 20px 0 0;
    }

    .story .wp-block-column:last-child {
        padding: 0 0 0 20px;
    }
}

.story .wp-block-image {
    position: relative;
    display: inline-block;
    margin: 50px 0 0 10px !important; /* Force margin for the offset */
}

.story .wp-block-image::after {
    content: '';
    position: absolute;
    top: -15px;
    left: -15px;
    width: 100%;
    height: 100%;
    border: 2px solid #9b3d2d;
    pointer-events: none;
}

.story .wp-block-image img {
    display: block;
    position: relative;
    z-index: 2;
}

/* Base styling */
.story p.ingredient-eyebrow {
    position: relative;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #a23c26;
    margin-bottom: 10px;
    margin-top: 100px;
    z-index: 2; /* Text on top */
}

/* Large number behind */
.story p.ingredient-eyebrow-tea::before {
    content: '01';
    position: absolute;
    top: -50px;
    left: 0px;
    font-size: 80px;
    font-weight: 700;
    color: rgba(232, 221, 208, 0.5);
    z-index: -1;
    line-height: 1;
}

.story p.ingredient-eyebrow-gin::before {
    content: '02';
    position: absolute;
    top: -50px;
    left: 0px;
    font-size: 80px;
    font-weight: 700;
    color: rgba(45, 90, 61, 0.1);
    z-index: -1;
    line-height: 1;
}

.story p.ingredient-eyebrow-sweetener::before {
    content: '03';
    position: absolute;
    top: -50px;
    left: 0px;
    font-size: 80px;
    font-weight: 700;
    color: rgba(184, 134, 11, 0.1);
    z-index: -1;
    line-height: 1;
}

.story .tea-story h2{
    margin-top: 0px;
    font-weight: bold;
    color: #7b2d1e;
    line-height: 1.1;
}

.story .gin-story  h2{
    margin-top: 0px;
    font-weight: bold;
    color: #1e3d2a;
    line-height: 1.1;
}

.story .sweetener-story h2{
    margin-top: 0px;
    font-weight: bold;
    color: #7a5a00;
    line-height: 1.1;
}

.story p.ingredient-eyebrow-gin{
    color: #2d5a3d;
}

.story p.ingredient-eyebrow-sweetener{
    color: #956E09;
}

.sweetener-story-container .wp-block-image::after{
    border-color: #956E09;
}

.gin-story-container .wp-block-image::after{
    border-color: #1e3d2a;
}

.ingredient-nav {
    display: flex;
    justify-content: center;
    gap: 1rem;
    padding: 2rem 0 0;
}

.ingredient-pill {
    font-weight: 600;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 0.55rem 1.4rem;
    border-radius: 2px;
    border: 1.5px solid transparent;
    text-decoration: none;
    transition: all 0.2s;
    text-align: center;
}

.pill-rooibos {
    color: #a23c26;
    border-color: #a23c26;
}

.pill-rooibos:hover {
    background-color: #a23c26;
    color: #fff;
    text-decoration: none;
}

.pill-gin {
    color: #2d5a3d;
    border-color: #2d5a3d;
}

.pill-gin:hover{
    background-color: #2d5a3d;
    color: #fff;
    text-decoration: none;
}

.pill-honey {
    color: #956E09;
    border-color: #956E09;
}

.pill-honey:hover {
    background-color: #956E09;
    color: #fff;
    text-decoration: none;
}

.page-id-9 #main{
    max-width: 800px;
    margin: 0 auto;
}

.page-id-945 #main{
    max-width: 800px;
    margin: 0 auto;
}

.gfield--input-type-text .gform-field-label,
.gfield--input-type-email .gform-field-label,
.gfield--input-type-phone .gform-field-label,
.gfield--input-type-textarea .gform-field-label{
    text-transform: uppercase;
    color: #5a3a2a;
    font-size: 20px;
}

@media only screen and (min-width: 650px) {

    /* Target the specific form row containing captcha + button */
    #gform_1 .gform_fields {
        align-items: flex-start !important;
    }

    #field_submit {
        align-self: flex-start !important;
        margin-top: 30px !important;
        padding-top: 0 !important;
        margin-left: auto !important;
    }
}
.gform_wrapper.gravity-theme .gfield input.large, .gform_wrapper.gravity-theme .gfield select.large{
    padding: 10px;
}

#field_3_46{
    background:#f0ede4;
    border: 1px solid #d8cfc6;
    padding: 10px;
}

.gfield_consent_description{
    border: none !important;
}

#field_3_46 label{
    font-weight: bold;
    text-transform: uppercase;
}

.gform_wrapper.gravity-theme .gfield_consent_description{
    overflow-y: auto !important;
    margin-top: 0px !important;
}

.fade-in.visible {
    opacity: 1;
    transform: none;
}
.fade-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.75s ease, transform 0.75s ease;
}
.find-split {
    display: grid;
    grid-template-columns: 1fr 2fr;
    min-height: 520px;
    position: relative;
    overflow: hidden;
}

.find-where {
    padding: 4rem 3.5rem 4rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 2;
}

.find-where-h3 {
    font-weight: 600;
    font-size: 1.1rem;
    color: #7b2d1e;
    letter-spacing: -0.01em;
    margin-bottom: 0.4rem;
}

.find-where-sub {
    font-weight: 300;
    font-style: italic;
    font-size: 0.82rem;
    color: #8b6355;
    margin-bottom: 1.75rem;
    line-height: 1.5;
}

.venue-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-left: 10px;
}

.venue-item {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
}

.venue-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4d9cd;
}

.venue-icon svg {
    width: 16px;
    height: 16px;
}

.venue-name {
    font-weight: 600;
    font-size: 14px;
    color: #2c1a1a;
    letter-spacing: 0.02em;
    margin-bottom: 0.1rem;
}

.venue-desc {
    font-weight: 300;
    font-size: 12px;
    color: #8b6355;
    line-height: 1.4;
}

.find-img {
    position: relative;
    overflow: hidden;
}

.find-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    display: block;
}

.find-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent 70%, rgba(250, 248, 243, 0.95) 100%);
}

@media (max-width: 900px) {
    .find-split {
        grid-template-columns: 1fr;
    }

    .find-where {
        padding: 3rem 1.5rem;
    }

    .find-img {
        height: 320px;
    }
}

.lifestyle-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.lifestyle-img {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
}

.lifestyle-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}



@media (max-width: 600px) {

    .lifestyle-grid {
        grid-template-columns: 1fr;
    }

    .lifestyle-img {
        aspect-ratio: 4 / 3;
    }
}

.homepage-video-wrapper {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;

}

@media (min-width: 1240px) {

    .homepage-video-wrapper {
        min-height: 675px;
    }
}

@media (max-width: 600px) {

    .homepage-video-wrapper {
        min-height: 675px;
    }
}

.homepage-video {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
}

/* Show desktop video by default, hide mobile */
#desktop-video {
    display: block;
}

#mobile-video {
    display: none;
}

/* Switch to mobile video at 600px and below */
@media (max-width: 600px) {
    #desktop-video {
        display: none;
    }

    #mobile-video {
        display: block;
    }
}

.video-play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: none;
    cursor: pointer;
    display: none;
    z-index: 10;
    padding: 0;
    transition: transform 0.2s;
    background: transparent;
}

.video-play-button:hover {
    transform: translate(-50%, -50%) scale(1.1);
    background: transparent;
}

/* Show play button only on mobile */
@media (max-width: 600px) {
    .video-play-button {
        display: block;
    }
}



@media (min-width: 768px) {
    .hp-content-menu {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 2rem;
    }

    .hp-content-menu li {
        margin: 0;
    }
}

@media (max-width: 767px) {
    .hp-content-menu {
        list-style: none;
        padding: 0;
        margin: 0;
        text-align: center;
    }


}

.hp-content-menu a {
    text-decoration: none;
}

a.menu-link:focus{
    outline: 2px solid #7b2d2d;
    outline-offset: 2px;
}


.age-gate {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);   /* light tint so blurred content is visible */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
}


.age-gate-content {
    background: #fff;
    padding: 3rem 2rem;
    border-radius: 8px;
    max-width: 500px;
    text-align: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.age-gate-logo h2 {
    margin: 0 0 2rem 0;
    font-size: 2rem;
    color: #333;
}

.age-gate-question {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 1rem 0;
    color: #333;
}

.age-gate-disclaimer {
    font-size: 0.9rem;
    color: #666;
    margin: 0 0 2rem 0;
}

.age-gate-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.age-gate-btn {
    padding: 1rem 3rem;
    font-size: 1.1rem;
    font-weight: 600;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s;
}

.age-gate-yes {
    background: #956E09;
    color: #fff;
}

.age-gate-yes:hover {
    background: #7d5d08;
    transform: translateY(-2px);
}

.age-gate-no {
    background: #ddd;
    color: #333;
}

.age-gate-no:hover {
    background: #ccc;
}