/* ==============================
   Lock Arms for Life Typography
   Safe Version: Fonts Only
   Lets Zoho control spacing
   ============================== */

/* Optional: only use this if Arimo/Oswald are not already loaded by the theme */
/*
@import url('https://fonts.googleapis.com/css2?family=Arimo:wght@400;700&family=Oswald:wght@600;700&display=swap');
*/


/* Standard Paragraph Class */
.lafl-paragraph,
.lafl-paragraph p,
.lafl-paragraph span {
  font-family: 'Arimo', Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #000000 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}


/* Standard Heading Class */
.lafl-heading,
.lafl-heading h1,
.lafl-heading h2,
.lafl-heading h3,
.lafl-heading span {
  font-family: 'Oswald', Arial, sans-serif !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
  color: #1C5D8E !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}


/* Optional wrapper class if you want an entire section to follow this style */
.lafl-content p,
.lafl-content li,
.lafl-content span {
  font-family: 'Arimo', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #000000 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.lafl-content h1,
.lafl-content h2,
.lafl-content h3 {
  font-family: 'Oswald', Arial, sans-serif !important;
  font-size: 32px !important;
  line-height: 1.2 !important;
  color: #1C5D8E !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}


/* Lists only */
.lafl-content ul,
.lafl-content ol {
  padding-left: 24px;
}

.lafl-content li {
  margin-bottom: 10px;
}


/* Mobile font scaling only */
@media only screen and (max-width: 768px) {
  .lafl-heading,
  .lafl-heading h1,
  .lafl-heading h2,
  .lafl-heading h3,
  .lafl-heading span,
  .lafl-content h1,
  .lafl-content h2,
  .lafl-content h3 {
    font-size: 28px !important;
    line-height: 1.15 !important;
  }

  .lafl-paragraph,
  .lafl-paragraph p,
  .lafl-paragraph span,
  .lafl-content p,
  .lafl-content li,
  .lafl-content span {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }
}

/* =========================================
   LINKS FORMATTING - ARIMO 18 NORMAL
========================================= */

.lafl-link-18 a,
a.lafl-link-18 {
  font-family: 'Arimo', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #1C5D8E !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.lafl-link-18 a:hover,
a.lafl-link-18:hover {
  color: #15496F !important;
  text-decoration: underline !important;
}


/* =========================================
   LINKS FORMATTING - ARIMO 18 BOLD
========================================= */

.lafl-link-18-bold a,
a.lafl-link-18-bold {
  font-family: 'Arimo', Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  color: #1C5D8E !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.lafl-link-18-bold a:hover,
a.lafl-link-18-bold:hover {
  color: #15496F !important;
  text-decoration: underline !important;
}

/* ============================================================
   LAFL HERO / CAROUSEL HEIGHT ONLY
   Mobile + tablet only.
   Desktop remains controlled by native Zoho GUI.
============================================================ */


/* TABLET */
@media screen and (max-width: 991px) {
  .lafl-hero-mobile,
  .lafl-hero-mobile > div,
  .lafl-hero-mobile .zpsection,
  .lafl-hero-mobile .zphero,
  .lafl-hero-mobile .zphero-slide,
  .lafl-hero-mobile .zpcarousel,
  .lafl-hero-mobile .zpcarousel-inner,
  .lafl-hero-mobile .zpcarousel-item {
    min-height: 720px !important;
    overflow: hidden !important;
  }
}


/* MOBILE */
@media screen and (max-width: 767px) {
  .lafl-hero-mobile,
  .lafl-hero-mobile > div,
  .lafl-hero-mobile .zpsection,
  .lafl-hero-mobile .zphero,
  .lafl-hero-mobile .zphero-slide,
  .lafl-hero-mobile .zpcarousel,
  .lafl-hero-mobile .zpcarousel-inner,
  .lafl-hero-mobile .zpcarousel-item {
    min-height: 700px !important;
    overflow: hidden !important;
  }
}


/* SMALL MOBILE */
@media screen and (max-width: 420px) {
  .lafl-hero-mobile,
  .lafl-hero-mobile > div,
  .lafl-hero-mobile .zpsection,
  .lafl-hero-mobile .zphero,
  .lafl-hero-mobile .zphero-slide,
  .lafl-hero-mobile .zpcarousel,
  .lafl-hero-mobile .zpcarousel-inner,
  .lafl-hero-mobile .zpcarousel-item {
    min-height: 675px !important;
    overflow: hidden !important;
  }
}

/* ============================================================
   FORCE HERO BUTTON CENTERING ON TABLET + MOBILE
   Fixes Zoho button wrapper retaining right alignment.
============================================================ */

@media screen and (max-width: 991px) {

  .lafl-hero-mobile .lafl-hero-copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* Center Zoho's button element/wrapper */
  .lafl-hero-mobile .lafl-hero-copy .zpbutton-container,
  .lafl-hero-mobile .lafl-hero-copy .zpbutton-wrapper,
  .lafl-hero-mobile .lafl-hero-copy .zpelem-button,
  .lafl-hero-mobile .lafl-hero-copy [class*="button-align"],
  .lafl-hero-mobile .lafl-hero-copy [class*="align-right"] {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Center the actual button */
  .lafl-hero-mobile .lafl-hero-copy a,
  .lafl-hero-mobile .lafl-hero-copy button,
  .lafl-hero-mobile .lafl-hero-copy .zpbutton {
    float: none !important;
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    right: auto !important;
  }
}

/* ============================================================
   GRAPHIC NOVEL HERO SLIDE — MOBILE REFINEMENT
============================================================ */

@media screen and (max-width: 767px) {

  /* Reduce unused space around the book image */
  .lafl-book-slide .lafl-hero-media {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 18px !important;
    padding-bottom: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  .lafl-book-slide .lafl-hero-media img {
    width: auto !important;
    max-width: 230px !important;
    max-height: 145px !important;
    margin: 0 auto !important;
  }

  /* Make the heading fit more naturally */
  .lafl-book-slide .lafl-hero-copy h1,
  .lafl-book-slide .lafl-hero-copy h2,
  .lafl-book-slide .lafl-hero-copy h3 {
    font-size: clamp(27px, 7vw, 32px) !important;
    line-height: 1.08 !important;
    margin-top: 6px !important;
    margin-bottom: 14px !important;
  }

  .lafl-book-slide .lafl-hero-copy p {
    font-size: 15px !important;
    line-height: 1.42 !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }

  /* Smaller, cleaner button text */
  .lafl-book-slide .lafl-hero-copy a,
  .lafl-book-slide .lafl-hero-copy button,
  .lafl-book-slide .lafl-hero-copy .zpbutton {
    width: min(82vw, 310px) !important;
    min-height: 48px !important;
    padding: 10px 18px !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
  }
}

/* ============================================================
   GRAPHIC NOVEL CAROUSEL SLIDE — MOBILE
============================================================ */

@media screen and (max-width: 767px) {

  /* Smaller book image with less vertical space */
  .lafl-hero-mobile img.lafl-book-media {
    display: block !important;
    width: auto !important;
    max-width: 215px !important;
    max-height: 140px !important;
    object-fit: contain !important;

    margin: 18px auto 8px !important;
    padding: 0 !important;
  }

  /* Bring the text section upward */
  .lafl-hero-mobile .lafl-book-copy {
    width: 100% !important;
    max-width: 350px !important;
    margin: 0 auto !important;
    padding-top: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  /* Smaller heading */
  .lafl-hero-mobile .lafl-book-copy h1,
  .lafl-hero-mobile .lafl-book-copy h2,
  .lafl-hero-mobile .lafl-book-copy h3 {
    font-size: 29px !important;
    line-height: 1.08 !important;
    margin: 8px auto 14px !important;
  }

  /* Slightly smaller body text */
  .lafl-hero-mobile .lafl-book-copy p {
    font-size: 15px !important;
    line-height: 1.42 !important;
    margin: 0 auto 18px !important;
  }

  /* Smaller button and button font */
  .lafl-hero-mobile .lafl-book-copy a,
  .lafl-hero-mobile .lafl-book-copy button,
  .lafl-hero-mobile .lafl-book-copy .zpbutton {
    width: min(82vw, 310px) !important;
    min-height: 46px !important;
    padding: 9px 15px !important;

    font-size: 16px !important;
    line-height: 1.25 !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ==============================
   Lock Arms for Life - Primary Button
   Clean site-wide button styling
   Alignment remains controlled by Zoho GUI
============================== */

a.lafl-btn-primary,
.lafl-btn-primary a,
button.lafl-btn-primary,
.zpbutton.lafl-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;

  width: 340px !important;
  max-width: 100% !important;
  min-height: 54px !important;

  font-family: 'Oswald', Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.2px !important;

  text-align: center !important;
  text-decoration: none !important;

  background-color: #1C5D8E !important;
  color: #ffffff !important;

  border: 1px solid #164C75 !important;
  border-radius: 8px !important;

  padding: 10px 22px !important;
  margin: 0 !important;
  cursor: pointer !important;

  box-shadow:
    0 3px 8px rgba(0, 0, 0, 0.16),
    0 1px 2px rgba(0, 0, 0, 0.10) !important;

  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease !important;
}

/* Keep all text and icons white */
a.lafl-btn-primary *,
.lafl-btn-primary a *,
button.lafl-btn-primary *,
.zpbutton.lafl-btn-primary * {
  color: #ffffff !important;
}

/* Hover */
a.lafl-btn-primary:hover,
.lafl-btn-primary a:hover,
button.lafl-btn-primary:hover,
.zpbutton.lafl-btn-primary:hover {
  background-color: #164C75 !important;
  border-color: #123F61 !important;
  color: #ffffff !important;
  text-decoration: none !important;

  transform: translateY(-2px) !important;

  box-shadow:
    0 6px 14px rgba(0, 0, 0, 0.20),
    0 2px 4px rgba(0, 0, 0, 0.12) !important;
}

/* Clicked state */
a.lafl-btn-primary:active,
.lafl-btn-primary a:active,
button.lafl-btn-primary:active,
.zpbutton.lafl-btn-primary:active {
  transform: translateY(0) !important;

  box-shadow:
    0 2px 5px rgba(0, 0, 0, 0.16) !important;
}

/* Keyboard accessibility */
a.lafl-btn-primary:focus-visible,
.lafl-btn-primary a:focus-visible,
button.lafl-btn-primary:focus-visible,
.zpbutton.lafl-btn-primary:focus-visible {
  outline: 3px solid rgba(28, 93, 142, 0.28) !important;
  outline-offset: 3px !important;
}

/* Mobile */
@media (max-width: 767px) {
  a.lafl-btn-primary,
  .lafl-btn-primary a,
  button.lafl-btn-primary,
  .zpbutton.lafl-btn-primary {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 18px !important;
    padding: 10px 16px !important;
  }
}
/* ==============================
   LAFL Download Buttons - TEKS Packet
   Button class only, no stack/container needed
============================== */

.lafl-download-btn {
  width: 100% !important;
  max-width: 500px !important;
  margin: 0 auto 6px auto !important;
  padding: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* Actual Zoho button/link */
.lafl-download-btn a,
.lafl-download-btn button,
.lafl-download-btn .zpbutton,
a.lafl-download-btn,
button.lafl-download-btn {
  width: 100% !important;
  max-width: 500px !important;
  min-height: 44px !important;
  height: auto !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 8px 18px !important;
  box-sizing: border-box !important;

  border-radius: 7px !important;
  border: 2px solid #000000 !important;

  background-color: #1C5D8E !important;
  color: #ffffff !important;

  font-family: 'Oswald', Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;

  white-space: normal !important;
  word-break: normal !important;
  cursor: pointer !important;

  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

/* Inner Zoho text */
.lafl-download-btn a *,
.lafl-download-btn button *,
.lafl-download-btn .zpbutton *,
a.lafl-download-btn *,
button.lafl-download-btn * {
  color: #ffffff !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
}

/* Hover - flipped colors with black border */
.lafl-download-btn a:hover,
.lafl-download-btn button:hover,
.lafl-download-btn .zpbutton:hover,
a.lafl-download-btn:hover,
button.lafl-download-btn:hover {
  background-color: #ffffff !important;
  color: #1C5D8E !important;
  border-color: #000000 !important;
  text-decoration: none !important;
}

/* Force inner Zoho text/icon to flip too */
.lafl-download-btn a:hover *,
.lafl-download-btn button:hover *,
.lafl-download-btn .zpbutton:hover *,
a.lafl-download-btn:hover *,
button.lafl-download-btn:hover * {
  color: #1C5D8E !important;
  fill: #1C5D8E !important;
}

/* Mobile */
@media screen and (max-width: 767px) {
  .lafl-download-btn {
    max-width: 340px !important;
    margin: 0 auto 10px auto !important;
  }

  .lafl-download-btn a,
  .lafl-download-btn button,
  .lafl-download-btn .zpbutton,
  a.lafl-download-btn,
  button.lafl-download-btn {
    max-width: 340px !important;
    min-height: 46px !important;
    font-size: 17px !important;
    padding: 9px 15px !important;
  }
}

/* ==============================
   Lock Arms for Life - YouTube Button for Lock Videos
   Normal = red background / white font / white border
   Hover = white background / red font / blue border
============================== */

a.lafl-btn-youtube,
.lafl-btn-youtube a,
button.lafl-btn-youtube,
.zpbutton.lafl-btn-youtube {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;

  width: 480px !important;
  max-width: 100% !important;
  min-height: 48px !important;

  font-family: 'Oswald', Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;

  background-color: #FF0000 !important;
  color: #ffffff !important;

  border-radius: 6px !important;
  border: 2px solid #ffffff !important;
  padding: 8px 18px !important;
  cursor: pointer !important;
  margin: 0 !important;
  position: relative !important;
  top: -14px !important;
  z-index: 5 !important;

  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

/* Force normal text white */
a.lafl-btn-youtube *,
.lafl-btn-youtube a *,
button.lafl-btn-youtube *,
.zpbutton.lafl-btn-youtube * {
  color: #ffffff !important;
}

/* Hover State */
a.lafl-btn-youtube:hover,
.lafl-btn-youtube a:hover,
button.lafl-btn-youtube:hover,
.zpbutton.lafl-btn-youtube:hover {
  background-color: #ffffff !important;
  color: #FF0000 !important;
  border: 2px solid #FF0000 !important;
  text-decoration: none !important;
}

/* Force hover text red */
a.lafl-btn-youtube:hover *,
.lafl-btn-youtube a:hover *,
button.lafl-btn-youtube:hover *,
.zpbutton.lafl-btn-youtube:hover * {
  color: #FF0000 !important;
}

/* Visually lift only the carousel YouTube buttons */
.lafl-carousel-youtube-lift {
  position: relative !important;
  transform: translateY(-14px) !important;
  z-index: 20 !important;
}

/* =========================================
   LAFL RESOURCE CARD TEXT + BUTTON ALIGNMENT
========================================= */

/* Apply to the paragraph/text box under each title */
.lafl-resource-desc {
  height: 96px !important;
  min-height: 96px !important;
  max-height: 96px !important;
  margin-bottom: 18px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Make sure Zoho inner paragraph/span respects the same area */
.lafl-resource-desc p,
.lafl-resource-desc span,
.lafl-resource-desc div {
  margin-top: 0 !important;
}


/* Equal button size + rounded */
.lafl-equal-button,
.lafl-equal-button a,
a.lafl-equal-button,
button.lafl-equal-button,
.lafl-equal-button .zpbutton {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;

  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;

  border-radius: 8px !important;
  box-sizing: border-box !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}


/* Keep button text clean */
.lafl-equal-button *,
.lafl-equal-button a *,
a.lafl-equal-button *,
button.lafl-equal-button *,
.lafl-equal-button .zpbutton * {
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* Tablet + mobile */
@media screen and (max-width: 991px) {
  .lafl-resource-desc {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 18px !important;
  }

  .lafl-equal-button,
  .lafl-equal-button a,
  a.lafl-equal-button,
  button.lafl-equal-button,
  .lafl-equal-button .zpbutton {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 320px !important;

    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }
}
/* ============================================================
   LAFL HERO CONTENT
   Mobile + tablet only.
   Targets the image directly and the right text column.
============================================================ */


/* TABLET + MOBILE */
@media screen and (max-width: 991px) {

  .lafl-hero-mobile img.lafl-hero-media,
  .lafl-hero-mobile .lafl-hero-copy {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  /* The lafl-hero-media class is applied directly to the image */
  .lafl-hero-mobile img.lafl-hero-media {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(80vw, 420px) !important;
    max-height: 260px !important;
    object-fit: contain !important;
  }

  .lafl-hero-mobile .lafl-hero-copy h1,
  .lafl-hero-mobile .lafl-hero-copy h2,
  .lafl-hero-mobile .lafl-hero-copy h3,
  .lafl-hero-mobile .lafl-hero-copy p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .lafl-hero-mobile .lafl-hero-copy a,
  .lafl-hero-mobile .lafl-hero-copy button,
  .lafl-hero-mobile .lafl-hero-copy .zpbutton {
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* MOBILE */
@media screen and (max-width: 767px) {

  .lafl-hero-mobile img.lafl-hero-media {
    width: auto !important;
    height: auto !important;
    max-width: min(78vw, 315px) !important;
    max-height: 165px !important;
    object-fit: contain !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .lafl-hero-mobile .lafl-hero-copy {
    width: 100% !important;
    max-width: 350px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .lafl-hero-mobile .lafl-hero-copy h1,
  .lafl-hero-mobile .lafl-hero-copy h2,
  .lafl-hero-mobile .lafl-hero-copy h3 {
    font-size: clamp(28px, 7.5vw, 36px) !important;
    line-height: 1.08 !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .lafl-hero-mobile .lafl-hero-copy p {
    font-size: 15.5px !important;
    line-height: 1.45 !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .lafl-hero-mobile .lafl-hero-copy a,
  .lafl-hero-mobile .lafl-hero-copy button,
  .lafl-hero-mobile .lafl-hero-copy .zpbutton {
    width: min(84vw, 320px) !important;
    max-width: 320px !important;
    min-height: 48px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    float: none !important;
    text-align: center !important;
    white-space: normal !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ==============================
   Lock Arms for Life - Primary Button - EDUCATION PAGE
   Styles actual button/link only
   Alignment controlled by Zoho GUI
   ============================== */

a.lafl-btn-primary,
.lafl-btn-primary a,
button.lafl-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;

  width: 440px !important;
  max-width: 100% !important;
  min-height: 40px !important;

  font-family: 'Oswald', Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;

  background-color: #1C5D8E !important;
  color: #ffffff !important;

  border-radius: 6px !important;
  border: 2px solid #1C5D8E !important;
  padding: 8px 18px !important;
  cursor: pointer !important;
  margin: 0 !important;

  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

/* Force inner Zoho text white */
a.lafl-btn-primary *,
.lafl-btn-primary a *,
button.lafl-btn-primary * {
  color: #ffffff !important;
}

/* Hover State - flipped colors */
a.lafl-btn-primary:hover,
.lafl-btn-primary a:hover,
button.lafl-btn-primary:hover {
  background-color: #ffffff !important;
  color: #1C5D8E !important;
  border-color: #1C5D8E !important;
  text-decoration: none !important;
}

/* Force inner Zoho text/icon to flip too */
a.lafl-btn-primary:hover *,
.lafl-btn-primary a:hover *,
button.lafl-btn-primary:hover * {
  color: #1C5D8E !important;
  fill: #1C5D8E !important;
}

/* ==============================
   Lock Arms for Life
   Education Page Rows
   Desktop + Mobile Fix
============================== */

/* Main two-column education row */
.lafl-edu-row {
  width: 100% !important;
  min-height: 470px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 45px !important;

  margin: 0 auto 65px !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Reset Zoho column behavior */
.lafl-edu-row > div {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Left media block */
.lafl-edu-media {
  flex: 1 1 56% !important;

  width: 100% !important;
  max-width: 680px !important;
  height: 390px !important;
  min-height: 390px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Images */
.lafl-edu-media img,
.lafl-edu-row .lafl-edu-media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;

  object-fit: cover !important;
  object-position: center center !important;

  display: block !important;
  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}

/* Video embeds */
.lafl-edu-media iframe,
.lafl-edu-row .lafl-edu-media iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;

  display: block !important;
  border: 0 !important;

  box-sizing: border-box !important;
}

/* Zoho media/video wrappers */
.lafl-edu-media > div {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Right-side text block */
.lafl-edu-copy {
  flex: 1 1 44% !important;

  width: 100% !important;
  max-width: 540px !important;
  min-width: 0 !important;
  min-height: 390px !important;
  height: auto !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 20px !important;

  text-align: center !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
}

/* Headings */
.lafl-edu-copy h1,
.lafl-edu-copy h2,
.lafl-edu-copy h3,
.lafl-edu-copy h4 {
  width: 100% !important;

  margin: 0 0 12px !important;
  padding: 0 !important;

  line-height: 1.15 !important;
  overflow-wrap: break-word !important;
}

/* Paragraphs */
.lafl-edu-copy p {
  width: 100% !important;

  margin: 0 0 12px !important;
  padding: 0 !important;

  line-height: 1.4 !important;
  overflow-wrap: break-word !important;
}

/* Button spacing and wrapping */
.lafl-edu-copy .lafl-btn-primary,
.lafl-edu-copy .lafl-btn-primary a,
.lafl-edu-copy a.lafl-btn-primary {
  max-width: 100% !important;

  margin-top: 8px !important;

  white-space: normal !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box !important;
}


/* ==============================
   Tablet and Mobile
============================== */

@media (max-width: 991px) {

  .lafl-edu-row {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 20px !important;

    margin: 0 auto 50px !important;
    padding: 0 15px !important;

    overflow: visible !important;
  }

  /* Completely reset Zoho column sizing */
  .lafl-edu-row > div,
  .lafl-edu-media,
  .lafl-edu-copy {
    flex: none !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
  }

  /* Always place media before text */
  .lafl-edu-media {
    order: 1 !important;

    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    min-height: 0 !important;

    padding: 0 !important;
    overflow: hidden !important;
  }

  .lafl-edu-copy {
    order: 2 !important;

    min-height: 0 !important;
    margin-top: 0 !important;
    padding: 10px 10px 0 !important;
  }

  .lafl-edu-media img,
  .lafl-edu-row .lafl-edu-media img,
  .lafl-edu-media iframe,
  .lafl-edu-row .lafl-edu-media iframe,
  .lafl-edu-media > div {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .lafl-edu-media img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  .lafl-edu-copy h1,
  .lafl-edu-copy h2,
  .lafl-edu-copy h3,
  .lafl-edu-copy h4 {
    margin-bottom: 10px !important;
  }

  .lafl-edu-copy p {
    margin-bottom: 12px !important;
    line-height: 1.45 !important;
  }

  .lafl-edu-copy .lafl-btn-primary,
  .lafl-edu-copy .lafl-btn-primary a,
  .lafl-edu-copy a.lafl-btn-primary {
    width: auto !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;

    white-space: normal !important;
    line-height: 1.25 !important;
  }
}


/* ==============================
   Small Phones
============================== */

@media (max-width: 480px) {

  .lafl-edu-row {
    gap: 16px !important;
    margin-bottom: 42px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .lafl-edu-copy {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .lafl-edu-copy h1,
  .lafl-edu-copy h2,
  .lafl-edu-copy h3,
  .lafl-edu-copy h4 {
    line-height: 1.18 !important;
  }

  .lafl-edu-copy p {
    line-height: 1.45 !important;
  }
}
/* =========================================================
   Lock Arms for Life - Resources Page Link Styling
   Applies only inside elements with class:
   lafl-resources-link-style
   ========================================================= */

.lafl-resources-link-style a,
.lafl-resources-link-style a:link,
.lafl-resources-link-style a:visited,
.lafl-resources-link-style a:hover,
.lafl-resources-link-style a:active,
.lafl-resources-link-style a:focus {
  font-family: 'Oswald', Arial, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  color: #1C5D8E !important;
  text-decoration: none !important;
  font-weight: 400 !important;
}

/* Forces nested Zoho span/font styling inside links to stop turning orange */
.lafl-resources-link-style a span,
.lafl-resources-link-style a font,
.lafl-resources-link-style a strong,
.lafl-resources-link-style a em {
  font-family: 'Oswald', Arial, sans-serif !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  color: #1C5D8E !important;
  text-decoration: none !important;
}

/* Optional hover effect - keeps color blue, adds underline */
.lafl-resources-link-style a:hover,
.lafl-resources-link-style a:hover span,
.lafl-resources-link-style a:hover font {
  color: #1C5D8E !important;
  text-decoration: underline !important;
}

/* =========================================================
   DESKTOP ONLY: MAKE HEADER FULL WIDTH
   Does not touch mobile/tablet hamburger behavior
   ========================================================= */

@media screen and (min-width: 992px) {

  .theme-header {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  .theme-header .zpcontainer {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
   GET ACTIVE ACCORDION - CIRCLE BADGE ONLY
   Use row classes:
   active-a, active-c, active-t, active-i, active-v, active-e

   Row text should REMOVE the first letter:
   lways Secure...
   ultivate...
   ake...
   nquire...
   oice...
   ducate...
   ========================================================= */

.active-a,
.active-c,
.active-t,
.active-i,
.active-v,
.active-e {
  background-color: #156CA8 !important;
  color: #ffffff !important;
  position: relative !important;
  overflow: hidden !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.28) !important;
  box-shadow: none !important;
  outline: none !important;
  padding-left: 66px !important;
}

/* Remove old inner wrapper spacing */
.active-a > *,
.active-c > *,
.active-t > *,
.active-i > *,
.active-v > *,
.active-e > * {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Header text */
.active-a *,
.active-c *,
.active-t *,
.active-i *,
.active-v *,
.active-e * {
  color: #ffffff !important;
  font-size: 92% !important;
  line-height: 1.25 !important;
}

/* Kill any old after bar/divider */
.active-a::after,
.active-c::after,
.active-t::after,
.active-i::after,
.active-v::after,
.active-e::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Clean circle badge */
.active-a::before,
.active-c::before,
.active-t::before,
.active-i::before,
.active-v::before,
.active-e::before {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;

  border-radius: 50% !important;
  background-color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-family: inherit !important;
  font-weight: 900 !important;
  font-size: 19px !important;
  line-height: 1 !important;
  text-align: center !important;

  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Circle letters + colors */
.active-a::before {
  content: "A" !important;
  color: #156CA8 !important;
}

.active-c::before {
  content: "C" !important;
  color: #E31B23 !important;
}

.active-t::before {
  content: "T" !important;
  color: #111111 !important;
}

.active-i::before {
  content: "I" !important;
  color: #156CA8 !important;
}

.active-v::before {
  content: "V" !important;
  color: #E31B23 !important;
}

.active-e::before {
  content: "E" !important;
  color: #111111 !important;
}

/* Hover */
.active-a:hover,
.active-c:hover,
.active-t:hover,
.active-i:hover,
.active-v:hover,
.active-e:hover {
  background-color: #125f94 !important;
}

/* Plus / minus icon */
.active-a .zpaccordion-icon,
.active-c .zpaccordion-icon,
.active-t .zpaccordion-icon,
.active-i .zpaccordion-icon,
.active-v .zpaccordion-icon,
.active-e .zpaccordion-icon,
.active-a .accordion-icon,
.active-c .accordion-icon,
.active-t .accordion-icon,
.active-i .accordion-icon,
.active-v .accordion-icon,
.active-e .accordion-icon,
.active-a .zpaccordion-name::after,
.active-c .zpaccordion-name::after,
.active-t .zpaccordion-name::after,
.active-i .zpaccordion-name::after,
.active-v .zpaccordion-name::after,
.active-e .zpaccordion-name::after {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

/* Open accordion content area */
.active-a + *,
.active-c + *,
.active-t + *,
.active-i + *,
.active-v + *,
.active-e + * {
  background-color: #ffffff !important;
  color: #111111 !important;
}

/* Open content text */
.active-a + * *,
.active-c + * *,
.active-t + * *,
.active-i + * *,
.active-v + * *,
.active-e + * * {
  color: #111111 !important;
  font-size: 100% !important;
  line-height: 1.6 !important;
}

/* Mobile accordion */
@media screen and (max-width: 767px) {
  .active-a,
  .active-c,
  .active-t,
  .active-i,
  .active-v,
  .active-e {
    padding-left: 58px !important;
  }

  .active-a::before,
  .active-c::before,
  .active-t::before,
  .active-i::before,
  .active-v::before,
  .active-e::before {
    left: 14px !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    font-size: 17px !important;
  }

  .active-a *,
  .active-c *,
  .active-t *,
  .active-i *,
  .active-v *,
  .active-e * {
    font-size: 88% !important;
  }
}


/* ACTIVE Pledge accordion paragraph text */
.active-accordion-text {
  font-family: "Arimo", sans-serif !important;
  font-size: 20px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  color: #111111 !important;
  text-align: left !important;
  max-width: 1050px !important;
  margin: 18px auto 20px !important;
}

/* Tablet / mobile */
@media (max-width: 768px) {
  .active-accordion-text {
    font-size: 17px !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
    margin: 14px auto 18px !important;
  }
}


/* =========================================================
   Advocacy Page Individual CTA Buttons
   Apply this class to EACH button only:
   advocacy-page-cta-button
   ========================================================= */

.advocacy-page-cta-button,
.advocacy-page-cta-button a,
.advocacy-page-cta-button button,
.advocacy-page-cta-button .zpbutton,
.advocacy-page-cta-button .zpbutton-content,
.zpbutton.advocacy-page-cta-button,
.zpbutton-content.advocacy-page-cta-button {
  box-sizing: border-box !important;

  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;

  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;

  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;
  white-space: nowrap !important;
  line-height: 44px !important;
}

/* Button text */
.advocacy-page-cta-button span,
.advocacy-page-cta-button a span,
.advocacy-page-cta-button .zpbutton-content span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  text-align: center !important;
  line-height: 44px !important;
}

/* Mobile */
@media screen and (max-width: 600px) {
  .advocacy-page-cta-button,
  .advocacy-page-cta-button a,
  .advocacy-page-cta-button button,
  .advocacy-page-cta-button .zpbutton,
  .advocacy-page-cta-button .zpbutton-content,
  .zpbutton.advocacy-page-cta-button,
  .zpbutton-content.advocacy-page-cta-button {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
  }
}


/* =========================================================
   Zoho Checkout Donation Embed
   Shorter on desktop, taller on mobile
   Targets the iframe by its checkout URL
   ========================================================= */

iframe[src*="zohosecurepay.com/checkout"],
iframe[src*="Donate-to-Lock-Arms-for-Life"] {
  width: 100% !important;
  max-width: 1100px !important;
  height: 1050px !important;
  border: none !important;
  display: block !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

/* Tablet */
@media screen and (max-width: 900px) {
  iframe[src*="zohosecurepay.com/checkout"],
  iframe[src*="Donate-to-Lock-Arms-for-Life"] {
    height: 1050px !important;
  }
}

/* Mobile */
@media screen and (max-width: 600px) {
  iframe[src*="zohosecurepay.com/checkout"],
  iframe[src*="Donate-to-Lock-Arms-for-Life"] {
    height: 1400px !important;
  }
}

/* Small mobile */
@media screen and (max-width: 420px) {
  iframe[src*="zohosecurepay.com/checkout"],
  iframe[src*="Donate-to-Lock-Arms-for-Life"] {
    height: 1550px !important;
  }
}


/* =========================================================
   Event Calendar Device Display
   Desktop + Tablet = Calendar
   Phone = Upcoming Events List
   Avoids display:none iframe rendering bugs
   ========================================================= */

/* Default: desktop/tablet show calendar */
.lafl-calendar-desktop-section {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}

.lafl-calendar-mobile-section {
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Phone only */
@media screen and (max-width: 600px) {
  .lafl-calendar-desktop-section {
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .lafl-calendar-mobile-section {
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
}


/* =========================================================
   Event Calendar Tablet Height Adjustment
   Keeps desktop normal, keeps phone switch working.
   Only reduces calendar iframe height on tablets.
   ========================================================= */

@media screen and (min-width: 601px) and (max-width: 1024px) {
  .lafl-calendar-desktop-section iframe {
    height: 720px !important;
    min-height: 720px !important;
    max-height: 720px !important;
  }
}

/* Graphic Novel Button Row — tablet/mobile only */

/* Tablet and below */
@media only screen and (max-width: 991px) {
  .graphic-novel-button-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 25px !important;
  }

  .graphic-novel-button-row .zpcolumn,
  .graphic-novel-button-row .zpelem-col {
    width: 100% !important;
    max-width: 100% !important;
  }

  .graphic-novel-button-row .zpbutton-container {
    max-width: 420px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .graphic-novel-button-row a.zpbutton,
  .graphic-novel-button-row .zpbutton {
    width: 100% !important;
    margin-bottom: 4px !important;
    text-align: center !important;
  }
}

/* Mobile */
@media only screen and (max-width: 600px) {
  .graphic-novel-button-row {
    gap: 20px !important;
  }

  .graphic-novel-button-row .zpbutton-container {
    max-width: 90% !important;
  }

  .graphic-novel-button-row a.zpbutton,
  .graphic-novel-button-row .zpbutton {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
}

/* Desktop only: vertically center logo with button group */
@media only screen and (min-width: 992px) {
  .graphic-novel-button-row {
    align-items: center !important;
  }

  .graphic-novel-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 100% !important;
    overflow: visible !important;
  }

  .graphic-novel-logo .zpimage-container,
  .graphic-novel-logo .zpimage,
  .graphic-novel-logo figure {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
  }

  .graphic-novel-logo img {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* ==============================
   LAFL Partner Logos
   Featured Partners + Standard Logo Grids
============================== */


/* ==============================
   FEATURED PARTNER ROW
   Austin Public Health + Cook Children's
============================== */

.lafl-featured-row {
  width: 100% !important;
  max-width: 1000px !important;
  margin: 18px auto 56px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Featured row inner containers */
.lafl-featured-row .zprow,
.lafl-featured-row .zpcontainer,
.lafl-featured-row [class*="row"],
.lafl-featured-row [class*="container"] {
  width: 100% !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 430px)) !important;
  justify-content: center !important;
  justify-items: center !important;
  align-items: center !important;

  column-gap: 70px !important;
  row-gap: 0 !important;
}

/* Featured logo columns/items */
.lafl-featured-row .zpcolumn,
.lafl-featured-row .zpelem-col,
.lafl-featured-row [class*="column"],
.lafl-featured-partner {
  width: 100% !important;
  max-width: 430px !important;
  min-width: 0 !important;
  min-height: 165px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* Featured image wrappers */
.lafl-featured-row .zpimage,
.lafl-featured-row .zpimage-container,
.lafl-featured-row figure,
.lafl-featured-row picture,
.lafl-featured-partner .zpimage,
.lafl-featured-partner .zpimage-container,
.lafl-featured-partner figure,
.lafl-featured-partner picture {
  width: 100% !important;
  max-width: 430px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* Featured logos */
.lafl-featured-row img,
.lafl-featured-partner img {
  display: block !important;
  width: auto !important;
  height: auto !important;

  max-width: 420px !important;
  max-height: 160px !important;

  object-fit: contain !important;
  margin: 0 auto !important;
}


/* ==============================
   COMMUNITY PARTNER GRID
   CORPORATE SPONSOR GRID
============================== */

.lafl-partner-grid,
.lafl-corporate-grid {
  width: 100% !important;
  max-width: 1100px !important;
  margin: 4px auto 48px auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;

  /* Hides accidental raw CSS/text nodes inside logo-only sections */
  font-size: 0 !important;
  line-height: 0 !important;
}

/* Restore normal sizing for actual child elements */
.lafl-partner-grid *,
.lafl-corporate-grid * {
  font-size: initial !important;
  line-height: normal !important;
}

/* Regular grid inner containers */
.lafl-partner-grid .zprow,
.lafl-partner-grid .zpcontainer,
.lafl-partner-grid [class*="row"],
.lafl-partner-grid [class*="container"],
.lafl-corporate-grid .zprow,
.lafl-corporate-grid .zpcontainer,
.lafl-corporate-grid [class*="row"],
.lafl-corporate-grid [class*="container"] {
  width: 100% !important;
  max-width: 100% !important;

  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;

  column-gap: 44px !important;
  row-gap: 28px !important;

  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Desktop regular grid: 3 per row */
.lafl-partner-grid .zpcolumn,
.lafl-partner-grid .zpelem-col,
.lafl-partner-grid [class*="column"],
.lafl-corporate-grid .zpcolumn,
.lafl-corporate-grid .zpelem-col,
.lafl-corporate-grid [class*="column"] {
  flex: 0 0 28% !important;
  max-width: 28% !important;
  min-width: 250px !important;
  min-height: 140px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* Regular grid image wrappers */
.lafl-partner-grid .zpimage,
.lafl-partner-grid .zpimage-container,
.lafl-partner-grid figure,
.lafl-partner-grid picture,
.lafl-corporate-grid .zpimage,
.lafl-corporate-grid .zpimage-container,
.lafl-corporate-grid figure,
.lafl-corporate-grid picture {
  width: 100% !important;
  max-width: 330px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

/* Regular grid logos */
.lafl-partner-grid img,
.lafl-corporate-grid img {
  display: block !important;
  width: auto !important;
  height: auto !important;

  max-width: 320px !important;
  max-height: 150px !important;

  object-fit: contain !important;
  margin: 0 auto !important;
}


/* ==============================
   TABLET
============================== */

@media screen and (max-width: 991px) {
  .lafl-featured-row {
    max-width: 760px !important;
    margin: 16px auto 70px auto !important;
    padding: 0 20px !important;
  }

  .lafl-featured-row .zprow,
  .lafl-featured-row .zpcontainer,
  .lafl-featured-row [class*="row"],
  .lafl-featured-row [class*="container"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;

    row-gap: 175px !important;
    column-gap: 0 !important;

    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .lafl-featured-row .zpcolumn,
  .lafl-featured-row .zpelem-col,
  .lafl-featured-row [class*="column"],
  .lafl-featured-partner {
    max-width: 430px !important;
    min-height: 170px !important;
  }

  .lafl-featured-row img,
  .lafl-featured-partner img {
    max-width: 390px !important;
    max-height: 150px !important;
  }

  .lafl-partner-grid,
  .lafl-corporate-grid {
    max-width: 800px !important;
    margin: 4px auto 44px auto !important;
    padding: 0 20px !important;
  }

  .lafl-partner-grid .zprow,
  .lafl-partner-grid .zpcontainer,
  .lafl-partner-grid [class*="row"],
  .lafl-partner-grid [class*="container"],
  .lafl-corporate-grid .zprow,
  .lafl-corporate-grid .zpcontainer,
  .lafl-corporate-grid [class*="row"],
  .lafl-corporate-grid [class*="container"] {
    column-gap: 40px !important;
    row-gap: 30px !important;
  }

  .lafl-partner-grid .zpcolumn,
  .lafl-partner-grid .zpelem-col,
  .lafl-partner-grid [class*="column"],
  .lafl-corporate-grid .zpcolumn,
  .lafl-corporate-grid .zpelem-col,
  .lafl-corporate-grid [class*="column"] {
    flex: 0 0 42% !important;
    max-width: 42% !important;
    min-width: 230px !important;
    min-height: 145px !important;
  }

  .lafl-partner-grid img,
  .lafl-corporate-grid img {
    max-width: 285px !important;
    max-height: 135px !important;
  }
}


/* ==============================
   MOBILE
============================== */

@media screen and (max-width: 767px) {
  .lafl-featured-row,
  .lafl-partner-grid,
  .lafl-corporate-grid {
    width: 100% !important;
    max-width: 390px !important;
    padding: 0 18px !important;
    overflow: hidden !important;
  }

  .lafl-featured-row {
    margin: 12px auto 64px auto !important;
  }

  .lafl-featured-row .zprow,
  .lafl-featured-row .zpcontainer,
  .lafl-featured-row [class*="row"],
  .lafl-featured-row [class*="container"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;

    row-gap: 155px !important;
    column-gap: 0 !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .lafl-featured-row .zpcolumn,
  .lafl-featured-row .zpelem-col,
  .lafl-featured-row [class*="column"],
  .lafl-featured-partner {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 165px !important;
  }

  .lafl-featured-row img,
  .lafl-featured-partner img {
    max-width: 325px !important;
    max-height: 130px !important;
  }

  .lafl-partner-grid,
  .lafl-corporate-grid {
    margin: 4px auto 38px auto !important;
  }

  .lafl-partner-grid .zprow,
  .lafl-partner-grid .zpcontainer,
  .lafl-partner-grid [class*="row"],
  .lafl-partner-grid [class*="container"],
  .lafl-corporate-grid .zprow,
  .lafl-corporate-grid .zpcontainer,
  .lafl-corporate-grid [class*="row"],
  .lafl-corporate-grid [class*="container"] {
    width: 100% !important;
    max-width: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 28px !important;

    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .lafl-partner-grid .zpcolumn,
  .lafl-partner-grid .zpelem-col,
  .lafl-partner-grid [class*="column"],
  .lafl-corporate-grid .zpcolumn,
  .lafl-corporate-grid .zpelem-col,
  .lafl-corporate-grid [class*="column"] {
    width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 120px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .lafl-partner-grid img,
  .lafl-corporate-grid img {
    max-width: 300px !important;
    max-height: 130px !important;
  }
}


/* ==============================
   SMALL MOBILE
============================== */

@media screen and (max-width: 420px) {
  .lafl-featured-row,
  .lafl-partner-grid,
  .lafl-corporate-grid {
    max-width: 360px !important;
    padding: 0 16px !important;
  }

  .lafl-featured-row .zprow,
  .lafl-featured-row .zpcontainer,
  .lafl-featured-row [class*="row"],
  .lafl-featured-row [class*="container"] {
    row-gap: 140px !important;
  }

  .lafl-featured-row img,
  .lafl-featured-partner img {
    max-width: 300px !important;
    max-height: 120px !important;
  }

  .lafl-partner-grid img,
  .lafl-corporate-grid img {
    max-width: 280px !important;
    max-height: 122px !important;
  }
}

/* ==============================
   LAFL Mobile / Tablet Menu Active + Tap Fix
   Header/Menu scoped version
   Prevents normal page links from turning white on mobile
============================== */

@media (max-width: 991px) {

  /* Tap highlight only inside the actual header/menu */
  header a,
  .theme-header a,
  [class*="zpheader"] a,
  [class*="zsite-header"] a {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0.25) !important;
  }

  /* Main mobile menu links should stay white by default.
     IMPORTANT: scoped to header only so page content links are not affected. */
  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    a:not([href*="donate"]):not([href*="Donate"]):not(#lafl-mobile-newsletter-link) {
    color: #ffffff !important;
    text-decoration: none !important;
  }

  /* Hover / tap / focused / selected mobile menu item.
     Also scoped to header only. */
  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    a:not([href*="donate"]):not([href*="Donate"]):not(#lafl-mobile-newsletter-link):hover,

  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    a:not([href*="donate"]):not([href*="Donate"]):not(#lafl-mobile-newsletter-link):focus,

  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    a:not([href*="donate"]):not([href*="Donate"]):not(#lafl-mobile-newsletter-link):active,

  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    li.active > a:not([href*="donate"]):not([href*="Donate"]):not(#lafl-mobile-newsletter-link),

  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    li.selected > a:not([href*="donate"]):not([href*="Donate"]):not(#lafl-mobile-newsletter-link),

  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    li[class*="active"] > a:not([href*="donate"]):not([href*="Donate"]):not(#lafl-mobile-newsletter-link),

  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    li[class*="selected"] > a:not([href*="donate"]):not([href*="Donate"]):not(#lafl-mobile-newsletter-link) {
    background-color: #ffffff !important;
    color: #206994 !important;
  }

  /* Make submenu arrows/icons match the active blue text.
     Scoped to header/menu only. */
  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    a:hover *,
  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    a:focus *,
  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    :is([class*="menu"], [class*="Menu"], [class*="mobile"], [class*="Mobile"])
    a:active * {
    color: #206994 !important;
    fill: #206994 !important;
  }

  /* Keep header Donate button red.
     Scoped to header only so normal page donate links are not turned into buttons. */
  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    a[href*="donate"],
  :is(header, .theme-header, [class*="zpheader"], [class*="zsite-header"])
    a[href*="Donate"] {
    background-color: #ed1c24 !important;
    color: #ffffff !important;
  }
}

/* Prevent desktop social icons from flashing in their original Zoho position */
@media (min-width: 992px) {
  header a[href*="facebook"],
  header a[href*="instagram"],
  header a[href*="youtube"],
  header a[href*="youtu.be"],
  header a[href*="linkedin"],
  header a[href*="twitter"],
  header a[href*="x.com"],
  header a[href*="tiktok"],
  header a[href^="mailto:"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  header #lafl-header-socials-real a,
  header #lafl-header-social-icons-real a,
  header #lafl-header-newsletter-link {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* ==============================
   Source Citation Text
============================== */

.lafl-source-citation,
.lafl-source-citation p,
.lafl-source-citation span {
  font-family: 'Arimo', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #222222 !important;
}

/* Linked report titles */
.lafl-source-citation a {
  font-family: 'Arimo', Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1C5D8E !important;
  text-decoration: none !important;
}

.lafl-source-citation a:hover,
.lafl-source-citation a:focus {
  color: #1C5D8E !important;
  text-decoration: underline !important;
}

/* Lighten homepage resource-section background image */
.lafl-resource-bg-section {
  position: relative !important;
  isolation: isolate !important;
}

.lafl-resource-bg-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;

  background: rgba(255, 255, 255, 0.18) !important;

  pointer-events: none !important;
  z-index: -1 !important;
}