/************************************************************
 * FOOTER BLOCK
 ************************************************************/

/* Footer block background + spacing */
#block-whatcanyoudo-footercontent {
  background: #ccc !important;
  margin-block-end: 0 !important;
}

/* Footer social icons */
#block-whatcanyoudo-footercontent i.fab {
  color: #333 !important;      /* default color */
  transition: color 0.2s ease; /* smooth hover */
}

/* Hover color (optional) */
#block-whatcanyoudo-footercontent a:hover i.fab,
#block-whatcanyoudo-footercontent a:focus i.fab {
  color: #034659 !important;   /* matches your link hover color */
}

/* Remove left margin from footer link list */
#block-whatcanyoudo-footercontent ul.list-inline {
  margin-inline-start: 0 !important;
}

/* Make footer content align with body content grid */
#block-whatcanyoudo-footercontent .container {
  max-width: var(--olivero-max-content-width, 1290px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/************************************************************
 * SUBSCRIBE CTA SECTION (pre-footer teal band)
 ************************************************************/

/* Wrapper for the subscribe band */
.prefooter-subscribe-block {
  position: relative;
  margin-block-end: 0;
  padding: 70px 0;             /* vertical spacing for the band */

  /* full-bleed background illusion */
  background-color: #e1e2e2;   /* base teal */
  box-shadow: 0 0 0 100vmax #e1e2e2;
  clip-path: inset(0 -100vmax);
  z-index: 0;
}

/* Centered content inside site width */
.prefooter-subscribe-block .wpb_wrapper {
  max-width: 1315px;           /* align with main content / wcyd-container */
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
  padding-bottom: 40px;
}

/* Heading */
.prefooter-subscribe-block h2 {
  color: #333;
  font-size: 42px;
  font-weight: 500;
  margin-bottom: 15px;
  line-height: 1.2;
  font-family: Georgia, "Times New Roman", Times, serif;
}

/* Larger description text */
.prefooter-subscribe-block .f-larger {
  font-size: 20px;
  margin-bottom: 30px;
}

/* CTA button */
.prefooter-subscribe-block .action-button {
  display: inline-block;
  background-color: #96031e;
  color: #fff !important;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 0;
  text-decoration: none;
  transition: all 0.25s ease;
  font-size: 18px;
}

.prefooter-subscribe-block .action-button:hover,
.prefooter-subscribe-block .action-button:focus {
  background-color: #f2f2f2;
  color: #056c75 !important;
  text-decoration: none;
}

/* Mobile tweaks */
@media (max-width: 768px) {
  .prefooter-subscribe-block {
    padding: 45px 0;
  }

  .prefooter-subscribe-block h2 {
    font-size: 32px;
  }

  .prefooter-subscribe-block .f-larger {
    font-size: 18px;
  }
}

/************************************************************
 * SUBSCRIBE CTA BLOCK WRAPPER FIX
 ************************************************************/
#block-whatcanyoudo-subscribecta {
  margin-block-end: 0 !important;
}

/************************************************************
 * FULL-WIDTH FOOTER BACKGROUND
 ************************************************************/
#block-whatcanyoudo-footercontent {
  position: relative;
  background-color: #ccc;   /* actual footer grey */

  /* Full-bleed trick */
  box-shadow: 0 0 0 100vmax #ccc;
  clip-path: inset(0 -100vmax);

  margin-block-end: 0 !important;
}

.region.region--content#content,
#block-whatcanyoudo-content {
  margin-block-end: 0 !important;
}

/* Footer logos side-by-side */
#block-whatcanyoudo-footercontent p {
  display: flex;
  align-items: center;   /* vertical alignment */
  gap: 12px;             /* space between logos */
}

/************************************************************
 * FOOTER CONTAINER ALIGNMENT FIX
 * - Footer uses <footer class="wcyd-container"> which has asymmetric padding-left: 90px.
 * - Override for footer only so footer aligns with page content column.
 ************************************************************/

/* Make the footer container match the content region padding */
footer.wcyd-container {
  max-width: 1315px;              /* same as your main content width */
  margin-left: auto;
  margin-right: auto;
  padding-left: 33.5px !important; /* match .region--content */
  padding-right: 33.5px !important;
  box-sizing: border-box;
}

/*
 * Your footer body markup includes: <div class="container py-4"> ... </div>
 * Bootstrap .container adds its own gutters/max-width behavior.
 * Force that inner container to align with the same content column.
 */
#block-whatcanyoudo-footercontent .container {
  max-width: 1315px !important;
  margin-left: auto !important;
  margin-right: auto !important;

  /* Use the same padding as the main content region */
  padding-left: 33.5px !important;
  padding-right: 33.5px !important;
}

/************************************************************
 * FOOTER RESPONSIVE TYPOGRAPHY (clamp-based)
 * - Smoothly scales down on narrow screens
 * - Scoped ONLY to the footer block
 ************************************************************/

#block-whatcanyoudo-footercontent {
  /* base footer text */
  font-family: var(--wcyd-font-sans);
  font-size: clamp(14px, 1.1vw + 10px, 16px);
  line-height: 1.6;
}

/* Paragraphs + link list */
#block-whatcanyoudo-footercontent p,
#block-whatcanyoudo-footercontent li,
#block-whatcanyoudo-footercontent a {
  font-size: inherit;
  line-height: inherit;
}

/* The â€œsmallâ€ legal copy: scale, but stay smaller */
#block-whatcanyoudo-footercontent .small {
  font-size: clamp(12px, 0.9vw + 9px, 14px);
  line-height: 1.55;
}

/* Footer nav list spacing: tighter on mobile */
#block-whatcanyoudo-footercontent ul.list-inline {
  margin-bottom: clamp(10px, 1.2vw, 18px) !important;
  font-size: 16px;
  /* font-weight: 600; */
}

/* Optional: reduce the gap between inline items on smaller screens */
#block-whatcanyoudo-footercontent ul.list-inline .list-inline-item {
  margin-right: clamp(10px, 1.4vw, 18px);
}

/* Social icons: scale with viewport */
#block-whatcanyoudo-footercontent i.fab,
#block-whatcanyoudo-footercontent i.fa-brands {
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1;
}

/* If you want the right column to center on mobile */
@media (max-width: 768px) {
  #block-whatcanyoudo-footercontent .text-md-end {
    text-align: left !important; /* or center if you prefer */
  }
}










/* Full-width blue bar */
footer.wcyd-container {
  background-color: rgb(27, 77, 124);
  color: #fff;
  width: 100%;
  padding: 2rem 0;
}

/* Inner centered footer layout */
footer.wcyd-container .region--footer {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;

  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 2rem;
  align-items: start;
}


/* Inner footer region layout: 3 columns for menu + 1 for contact */
.wcyd-container .region--footer {
  color: #fff;
  max-width: 1200px;
  margin: 0 auto;
  /* padding: 0 1rem; */
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 2rem;
  align-items: start;
}

/* Hide Drupal block titles in footer */
.wcyd-container .region--footer .block__title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Main menu block */
#block-whatcanyoudo-footermainmenu {
  min-width: 0;
}

/* Turn one long list into 3 columns */
#block-whatcanyoudo-footermainmenu .menu--level-1 {
  column-count: 3;
  column-gap: 2rem;

  list-style: none;
  margin: 0;
  padding: 0;
}

/* Contact/info block */
#block-whatcanyoudo-footercontentinfo {
  min-width: 0;
}

#block-whatcanyoudo-footercontentinfo .block__content {
  color: #fff;
}

#block-whatcanyoudo-footercontentinfo img {
  display: block;
  margin-bottom: 1rem;
  max-width: 80px;
  height: auto;
}

#block-whatcanyoudo-footercontentinfo p {
  margin: 0;
  color: #fff;
  font-size: 16px;
  line-height: 24px;
}

/* Make sure any text in contact block stays white */
#block-whatcanyoudo-footercontentinfo strong,
#block-whatcanyoudo-footercontentinfo br,
#block-whatcanyoudo-footercontentinfo .field__item {
  color: #fff;
}

/* Mobile / tablet fallback */
@media (max-width: 900px) {
  .wcyd-container .region--footer {
    grid-template-columns: 1fr;
  }

  #block-whatcanyoudo-footermainmenu .menu--level-1 {
    column-count: 2;
  }
}

@media (max-width: 600px) {
  #block-whatcanyoudo-footermainmenu .menu--level-1 {
    column-count: 1;
  }
}

footer.wcyd-container {
  max-width: none !important;
  margin: 0 !important;
  padding: 2rem 0 !important;
}


/* ===== Beta-style top footer ===== */

/* Full-width blue footer band */
footer.wcyd-container {
  background-color: rgb(27, 77, 124);
  color: #fff;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px 0 !important;
  box-sizing: border-box;
}

/* Inner centered footer area */
footer.wcyd-container .region--footer {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr);
  gap: 32px;
  align-items: start;
  box-sizing: border-box;
}

/* Hide Drupal block titles */
footer.wcyd-container .region--footer .block__title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Main menu block */
#block-whatcanyoudo-footermainmenu {
  min-width: 0;
}

/* Menu list becomes 3 vertical columns */
#block-whatcanyoudo-footermainmenu .menu--level-1 {
  column-count: 3;
  column-gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Menu items */
#block-whatcanyoudo-footermainmenu .menu__item {
  break-inside: avoid;
  margin: 0 0 8px;
  padding: 0;
}

/* Menu links */
#block-whatcanyoudo-footermainmenu .menu__link {
  color: #fff !important;
  text-decoration: underline;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 16px;
  /* line-height: 20px; */
  display: inline;
  /* font-weight: 100 !important; */
}

/* Contact block */
#block-whatcanyoudo-footercontentinfo {
  min-width: 0;
}

#block-whatcanyoudo-footercontentinfo .block__content,
#block-whatcanyoudo-footercontentinfo .field__item,
#block-whatcanyoudo-footercontentinfo p,
#block-whatcanyoudo-footercontentinfo strong {
  color: #fff;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 24px;
}

#block-whatcanyoudo-footercontentinfo img {
  display: block;
  width: 80px;
  max-width: 80px;
  height: auto;
  margin-bottom: 16px;
}

#block-whatcanyoudo-footercontentinfo p {
  margin: 0;
}

#block-whatcanyoudo-footercontentinfo a {
  color: #fff !important;
  text-decoration: underline;
}

/* Tablet/mobile */
@media (max-width: 900px) {
  footer.wcyd-container .region--footer {
    grid-template-columns: 1fr;
  }

  #block-whatcanyoudo-footermainmenu .menu--level-1 {
    column-count: 2;
  }
}

@media (max-width: 600px) {
  #block-whatcanyoudo-footermainmenu .menu--level-1 {
    column-count: 1;
  }
}

#block-whatcanyoudo-footercontentinfo {
  max-width: 220px;
}

/* ===== NEW TWO-BAND FOOTER OVERRIDES ===== */

footer.wcyd-footer {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* top band */
footer.wcyd-footer > .region--footer {
  background-color: rgb(27, 77, 124);
  color: #fff;
  /* padding: 32px 0; */
}

/* bottom band */
footer.wcyd-footer > .region--footer-bottom {
  background-color: rgb(18, 46, 81);
  color: #fff;
  padding: 16px 0;
}

/* centered inner containers */
footer.wcyd-footer > .region--footer > .wcyd-container,
footer.wcyd-footer > .region--footer-bottom > .wcyd-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

/* top region layout */
footer.wcyd-footer > .region--footer > .wcyd-container > .region--footer {
  display: grid;
  grid-template-columns: minmax(0, 3fr) 220px;
  gap: 32px;
  align-items: start;
}

/* hide block titles */
footer.wcyd-footer .block__title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* top menu */
#block-whatcanyoudo-footermainmenu .menu--level-1 {
  column-count: 3;
  column-gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#block-whatcanyoudo-footermainmenu .menu__item {
  break-inside: avoid;
  margin: 0 0 8px;
  padding: 0;
  font-size: 16px;
  text-decoration: underline;
  line-height: 1;
}

#block-whatcanyoudo-footermainmenu .menu__link {
  color: #fff !important;
  text-decoration: underline;
  font-size: 16px;
  line-height: 24px;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}

/* contact block */
#block-whatcanyoudo-footercontentinfo {
  max-width: 220px;
}

#block-whatcanyoudo-footercontentinfo img {
  display: block;
  width: 80px;
  max-width: 80px;
  height: auto;
  margin-bottom: 16px;
}

#block-whatcanyoudo-footercontentinfo p,
#block-whatcanyoudo-footercontentinfo strong,
#block-whatcanyoudo-footercontentinfo a,
#block-whatcanyoudo-footercontentinfo .field__item {
  color: #fff;
  font-size: 16px;
  line-height: 24px;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}

#block-whatcanyoudo-footercontentinfo p {
  margin: 0;
}

/* social */
.wcyd-footer-social {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}


.wcyd-footer-social__label {
  color: #fff;
  font-size: 16px;
  line-height: 24px;
  margin-right: 10px;
  white-space: nowrap;
  font-family: "Source Sans Pro Web", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
}

.wcyd-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background-color: #fff;
  border: 3px solid #fff;
  border-radius: 50%;
  text-decoration: none !important;
  box-sizing: border-box;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
  box-shadow: none;
}

.wcyd-footer-social a i {
  color: rgb(41, 107, 174) !important;
  font-size: 18px;
  line-height: 1;
}

.wcyd-footer-social a:hover,
.wcyd-footer-social a:focus {
  box-shadow: none;
}

.wcyd-footer-social a:hover i,
.wcyd-footer-social a:focus i {
}

/* responsive */
@media (max-width: 900px) {
  footer.wcyd-footer > .region--footer > .wcyd-container > .region--footer,
  footer.wcyd-footer > .region--footer-bottom > .wcyd-container > .region--footer-bottom {
    grid-template-columns: 1fr;
  }

  #block-whatcanyoudo-footermainmenu .menu--level-1 {
    column-count: 2;
  }

  .wcyd-footer-social {
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  #block-whatcanyoudo-footermainmenu .menu--level-1 {
    column-count: 1;
  }
}

/* ===== LOWER FOOTER HARD RESET ===== */

/* exact inner footer row from rendered DOM */
div.region.region--footer-bottom > div.wcyd-container > div.region.region--footer-bottom.grid-full.layout--pass--content-medium {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: nowrap !important;
}

/* hide admin/contextual junk */
#block-whatcanyoudo-footersecondarymenu > .block__title,
#block-whatcanyoudo-footersocialmedia > .block__title,
#block-whatcanyoudo-footersecondarymenu > .contextual,
#block-whatcanyoudo-footersocialmedia > .contextual {
  display: none !important;
}

/* left nav block */
nav#block-whatcanyoudo-footersecondarymenu {
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* KILL OLIVERO MENU STYLING AND REBUILD */
nav#block-whatcanyoudo-footersecondarymenu ul.menu.menu--level-1 {
  all: unset !important;
  display: flex !important;
  /* flex-wrap: wrap !important; */
  align-items: center !important;
  gap: 12px 24px !important;
  /* width: 100% !important; */
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  box-sizing: border-box !important;
  border-left-style: solid;
}

nav#block-whatcanyoudo-footersecondarymenu ul.menu.menu--level-1 > li.menu__item {
  all: unset !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding-left: 16px !important;
  list-style: none !important;
  border-left: 1px solid rgb(27, 77, 124) !important;
  border-left-style: solid !important;
}

nav#block-whatcanyoudo-footersecondarymenu ul.menu.menu--level-1 > li.menu__item:first-child {
  border-left: 0 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

nav#block-whatcanyoudo-footersecondarymenu ul.menu.menu--level-1 > li.menu__item > a.menu__link {
  all: unset !important;
  display: inline !important;
  white-space: nowrap !important;
  color: #fff !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  font: inherit !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-decoration-thickness: auto !important;
  font-feature-settings: kern;
}

/* right social block */
#block-whatcanyoudo-footersocialmedia {
  min-width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
}

#block-whatcanyoudo-footersocialmedia .block__content,
#block-whatcanyoudo-footersocialmedia .wcyd-footer-social {
  all: unset !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  justify-content: flex-end !important;
}

#block-whatcanyoudo-footersocialmedia .wcyd-footer-social__label {
  margin: 0 !important;
  white-space: nowrap !important;
  color: #fff !important;
}

/* small screens */
@media (max-width: 900px) {
  div.region.region--footer-bottom > div.wcyd-container > div.region.region--footer-bottom.grid-full.layout--pass--content-medium {
    grid-template-columns: 1fr !important;
    row-gap: 16px !important;
  }

  #block-whatcanyoudo-footersocialmedia .block__content,
  #block-whatcanyoudo-footersocialmedia .wcyd-footer-social {
    flex-wrap: wrap !important;
  }
}

/************************************************************
 * FIX: Subscribe CTA should sit above footer link grid
 ************************************************************/

/* Top footer region contains: subscribe CTA, footer main menu, footer contact/info */
footer.wcyd-footer > .region--footer > .wcyd-container > .region--footer {
  display: grid !important;
  grid-template-columns: minmax(0, 3fr) 220px !important;
  gap: 32px !important;
  align-items: start !important;
}

/* Force the At Work subscribe CTA to span the full row */
footer.wcyd-footer #block-whatcanyoudo-subscribecta {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
}

/* Footer menu starts below the CTA, left column */
footer.wcyd-footer #block-whatcanyoudo-footermainmenu {
  grid-column: 1 !important;
}

/* DOL contact/info starts below the CTA, right column */
footer.wcyd-footer #block-whatcanyoudo-footercontentinfo {
  grid-column: 2 !important;
}

/* Mobile: stack everything */
@media (max-width: 900px) {
  footer.wcyd-footer > .region--footer > .wcyd-container > .region--footer {
    grid-template-columns: 1fr !important;
  }

  footer.wcyd-footer #block-whatcanyoudo-subscribecta,
  footer.wcyd-footer #block-whatcanyoudo-footermainmenu,
  footer.wcyd-footer #block-whatcanyoudo-footercontentinfo {
    grid-column: 1 !important;
  }
}

/************************************************************
 * FIX: Bottom footer overlap at tablet widths
 ************************************************************/

@media (max-width: 991px) {
  div.region.region--footer-bottom > div.wcyd-container > div.region.region--footer-bottom.grid-full.layout--pass--content-medium {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
  }

  nav#block-whatcanyoudo-footersecondarymenu {
    width: 100% !important;
  }

  nav#block-whatcanyoudo-footersecondarymenu ul.menu.menu--level-1 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 10px 18px !important;
    width: 100% !important;
  }

  #block-whatcanyoudo-footersocialmedia {
    width: 100% !important;
    min-width: 0 !important;
  }

  #block-whatcanyoudo-footersocialmedia .block__content,
  #block-whatcanyoudo-footersocialmedia .wcyd-footer-social {
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    width: 100% !important;
  }
}

/************************************************************
 * Footer top spacing only when Subscribe CTA is NOT present
 * Prevents blue bar above Subscribe CTA pages.
 ************************************************************/

footer.wcyd-footer > .region--footer > .wcyd-container > .region--footer:not(:has(#block-whatcanyoudo-subscribecta)) {
  padding-top: 70px;
}
