/*
Theme Name: Divi Child
Theme URI: https://www.elegantthemes.com/gallery/divi/
Description: Child theme for Divi.
Author: Angela
Template: Divi
Version: 1.0.0
*/

/* =====================================================
   Header
===================================================== */

/* Header reset */
.pum-nav,
.pum-nav * {
    box-sizing: border-box;
}

/* Remove Divi default spacing around header modules */
.et_pb_section.et_pb_section_tb_header,
.et_pb_row.et_pb_row_tb_header,
.et_pb_column.et_pb_column_tb_header,
#et-tb-has-header #main-header,
.et_pb_section_tb_header .et_pb_row,
.et_pb_section_tb_header .et_pb_column {
    padding: 0 !important;
    margin: 0 !important;
}

/* Header container */
.pum-nav {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: rgba(255,255,255,.94);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    backdrop-filter: saturate(140%) blur(8px);
    transition: box-shadow .25s ease;
    font-family: 'Montserrat', sans-serif;
}

.pum-nav.is-scrolled {
    box-shadow: 0 4px 20px rgba(8,63,92,.10);
}

/* Header inner layout */
.pum-nav__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 0;
    display: flex;
    align-items: center;
    gap: 20px;
}

/* Header logo */
.pum-nav__logo {
    cursor: pointer;
    display: flex;
    align-items: center;
    flex: none;
    margin-right: auto;
    text-decoration: none;
}

.pum-nav__logo img {
    height: 42px;
    width: auto;
    display: block;
}

/* Desktop navigation */
.pum-nav__desktop {
    display: none;
    align-items: center;
    gap: 22px;
    flex-wrap: nowrap;
}

.pum-nav__desktop-links {
    display: flex;
    align-items: center;
    gap: 22px;
}

/* Navigation links */
.pum-nav .pum-nav__link {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    letter-spacing: .005em;
    text-decoration: none !important;
    cursor: pointer !important;
    padding: 6px 1px !important;
    white-space: nowrap !important;
    border-bottom: 2px solid transparent !important;
    color: #083F5C !important;
    transition: color .2s ease, border-color .2s ease;
}

.pum-nav .pum-nav__link:hover,
.pum-nav .pum-nav__link.is-active {
    color: #077797 !important;
    border-bottom-color: #077797 !important;
}

/* Header CTA button */
.pum-nav .pum-nav__cta {
    display: inline-flex !important;
    align-items: center !important;
    background: #E3B053 !important;
    color: #083F5C !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14.5px !important;
    padding: 12px 22px !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-shadow: 0 6px 16px rgba(175,118,46,.26) !important;
    text-decoration: none !important;
    transition: background .2s ease, transform .2s ease !important;
}

.pum-nav .pum-nav__cta:hover {
    background: #E3B053 !important;
    transform: translateY(-1px);
}

/* Mobile menu toggle */
.pum-nav .pum-nav__toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    background: rgba(7,119,151,.07) !important;
    border: 1px solid rgba(7,119,151,.18) !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    color: #083F5C !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.pum-nav .pum-nav__toggle svg {
    width: 24px !important;
    height: 24px !important;
    max-width: none !important;
}

.pum-nav .pum-nav__toggle:hover,
.pum-nav .pum-nav__toggle:focus {
    background: rgba(7,119,151,.07) !important;
    border: 1px solid rgba(7,119,151,.18) !important;
}

.pum-nav .pum-nav__toggle .pum-nav__icon-open {
    display: block !important;
}

.pum-nav .pum-nav__toggle .pum-nav__icon-close {
    display: none !important;
}

.pum-nav.is-open .pum-nav__toggle .pum-nav__icon-open {
    display: none !important;
}

.pum-nav.is-open .pum-nav__toggle .pum-nav__icon-close {
    display: block !important;
}

/* Mobile navigation panel */
.pum-nav__mobile-panel {
    display: none;
    border-top: 1px solid rgba(8,63,92,.08);
    background: #fff;
    padding: 8px 24px 22px;
    flex-direction: column;
}

.pum-nav.is-open .pum-nav__mobile-panel {
    display: flex;
}

/* Mobile navigation links */
.pum-nav .pum-nav__mobile-link {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 17px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    padding: 14px 4px !important;
    border-bottom: 1px solid rgba(8,63,92,.07) !important;
    color: #083F5C !important;
}

.pum-nav .pum-nav__mobile-link.is-active {
    color: #077797 !important;
}

/* Mobile CTA button */
.pum-nav .pum-nav__mobile-cta {
    margin-top: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #E3B053 !important;
    color: #083F5C !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    padding: 15px 22px !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    box-shadow: 0 6px 16px rgba(175,118,46,.26) !important;
    text-decoration: none !important;
    transition: background .2s ease !important;
}

.pum-nav .pum-nav__mobile-cta:hover {
    background: #E3B053 !important;
}

/* Desktop header breakpoint */
@media (min-width: 1024px) {
    .pum-nav .pum-nav__desktop {
        display: flex !important;
    }

    .pum-nav .pum-nav__toggle {
        display: none !important;
    }

    .pum-nav__mobile-panel {
        display: none !important;
    }
}


/* =====================================================
   Footer
===================================================== */

/* Footer social icons */
html body .et_pb_social_media_follow_network_0_tb_footer.et_pb_social_icon a.icon:before,
html body .et_pb_social_media_follow_network_1_tb_footer.et_pb_social_icon a.icon:before,
html body .et_pb_social_media_follow_network_2_tb_footer.et_pb_social_icon a.icon:before {
    font-size: 11px !important;
    width: 10px !important;
    height: 10px !important;
    line-height: 10px !important;
}


/* =====================================================
   Ticker
===================================================== */

/* Ticker animation */
@keyframes pum-ticker {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/* Ticker track */
.ticker-track {
    display: flex;
    width: max-content;
    animation: pum-ticker 34s linear infinite;
}


/* =====================================================
   Slider Badge Position
===================================================== */

/* Slider description layout */
.et_pb_slider .et_pb_slide_description {
    display: flex;
    flex-direction: column;
}

/* Move slider button above the content */
.et_pb_slider .et_pb_button_wrapper {
    order: -1;
    margin-bottom: 26px;
    margin-top: 0;
    align-self: flex-start;
}


/* =====================================================
   Native Testimonial Slider Navigation
===================================================== */

/* Native controller container */
.et_pb_slider_0 .et-pb-controllers {
    display: flex !important;
    justify-content: flex-start !important;
    padding-left: 40px !important;
}

/* Native dots */
.et_pb_slider_0 .et-pb-controllers a {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background: rgba(7,119,151,.28) !important;
    border: none !important;
    font-size: 0 !important;
    margin: 0 5px !important;
}

/* Active native dot */
.et_pb_slider_0 .et-pb-controllers a.et-pb-active-control {
    background: #077797 !important;
}

/* Native arrows */
.et_pb_slider_0 .et-pb-arrow-prev,
.et_pb_slider_0 .et-pb-arrow-next {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    border: 1.5px solid rgba(7,119,151,.28) !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    bottom: 20px !important;
    top: auto !important;
}

/* Native previous arrow */
.et_pb_slider_0 .et-pb-arrow-prev {
    left: auto !important;
    right: 70px !important;
}

/* Native next arrow */
.et_pb_slider_0 .et-pb-arrow-next {
    right: 10px !important;
}

/* Hide native slider navigation */
.et_pb_slider_0 .et-pb-controllers,
.et_pb_slider_0 .et-pb-arrow-prev,
.et_pb_slider_0 .et-pb-arrow-next {
    display: none !important;
}


/* =====================================================
   Custom Testimonial Navigation
===================================================== */

/* Custom navigation wrapper */
.testi-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 40px 0;
}

/* Custom navigation dots */
.testi-nav-dots {
    display: flex;
    gap: 10px;
}

.testi-nav-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: rgba(7,119,151,.28);
    cursor: pointer;
    padding: 0;
}

.testi-nav-dot.active {
    background: #077797;
}

/* Custom navigation arrows */
.testi-nav-arrows {
    display: flex;
    gap: 12px;
}

.testi-nav-arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.5px solid rgba(7,119,151,.28);
    background: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(8,63,92,.07);
}


/* =====================================================
   Timeline
===================================================== */

/* Hide timeline date */
.et_pb_timeline_date {
    display: none !important;
}

/* Timeline marker */
.et_pb_timeline_marker {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    background: #fff !important;
    border: 2px solid rgba(7,119,151,.22) !important;
    box-shadow: 0 8px 22px rgba(8,63,92,.10) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Timeline counter */
.et_pb_timeline {
    counter-reset: tl;
}

.et_pb_timeline_item {
    counter-increment: tl;
}

.et_pb_timeline_marker::after {
    content: counter(tl, decimal-leading-zero) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
    font-size: 23px !important;
    color: #077797 !important;
}

/* Center timeline connector */
.et_pb_timeline_connector {
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Timeline ornament width */
.et_pb_timeline_ornament {
    width: 64px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}


/* =====================================================
   Testimonial Slider
===================================================== */

/* Slider wrapper */
.testi-slider-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
}

/* Slider track */
.testi-track {
    display: flex;
    transition: transform .55s cubic-bezier(.22, .61, .36, 1);
}

/* Slider slide */
.testi-slide {
    flex: 0 0 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Testimonial card */
.testi-card {
    background: linear-gradient(140deg, #077797 0%, #055f74 100%);
    border-radius: 16px;
    padding: clamp(34px, 5vw, 58px);
    display: flex;
    flex-direction: column;
    min-height: 300px;
}

/* Testimonial badge */
.testi-badge {
    align-self: flex-start;
    background: #9b6727;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: .02em;
    padding: 7px 15px;
    border-radius: 6px;
    margin-bottom: 26px;
    box-shadow: 0 8px 20px rgba(8,63,92,.2);
}

/* Testimonial quote */
.testi-quote {
    font-family: 'Commissioner', 'Georgia', serif;
    font-size: clamp(19px, 1.9vw, 23px);
    line-height: 1.6;
    color: #eaf1f5;
    margin: 0 0 28px;
    max-width: 900px;
}

/* Testimonial author */
.testi-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 17px;
    color: #fff;
}

.testi-role {
    font-size: 14.5px;
    color: #d6f5f2;
    margin-top: 3px;
}

/* Slider controls */
.testi-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 30px;
}

/* Slider dots */
.testi-dots {
    display: flex;
    gap: 10px;
}

.testi-dot {
    width: 30px;
    height: 8px;
    border-radius: 100px;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background .3s, width .3s;
    background: rgba(7,119,151,.22);
}

.testi-dot.active {
    width: 40px;
    background: #077797;
}

/* Slider arrows */
.testi-arrows {
    display: flex;
    gap: 12px;
}

.testi-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.5px solid rgba(7,119,151,.28);
    background: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(8,63,92,.07);
    transition: border-color .2s, background .2s;
}

.testi-btn:hover {
    border-color: #077797;
    background: rgba(7,119,151,.06);
}


/* =====================================================
   Badges
===================================================== */

/* Badge list */
.pum-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

/* Badge item */
.pum-badges span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 13px;
    color: #077797;
    background: #fff;
    border: 1px solid rgba(7,119,151,.2);
    padding: 7px 13px;
    border-radius: 100px;
}


/* =====================================================
   Buttons
===================================================== */

/* Power button animation */
a.power-btn {
    transition: transform .3s ease, box-shadow .3s ease !important;
}

a.power-btn:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.15) !important;
}


/* =====================================================
   Icon List
===================================================== */

/* Align icon list items to the top on mobile */
 
    .et_pb_icon_list_item {
        align-items: flex-start !important;
    }

    .et_pb_icon_list_item .et-pb-icon {
        align-self: flex-start !important;
        margin-top: 4px;
    }



/* =====================================================
   Pricing Cards
===================================================== */

/* Pricing card base */
.pcard {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    height: 100%;
    max-width: 346px;
    width: 100%;
}

/* Featured pricing card */
.pcard--featured {
    border: 2px solid #b5872a;
}

/* Pricing card header */
.pcard-header {
    background-color: #077797;
    padding: 24px 30px;
    height: 72px;
    border-radius: 14px 14px 0 0;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.pcard-header--dark {
    background-color: #083F5C;
}

.pcard-header h3 {
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* Pricing card badge */
.pcard-badge {
  background: #b5872a;
  color: #ffffff;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-left: 12px;
  flex-shrink: 0;
}

/* Pricing card body */
.pcard-body {
    padding: 24px 30px;
}

/* Pricing card description */
.pcard-desc {
    font-size: 15px;
    font-weight: 400;
    line-height: 21.75px;
    color: #555;
    margin-bottom: 20px;
}

/* Pricing card list */
.pcard-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pcard-list li {
    font-size: 15px;
    font-weight: 400;
    line-height: 21.75px;
    color: #555;
    padding: 6px 0 6px 26px;
    position: relative;
    list-style: none !important;
}

.pcard-list li::before {
    content: "✓";
    color: #b5872a;
    font-weight: 700;
    position: absolute;
    left: 0;
}

.pcard-list li::marker {
    display: none !important;
    content: "" !important;
}

/* Remove default list styling inside pricing cards */
.pcard-body ul,
.pcard-body ol {
    list-style: none !important;
    padding-left: 0 !important;
}

.pcard-body li {
    list-style: none !important;
}

.pcard-body li::marker {
    content: "" !important;
}

.pcard {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pcard:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}


.talk-phone-blurb .et_pb_blurb_content {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: none !important;
}

.talk-phone-blurb .et_pb_main_blurb_image {
    margin: 0 !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
}

.talk-phone-blurb .et_pb_blurb_container {
    padding-left: 0 !important;
}

.talk-phone-blurb .et_pb_module_header {
    padding-bottom: 0 !important;
    margin: 0 !important;
}

.et_pb_post {
  border: 1px solid #cfdde5;
  border-radius: 14px;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.et_pb_post:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(8,63,92,0.12);
}

#filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
#filter-pills p {
    margin: 0;
    display: inline;
}
#filter-pills a {
    display: inline-block;
    font-size: 13px;
    padding: 7px 18px;
    border-radius: 20px;
    background: #e6eef3;
    color: #3c4853;
    text-decoration: none;
    margin-right: 8px;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
#filter-pills a:hover {
    background: #d5dfe6;
}
#filter-pills a.active {
    background: #077797;
    color: #ffffff;
    font-weight: 500;
}

#blog-pagination {
    display: flex;
    gap: 8px;
    justify-content: center;
    margin-top: 30px;
}
#blog-pagination .page-btn {
    display: inline-block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    border-radius: 6px;
    background: #e6eef3;
    color: #3c4853;
    text-decoration: none;
    font-size: 14px;
}
#blog-pagination .page-btn.active {
    background: #077797;
    color: #ffffff;
    font-weight: 500;
}