/**
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.12
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: #384E5B;
}



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

.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .sub-menu {
    margin-left: 20px !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;
}


.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: 20px !important;
}

.ast-header-html-3 {
    font-size: 18px;
}

/* Container needs relative positioning */
#custom_html-12 {
    position: relative;

}


/* Large logo overhangs below header */
.logo-large {
    position: absolute;
    top: -40px;
    left: 0;
    z-index: 100;
}


.logo-large img {
    height: 187px;
    width: 187px;
    max-width: 187px;
    display: block;
    cursor: pointer;
}

/* Small logo hidden by default */
.logo-small {
    display: none;
    height: 102px;
    width: 102px;
}

.logo-small img {
    height: 102px;
    width: 102px;
}


/* Sticky: hide large, show small, reset positioning */
.ast-primary-sticky-header-active .logo-large {
    display: none;
}

.ast-primary-sticky-header-active .logo-small {
    display: block;
}

#primary-site-navigation-desktop li,
#primary-site-navigation-desktop li a,
#primary-site-navigation-desktop li span{
    background-color: #384e5b;
}

#primary-site-navigation-desktop .current-page-ancestor > a,
body.single-post #menu-item-11 a,
body.single-staff #menu-item-12 > a,
body.single-staff #menu-item-948 > a,
body.page-id-948 #menu-item-948 > a{
    color: #AABFCA;
}


#ast-mobile-site-navigation .current-page-ancestor > a,
body.single-post #mobile-menu-item-11 a,
body.single-staff #mobile-menu-item-12 > a,
body.single-staff #mobile-menu-item-948 > a,
body.page-id-948 #mobile-menu-item-948 > a {
    color: #FF6B00;
}

#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-header-menu .menu-link, .main-header-menu > a {
    padding: 0 10px;
}

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

    .main-header-menu .menu-link, .main-header-menu > a {
        padding: 0 1em;
    }

    #ast-hf-menu-1 > li:not(:last-child) {
        background-image: url(images/star_bg.png);
        background-repeat: no-repeat;
        background-position: right center;
        padding-right: 7px; /* enough room for the star + spacing */
    }
}

.ast-desktop .ast-header-html-3 {
    background: url(images/header-phone.png) 10px 15px no-repeat;
    padding-left: 70px;
    height: 114px;
    width: 175px;
}

.ast-header-break-point .site-header-primary-section-center {
    background: url(images/header-phone.png) 10px 15px no-repeat;
    padding-left: 80px;
}


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

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

@media only screen and (min-width: 1081px) {
    .single-post h1.entry-title {
        margin-top: 2.5em;
    }
}

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

body.error404 h1,
header.entry-header .entry-title {
    text-align: center;
}


@media only screen and (max-width: 1080px) {
    header.entry-header .entry-title {
        text-align: left !important;
    }
}

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

#nav_menu-2 a {
    text-decoration: none !important;
    text-transform: uppercase;
}

#nav_menu-2 a:hover {
    color: #AABFCA;
}

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

    .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center;
        justify-content: space-between;
    }

    .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-section-1,
    .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-section-3 {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .site-below-footer-wrap[data-section="section-below-footer-builder"] .site-footer-section-2 {
        flex: 1 1 auto;
        display: flex;
        justify-content: center;
    }

    .ast-builder-footer-grid-columns {
        grid-column-gap: 20px;
    }
}

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

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

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

#content a:focus,
.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 #384e5b !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 #384e5b;
    border: 1px dotted #384e5b;
}

.ast-desktop .site-footer-primary-section-1 {
    border-right: 2px solid #a0bed1;
    padding: 0px 0px;
}


.ast-footer-html-2 {
    line-height: 1.5em;
}

#footer-address {
    text-transform: uppercase;
    margin-bottom: 20px;
    background: transparent url(images/address-bg.png) 0 0 no-repeat;
    padding-left: 50px;
}

#footer-phone {
    margin-bottom: 20px;
    background: transparent url(images/footer-phone-bg.png) 0 0px no-repeat;
    padding-left: 50px;
    height: 30px;
    padding-top: 5px;
}

#footer-linkedin {
    background: transparent url(images/linkedin.png) 0 0px no-repeat;
    padding-left: 50px;
    height: 30px;
    padding-top: 5px;
}

.ast-header-break-point #footer-address,
.ast-header-break-point #footer-phone,
.ast-header-break-point #footer-linkedin {
    width: 200px;
    margin: 0 auto 20px auto;
    text-align: left;
}

.ast-footer-html-4 ul {
    list-style: none;
    margin: 0;
    padding: 0;

}

.ast-footer-html-4 ul li {
    margin-bottom: 0;
    text-align: center;
    line-height: 1.7em;
}


.ast-desktop .ast-footer-html-4 ul {
    border-left: 2px solid #a0bed1;
    text-align: left;
    padding-left: 20px;
}

.ast-footer-html-4 ul li a {

    text-transform: uppercase;
    color: #384e5b;
    text-decoration: none;
    line-height: 1.9em;
}

.ast-desktop .ast-footer-html-4 ul li {
    text-align: left;

}

.ast-desktop .ast-footer-html-4 ul li a {
    background: transparent url(images/footer-star.png) 0 9px no-repeat;
    padding-left: 20px;
    text-align: left;
    line-height: 1em;
}


.ast-footer-html-4 ul li a:hover {
    color: #E7B16F;
    text-decoration: none;
}

.view-staff-listing {
    padding-top: 10px;
    clear: both;
    text-align: center;
}

.view-staff-listing .views-row {
    width: 350px;
    margin: 0px 1% 30px;
    display: inline-block;
    vertical-align: top;
    position: relative;

}

.view-staff-listing-principals .view-staff-listing .views-row {
    width: 500px;
    margin: 0 30px 20px;
}

.view-staff-listing-principals {
    margin-bottom: 20px;
}


.view-staff-listing .view-field-staff-image {
    box-shadow: 0 4px 16px 0 rgba(102, 102, 102, 0.25), 0 10px 28px 0 rgba(102, 102, 102, 0.2) !important;
}


.view-staff-listing .view-field-staff-image img {

    display: block;
}

@media (max-width: 1119px) {


    .view-staff-listing-principals .view-staff-listing .views-row {
        text-align: center;
    }

    .view-staff-listing {
        text-align: center;
    }

    .view-staff-listing .views-row {

        display: inline-block;
        vertical-align: top;
        text-align: center;

    }

    .view-staff-listing-principals .views-row img {
        height: auto;
    }
}

@media (max-width: 650px) {

    .view-staff-listing-principals {
        margin-bottom: 0px;

    }

    .view-staff-listing .views-row {
        max-width: 100%;
        margin: 20px auto;
        display: block;
        vertical-align: top;
        text-align: center;
    }

    .view-staff-listing-principals .view-staff-listing .views-row {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .view-staff-listing-principals .view-staff-listing .views-row img {
        max-width: 100%;
    }

    .view-staff-listing .views-row img {

    }
}

.view-field-staff-info {
    text-align: center;
    margin-top: 20px;
    /* position: absolute;
     left: 12px;
     bottom: 10px;
     background: rgba(66, 133, 198, 0.7);
     color: white;
     width: calc(240px - 25px);
     box-sizing: border-box;
     padding: 10px 10px 10px 10px;*/
}

.view-staff-listing-principals .view-field-staff-info {

}

.view-staff-listing .views-row:hover .view-field-staff-info {

}

.view-staff-listing .views-row .view-field-staff-name {
    font-size: 18px;
    text-align: center;
    line-height: 1.1em;
    margin-bottom: 10px;
    font-weight: bold;
}

.view-staff-listing-principals .view-staff-listing .views-row .view-field-staff-name {
    font-size: 26px;
    text-align: center;
}

.view-staff-listing .views-row .view-field-staff-title {
    font-size: 16px;
    line-height: 1.2em;
    text-align: center;
}

.view-staff-listing .views-row .view-field-staff-title-long {
    font-size: 14px;
}

.view-staff-listing-principals .view-staff-listing .views-row .view-field-staff-title {
    font-size: 22px;
}

/**** STAFF LISTING DETAIL ****/

.single-staff .entry-content {
    padding-bottom: 0px;
}

.type-staff {
    margin-top: 0px;
}

.staff-detail {
    float: right;
    width: 400px;
    margin-top: 0px;
}

.field-staff-image {

}

.staff-detail img {
    width: 100%;
    height: auto;
    max-width: 350px;
    box-shadow: 0 4px 16px 0 rgba(102, 102, 102, 0.25), 0 10px 28px 0 rgba(102, 102, 102, 0.2) !important;
}

.staff-bio h2 {
    margin-top: 0px;
    padding: 0;
    font-style: italic;
}

.staff-bio {
    float: left;
    width: calc(100% - 430px);
    margin-top: 00px;
}

.field-staff-bio {

    padding-top: 10px;
}

.staff-title {
    font-size: 22px;
    font-style: italic;
    font-weight: bold;
}

#back-to-staff {
    clear: both;
    margin: 20px 0;
}

@media (max-width: 800px) {

    .staff-detail,
    .staff-bio {
        float: none;
        width: 100%;
        margin-bottom: 10px;
    }


}


body:not(.ast-primary-sticky-header-active) #staff-listing-wrapper {
    margin-top: 90px;
}


#cookie-notice {
    font-size: 18px;
    position: fixed;
    bottom: 0px;
    overflow: hidden;
    padding: 7px 10px;
    color: white;
    background: black;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    z-index: 999;
}

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

    body.home #cookie-notice {
        /*position: relative;
        bottom: auto;
        left: auto;*/
    }
}

#cookie-notice a {
    color: white;
    text-decoration: underline;
}

#cookie-notice a:hover {
    color: #AABFCA;
}

#cn-accept-cookie {
    text-decoration: none;
}

#cn-notice-text,
#cn-accept-cookie-div {
    display: block;
    vertical-align: top;
    float: left;
    text-align: left;
}

#cn-notice-text {
    width: calc(100% - 140px);
    line-height: 1.5em;
}

#cn-accept-cookie-div {
    width: 130px;
    margin-left: 10px;
    margin-top: 10px;
}

#cn-notice-text span {
    display: inline-block;
    margin-right: 10px;
}

#cn-accept-cookie-div {

}

.cookie-notice-container {
    max-width: 1080px;
    margin: 0 auto;
    font-size: 17px;
}

#cookie-notice .cn-button {

    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    padding: 4px 10px;
    width: auto;
    border-radius: 5px;
    text-decoration: none !important;
    background-color: #E7B16F;
    color: black;
}

#cookie-notice .cn-button:hover {
    background-color: #AABFCA;
    color: black;
}


@media only screen and (max-width: 660px) {

    .cookie-notice-container {

    }

    #cn-notice-text,
    #cn-accept-cookie-div {
        float: none;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}


#blog-topics {
    margin: 0 0 30px 0;
    padding: 0;
    text-align: center;
    clear: both;
    width: 100%;
}

#blog-topics-mobile {
    display: none;
    text-align: center;
    margin: 0 auto 30px auto;
    width: 90%;
}

#blog-topics-mobile select {
    color: black;
}

#blog-topics-mobile label {
    font-weight: bold;
}

@media (min-width: 768px) {
    #blog-topics li:after {
        content: " |";
        padding-left: 10px;
    }

    #blog-topics li:last-child:after {
        content: "";
        padding-left: 0px;
    }

}


#blog-topics li {
    display: inline-block;
    margin: 5px 10px 5px 0px;
    font-size: 21px;
}

#blog-topics li a {
    color: #474747;
    text-decoration: none;
}

#blog-topics li a:hover {
    text-decoration: underline;
}


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

    .insights-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        max-width: 1140px;
        margin: 0 auto 50px;
        padding: 0 20px;
        justify-content: center;
    }

    .insights-grid > div {
        flex: 1 1 calc(50% - 40px); /* two per row */
        max-width: 500px;
    }

    .insights-grid > div:nth-child(5) {
        flex: 0 1 500px; /* last one only one column */
        margin-left: auto;
        margin-right: auto;
    }


    .insights-box li a {
        display: inline-block;
        max-width: 95%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        vertical-align: bottom;

        text-decoration: none;

    }

}

.insights-box {
    background: #f5f5f5;
    padding: 0px;
    border-radius: 15px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.insights-box h2 {
    margin-top: 0;
    background: #d7d2cb;
    border-radius: 15px 15px 0 0;
    padding: 15px 10px;
    text-align: center;
    font-size: 30px;
}

.insights-box ul {
    padding-left: 20px;
    list-style: disc;
    margin: 20px;
}

.insights-box li {
    margin-bottom: 5px;
    color: #d78825;
}


.insights-more {
    padding-top: 10px;
    text-align: center;
    padding-bottom: 20px;
    margin: 0;

}

.insights-more a {

}

.insights-more a:hover {
}

@media only screen and (max-width: 599px) {
    .insights-more {
        padding-bottom: 20px;
    }

    .insights-box {
        margin-bottom: 50px;
    }
}


.about-the-author {
    margin-top: 40px;
    clear: both;
    width: 100%;
    overflow: hidden;
}


.about-left {
    text-align: left;
    margin: 10px auto;
}

.about-right > p {
    margin-top: 30px;
}

.about-the-author h3 {
    text-align: left;
}

.about-left img {
    width: 200px;
    height: 200px;
    border-radius: 100px;
}

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

    .about-the-author h3 {
        text-align: left;
    }

    .about-left {
        float: left;
        width: 200px;
        padding-top: 0px;
    }


    .about-right {
        float: right;
        width: calc(100% - 240px);
        padding-top: 10px;
    }
}

@media only screen and (min-width: 800px) {
    .about-right {
        padding-top: 0px;
    }
}

.archive article h2.entry-title {
    min-height: 70px;
    font-size: 25px;
}

.fc-header-image {

    text-align: center;
}

@media only screen and (min-width: 1921px) {
    .fc-header-image img {
        width: 100%;
        height: auto;
    }
}

@media only screen and (min-width: 769px) {
    .page-template-template-content-sidebar #main {
        background: transparent url(images/sidebar_bg.png?v=2) right 0 repeat-y;
    }
}

.fc-content-layout {
    display: flex;
    gap: 0;
    align-items: flex-start;
    margin-top: 0;
}

.fc-content-layout-main {
    flex: 1 1 0;
    min-width: 0;
    padding: 2.5em 3em 3em 0;


}

.ast-desktop .no-header-image-on-fc-content-layout .fc-content-layout-main {
    margin-top: 60px;
}

.fc-content-layout-main h1#page-title {
    color: #384e5b;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: bold;
}

.fc-content-layout-main blockquote {
    background: #ECE5D9;
    border-color: #B55400;
    margin-left: 0;
    color: #384e5b;
    font-size: 1em;
    line-height: 1.65;
}

.fc-content-sidebar {
    flex: 0 0 280px;
    width: 280px;
    padding: 2.5em 20px 3em 25px;

}

.fc-sidebar-block {
    margin-bottom: 2em;
}

.fc-sidebar-label {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin: 0 0 0.75em;
}

.fc-sidebar-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fc-sidebar-nav li {
    margin-bottom: 2px;
}

.fc-sidebar-nav a {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #5a6e78;
    text-decoration: none;
    padding: 7px 12px;
    border-left: 2px solid transparent;
}

.fc-sidebar-nav a:hover,
.fc-sidebar-nav a.is-active {
    color: #384e5b;
    border-left: 2px solid #b55400;
    background: #f0ebe2;
}

.fc-sidebar-divider {
    border: none;
    border-top: 1px solid #d7d2cb;
    margin: 0 0 2em;
}

.fc-bullet {
    display: flex;
    gap: 12px;
    margin-bottom: 0.9em;
    align-items: flex-start;
}

.fc-bullet.fc-bullet-last {
    margin-bottom: 0;
}

.fc-bullet-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #AABFCA;
    margin-top: 6px;
    flex-shrink: 0;
}

.fc-bullet span {
    font-size: 0.85rem;
    color: #4a4a4a;
    line-height: 1.55;
}

.fc-pullquote {
    margin-bottom: 2em;
    padding: 1.2em 1.25em;
    background: #ece5d9;
    border-left: 3px solid #b55400;
    border-radius: 0 4px 4px 0;
}

.fc-pullquote p {
    font-family: 'Open Sans', sans-serif;
    font-style: italic;
    font-size: 0.9rem;
    color: #384e5b;
    line-height: 1.65;
    margin: 0;
}

.fc-cta-card {
    background: #384e5b;
    border-radius: 6px;
    padding: 1.5em 1.25em;
    text-align: center;
}

#content .fc-cta-card a:focus {
    outline: 2px dotted #AABFCA !important;
    color: white !important;
}

.fc-cta-title {
    font-family: 'Lora', serif;
    font-weight: 700;
    color: #fff;
    font-size: 1.05rem;
    line-height: 1.35;
    margin: 0 0 0.6em;
}

.fc-cta-text {
    font-size: 0.8rem;
    color: #a8c0cc;
    line-height: 1.6;
    margin: 0 0 1.1em;
}

.fc-cta-button {
    display: block;
    background: #b55400;
    color: #fff;
    font-family: 'Open Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 11px 16px;
    border-radius: 4px;
    text-decoration: none;
}

.fc-cta-button:hover {
    background: #7a3209;
    color: white;
    text-decoration: none;
}

/* RESPONSIVE */
@media only screen and (max-width: 768px) {
    .fc-content-layout {
        flex-direction: column !important;
    }

    .fc-content-layout-main {
        padding: 2em 0 2em !important;
        border-right: none !important;
        border-bottom: 1px solid #d7d2cb;
    }

    .fc-content-sidebar {
        flex: 1 1 auto !important;
        width: 100% !important;
        padding: 2em 1em 2em !important;
        border-left: none !important;
        background: #faf8f5;
    }
}

/* ============================================
   Contact Form Layout
   ============================================ */

#contact-intro {
    text-align: center;
}

#contact-intro span {
    display: block;
}

#contact-form {
    max-width: 990px;
    margin: 0 auto;
}

/* --- Top three-bullet row --- */
#contact-form-top {
    display: flex;
    gap: 32px;
    margin-bottom: 32px;
    align-items: flex-start;
}

#contact-form-top > div {
    flex: 1;
    font-size: 14px;
    line-height: 1.55;
    color: #333;
    padding-left: 20px;
    position: relative;
}

#contact-form-top > div::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #c0392b; /* rust/dark red bullet */
}

#contact-form-top > div strong {
    display: inline;
}

/* --- Separator line between top and middle --- */
#contact-form-top {
    padding-bottom: 28px;
    border-bottom: 1px solid #ddd;
}

/* --- Card wrapper --- */
#contact-form-middle {
    border: 1px solid #d7d2cb;
    border-radius: 9px;
    overflow: hidden;
    background: #fff;
    max-width: 580px;
    margin: 0 auto;
}

/* --- Phone / Send note header inside card --- */
#contact-form-middle::before {
    /* We'll handle this with a separate element below —
       see the PHP/HTML note at the bottom */
}

/* --- Gravity Form wrapper --- */
#contact-form-middle .gform_wrapper {
    padding: 24px 28px 0px 28px;
    margin-bottom: 0px;
}

/* --- Field labels --- */
#contact-form-middle .gfield_label {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    margin-bottom: 4px;
}

/* --- Required asterisk/text --- */
#contact-form-middle .gfield_required {
    color: #c0392b;
    margin-left: 2px;
}

/* --- Inputs and textarea --- */
#contact-form-middle input[type="text"],
#contact-form-middle input[type="email"],
#contact-form-middle input[type="tel"],
#contact-form-middle textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d7d2cb;
    border-radius: 3px;
    padding: 10px 12px;
    font-size: 14px;
    color: #333;
    background: #fff;
    margin-top: 4px;
    font-family: inherit;
    -webkit-appearance: none;
}

#contact-form-middle input[type="text"]:focus,
#contact-form-middle input[type="email"]:focus,
#contact-form-middle input[type="tel"]:focus,
#contact-form-middle textarea:focus {
    outline: none;
    border-color: #999;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
}

#contact-form-middle textarea {
    height: 110px;
    resize: vertical;
}

/* --- Field spacing --- */
#contact-form-middle .gfield {
    margin-bottom: 16px;
}

/* --- Submit button --- */
#contact-form-middle .gform_button {
    background-color: #b55400;
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    margin: 8px auto 0 auto;
}

@media only screen and (max-width: 475px) {
    #contact-form-middle .gform_button {
        font-size: 10px;
    }
}

#contact-form-middle .gform_button:hover {
    background-color: #7a3209;
}

#field_1_36 {
    margin: 0 auto;
    text-align: center;
}

/* --- Bottom note --- */
#all-fields-required {
    font-size: 12px;
    color: #666;
    margin: 0 30px 30px 30px;
    text-align: center;
}

/* ============================================
   Call / Send Note header panel
   (add this HTML above your GF shortcode
   inside #contact-form-middle)
   ============================================ */

#contact-form-header {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #d7d2cb;
    background: #f5f3ee; /* warm off-white */
}

#contact-form-call {
    flex: 0 0 260px;
    padding: 20px 24px;
    border-right: 1px solid #d7d2cb;
}

#contact-form-call .label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #7a5c40; /* warm brown */
    margin-bottom: 6px;
}

#contact-form-call .phone {
    font-size: 26px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.1;
    margin-bottom: 4px;
}

#contact-form-call .hours {
    font-size: 12px;
    color: #666;
}

#contact-form-or {
    display: flex;
    align-items: center;
    padding: 0 18px;
    font-size: 13px;
    font-style: italic;
    background: #f5f3ee;
}

#contact-form-send {
    flex: 1;
    padding: 20px 24px;
    background: #f5f3ee;
}

#contact-form-send .label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #7a5c40;
    margin-bottom: 6px;
}

#contact-form-send p {
    font-size: 13px;
    color: #444;
    line-height: 1.5;
    margin: 0;
}

/* ============================================
   Responsive
   ============================================ */

@media (max-width: 1080px) {
    #contact-intro {
        text-align: left;
    }

    #contact-intro span {
        display: inline;
    }
}

@media (max-width: 640px) {


    #contact-form-top {
        flex-direction: column;
        gap: 16px;
    }

    #contact-form-header {
        flex-direction: column;
    }

    #contact-form-call {
        flex: none;
        border-right: none;
        border-bottom: 1px solid #d7d2cb;
    }

    #contact-form-or {
        padding: 10px 24px;
        border-bottom: 1px solid #d7d2cb;
    }

    #contact-form-middle .gform_wrapper {
        padding: 20px 16px 24px;
    }

    #contact-form-call .phone {
        font-size: 22px;
    }
}

/* ============================================================
   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;
    border-radius: 20px;
}

/* 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: 33px;
    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;
    }
}


#hp-intro {
    text-align: center;
    color: white;
}


@media (min-width: 769px) {

    body.home #content {
        background-image: url('images/hp-placeholder.jpg');
        background-size: cover;
        background-position: 40%;
    }

    #hp-inner {
        background-color: rgba(56, 78, 91, 0.7);
        padding: 25px;
        border-radius: 20px;
    }

    #hp-intro {
        padding-top: 560px;
        position: relative;
    }

    #hp-inner {
        position: absolute;
        right: 50px;
        top: 40px;
        width: 560px;
    }
}

#hp-intro h1 {
    color: white;
    font-size: 30px;
    margin-bottom: 20px;
    font-weight: bold;
}

#hp-intro p {
    margin: 0 auto;
}

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

@media (max-width: 768px) {

    body.home .ast-container {
        padding-right: 0px;
        padding-left: 0px;
        background: black;
        background-color: rgba(56, 78, 91, 1);
    }

    #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: #c3ab8d !important;
    color: black !important;
}


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

}

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


#professional-designation-disclosure {
    margin-top: 20px;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    padding: 20px 20px 0 20px;
    display: none;

}

.field-professional-designation-disclosure {
    margin-bottom: 30px;
}

#custom-footer-note {
    background: #384E5B;
    color: #AABFCA;
    text-align: center;
    font-size: 16px;
}

#custom-footer-note span {
    position: relative;
    top: -10px;
}