/* Divi framework shim — core grid/layout/module structure (Wayback-unarchived).
   Provides the skeleton; per-page inline <style> blocks supply colors + computed module styles. */
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto;border:0}
.et_pb_section{position:relative;background-color:#fff;padding:54px 0}
.et_pb_section.et_pb_with_background{background-size:cover;background-position:center}
.et_pb_fullwidth_section{padding:0}
.et_pb_row{position:relative;width:80%;max-width:1080px;margin:auto}
.et_pb_row_inner{position:relative;width:100%;max-width:1080px;margin:auto}
.et_pb_row::after,.et_pb_row_inner::after,.et_pb_column::after{content:"";display:table;clear:both}
.et_pb_column{float:left;position:relative;z-index:9;background-position:center;background-size:cover}
.et_pb_gutters3 .et_pb_column{margin-right:5.5%}
.et_pb_gutters3 .et_pb_column:last-child{margin-right:0}
.et_pb_column_4_4{width:100%}
.et_pb_gutters3 .et_pb_column_3_4{width:73.625%}
.et_pb_gutters3 .et_pb_column_2_3{width:64.333%}
.et_pb_gutters3 .et_pb_column_1_2{width:47.25%}
.et_pb_gutters3 .et_pb_column_1_3{width:29.6667%}
.et_pb_gutters3 .et_pb_column_2_5{width:36.4%}
.et_pb_gutters3 .et_pb_column_3_5{width:58.1%}
.et_pb_gutters3 .et_pb_column_1_4{width:21.125%}
.et_pb_gutters3 .et_pb_column_1_5{width:15.6%}
.et_pb_gutters3 .et_pb_column_1_6{width:12.0833%}
.et_pb_module{margin-bottom:30px}
.et_pb_text_inner{position:relative}
.et_pb_text_align_left{text-align:left}
.et_pb_text_align_center{text-align:center}
.et_pb_text_align_right{text-align:right}
.et_pb_bg_layout_light,.et_pb_bg_layout_light .et_pb_module_header,.et_pb_bg_layout_light p{color:#666}
.et_pb_bg_layout_light h1,.et_pb_bg_layout_light h2,.et_pb_bg_layout_light h3,.et_pb_bg_layout_light h4{color:#333}
.et_pb_bg_layout_dark,.et_pb_bg_layout_dark h1,.et_pb_bg_layout_dark h2,.et_pb_bg_layout_dark h3,.et_pb_bg_layout_dark h4,.et_pb_bg_layout_dark p{color:#fff}
/* Buttons */
.et_pb_button{font-size:20px;font-weight:500;padding:.3em 1em;line-height:1.7em!important;background-color:transparent;border:2px solid;border-radius:3px;display:inline-block;position:relative;text-decoration:none;color:#2ea3f2;border-color:#2ea3f2;transition:all .2s;cursor:pointer}
.et_pb_button:hover{padding:.3em 2em .3em .7em}
.et_pb_promo_button,.et_pb_more_button{}
/* Promo / CTA */
.et_pb_promo,.et_pb_cta{padding:40px 60px;text-align:center;position:relative}
.et_pb_promo_description,.et_pb_cta_description{position:relative}
.et_pb_promo h2,.et_pb_cta h2{font-size:26px;font-weight:500;padding-bottom:10px}
/* Fullwidth header */
.et_pb_fullwidth_header{position:relative;padding:50px 0}
.et_pb_fullwidth_header .et_pb_fullwidth_header_container{display:flex;flex-direction:column}
.et_pb_fullwidth_header .header-content{max-width:1080px;margin:0 auto;padding:0 30px}
.et_pb_fullwidth_header h1,.et_pb_fullwidth_header .et_pb_module_header{font-size:30px;font-weight:500}
.et_pb_fullwidth_header_subhead{font-size:18px}
/* Slider */
.et_pb_slider{position:relative;overflow:hidden}
.et_pb_slides{position:relative}
.et_pb_slide{position:relative;width:100%;padding:0;min-height:400px;background-size:cover;background-position:center;display:table}
.et_pb_slides .et_pb_slide:first-child{display:table}
.et_pb_slides .et_pb_slide:not(:first-child){display:none}
.et_pb_slide_description{display:table-cell;vertical-align:middle;text-align:center;padding:9% 8%}
.et_pb_slide_title{font-size:46px;font-weight:500;line-height:1em;margin-bottom:10px}
.et_pb_slide_content{font-size:16px;line-height:1.6em}
.et_pb_slider_with_overlay .et_pb_slide_overlay_container{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3)}
/* Contact form */
.et_pb_contact_form_container{}
.et_pb_contact p{width:100%;float:none;margin-bottom:3%;position:relative}
.et_pb_contact input,.et_pb_contact textarea,.et_pb_contact_field input,.et_pb_contact_field textarea{width:100%;padding:16px;background:rgba(0,0,0,.03);border:none;border-radius:3px;font-size:16px;color:#999}
.et_pb_contact textarea{min-height:120px}
.et_contact_bottom_container,.et_pb_contact .et_pb_button{margin-top:10px}
/* Images */
.et_pb_image{margin:0 auto}
.et_pb_image img{display:block;margin:0 auto}
/* Headings + base type */
.et_pb_module h1{font-size:30px}.et_pb_module h2{font-size:26px}.et_pb_module h3{font-size:22px}.et_pb_module h4{font-size:18px}
h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1em}
/* Widgets / footer */
.et_pb_widget{float:left;max-width:100%;margin-bottom:30px}
.et_pb_widget_area{}
/* Menu basics (Divi header) */
#main-header,.et-fixed-header{position:relative;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.1)}
#et-top-navigation{float:right;padding-top:35px}
.et_pb_menu ul,#top-menu{list-style:none;margin:0;padding:0}
#top-menu li{display:inline-block;position:relative;padding-right:22px;font-size:14px}
#top-menu li a{color:#666;text-decoration:none}
.container{position:relative;width:80%;max-width:1080px;margin:auto}
#logo{max-height:54px;display:inline-block}
/* Responsive collapse */
@media (max-width:980px){
  .et_pb_column{width:100%!important;margin-right:0!important;margin-bottom:30px}
  .et_pb_row,.et_pb_row_inner,.container{width:90%}
  .et_pb_slide_title{font-size:32px}
  #et-top-navigation{display:none}
}
@media (max-width:767px){
  .et_pb_section{padding:50px 0}
  .et_pb_slide_description{padding:16px 5%}
}
/* --- Parallax backgrounds (CSS parallax) --- */
.et_pb_section,.et_pb_slide,.et_pb_fullwidth_header{overflow:hidden}
.et_parallax_bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover!important;background-position:center!important;background-repeat:no-repeat;z-index:1}
.et_pb_parallax_css{background-attachment:fixed}
.et_pb_slide{position:relative;z-index:0}
.et_pb_slide .et_pb_container,.et_pb_slide_description,.et_pb_slide .et_pb_slide_image{position:relative;z-index:3}
.et_pb_slide_overlay_container{z-index:2}
.et_pb_fullwidth_slider_0,.et_pb_slider{min-height:480px}
.et_pb_slide_description{min-height:480px;box-sizing:border-box}
/* section bg images should cover */
.et_pb_section[style*="background-image"]{background-size:cover;background-position:center}
/* --- Header polish --- */
#main-header{padding:0}
.et_pb_section_0{background-size:auto!important;background-repeat:no-repeat;background-position:left top}
#logo{max-height:60px;width:auto}
.container.et_menu_container{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
#et-top-navigation{float:none;padding-top:0}
#top-menu li a{padding:0 4px}

/* ===== FIX PASS 2 ===== */
/* Section background images must cover (dark-overlay sections were rendering flat gray) */
.et_pb_section{background-size:cover;background-position:center;background-repeat:no-repeat}
.et_pb_section_parallax{background-color:#2a2a2a}
/* dark-layout sections: readable text + a fallback dark tint so text never sits on bare light bg */
.et_pb_bg_layout_dark{position:relative}
.et_pb_bg_layout_dark .et_pb_text_inner,.et_pb_bg_layout_dark .et_pb_promo_description,
.et_pb_bg_layout_dark h1,.et_pb_bg_layout_dark h2,.et_pb_bg_layout_dark h3,.et_pb_bg_layout_dark h4,
.et_pb_bg_layout_dark p,.et_pb_bg_layout_dark li,.et_pb_bg_layout_dark a{color:#fff!important;position:relative;z-index:2}
.et_pb_bg_layout_dark .et_pb_text_align_center,.et_pb_bg_layout_dark{text-shadow:0 1px 3px rgba(0,0,0,.45)}

/* ===== HEADER / NAV ===== */
#main-header{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.1);position:relative}
.container.et_menu_container{display:flex;align-items:center;justify-content:space-between;min-height:80px;width:90%;max-width:1080px;margin:auto}
.logo_container{position:relative;float:none;display:inline-block;height:auto}
#logo{max-height:62px;width:auto;display:inline-block;vertical-align:middle}
#et-top-navigation{float:none;display:inline-block;padding-top:0;font-weight:600}
/* desktop horizontal menu */
#top-menu-nav,#top-menu{display:inline-block}
#top-menu{list-style:none;margin:0;padding:0}
#top-menu>li{display:inline-block;float:none;position:relative;padding:0 0 0 26px;line-height:1}
#top-menu>li>a{font-size:15px;color:#444;text-decoration:none;font-weight:600}
#top-menu>li>a:hover{color:#2ea3f2}
/* hide Divi mobile "Select Page" dropdown on desktop */
#et_mobile_nav_menu,.et_mobile_menu,.mobile_nav,.mobile_menu_bar,.et_pb_menu__mobile-menu{display:none!important}
.et_search_form_container,#et_top_search,.et-search-form{display:none!important}

/* slider text readability */
.et_pb_slide_description{padding:7% 8%}
.et_pb_slide .et_pb_slide_title,.et_pb_slide .et_pb_slide_content{color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.et_pb_slide{background-color:#2a2a2a}

/* footer tidy */
#main-footer{background:#222;color:#bbb;padding:30px 0}
#footer-bottom{background:#1a1a1a;color:#999;padding:14px 0;font-size:13px}

@media (max-width:980px){
  #et_mobile_nav_menu{display:block!important}
  #top-menu-nav{display:none!important}
  .container.et_menu_container{min-height:60px}
}

/* ===== FIX PASS 3: consistent dark overlay on image sections with white text ===== */
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark){position:relative}
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark)::before{
  content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1;pointer-events:none}
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) > .et_pb_row,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) > .et_pb_row_inner,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) .et_pb_row{position:relative;z-index:2}
/* slider overlay for legibility too */
.et_pb_slider .et_pb_slide{position:relative}
.et_pb_slider .et_pb_slide::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.32);z-index:1;pointer-events:none}
.et_pb_slide .et_pb_container,.et_pb_slide_description{position:relative;z-index:3}

/* ===== FIX PASS 4: logo size + hero slide centering/proportions ===== */
/* Logo (square 581x566 badge) — make it prominent & vertically centered with nav */
#logo{max-height:84px!important;width:auto;display:inline-block;vertical-align:middle}
.logo_container{height:auto;display:inline-block;vertical-align:middle}
.container.et_menu_container{display:flex;align-items:center;justify-content:space-between;min-height:104px}
#et-top-navigation{float:none;display:flex;align-items:center;padding-top:0}
#top-menu>li>a{font-size:16px;font-weight:600}

/* Hero slider: real vertical + horizontal centering (Divi nests containers, so flex on .et_pb_container) */
.et_pb_fullwidth_slider_0,.et_pb_slider,.et_pb_slides,.et_pb_slide{min-height:560px}
.et_pb_slide{display:block!important;position:relative}
.et_pb_slide .et_pb_container{display:flex!important;align-items:center;justify-content:center;min-height:560px;height:auto;position:relative;z-index:3}
.et_pb_slider_container_inner{width:100%}
.et_pb_slide_description{display:block!important;text-align:center!important;width:100%;max-width:980px;margin:0 auto;padding:48px 6%;vertical-align:middle}
.et_pb_slide_title{font-size:46px!important;line-height:1.12;margin:0 0 16px;text-align:center;font-weight:600}
.et_pb_slide_title a{color:#fff!important;text-decoration:none}
.et_pb_slide_content{font-size:18px;line-height:1.6;margin-bottom:10px}
.et_pb_slide .et_pb_more_button{margin-top:20px;display:inline-block;font-size:18px}
/* stronger hero overlay so text baked into the photo recedes */
.et_pb_slider .et_pb_slide::before{background:rgba(0,0,0,.48)}

@media (max-width:980px){
  .container.et_menu_container{min-height:64px}
  #logo{max-height:54px!important}
  .et_pb_slide_title{font-size:32px!important}
  .et_pb_slide .et_pb_container,.et_pb_fullwidth_slider_0,.et_pb_slider,.et_pb_slide{min-height:380px}
}

/* ===== FIX PASS 5: force ALL text white inside overlaid image sections (avoid faint body text) ===== */
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) .et_pb_text_inner,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) h1,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) h2,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) h3,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) h4,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) p,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) li,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) span,
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) a:not(.et_pb_button){color:#fff!important}
.et_pb_section.et_pb_with_background:has(.et_pb_bg_layout_dark) .et_pb_text{position:relative;z-index:2}
