/* ==========================================================================
   Content migrated from the Divi site (pages with Divi module markup).
   Divi's base rules for text modules, scoped to .je-divi. Each page's own
   module styles come from its "Custom CSS" field (copied from the live page).
   ========================================================================== */

.je-divi{font-size:14px;line-height:1.7em}
.je-divi .et_pb_module{position:relative}
.je-divi.je-col--2-3>.et_pb_module{margin-bottom:4.242%}
.je-divi.je-col--1-2>.et_pb_module{margin-bottom:5.82%}
.je-divi>.et_pb_module:last-child{margin-bottom:0}
.je-divi .et_pb_text,.je-pbanner .et_pb_text{word-wrap:break-word}
.je-divi .et_pb_text_inner{position:relative}

/* Typography (Divi defaults) */
.je-divi h1{font-size:30px}
.je-divi h2{font-size:26px}
.je-divi h3{font-size:22px}
.je-divi h4{font-size:18px}
.je-divi h5{font-size:16px}
.je-divi h6{font-size:14px}
.je-divi h1,.je-divi h2,.je-divi h3,.je-divi h4,.je-divi h5,.je-divi h6{color:#333;padding-bottom:10px;line-height:1em;font-weight:500}
.je-divi h1 a,.je-divi h2 a,.je-divi h3 a,.je-divi h4 a,.je-divi h5 a,.je-divi h6 a{color:inherit}
.je-divi a{color:#2ea3f2}

/* Lists */
.je-divi ul{list-style-type:disc;padding:0 0 23px 1em;line-height:26px;margin:0}
.je-divi ol{list-style-type:decimal;list-style-position:inside;padding:0 0 23px;line-height:26px;margin:0}
.je-divi .et_pb_text ul,.je-divi .et_pb_text ol{padding-bottom:1em}
.je-divi ul li ol,.je-divi .et_pb_text ul li ol{padding:2px 0 2px 20px}
.je-divi .et_pb_text>:last-child{padding-bottom:0}

/* Quotes, tables, media */
.je-divi blockquote{margin:20px 0 30px;border-left:5px solid #2ea3f2;padding-left:20px;font-size:inherit}
.je-divi blockquote p{padding-bottom:0}
/* Divi's .entry-content table style applies to builder pages, not to blog post content */
.je-page .je-divi table{border:1px solid #eee;margin:0 0 15px;text-align:left;width:100%}
.je-page .je-divi thead th,.je-page .je-divi tr th{color:#555;font-weight:700;padding:9px 24px}
.je-page .je-divi tr td{border-top:1px solid #eee;padding:6px 24px}
/* Browser defaults that Bootstrap's reboot removes but the original content relies on */
.je-divi hr{height:0;margin:.5em auto;border:1px inset;color:gray;opacity:1;overflow:visible}
.je-divi table{border-collapse:collapse;border-spacing:0}
.je-post-content table[border]{border:1px outset}
.je-post-content table[border] td,.je-post-content table[border] th{border:1px inset;padding:1px}
.je-post-content th{text-align:center;font-weight:bold}
.je-divi img{max-width:100%;height:auto}
.je-divi iframe{max-width:100%}

/* Buttons (Divi button module, theme: no icon, uppercase, bold) */
.je-divi .et_pb_button_module_wrapper>a{display:inline-block}
.je-divi .et_pb_button_alignment_center{text-align:center}
.je-divi .et_pb_button_alignment_right{text-align:right}
.je-divi .et_pb_button{position:relative;display:inline-block;font-family:var(--je-font-btn);font-size:20px;font-weight:bold;text-transform:uppercase;line-height:1.7em!important;padding:.3em 1em!important;border:0!important;border-radius:3px;color:#2ea3f2;background-color:transparent;transition:all .2s}
.je-divi .et_pb_button:after{display:none}

/* Inline call-to-action used inside content */
.je-divi .content23cta{text-align:center;margin:15px 0}
.je-divi .content23cta a{background:#04315c;color:#fff;padding:10px 15px;border-radius:5px}

/* ---------- Page banner ---------- */
.je-pbanner{background-image:linear-gradient(90deg,#04315c 0%,rgba(4,49,92,.88) 27%,rgba(4,49,92,.83) 56%,#fff 100%)}
.je-pbanner__pattern{position:absolute;inset:0;background-image:url(../img/pattern-banner.svg);background-size:200px 200px;background-position:0 0;background-repeat:repeat}
.je-pbanner .je-row{z-index:1}
.je-pbanner .et_pb_text_0{font-size:16px}
.je-pbanner__title{font-size:52px;font-weight:700;line-height:1.3em;letter-spacing:2px;color:#fff;margin:0}

/* ---------- Service layout ---------- */
.je-svc .je-cols{align-items:stretch}
.je-svc__img{margin-bottom:9.27%;line-height:0;text-align:left}
.je-svc__img img{max-width:100%;height:auto}
.je-svc__menu{position:sticky;top:10px;font-size:16px;background:#04315c;padding:20px 20px 10px}
.je-svc__menu ul{list-style:none;margin:0;padding:0 0 1em 2px;line-height:26px}
.je-svc__menu li{border-bottom:1px solid #fff}
.je-svc__menu li:last-child{border-bottom:none}
.je-svc__menu a{display:inline;font-size:20px;line-height:2.1em;color:#fff}
.je-svc__menu a:hover{color:#fff;opacity:.85}

@media (max-width:980px){
  .je-svc__menu{position:static}
  .je-svc__img{margin-bottom:30px}
  .je-svc__img img{width:auto}
  .je-divi.je-col>.et_pb_module{margin-bottom:30px}
  .je-divi.je-col>.et_pb_module:last-child{margin-bottom:0}
}
@media (max-width:767px){
  .je-pbanner,.je-svc__menu{font-size:13px}
}

/* ---------- Blog post ---------- */
.je-postbanner{background-color:#04315c;background-size:cover;background-position:50%;background-repeat:no-repeat}
.je-postbanner__title{font-size:48px;line-height:1.4em;color:#fff;margin:0 0 2.75%;padding-bottom:10px}
.je-postbanner__date{font-size:16px;color:#fff;text-align:center}
@media (max-width:980px){ .je-postbanner__title{margin-bottom:30px} }
.je-post-content{line-height:1.7em}
/* Posts built with the Divi builder: their own sections/rows inside the content */
.je-post-content .et_pb_section{position:relative;padding:4% 0}
.je-post-content .et_pb_row{position:relative;width:80%;max-width:1920px;margin:auto;padding:2% 0}
.je-post-content .et_pb_column{position:relative;width:100%}
.je-post-content .et_pb_column_4_4>.et_pb_module{margin-bottom:2.75%}
.je-post-content .et_pb_column>.et_pb_module:last-child{margin-bottom:0}
@media (max-width:980px){
  .je-post-content .et_pb_section{padding:50px 0}
  .je-post-content .et_pb_row{padding:30px 0}
  .je-post-content .et_pb_column_4_4>.et_pb_module{margin-bottom:30px}
  .je-post-content .et_pb_column>.et_pb_module:last-child{margin-bottom:0}
}
@media (max-width:767px){
  .je-postbanner__date{font-size:13px}
  .je-post-content .et_pb_row{padding:31px 0}   /* Divi customizer */
}
@media (min-width:2400px){
  .je-post-content .et_pb_section{padding:96px 0}
  .je-post-content .et_pb_row{padding:48px 0}
}

/* ---------- Plain theme footer (blog posts) ---------- */
.je-mfooter{background-color:#222}
.je-mfooter__bottom{background-color:rgba(0,0,0,.32);padding:15px 0 5px}
.je-mfooter__container{width:80%;max-width:1920px;margin:auto;position:relative}
.je-mfooter__container::after{content:"";display:table;clear:both}
.je-mfooter__info{float:left;text-align:left;color:#666;font-size:13px;padding-bottom:10px;margin:0}
.je-mfooter__info a{font-weight:700;color:#666;transition:all .4s ease-in-out}
.je-mfooter__info a:hover{opacity:.7}
.je-mfooter__info strong{color:#666!important}
@media (max-width:980px){
  .je-mfooter__info{float:none;text-align:center;margin-top:5px}   /* the theme's empty social-icons list leaves 5px above */
}

/* ---------- Blog listing ---------- */
.je-blogbanner{padding:5px 0 14px}
.je-blogbanner .je-row{min-height:266.6px;padding-bottom:0}
.je-blogbanner__box{position:relative;overflow:hidden;background-color:#04315c;border-radius:30px;padding:70px 0}
.je-blogbanner__pattern{position:absolute;inset:0;background-image:url(../img/pattern-blog.svg);background-size:100px 80px;background-repeat:repeat}
.je-blogbanner__title{position:relative;margin:0;font-size:47px;font-weight:600;letter-spacing:1.6px;line-height:1.4em;color:#fff;text-align:center}
.je-bloglist{padding:12px 0 11px}
.je-bgrid{display:grid;grid-template-columns:repeat(3,29.667%);column-gap:5.5%}
.je-bempty .not-found-title{margin:0;padding-bottom:10px;font-family:var(--je-font-head);font-size:18px;font-weight:500;line-height:1em;color:#333}
.je-bempty p{margin:0;padding-bottom:0}
.je-bcard{position:relative;height:500px;margin-bottom:18.539%;padding:19px;border:1px solid #d8d8d8;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 2px 18px 0 rgba(0,0,0,.3);word-wrap:break-word}
.je-bcard:nth-last-child(-n+3){margin-bottom:30px}
.je-bcard__img{margin:-20px -20px 29px;line-height:0}
.je-bcard__img a{display:block;margin-bottom:30px}
.je-bcard__img img{min-width:100%;max-width:100%;height:auto;vertical-align:bottom}
.je-bcard__title{font-size:18px;color:#333}
.je-bcard__title a{color:inherit}
.je-bcard__excerpt p{color:#666;padding-bottom:0}
.je-bcard__more{color:#2ea3f2}
@media (max-width:980px){
  .je-bgrid{grid-template-columns:repeat(2,47.25%)}
  .je-bcard{margin-bottom:16.21%}
  .je-bcard:nth-last-child(-n+3){margin-bottom:16.21%}
  .je-bcard:nth-last-child(-n+2){margin-bottom:30px}
}
@media (max-width:767px){
  .je-bgrid{display:block}
  .je-bcard{height:auto;margin-bottom:9.5%}
}
@media (max-width:479px){
  .je-bcard{margin-bottom:11.5%}
  .je-bcard__title{font-size:16px;padding-bottom:0}
}
/* WordPress video embeds: the player renders the video as a block (no inline descender gap) */
.je-divi .wp-video video{display:block;width:100%;height:auto}
.je-divi .wp-video,.je-divi video.wp-video-shortcode{max-width:100%!important}   /* WordPress media CSS: the inline width never overflows */

/* ---------- Archive (category / search) — theme layout with right sidebar ---------- */
.je-archive{background:#fff}
.je-archive__container{position:relative;width:80%;max-width:1920px;margin:auto;padding-top:58px}
.je-archive__area::after{content:"";display:table;clear:both}
.je-archive__left ul{list-style-type:disc;padding:0 0 23px 1em;line-height:26px}
.je-apost{margin-bottom:60px;word-wrap:break-word}
.je-apost__img{display:block;position:relative;margin-bottom:30px;line-height:0}
.je-apost__img img{vertical-align:bottom;max-width:100%;height:auto}
.je-apost__img img.is-crop{width:1080px;aspect-ratio:1080/675;object-fit:cover}
.je-apost__title{font-size:26px}
.je-apost__title a{color:inherit}
.je-apost--none .je-apost__title{font-size:30px}   /* theme's "No Results Found" h1 */
.je-apost__meta{font-size:14px;padding-bottom:15px;margin-bottom:6px;color:#666}
.je-apost__meta a{color:#666}
.je-pagination{clear:both}
.je-pagination__left{float:left}
.je-pagination__right{float:right}
.je-pagination::after{content:"";display:table;clear:both}
.je-pagination a{color:#2ea3f2}
.je-sidebar{padding-bottom:28px}
.je-widget{margin-bottom:30px;width:100%;max-width:100%;word-wrap:break-word}
.je-widget ul{list-style:none;padding:0;margin:0;line-height:1.7em}
.je-widget li{margin-bottom:.5em}
.je-widget a{color:#666}
.je-widget li a:hover{color:#82c0c7}
.je-widget__title{font-size:18px}
.je-searchform{position:relative}
.je-searchform input#s,.je-searchform #searchsubmit{padding:.7em;height:40px!important;margin:0;font-size:14px;line-height:normal!important;border:1px solid #ddd;color:#666}
.je-searchform #s{width:100%;border-radius:3px}
.je-searchform #searchsubmit{position:absolute;top:0;right:0;background-color:#ddd;border-radius:0 3px 3px 0;cursor:pointer}
@media (min-width:981px){
  .je-archive__container::before{content:"";position:absolute;top:0;right:20.875%;height:100%;width:1px;background-color:#e2e2e2}
  .je-archive__left{float:left;width:79.125%;padding-right:5.5%;padding-bottom:23px}
  .je-sidebar{float:left;width:20.875%;padding-left:30px}
}
@media (max-width:1405px){ .je-apost{margin-bottom:42px} }
@media (max-width:767px){ .je-apost__title{font-size:18px} }
@media (max-width:479px){ .je-apost__title{font-size:16px;padding-bottom:0} .je-apost--none .je-apost__title{padding-bottom:10px} }

/* YouTube videos inserted with the editor's video button (same markup + responsive frame as the old site's Divi video module) */
.je-divi .et_pb_video{position:relative}
.je-divi .fluid-width-video-wrapper{width:100%;position:relative;padding:0}
.je-divi .fluid-width-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
