/**
 * Theme Name: Idaho Webmaster v4 - Child
 * Template: Webmaster-v4
 * Description: The theme to use and edit for making any changes to a specific site.
 * Author: White Whale Web
 * Author URI: https://whitewhaleweb.com/
 * Version: 1.0.1
 * Text Domain: webmaster-bs4
 */


 /* COLOR VARS START */
 :root {
    --color1: #F2F9FF;
    --color2: #3C5A86;
    /* --color2: rgba(38, 58, 86, 1); */
    --color3: #1F2A3C;
    --color4: #2493A2;
    --color5: #86A9C7;
    --color6: #CFAB79;
    --color7: #ffffff;
    --color8: #000000;
    --color9: #F2EEE7;
    --color10: #F29130;
}


.background-color1 { background-color: var(--color1) !important; }
.background-color2 { background-color: var(--color2) !important; }
.background-color3 { background-color: var(--color3) !important; }
.background-color4 { background-color: var(--color4) !important; }
.background-color5 { background-color: var(--color5) !important; }
.background-color6 { background-color: var(--color6) !important; }
.background-color7 { background-color: var(--color7) !important; }
.background-color8 { background-color: var(--color8) !important; }
.background-color9 { background-color: var(--color9) !important; }
.background-color10 { background-color: var(--color10) !important; }

.font-color1, .font-color1 p { color: var(--color1) !important; }
.font-color2, .font-color2 p { color: var(--color2) !important; }
.font-color3, .font-color3 p { color: var(--color3) !important; }
.font-color4, .font-color4 p { color: var(--color4) !important; }
.font-color5, .font-color5 p { color: var(--color5) !important; }
.font-color6, .font-color6 p { color: var(--color6) !important; }
.font-color7, .font-color7 p { color: var(--color7) !important; }
.font-color8, .font-color8 p { color: var(--color8) !important; }
.font-color9, .font-color9 p { color: var(--color9) !important; }
.font-color10, .font-color10 p { color: var(--color10) !important; }

/* COLOR VARS END */

/* LINK HOVERS START */

/* Elementor's global kit emits `.elementor-kit-<id> a { color: var(
   --e-global-color-primary) }` (specificity 0,1,1), which outranks the parent
   theme's `main a` (0,0,2) — so links inside any Elementor widget ignored the
   site palette. These selectors are class-based to beat the kit, and avoid
   hardcoding the kit id, which changes if the kit post is regenerated.

   Buttons opt out: they carry their own colors. */
main .elementor a:not(.elementor-button):not(.elementor-button-link),
.elementor-widget-text-editor a:not(.elementor-button),
.elementor-widget-theme-post-content a:not(.elementor-button),
.e-con .elementor-widget-container a:not(.elementor-button) {
    color: var(--color2);
}

/* Content links hover orange with an underline. The underline keeps the hover
   state perceivable without relying on color alone — #F29130 on white is only
   ~2.4:1, under the WCAG 4.5:1 threshold.

   The parent theme sets `main a:hover { color: var(--color6) !important }`
   (style.css:232) and a second `main a:hover` adding italic (:239). Bare
   `a:hover` loses to both on specificity, so match `main a:hover` here and
   cancel the italic, which the parent applies to every content link on hover.

   Buttons, nav, and other components own their hover states, so they're
   excluded below rather than fighting this rule. */
a:hover,
main a:hover,
p:not(footer p) > a:hover,
p:not(header p) > a:hover,
table:not(footer table) a:hover,
table:not(header table) a:hover {
    color: var(--color10) !important;
    text-decoration: underline !important;
    font-style: normal;
}

/* Icons inside links follow the link color (parent forces --color6). */
a:hover > i,
a > i:hover {
    color: var(--color10) !important;
}

/* Components that keep their own hover treatment. */
.elementor-button:hover,
.elementor-button:hover .elementor-button-text,
.elementor-cta a.elementor-cta__button:hover,
.mega-menu-link:hover,
.mega-sub-menu a:hover,
.menu-item > a:hover,
.custom-news-button a:hover,
.cta-section-left-icon a.cta-button-left:hover,
.tribe-events a:hover,
.e-loop-item.locations .location-info__contact a:hover {
    text-decoration: none;
}

.elementor-button:hover,
.elementor-button:hover .elementor-button-text,
.elementor-cta a.elementor-cta__button:hover,
.mega-menu-link:hover,
.mega-sub-menu a:hover,
.custom-news-button a:hover,
.cta-section-left-icon a.cta-button-left:hover,
.e-loop-item.locations .location-info__contact a:hover {
    color: revert-layer !important;
}

/* LINK HOVERS END */

/* TYPOGRAPHY START */
 body {
    font-family: "Verdana", sans-serif!important;
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: var(--text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-widget-heading .elementor-heading-title {
    color: #000;
}

h1,
.h1 {
  font-size: 50px;
  line-height: 60px;
  font-family: "Verdana", sans-serif!important;
}

h2 {
  font-size: 40px;
  line-height: 50px;
  font-family: "Verdana", sans-serif!important;
}

h3,
.h3 {
  font-size: 30px;
  line-height: 40px;
  font-family: "Verdana", sans-serif!important;
  /* font-family: "Verdana", sans-serif !important; */
  /* font-weight: 100 !important; */
}

h4,
.h4,
.h4 .elementor-heading-title {
  font-size: 20px !important;
  line-height: 30px !important;
  font-family: "Verdana", sans-serif!important;
}

h5 {
  font-size: 20px;
  line-height: 30px;
}

h6 {
  font-size: 20px;
  line-height: 30px;
}

.elementor-widget-heading .elementor-heading-title {
    color: #000;
}

#home-mission .elementor-heading-title {
    color: var(--color6) !important;
	font-weight: 700!important;
	font-size: 30px!important
}



.intro-txt {
  font-size: 24px !important;
  line-height: 34px !important;
  color: var(--color2) !important;
}

.meta-link,
.meta-link a {
  font-size: 14px;
  line-height: 26px;
}

.meta-text {
  font-size: 14px !important;
  line-height: 26px !important;
}

.input-txt {
  font-size: 14px;
  line-height: 26px;
}

.dept-tag-txt {
  font-size: 18px;
  line-height: 25px;
}

body.wp-singular h1.entry-title {
    font-size: 50px;
    line-height: 60px;
}
 /* TYPOGRAPHY END */

/* The parent theme adds file-type icons before document links. When a document
   link is the direct child of a list item, let that icon replace the bullet. */
li:has(> a[href*=".pdf" i]:not([data-hasimg])),
li:has(> a[href*=".doc" i]),
li:has(> a[href*=".xls" i]),
li:has(> a[href*=".ppt" i]),
li:has(> a[href*=".ppsx" i]) {
  list-style-type: none;
  margin-left: -1.15em;
}

/* BTNS START */
.its-btn-primary a,
form .gform-footer.gform_footer input.gform_button.button,
.search-result-row article a.submit.search-submit.btn.btn-primary,
form.search-page-search button.submit.search-submit.btn.btn-primary,
button.its-btn-primary,
.its-btn-primary,
.elementor-widget-button .elementor-button,
.elementor-cta a.elementor-cta__button,
.dlp-multiple-download-btn,
.dlp-url-link {
  background-color: var(--color2) !important;
  font-size: 1.2em !important;
  padding: 8px 50px !important;
  color: var(--color7) !important;
  text-decoration: none;
  border-radius: 4px !important;
  border: none !important;
  box-shadow: none !important;
  font-weight: bold;
}

.its-btn-primary a:hover,
form .gform-footer.gform_footer input.gform_button.button:hover,
.search-result-row article a.submit.search-submit.btn.btn-primary:hover,
form.search-page-search button.submit.search-submit.btn.btn-primary:hover,
button.its-btn-primary:hover,
.its-btn-primary:hover,
.its-btn-primary-hover,
.mega-sub-menu a.its-btn-primary:hover,
.elementor-widget-button .elementor-button:hover,
.elementor-cta a.elementor-cta__button:hover,
.dlp-multiple-download-btn:hover,
.dlp-url-link:hover {
  background-color: var(--color3) !important;
  font-size: 1.2em !important;
  padding: 8px 50px;
  color: var(--color7) !important;
  text-decoration: none;
  border-radius: 4px;
  border: none !important;
  box-shadow: none !important;
  font-style: normal;
  font-weight: bold;
}

/* Elementor's global kit ships a hover rule
   a.elementor-button.elementor-button-link.elementor-size-sm:hover (specificity
   0,3,1) that forces --color8. Match its specificity so the primary hover wins.
   Excludes .its-btn-light so the light opt-out keeps its own hover. */
a.elementor-button.elementor-button-link.elementor-size-sm:hover {
  background-color: var(--color3) !important;
  color: var(--color7) !important;
}

.its-btn-light a,
.its-btn-light-lg a,
.cta-section-left-icon a.cta-button-left,
button.its-btn-light,
.its-btn-light.elementor-widget-button a.elementor-button,
.elementor-element.its-btn-light a.elementor-button,
.its-btn-light,
.btn.btn-secondary,
.elementor-button-wrapper .elementor-size-sm,
.elementor-widget-button.its-btn-light .elementor-button,
.ITS-subscribe-cta-form .ITS-subscribe-cta-form-shortcode .gform-footer input.gform_button.button {
  background-color: var(--color7) !important;
  color: var(--color2) !important;
  font-size: 1.2em !important;
  padding: 8px 50px;
  text-decoration: none;
  border-radius: 4px;
  border: 0px;
  font-weight: bold !important;
  /* border: 1px solid var(--color2); */
  box-shadow: inset 0 0 0 1px var(--color2) !important;
}

.its-btn-light a:hover,
.its-btn-light-lg a:hover,
.cta-section-left-icon a.cta-button-left:hover,
button.its-btn-light:hover,
.its-btn-light.elementor-widget-button a.elementor-button:hover,
.its-btn-light:hover,
.its-btn-light-hover,
.btn.btn-secondary:hover,
.elementor-button-wrapper .elementor-size-sm:hover,
.elementor-widget-button.its-btn-light .elementor-button:hover {
  background-color: var(--color2) !important;
  color: var(--color7) !important;
  font-style: normal !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 1.2em !important;
  padding: 8px 50px;
  border-radius: 4px;
  border: 0px;
  border: none;
}

.btn.btn-secondary,
.btn.btn-secondary:hover {
  box-shadow: none !important;
}

.elementor-widget-button .elementor-button:hover .elementor-button-text {
    color: #fff !important;
}

.its-btn-light-lg a,
.its-btn-light-lg {
  font-size: 1.57em !important;
  background-color: var(--color7) !important;
  color: var(--color2) !important;
  padding: 8px 50px;
  text-decoration: none;
  border-radius: 4px;
  border: 0px;
  font-weight: bold !important;
  box-shadow: inset 0 0 0 1px var(--color2) !important;
}

.its-btn-light-lg a:hover,
.its-btn-light-lg:hover {
  background-color: var(--color2) !important;
  color: var(--color7) !important;
  font-style: normal !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 1.57em !important;
  padding: 8px 50px;
  border-radius: 4px;
  border: 0px;
}

.its-btn-lg,
.its-btn-lg a {
  background-color: var(--color2) !important;
  font-size: 1.57em !important;
  padding: 8px 50px;
  color: var(--color7) !important;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
}

.its-btn-lg:hover,
.its-btn-lg a:hover {
  background-color: var(--color3) !important;
  font-size: 1.57em !important;
  padding: 8px 50px;
  color: var(--color7) !important;
  text-decoration: none;
  border-radius: 4px;
  font-style: normal;
  font-weight: bold;
}
/* BTNS END */


.sidebars {
    display: none !important;
}

/* SIDEBAR START */
.custom-sidebar,
.custom-sidebar p,
.custom-sidebar li,
.custom-sidebar span,
.custom-sidebar .entry-meta,
.custom-sidebar input {
  color: #000 !important;
}

.custom-sidebar h1,
.custom-sidebar h2,
.custom-sidebar h3,
.custom-sidebar h4,
.custom-sidebar h5,
.custom-sidebar h6 {
  color: var(--color2) !important;
}

.custom-sidebar a,
.custom-sidebar a:visited,
.custom-sidebar a:hover,
.custom-sidebar a:focus {
  color: var(--color2) !important;
}

.custom-sidebar .sidebar-search-form {
  margin-bottom: 30px !important;
}

body.blog aside.custom-sidebar .entry-meta,
body.archive aside.custom-sidebar .entry-meta,
body.single-post aside.custom-sidebar .entry-meta {
  color: #000 !important;
}

body aside.custom-sidebar .related-articles-widget .entry-title a,
body aside.custom-sidebar .related-articles-widget a.read-full-article {
  color: var(--color2) !important;
}
/* SIDEBAR END */

body.wp-singular div.elementor-location-single .width1240 {
    max-width: 1240px;
}


/* HEADER START */
.topbar {
    height: 40px;
    display: flex;
    align-items: center;
    background-color: var(--color3);
}

header#masthead .navbar {
    background-color: var(--color2);
}

/* .site-branding.header-background .logo {
    background-color: rgba(255, 255, 255, 0.7);
    padding-left: 13px;
    padding-right: 13px;
    padding-bottom: 23px;
    height: 205px;
    position: relative;
    top: -73px;
    max-width: 295px;
    width: 100%;
    display: flex;
    align-items: self-end;
    justify-content: center;
}

a[itemprop="url"]:hover img[itemprop="logo"] {
    transform: translateY(0px);
} */

#masthead .logo img {
    max-height: unset;
}

#masthead .header-background {
    background-position: top !important;
}

@media (max-width: 768px) {
    .topbar {
        height: auto;
    }

    .topbar-custom-nav {
        justify-content: center !important;
    }
}

/* STICKY TOP BAR */
.topbar {
    position: sticky;
    top: 0;
    z-index: 1030;
}

body.admin-bar .topbar {
    top: 32px;
}

/* HEADER END */


/* FOOTER START */
#colophon {
    height: auto;
    box-sizing: border-box;
    padding: clamp(240px, 16vw, 320px) 0 40px;
    display: flex;
    align-items: flex-end;
    background-color: transparent;
    background-image: url("/wp-content/uploads/2026/03/FooterCrop.png");
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}

#usa-map img {
    width: 305px;
}

.row.row-footer-links {
    background-color: var(--color3);
}

footer .row.row-footer-links a {
    color: #fff;
}

footer .row.row-footer-links a::after {
    color: var(--color5);
}

#colophon .widget.widget_text .textwidget i {
    color: var(--color5);
}

/* Footer links follow the global orange hover (was gold, --color6). */
.footer-navigation a:hover {
    color: var(--color10) !important;
}

#colophon #nav_menu-2 .menu-item > a,
#colophon #nav_menu-3 .menu-item > a {
    display: flex;
    align-items: flex-start;
    gap: 5px;
}

#colophon #nav_menu-2 .menu-item > a::before,
#colophon #nav_menu-3 .menu-item > a::before {
    content: "";
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-top: 4px;
    background-image: url("/wp-content/uploads/2026/06/arrow-right.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

@media (max-width: 768px) {
    #colophon {
        height: auto !important;
        min-height: 0;
        padding: 190px 0 32px;
    }

    #colophon #nav_menu-2 .menu-item > a,
    #colophon #nav_menu-3 .menu-item > a {
        display: inline;
    }

    #colophon #nav_menu-2 .menu-item > a::before,
    #colophon #nav_menu-3 .menu-item > a::before {
        display: none;
    }
}
/* FOOTER END */


/* HOME START */
.home-tabs-stacked .its-tabs-stacked__panels .its-tabs-stacked__panel a {
    text-decoration: underline;
}
/* HOME END */


/* 404 START */
.error-404.not-found {
    background: url(/wp-content/uploads/2026/04/404-1.png) no-repeat center center;
    background-size: cover;
}

.error-404.not-found h1 {
    margin-bottom: 50px;
}

.error-404.not-found h2 {
    color: var(--color10);
    font-size: 30px;
    line-height: 40px;
}

.error-404.not-found .card-body img {
    max-width: unset;
    min-width: unset;
    margin-bottom: 0px;
}

.error-404.not-found .card-body .card-text a {
    color: var(--color10) !important;
}

.error-404.not-found {
    margin-bottom: 50px;
}
    
/* 404 END */



/* ACCORDION START */
.e-n-accordion p {
    font-family: "Verdana", sans-serif !important;
}

/* Accordion body copy matches regular page text (1rem). */
.e-n-accordion .elementor-widget-text-editor,
.e-n-accordion .elementor-widget-text-editor p,
.e-n-accordion .elementor-widget-text-editor li,
.e-n-accordion .elementor-widget-text-editor dd {
    font-size: 1rem;
}

.elementor-widget-n-accordion .e-n-accordion .e-n-accordion-item {
    border-bottom: 1px solid #999999;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    color: var(--color3);
}

.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    color: var(--color3);
}

.e-n-accordion-item-title .e-n-accordion-item-title-icon .e-closed::before,
.e-n-accordion-item-title .e-n-accordion-item-title-icon .e-opened::before {
    color: var(--color3) !important;
}

.its-acf-accordion__content {
    padding-bottom: 16px;
}
/* ACCORDION END */



/* TABS START */
.its-tabs__list .its-tabs__tab {
    background-color: #fff;
}

.its-tabs__list .its-tabs__tab:hover {
    background-color: var(--color1);
}

.its-tabs__list .its-tabs__tab span {
    color: var(--color2);
}

.its-tabs__list .its-tabs__tab.its-tabs__tab--active {
    background-color: var(--color2);
}

.its-tabs__list .its-tabs__tab.its-tabs__tab--active span {
    color: #fff;
}

.its-tabs--vertical .its-tabs__tab {
    border-bottom: 1px solid #999 !important;
}

.its-tabs--horizontal .its-tabs__tab {
    border: 1px solid #999 !important;
    border-bottom: none !important;
}

.its-tabs--horizontal .its-tabs__panels {
    border: 1px solid #999 !important;
}

.its-tabs--horizontal .its-tabs__list {
    border-bottom: none !important;
}

.its-tabs--vertical .its-tabs__tab--active::after {
    color: var(--color2) !important;
}
/* TABS END */


/* STACKED TABS START */
.its-tabs-stacked__tab {
    background-color: var(--color7);
    font-family: "Verdana", sans-serif !important;
    font-weight: 700;
    border-bottom: 1px solid #999;
}

.its-tabs-stacked__tab span {
    color: var(--color2);
    font-family: "Verdana", sans-serif !important;
}

.its-tabs-stacked__tab:hover {
    background-color: var(--color1);
}

.its-tabs-stacked__tab--active,
.its-tabs-stacked__tab--active:hover {
    background-color: var(--color2);
}

.its-tabs-stacked__tab--active span {
    color: var(--color7);
}

.its-tabs-stacked__tab--active::after {
    color: var(--color2) !important;
}

.its-tabs-stacked__panels {
    margin-left: 30px !important;
    border-radius: 5px !important;
    background-color: var(--color2) !important;
}

.its-tabs-stacked__panels,
.its-tabs-stacked__panels * {
    color: var(--color7) !important;
}

@media (max-width: 767px) {
    .its-tabs-stacked__panels {
        margin-left: 0px !important;
        margin-top: 30px;
    }
}
/* STACKED TABS END */







/* TABLES START */

table,
table.tablepress {
    border-collapse: collapse;
    width: 100%;
}

table th,
table.tablepress th {
    background-color: var(--color5);
    color: var(--color3) !important;
    padding: 10px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 20px;
    line-height: 30px;
    border-top: none;
    border-bottom: none;
    border-right: none;
    border-left: 1px solid #999999;
}

table th:hover,
table.tablepress th:hover {
    background-color: var(--color5) !important;
}

table.tablepress th .dt-column-title {
    font-size: 20px;
    line-height: 30px;
}

table td,
table.tablepress td,
table.tablepress.row-hover td {
    padding: 9px 14px;
    border-top: none !important;
    border-bottom: none !important;
    border-right: none !important;
    border-left: 1px solid #999999 !important;
    color: var(--color3);
}

table tr:nth-child(even) td,
table.tablepress tr:nth-child(even) td {
    background-color: var(--color1) !important;
}

table tr:nth-child(even) td:hover,
table.tablepress tr:nth-child(even) td:hover {
    background-color: var(--color1);
}

table tr:nth-child(odd) td,
table.tablepress tr:nth-child(odd) td {
    background-color: var(--color7) !important;
}

table tr:nth-child(odd) td:hover,
table.tablepress tr:nth-child(odd) td:hover {
    background-color: var(--color7);
}

table.tablepress .row-hover .column-1 {
    font-weight: normal;
}

/* Person details: key/value table, labels run down the left column */
table.person-details-table th {
    width: 1%;
    white-space: nowrap;
    font-size: 16px;
    line-height: 24px;
}

/* TABLES END */



/* CTAS START */
.ITS-subscribe-cta,
.ITS-register-cta {
    background-color: var(--color3) !important;
}

.ITS-subscribe-cta .ITS-subscribe-cta-icon svg path,
.ITS-register-cta .ITS-register-cta-icon svg path {
    fill: var(--color6);
}
/* CTAS END */


/* FEATURED SERVICES WIDGETS START */
.its-service-box-label {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    background-color: var(--color3) !important;
}

.its-service-box-label:hover {
    text-decoration: none !important;
    font-style: normal !important;
}

.its-service-icon-box {
    background: linear-gradient(to right, #CFAB79, #F29130);
}
/* FEATURED SERVICES WIDGETS END */






/* DEATH ROW START */
.idoc-death-row__row {
    border-bottom: 1px solid var(--color9);
}

.idoc-death-row__row:last-child {
    border-bottom: none;
}

.idoc-death-row__name {
    color: var(--color2);
    font-weight: 700;
}

.idoc-death-row__idoc-number {
    color: var(--color3);
}

.idoc-death-row__comments {
    color: var(--color8);
}


/* DEATH ROW END */

/* START DIVIDER START */
.star-divider-section {
    background-image: url('img/Star2.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    height: 80px !important;
}
/* START DIVIDER END */

/* SUBSCRIBE FORM CTA START */
.ITS-subscribe-cta-form {
    background-color: var(--color2) !important;
}

.ITS-subscribe-cta-form form {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.ITS-subscribe-cta-form form .gform-body {
    max-width: 295px !important;
    width: 100%;
}

.ITS-subscribe-cta-form form .gform-footer {
    margin: 0px;
}

.ITS-subscribe-cta-form-content {
    font-size: 24px !important;
}

.ITS-subscribe-cta-form-icon {
    background-image: url('/wp-content/uploads/2026/05/dog.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 120px;
    height: 100px;
}

.ITS-subscribe-cta-form-icon i,
.ITS-subscribe-cta-form-icon svg {
    display: none !important;
}
/* SUBSCRIBE FORM CTA END */



/* LEADERSHIP SECTION START */
.idoc-leaders .idoc-leaders__name {
    color: var(--color2);
}

.idoc-leaders .idoc-leaders__bio {
    margin-bottom: 40px;
}
/* "Read More" toggle: a button styled as an inline text link */
.idoc-leaders .idoc-leaders__toggle {
    display: inline;
    background: none;
    border: 0;
    padding: 0;
    margin: 0 0 0 4px;
    font: inherit;
    color: var(--color2);
    text-decoration: underline;
    cursor: pointer;
}

.idoc-leaders .idoc-leaders__toggle:hover,
.idoc-leaders .idoc-leaders__toggle:focus-visible {
    background: none;
    color: var(--color3);
}
/* LEADERSHIP SECTION END */




/* SEARCH MODAL START */
.custom-topp-nav {
    background-color: var(--color3) !important;
}

/* Spacing between the search field and the topic boxes. Replaces the gap the
   removed "What can we help you find?" heading used to provide. Needs this
   specificity to beat Bootstrap's .mt-4 on the same element, which loads after
   the child theme and so wins at equal specificity. */
.custom-search-bar .modal-body .popular-topics {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 70px !important;
}

.custom-search-bar .modal-body .popular-topics .intro-txt.section-title {
    text-align: center;
}

.custom-search-bar .popular-topics a.custom-box {
    border-radius: 4px;
}

.popular-topics .search-blocks .box-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
    margin-bottom: 8px;
}

/* Tint solid (black) SVGs referenced via <img> to approximate --color5 (#86A9C7) */
.popular-topics .search-blocks .box-icon.box-icon--tint {
    filter: invert(72%) sepia(19%) saturate(538%) hue-rotate(169deg) brightness(90%) contrast(88%);
}
/* SEARCH MODAL END */

/* SEARCH RESULTS START */
.searchform-wrapper .search-field {
    color: #000;
}
/* SEARCH RESULTS END */

/* ITS ICON CONTENT BOXES START */
.its-icon-content-boxes .its-icon-content-box {
    background-color: var(--color3);
}

.its-icon-content-boxes .its-icon-content-box .its-icon-content-box-icon svg path {
    fill: var(--color7) !important;
}

.its-icon-content-boxes .its-icon-content-box .its-icon-content-box-icon,
.its-icon-content-boxes .its-icon-content-box .its-icon-content-box-title,
.its-icon-content-boxes .its-icon-content-box .its-icon-content-box-text {
    color: var(--color7);
}

.its-icon-content-boxes .its-icon-content-box .its-icon-content-box-text a {
    color: var(--color7) !important;
    text-decoration: underline !important;
}
/* ITS ICON CONTENT BOXES END */

/* ALERT BAR — two-line text: "[Category] Alert!" over the alert title */
.idaho-announcement-bar {
    background: linear-gradient(to right, #F5A03C 0%, #D67E22 100%);
    color: var(--color3);
	padding: 15px 0;
}
.idaho-announcement-bar .announcement-icon {
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
    flex-shrink: 0;
}
.announcement-icon {
    filter: brightness(0) saturate(100%) invert(13%) sepia(18%) saturate(1755%) hue-rotate(184deg) brightness(95%) contrast(89%);
}
.idaho-announcement-bar .announcement-close {
    background: transparent;
    border: 0;
    padding: 0;
    margin-left: 0.5em;
    color: var(--color3);
    font-size: 1.25em;
    line-height: 1;
    cursor: pointer;
}
.idaho-announcement-bar .announcement-close:hover,
.idaho-announcement-bar .announcement-close:focus {
    color: var(--color3);
    opacity: 0.7;
}
.idaho-announcement-bar .announcement-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    line-height: 1.25;
    color: var(--color3);
}
.idaho-announcement-bar .announcement-buttons {
    display: flex;
    align-items: center;
    gap: 0.5em;
}
@media (max-width: 1120px) {
    .idaho-announcement-bar .announcement-buttons {
        flex-direction: column;
        align-items: stretch;
    }
}
@media (max-width: 905px) {
    .idaho-announcement-bar .announcement-content {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .idaho-announcement-bar .announcement-icon {
        margin-right: 0;
        margin-bottom: 0.25em;
    }
    .idaho-announcement-bar .announcement-text {
        width: 100%;
        align-items: center;
        text-align: center;
    }
    .idaho-announcement-bar .announcement-heading,
    .idaho-announcement-bar .announcement-title {
        align-self: center;
        text-align: center;
        width: 100%;
    }
    .idaho-announcement-bar .announcement-buttons {
        align-items: center;
    }
}
.idaho-announcement-bar .announcement-heading {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.idaho-announcement-bar .announcement-title {
    font-weight: 400;
}

.idaho-announcement-bar .announcement-content {
    min-height: unset;
}

#alert-bar-learn-more {
    font-size: 20px !important;
    line-height: 24px;
	background-color: var(--color3) !important;
	transition: all 0.2s ease-in-out;
}
#alert-bar-learn-more:hover {
	background-color: var(--color8) !important;
}

.idaho-announcement-bar.idaho-position-bottom {
    z-index: auto !important;
}
/* ALERT BAR END */

/* ALERTS LIST — [idoc_alerts] shortcode output */
.idoc-alerts-archived {
    margin-top: 9rem;
}
.idoc-alert__category {
    font-weight: 700;
}
.idoc-alert__title {
    display: flex;
    align-items: center;
    gap: 0.5em;
}
.idoc-alert__icon {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}
.idoc-alert__meta-sep {
    margin: 0 0.5em;
}
.idoc-alert__excerpt {
    margin-top: 0.5em;
    margin-bottom: 0;
}
.idoc-alert__facilities {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.75rem;
}
.idoc-alert__facilities strong {
    flex: 0 0 auto;
}
.idoc-alert__facilities .affected-facilities {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    margin-left: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
}
.idoc-alert__btn {
    display: inline-block;
    margin-top: 0.75em;
}
@media (max-width: 767px) {
    .idoc-alert__facilities {
        align-items: flex-start;
    }

    .idoc-alert__facilities strong {
        flex-basis: 100%;
    }
}
.idoc-alerts-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 2rem;
}
.idoc-alerts-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5em;
    padding: 0.5em 0.9em;
    border: 1px solid var(--color3);
    color: var(--color3);
    text-decoration: none;
    border-radius: 4px;
    line-height: 1;
}
.idoc-alerts-pagination .page-numbers.current {
    background: var(--color3);
    color: var(--color7);
}
.idoc-alerts-pagination .page-numbers.dots {
    border: 0;
    padding: 0.5em 0.25em;
    min-width: 0;
}
.idoc-alerts-pagination a.page-numbers:hover {
    background: var(--color3);
    color: var(--color7);
}
.idoc-alerts-filter {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}
.idoc-alerts-filter__label {
    font-weight: 700;
}
.idoc-alerts-filter select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    max-width: 295px;
    max-height: 40px;
    padding: 0.5rem 2.75rem 0.5rem 1.25rem;
    background-color: #fff;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%2325354D' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 12px 8px;
    border: 1px solid #999999;
    color: var(--color3);
    font-size: 1rem;
    line-height: 1.4;
    cursor: pointer;
}
.idoc-alerts-filter select:focus {
    outline: 2px solid var(--color3);
    outline-offset: 1px;
}
/* ALERTS LIST END */

/* ALERT CATEGORY GRID — [alert_category_grid] shortcode */
/* Structural */
.alert-category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(295px, 1fr));
    gap: 1.25rem;
}
.alert-category-box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 240px;
    padding: 1.2rem;
}
.alert-category-box__icon {
    width: 60px;
    height: 60px;
    margin-bottom: 1rem;
}
.alert-category-box__title {
    font-weight: 100;
    line-height: 1.2;
	font-size: 1.5rem;
	font-family: "Verdana", sans-serif;
}
.alert-category-box__badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2; /* sit above the box-wide stretched link so the badge stays clickable */
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
}
/* Box-wide link: a transparent overlay stretched across the whole box.
   The badge above (z-index:2) keeps its own separate click target. */
.alert-category-box__link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}
.alert-category-box.is-linked {
    cursor: pointer;
}
.alert-category-box__badge-icon {
    width: 24px;
    height: 24px;
}
.alert-category-box__badge-count {
    margin-top: 2px;
    font-size: 0.75rem;
    font-weight: 700;
}

/* Theme-specific look */
.alert-category-box {
    background: var(--color3);
    color: var(--color7);
    border-radius: 6px;
}
.alert-category-box__title {
    color: var(--color7);
}
.alert-category-box__badge-count {
    color: var(--color7);
}

/* Badge link: only the top-right triangle badge is clickable. Inherit the
   badge color and drop the default underline. */
a.alert-category-box__badge,
a.alert-category-box__badge:hover,
a.alert-category-box__badge:focus {
    color: var(--color7);
    text-decoration: none;
}
a.alert-category-box__badge {
    cursor: pointer;
    transition: opacity 0.15s ease, transform 0.15s ease;
}
a.alert-category-box__badge:hover,
a.alert-category-box__badge:focus {
    opacity: 0.8;
    transform: scale(1.08);
}

@media (min-width: 648px) and (max-width: 767px) {
    .alert-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* ALERT CATEGORY GRID END */



/* MEGA MENU START */
#mega-menu-wrap-primary {
    background-color: var(--color2);
}

ul.mega-sub-menu {
    background-color: var(--color3) !important;
    z-index: 9999;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu ul.mega-sub-menu {
    display: block !important;
}

/* Top-level nav items: dark navy background with white text on hover, keyboard
   focus, while the mega panel is open, and on the current page. Max Mega Menu
   ships its own themed colors, so these need the plugin's own selector depth
   plus !important to land. */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    background-color: var(--color3) !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* The dropdown caret is a separate element and inherits its own color. */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover .mega-indicator::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus .mega-indicator::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link .mega-indicator::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link .mega-indicator::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link .mega-indicator::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link .mega-indicator::after {
    color: var(--color5) !important;
}

@media only screen and (min-width: 992px) {
    #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-columns-3-of-12 {
        width: calc(var(--span) / var(--columns) * 100%) !important;
    }
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row {
    width: 100%;
}

#masthead ul.mega-sub-menu .mega-menu-row {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

#mega-menu-primary .mega-sub-menu a {
    color: var(--color7) !important;
    font-size: 18px;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item h4.mega-block-title {
    font-size: 18px !important;
    color: var(--color5) !important;
    text-transform: none !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
    padding-bottom: 20px;
    padding-right: 24px;
}

ul.mega-sub-menu .menu-item {
    padding-bottom: 5px;
}

@media only screen and (max-width: 991px) {
    #mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary {
        background: var(--color2)!important;
        padding: 0 16px;
        position: absolute;
        width: calc(100% + 24px) !important;
        z-index: 9999999;
        left: auto !important;
    }
	    #masthead .logo {
        padding: 10px;
        margin-right: auto;
        position: relative;
        float: none;
        margin-top: 80px;
    }
	#mega-menu-wrap-primary .mega-menu-toggle {
		background: var(--color2)!important;
	}
	ul.mega-sub-menu {
    padding: 0px 5px !important;
	}
	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
		width:auto;
	}
	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
		display: flex;
        justify-content: space-between;
	}
}

@media only screen and (max-width: 768px) {
    #mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary {
        padding: 0;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
        width: 100%;
    }
}

ul#mega-menu-primary .mega-sub-menu .menu-item a:not(.its-btn-primary) {
    display: flex;
    align-items: flex-start;
    gap: 5px;
}

ul#mega-menu-primary .mega-sub-menu .menu-item a:not(.its-btn-primary)::before {
    content: "";
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    background-image: url(/wp-content/uploads/2026/06/arrow-right.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    color: white;
    margin-top: 4px;
}

ul.mega-sub-menu {
        z-index: 9999999999 !important;
}

/* MEGA MENU END */



/*--------------------------------------------------------------
# NEWS AND ALERTS START
--------------------------------------------------------------*/

.custom-news-alerts-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 30px;
}

.custom-blog-page .post-thumbnail.single-post-thumbnail {
    margin-bottom: 30px;
}

.custom-blog-page .post-thumbnail.single-post-thumbnail img.wp-post-image {
    width: auto;
}

.custom-news-alerts-item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 20px;
}

.custom-news-image {
    flex: 0 0 250px;
    max-width: 250px;
}

.custom-news-image img.news-thumb,
.custom-news-image img.news-thumb--fallback {
    width: 100%;
    height: 230px;
    border-radius: 6px;
    object-fit: cover;
}

.custom-news-content {
    flex: 1;
}

.custom-news-title {
    margin-top: 0;
    font-size: 20!important;
    font-weight: 600;
	line-height: 1.2em;
	margin-bottom: 0px;
	color: var(--color3)!important
}

h2.custom-news-section-title {
	font-size: 30px!important;
	font-family: "Verdana", sans-serif!important;
	font-weight: 100!important;
	color: var(--color3)!important
}

.custom-news-meta {
    font-size: 1rem;
    color: var(--color3)!important;
    margin-bottom: 10px;
}

span.news-date {
    color: var(--color3)!important;
}

.custom-news-title a {
	color: var(--color3)!important;
	font-size: 20px;
}

.custom-news-meta a {
    margin-left: 10px;
    text-decoration: underline!important;
    font-weight: 500;
	text-transform: uppercase;
	font-size: 1rem;
	color: var(--color2)!important;
}
.custom-news-meta a:hover {
	text-transform: uppercase!important;
}

.custom-news-excerpt {
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.cta-text-left h2 {
    font-size: 1.87rem;
}

.custom-news-excerpt a {
    font-weight: 100;
    font-size: 0.85rem;
	text-decoration: underline!important;
    color: var(--color2)!important;
}

.custom-news-button {
    display: inline-block;
    background-color: #005C8F;
    color: white;
    font-weight: 600;
    padding: 8px 50px;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    font-size: 1.25em;
    transition: background 0.3s ease;
	width: max-content;
}

.custom-news-button a {
	color: #fff;
	text-decoration: none;
}

.custom-news-button a:hover {
	color: #fff!important;
	font-style: normal;
	text-decoration: none
} 

.custom-news-button:hover {
   background: var(--color-cta)!important;
	color: var(--color-white)!important;
	font-style: normal;
	text-decoration: none
		
}
@media (max-width: 767px) {
    .news-slide-title a strong {
        font-size: 1.5rem!important;
		font-weight: 100!important;
        line-height: 1.2;
		color: var(--color3)!important;
        margin: 0 0 10px;
        text-transform: uppercase;
        letter-spacing: 0.02em;
		font-family: "Verdana", sans-serif!important;
    }
	.news-slide-meta {
		flex-direction: column;
	}
	
	.news-slide-meta a {
		font-weight: 100!important;
		font-size: 0.875rem!important;
		color: var(--color2)!important;
	}
	h2.custom-news-section-title {
		margin-bottom: 50px!important;
	}
	span.news-date {
		font-size: 0.875rem!important;
	}
}


/* ── AJAX pagination — [news_alerts_list pagination="true"] ── */

/* The mobile slider's CSS hides .custom-news-alerts-wrapper under 768px.
   Paginated lists are standalone archives, so keep them visible. */
@media (max-width: 767px) {
	.custom-news-alerts-wrapper--paginated {
		display: flex !important;
	}

	/* .custom-news-image has a fixed flex-basis of 250px that never shrinks,
	   so the card's flex-wrap alone leaves the text column crushed to ~130px
	   instead of wrapping. Stack to one column and let the image go full width. */
	.custom-news-alerts-wrapper--paginated .custom-news-alerts-item {
		flex-direction: column;
		gap: 12px;
	}

	.custom-news-alerts-wrapper--paginated .custom-news-image {
		flex: 0 0 auto;
		max-width: 100%;
		width: 100%;
	}

	.custom-news-alerts-wrapper--paginated .custom-news-image img.news-thumb,
	.custom-news-alerts-wrapper--paginated .custom-news-image img.news-thumb--fallback {
		height: 200px;
	}

	/* Long headlines wrapped to one word per line at the squeezed width.
	   Reset the desktop sizing now that the column is full width. */
	.custom-news-alerts-wrapper--paginated .custom-news-title,
	.custom-news-alerts-wrapper--paginated .custom-news-title a {
		font-size: 1.25rem !important;
		line-height: 1.3;
	}

	.custom-news-alerts-wrapper--paginated .custom-news-meta {
		display: flex;
		flex-wrap: wrap;
		gap: 4px 10px;
		margin-bottom: 8px;
	}

	/* Comfortable tap targets — the desktop buttons are too small and too
	   tightly packed for thumbs. */
	.custom-news-alerts-wrapper--paginated .custom-news-pagination {
		justify-content: center;
		gap: 6px;
	}

	.custom-news-alerts-wrapper--paginated .custom-news-page-btn {
		min-width: 44px;
		min-height: 44px;
		padding: 8px 10px;
	}
}

/* Matches the 40px rhythm .custom-news-alerts-wrapper gives the homepage.
   The paginated version nests its cards one level deeper, so the wrapper's
   own gap no longer reaches them and has to be restated here. */
.custom-news-alerts-items {
	display: flex;
	flex-direction: column;
	gap: 40px;
	transition: opacity 0.15s ease-in-out;
}

/* The cards are flex items now; without this they stretch to match the
   tallest sibling instead of sitting at their natural height. */
.custom-news-alerts-items > .custom-news-alerts-item {
	flex: 0 0 auto;
}

.custom-news-alerts-items:focus {
	outline: none;
}

.custom-news-alerts-wrapper--paginated.is-loading .custom-news-alerts-items {
	opacity: 0.4;
}

.custom-news-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.custom-news-page-btn {
	min-width: 42px;
	padding: 8px 12px;
	border: 1px solid var(--color2);
	border-radius: 4px;
	background-color: transparent;
	color: var(--color2);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.custom-news-page-btn:hover:not(:disabled):not(.is-current) {
	background-color: var(--color3);
	border-color: var(--color3);
	color: var(--color7);
}

.custom-news-page-btn:focus-visible {
	outline: 2px solid var(--color2);
	outline-offset: 2px;
}

.custom-news-page-btn.is-current {
	background-color: var(--color2);
	border-color: var(--color2);
	color: var(--color7);
	cursor: default;
}

.custom-news-page-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.custom-news-page-ellipsis {
	padding: 0 4px;
	color: var(--color2);
}

.custom-news-error {
	color: var(--color2);
	font-weight: 600;
}

/*--------------------------------------------------------------
# NEWS AND ALERTS ENDS
--------------------------------------------------------------*/


/* =========================================
   Terminology Shortcode - [idoc_terminology]
   @author Fudo
   @date   2026-06-04
   ========================================= */
.idoc-terminology-wrap {
    max-width: 100%;
    margin: 0 auto;
}
.idoc-term-search {
    margin-bottom: 1rem;
}
.idoc-term-search input {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    border: 2px solid #ccc;
    border-radius: 4px;
}
.idoc-term-search input:focus {
    border-color: #003366;
    outline: none;
}
.idoc-term-letters {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 1.5rem;
}
.idoc-letter-btn {
    padding: 6px 10px;
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid #003366;
    background: #fff;
    color: #003366;
    cursor: pointer;
    border-radius: 3px;
    transition: background 0.2s, color 0.2s;
}
.idoc-letter-btn:hover,
.idoc-letter-btn.active {
    background: #003366;
    color: #fff;
}
.idoc-letter-btn.disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.idoc-term-table {
    width: 100%;
    border-collapse: collapse;
}
.idoc-term-table thead th {
    background: #003366;
    color: #fff !important; /* override generic `table th` color rule */
    padding: 0.75rem 1rem;
    text-align: left;
    font-weight: 600;
}
/* Keep header background flat — no hover change on header cells */
.idoc-term-table thead th:hover {
    background: #003366 !important;
}
.idoc-term-table tbody td {
    padding: 0.65rem 1rem;
    border-bottom: 1px solid #e0e0e0;
    vertical-align: top;
}
.idoc-term-table tbody tr:hover {
    background: #f5f7fa;
}
.idoc-term-table tbody td small {
    color: #666;
}
.idoc-term-count {
    margin-top: 0.75rem;
    font-size: 0.85rem;
    color: #666;
}
@media (max-width: 768px) {
    .idoc-letter-btn {
        padding: 5px 7px;
        font-size: 0.75rem;
    }
    .idoc-term-table thead th,
    .idoc-term-table tbody td {
        padding: 0.5rem 0.65rem;
        font-size: 0.9rem;
    }
}

/*--------------------------------------------------------------
# Terminology Ends
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# EVENTS START
--------------------------------------------------------------*/
.event-item:nth-child(1) .event-date {
    background: var(--color2)!important;
}
.event-date {
	 background: var(--color2)!important;
}
.event-title {
	margin-top: 0px!important
}
.tribe-events-calendar-list__event-date-tag {
	background: var(--color2)!important;
}

/* "Subscribe" dropdown button styled as a primary button.
   Tribe ships highly specific selectors that reset border/padding/background,
   so we match their specificity and override the transparent parent button. */

/* The wrapper div carries its own background/border/padding "box" — strip it
   so only the inner button shows as the styled pill. */
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-common-c-btn-border,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-common-c-btn-border {
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button button,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button button,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text,
.single-tribe_events .tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button-text,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text,
.tribe-events .tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button-text {
  background-color: var(--color2) !important;
  background-image: none !important;
  font-size: 1.2em !important;
  padding: 8px 50px !important;
  color: var(--color7) !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-weight: bold !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button button:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button-text:hover,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text:hover,
.tribe-events .tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button-text:hover {
  background-color: var(--color3) !important;
  color: var(--color7) !important;
}

.tribe-events-calendar-month__header-column {
    background-color: unset;
}

.tribe-common.tribe-events.tribe-events-view .screen-reader-text {
    color: #fff !important;
}

/*--------------------------------------------------------------
# EVENTS ENDS
--------------------------------------------------------------*/


/* ═══════ LOCATION CARDS ═══════ */

/* Card container */
.e-loop-item.locations .e-con-inner {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  gap: 0;
  overflow: hidden;
  padding: 0 !important;
}

/* Title bar */
.e-loop-item.locations .elementor-widget-heading {
  background: #3C5A86!important;
  padding: 14px 20px;
  margin: 0;
}

.e-loop-item.locations .elementor-heading-title {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0;
}

/* Image */
.e-loop-item.locations .elementor-widget-image {
  padding: 0;
  margin: 0;
}

.e-loop-item.locations .elementor-widget-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

/* Location info block */
.e-loop-item.locations .elementor-widget-shortcode {
  padding: 20px 20px 10px;
}

.e-loop-item.locations .location-info__address,
.e-loop-item.locations .location-info__contact {
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  margin: 0 0 10px;
  padding-left: 28px;
  position: relative;
}

.e-loop-item.locations .location-info__address,
.e-loop-item.locations .location-info__contact {
  padding-left: 28px !important;
  position: relative !important;
  display: block !important;
}

.e-loop-item.locations .location-info__address::before,
.e-loop-item.locations .location-info__contact::before {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}

.e-loop-item.locations .location-info__address strong + br,
.e-loop-item.locations .location-info__contact strong + br {
  display: none !important;
}

.e-loop-item.locations .location-info__contact a[href^="tel"] {
  color: #000 !important;
}

.e-loop-item.locations .location-info__contact a[href^="mailto"],
.single-locations .location-info__contact a[href^="mailto"] {
  display: block;
  margin-left: -28px;
  padding-left: 28px;
  position: relative;
  margin-top: 4px;
  gap: 0;
}

.e-loop-item.locations .location-info__contact a[href^="mailto"]::before,
.single-locations .location-info__contact a[href^="mailto"]::before {
  content: "\f0e0";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 14px;
  color: var(--color5);
  position: absolute;
  left: 0;
  top: 2px;
}

.e-loop-item.locations .location-info__contact a[href^="tel"]:hover {
  color: #3C5A86 !important;
}

.e-loop-item.locations .location-info__address strong,
.e-loop-item.locations .location-info__contact strong {
  display: none;
}

.e-loop-item.locations .location-info__address::before {
  content: "\f3c5";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "eicons";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--color5);
  font-size: 16px;
}

.e-loop-item.locations .location-info__contact::before {
  content: "\f095";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", "eicons";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--color5);
  font-size: 16px;
}

.e-loop-item.locations .location-info__contact a {
  color: #000!important;
  text-decoration: none;
}

.location-info__contact a {
  color: #000!important;
	
}

.e-loop-item.locations .location-info__contact a:hover {
  color: #4A6D8C;
}

/* Button */
/* Overrides Elementor's .elementor-align-center on the widget wrapper, which
   centers the inline-flex anchor. */
.e-loop-item.locations .elementor-widget-button {
  padding: 10px 20px 20px;
  text-align: left;
}

/* The inner .elementor-button-content-wrapper is the visible button, so the
   anchor itself is just a transparent, shrink-to-fit container. Giving it a
   background too painted a second, wider box behind the pill. */
.e-loop-item.locations .elementor-button {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  display: inline-flex;
}

.e-loop-item.locations .location-info__mailing-address {
  color: #000 !important;
  font-size: 16px;
  line-height: 1.2;
  padding-left: 28px !important;
  margin: 0 0 10px;
	display: grid;
}

.e-loop-item.locations .location-info__contact:not(:has(a))::before {
  display: none !important;
}

.e-loop-item.locations .location-info__mailing-address strong + br {
  display: none !important;
}

.e-loop-item.locations .location-info__contact a[href^="mailto"] {
  color: #000 !important;
}

.e-loop-item.locations .location-info__contact a[href^="mailto"]:hover {
  color: #3C5A86 !important;
}

.e-loop-item.locations span.elementor-button-content-wrapper {
	    font-size: 20px !important;
    line-height: 24px;
    background-color: var(--color2) !important;
    transition: all 0.2s ease-in-out;
	padding: 8px 50px !important;
    color: var(--color7) !important;
    text-decoration: none;
    border-radius: 4px !important;
    font-weight: bold;
}


.e-loop-item.locations span.elementor-button-content-wrapper:hover {
	background-color: var(--color3) !important;
}

.e-loop-item.locations .elementor-button-text {
  color: inherit !important;
}

.single-prison-sidebar {
	background: var(--color1);
	padding: 35px!important;
}

.single .elementor {
  max-width: 1300px!important;
  margin: 0 auto;
}
a.ITS-breadcrumbs__link {
	color: var(--color2)!important;
	text-decoration: underline!important
}

@media (max-width: 767px) {
  body.single .elementor-location-single {
    padding: 0 15px!important;
  }
}

/* ═══════ LOCATION CARDS  ENDS═══════ */


/* ═══════ DEATH ROW CARDS ═══════ */

/* The Elementor loop-item wrapper is the actual grid cell — force it to
   stretch to the row's tallest item, then let the card fill it. */
.elementor-loop-container .e-loop-item:has(.idoc-death-row-card) {
  display: flex;
  height: 100%;
}

.idoc-death-row-card {
  height: 100%;
  width: 100%;
}

/* Card container */
.idoc-death-row-card .e-con-inner {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  gap: 0;
  overflow: hidden;
  padding: 0 !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Title bar */
.idoc-death-row-card .idoc-death-row-title.elementor-widget-heading {
  background: #3C5A86 !important;
  padding: 14px 20px;
  margin: 0;
}

.idoc-death-row-card .idoc-death-row-title .elementor-heading-title {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0;
}

/* Image — fixed-height box so every photo occupies the same vertical
   space, keeping the IDOC number and description rows aligned across a row */
.idoc-death-row-card .idoc-death-row-image {
  padding: 20px 20px 0;
  margin: 0;
}

.idoc-death-row-card .idoc-death-row-image .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 240px;
}

.idoc-death-row-card .idoc-death-row-image img {
  width: auto;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 4px;
}

/* IDOC number */
.idoc-death-row-card .idoc-death-row-num {
  padding: 20px 20px 0;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  font-weight: 700;
}

/* Description / conviction text — grows to fill remaining height so
   every card in a row ends up the same height */
.idoc-death-row-card .idoc-death-row-content {
  padding: 10px 20px 20px;
  font-size: 16px;
  line-height: 1.6;
  color: #000;
  flex-grow: 1;
}

/* ═══════ DEATH ROW CARDS ENDS ═══════ */


/* ═══════ MOST WANTED CARDS ═══════ */

/* Filter input, styled to match the header search modal's field
   (dialog-box-search.css: .modal-body .input-group > .form-control plus
   .search-bar-wrapper). The input is hardcoded in an Elementor Text Editor
   widget with no classes, so it's targeted by id. */
#loop-search {
  width: 100%;
  max-width: 780px;
  height: 60px;
  border: 1px solid #999999;
  border-radius: 0;
  background: var(--color7);
  padding: 10px 20px;
  font-family: "Verdana", sans-serif;
  font-size: 16px;
  line-height: normal;
  color: var(--color8);
  margin-top: 10px;
  -webkit-appearance: none;
  appearance: none;
}

#loop-search::placeholder {
  font-family: "Verdana", sans-serif;
  color: #666;
  opacity: 1;
}

#loop-search:focus {
  outline: 2px solid var(--color2);
  outline-offset: 0;
  border-color: var(--color2);
}

/* Force the grid tracks to stay flexible. The fixed-width swiper inside a
   card gives each loop-item an intrinsic width, which the grid was honoring
   as a fixed 392px track — three of those overflow the row. min-width:0 lets
   the items shrink so the tracks resolve to an even 1fr each. */
.elementor-loop-container:has(.idoc-most-wanted-card) .e-loop-item {
  display: flex;
  height: 100%;
  min-width: 0;
}

.idoc-most-wanted-card {
  height: 100%;
  width: 100%;
  min-width: 0;
}

/* Card container */
.idoc-most-wanted-card .e-con-inner {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  gap: 0;
  overflow: hidden;
  padding: 0 !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* Flexbox overflow trap: a flex item's default min-width is `auto`, so it
   refuses to shrink below its content's intrinsic width. The swiper's
   content is 3 slides wide, so without this the carousel forces the whole
   card — and the grid cell — wider than the viewport. */
.idoc-most-wanted-card .e-con-inner > * {
  min-width: 0;
  max-width: 100%;
}

/* Name / title bar */
.idoc-most-wanted-card .idoc-most-wanted-name.elementor-widget-heading,
.idoc-most-wanted-card .idoc-most-wanted-name.elementor-widget-shortcode {
  background: #3C5A86 !important;
  padding: 14px 20px;
  margin: 0;
}

.idoc-most-wanted-card .idoc-most-wanted-name .elementor-heading-title,
.idoc-most-wanted-card .idoc-most-wanted-name .most-wanted-card-title {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: normal;
  margin: 0;
}

/* Status heading (ARRESTED), rendered by [mw_captured_heading]. Placed in the
   Elementor loop item as its own Shortcode widget, so the rule is unscoped —
   the widget outputs nothing for entries that are still at large. */
.mw-status-badge {
  display: block;
  background: #B32017;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 1px;
  text-align: center;
  text-transform: uppercase;
  padding: 10px 12px;
  border-radius: 4px;
  line-height: 1.2;
}

/* Inside a card the widget already supplies horizontal padding, so the bar
   spans the full card width. */
.idoc-most-wanted-card .mw-status-badge {
  border-radius: 0;
}

/* Meta rows (Wanted Since / IDOC ID / Alias / Capture Status) */
.idoc-most-wanted-card .elementor-widget-text-editor {
  padding: 4px 20px 0;
  font-size: 15px;
  line-height: 1.5;
  color: #000;
}

.idoc-most-wanted-card .elementor-widget-text-editor:first-of-type,
.idoc-most-wanted-card .idoc-most-wanted-name + .elementor-widget-text-editor {
  padding-top: 16px;
}

/* Image carousel — fixed-height box so every card's image area matches,
   keeping the meta rows above and buttons below aligned across a row */
.idoc-most-wanted-card .idoc-most-wanted-carousel {
  padding: 16px 20px 0;
  margin: 0;
}

/* Center the swiper within the card — swiper locks in a fixed slide width
   at init that's narrower than the card, so left-align it out and center. */
.idoc-most-wanted-card .idoc-most-wanted-carousel .elementor-main-swiper {
  margin-left: auto;
  margin-right: auto;
}

/* Constrain the swiper's own elements — Elementor sets their height from
   the source image, so the image div height alone leaves dead space. */
.idoc-most-wanted-card .idoc-most-wanted-carousel .elementor-main-swiper,
.idoc-most-wanted-card .idoc-most-wanted-carousel .swiper,
.idoc-most-wanted-card .idoc-most-wanted-carousel .swiper-wrapper,
.idoc-most-wanted-card .idoc-most-wanted-carousel .swiper-slide {
  height: 190px !important;
}

.idoc-most-wanted-card .idoc-most-wanted-carousel .elementor-carousel-image {
  height: 190px !important;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 4px;
}

/* Keep carousel pagination easy to tap while preserving the small dot design. */
.idoc-most-wanted-card .idoc-most-wanted-carousel .swiper-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}

.idoc-most-wanted-card .idoc-most-wanted-carousel .swiper-pagination-bullet {
  position: relative;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0;
  opacity: 1 !important;
  cursor: pointer;
}

.idoc-most-wanted-card .idoc-most-wanted-carousel .swiper-pagination-bullet::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  background: #767676;
  transform: translate(-50%, -50%);
}

.idoc-most-wanted-card .idoc-most-wanted-carousel .swiper-pagination-bullet-active::before {
  background: var(--color2);
}

.idoc-most-wanted-card .idoc-most-wanted-carousel .swiper-pagination-bullet:focus-visible {
  outline: 2px solid var(--color2);
  outline-offset: -6px;
}

/* Warrant text — grows to fill remaining height so buttons pin to the
   bottom and every card in a row ends up the same height */
.idoc-most-wanted-card .idoc-most-wanted-warrant {
  padding: 16px 20px;
  font-size: 15px;
  line-height: 1.5;
  color: #000;
  flex-grow: 1;
}

/* Buttons */
.idoc-most-wanted-card .elementor-widget-button {
  padding: 0 20px 10px;
}

.idoc-most-wanted-card .idoc-most-wanted-submit-tip {
  padding-bottom: 20px;
}

/* Buttons use the site-wide primary style by default. Only layout tweaks
   here (full-width, centered) — colors/padding come from the primary rule. */
.idoc-most-wanted-card .elementor-button {
  width: 100%;
  justify-content: center;
  transition: all 0.2s ease;
}

/* Learn More + Submit a Tip button group (rendered by [mw_wanted_buttons]) */
.idoc-most-wanted-buttons {
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}

/* ═══════ MOST WANTED CARDS ENDS ═══════ */


/* PEOPLE SEARCH START */
.people-search.people-search--details .people-search__name {
    margin-top: 0px;
}
/* PEOPLE SEARCH END */



/* POSTS START */
.related-articles-bottom {
    background-color: var(--color1) !important;
}
/* POSTS END */


/* VIDEO PLAYLIST START */
/* Elementor locks each playlist row to height:55px/line-height:55px and
   truncates the title to one line with an ellipsis, cutting off longer video
   names. Free the row height so titles can wrap to two lines without the
   thumbnail and duration spilling out of the row. */
.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title {
    height: auto;
    min-height: 55px;
    line-height: 1.4;
    padding-top: 8px;
    padding-bottom: 8px;
    align-items: center;
}

/* Let the title wrap instead of truncating. line-height is reset here too
   because the widget's 55px value is inherited by the inner button. */
.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title .e-tab-title-text,
.elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title .e-tab-title-text button {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.4;
    text-align: start;
}
/* VIDEO PLAYLIST END */

/* WEB TIP SUBJECT LOCK START */
/* When the subject arrives via ?subject= the dropdown is locked to that one
   name. The select stays enabled on purpose — a disabled select submits no
   value — so interaction is blocked here instead. The real guard is the
   server-side choice list in populate_cpt_dropdown(). */
.gfield.subject-locked select {
    pointer-events: none;
    background-color: #eee;
    color: #555;
    cursor: not-allowed;
    /* Drop the dropdown arrow — it advertises an interaction the locked
       field doesn't offer. background-image covers a theme/GF arrow drawn
       as a background; appearance covers the native control. */
    appearance: none;
    -webkit-appearance: none;
    background-image: none;
    padding-right: 14px;
}
/* WEB TIP SUBJECT LOCK END */

/* FACILITY TYPE VISIBILITY START */
/* Hide an element on single location pages by facility type. Add the matching
   class to the element in Elementor (Advanced > CSS Classes). The body class
   comes from idoc_location_facility_type_body_class() in functions.php.
   Elementor Pro's display conditions can't test a custom taxonomy without
   fataling, so visibility is handled here instead. */
.facility-type-district-offices .hide-for-district-offices,
.facility-type-prisons .hide-for-prisons,
.facility-type-community-reentry-centers .hide-for-community-reentry-centers,
.facility-type-work-camps .hide-for-work-camps,
.facility-type-administration .hide-for-administration {
    display: none !important;
}

/* One-off: hide the Visiting section on Saguaro Correctional Center (post 534).
   Add the class `hide-visiting-saguaro` to the Visiting section in Elementor. */
.postid-534 .hide-visiting-saguaro {
    display: none !important;
}
/* FACILITY TYPE VISIBILITY END */

@media (max-width: 767px) {
  h1,
  .h1,
  body.wp-singular h1.entry-title {
    font-size: 32px;
    line-height: 40px;
    overflow-wrap: break-word;
  }
}
/* LOCATION CARD CLICKABLE START
   The Location Card title widget (class `location-card-title`) is the blue
   band. The link stretches to fill the widget so the whole band is clickable. */
.location-card-title {
    position: relative;
}

.location-card-title .elementor-heading-title a::after {
    content: "";
    position: absolute;
    inset: 0;
}

/* Default link color: white on the blue band. This used to come from an
   Elementor rule on the Locations page; set here so it can't go missing. */
.elementor .e-loop-item.locations .elementor-widget-heading.location-card-title a {
    color: #fff !important;
    text-decoration: none;
}

/* Hover/focus: same dark background as .its-btn-primary:hover (--color3).
   The stretched link covers the band, so hovering anywhere triggers it. */
.e-loop-item.locations .elementor-widget-heading.location-card-title:has(a:hover),
.e-loop-item.locations .elementor-widget-heading.location-card-title:has(a:focus-visible) {
    background-color: var(--color3) !important;
}

/* Link text on hover matches the button: white, underlined. */
.e-loop-item.locations .elementor-widget-heading.location-card-title:has(a:hover) a,
.e-loop-item.locations .elementor-widget-heading.location-card-title:has(a:focus-visible) a {
    color: var(--color7) !important;
    text-decoration: underline;
}

/* Arrow icon follows the link text color on hover. */
.e-loop-item.locations .elementor-widget-heading.location-card-title:has(a:hover) a i,
.e-loop-item.locations .elementor-widget-heading.location-card-title:has(a:focus-visible) a i {
    color: inherit !important;
}
/* LOCATION CARD CLICKABLE END */

/* Address link (Google Maps): plain black text by default; hover/focus matches
   the phone links on the cards (#3C5A86). */
.location-info__address a,
.elementor .e-loop-item.locations .location-info__address a {
    color: #000 !important;
    text-decoration: none !important;
}

.location-info__address a:hover,
.location-info__address a:focus,
.elementor .e-loop-item.locations .location-info__address a:hover,
.elementor .e-loop-item.locations .location-info__address a:focus {
    color: #3C5A86 !important;
    text-decoration: underline !important;
}

/* LOCATIONS NAV BUTTONS START
   Four equal-size jump buttons. Class `locations-nav-btns` is on the
   container in Elementor. */
.locations-nav-btns.e-con {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.locations-nav-btns .elementor-widget-button,
.locations-nav-btns .elementor-widget-button .elementor-button {
    width: 100%;
    height: 100%;
}

.locations-nav-btns .elementor-widget-button .elementor-button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media (max-width: 1024px) {
    .locations-nav-btns.e-con {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .locations-nav-btns.e-con {
        grid-template-columns: 1fr;
        grid-auto-rows: 1fr; /* every stacked button matches the tallest */
    }
}
/* LOCATIONS NAV BUTTONS END */

/* LOCATION CARD IMAGE OVERLAY START
   Semi-transparent blue overlay on card images for uniformity (client
   request). #3C5A8680 = #3C5A86 at 50% opacity — adjust the last two digits
   to make it lighter/darker. */
.e-loop-item.locations .elementor-widget-image {
    position: relative;
}

.e-loop-item.locations .elementor-widget-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #3C5A8680;
    pointer-events: none;
}

/* The image is now wrapped in a link. An inline <a> shrinks to the image's
   natural width, leaving gaps at the sides; make it fill the card. */
.e-loop-item.locations .elementor-widget-image > a {
    display: block;
    width: 100%;
}
/* LOCATION CARD IMAGE OVERLAY END */

/* LOCATION CARD EQUAL HEIGHT START
   Cards in the same grid row stretch to the tallest card. Pure CSS: the grid
   already makes every .e-loop-item the same height; this passes that height
   down to the visible card (.e-con-inner), so it adjusts to any content. */
.e-loop-item.locations,
.e-loop-item.locations > .e-con.e-parent {
    height: 100%;
}

.e-loop-item.locations > .e-con.e-parent > .e-con-inner {
    height: 100%;
}
/* LOCATION CARD EQUAL HEIGHT END */

/* LOCATION CARD SPLIT TITLE START
   Community Reentry Center cards: name on line 1, "Community Reentry Center →"
   on line 2. Markup is built by functions.js. */
.location-card-title__line {
    display: block;
}
/* LOCATION CARD SPLIT TITLE END */

/* ITS LINK CARDS START */
.its-link-cards .its-link-card {
    background-color: var(--color3);
}
/* ITS LINK CARDS END */

/* HOME QUICK LINKS TITLE START */
.home-quick-links-title .elementor-heading-title {
    color: var(--color3) !important;
}
/* HOME QUICK LINKS TITLE END */

/* ACCORDION DEEP LINKS START
   Leave room for the fixed header when jumping to an accordion item via
   #hash, so the question stays visible. Raise the value if the header grows. */
details.e-n-accordion-item,
details.locations-accordion-item,
.e-n-accordion details {
    scroll-margin-top: 120px;
}
/* ACCORDION DEEP LINKS END */

/* CAREERS MENU BUTTON START
   Menu item with CSS class `main-menu-careers` (Max Mega Menu renders it as `mega-main-menu-careers`) (Appearance > Menus) styled as
   a button in the alert-bar orange (#F5A03C, hover #D67E22), dark text.
   Desktop only; the mobile menu keeps its normal look. */
@media only screen and (min-width: 992px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item {
        margin-left: 12px;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item > a.mega-menu-link:focus,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item.mega-toggle-on > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
        background: #F5A03C !important;
        color: var(--color3) !important;
        font-weight: bold;
        border-radius: 4px;
        height: 38px;
        line-height: 38px;
        margin: 6px 0;
        align-items: center;
        text-decoration: none !important;
    }

    /* Hover / focus / open: solid darker orange, like the buttons' hover shift. */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item > a.mega-menu-link:focus,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item.mega-toggle-on > a.mega-menu-link {
        background: #D67E22 !important;
    }

    /* Dropdown caret follows the dark text. */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item > a.mega-menu-link .mega-indicator::after,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item > a.mega-menu-link:hover .mega-indicator::after,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item > a.mega-menu-link:focus .mega-indicator::after,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-main-menu-careers.mega-menu-item.mega-toggle-on > a.mega-menu-link .mega-indicator::after {
        color: var(--color3) !important;
    }
}
/* CAREERS MENU BUTTON END */

/* FONT AWESOME BRAND ICONS START */
.fab {
    background: none !important;
}
/* FONT AWESOME BRAND ICONS END */

/* TOPBAR LAST DIVIDER START */
/* Pipe after the last top-nav item only separated it from the removed text resizer. */
.custom-top-nav-content > ul:not(.dropdown-menu) > li:last-child:after {
    content: none;
}
/* TOPBAR LAST DIVIDER END */

/* ITS HELPFUL LINKS ICONS START */
.elementor .its-helpful-links .its-helpful-links__icon {
    flex: 0 0 50px;
    width: 50px;
    font-size: 50px !important;
}

.elementor .its-helpful-links .its-helpful-links__icon svg {
    width: 50px !important;
    height: 50px !important;
}
.elementor .its-helpful-links .its-helpful-links__link {
    font-size: 20px !important;
}
/* ITS HELPFUL LINKS ICONS END */

/* NEWS TWO COLUMNS START — [news_alerts_list columns="2"] */
@media (min-width: 992px) {
    .custom-news-alerts-wrapper--cols-2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }

    .custom-news-alerts-wrapper--cols-2 > .custom-news-section-title,
    .custom-news-alerts-wrapper--cols-2 > .custom-news-view-all {
        grid-column: 1 / -1;
    }

    .custom-news-alerts-wrapper--cols-2 > .custom-news-view-all {
        margin-top: 0 !important;
    }
}
/* NEWS TWO COLUMNS END */

/* MOST WANTED CARDS START — [most_wanted_cards] */
.idoc-mw-cards__search {
    margin-bottom: 20px;
}

.idoc-mw-cards__search-label {
    display: block;
    margin-bottom: 8px;
}

.idoc-mw-cards__search-input {
    width: 100%;
    max-width: 800px;
    padding: 14px 16px;
    border: 1px solid #999;
    border-radius: 2px;
}

.idoc-mw-cards .idoc-mw-cards__search-input,
.idoc-mw-cards .idoc-mw-cards__search-input:hover,
.idoc-mw-cards .idoc-mw-cards__search-input:focus {
    box-shadow: none !important;
    border: 1px solid #999 !important;
    background-image: none !important;
    outline: none;
}

/* Plain outline instead of the glow, so keyboard users still see focus. */
.idoc-mw-cards .idoc-mw-cards__search-input:focus-visible {
    outline: 2px solid var(--color3);
    outline-offset: 2px;
}

.idoc-mw-cards__status {
    margin: 0 0 16px;
    min-height: 1.5em;
}

.idoc-mw-cards__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.idoc-mw-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--color2);
}

.idoc-mw-card[hidden] {
    display: none;
}

.idoc-mw-card .idoc-mw-card__name {
    margin: 0;
    padding: 10px 12px;
    background: var(--color2);
    color: #fff;
    font-size: 1.1rem;
    line-height: 1.3;
    text-align: center;
	text-transform: uppercase;
}

.idoc-mw-card .mw-status-badge {
    margin: 0;
}

.idoc-mw-card__body {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.idoc-mw-card__photo {
    flex: 0 0 150px;
    width: 150px;
}

.idoc-mw-card__photo img {
    display: block;
    width: 150px;
    height: auto;
}

.idoc-mw-card__details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.idoc-mw-card__meta {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.35;
}

.idoc-mw-card__meta dt,
.idoc-mw-card__meta dd {
    display: inline;
    margin: 0;
}

.idoc-mw-card__meta dt {
    font-weight: 700;
}

.idoc-mw-card .idoc-mw-card__more {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color3);
}

.idoc-mw-card .idoc-mw-card__tip,
.idoc-mw-card .idoc-mw-card__tip:visited {
    display: block;
    margin-top: auto;
    padding: 10px 12px;
    text-align: center;
    text-decoration: none;
    background: #fff;
    color: var(--color3);
    border: 2px solid var(--color2);
}

.idoc-mw-card a.idoc-mw-card__tip:hover,
.idoc-mw-card a.idoc-mw-card__tip:focus,
.idoc-mw-card a.idoc-mw-card__tip:focus-visible {
    background: var(--color2);
    color: #fff !important;
}

.idoc-mw-card__wanted-for {
    margin: 0;
    font-size: 0.95rem;
}

@media (max-width: 991px) {
    .idoc-mw-cards__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 479px) {
    .idoc-mw-card__body {
        flex-direction: column;
    }
}
/* MOST WANTED CARDS END */

/* BODY TEXT COLOR START */
/* Dark navy (--color3) instead of black for body content. Set on body so it
   inherits; the Elementor global "text" color is pointed at it too, since
   Elementor widgets read that instead of inheriting. Headings, links, and
   anything with its own color (white on dark sections, buttons) are untouched. */
body {
    color: var(--color3);
}

body[class*="elementor-kit-"] {
    --e-global-color-text: var(--color3);
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
    color: var(--color3);
}

/* IDOC News ([news_alerts_list]): excerpts, dates, and the paginated archive. */
.custom-news-alerts-wrapper .custom-news-excerpt,
.custom-news-alerts-wrapper .custom-news-excerpt p,
.custom-news-alerts-wrapper .custom-news-content {
    color: var(--color3);
}

/* Accordions: Elementor accordion/toggle content, and the ITS ACF accordion. */
.e-n-accordion .e-con,
.e-n-accordion .elementor-widget-text-editor,
.e-n-accordion .elementor-widget-text-editor p,
.e-n-accordion .elementor-widget-text-editor li,
.e-n-accordion .elementor-widget-text-editor dd,
.e-n-accordion .elementor-widget-text-editor td,
.elementor-widget-accordion .elementor-tab-content,
.elementor-widget-accordion .elementor-tab-content p,
.elementor-widget-accordion .elementor-tab-content li,
.elementor-widget-ITS_acf_accordion p,
.elementor-widget-ITS_acf_accordion li,
.elementor-widget-ITS_acf_accordion td {
    color: var(--color3);
}
/* BODY TEXT COLOR END */

/* NEWS SINGLE START */
.single-news .news-single-meta {
    margin: 0 0 20px;
    color: var(--color3);
}

.single-news .single-post-thumbnail img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 400px;
    object-fit: contain;
}
/* NEWS SINGLE END */
