/**
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.2
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: #1A1A1A;
}

body {
    background: white;
}

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: 10px;
}

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

#masthead .main-header-bar {
    background: transparent !important;
}

#masthead {
    min-height: 298px;
    background: transparent url(images/header_bg1.jpg?v=1) 50% bottom no-repeat;
    max-width: 100%;
    margin: 0 auto;
    background-size: cover;
}

.site-primary-header-wrap {
    height: 100px;
    padding-left: 0px;
    max-width: 100%;
    margin: 0 auto;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background: rgba(255, 255, 255, 0.25);
}

.site-header-primary-section-left {
    background: transparent url(images/header_logo_bg.png) 0 0 no-repeat;
    height: 100px;
    padding-left: 20px;
}

@media only screen and (max-width: 1920px) {
    #masthead {
        background-position: right 0;
    }

    .site-primary-header-wrap {
        max-width: 1920px;
    }

    .site-header-primary-section-left {
        background-position: right 0;
    }
}

#ast-mobile-header {
    background: #f3f3f3;
}

#ast-mobile-header .site-header-primary-section-left {
    background: transparent;
}

.main-header-bar.ast-sticky-active {
    box-shadow: 0 4px 20px 0 rgba(36, 50, 66, .25);
}


.ast-primary-sticky-header-active .ast-builder-menu-1 .main-header-menu > .menu-item > .sub-menu {
    padding-top: 18px;
    border-top: none;
    background-color: #F3F3F3;
}

.ast-primary-sticky-header-active .ast-builder-menu-1 .main-header-menu > .menu-item > .sub-menu > li:first-child {
    border-top: 2px solid #005596 !important;
}


.ast-primary-sticky-header-active .site-primary-header-wrap {
    background: #F3F3F3;
}

.ast-primary-sticky-header-active .site-header-primary-section-left {
    background-color: #F3F3F3;
}

.ast-primary-sticky-header-active .site-primary-header-wrap ul#ast-hf-menu-1 > li > a.menu-link {
    color: #005596 !important;
}

.ast-primary-sticky-header-active .site-primary-header-wrap ul#ast-hf-menu-1 > li > a.menu-link:hover,
.ast-primary-sticky-header-active .site-primary-header-wrap ul#ast-hf-menu-1 > li.current-menu-item > a.menu-link,
.ast-primary-sticky-header-active .site-primary-header-wrap ul#ast-hf-menu-1 > li.current-page-ancestor > a.menu-link,
.ast-primary-sticky-header-active .site-primary-header-wrap ul#ast-hf-menu-1 > li.current_page_parent > a.menu-link {
    color: #3f7f6b !important;
}

.ast-desktop.ast-primary-sticky-header-active .ast-primary-header-bar.main-header-bar {
    padding: 0;
    margin-top: 0;
}

.ast-desktop .main-header-menu > .menu-item:not(:first-child) > a::before {
    content: "//";
    margin-right: 20px;
    color: #bbb8b8;
}

/*
.ast-primary-header-bar{
    border-top: 1px solid #f2ebea;
    border-bottom: 1px solid #f2ebea;
    background: transparent url(images/logo-background.png) 0 0 no-repeat !important;
    height: 100px;
}*/


.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;
}


#primary-site-navigation-desktop .current-page-ancestor > a,
#ast-mobile-site-navigation .current-page-ancestor > a,
body.single-post #menu-item-11 a,
body.single-post #mobile-menu-item-11 a {
    color: #1e3c50;
}

#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;
    font-size: 42px;
}

header.entry-header .entry-title{
    font-size: 42px;
}

.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: #0274be;
    color: white;
}

#after-content .ast-container {
    margin-left: auto;
    margin-right: auto;
}

#after-content .widgettitle {
    padding-top: 20px;
    color: white;
}

#after-content #subnav {
    margin: auto;
    padding: 10px 0 20px 0;
}

#after-content ul.submenu {
    list-style-type: square;
    margin-left: 20px;
}

#after-content ul.submenu ul {
    margin-left: 20px;
    list-style-type: square;
}

#after-content ul a {
    color: white;
}

#after-content ul a:hover {
    text-decoration: underline;
}

#after-content .widget:last-child {
    padding-bottom: 20px;
}

.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: underline;
}

@media only screen and (min-width: 820px) {
    #menu-epc-footer li {
        display: inline-block;
        padding: 0px 10px;
        margin: 0;
    }

    #menu-epc-footer li:after {
        content: "\00a0\00a0\00a0\00a0|";
    }

    #menu-epc-footer li:first-child {
        padding-left: 0px;
    }

    #menu-epc-footer li:last-child {
        padding-right: 0px;
        padding-left: 5px;
    }

    #menu-epc-footer li:last-child:after {
        content: "";
    }

}

@media only screen and (min-width: 768px) {
    .footer-adv-widget-3 {
        text-align: right;
    }

    .footer-adv-widget-2 {
        text-align: center;
    }


}

.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: 2px dotted blue !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 {
    border-color: #595959 !important;
}

iframe:focus {
    outline: 1px dotted blue;
    border: 1px dotted blue;
}


/* ============================================================
   CTA Slider Band
   ============================================================ */

.fc-cta-slider-outer {
    max-width: 1200px;
    margin: 0 auto;
    background: transparent !important;
}

.fc-cta-slider-band {
    position: relative;
    width: 100%;
    padding: 40px 50px; /* side padding makes room for the arrows */
    box-sizing: border-box;
}

/* ── Individual box ── */
.fc-cta-box {
    min-height: 200px;
    height: 100%;
    padding: 28px 28px 48px;
    box-sizing: border-box;
    position: relative;
    text-decoration: none;
    color: #1a1a1a;
    display: block;
    transition: background-color 0.25s ease, color 0.25s ease;
}

/* Equalize slide heights */
.fc-cta-slider-band .swiper-slide {
    height: auto;
}

.fc-cta-box:hover:not(.no-link) {
    background-color: #005d91 !important;
    color: #ffffff;
    text-decoration: none;
}

.fc-cta-box:hover:not(.no-link) .fc-cta-title,
.fc-cta-box:hover:not(.no-link) .fc-cta-text,
.fc-cta-box:hover:not(.no-link) .fc-cta-arrow-icon {
    color: #ffffff;
}

/* ── Background colours ── */
.fc-cta-box.bg-grey {
    background-color: #efefef;
}

.fc-cta-box.bg-yellow {
    background-color: #f8d889;
}

.fc-cta-box.bg-orange {
    background-color: #f3bf7f;
}

.fc-cta-box.bg-red {
    background-color: #e8899e;
}

.fc-cta-box.bg-purple {
    background-color: #c792c6;
}

.fc-cta-box.bg-blue {
    background-color: #8fb9d4;
}

.fc-cta-box.bg-green {
    background-color: #c5e3a3;
}


/* ── Typography ── */
.fc-cta-box .fc-cta-title {
    font-size: 22px;
    font-weight: 300;
    margin: 0 0 14px;
    color: inherit;
}

.fc-cta-box .fc-cta-text {
    margin: 10px 0 0 0;
    color: inherit;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.25em;
}

/* ── Arrow icon inside box ── */
.fc-cta-arrow-icon {
    position: absolute;
    bottom: 16px;
    right: 20px;
    font-size: 20px;
    font-weight: 900;
    color: inherit;
    transition: color 0.25s ease;
}

/* ── Prev / Next navigation arrows ── */
.fc-cta-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none !important;
    border: none;
    font-size: 50px;
    line-height: 1;
    color: #333;
    cursor: pointer;
    padding: 0 5px;
    transition: color 0.2s ease;
    z-index: 2;
}

.fc-cta-arrow-prev {
    left: 0;
}

.fc-cta-arrow-next {
    right: 0;
}

.fc-cta-arrow:hover,
.fc-cta-arrow:active {
    color: #005d91;
    background: none;
}

/* Swiper adds this class at the ends */
.fc-cta-arrow.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.fa-chevron-right {
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    border-right: 0.15em solid currentColor;
    border-top: 0.15em solid currentColor;
    transform: rotate(45deg);
    /* Remove the :before pseudo-element entirely */
}

.fa-chevron-right:before {
    content: none;
}

.fa-chevron-left {
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    border-left: 0.15em solid currentColor;
    border-top: 0.15em solid currentColor;
    transform: rotate(-45deg);
}

.fa-chevron-left:before {
    content: none;
}

body.home .fc-cta-arrow {
    color: #fff;
}

body.home .fc-cta-arrow:hover,
body.home .fc-cta-arrow:active {
    color: #E98300;
}


.fc-cta-arrow.fc-cta-arrow-prev {
    order: -1;
}

.fc-cta-arrow.fc-cta-arrow-next {
    order: 99;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .fc-cta-box {
        flex: 0 0 calc((100% - 20px) / 2); /* 2 visible */
    }
}

@media (max-width: 600px) {
    .fc-cta-box {
        /*flex: 0 0 90%; /* 1 visible, peek next */
        flex: 0 0 100%;
    }

    .fc-cta-arrow {
        padding: 0 5px;
        font-size: 20px;
    }
}

body.home {
    background: transparent url(images/lighthouse.jpg) 50% 0 no-repeat;
}

body.home #content {
    background: transparent url(images/lighthouse.jpg) 50% -140px no-repeat;
}

@media (min-width: 1925px) {

    body.home {
        /*background: transparent url(images/lighthouse.jpg) 50% 0 repeat-x;*/
        background-size: cover;
    }

    body.home #content {
        background: transparent url(images/lighthouse.jpg) 50% -170px no-repeat;
        background-size: cover;

    }
}

@media (max-width: 1050px) {
    body.home #content {
        background-position: 60% -140px;
    }
}

body.home #masthead {
    background: transparent;
    min-height: auto;
}


#hp-intro h1 {
    color: white;
    font-size: 50px;
    margin: 60px auto 20px auto;
    font-weight: bold;
    text-align: center;
}

#hp-intro #welcome-message {
    margin: 60px auto 0 auto;
    background-color: rgba(0, 0, 0, 0.35);
    padding: 30px 40px;
    color: white;
    font-size: 24px;
    line-height: 1.4;
    text-align: center;
    border-radius: 20px;
    max-width: 800px;
}

#hp-intro p {
    margin: 0;
}

#homepage-mobile-image {
    display: none;
}

@media (max-width: 768px) {

    body.home .ast-container {
        padding-right: 0px;
        padding-left: 0px;
        background: #22486C;
    }

    #hp-intro h1 {
        margin: 30px auto 0px auto;
    }

    #hp-intro #welcome-message {
        padding: 20px 20px;
        font-size: 20px;
        background: transparent;
    }

    #homepage-mobile-image {
        display: block;
    }

    #hp-inner {

    }

    #hp-intro {
        padding: 20px 20px 20px 20px;
    }

    .fc-cta-slider-outer {
        padding-left: 20px;
        padding-right: 20px;
    }

}

body.home .fc-cta-box {


    background-color: #fff !important;
    color: black !important;
    border-radius: 20px;
}


body.home .fc-cta-box:hover {
    background-color: #6e96b4 !important;

}

body.home .fc-cta-box:focus{
    border: 1px dotted red;
}

body.home .fc-cta-box:hover .fc-cta-title,
body.home .fc-cta-box:hover .fc-cta-text {
    color: black;
}

body.home:not(.ast-above-sticky-header-active) .ast-primary-header-bar .site-primary-header-wrap {
    border-top: 1px solid #6a92bc;
    border-bottom: 1px solid #6a92bc;
}


.site-footer {

}

.footer-inner {
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

/* Vertical divider lines between sections */
.footer-chicago,
.footer-bermuda {
    padding: 0 40px;

}

/* CONTACT US parallelogram button */
.footer-contact {
    flex: 0 0 auto;
    padding-right: 30px;
}

/*
.footer-contact a {
    display: inline-block;
    background-color: #8fc3b5;
    color: #3a3a3a !important;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-decoration: none;
    padding: 14px 35px;
    transform: skewX(-15deg);
}

.footer-contact a:hover {
    background-color: #6e96b4;
    color: #fff !important;
}*/

.footer-contact {
    flex: 0 0 auto;
    padding-right: 30px;
}

.footer-contact,
.footer-contact a {
    overflow: visible;
}

.footer-contact a {
    display: inline-block;
    position: relative;
    text-decoration: none;
    padding: 14px 35px 14px 35px;
    background: none;
    filter: drop-shadow(3px 5px 8px rgba(0, 0, 0, 0.7));
}

.footer-contact a:hover,
.footer-contact a:focus,
.footer-contact a:active {
    background: none;
}

.footer-contact a::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #8fc3b5;
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
    transition: background-color 0.2s ease;
    z-index: 0;
}

.footer-contact a span {
    position: relative;
    z-index: 1;
    color: #1f3a4a;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.5px;
}

.footer-contact a:hover::before {
    background-color: #6e96b4;
}


/* Location text blocks */
.footer-chicago p,
.footer-bermuda p {
    color: #ffffff;
    margin: 0;
    text-align: center;
    font-size: 16px;
    font-weight: normal;
}

.location-label {
    color: #8fc3b5;
    letter-spacing: 2px;
    font-size: 16px;
}

.dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #8fc3b5;
    border-radius: 50%;
    margin: 0 6px;
    vertical-align: top;
    position: relative;
    top: 8px;
}

.icon-link {
    display: inline-block;
    vertical-align: top;
}

.li-icon {
    width: 17px;
    height: 17px;
    vertical-align: middle;
}

/* Logo / badge */
.footer-logo {
    margin-left: auto;
    flex: 0 0 auto;
    padding-left: 30px;
}

.footer-logo img {
    display: block;
}

@media (max-width: 1250px) {
    .footer-meta {
        display: block;
        margin-top: 4px;
    }

    .footer-chicago .dot:first-of-type,
    .footer-bermuda .dot:first-of-type {
        display: none;
    }
}

/* Responsive stacking */
@media (max-width: 925px) {
    .footer-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .footer-contact {
        margin: 20px auto 0 auto;
    }

    .footer-chicago,
    .footer-bermuda {

        padding: 20px 0 0 0;
        margin: 0 auto;
    }

    .footer-logo {
        margin-left: 0;
        padding-left: 0;
        align-self: center;
    }
}

body.blog .entry-header:first-child{
    background-color: #304250;
    padding: 30px;
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;
    position: relative;
    right: 50%;
    width: 100vw;
}

body.blog .entry-header h1{
    color: white;
    max-width: 1200px;
    margin: 0 auto;
    font-size: 42px;
    font-weight: 300;
    line-height: 1.2;
}

ul.sub-menu,
ul.sub-menu li{
    background: transparent !important;
}

ul.sub-menu li a{
    background: white !important;
}

.sub-menu > li:last-child > a.menu-link{
    border-radius: 0 0 10px 10px;
}

#ast-hf-mobile-menu .sub-menu .sub-menu{
    margin-left: 10px;
}

body.blog article{
    background: #F0F3F6;
    box-shadow: 0 6px 12px -4px rgba(0, 0, 0, 0.25);
}

body.blog article:last-child{
    margin-bottom: 30px;
}

p.wp-block-paragraph:last-child,
.wp-block-list:last-child{
    margin-bottom: 1.6em;
}

.fa-linkedin:hover{
    color: #6E96B4;
}

.footer-inner{
    line-height: 1.3em;
}

.custom-logo-link:focus-visible,
.main-header-menu a:focus-visible,
.main-navigation a:focus-visible,
#site-navigation a:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
    border-radius: 2px;
}