/**
 * Theme Name: Idaho Webmaster v4 Child
 * Template: Webmaster-v4
 * Description: Child theme for the Idaho Webmaster v4 theme. ICDV brand overrides.
 * Author: White Whale Web
 * Author URI: https://whitewhaleweb.com/
 * Version: 4.0.2
 * Text Domain: its.idaho.gov
 */

/* ============================================
   ICDV STYLE GUIDE
   Idaho Council on Domestic Violence
   Font: Atkinson Hyperlegible (loaded by parent)
   ============================================ */

/* ---------- Color Variables ---------- */
:root {
    /* Neutrals */
    --icdv-white:       #FFFFFF;
    --icdv-off-white:   #F6F7F3;
    --icdv-light-gray:  #EAF6F8;
    --icdv-sage:        #EBECE5;
    --icdv-black:       #1A1A1A;

    /* Brand Primary */
    --icdv-rust:        #C65128;
    --icdv-teal-dark:   #374C56;
    --icdv-teal:        #386370;

    /* Brand Secondary */
    --icdv-ice:         #A8BCAF;
    --icdv-blush:       #DAB2A4;

    /* Functional */
    --icdv-link:        #374C56;
    --icdv-link-hover:  #C65128;
    --icdv-focus:       #386370;
    --icdv-error:       #C65128;
    --icdv-success:     #386370;

    /* Typography Scale (px / line-height) */
    --icdv-font:        'Atkinson Hyperlegible', sans-serif;
}

#main, .no-js, #primary, .custom-blog-page > .row > div, .tribe-events-c-search {
	background: #fff!important
}

/* ---------- Typography ---------- */

/* H1: Bold 60/65 */
h1, .h1 {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 60px;
    line-height: 65px;
    color: var(--icdv-black);
	letter-spacing: 0px;
}

/* H2: Bold 50/60 */
h2, .h2 {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 50px;
    line-height: 60px;
    color: var(--icdv-black);
	letter-spacing: 0px;
}

/* H3: Bold 40/50 */
h3, .h3 {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 40px;
    line-height: 50px;
    color: var(--icdv-black);
	letter-spacing: 0px;
}

/* H4: Bold 30/40 */
h4, .h4 {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 30px;
    line-height: 40px;
    color: var(--icdv-black);
	letter-spacing: 0px;
}

/* H5: Bold 20/30 */
h5, .h5 {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 20px;
    line-height: 30px;
    color: var(--icdv-black);
	letter-spacing: 0px;
}

/* H6: Bold Uppercase 20/30 */
h6, .h6 {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 20px;
    line-height: 30px;
    text-transform: uppercase;
    color: var(--icdv-black);
	letter-spacing: 0px;
}

/* Body: Regular 16/26 */
body,
p,
.body-text {
    font-family: var(--icdv-font);
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: var(--icdv-black);
}

/* Body Link: Regular 16/26 underline */
a {
    font-family: var(--icdv-font);
    font-weight: 400;
    font-size: inherit;
    line-height: inherit;
    color: var(--icdv-link);
    text-decoration: underline;
    transition: color 0.2s ease;
}
a:hover,
a:focus {
    color: var(--icdv-link-hover);
}
a:focus-visible {
    outline: 2px solid var(--icdv-focus);
    outline-offset: 2px;
}

/* Intro: Bold 24/30 */
.intro-text,
.lead {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 24px;
    line-height: 30px;
}

/* Meta: Regular 14/26 */
.meta,
.meta-text {
    font-family: var(--icdv-font);
    font-weight: 400;
    font-size: 14px;
    line-height: 26px;
}

/* Input: Bold 14/26 */
.input-label,
label {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 14px;
    line-height: 26px;
}

/* Department Tag: Bold Uppercase 18/25 */
.dept-tag,
.department-tag {
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 18px;
    line-height: 25px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ---------- Buttons - Primary ---------- */
.btn-primary,
.its-btn-primary,
a.its-btn-primary {
    display: inline-block;
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 14px;
    line-height: 26px;
    text-decoration: none;
    padding: 10px 28px;
    border-radius: 4px;
    background: var(--icdv-teal-dark);
    color: var(--icdv-white);
    cursor: pointer;
    transition: all 0.2s ease;
}
.btn-primary:hover,
.its-btn-primary:hover,
a.its-btn-primary:hover {
    background: var(--icdv-rust);
    color: var(--icdv-white);
    text-decoration: none;
}
.btn-primary:focus-visible,
.its-btn-primary:focus-visible {
    outline: 2px solid var(--icdv-focus);
    outline-offset: 2px;
}

/* ---------- Buttons - Secondary ---------- */
.btn-secondary,
.its-btn-secondary,
a.its-btn-secondary {
    display: inline-block;
    font-family: var(--icdv-font);
    font-weight: 700;
    font-size: 14px;
    line-height: 26px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
    padding: 10px 28px;
    border: 2px solid var(--icdv-teal);
    border-radius: 4px;
    background: var(--icdv-teal);
    color: var(--icdv-white);
    cursor: pointer;
    transition: all 0.2s ease;
}
.btn-secondary:hover,
.its-btn-secondary:hover,
a.its-btn-secondary:hover {
    background: transparent;
    border-color: var(--icdv-teal);
    color: var(--icdv-teal);
    text-decoration: none;
}
.btn-secondary:focus-visible,
.its-btn-secondary:focus-visible {
    outline: 2px solid var(--icdv-focus);
    outline-offset: 2px;
}

/* ---------- Buttons - Dark Mode Primary ---------- */
.dark-mode .btn-primary,
.bg-dark .btn-primary,
.its-btn-primary--dark {
    background: var(--icdv-sage);
    border-color: var(--icdv-sage);
    color: var(--icdv-black);
}
.dark-mode .btn-primary:hover,
.bg-dark .btn-primary:hover,
.its-btn-primary--dark:hover {
    background: var(--icdv-rust);
    border-color: var(--icdv-rust);
    color: var(--icdv-white);
}

/* ---------- Buttons - Dark Mode Secondary ---------- */
.dark-mode .btn-secondary,
.bg-dark .btn-secondary,
.its-btn-secondary--dark {
    background: var(--icdv-teal);
    border-color: var(--icdv-teal);
    color: var(--icdv-white);
}
.dark-mode .btn-secondary:hover,
.bg-dark .btn-secondary:hover,
.its-btn-secondary--dark:hover {
    background: transparent;
    border-color: var(--icdv-white);
    color: var(--icdv-white);
}

/* ---------- Form Inputs ---------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="password"],
input[type="number"],
textarea,
select {
    font-family: var(--icdv-font);
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    padding: 10px 14px;
    border: 2px solid var(--icdv-ice);
    border-radius: 4px;
    background: var(--icdv-white);
    color: var(--icdv-black);
    transition: border-color 0.2s ease;
}
input:focus,
textarea:focus,
select:focus {
    border-color: var(--icdv-teal);
    outline: 2px solid var(--icdv-focus);
    outline-offset: 2px;
}

/* ---------- Utility Background Classes ---------- */
.bg-white       { background-color: var(--icdv-white); }
.bg-off-white   { background-color: var(--icdv-off-white); }
.bg-light-gray  { background-color: var(--icdv-light-gray); }
.bg-sage        { background-color: var(--icdv-sage); }
.bg-black       { background-color: var(--icdv-black); }
.bg-rust        { background-color: var(--icdv-rust); }
.bg-teal-dark   { background-color: var(--icdv-teal-dark); }
.bg-teal        { background-color: var(--icdv-teal); }
.bg-ice         { background-color: var(--icdv-ice); }
.bg-blush       { background-color: var(--icdv-blush); }

/* ---------- Utility Text Color Classes ---------- */
.text-white     { color: var(--icdv-white); }
.text-black     { color: var(--icdv-black); }
.text-rust      { color: var(--icdv-rust); }
.text-teal-dark { color: var(--icdv-teal-dark); }
.text-teal      { color: var(--icdv-teal); }
.text-blush     { color: var(--icdv-blush); }

/* ---------- Responsive Typography ---------- */
@media (max-width: 768px) {
    h1, .h1 { font-size: 36px; line-height: 42px; }
    h2, .h2 { font-size: 30px; line-height: 38px; }
    h3, .h3 { font-size: 26px; line-height: 34px; }
    h4, .h4 { font-size: 22px; line-height: 30px; }
    .intro-text, .lead { font-size: 20px; line-height: 28px; }
}

@media (max-width: 480px) {
    h1, .h1 { font-size: 30px; line-height: 36px; }
    h2, .h2 { font-size: 26px; line-height: 32px; }
    h3, .h3 { font-size: 22px; line-height: 28px; }
}

/* --------------------------------------------------------------------------
   PRIMARY BUTTON — .its-btn-primary
   -------------------------------------------------------------------------- */
.its-btn-primary a,
a.its-btn-primary,
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-cta a.elementor-cta__button {
  background-color: var(--icdv-focus) !important;
  font-size: 1.2em !important;
  padding: 5px 50px;
  color: var(--icdv-white) !important;
  text-decoration: none;
  font-weight: bold;
  transition: all 0.2s ease-in-out;
  text-align: center;
  display: inline-block;
  border-radius: 4px;
  line-height: 1.2em;
	font-style: normal!important
}
.its-btn-primary a:hover,
a.its-btn-primary: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-cta a.elementor-cta__button:hover {
  background-color: var(--icdv-teal-dark) !important;
  font-size: 1.2em !important;
  padding: 5px 50px;
  color: var(--icdv-white) !important;
  text-decoration: none !important;
  font-style: normal;
  font-weight: bold;
  line-height: 1.2em;
}
/* --------------------------------------------------------------------------
   SECONDARY / LIGHT BUTTON — .its-btn-light
   -------------------------------------------------------------------------- */
.its-btn-light a,
a.its-btn-light,
.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,
.elementor-button-wrapper .elementor-size-sm,
.elementor-widget-button .elementor-button {
  background-color: var(--icdv-white) !important;
  color: var(--icdv-teal-dark) !important;
  font-size: 1.2em !important;
  padding: 5px 50px;
  text-decoration: none;
  font-weight: bold !important;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  border-radius: 4px;
  line-height: 1.2em;
}
.its-btn-light a:hover,
a.its-btn-light: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,
.elementor-button-wrapper .elementor-size-sm:hover,
.elementor-widget-button .elementor-button:hover {
  background-color: var(--icdv-ice) !important;
  color: var(--icdv-white) !important;
  font-style: normal !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 1.2em !important;
  padding: 5px 50px;
  line-height: 1.2em;
}
.elementor-widget-button .elementor-button:hover .elementor-button-text {
  color: var(--icdv-white) !important;
}
/* --------------------------------------------------------------------------
   LIGHT LARGE BUTTON — .its-btn-light-lg
   -------------------------------------------------------------------------- */
.its-btn-light-lg a,
a.its-btn-light-lg,
.its-btn-light-lg {
  font-size: 1.57em !important;
  background-color: var(--icdv-teal) !important;
  color: var(--icdv-white) !important;
  padding: 5px 50px;
  text-decoration: none;
  border: 0px !important;
  font-weight: bold !important;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  border-radius: 4px !important;
  line-height: 1.2em;
}
.its-btn-light-lg a:hover,
a.its-btn-light-lg:hover,
.its-btn-light-lg:hover {
  background-color: var(--icdv-teal-dark) !important;
  color: var(--icdv-white) !important;
  font-style: normal !important;
  text-decoration: none !important;
  font-weight: bold !important;
  font-size: 1.57em !important;
  padding: 5px 50px;
  border: 0px !important;
  line-height: 1.2em;
}
/* --------------------------------------------------------------------------
   LARGE BUTTON — .its-btn-lg
   -------------------------------------------------------------------------- */
.its-btn-lg,
a.its-btn-lg,
.its-btn-lg a {
  background-color: var(--icdv-ice) !important;
  font-size: 1.57em !important;
  padding: 5px 50px;
  color: var(--icdv-teal-dark) !important;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s ease;
  display: inline-block;
  border-radius: 4px;
  line-height: 1.2em;
}
.its-btn-lg:hover,
a.its-btn-lg:hover,
.its-btn-lg a:hover {
  background-color: var(--icdv-white) !important;
  font-size: 1.57em !important;
  padding: 5px 50px;
  color: var(--icdv-teal-dark) !important;
  text-decoration: none;
  font-style: normal;
  font-weight: bold;
  line-height: 1.2em;
}
.wpcf7 .wpcf7-submit, .gform_wrapper .gform_button {
	 background: var(--icdv-teal-dark) !important;
    color: var(--icdv-white) !important;
	border: none!important;
	    padding: 8px 10px !important;
    line-height: 0px !important;
    height: auto !important
}

form .gform-footer.gform_footer input.gform_button.button {
	 background: var(--icdv-teal) !important;
    color: var(--icdv-white) !important;
	    padding: 8px 50px !important;
    line-height: 0px !important;
    height: auto !important;
	width: auto !important;
}

form .gform-footer.gform_footer input.gform_button.button:hover {
	 background: var(--icdv-teal-dark) !important;
    color: var(--icdv-white) !important;
}

/* --------------------------------------------------------------------------
   BUTTONS END
   -------------------------------------------------------------------------- */
.notice-area {
	background: var(--icdv-rust)!important
}

/* FOOTER */

/* FOOTER */
.site-footer {
    background: none;
}

.row-footer-links {
	padding: 0px!important;
	background-color: var(--icdv-black);
}
button#sftExt-frontend-button.bottom.right.rectangle {
    background-color: #DAB2A4 !important;
}

.row-footer-links a {
	margin: 0px!important
}

.navbar .align-items-center {
	display: flex;
}
[role="navigation"] a:not(:last-child)::after {
    content: "|";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #DAB2A4;
}

#colophon {
    background-color: var(--icdv-teal-dark);
    padding: 60px 0;                 /* Vertical spacing */
    width: 100%;
    justify-content: center;
    display: flex;
    align-items: end;
}

#colophon .widget-title{
display: block;
	font-size: 16px!important;
	color: var(--icdv-white)!important;
	font-weight: 100!important;
	margin-top: 0px!important;
	line-height: 1.2rem!important
}

.footer-links {
	background: var(--icdv-black)
}


.error-404.not-found {
	display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    text-align: center;
    background: url(/wp-content/uploads/2026/05/404.jpg) no-repeat center center;
    background-size: cover;
    color: #ffffff;
    padding: 0;
    margin: 0;
}


#colophon .site-footer {
    background: none;
}


.footer-contact {
    color: #FFFFFF;
    font-size: 14px;
    line-height: 1.6;
}

.footer-contact p {
    color: #FFFFFF;
    margin: 0 0 8px;
}

.footer-contact a {
    color: #FFFFFF;
    text-decoration: none;
}

.footer-contact a:hover {
    text-decoration: underline;
}

.footer-contact .dashicons {
    color: #A8BCAF;
    font-size: 16px;
    vertical-align: middle;
    margin-right: 4px;
}

/* ---------- 404 Page ---------- */
.error-404 {
    text-align: center;
    padding: 120px 20px 100px;
}

.error-404 h1 {
    font-size: 180px;
    line-height: 1;
    font-weight: 700;
    color: var(--icdv-white);
	margin: 0 0 20px;
}

.error-404 .error-h2 {
    font-size: 30px;
    line-height: 50px;
    font-weight: 700;
    color: var(--icdv-white);
    margin: 0 0 20px;
}

.error-404 .error-p {
    font-size: 16px;
    line-height: 26px;
    color: var(--icdv-light-gray)!important;
    margin: 0 0 50px;
}

.error-404 .error-p a,
.error-404 .error-p-initial {
    color: var(--icdv-light-gray)!important;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.error-404 .error-p a:hover,
.error-404 .error-p-initial:hover {
    color: var(--icdv-rust);
}

.error-404 .card {
    max-width: 600px;
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(4px);
}

.error-404 .card-body {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 30px;
    text-align: left;
}

.error-404 .card-body svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.error-404 .card-body svg path {
    fill: var(--icdv-white);
}

.error-404 .card-text {
    font-size: 14px;
    line-height: 24px;
    color: var(--icdv-light-gray)!important;
    margin: 0;
}

.error-404 .card-text a {
    color: var(--icdv-light-gray);
    text-decoration: underline;
}

.error-404 .card-text a:hover {
    color: var(--icdv-rust);
}

.error-p-initial, .error-404 .card-text a {
	color: var(--icdv-light-gray)!important;
}

@media (max-width: 768px) {
    .error-404 {
        padding: 80px 20px 60px;
    }
    .error-404 h1 {
        font-size: 100px;
        margin-bottom: -20px;
    }
    .error-404 .error-h2 {
        font-size: 26px;
        line-height: 34px;
    }
    .error-404 .card-body {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

.search-results #content {
	background: transparent!important
}

img[alt="USA map"] {
    filter: brightness(0) saturate(100%) invert(78%) sepia(11%) saturate(456%) hue-rotate(99deg) brightness(92%) contrast(87%);
}

.page-id-7 .sidebars {
	display: none!important
}

.page-id-7 div#primary {
	width: 100%;

}

.custom-news-title a {
	color: var(--icdv-link)!important
}

.custom-news-title {
	font-size: 20px!important;
	margin-bottom: 0px!important
}

/**
 * Council page — styles for the [council_members] shortcode.
 * @author Fudo
 * @date   2026-06-01
 */

.council-page {
    padding: var(--gutter);
}

.council-intro,
.council-meetings,
.council-members-section {
    margin-bottom: 40px;
	width: 100%;
    max-width: 100%;
}

.council-members,
.council-members-section {
    max-width: 820px;
}

.council-meetings h2 {
	font-size: 30px;
	color: var(--icdv-link);
}

.council-members {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

@media (min-width: 900px) {
    .council-members { min-width: 820px; }
}

.council-member {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding-top: 30px;
}

.council-member-content,
.council-member-bio,
.council-member-bio p {
    max-width: 100%;
}

.council-member:first-child {
    border-top: 0;
    padding-top: 0;
}

.council-member-map {
    flex: 0 0 250px;
    max-width: 250px;
}

h2.council-members-heading {
    margin-bottom: 50px;
	font-size: 30px;
	color: var(--icdv-link);
}

.council-member-map img {
    width: 100%;
    height: auto;
    display: block;
}

.council-member-content {
    flex: 1 1 auto;
	min-width: 0;
}

.council-member-content h3 {
	margin-top: 0px!important;
	font-size: 1.25rem!important
}

.council-member-content h3.council-member-name {
	margin-top: 0px!important;
	line-height: 1.2em!important
}

.council-member-name {
    margin: 0 0 2px;
}

.council-member-title {
    margin: 0 0 12px;
    font-size: 0.9em;
    font-weight: 600;
    color: #555;
}

.council-member-bio {
    margin-bottom: 16px;
}

.search-results input#s-1 {
	border-radius: 0px!important
}

.council-member-email {
    display: inline-block;
}

@media (max-width: 767px) {
    .council-member {
        flex-direction: column;
    }
    .council-member-map {
        flex-basis: auto;
        max-width: 200px;
    }
}
/* Override parent --color5 focus ring on form inputs → teal-dark */
input[type=search]:hover,
.wpcf7 input:hover, .wpcf7 select:hover, .wpcf7 textarea:hover,
.gform_wrapper input:hover, .gform_wrapper select:hover, .gform_wrapper textarea:hover,
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus,
.gform_wrapper input:focus, .gform_wrapper select:focus, .gform_wrapper textarea:focus {
    border: 1px solid var(--icdv-ice) !important;
    box-shadow: 0px 0px 0px 4px var(--icdv-ice) inset !important;
}

/* Redefine parent color-scheme accents → teal-dark site-wide */
:root {
    --color5: #374C56 !important;
    --color6: #374C56 !important;
	--color9: #FCFCFC !important;
}

.form-control:focus {
	box-shadow: none!important
}

/* Global: remove Elementor slide fallback color, keep images */
/* .swiper-slide-bg {
    background-color: transparent !important;
} */


/* ============================================================
   GRAVITY FORM #5 — Subscribe (inline, constrained)
   @author Fudo
   @date   2026-06-01
   ============================================================ */

/* Hide the Gravity form title — section already has its own heading */
#gform_wrapper_5 .gform_heading {
    display: none;
}

/* Row layout, left-aligned, not full width */
#gform_wrapper_5 form {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
    max-width: 480px;   /* keeps the whole form compact */
}

#gform_wrapper_5 .gform-body {
    flex: 1 1 auto;
    margin: 0;
    min-width: 0;       /* lets the input shrink instead of overflowing */
}

#gform_wrapper_5 .gform_fields {
    display: block;
}

/* Hide the "Email" label accessibly — placeholder carries it */
#gform_wrapper_5 .gfield_label {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* Email input */
#gform_wrapper_5 input[type="email"] {
    width: 100%;
    height: 50px;
    background: var(--icdv-white) !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 26px 16px !important;
    font-size: 15px;
    color: var(--icdv-teal-dark) !important;
    box-shadow: none !important;
}

#gform_wrapper_5 input[type="email"]::placeholder {
    color: var(--icdv-teal-dark);
    opacity: 0.7;
}

/* Footer / button inline */
#gform_wrapper_5 .gform_footer {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: stretch;
}

#gform_wrapper_5 .gform_button {
    height: 50px;
    background: var(--icdv-ice) !important;
    color: var(--icdv-teal-dark) !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0 28px !important;
    font-size: 25px;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#gform_wrapper_5 .gform_button:hover {
    background: var(--icdv-white) !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 600px) {
    #gform_wrapper_5 form {
        flex-direction: column;
        max-width: 100%;
    }
    #gform_wrapper_5 .gform_button {
        width: 100%;
    }
}

/* Force the brand font on the field + placeholder */
#gform_wrapper_5 input[type="email"] {
    font-family: var(--icdv-font) !important;
}

#gform_wrapper_5 input[type="email"]::placeholder {
    font-family: var(--icdv-font) !important;
}

#gform_wrapper_5 .gform_button {
    font-family: var(--icdv-font) !important;
}

.topbar.d-print-none {
    background: #1A1A1A;
    color: #fff;
	padding: 5px;
}




.search-bar-wrapper {
    border: 3px solid transparent;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.custom-sidebar .search-btn, .custom_header_search .search-submit {
    position: absolute;
    right: 5px!important;
    top: 8px!important;
    border: none;
    background: none;
    color: var(--color6) !important;
    cursor: pointer;
    z-index: 999999999;
}

.search-bar-wrapper:hover {
    border-color: var(--color10);
    box-shadow: 0 0 3px 3px var(--color10);
}


/* Make the search overlay actually fill the screen when active */
.custom-search-bar {
    display: none;
}

.custom-search-bar.active {
    display: block !important;
    position: fixed !important;   /* fixed, not absolute — covers viewport */
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;       /* the missing piece — was 0 */
    z-index: 9999 !important;      /* lift above everything */
    background: rgba(55, 76, 86, 0.97); /* teal-dark scrim behind the card */
    overflow-y: auto;
    padding: 5vh 0;
}

/* SAFETY EXIT START */

#sftExt-frontend-button {
    background: transparent !important;
    background-image: url(/wp-content/uploads/2026/07/portal-person.svg) !important;
    background-repeat: no-repeat !important;
    background-size: fill!important;
    background-position: center !important;
    border: none !important;
    width: 100px !important;
    height: 100px !important;
    padding: 30px !important;
    box-shadow: none !important;
    background-color: red !important;
    margin: 10px;
}

#sftExt-frontend-button .sftExt-inner {
    display: none !important;
}

/* SAFETY EXIT END */

#sftExt-frontend-button.right {
	display: block;
}

button#sftExt-frontend-button {
	display: block;
}

.find-help-sidebar {
	background: #EBECE5!important;
	padding: 20px!important;
}

.find-help-sidebar h3 {
	font-size: 30px!important;
	margin-top: 0px!important;
	color: #374C56!important
}

nav.navbar.navbar-expand-lg.position-relative {
	background: #374C56!important
}



@media only screen and (min-width: 992px) {
  #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 {
    background-color: #333;
    color: #ffffff;
    font-weight: normal!important;
    text-decoration: none;
	  display: flex;
	  justify-content: space-between;
    border-color: #fff;
  }
}

@media only screen and (max-width: 991px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        color: var(--color7);
        display: flex;
        justify-content: space-between;
    }
	ul.mega-sub-menu {
    padding: 0px 10px !important;
}
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
	background: #386370
}

aside.find-help-sidebar h3.wp-block-heading {
	margin-top: 0px!important;
}

.elementor-widget-n-accordion {
	--n-accordion-border-width: 0px!important
}

.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title {
	color: #043B53!important
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
	color: #043B53!important
}

.e-n-accordion-item-title {
	border-bottom: 1px solid #999!important;
	padding: 10px 0px!important;
}

.e-n-accordion-item p {
	padding: 0px 30px!important;
}

.e-n-accordion-item-title-text {
    color: #043B53;
    font-size: 20px !important;
    font-weight: 700 !important;
}

.e-n-accordion-item-title-icon .e-opened svg,
.e-n-accordion-item-title-icon .e-closed svg {
  display: none !important;
}

.e-n-accordion-item-title-icon .e-opened::before {
  content: "\f0d8";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 18px;
}

.e-n-accordion-item-title-icon .e-closed::before {
  content: "\f0d7";
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 18px;
}

.e-n-accordion-item-title-icon {
  display: inline-flex !important;
  align-items: center !important;
}

.e-n-accordion-item-title-icon .e-opened::before,
.e-n-accordion-item-title-icon .e-closed::before {
  line-height: 1;
  vertical-align: middle;
}

.e-n-accordion-item-title {
  display: flex !important;
  align-items: center !important;
}

/* ═══════ CONTACT CARDS ═══════ */
.idpr-contacts__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 20px 0;
}

.idpr-contacts__card {
  background: #fff;
  border: 1px solid #999999;
  border-radius: 4px;
  padding: 20px;
}

.idpr-contacts__card-name {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 4px;
}

.idpr-contacts__card-role {
  font-size: 18px;
  color: #555;
  margin: 0 0 10px;
  line-height: 1.5;
}

.idpr-contacts__card-phone {
  font-size: 18px;
  color: #3C5A86;
  text-decoration: none;
}

.idpr-contacts__card-phone:hover {
  color: #2a4060;
}

.idpr-contacts__card a[href^="mailto"] {
  font-size: 18px;
  color: #3C5A86;
  text-decoration: none;
  word-break: break-all;
}

.idpr-contacts__card a[href^="mailto"]:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .idpr-contacts__grid {
    grid-template-columns: 1fr;
  }
}

.elementor-widget-text-editor {
	color: #000!important
}

.breadcrumbs {
	margin-bottom: 2rem!important
}

.modal-body .header_search .input-group {
	height: 59px;
}

.custom_header_search .search-submit {
	top: 16px !important;
}

#searchform i.fa.fa-search {
	font-size: 27px;
}

.modal-body .custom_header_search .search-submit i {
	font-size: 27px;
}

.search-blocks img {
	width: 35px;
	margin-bottom: 10px;
	height: 35px;
}

div.search-bar-wrapper, .site-branding .search-bar-wrapper {
    border: 1px solid #999 !important;
    transition: border-color .2s ease, box-shadow .2s ease;
    padding: 5px 10px!important;
}

.ITS-2-col-img-text__content {
    padding-left: 0!important;
    padding-right: 2rem!important;
}

.ITS-subscribe-cta-label {
	font-size: 30px!important;
	
}

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

/**
 * Need Assistance contact list — kill bullets, keep FA icons
 *
 * @author Fudo
 * @date 2026-06-10
 */
.need-assistance-contact {
    list-style: none;
    margin: 0;
    padding: 0;
}

.need-assistance-contact li {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 12px;
}

.its-service-img-content-box-image {
    width: 100%;
    height: 250px!important;
    overflow: hidden;
    object-fit: fill;
}

.need-assistance-contact li::marker {
    content: none; /* belt-and-suspenders for stubborn theme styles */
}


/**
 * Press Releases shortcode styling
 * @author Fudo
 * @date   2026-06-11
 */

.pr-wrapper {
	max-width: 100%;
}

.pr-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pr-item {
	margin-bottom: 2.5rem;
}

.pr-item--hidden {
	display: none;
}

.pr-item-inner {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
}

/* Thumbnail */
.pr-thumb {
	flex: 0 0 220px;
	display: block;
}

.pr-thumb img {
	width: 100%;
	height: 200px!important;
	object-fit: cover;
	border-radius: 4px !important;
	display: block;
}

/* Content column */
.pr-content {
	flex: 1 1 auto;
	min-width: 0;
}

.pr-title {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
	color: #374C56!important;
	text-decoration: none;
	margin-bottom: 0.35rem;
}

.pr-title:hover,
.pr-title:focus {
	color: #264B6B;
	text-decoration: underline;
}

/* Meta line: date, author, categories */
.pr-meta {
	font-size: 0.8rem;
	color: #444;
	margin: 0 0 0.6rem;
}

.pr-meta-sep {
	margin: 0 0.4rem;
	color: #000;
}
.tribe-events .tribe-events-header__content-title {
    align-items: center;
    display: flex;
    display: none;
}

.pr-cat {
	color: #16628B;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: normal;
	margin-right: 0.6rem;
}

.pr-cat:hover,
.pr-cat:focus {
	text-decoration: underline;
}

/* Excerpt */
.pr-excerpt {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #222;
	margin: 0;
}

.pr-readmore {
	    color: #17406a !important;
	font-weight: 400;
	text-decoration: underline!important;
	margin-left: 0.25rem;
	white-space: nowrap;
}

.pr-readmore:hover,
.pr-readmore:focus {
	color: #16628B;
}

/* Load More / View All button */
.pr-load-more-wrap {
	margin-top: 1.5rem;
}

.pr-load-more-btn {
	display: inline-block;
	background: #3D6470;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 0.65rem 1.4rem;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
}

.pr-load-more-btn:hover,
.pr-load-more-btn:focus {
	background: #264B6B;
}

.pr-load-more-btn:focus-visible {
	outline: 2px solid #16628B;
	outline-offset: 2px;
}

/* Mobile: stack image above content */
@media (max-width: 767px) {
	.pr-item-inner {
		flex-direction: column;
		gap: 1rem;
	}

	.pr-thumb {
		flex-basis: auto;
		width: 100%;
	}

	.pr-thumb img {
		height: 200px;
	}

	.pr-title {
		font-size: 1.25rem;
	}
}


  .help-card {
    --card-bg: #3c6670;
    --btn-bg: #2f535c;
    --text: #eaf0f1;

    box-sizing: border-box;
    max-width: 345px;
    padding: 22px;
    background: var(--card-bg);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  }

  .help-card *,
  .help-card *::before,
  .help-card *::after {
    box-sizing: border-box;
  }

  .help-card__image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
    margin-bottom: 20px;
  }

  .help-card__title {
    margin: 20px 0 14px;
    color: #fff;
    font-size: 20px!important;
    font-weight: 700;
    line-height: 1.2;
  }

  .help-card__text {
    margin: 0 0 22px;
    color:#fff!important;
    font-size:16px!important;
    line-height: 1.55;
  }

  .help-card__button {
    display: block;
    width: auto!important;
    padding: 8px 50px!important;
    background: #fff!important;
    color: #374C56!important;
    font-size: 20px!important;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    border-radius: 3px;
    transition: background 0.2s ease;
	  display: inline!important
  }

  .help-card__button:hover,
  .help-card__button:focus-visible {
    background: #264349;
  }

  .help-card__button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
  }

/* ================================================================
   MAX MEGA MENU — CUSTOM STYLING TAB
   
   Structure targeted:
     ul.mega-sub-menu[style*="--columns:12"]           ← outer grid wrapper
       └─ li.mega-menu-column.mega-menu-columns-4-of-12  ← 3 equal columns
            └─ ul.mega-sub-menu                          ← inner list
                 └─ li.mega-menu-item                    ← widget item
                      ├─ h4.mega-block-title             ← section heading
                      └─ div.menu-*-container > ul > li  ← nav links
   
   All text: white / rgba(255,255,255,x)
   ================================================================ */


/* ----------------------------------------------------------------
   1. OUTER GRID WRAPPER
   Force the 3-column grid on the <ul> that holds the columns.
   The plugin writes style="--columns:12" on this element.
   ---------------------------------------------------------------- */
ul.mega-sub-menu[style*="--columns:12"] {
  display:               grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-auto-rows:        auto !important;
  align-items:           start !important;
  gap:                   0 !important;           /* dividers handle spacing */

  width:                 100% !important;
  padding:               0 !important;
  margin:                0 !important;
  list-style:            none !important;
  box-sizing:            border-box !important;

  /* reset any flex the plugin sets */
  flex-direction:        unset !important;
  flex-wrap:             unset !important;
}


/* ----------------------------------------------------------------
   2. COLUMN  <li> ITEMS
   Each column is a <li role="presentation"> inside the grid.
   ---------------------------------------------------------------- */
ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column {
  display:    block !important;
  float:      none !important;
  width:      auto !important;     /* let grid control width */
  max-width:  none !important;
  min-width:  0 !important;        /* prevent blowout */
  box-sizing: border-box !important;

  /* vertical divider between columns */
}


/* ----------------------------------------------------------------
   3. INNER SUB-MENU  <ul>  (one per column)
   Needs to be a plain vertical flex list — NOT inherit the outer grid.
   ---------------------------------------------------------------- */
ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column > ul.mega-sub-menu {
  display:               flex !important;
  flex-direction:        column !important;
  grid-template-columns: unset !important;
  gap:                   0 !important;
  padding:               0 !important;
  margin:                0 !important;
  list-style:            none !important;
  width:                 100% !important;
  background:            transparent !important;
  box-shadow:            none !important;
  border:                none !important;
}


/* ----------------------------------------------------------------
   4. WIDGET ITEM wrapper  (li.mega-menu-item inside each column)
   ---------------------------------------------------------------- */
ul.mega-sub-menu[style*="--columns:12"] .mega-menu-item > div > ul > li > a {
  display:         block !important;
  width:           100% !important;
  padding:         0.35rem 0 !important;
  border-radius:   3px !important;
  box-sizing:      border-box !important;
  white-space:     normal !important;

  font-size:       18px !important;
  font-weight:     400 !important;
  line-height:     1.2 !important;
  color:           rgba(255, 255, 255, 1) !important;
  text-decoration: none !important;

  transition: color 0.15s ease,
              padding-left 0.15s ease !important;
}


/* ----------------------------------------------------------------
   5. SECTION HEADINGS  h4.mega-block-title
   ---------------------------------------------------------------- */
ul.mega-sub-menu[style*="--columns:12"] .mega-block-title {
  display:        block !important;
  margin:         1rem 0 1rem 0 !important;
  padding:        0 0 0 0 !important;
/*   border-bottom:  1px solid rgba(255, 255, 255, 0.25) !important; */

  font-size:      18px !important;
  font-weight:    700 !important;
  text-transform: none !important;
  color:          #A8BCAF !important;
  line-height:    1.2 !important;
  white-space:    nowrap !important;
}


/* ----------------------------------------------------------------
   6. NAV CONTAINERS  .menu-find-container etc.
   ---------------------------------------------------------------- */
.menu-find-container,
.menu-do-container,
.menu-learn-container {
  display: block !important;
  width:   100% !important;
}

.menu-find-container ul,
.menu-do-container   ul,
.menu-learn-container ul {
  display:               flex !important;
  flex-direction:        column !important;
  grid-template-columns: unset !important;
  list-style:            none !important;
  margin:                0 !important;
  padding:               0 !important;
  background:            transparent !important;
  box-shadow:            none !important;
  border:                none !important;
}


/* ----------------------------------------------------------------
   7. INDIVIDUAL LIST ITEMS
   ---------------------------------------------------------------- */
.menu-find-container .menu-item,
.menu-do-container   .menu-item,
.menu-learn-container .menu-item {
  display: block !important;
  float:   none !important;
  width:   100% !important;
  margin:  0 !important;
  padding: 0 !important;
}


/* ----------------------------------------------------------------
   8. LINKS  — white text, subtle hover
   ---------------------------------------------------------------- */
ul.mega-sub-menu[style*="--columns:12"] .mega-menu-item > div > ul > li > a {
  display:         block !important;
  width:           100% !important;
  padding:         0.35rem 0 !important;
  border-radius:   3px !important;
  box-sizing:      border-box !important;
  white-space:     normal !important;

  font-size:       18px !important;
  font-weight:     400 !important;
  line-height:     1.2 !important;
  color:           rgba(255, 255, 255, 1) !important;
  text-decoration: none !important;

  transition: color 0.15s ease,
              padding-left 0.15s ease !important;
}

/* Hover / focus */
ul.mega-sub-menu[style*="--columns:12"] .mega-menu-item > div > ul > li > a:hover,
ul.mega-sub-menu[style*="--columns:12"] .mega-menu-item > div > ul > li > a:focus-visible {
  color:            #D7B623 !important;
  padding-left:     0 !important;
}

ul.mega-sub-menu[style*="--columns:12"] .mega-menu-item > div > ul > li > a:focus-visible {
  outline:          2px solid #D7B623 !important;
  outline-offset:   2px !important;
}

/* Active / current page */
ul.mega-sub-menu[style*="--columns:12"] .mega-menu-item > div > ul > li > a[aria-current="page"] {
  color:            #ffffff !important;
  font-weight:      600 !important;
}



/* ================================================================
   RESPONSIVE BREAKPOINTS
   ================================================================ */

/* Tablet (≤ 1024px) — 2 columns, last column spans full width */
@media (max-width: 1024px) {
  ul.mega-sub-menu[style*="--columns:12"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column:first-child {
/*     border-right:  1px solid rgba(255, 255, 255, 0.12) !important; */
/*     border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important; */
  }

  ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column:nth-child(2) {
    border-right:  none !important;
/*     border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important; */
  }

  ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column:last-child {
    grid-column:   1 / -1 !important;
    border-right:  none !important;
    border-bottom: none !important;
  }
}

/* Mobile (≤ 768px) — single column stack */
@media (max-width: 768px) {
  ul.mega-sub-menu[style*="--columns:12"] {
    grid-template-columns: 1fr !important;
  }

  ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column {
    border-right:  none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding:       1.25rem 0rem !important;
  }

  ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column:first-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column:nth-child(2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column:last-child {
    grid-column:   auto !important;
    border-bottom: none !important;
  }

  .menu-find-container a,
  .menu-do-container   a,
  .menu-learn-container a {
    font-size: 18px; !important;
    padding:   0.45rem 0rem !important;
  }
	
	#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-megamenu>ul.mega-sub-menu {
    background: var(--color-crimson-deep)!important;
    width: 100vw;
    max-width: fit-content!important;
    opacity: 1 !important;
}
}

/* Very small (≤ 480px) */
@media (max-width: 480px) {
  ul.mega-sub-menu[style*="--columns:12"] > li.mega-menu-column {
    padding: 1rem 0.75rem !important;
  }
	#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-megamenu>ul.mega-sub-menu {
    background: #386370!important;
    width: 100vw;
    max-width: fit-content!important;
    opacity: 1 !important;
}
}

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

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-megamenu>ul.mega-sub-menu {
    background: #386370!important;
    width: 100vw;
    max-width: 100vw;
    opacity: 1 !important;
}


.mega-sub-menu {
    opacity: 1 !important;
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    background: var(--color-crimson-deep);
    color: var(--color7);
    opacity: 1 !important;
    font-size: 18px;
}

.mega-sub-menu a:hover {
    color: #D7B623 !important;
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
	font-size: 18px;
}
.mega-indicator::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f0d7"; /* fa-caret-down */
} 

.mega-indicator::before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f0d7";
    color: #005FBE !important;
}

/* Item keeps a positioning context */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu {
    position: static !important;
}

/* Full-bleed panel */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    margin-left: -50vw !important;
    transform: none !important;
    opacity: 1 !important;
}

/* Content centered to site width */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row {
    width: 100% !important;
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu[style*="--columns:12"] {
    max-width: 1340px !important;
    margin: 0 auto !important;
    padding: 1.5rem 0px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.help-card__text {
	margin-bottom: 30px!important
}


#mega-menu-wrap-primary #mega-menu-primary > li. mega-menu-item.mega-toggle-on > a.mega-menu-link {
	font-weight: 100!important
}

/* Default: hidden everywhere */
.header-mobile-mission {
    display: none;
}

/* Mobile only */
@media (max-width: 767px) {
    .header-mobile-mission {
        display: block;
        margin-top: 12px;
        padding: 0 16px;

        font-size: 1rem;
        line-height: 1.4;
        font-weight: 400;
		border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
        padding: 20px 0px;
        color: #ffffff; /* adjust if header bg is light */
        text-align: center;
    }
	
	.site-branding .d-flex {
    display: grid !important;
    justify-content: space-between;
    width: 100%;
		row-gap: 2em;
}
}
@media (max-width: 767px) {
    .header-slider-wrap {
		width: 100%
    }
}

@media (max-width: 767px) {
    .site-branding .col-12.d-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
        padding: 60px 20px;
    }

    .site-branding .col-12.d-flex > * {
        margin: 0;
    }
}

/* Hide by default (desktop + tablet) */
.idaho-handshake {
  display: none;
}

@media (max-width: 767px) {
    .site-branding .logo {
        display: flex;
        justify-content: center;
        width: 100%;
    }
}

/* Show only on mobile */
@media (max-width: 767px) {
  .idaho-handshake {
            display: block;
        margin: 0px auto 0;
        max-width: 64px;
        height: auto;
        padding-bottom: 30px;
  }
	.search-bar-wrapper {
		width: 100%;
		margin: 0 auto!important;
	}
	
	.site-branding .row > [class*="col-"] {
		gap: 50px!important;
	}
	
	.site-branding .img-fluid {
    max-width: 85%;
}
}

@media (max-width: 430px) {

	.search-bar-wrapper {
		width: 100%!important
	}
	.search-bar {
		max-width: 100%!important
	}
}
.site-header .bg-light {
	background: var(--icdv-link)!important;
	display: grid;
}
#main {
	padding-top: 0em;
}

#mega-menu-wrap-primary .mega-menu-toggle {
	background: var(--icdv-link)!important;
}

@media only screen and (max-width: 991px) {
    #mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary {
        background: var(--icdv-link)!important;
        padding: 0 16px;
        position: absolute;
        width: calc(100% + 24px) !important;
        z-index: 9999999;
        left: auto !important;
    }
}

@media (max-width: 991px) {
  /* mobile-only submenu flow fix */
  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu,
  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item > ul.mega-sub-menu {
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
    width: 100% !important;
    left: auto !important;
    top: auto !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-column {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
}

@media (max-width: 991px) {
  /* Top-level mega panels are position:fixed on mobile — put them in flow */
  #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

.elementor-element.elementor-element-16535b7.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded {
    padding-top: 3em !important;
}

div#mega-menu-wrap-primary {
    background: transparent;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover {
	background-color: #386370;
	color: #fff!important;
	text-transform: normal!important;
	font-style: normal !important;
	font-weight: 100!important
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item, #main-navigation .navbar-nav > li.menu-item {
	font-weight: 100!important
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item {
	font-weight: 100!important
}

#mega-menu-primary > li.mega-menu-item > a.mega-menu-link,
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus,
#mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
  font-weight: 100 !important; /* or 600 — match your default */
}

body:not(.home) .entry-title {
  padding-top: 1em;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu {
  position: static;
}

/* MOBILE HOMEPAGE TOP */
/**
 * Anchor mega panels to the full-width menu bar so absolute
 * left:0 resolves to the page edge (restores full-width dropdown
 * without viewport-pinning).
 * @author Fudo
 * @date 2026-06-26
 */
#mega-menu-wrap-primary #mega-menu-primary {
    position: relative !important;
}

/**
 * Mobile mega panel reset — cancel desktop full-bleed (100vw / -50vw)
 * so the panel sits in normal flow and scrolls with the menu.
 * @author Fudo
 * @date 2026-06-26
 */
@media (max-width: 991px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
        position: static !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        transform: none !important;
    }
}

@media only screen and (max-width: 767px) {
    #colophon > div > div > div.col {
        flex: auto;
        display: grid;
        margin: 0 auto;
        text-align: center;
        display: flex !important;
        justify-content: center;
        align-items: center;
        align-content: center;
    }
	 .elementor-widget-ITS_slides .its-slides-hero .swiper-slide-contents {
        gap: 12px;
        padding: 30px!important;
    }
	
	.find-help-sidebar {
		margin-top: 20px!important;
	}
	    .ITS-subscribe-cta-form {
        padding: 30px 15px;
        margin-bottom: 50px;
    }
}



.social > i:hover {
	color: #fff
}

.social > i {
	color: #A8BCAF
}

.error404 #main {
	min-height: 0px;
}

main a:hover {
	font-style: normal!important;
	text-decoration: none!important
}
.e-n-accordion p {
	margin: 10px 0px;
}
.e-n-accordion ul {
	margin: 10px 0px;
}
.e-n-accordion {
	font-family: 'Atkinson Hyperlegible', sans-serif!important;
	}

hr.wp-block-separator.aligncenter.has-alpha-channel-opacity.is-style-wide {
    display: none;
}
.e-n-accordion p, li, ul {
	font-family: 'Atkinson Hyperlegible', sans-serif!important;
}

.tec-archive-header {
    margin-top: 2em;
}

.tribe-events .tribe-events-calendar-latest-past__event-date-tag-datetime {
	display: flex;
    flex-direction: column;
    height: 100%;
    text-align: center!important;
    justify-content: center!important;
}

.tribe-events-calendar-latest-past__event-date-tag.tribe-common-g-col {
    background: #386370!important;
    height: 150px;
	width: 150px!important;
	border-radius: 4px!important;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.tribe-events-calendar-latest-past__event-date-tag-month {
	font-size: 24px!important;
	color: #fff!important
}

span.tribe-events-calendar-latest-past__event-date-tag-daynum.tribe-common-h5.tribe-common-h4--min-medium {
	font-size: 50px!important;
	color: #fff!important
}

.tribe-events-calendar-latest-past__event-date-tag-year {
	font-size: 16px!important;
	color: #fff!important
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-latest-past__event-row {
    margin: 50px 0;
}
.topbar-custom-nav a:hover,
.topbar-custom-nav a:hover span,
.topbar-custom-nav a:hover i,
.topbar-custom-nav button.fontsizer:hover {
    color: #a3cee6 !important;
}

.topbar-custom-nav a.search-toggle::after {
    content: '|';
    padding-left: 20px;
    color: #DAB2A4;
}
.custom-top-nav-content > ul:not(.dropdown-menu) > li:after {
    content: "|";
   color: #DAB2A4!important;
    margin-top: -2px;
}
/* ---------- Directory Listing ---------- */
.directory-listing { margin: 0 0 40px; }
.directory-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin: 0 0 20px;
    padding: 20px;
    background: var(--icdv-off-white, #F6F7F3);
    border-radius: 6px;
}
.directory-search {
    flex: 1 1 1px;
    padding: 10px 14px;
    border: 2px solid var(--icdv-ice, #D6DFDF);
    border-radius: 4px;
    font-size: 16px;
	line-height: 21px!important
}
.directory-search:focus {
    border-color: var(--icdv-teal, #386370);
    outline: 2px solid var(--icdv-teal, #386370);
    outline-offset: 2px;
}
.directory-dropdowns {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.directory-filter {
    padding: 10px 14px;
    border: 2px solid var(--icdv-ice, #D6DFDF);
    border-radius: 4px;
    font-size: 16px;
    background: #fff;
    min-width: 150px;
}
.directory-count {
    font-size: 16px;
    color: var(--icdv-teal-dark, #374C56);
    font-weight: 700;
    margin-left: auto;
}
.directory-table-wrap { overflow-x: auto; }
.directory-table {
    width: 100%;
    border-collapse: collapse;
}
.directory-table thead th {
    background: var(--icdv-teal-dark, #374C56);
    color: #fff;
    padding: 12px 16px;
    text-align: left;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
}
.directory-table tbody td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--icdv-ice, #D6DFDF);
    font-size: 16px;
    vertical-align: top;
}
.directory-table tbody td:last-child { white-space: nowrap; }
.directory-table tbody tr:hover {
    background: var(--icdv-off-white, #F6F7F3);
}
.directory-table tbody tr.dir-hidden { display: none; }
.directory-pager { display: none; }
.directory-table a { color: var(--icdv-teal, #386370); text-decoration: underline; }
.directory-table a:hover { color: var(--icdv-rust, #C65128); }
.status-active { color: var(--icdv-teal, #386370); font-weight: 700; }
.status-inactive { color: var(--icdv-rust, #C65128); font-weight: 700; }
@media (max-width: 768px) {
    .directory-filters { flex-direction: column; }
    .directory-search { width: 100%; }
    .directory-dropdowns { width: 100%; }
    .directory-filter { width: 100%; }
    .directory-count { margin-left: 0; }
    .directory-pager {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        margin: 16px 0 0;
    }
    .directory-pager button {
        padding: 9px 20px;
        border: 2px solid var(--icdv-teal, #386370);
        background: var(--icdv-teal, #386370);
        color: #fff;
        border-radius: 4px;
        font-family: var(--icdv-font, "Atkinson Hyperlegible", sans-serif);
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        cursor: pointer;
        transition: background 0.15s ease, border-color 0.15s ease;
    }
    .directory-pager button:hover:not(:disabled) {
        background: var(--icdv-teal-dark, #374C56);
        border-color: var(--icdv-teal-dark, #374C56);
    }
    .directory-pager button:disabled { opacity: 0.4; cursor: default; }
    .directory-pager .dir-page-info {
        font-size: 13px;
        color: var(--icdv-teal-dark, #374C56);
        font-weight: 700;
    }
}

.search-results #content {
    background: transparent !important;
    padding-top: 50px;
}
#sftExt-frontend-button {
    background: transparent !important;
    background-image: url(/wp-content/uploads/2026/07/portal-person.svg) !important;
    background-repeat: no-repeat !important;
    background-size: 60% !important;
    background-position: center !important;
    border: none !important;
    width: 55px !important;
    height: 55px !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 5px;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
}

#sftExt-frontend-button .sftExt-inner {
    display: none !important;
}

.intor-page-top-bottom {
	padding: 50px!important
}

.intor-page-top-bottom a:hover {
	color: #FF8266!important	
}

.gtranslate_wrapper,
.gt_container,
.gt_selector,
.gt_float_switcher,
[class*="gtranslate"] .gt_container {
    z-index: 99999 !important;
}

/* GTranslate dropdown above header */
.site-branding.header-background,
.topbar-custom-nav,
#top-navigation {
    overflow: visible !important;
}
.gtranslate_wrapper,
.gt_float_switcher,
.gt_float_switcher .gt_options,
.gt_options,
.gt-selector,
select.goog-te-combo {
    z-index: 2147483647 !important;
    position: relative !important;
}

/* GTranslate Bootstrap dropdown above header + search bar */
.top-navigation,
.top-navigation .container-xl,
.top-navigation .row,
.topbar-custom-nav,
#top-navigation,
.menu-item-gtranslate,
.wm4-gt-dropdown {
    overflow: visible !important;
}

.wm4-gt-menu.dropdown-menu {
    z-index: 2147483647 !important;
}

.wm4-gt-dropdown {
    position: relative !important;
    z-index: 2147483647 !important;
}

/* Lift entire topbar (and its dropdown) above the main header */

@media (max-width: 600px) {
    .modal-body {
        padding: 65px 20px !important;
    }
}

.announcement-text {
    margin-right: none;
    line-height: 1.3;
}

.idaho-announcement-bar {
    background-color: #30414D;
}

.idaho-announcement-bar .announcement-bar {
	color: #fff;
}

a.announcement-btn {
	color: var(--icdv-link)!important;
}

a.announcement-btn:hover {
    background-color: #A8BCAF;
    color: #374C56 !important;
    text-decoration: none !important;
    font-style: normal !important;
}

.pdf-download-wrap { margin-top: 32px; }

.mini-announcement-bar {
    background: #A8BCAF!important;
}
.announcement-bar {
	color: var(--color8);
}

#mini-announcement-bar span.announcement-close {
	color: var(--color8) !important;
}

.ITS-2-col-img-text h2 {
	margin-top: 0px!important;
	line-height: 50px;
	margin-bottom: 20px;
}
.ITS-2-col-img-text {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start!important;
}

.grantee-pages-footer a br {
    display: none;
}
.grantee-pages-footer a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
/* 	margin-left: 13px; */
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.top-navigation {
	z-index: 8;
}

span.mega-toggle-label-closed {
    display: none !important;
}

p.search-result-excerpt .search-result-item a {
	font-size: 18px!important;
}

.search-results h2.search-result-title.mb-1 {
    font-size: 20px;
}

@media only screen and (max-width: 576px) {
    .footer-widget {
        text-align: left !important;
        margin-bottom: 0em !important;
    }
	#colophon {
		padding: 40px 0;
	}
	#sftExt-frontend-button.bottom {
    top: auto;
    bottom: 110px;
}
}

.ITS-subscribe-cta-form-label {
    font-size: 30px !important;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 20px 0;
    color: #FFFFFF;
    margin-top: 0px !important;
}

.ITS-subscribe-cta-form-content {
    font-size: 24px !important;
    line-height: 1.6;
    margin: 0 0 30px 0;
    color: #FFFFFF;
}

.its-tabs-stacked__panels {
	padding: 0px 20px!important
}

.its-tabs-stacked__tab:last-child {
    border-bottom: 1px solid #999!important;
}

.its-tabs-stacked__tab:first-child {
    border-top: 1px solid #999!important;
}

.its-tabs-stacked__tab {
	border-bottom: 1px solid #999!important;
}
/* Restore visible focus indicators (WCAG 2.4.7) */
.form-control-plaintext:focus,
#main:focus,
#main-navigation .navbar-toggler:focus,
#masthead .navbar-toggler:focus {
    outline: 2px solid #D7B623 !important;
    outline-offset: 2px !important;
}
.top-breadcrumb nav {
    padding: 0px !important;
}

.page-id-341 .elementor-sticky--active h3.elementor-heading-title.elementor-size-default{
	margin-top: 0px!important;
}


.talk-to-someone a {
	color: #EAF6F8!important;
	text-decoration: underline!important
}
.talk-to-someone a:hover {
	text-decoration: none!important;
	color: #EAF6F8!important;
}
/* .dashicons,
.dashicons-before,
.dashicons::before,
.dashicons-before::before,
#wpadminbar *,
#wpadminbar *::before,
#wpadminbar *::after {
	font-family: dashicons !important;
} */


#gform_wrapper_5 {
	--gf-err: #ffb4ab;
	--gf-err-bg: rgba(255, 180, 171, 0.08);
	--gf-err-border: rgba(255, 180, 171, 0.45);
	--gf-err-pad-y: 0.875rem;
	--gf-err-pad-x: 1.125rem;
	--gf-err-gap: 0.5rem;
}

#gform_wrapper_5 .gform_validation_errors {
	background: var(--gf-err-bg);
	border: 1px solid var(--gf-err-border);
	border-left: 4px solid var(--gf-err);
	border-radius: 4px;
	padding: var(--gf-err-pad-y) var(--gf-err-pad-x);
	box-shadow: none;
}

#gform_wrapper_5 .gform_validation_errors:focus {
	outline: 2px solid var(--gf-err);
	outline-offset: 2px;
}

#gform_wrapper_5 .gform_submission_error {
	display: flex;
	align-items: center;
	gap: var(--gf-err-gap);
	margin: 0;
	color: var(--gf-err);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
}

#gform_wrapper_5 .gform_submission_error .gform-icon {
	position: static;
	flex-shrink: 0;
	color: var(--gf-err);
	border-color: var(--gf-err);
	font-size: 1.125rem;
}

#gform_wrapper_5 .gfield_validation_message {
	background: none;
	border: 0;
	padding: var(--gf-err-gap) 0 0;
	margin: 0;
	color: var(--gf-err);
	font-size: 0.8125rem;
	line-height: 1.4;
}

#gform_wrapper_5 .gfield_error input,
#gform_wrapper_5 .gfield_error textarea,
#gform_wrapper_5 .gfield_error select {
	border: 2px solid var(--gf-err);
	box-shadow: none;
}