/* ==========================================
   HEADER: COMMON SETTINGS
   ========================================== */
.elementor-element-603d400::before,
.elementor-element-0d8dec4::before,
.elementor-element-607c811::before,
.elementor-element-2c1c061::before,
.elementor-element-d181366::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 2px;
  width: 26px;
  height: 26px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Address */
.elementor-element-603d400::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a8c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}

/* Phone */
.elementor-element-0d8dec4::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a8c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

/* Fax */
.elementor-element-607c811::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a8c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 6 2 18 2 18 9'/%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6' y='14' width='12' height='8'/%3E%3C/svg%3E");
}

/* Email */
.elementor-element-2c1c061::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a8c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpolyline points='22 6 12 13 2 6'/%3E%3C/svg%3E");
}

/* Hours */
.elementor-element-d181366::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a8c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E");
}
.site-header {
    position: relative !important;
    z-index: 9999 !important;
    background: #fff !important;
    overflow: visible !important;
}

.site-header > .wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    box-sizing: border-box;
    overflow: visible !important;
}

.site-header > .wrap::before,
.site-header > .wrap::after {
    display: none !important;
}

.site-header .title-area {
    display: block !important;
    float: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.site-header .site-title {
    margin: 0 !important;
}

.header-image .site-header .site-title > a {
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-height: 0 !important;
    background-size: contain !important;
    background-position: left center !important;
    background-repeat: no-repeat !important;
}

.site-header .site-description {
    display: none !important;
}

.site-header .header-widget-area,
.site-header .widget_nav_menu,
.site-header .widget_nav_menu .widget-wrap {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.site-header .nav-header a {
    box-sizing: border-box;
    text-decoration: none !important;
}

.site-header button:focus-visible,
.site-header .nav-header a:focus-visible {
    outline: 2px solid #00afc8;
    outline-offset: 2px;
}


/* ==========================================
   DESKTOP: LOGO LEFT, MENU RIGHT
   ========================================== */

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

    .site-header > .wrap {
        gap: 24px;
        padding: 15px !important;
    }

    .site-header .title-area {
        flex: 0 0 340px !important;
        width: 340px !important;
        max-width: 340px !important;
    }

    .header-image .site-header .site-title > a {
        height: 70px !important;
    }

    .site-header .header-widget-area {
        float: none !important;
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: auto !important;
    }

    .site-header .menu-toggle,
    .site-header .sub-menu-toggle {
        display: none !important;
    }

    .site-header .nav-header {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        overflow: visible !important;
        background: #fff !important;
    }

    .site-header .nav-header > .genesis-nav-menu {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: clamp(8px, 1.5vw, 28px);
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .nav-header > .genesis-nav-menu > li {
        position: relative !important;
        display: block !important;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .nav-header > .genesis-nav-menu > li > a {
        display: block !important;
        width: auto !important;
        padding: 12px 6px !important;
        background: transparent !important;
        color: #73808e !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        white-space: nowrap;
    }

    .site-header .nav-header > .genesis-nav-menu > li > a:hover,
    .site-header .nav-header > .genesis-nav-menu > li > a:focus {
        color: #00afc8 !important;
    }

    /* Dropdown arrows */
    .site-header .nav-header > .genesis-nav-menu >
    .menu-item-has-children > a::after {
        content: "" !important;
        display: inline-block;
        width: 0;
        height: 0;
        margin-left: 10px;
        vertical-align: middle;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid #73808e;
    }

    /* Contact Us button */
    .site-header .nav-header > .genesis-nav-menu >
    li > a[href*="contact"] {
        margin-left: 8px !important;
        padding: 11px 22px !important;
        border: 2px solid #00afc8 !important;
        border-radius: 3px;
        color: #00afc8 !important;
        text-transform: uppercase;
    }

    .site-header .nav-header > .genesis-nav-menu >
    li > a[href*="contact"]:hover,
    .site-header .nav-header > .genesis-nav-menu >
    li > a[href*="contact"]:focus {
        background: #00afc8 !important;
        color: #fff !important;
    }

    /* Dropdown panels */
    .site-header .nav-header .sub-menu {
        display: none !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: auto !important;
        width: 250px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: #fff !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
        z-index: 10000;
    }

    .site-header .nav-header li:hover > .sub-menu,
    .site-header .nav-header li:focus-within > .sub-menu {
        display: block !important;
    }

    .site-header .nav-header .sub-menu li {
        position: relative !important;
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .nav-header .sub-menu a {
        display: block !important;
        width: 100% !important;
        padding: 12px 18px !important;
        border: 0 !important;
        background: #fff !important;
        color: #73808e !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        white-space: normal;
    }

    .site-header .nav-header .sub-menu a:hover,
    .site-header .nav-header .sub-menu a:focus {
        background: #53585b !important;
        color: #fff !important;
    }

    .site-header .nav-header .sub-menu .sub-menu {
        top: 0 !important;
        left: 100% !important;
    }
}


/* ==========================================
   SMALLER DESKTOP SCREENS
   ========================================== */

@media only screen and (min-width: 1024px)
and (max-width: 1350px) {

    .site-header > .wrap {
        gap: 15px;
    }

    .site-header .title-area {
        flex-basis: 230px !important;
        width: 230px !important;
        max-width: 230px !important;
    }

    .site-header .nav-header > .genesis-nav-menu {
        gap: 5px;
    }

    .site-header .nav-header > .genesis-nav-menu > li > a {
        padding: 12px 4px !important;
        font-size: 14px !important;
    }

    .site-header .nav-header > .genesis-nav-menu >
    li > a[href*="contact"] {
        margin-left: 4px !important;
        padding: 10px 12px !important;
    }
}


/* ==========================================
   MOBILE AND TABLET MENU
   ========================================== */

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

    .site-header > .wrap {
        min-height: 100px;
        gap: 20px;
        padding: 10px 20px !important;
    }

    .site-header .title-area {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: 440px !important;
    }

    .header-image .site-header .site-title > a {
        height: 80px !important;
    }

    .site-header .header-widget-area {
        position: relative !important;
        float: none !important;
        flex: 0 0 58px !important;
        width: 58px !important;
        max-width: 58px !important;
    }

    .site-header .widget_nav_menu,
    .site-header .widget_nav_menu .widget-wrap {
        position: static !important;
    }

    /* Hamburger button */
    .site-header .menu-toggle {
        position: relative !important;
        display: block !important;
        visibility: visible !important;
        width: 58px !important;
        height: 58px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 5px !important;
        background: #f3f3f3 !important;
        color: #53585b !important;
        font-size: 0 !important;
        cursor: pointer;
        z-index: 2;
    }

    .site-header .menu-toggle::before {
        content: "" !important;
        position: absolute;
        top: 18px;
        left: 12px;
        width: 34px;
        height: 4px;
        margin: 0 !important;
        border-radius: 2px;
        background: #53585b;
        box-shadow: 0 9px #53585b, 0 18px #53585b;
        transform: none;
    }

    .site-header .menu-toggle::after {
        content: "" !important;
        display: none;
        position: absolute;
        top: 27px;
        left: 12px;
        width: 34px;
        height: 4px;
        border-radius: 2px;
        background: #53585b;
    }

    /* X when open */
    .site-header .menu-toggle.activated::before {
        top: 27px;
        box-shadow: none;
        transform: rotate(45deg);
    }

    .site-header .menu-toggle.activated::after {
        display: block;
        transform: rotate(-45deg);
    }

    /* Floating menu */
    .site-header .nav-header {
        display: none !important;
        position: absolute !important;
        top: 18px !important;
        right: 58px !important;
        left: auto !important;
        width: 310px !important;
        max-width: calc(100vw - 98px) !important;
        height: auto !important;
        max-height: calc(100vh - 120px);
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        overflow: auto !important;
        z-index: 1;
    }

    .site-header .menu-toggle.activated + .nav-header {
        display: block !important;
    }

    .site-header .nav-header .genesis-nav-menu {
        display: block !important;
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
    }

    .site-header .nav-header .menu-item {
        position: relative !important;
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .site-header .nav-header .menu-item > a {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 28px !important;
        border: 0 !important;
        background: #fff !important;
        color: #53585b !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;
        text-align: left !important;
        white-space: normal;
    }

    .site-header .nav-header .menu-item-has-children > a {
        padding-right: 58px !important;
    }

    .site-header .nav-header .current-menu-item > a,
    .site-header .nav-header .current-menu-ancestor > a,
    .site-header .nav-header .menu-item > a:hover,
    .site-header .nav-header .menu-item > a:focus {
        background: #53585b !important;
        color: #fff !important;
    }

    /* Submenu buttons */
    .site-header .nav-header .sub-menu-toggle {
        display: block !important;
        visibility: visible !important;
        position: absolute !important;
        top: 0 !important;
        right: 8px !important;
        width: 44px !important;
        height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        color: #53585b !important;
        cursor: pointer;
    }

    .site-header .nav-header .sub-menu-toggle::before {
        color: inherit !important;
    }

    .site-header .nav-header .current-menu-item > .sub-menu-toggle,
    .site-header .nav-header .current-menu-ancestor > .sub-menu-toggle,
    .site-header .nav-header a:hover + .sub-menu-toggle,
    .site-header .nav-header a:focus + .sub-menu-toggle {
        color: #fff !important;
    }

    .site-header .nav-header .sub-menu {
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-shadow: none !important;
    }

    .site-header .nav-header .sub-menu a {
        padding-left: 40px !important;
        font-size: 17px !important;
    }
}


/* Mouse hover on tablet-sized windows */
@media only screen and (max-width: 1023px)
and (hover: hover) and (pointer: fine) {

    .site-header .widget_nav_menu:hover .nav-header {
        display: block !important;
    }

    .site-header .widget_nav_menu:hover .menu-toggle::before {
        top: 27px;
        box-shadow: none;
        transform: rotate(45deg);
    }

    .site-header .widget_nav_menu:hover .menu-toggle::after {
        display: block;
        transform: rotate(-45deg);
    }
}


/* Smaller phones */
@media only screen and (max-width: 600px) {

    .site-header > .wrap {
        min-height: 88px;
        gap: 14px;
        padding: 10px 14px !important;
    }

    .header-image .site-header .site-title > a {
        height: 68px !important;
    }

    .site-header .nav-header {
        top: 58px !important;
        right: 0 !important;
        width: 310px !important;
        max-width: calc(100vw - 28px) !important;
    }
}


/* ==========================================
   FOOTER: FOUR COLUMNS
   ========================================== */

#genesis-footer-widgets {
    background: #fff !important;
    padding: 40px 30px 25px !important;
    color: #999 !important;
}

#genesis-footer-widgets > .wrap {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 40px;
    row-gap: 24px;
    width: 100% !important;
    max-width: 1720px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

#genesis-footer-widgets > .wrap::before,
#genesis-footer-widgets > .wrap::after {
    display: none !important;
}

#genesis-footer-widgets .footer-widget-area {
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#genesis-footer-widgets .widget {
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 0 24px !important;
    padding: 0 !important;
    box-sizing: border-box;
}

#genesis-footer-widgets .widget-title {
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: #73808e !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

#genesis-footer-widgets p,
#genesis-footer-widgets li,
#genesis-footer-widgets .textwidget {
    color: #999 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    word-break: normal !important;
    overflow-wrap: break-word;
}

#genesis-footer-widgets p {
    margin: 0 0 10px !important;
}

#genesis-footer-widgets ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

#genesis-footer-widgets li {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

#genesis-footer-widgets a {
    color: #999 !important;
    text-decoration: none !important;
}

#genesis-footer-widgets li > a {
    display: inline-block;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
}

#genesis-footer-widgets a:hover,
#genesis-footer-widgets a:focus {
    color: #00afc8 !important;
    text-decoration: underline !important;
}


/* ==========================================
   FOOTER LOGO AND CPA CAPTION
   ========================================== */

#genesis-footer-widgets #media_image-6 img {
    display: block;
    width: 100% !important;
    max-width: 321px !important;
    height: auto !important;
}

#genesis-footer-widgets #media_image-8 .wp-caption {
    display: flex !important;
    align-items: center !important;
    gap: 16px;
    width: 100% !important;
    max-width: 100% !important;
    margin: 28px 0 0 !important;
    padding: 0 !important;
}

#genesis-footer-widgets #media_image-8 img,
#genesis-footer-widgets img.footer-cpa-logo {
    flex: 0 0 85px;
    width: 85px !important;
    max-width: 85px !important;
    height: auto !important;
    margin: 0 !important;
}

#genesis-footer-widgets #media_image-8 .wp-caption-text {
    margin: 0 !important;
    padding: 0 !important;
    color: #999 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    text-align: left !important;
}


/* ==========================================
   CONTACT DETAILS
   ========================================== */

#genesis-footer-widgets .footer-widgets-4 p {
    margin: 0 0 10px !important;
}

#genesis-footer-widgets a[href^="mailto:"] {
    color: #00afc8 !important;
}


/* ==========================================
   COPYRIGHT ROW AND HORIZONTAL LINE
   Requires the copyright HTML in Footer 4
   ========================================== */

#genesis-footer-widgets .footer-widgets-4 {
    display: contents !important;
}

#genesis-footer-widgets .widget:has(.verdino-footer-bottom) {
    grid-column: 1 / -1;
    width: 100% !important;
    margin: 0 !important;
    padding: 24px 0 0 !important;
    border-top: 1px solid #ccc !important;
}

#genesis-footer-widgets .verdino-footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    color: #999;
    font-size: 14px;
    line-height: 1.5;
}

#genesis-footer-widgets .verdino-footer-policies {
    display: flex;
    align-items: center;
    gap: 20px;
}

#genesis-footer-widgets .verdino-footer-policies a,
#genesis-footer-widgets .verdino-footer-policies span {
    color: #73808e !important;
}

/* Hide default theme credits */
.site-footer {
    display: none !important;
}


/* ==========================================
   RESPONSIVE FOOTER
   ========================================== */

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

    #genesis-footer-widgets > .wrap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 30px;
        row-gap: 24px;
    }
}

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

    #genesis-footer-widgets {
        padding: 30px 20px 20px !important;
    }

    #genesis-footer-widgets > .wrap {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    #genesis-footer-widgets .verdino-footer-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}