﻿/* =========================
   Color Palette / Variables
   ========================= */
:root {
  --dcf-blue: #002D72;
  --dcf-yellow: #FFCB05;
  --dcf-hover-bg: #f5f5f5;
}
.danger-alert {
  background-color: #b00020; /* Dark red that passes contrast with white */
  padding: 1rem;
  border-radius: 0.375rem;
}

.danger-alert-inner {
  background-color: #ffffff;
  padding: 1rem;
  border-radius: 0.25rem;
}

.danger-alert h3 {
  color: #000000;
  margin: 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}


a {
  color: #0000ff;
  text-decoration: underline;
}

h1 {
  font-family: 'Helvetica Neue', Helvetica, sans-serif;
  font-size: 2.625rem;
  font-weight: 600;
  padding-bottom: 2%;
  margin: 0 0 20px;
}

h2 {
  font-family: 'Helvetica Neue', Helvetica, sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  padding-bottom: 2%;
  margin: 0 0 20px;
}

h3 {
  font-family: 'Helvetica Neue', Helvetica, sans-serif;
  font-size: 1.375rem;
  font-weight: 600;
  padding-bottom: 2%;
  margin: 0 0 20px;
}

h4 {
  color: #ffffff;
  font-size: 1.125rem;
  padding: 10px 0;
  font-family: 'Roboto Slab', Georgia, serif;
  margin: 0; /* optional: remove default h4 margin if needed */
}

p {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

/* Lists */
ul,
ol {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 8%;
  margin-top: 0;
  margin-bottom: 1rem;
}

li {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

.dv-escape-button {
  position: fixed;
  top: 2%;
  right: 4%;
  z-index: 9999;
  padding: 10px;
  color: #fff;
  background-color: #dc3545;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

/* =========================
   Accessibility
   ========================= */
/* Skip link */
.skip-link {
  position: absolute;
  top: -40px; /* hide offscreen */
  left: 0;
  background: #003467;
  color: #ffffff;
  padding: 8px 16px;
  z-index: 100;
  text-decoration: none;
  font-weight: bold;
  transition: top 0.3s ease;
}

.skip-link:focus {
  top: 0; /* slide into view */
}



/* Remove focus glow inside Cohesion wrapper */
.coh-style-focusable-content input:focus,
.coh-style-focusable-content a:focus {
  box-shadow: 0 0 0 0 #ffffff;
}


/* =========================
   Hero / ADA Blocks
   ========================= */
.heroTitle {
  background: transparent;
  padding: 1.2% 10% 1% 11%;
  margin-top: 0;
}

.adaGreen {
  background: #d9e6da;
  padding: 1.2% 10% 1% 11%;
  margin-top: 0;
}

.adaGreenSmall {
  background: #d9e6da;
  margin: 0;
}


/* =========================
   Header Top Panel
   ========================= */
.headerPanel {
  font-family: 'Roboto Slab', Georgia, serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  color: rgba(255, 255, 255, 1);
  font-size: 1.3rem;
  padding-top: 5px;
}

.topWhiteLink {
  text-decoration: none;
  color: #ffffff;
}

.topWhiteLink:hover {
  text-decoration: underline;
  color: #ffffff;
}


/* =========================
   Google Custom Search (CSE)
   ========================= */
.gcsc-find-more-on-google-root,
.gcsc-find-more-on-google,
.gsc-branding,
.gcsc-branding {
  display: none;
}

.gcsc-more-maybe-branding-box {
  display: none;
  border: 0px;
}

input.gsc-input {
  background: none !important;
  background-color: #ffffff !important;
}

.gsc-search-button-v2 {
  padding: 10px 27px;
  font-size: 13px;
  width: auto;
  min-height: 42px;
  vertical-align: middle;
  border-radius: 6px;
  margin-left: 0;
  border-color: #3079ed;
  background-color: #4d90fe;
}

table.gsc-search-box td.gsc-input,
table tbody td.gsc-input {
  padding-right: 0;
}

table.gsc-search-box td.gsc-input {
     padding-right: 0;

}

table tbody td:first-child.gsc-input,
table tbody td:first-child.gsib_a {
  border-left-style: initial;
  border-left-color: #ffffff;
  border-left-width: 0;
}

table tbody td.gsib_a {
  font-size: 0.875rem;
  border-bottom-style: none;
  border-bottom-width: 0;
  border-bottom-color: #ffffff;
}

table tbody td:last-child.gsc-input-box {
  border-right-style: initial;
}

.gsc-input { margin-bottom: 0px; }

table tbody td.gsc-result-info-container { border-style: none; }

table.gsc-above-wrapper-area-container { margin-bottom: initial; }

td.gsc-input { border-style: initial; }

td.gsc-search-button { border-bottom: none; }

table tbody td.gsib_b { padding: initial; }

.gsc-control-cse .gs-result .gs-title,
.gsc-control-cse .gs-result .gs-title * {
  font-size: clamp(1rem, 4.25vw, 20px);
  font-weight: 600;
  margin-bottom: 10px;
  font-family: 'Roboto Slab', Georgia, serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.gsc-webResult.gsc-result {
  border-top-style: none;
  border-left-style: none;
  border-right-style: none;
}

.gs-snippet { font-size: 1rem; }

.gsc-input-box {
  padding-top: 3px;
  padding-bottom: 3px;
  border-top-left-radius: initial;
  border-bottom-left-radius: initial;
}

table tbody td.gsc-input-box,
table tbody td:last-child.gsib_b {
  border-style: none;
}

table tbody td.gsc-search-button { padding: 0; }


/* =========================
   Navbar / Dropdowns
   ========================= */
/* Subtle shadow under header/nav */
.navbar.fixed-top {
  box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.25);
  z-index: 1030; /* stays above content */
}

.navbar-custom {
  background-color: transparent;
  font-family: 'Roboto', Arial, sans-serif;
}
.navbar-toggler {
  border-color: rgba(0, 0, 0, 0.5);
}

/* Toggler button */
.navbar-custom .navbar-toggler {
  background-color: transparent;
  border: 2px solid #003467;
  width: 48px;
  height: 40px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Optional: remove blue focus glow */
.navbar-custom .navbar-toggler:focus {
  box-shadow: none;
}

/* Center line */
.navbar-custom .navbar-toggler-icon {
  background-image: none;
  width: 26px;
  height: 3px;
  background-color: #003467;
  position: relative;
  display: block;
}

/* Top & bottom lines */
.navbar-custom .navbar-toggler-icon::before,
.navbar-custom .navbar-toggler-icon::after {
  content: "";
  width: 26px;
  height: 3px;
  background-color: #003467;
  position: absolute;
  left: 0;
}

.navbar-custom .navbar-toggler-icon::before { top: -8px; }
.navbar-custom .navbar-toggler-icon::after  { top:  8px; }

.navbar-custom .nav-link,
.navbar-custom .navbar-brand {
  color: rgba(0, 52, 103, 1);
  font-family: 'Roboto', Arial, sans-serif;
  font-weight: 600;
  font-size: 0.875em;
  text-decoration: none;
  padding: 0 0.9375rem;
  display: block;
  position: relative;
  height: 100%;
  line-height: 5.3125rem;
}

.navbar-custom .nav-link:hover,
.navbar-custom .nav-link:focus {
  color: rgba(0, 52, 103, 1);
}

/*.navbar-custom .dropdown-menu {
  border: none;
  border-radius: 0;
  padding: 0;
}*/
/* Kill dropdown menu padding */
.navbar-custom .dropdown-menu {
  padding-top: 0;
  padding-bottom: 0;
	margin-bottom:0;
	background-color: #000000 !important;
}

.navbar-custom .dropdown-item {
 /*color: var(--dcf-blue);*/
	 color: rgba(0, 52, 103, 1);
  padding: 12px 20px;
  border-bottom: 1px solid #000000;
  border-top: none;
	
}

/*.navbar-custom .dropdown-item:hover {
  background-color: var(--dcf-hover-bg);
  color: black;
}*/
/* Override for above code */
.navbar-custom .dropdown-item:hover,
.navbar-custom .dropdown-item:focus {
  background-color: transparent;
  text-decoration: underline;
}
/* ADA-sized dropdown items without extra vertical spacing */
/*.navbar-custom .dropdown-menu .dropdown-item {
  min-height: 44px;
  padding: 0 20px;          
  display: flex;
  align-items: center;      
  justify-content: center;  
  line-height: normal;      
  border-bottom: 1px solid rgb(219, 219, 220);
}*/
/*Override for code above*/
.navbar-custom .dropdown-menu .dropdown-item {
  min-height: 44px;         
  padding: 0 20px;           
  display: flex;
  align-items: center;       
  line-height: normal;       
	background-color: transparent;
}


/* Support for multi-level dropdowns */
.dropdown-submenu { position: relative; }

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: 0;
  margin-left: 0.1rem;
  display: none;
}

/* Target left-opening submenu */
.dropdown-submenu.left-side > .dropdown-menu {
  left: auto;
  right: 100%;
  top: 0;
  box-shadow: 0 4px 0.75rem rgba(0, 0, 0, 0.15);
  z-index: 1050;
  font-size: 0.875rem;
}

/* Header stays above navbar */
.site-header { z-index: 1050; }

/* Logo size */
.navbar-logo {
  height: 40px;
  width: auto;
}


.navbar .nav-link {
  min-height: 44px;      /* Ensure the nav-link is at least 44px tall */
  padding: 12px 20px;    /* Adjust padding */
  display: inline-flex;
  align-items: center;
  
}
/* Font requirement */
.navbar .nav-link,
.navbar .dropdown-item {
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 0.875rem;
  font-weight: 500;
	
}

/* Main nav hover bg */
.navbar .nav-link:hover,
.navbar .nav-link:focus {
  background-color: #E6F3FF;
}

/* Dropdown item typography & spacing */
.navbar .dropdown-menu .dropdown-item {
  font-family: Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  min-height: 40px;
  padding: 0 20px 5px 20px;;
  display: flex;
  align-items: center;
  line-height: normal;
  border-bottom: 1px solid rgb(219, 219, 220);

}

.navbar .dropdown-menu li:last-child > .dropdown-item {
  border-bottom: none;
  padding-bottom: 0;
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
  text-decoration: underline;
}

.navbar-custom .dropdown-menu,
.navbar-custom .dropdown-submenu > .dropdown-menu {
  --bs-dropdown-bg: #000000;
}
/* =========================
   Breadcrumb / Translate
   ========================= */
.breadcrumb-bar {
  margin: 1%;
  padding-left: 18%;
  padding-right: 15%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Right-align the translate box */
#google_translate_element {
  margin-left: auto;
  white-space: nowrap;
  float: right;
  text-align: right;
  font-family: Arial, sans-serif;
  font-size: 12pt;
}

/* Google Translate widget */
.goog-te-gadget {
  font-family: Arial, sans-serif !important;
  font-size: 0 !important; /* hide leftover text */
  color: #000 !important;
  padding: 0;
  margin: 0;
}

.goog-te-combo {
  font-family: Arial, sans-serif !important;
  font-size: 12pt !important;
  padding: 4px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}

/* Hide branding visually */
.goog-logo-link,
.goog-te-gadget span {
  display: none !important;
}

.skiptranslate {
  background: transparent !important;
}


/* =========================
   Layout / Containers
   ========================= */

section {
  margin-bottom: 1rem;
}

#results .card {
  width: 100%;
  height: 100%;
}

.county-bar {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  font-weight: 600;
  font-size: 0.75rem;
}

.card-section .card {
  height: 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.cardPad {
  padding: 8px 1% 1% 1%;
}

.redText {
  color: #B50000;
  font-weight: 600;
}

.smallButton {
  font-size: 0.75rem;
}
.card-body {
  padding: 0.25rem 0.6rem 0.4rem; 
}
.card-text {
        
font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}


.card-text.with-image {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  line-height: 1.5;
}

.card-text.with-image img {
  display: block;          
  flex-shrink: 0;
  max-width: 300px;
  height: auto;
}
.right-top-img {
  max-width: 400px;         /* limit image size */
  height: auto;
  flex-shrink: 0;           /* prevents image from shrinking */
}

.card-text.with-image-right {
  display: flex;           /* make paragraph a flex container */
  align-items: flex-start; /* top-align content */
  gap: 1rem;               /* spacing between text and image */
}

.card-text.with-image-right img {
  max-width: 400px; /* adjust as needed */
  height: auto;
  flex-shrink: 0;   /* prevent image from shrinking */
}

.card-title {
  display: inline-flex;
  align-items: center;   /* vertical alignment */
  gap: 0.5rem;           /* replaces &nbsp; spacing */
}

.custom-card {
  height: 100%;
  background-color: #ffffff;
  border: 1px solid #f0f0f0;
  border-radius: 6px;               /* NEW */
  overflow: hidden;                 /* keeps rounded corners clean */
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.custom-card:hover .card-title a {
  color: #0d6efd;
}
.custom-card img {
  height: 110px;
  width: 100%;
  object-fit: cover;
  display: block;
  margin-bottom: 0; /* no gap */
}
.custom-card-section {
  padding: 0 0 1rem 0;
  background-color: #f8f9fa;
}

.card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
/* Mobile: 1 card per row */
.card-col {
  flex: 1 1 100%;
  max-width: 100%;
}
@media (min-width: 768px) {
  .card-col {
    flex: 1 1 calc(33.333% - 0.75rem);
    max-width: calc(33.333% - 0.75rem);
  }
}
@media (min-width: 1200px) {
  .card-col {
    flex: 1 1 calc(20% - 0.75rem);
    max-width: calc(20% - 0.75rem);
  }
}

/* =========================
   Left Menu
   ========================= */
ul li {
  line-height: 1.4;
}

ul li a {
  display: inline-block;
  min-height: 44px;
  line-height: 1.2;
  padding: 12px 0;
  vertical-align: middle;
}




.left-menu {
  padding-right: 0;
  min-height: 100%;
  margin: 1%;
  display: inline-block;
  width: auto;
  vertical-align: top;
  font-family: Arial, sans-serif;
}

.left-menu a { text-decoration: none; }

.leftmenu-toggle-btn {
  background-color: #003467;
  color: #fff;
  border: none;
  padding: 10px 0.875rem;
  border-radius: 4px;
}

.left-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.left-menu ul li a {
  display: block;
  color: #0000ff;
  font-size: 1rem;
  white-space: nowrap;
}

/* First item */
.left-menu ul li:first-child a {
  border-top: 1px solid #dfdfdf;
  padding: 4% 0 4% 0;
}

/* Middle items */
.left-menu ul li:not(:first-child):not(:last-child) a {
  border-top: 1px solid #dfdfdf;
  padding: 4% 0 4% 4%;
}

/* Last item */
.left-menu ul li:last-child a {
  border-top: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  padding: 4% 0 4% 4%;
}


/* =========================
   Provider Results
   ========================= */
article.provider {
  border: 1px solid #ddd;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: #fff;
  color: #000;
}

article.provider > div:first-child {
  background: #f7f7f7;
  padding: 1rem;
}

article.provider .inline-flex {
  display: inline-flex;
  align-items: center;
  background: #facc15;
  color: #000;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

article.provider h2 {
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.1;
}

article.provider div[style*="font-size:15px"] {
  font-size: 15px;
  margin-bottom: 1rem;
}

article.provider .flex-col {
  border-top: 1px solid #dfdfdf;
  padding-top: 1rem;
  gap: 0.25rem;
}

article.provider .flex-col .font-bold {
  font-size: 1.25rem;
  font-weight: 700;
}

article.provider a {
  color: #007acc;
  text-decoration: underline;
}

article.provider a:hover {
  text-decoration: none;
}

article.provider .border-t.italic {
  border-top: 1px solid #dfdfdf;
  font-size: 0.875rem;
  font-style: italic;
  color: #555;
  padding-top: 0.5rem;
}

article.provider .flex.gap-4 {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}


/* =========================
   Map / SVG Hotspots
   ========================= */
a.pin-link { cursor: pointer; }

circle.hotspot {
  fill: transparent;
  stroke: none;
  pointer-events: all;
}


/* =========================
   Buttons
   ========================= */

.btn-success {
	display: inline-block;
	background-color:#006100;
	min-width: 44px;
	 min-height: 44px;
}

.btn-primary-custom {
  background-color: #003467;
  color: #ffffff;
  border: none;
	min-width: 44px;
	 min-height: 44px;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 0.875rem;
  padding: 0.9rem 1.6rem;
  position: relative;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
}

.btn-primary-custom:hover,
.btn-primary-custom:focus {
  background-color: #003467;
  color: #ffffff;
  padding-left: 1.95rem;
  padding-right: 1.95rem;
  text-decoration: none;
}

.btn-primary-custom::after {
  content: ">";
  position: absolute;
  right: 0.6rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.25em;
}

/* Secondary Button - White Back */
.btn-secondary-custom {
  background-color: #ffffff;
  color: #0000ff;
  border: 1px solid #0000ff;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 13px;
  padding: 0.9rem 1.6rem;
  position: relative;
  transition: all 0.3s ease;
  display: inline-block;
  text-decoration: none;
	min-width: 44px;
	 min-height: 44px;
}

.btn-secondary-custom:hover,
.btn-secondary-custom:focus {
  background-color: #003467;
  color: #ffffff;
  padding-left: 1.95rem;
  padding-right: 1.95rem;
  text-decoration: none;
}

.btn-secondary-custom::after {
  content: ">";
  position: absolute;
  right: 0.6rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.25em;
}

.btn-sm
{
  background-color: #10579d;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;          
  align-items: center;          
  justify-content: center;     
  line-height: 1;      
}

/* =========================
   Footer
   ========================= */
.footerUL {
  background-color: rgb(255, 255, 255);
  width: 100%;
  list-style-type: none;
  -webkit-border-bottom-left-radius: 0.625rem;
  border-bottom-left-radius: 0.625rem;
  -webkit-border-bottom-right-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
  margin: 0;
  padding: 0.75rem 0 0.75rem 0;
}

.footer-main {
  background-color: rgba(0, 52, 103, 1);
  padding-left: 12%;
  padding-right: 12%;
}

.footer-sub {
  background-color: #10579d;
  padding-left: 12%;
  padding-right: 12%;
  font-size: 0.75rem;
}

.footer-main a,
.footer-sub a {
  color: #ffffff;
  text-decoration: none;
}

.footer-main a:hover,
.footer-main a:focus,
.footer-sub a:hover,
.footer-sub a:focus {
  text-decoration: underline;
}

.footer-sub-text { font-size: 0.75rem; }

.footer-social a {

  margin-left: 0.5rem;
  margin-right: 0.5rem;
	display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;

  text-decoration: none;
}

.footer-social img {
  width: 24px;
  height: 24px;
}

.footer-social a:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

img {
  max-width: 100%;
  display: block;
}

/* =========================
   Emergency Box
   ========================= */
.emergency-box {
  background-color: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  height: 100%;
}

.emergency-header {
  background-color: #951c1a;
  padding: 0.5rem 1rem;
}

.emergency-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #ffffff;
  font-size: 1.125rem;
  margin: 0;
  font-family: 'Roboto Slab', Georgia, serif;
}

.emergency-icon { flex-shrink: 0; }

.emergency-list li {
  padding-left: 1.125rem;
  padding-top: 10px;
  margin-bottom: 0.5rem;
  color: #000000;
}

.emergency-label { font-weight: 600; }

.emergency-phone {
  font-weight: 400;
  color: #000000;
  text-decoration: none;
  margin-left: 0.25rem;
}

.emergency-list a,
.emergency-list a:visited,
.emergency-list a:hover,
.emergency-list a:focus,
.emergency-list a:active {
  color: #000000;
  text-decoration: none;
}

.emergency-list a:hover,
.emergency-list a:focus {
  text-decoration: underline;
}


/* =========================
   Tabs / Accordion
   ========================= */

.tab-btn {
  display: flex;
  align-items: center;       
  gap: 0.5rem;              
  text-align: left;
	justify-content: flex-start;
}

.tab-icon {
  font-size: 1.8rem;         
  flex-shrink: 0;             
  line-height: 1;            
}

.tab-text {
  line-height: 1.2;
	font-weight:500;
	font-size:0.9rem;
	 display: flex;
  align-items: center;
  justify-content: flex-start; 
  text-align: left;           
 
}
/*Dark blue with Green Active Button */
	/* Custom Accordion Header */
.custom-accordion .accordion-button {
  background-color: #003467;
  color: #ffffff;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 0.875rem;
}

/* Expanded State */
.custom-accordion .accordion-button:not(.collapsed) {
  background-color: #d9e6da;
  color: #000000;
}

/* Optional: Keep arrow color consistent */
.custom-accordion .accordion-button::after {
  filter: invert(0.35);
}

.custom-accordion .accordion-button:not(.collapsed)::after {
  filter: invert(1);
}


.accordion-button {
  width: 100%;
  background-color: #c4dff7;
  color: #003467;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 0.875rem;
}

.accordion-button:not(.collapsed) {
  background-color: #0d4f90;
  color: #fff;
}

.accordion-item {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1), 0 -2px 4px rgba(0,0,0,0.05);
  margin-bottom: 3px;
  border: none;
}


/* =========================
   Special Card
   ========================= */
.card-special {
  background-color: #003467;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.2s ease-in-out;
  display: flex;
  flex-direction: column;
}

.card-special img {
  width: 100%;
  height: auto;
}

.card-body-special {
  padding: 15px;
  color: #ffffff;
  flex: 1 1 auto;
}

.card-title-special {
  padding-bottom: 8px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #ffffff;
}

.card-text-special {
  font-size: 0.9rem;
  color: #ffffff;
}

.card-footer-special {
  padding: 10px 15px;
  background-color: #ffffff;
  text-align: right;
}

.card-footer-special a {
  text-decoration: none;
  color: #0000ff;
  font-weight: bold;
  border: 1px solid #003467;
}

.card-footer-special a:hover {
  text-decoration: underline;
  border: 1px solid #003467;
}
.card-title-special img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    max-width: 12%;
}

/* =========================
   Responsive Table
   ========================= */
.responsive-table-contracts {
  width: 100%;
  border: 1px solid #ccc;
  border-collapse: collapse;
  display: flex;
  flex-direction: column;
  font-family: Arial, sans-serif;
	padding:0;
	color:#ffffff;
	background-color: #0d4f90;
}
.responsive-table {
  width: 100%;
  border: 1px solid #ccc;
  border-collapse: collapse;
  display: flex;
  flex-direction: column;
  font-family: Arial, sans-serif;
	padding:0;

}


.table-header {
  background-color: #0d4f90;
  color: white;
  font-weight: 500;
	font-size: clamp(0.65rem, 1.1vw, 0.8rem);
 
  padding: 0.75rem;
  border-bottom: 1px solid #ccc;
  text-align: center;
	display: flex;              
  flex-direction: row;
	 flex-wrap: nowrap;
}
.table-cell br {
  line-height: 0;     
}
.table-row {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #ccc;
}

.table-cell {
  padding: 0.5rem 0.75rem;
  
	line-height: 1.2;
	text-align: left;    /* horizontal alignment */
  display: flex;       /* so align-items works inside cell too */
  align-items: center; /* vertical middle inside the cell */
 
}

.table-cell a {
text-decoration: none;
    color: #0d4f90;
    padding: 0.5rem 0.75rem;

	line-height: 1.2;
	text-align: left;    /* horizontal alignment */
  display: flex;       /* so align-items works inside cell too */
  align-items: center; /* vertical middle inside the cell */
    min-width: 44px;
   
    min-height: 44px; 
        

 
}


.table-header .table-cell {
  flex: 1 1 0;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
	overflow-wrap: anywhere;
  text-align: center;
}
@media (max-width: 600px) {
  .table-header {
    flex-direction: column;
    text-align: left;
  }

  .table-header .table-cell {
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding: 0.6rem 0.75rem;
  }
}
.fixed-column-width {
  flex: 0 0 250px;  /* set the exact width you want */
  min-width: 250px; /* ensures they never shrink below this */
  max-width: 250px; /* ensures they never grow beyond this */
  text-align: left; /* optional, usually left for first column */
}
@media (max-width: 600px) {
  .fixed-column-width {
    flex: 1 1 auto; /* allow full-width stacking on mobile */
    min-width: 0;
    max-width: 100%;
  }
}


/* =========================
   Misc Utilities
   ========================= */
.gone { display: block; }

.tab-icon {
  font-size: 1.8rem;
  flex-shrink: 0;
  line-height: 1;
}


/* =========================
   Media Queries
   ========================= */
@media (max-width: 991.98px) {
  .adaGreen { display: none; }
  .left-menu { display: none; }

  /* Mobile: navbar goes back to top */
  .navbar.fixed-desktop {
    top: 0;
    position: fixed;
  }

  body {
    padding-top: 51px; /* navbar only */
  }
}

@media (max-width: 728px) {
  .gone { display: none; }
}

@media (min-width: 600px) {
  .table-row { flex-direction: row; }

  .table-cell {
    flex: 1;
    border-bottom: none;
    border-right: 1px solid #eee;
  }

  .table-cell:last-child { border-right: none; }
}

@media (min-width: 992px) {
  /* Show dropdowns on hover */
  .navbar .dropdown:hover > .dropdown-menu { display: block; }
  .dropdown-submenu:hover > .dropdown-menu { display: block; }

  /* Navbar sits below header on desktop */
  .navbar.fixed-desktop {
    top: 70px; /* header height */
    z-index: 1040;
  }

  /* Push page content down so nothing is hidden */
  body {
    padding-top: 7.7rem; /* header + navbar */
  }

  /* Larger logo on desktop */
  .navbar-logo { height: 56px; }

  /* Left column adjusts to content; right column flexible */
  .left-col { width: auto; }
  .right-col { width: calc(100% - var(--left-menu-width, 0px)); }

  /* Dropdown left support */
  .dropdown-left > .dropdown-menu {
    left: auto;
    right: 0;
  }

  .dropdown-left .dropdown-submenu > .dropdown-menu {
    left: auto;
    right: 100%;
  }

  /* Desktop hero spacing + sizing (merged into one selector) */
  .hero-desktop {
    padding-top: calc(64px + 80px);
    min-height: 45vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .hero-desktop-home {
    min-height: 60vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}

	@media (max-width: 768px) {
  .custom-container {
    padding:1%;
  }
}

.impact-text {
  font-size: 1rem;
  font-weight: 600;
  font-family: 'Roboto', Arial, sans-serif;
}
.impact-icon {
  width: 80px;          
  height: 80px;         
  object-fit: contain; 
  display: block;
  margin: 0 auto; 
}

.impact-text {
  font-size: 1rem;
  font-weight: 600;
  font-family: 'Roboto', Arial, sans-serif;
}

/* Wrapper to control content width relative to buttons */
.custom-tabs-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Tab Buttons */
.custom-tabs .nav-link {
  background-color: #0d4f90;
  color: #ffffff;
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 0.875rem;
  padding: 15px;
  width: 220px; 
  line-height:1.3rem;
  margin-right: 5px;
  border: none;
  border-radius: 8px;;
  text-align: center;
  min-height: 70px; 
}

.custom-tabs .nav-link.active {
  background-color:/*#e6f3ff;*/#d9e6da;
  color: #000000;
}


.custom-tabs {
  border-bottom: none;
  margin-bottom: 20px; 
}


.custom-tab-content-wrapper {
  width: calc(100% + 30px); 
  max-width: calc(220px*6 + 5px*5 + 30px); 
  margin-left: -15px; 
  margin-right: -15px; 
}

.custom-tab-pane {
  background-color: #ffffff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1), 0 -2px 4px rgba(0,0,0,0.05); 
  padding: 20px;
  border-radius: 4px;
}





@media (max-width: 767.98px) {
  .custom-tabs {
    display: none;
  }
}
	
	@media (max-width: 767.98px) {


  .custom-tabs,
  .custom-tab-content-wrapper {
    display: none;
  }


  .custom-mobile-accordion .accordion-button {
    width: 100%;
    background-color: #0d4f90;
    color: #ffffff;
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    
  }

  .custom-mobile-accordion .accordion-button:not(.collapsed) {
    background-color: #d9e6da;
    color: #000000;
  }

  .custom-mobile-accordion .accordion-item {
    border: none;
   
  }


  .custom-mobile-accordion .border-start {
    border-left: none;

  }
}
.custom-mobile-accordion .accordion-item {
  border: 0;
}

.custom-mobile-accordion .accordion-button {
  border-radius: 0;
}

.custom-mobile-accordion .accordion-item + .accordion-item {
  margin-top: 0;
}
.accordion-item:first-of-type {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.accordion-item:first-of-type .accordion-button {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.apply-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 44px;
  min-height: 44px;

  padding: 12px 16px; 
  text-decoration: underline;
}
.text-end a.topWhiteLink {
  display: inline-block;
  min-height: 44px;
  line-height: 44px; 
}
.phone-link {
  display: inline-flex;         
  min-width: 44px;
  min-height: 44px;
  align-items: center;         
  justify-content: center;       
  padding: 0 12px;              
  text-decoration: none;
}
/* Breadcrumb Styles matching template */
  .custom-breadcrumbs {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 0.875rem;
    color: #003467;
    margin-bottom: 1rem;
  }

  .custom-breadcrumbs a,
  .custom-breadcrumbs span {
    color: #003467;
    text-decoration: none;
    transition: all 0.2s ease;
  }

  .custom-breadcrumbs a:hover { text-decoration: underline; }
  .custom-breadcrumbs small { font-size: 0.85em; }

  .nav { position: relative; }
  .text-align-right { text-align: right; }
  .no-margin { margin: 0; }

  .nav-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-family: Arial;
    font-size: 1rem;
    line-height: 1.5;

	  
  }

  /* Nav item styles */
  .line-item {
    border-top: 1px solid #dfdfdf;
    padding-top: 4%;
  }

  .level-0 { padding-left: 0; font-weight:600; }
  .level-1 { padding-left: 4%; }
  .level-1-active { padding-left: 4%; font-weight:600; }
  .level-2 { padding-left: 10%; }
  .level-2-active { padding-left: 10%; font-weight:600; }

  .last-item { border-bottom: 1px solid #dfdfdf; padding-bottom: 6%; padding-top:6%; }
  .last-item-active { border-bottom: 1px solid #dfdfdf; padding-bottom: 6%; padding-top:6%; font-weight:600 }

  /* ===== LEFT NAV FIX ===== */
  .left-nav {
    display: block;
    font-family: Arial;
    font-size: 1rem;
	
  }

.left-nav a {
  display: flex;                 
  align-items: center;          
  min-height: 44px;              
           
  width: 100%;

  text-decoration: none;
  line-height: 1.2;              
}
  .left-nav .level-0 { margin-bottom: 0.5rem; }
  .left-nav .level-1 { margin-bottom: 0.35rem; }
  .left-nav .level-2 { margin-bottom: 0.25rem; }

  .last-item { border-bottom: 1px solid #dfdfdf; padding-bottom: 6%; padding-top:6%; }

  /* -------------------- LEFT NAV (MOBILE HAMBURGER) -------------------- */
  .left-nav.nav-links {
    display: block;   /* Desktop default */
    flex-direction: column;
  }


  .left-nav a:hover,
  .left-nav a:focus { text-decoration: underline; }

  .hamburger {
    display: none;
    background: none;
    font-size: 24px;
    border: 2px solid #000;
    border-radius: 4px;
    cursor: pointer;
    margin-bottom: 10px;

    /* FIX: help prevent "unclickable" due to overlays */
    position: relative;
    z-index: 1000;
    pointer-events: auto;
  }

  /* MOBILE STYLES */
  @media (max-width: 767px) {
    .hamburger { display: block; }

    /* FIX: use !important so external CSS can't override */
    .left-nav.nav-links { display: none !important; flex-direction: column; }
    .left-nav.nav-links.show { display: flex !important; }
  }

  /* DESKTOP STYLES */
  @media (min-width: 768px) {
    .left-nav.nav-links { display: block !important; }
    .hamburger { display: none !important; }
  }

/* Custom accordion styling */
.accordion-custom {
    margin: 0;
    padding: 0;
	font-family:arial;
}

/* Accordion items */

.accordion-custom .accordion-item + .accordion-item {
	 margin-top: 0;
}
	
.accordion-custom .accordion-item {
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

/* Accordion button (header) */
.accordion-custom .accordion-button {
    background-color: #003467 !important;
    color: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 1rem;
}

/* Expanded state */
.accordion-custom .accordion-button:not(.collapsed) {
    background-color: #d9e6da !important;
    color: #000000 !important;
}

/* Plus/Minus icons */
.accordion-custom .accordion-button::after {
    content: '+';
    font-size: 1.2rem;
    color: inherit;
    margin-left: auto;
}
.accordion-custom .accordion-button:not(.collapsed)::after {
    content: '−';
}

/* Divider between collapsed headers */
.accordion-custom .accordion-button.collapsed {
    border-bottom: 1px solid #ffffff !important;
}

/* Remove bottom border/shadow on last item */
.accordion-custom .accordion-item:last-child .accordion-button {
    border-bottom: none !important;
}
.accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;}

/* Accordion body */
.accordion-custom .accordion-collapse {
    margin: 0 !important;
    padding: 0 !important;
}

.accordion-custom .accordion-body {
    padding: 1rem;
    border-top: none;
    background-color: #f8f9fa;
}

.accordion-header {
  font-family: 'Helvetica Neue', Helvetica, sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  padding-bottom: 0%;
  margin: 0;
}


.tap-target {
  display: inline-flex;         
  align-items: center;           
  justify-content: center;

  min-height: 44px;             
  min-width: 44px;

  padding: 0 8px;                
  line-height: 1.2;
  text-decoration: none;
}
.iframe-container {
  position: relative;
  width: 100%;
  padding-top: 64.29%; /* 900 / 1400 = aspect ratio */
}
.iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.tooltip-wrap {
  position: relative;
}
.tooltip-wrap .tooltip-content {
display: none;
    /* position: absolute; */
    /* bottom: 5%; */
    /* left: 10%; */
    /* right: 5%; */
    background-color: #d9e6da;
    padding: .5em;
}
.tooltip-wrap:hover .tooltip-content {
  display: block;
}
#rcorners1 {
border-radius: 25px;
    border: 3px solid #000000;
    padding: 10px;
    width: 100%;
    /*height: 105px;*/
    top: 5%;
    z-index: 1;
}
#rcorners2 {
  border-radius: 25px;
  border: 3px solid #000000;
  padding: 10px;
  width: 100%;
  min-height: 100%;
z-index:1;
}
#rcorners3 {
  border-radius: 25px;
  border: 3px solid #000000;
  padding: 10px;
  width: 100%;
  min-height: 100%;
bottom: 15%;
z-index:1;
}
#rcorners4 {
  border-radius: 25px;
  border: 3px solid #000000;
  padding: 10px;
  width: 100%;
  min-height: 100%;
bottom: 15%;
z-index:1;
}
/* Duplicate entries */
/*
p a {
  color: #0000ff;
  text-decoration: underline;
}

h2 {
  font-family: 'Helvetica Neue', Helvetica, sans-serif;
  font-size: 24px;
  font-weight: 600;
  padding-bottom: 2%;
  margin: 0 0 20px;
}

h4 {
  color: #ffffff;
  font-size: 1.125rem;
  padding: 10px 0;
  font-family: 'Roboto Slab', Georgia, serif;
  margin: 0;
}

p {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

ul {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 8%;
  margin-top: 0;
  margin-bottom: 1rem;
}

ol {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  padding-left: 8%;
  margin-top: 0;
  margin-bottom: 1rem;
}

li {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

.navbar.fixed-top {
  box-shadow: 0 4px 6px -4px rgba(0, 0, 0, 0.25);
  z-index: 1030;
}

section {
  margin-bottom: 1rem;
}

.card-section .card {
  height: 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.footerUL {
  background-color: rgb(255, 255, 255);
  width: 100%;
  list-style-type: none;
  -webkit-border-bottom-left-radius: 0.625rem;
  border-bottom-left-radius: 0.625rem;
  -webkit-border-bottom-right-radius: 0.625rem;
  border-bottom-right-radius: 0.625rem;
  margin: 0;
  padding-top: 0.75rem;
  padding-right: 0;
  padding-bottom: 0.75rem;
  padding-left: 0;
}

.custom-container {
  padding-left: 12%;
  padding-right: 12%;
}

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: 0;
  margin-left: 0;
  display: none;
}

.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}

.goog-te-gadget {
  font-family: Arial, sans-serif !important;
  font-size: 12pt !important;
  color: #000 !important;
  padding: 0;
  margin: 0;
}

.goog-te-combo {
  font-family: Arial, sans-serif !important;
  font-size: 12pt !important;
  padding: 4px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}

.goog-te-combo {
  font-size: 12pt !important;
  font-family: Arial, sans-serif !important;
}

@media (min-width: 992px) {
  .hero-desktop {
    padding-top: calc(64px + 80px);
  }
}

@media (min-width: 992px) {
  .hero-desktop {
    min-height: 40vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
.custom-container {
  padding-left: 15%;
  padding-right: 15%;
  padding-top: 1.5%;
}
*/
