/**
 * Theme Name:   Astra Child
 * Theme URI:    https://wpastra.com/
 * Description:  Astra Child Theme - A child theme of Astra WordPress theme
 * Author:       Your Name
 * Author URI:   http://localhost/aie-wp/
 * Template:     astra
 * Version:      1.0.0
 * License:      GNU General Public License v2 or later
 * License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:  astra-child
 * Tags:         custom-menu, custom-logo, entertainment, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, custom-colors, editor-style, featured-images, full-width-template, microformats, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready, blog
 */

/* custom styles below */

/* Box-sizing */
* {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
}

/* Custom Container Class */
.container {
  width: 100%;
  max-width: 1905px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Lulo Clean Bold font */
@font-face {
  font-family: "lulo-clean-w01-one-bold";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/e3cf8f7e-35c4-446f-9b93-de93e989f66f/v1/lulo-clean-w05-one-bold.woff2")
    format("woff2");
  font-display: swap;
  unicode-range:
    U+0100-0107, U+010A-0113, U+0116-011B, U+011E-0123, U+0126-0130,
    U+0132-0137, U+0139-0148, U+014A-0151, U+0154-015F, U+0162-0175, U+0177,
    U+0179-017C, U+01FC-01FF, U+0218-0219, U+02C7, U+02D8-02DB, U+02DD,
    U+1E80-1E85, U+1E9E, U+1EF2-1EF3, U+2044, U+2070, U+2074-2079, U+2212,
    U+E001, U+E909, U+E910-E912, U+E999, U+F6C3, U+F6E0, U+F6E4, U+F8FF;
}

@font-face {
  font-family: "lulo-clean-w01-one-bold";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/e3cf8f7e-35c4-446f-9b93-de93e989f66f/v1/lulo-clean-w01-one-bold.woff2")
    format("woff2");
  font-display: swap;
  unicode-range:
    U+0020-007E, U+00A0-00A3, U+00A5-00AB, U+00AE-00B4, U+00B6-00FF, U+0131,
    U+0152-0153, U+0160-0161, U+0178, U+017D-017E, U+02C6, U+02DC, U+2013-2014,
    U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+20AC,
    U+2122;
}

/* DIN Next Light */
@font-face {
  font-family: "din-next-w01-light";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/eca8b0cd-45d8-43cf-aee7-ca462bc5497c/v1/din-next-w10-light.woff2")
    format("woff2");
  font-display: swap;
  unicode-range:
    U+0401-040C, U+040E-044F, U+0451-045C, U+045E-045F, U+0490-0491, U+2116;
}

@font-face {
  font-family: "din-next-w01-light";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/eca8b0cd-45d8-43cf-aee7-ca462bc5497c/v1/din-next-w02-light.woff2")
    format("woff2");
  font-display: swap;
  unicode-range:
    U+000D, U+0100-010F, U+0111-0130, U+0132-0151, U+0154-015F, U+0162-0177,
    U+0179-017C, U+01FA-01FF, U+0218-021B, U+0237, U+02C9, U+02D8-02D9, U+02DB,
    U+02DD, U+0394, U+03A9, U+03C0, U+1E80-1E85, U+1EF2-1EF3, U+2070,
    U+2074-2079, U+2080-2089, U+2113, U+2126, U+212E, U+2153-2154, U+215B-215E,
    U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E, U+222B,
    U+2248, U+2260, U+2264-2265, U+25CA, U+F8FF, U+FB00-FB04;
}

@font-face {
  font-family: "din-next-w01-light";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/eca8b0cd-45d8-43cf-aee7-ca462bc5497c/v1/din-next-w01-light.woff2")
    format("woff2");
  font-display: swap;
  unicode-range:
    U+0020-007E, U+00A0-00FF, U+0110, U+0131, U+0152-0153, U+0160-0161, U+0178,
    U+017D-017E, U+0192, U+02C6-02C7, U+02DA, U+02DC, U+03BC, U+2013-2014,
    U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+2044,
    U+20AC, U+2122;
}

/* Avenir Light */
@font-face {
  font-family: "avenir-lt-w01_35-light1475496";
  font-style: normal;
  font-weight: 300;
  src: url("//static.parastorage.com/fonts/v2/af36905f-3c92-4ef9-b0c1-f91432f16ac1/v1/avenir-lt-w01_35-light1475496.woff2")
    format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "avenir-lt-w05_35-light";
  font-style: normal;
  font-weight: 300;
  src: url("//static.parastorage.com/fonts/v2/af36905f-3c92-4ef9-b0c1-f91432f16ac1/v1/avenir-lt-w05_35-light.woff2")
    format("woff2");
  font-display: swap;
}

/* Impact font */
@font-face {
  font-family: "impact-w01-2010";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/d3b9ff1b-981e-4bc0-ab95-df33e1f72673/v1/impact-w10-2010.woff2")
    format("woff2");
  font-display: swap;
  unicode-range:
    U+0401-040C, U+040E-044F, U+0451-045C, U+045E-045F, U+0490-0491, U+2116;
}

@font-face {
  font-family: "impact-w01-2010";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/d3b9ff1b-981e-4bc0-ab95-df33e1f72673/v1/impact-w02-2010.woff2")
    format("woff2");
  font-display: swap;
  unicode-range:
    U+0100-010F, U+0111-012B, U+012E-0130, U+0132-0137, U+0139-0149,
    U+014C-0151, U+0154-015F, U+0162-0177, U+0179-017C, U+0218-021B, U+02C9,
    U+02D8-02D9, U+02DB, U+02DD, U+0394, U+03A9, U+03C0, U+2044, U+2113, U+2126,
    U+212E, U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E,
    U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+FB01-FB02;
}

@font-face {
  font-family: "impact-w01-2010";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/d3b9ff1b-981e-4bc0-ab95-df33e1f72673/v1/impact-w01-2010.woff2")
    format("woff2");
  font-display: swap;
  unicode-range:
    U+0000, U+0002, U+0009-000A, U+000D, U+0020-007E, U+00A0-00B6, U+00B8-00FF,
    U+0110, U+0131, U+0152-0153, U+0160-0161, U+0178, U+017D-017E, U+0192,
    U+02C6-02C7, U+02DA, U+02DC, U+037E, U+03BC, U+2013-2014, U+2018-201A,
    U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+20AC, U+2122;
}

/* Helvetica families from reference site */
@font-face {
  font-family: "helvetica-w01-bold";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/2f12de04-5ca4-4ada-9e66-a958673b12b5/v1/helvetica-lt-w10-bold.woff2")
    format("woff2");
  unicode-range:
    U+0000, U+0401-040C, U+040E-044F, U+0451-045C, U+045E-045F, U+0490-0491,
    U+2116;
  font-display: swap;
}

@font-face {
  font-family: "helvetica-w01-bold";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/2f12de04-5ca4-4ada-9e66-a958673b12b5/v1/helvetica-w02-bold.woff2")
    format("woff2");
  unicode-range:
    U+0100-012B, U+012E-0130, U+0132-0137, U+0139-0149, U+014C-0151,
    U+0154-015F, U+0162-0177, U+0179-017C, U+0218-021B, U+0237, U+02C9,
    U+02D8-02D9, U+02DB, U+02DD, U+0394, U+03A9, U+03BC, U+03C0, U+2044, U+2113,
    U+2126, U+212E, U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A,
    U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+E301-E304,
    U+E306-E30D, U+FB01-FB02;
  font-display: swap;
}

@font-face {
  font-family: "helvetica-w01-bold";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/2f12de04-5ca4-4ada-9e66-a958673b12b5/v1/helvetica-w01-bold.woff2")
    format("woff2");
  unicode-range:
    U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+0160-0161, U+0178,
    U+017D-017E, U+0192, U+02C6-02C7, U+02DA, U+02DC, U+2013-2014, U+2018-201A,
    U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+20AC, U+2122;
  font-display: swap;
}

@font-face {
  font-family: "helvetica-w01-light";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/8eac109b-0fa9-42bf-a305-43e471e23779/v1/helvetica-w02-light.woff2")
    format("woff2");
  unicode-range:
    U+0100-012B, U+012E-0137, U+0139-0149, U+014C-0151, U+0154-015F,
    U+0162-0177, U+0179-017C, U+0218-021B, U+0237, U+02C7, U+02C9, U+02D8-02DB,
    U+02DD, U+0394, U+03A9, U+03BC, U+03C0, U+2044, U+2113, U+2126, U+212E,
    U+2202, U+2206, U+220F, U+2211-2212, U+2215, U+2219-221A, U+221E, U+222B,
    U+2248, U+2260, U+2264-2265, U+25CA, U+E002, U+E004, U+E006, U+E008-E009,
    U+E00D, U+E00F, U+E011, U+E013, U+E015, U+E017, U+E01A, U+FB01-FB02;
  font-display: swap;
}

@font-face {
  font-family: "helvetica-w01-light";
  font-style: normal;
  font-weight: 400;
  src: url("//static.parastorage.com/fonts/v2/8eac109b-0fa9-42bf-a305-43e471e23779/v1/helvetica-w01-light.woff2")
    format("woff2");
  unicode-range:
    U+000D, U+0020-007E, U+00A0-00FF, U+0152-0153, U+0160-0161, U+0178,
    U+017D-017E, U+0192, U+02C6, U+02DC, U+2013-2014, U+2018-201A, U+201C-201E,
    U+2020-2022, U+2026, U+2030, U+2039-203A, U+20AC, U+2122;
  font-display: swap;
}

/* Body Text - Assistant  */
body,
body.font-family-inherit,
.entry-content {
  font-family:
    "Assistant",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
}

:root {
  --aie-white: #ffffff;
  --aie-black: #000000;
  --aie-yellow: #ffd54c;
  --aie-brown: #5f2323;
  --aie-light-brown: #8e3434;
  --aie-reddish: #8b0000;

  /* Font Families */
  --font-primary: "lulo-clean-w01-one-bold", sans-serif;
  --font-secondary: "din-next-w01-light", sans-serif;
  --font-body: "Assistant", sans-serif;
  --font-Anton: "Anton", sans-serif;
  --font-impact: impact, "impact-w01-2010", sans-serif;
  --font-helvetica-bold:
    "helvetica-w01-bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-helvetica-light:
    "helvetica-w01-light", "Helvetica Neue", Helvetica, Arial, sans-serif;

  /* Additional CSS Variables */
  --color_36: 0, 0, 0;
  --color_11: 0, 0, 0;
  --bg: var(--color_36);
  --alpha-bg: 0.66;
  --color_44: 255, 255, 255;
}

/* Header */
/* Primary Menu */
.main-header-menu,
.main-header-menu .menu-link,
.main-header-menu a,
.main-header-menu li a,
.main-navigation,
.main-navigation a,
.main-navigation .menu-link,
.main-navigation ul li a,
nav.main-navigation a,
.ast-header-menu .main-header-menu a,
.ast-header-menu .main-header-menu .menu-link {
  font-family: var(--font-primary), sans-serif;
  font-weight: 400;
  font-style: italic;
}
/* Add Gradient on Menu Background */
.site-header,
.ast-header-wrap,
.site-header-wrap,
#masthead,
header#masthead,
#masthead .site-header,
#masthead .ast-header-wrap {
  background:
    radial-gradient(
      circle at 52.77777989705403% 51.21527989705403%,
      #ffd54c 0%,
      20%,
      rgba(255, 213, 76, 0) 40%
    ),
    radial-gradient(
      circle at 36.574103037516274% 86.4004643758138%,
      rgba(139, 0, 0, 0.99) 0%,
      25%,
      rgba(139, 0, 0, 0) 50%
    ),
    radial-gradient(
      circle at 66.20370864868164% 12.326446374257406%,
      #8b0000 0%,
      42%,
      rgba(139, 0, 0, 0) 70%
    ),
    radial-gradient(
      circle at 57.40743637084961% 53.99311701456706%,
      #ffc519 0%,
      42%,
      rgba(255, 197, 25, 0) 70%
    ),
    radial-gradient(
      circle at 48.9013671875% 49.521484375%,
      #000000 0%,
      100%,
      rgba(0, 0, 0, 0) 100%
    );
  width: 100%;
  max-width: 100%;
  position: relative;
  background-size: 100% auto;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: scroll;
  min-height: 390px;
}

/* Ensure container is full width */
.site-above-header-wrap .ast-container,
.ast-above-header-wrap .ast-container,
.site-above-header .ast-container,
.ast-above-header .ast-container {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* Ensure inner elements don't constrain width */
.site-above-header-wrap .ast-row,
.ast-above-header-wrap .ast-row {
  max-width: 100%;
  width: 100%;
}

/* Navigation bar itself - solid black, sits on top of gradient */
.main-header-bar,
.ast-header-bar,
.main-header-bar-wrap .main-header-bar,
#masthead .main-header-bar,
#masthead .ast-header-bar {
  background: var(--aie-black);
  background-color: var(--aie-black);
  background-image: none;
  width: 100%;
  max-width: 100%;
  position: relative;
  z-index: 5;
}

/* Decorative images above and below navigation menu */
.main-header-bar::before,
.ast-header-bar::before,
.main-header-bar-wrap .main-header-bar::before,
#masthead .main-header-bar::before,
#masthead .ast-header-bar::before {
  content: "";
  position: absolute;
  top: -7px;
  left: -7px;
  right: -7px;
  width: 100%;
  height: 7px;
  background-image: url("assets/img/menu-border-up.png");
  background-repeat: repeat-x;
  background-position: center top;
  z-index: 6;
}

.main-header-bar::after,
.ast-header-bar::after,
.main-header-bar-wrap .main-header-bar::after,
#masthead .main-header-bar::after,
#masthead .ast-header-bar::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: -7px;
  right: -7px;
  width: 100%;
  height: 7px;
  background-image: url("assets/img/menu-border-down.png");
  background-repeat: repeat-x;
  background-position: center bottom;
  z-index: 6;
}

/* Ensure primary header container is full width */
.site-primary-header-wrap .ast-container,
.ast-primary-header-wrap .ast-container,
.site-primary-header .ast-container,
.ast-primary-header .ast-container {
  max-width: 100%;
  width: 100%;
}

.site-header,
.ast-header-wrap,
.site-header-wrap,
#masthead,
header#masthead {
  border-bottom: 3px solid var(--aie-white);
}

/* Logo Zoom In Animation - Smooth */
@keyframes zoomIn {
  from {
    transform: scale3d(0.5, 0.5, 1);
    opacity: 0;
  }
  to {
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
}

.custom-logo,
.custom-logo-link,
.site-logo img,
.ast-site-identity .custom-logo,
.site-header-above-section .custom-logo {
  animation: zoomIn 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Main Menu Slide In From Left Animation  */
@keyframes slideInFromLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

/* Apply animation to navigation bar */
.main-header-bar,
.ast-header-bar,
.main-header-bar-wrap .main-header-bar,
#masthead .main-header-bar,
#masthead .ast-header-bar {
  animation: slideInFromLeft 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  animation-delay: 0.4s;
  animation-fill-mode: both;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Menu items */
.main-navigation,
.main-header-menu,
.ast-header-menu,
.main-header-bar .main-navigation,
.main-header-bar .main-header-menu {
  animation: slideInFromLeft 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  animation-delay: 0.4s;
  animation-fill-mode: both;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.ast-builder-menu-1 .menu-item > .menu-link {
  font-size: 20px;
}

/* ===== Header Responsive (Tablet & Mobile) ===== */

@media (max-width: 991px) {
  .site-header,
  .ast-header-wrap,
  .site-header-wrap,
  #masthead,
  header#masthead,
  #masthead .site-header,
  #masthead .ast-header-wrap {
    background: var(--aie-black) !important;
    background-image: none !important;
    background-color: var(--aie-black) !important;
    min-height: 0px;
  }
  .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar {
    margin-bottom: 0;
  }
  .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .ast-builder-layout-element .ast-site-identity {
    margin-top: 0;
    margin-bottom: 0;
  }
  .ast-site-identity {
    padding: 0;
  }

  .main-header-bar,
  .ast-header-bar,
  .main-header-bar-wrap .main-header-bar,
  #masthead .main-header-bar,
  #masthead .ast-header-bar {
    background: var(--aie-black) !important;
    background-color: var(--aie-black) !important;
    background-image: none !important;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  /* Remove white bottom border line on small screens */
  .site-header,
  .ast-header-wrap,
  .site-header-wrap,
  #masthead,
  header#masthead {
    border-bottom: 0;
  }

  /* Hide decorative border images on responsive */
  .main-header-bar::before,
  .ast-header-bar::before,
  .main-header-bar-wrap .main-header-bar::before,
  #masthead .main-header-bar::before,
  #masthead .ast-header-bar::before,
  .main-header-bar::after,
  .ast-header-bar::after,
  .main-header-bar-wrap .main-header-bar::after,
  #masthead .main-header-bar::after,
  #masthead .ast-header-bar::after {
    display: none !important;
    content: none !important;
    background-image: none !important;
  }

  /* 3. Toggle (hamburger) color white */
  .ast-button-wrap .menu-toggle,
  .main-header-menu-toggle,
  .menu-toggle,
  .ast-mobile-menu-buttons .menu-toggle,
  #masthead .main-header-menu-toggle,
  #masthead .menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--aie-white) !important;
    z-index: 1000;
    background: transparent;
    border: none;
    padding: 8px;
  }

  /* Ensure toggle wrap is visible */
  .ast-button-wrap {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
  }

  /* Icon color white */
  .ast-button-wrap .menu-toggle svg,
  .ast-button-wrap .menu-toggle .ast-mobile-svg,
  .main-header-menu-toggle svg,
  .menu-toggle svg,
  .ast-mobile-menu-buttons .menu-toggle svg,
  .ast-mobile-menu-buttons .menu-toggle .ast-mobile-svg,
  #masthead .main-header-menu-toggle svg,
  #masthead .menu-toggle svg,
  .ast-button-wrap .menu-toggle .ast-svg-iconset svg,
  .menu-toggle .ast-svg-iconset svg {
    color: var(--aie-white) !important;
  }
  .ast-button-wrap .menu-toggle svg,
  .ast-button-wrap .menu-toggle .ast-mobile-svg,
  .main-header-menu-toggle svg,
  .menu-toggle svg,
  .ast-mobile-menu-buttons .menu-toggle svg,
  .ast-mobile-menu-buttons .menu-toggle .ast-mobile-svg,
  #masthead .main-header-menu-toggle svg,
  #masthead .menu-toggle svg,
  .ast-button-wrap .menu-toggle .ast-svg-iconset svg,
  .menu-toggle .ast-svg-iconset svg {
    fill: var(--aie-white) !important;
    stroke: var(--aie-white) !important;
  }

  /* Ensure all SVG paths and elements are white */
  .ast-button-wrap .menu-toggle svg path,
  .ast-button-wrap .menu-toggle svg rect,
  .ast-button-wrap .menu-toggle svg circle,
  .menu-toggle svg path,
  .menu-toggle svg rect,
  .menu-toggle svg circle,
  .main-header-menu-toggle svg path,
  .main-header-menu-toggle svg rect,
  .main-header-menu-toggle svg circle {
    fill: var(--aie-white) !important;
    stroke: var(--aie-white) !important;
  }

  /* 4. Mobile menu popup full height, black background, white links */
  #ast-mobile-popup,
  #ast-mobile-popup .ast-mobile-popup-inner,
  .ast-mobile-popup-drawer {
    background: var(--aie-black) !important;
  }

  #ast-mobile-popup .ast-mobile-popup-inner {
    height: 100vh;
  }

  #ast-mobile-popup .main-header-menu a,
  #ast-mobile-popup .main-header-menu .menu-link,
  #ast-mobile-popup .main-header-menu li a,
  #ast-mobile-popup .main-navigation a,
  #ast-mobile-popup .main-navigation .menu-link {
    color: var(--aie-white);
  }
}

/* Mobile  */
@media (max-width: 767px) {
  .main-header-bar,
  .ast-header-bar,
  .main-header-bar-wrap .main-header-bar,
  #masthead .main-header-bar,
  #masthead .ast-header-bar {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

/* footer */
.site-footer,
.site-footer *,
.footer-widget-area,
.footer-widget-area *,
.footer-copyright,
.footer-copyright *,
.ast-footer-copyright,
.ast-footer-copyright *,
#colophon,
#colophon *,
footer,
footer * {
  font-family: var(--font-secondary), sans-serif;
}

/* Footer Background and Visibility */
.site-footer,
#colophon,
footer,
.ast-footer,
.ast-footer-wrap,
.footer-widget-area {
  background-color: var(--aie-black);
  background: var(--aie-black);
  color: var(--aie-white);
}

/* Leader position */
.postion-name {
  font-family: var(--font-secondary), sans-serif !important;
}

/* Underline "Wix" in Footer  */
.ast-footer-copyright a,
.footer-copyright a,
.site-footer a,
footer a {
  text-decoration: underline;
  color: var(--aie-white);
}

/* ============================================
   PREVENT AST-CONTAINER IN CUSTOM SECTIONS
   ============================================ */

/* Override ast-container when it wraps custom main sections */
#content.site-content > .ast-container:has(> .aie-custom-main),
.site-content > .ast-container:has(> .aie-custom-main),
#content .ast-container:has(.aie-custom-main),
.site-content .ast-container:has(.aie-custom-main),
#content.site-content .ast-container:has(.aie-custom-main .dues-section),
.site-content .ast-container:has(.aie-custom-main .dues-section),
#content.site-content .ast-container:has(.aie-custom-main),
.site-content .ast-container:has(.aie-custom-main) {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Additional  */
#content.site-content .ast-container .aie-custom-main,
.site-content .ast-container .aie-custom-main {
  position: relative;
}

/* Direct override for ast-container wrapping aie-custom-main  */
#content.site-content .ast-container:has(.aie-custom-main),
.site-content .ast-container:has(.aie-custom-main) {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Break out of parent ast-container constraints */
.aie-custom-main {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  position: relative;
  left: 0;
  right: 0;
}

/* Ensure ast-container doesn't constrain aie-custom-main */
#content.site-content .ast-container .aie-custom-main,
.site-content .ast-container .aie-custom-main,
.ast-container .aie-custom-main {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
}

/* Remove ast-container from inside custom main sections */
.aie-custom-main .ast-container,
.aie-hero-section .ast-container,
.aie-hero-section .aie-hero-content .ast-container {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Ensure our custom container is used instead */
.aie-hero-section .container {
  max-width: 1905px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  min-height: 965px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Top spacer for content positioning */
.aie-hero-spacer-top {
  flex: 0 0 50px;
}

/* Bottom spacer for content positioning */
.aie-hero-spacer-bottom {
  flex: 0 0 150px;
}

/* ============================================
   HERO SECTION WITH BACKGROUND VIDEO
   ============================================ */

.aie-hero-section {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Background Video Wrapper */
.aie-hero-video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.aie-hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Video Overlay - Removed */
.aie-hero-video-overlay {
  display: none;
}

/* Hero Content Container */
.aie-hero-content {
  position: relative;
  z-index: 3;
  width: 90%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  animation: slideInFromLeft 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  animation-delay: 0.4s;
  animation-fill-mode: both;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* Text Overlay on Right Side */
.aie-hero-text-overlay {
  background-color: rgba(var(--bg, var(--color_11)), var(--alpha-bg, 1));
  padding: 20px 20px 60px;
  max-width: 510px;
  width: 100%;
  position: relative;
}

/* Inner content wrapper */
.aie-hero-text-inner {
  position: relative;
  z-index: 2;
  height: 100%;
}

/* Top Border */
.aie-hero-text-overlay::before {
  background: url("assets/img/hero-top-border.png") repeat-x;
  content: "";
  height: 10px;
  left: -7px;
  position: absolute;
  right: -3px;
  background-position: 0 0;
  top: -7px;
  z-index: 1;
}

/* Bottom Border */
.aie-hero-text-overlay::after {
  background: url("assets/img/hero-top-border.png") repeat-x;
  content: "";
  height: 10px;
  left: -7px;
  position: absolute;
  right: -3px;
  background-position: 0 100%;
  bottom: -7px;
  z-index: 1;
}

/* Left Border */
.aie-hero-text-inner::before {
  background: url("assets/img/hero-side-border.png") repeat-y;
  bottom: -57px;
  content: "";
  position: absolute;
  top: -35px;
  width: 10px;
  background-position: 0 0;
  left: -30px;
  z-index: 1;
}

/* Right Border */
.aie-hero-text-inner::after {
  background: url("assets/img/hero-side-border.png") repeat-y;
  bottom: -57px;
  content: "";
  position: absolute;
  top: -35px;
  width: 10px;
  background-position: 100% 0;
  right: -25px;
  z-index: 1;
}

/* Hero Title */
.aie-hero-title {
  font-family: var(--font-primary), sans-serif;
  font-size: 38px;
  font-weight: bold;
  line-height: normal;
  color: var(--aie-yellow);
  margin: 12px 0 25px 0;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-align: center;
  position: relative;
  z-index: 2;
}

/* Mission Statement */
.aie-hero-mission {
  margin-bottom: 25px;
  position: relative;
  z-index: 2;
}

.aie-hero-mission p {
  font-family: var(--font-body), sans-serif;
  font-size: 20px;
  line-height: 1.5;
  color: var(--aie-white);
  margin: 0;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0em;
  font-style: italic;
}

/* Tagline */
.aie-hero-tagline {
  position: relative;
  z-index: 2;
}

.aie-hero-tagline p {
  font-family: var(--font-body), sans-serif;
  font-size: 20px;
  line-height: 1.4em;
  color: var(--aie-white);
  margin: 27px 0 35px 0;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0em;
  font-style: italic;
}

/* Hero Buttons Container */
.aie-hero-buttons {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: center;
  margin-top: 15px;
}

/* Highlighted Yellow Phrases */
.highlight-yellow {
  background-color: var(--aie-yellow);
  color: var(--aie-black);
  font-weight: bold;
  display: inline-block;
  font-family: var(--font-body), sans-serif;
  line-height: 1.4em;
  text-align: center;
  letter-spacing: 0em;
  font-size: 20px;
  font-style: italic;

  font-style: italic;
}

.highlight-yellow .all-in {
  margin-top: 30px;
}

/* ===== Hero Section Responsive Styles ===== */

@media (max-width: 1440px) {
  .aie-hero-section .container {
    min-height: 850px;
  }

  .aie-hero-content {
    width: 85%;
  }

  .aie-hero-text-overlay {
    max-width: 480px;
    padding: 18px 18px 55px;
  }

  .aie-hero-title {
    font-size: 34px;
    margin: 10px 0 22px 0;
  }

  .aie-hero-mission p,
  .aie-hero-tagline p {
    font-size: 18px;
  }

  .highlight-yellow {
    font-size: 18px;
  }

  /* Adjust border positions */
  .aie-hero-text-overlay::before {
    left: -7px;
    right: -3px;
    top: -7px;
    height: 10px;
  }

  .aie-hero-text-overlay::after {
    left: -7px;
    right: -3px;
    bottom: -7px;
    height: 10px;
  }

  .aie-hero-text-inner::before {
    left: -28px;
    top: -35px;
    bottom: -55px;
  }

  .aie-hero-text-inner::after {
    right: -25px;
    top: -35px;
    bottom: -55px;
  }
}

@media (max-width: 1200px) {
  .aie-hero-section .container {
    min-height: 800px;
  }

  .aie-hero-spacer-top {
    flex: 0 0 40px;
  }

  .aie-hero-spacer-bottom {
    flex: 0 0 130px;
  }

  .aie-hero-content {
    width: 85%;
  }

  .aie-hero-text-overlay {
    max-width: 450px;
    padding: 15px 15px 50px;
  }

  .aie-hero-title {
    font-size: 32px;
    margin: 8px 0 20px 0;
    letter-spacing: 0.08em;
  }

  .aie-hero-mission {
    margin-bottom: 20px;
  }

  .aie-hero-mission p,
  .aie-hero-tagline p {
    font-size: 17px;
    line-height: 1.4;
  }

  .aie-hero-tagline p {
    margin: 25px 0 30px 0;
  }

  .highlight-yellow {
    font-size: 17px;
  }

  .aie-hero-buttons {
    gap: 25px;
  }

  .aie-hero-text-overlay::before {
    left: -7px;
    right: -3px;
    top: -7px;
    height: 10px;
  }

  .aie-hero-text-overlay::after {
    left: -7px;
    right: -3px;
    bottom: -7px;
    height: 10px;
  }

  .aie-hero-text-inner::before {
    left: -25px;
    top: -32px;
    bottom: -52px;
  }

  .aie-hero-text-inner::after {
    right: -23px;
    top: -32px;
    bottom: -52px;
  }
}

@media (max-width: 1024px) {
  .aie-hero-section .container {
    min-height: 750px;
    padding: 0 15px;
  }

  .aie-hero-spacer-top {
    flex: 0 0 35px;
  }

  .aie-hero-spacer-bottom {
    flex: 0 0 120px;
  }

  .aie-hero-content {
    width: 100%;
    justify-content: center;
  }

  .aie-hero-text-overlay {
    max-width: 500px;
    padding: 15px 15px 45px;
    margin: 0 auto;
  }

  .aie-hero-title {
    font-size: 30px;
    margin: 8px 0 18px 0;
    letter-spacing: 0.06em;
  }

  .aie-hero-mission {
    margin-bottom: 18px;
  }

  .aie-hero-mission p,
  .aie-hero-tagline p {
    font-size: 16px;
    line-height: 1.4;
  }

  .aie-hero-tagline p {
    margin: 22px 0 28px 0;
  }

  .highlight-yellow {
    font-size: 16px;
    padding: 6px 12px;
  }

  .aie-hero-buttons {
    gap: 22px;
    margin-top: 12px;
  }

  .aie-hero-text-overlay::before {
    left: -7px;
    right: -3px;
    top: -7px;
  }

  .aie-hero-text-overlay::after {
    left: -7px;
    right: -3px;
    bottom: -7px;
  }

  .aie-hero-text-inner::before {
    left: -25px;
    top: -30px;
    bottom: -47px;
  }

  .aie-hero-text-inner::after {
    right: -22px;
    top: -30px;
    bottom: -47px;
  }
}

@media (max-width: 991px) {
  .aie-hero-section .container {
    min-height: 700px;
    padding: 0 15px;
  }

  .aie-hero-spacer-top {
    flex: 0 0 30px;
  }

  .aie-hero-spacer-bottom {
    flex: 0 0 100px;
  }

  .aie-hero-content {
    width: 100%;
    justify-content: center;
  }

  .aie-hero-text-overlay {
    max-width: 480px;
    padding: 12px 12px 40px;
  }

  .aie-hero-title {
    font-size: 28px;
    margin: 6px 0 16px 0;
    letter-spacing: 0.05em;
  }

  .aie-hero-mission {
    margin-bottom: 16px;
  }

  .aie-hero-mission p,
  .aie-hero-tagline p {
    font-size: 15px;
    line-height: 1.35;
  }

  .aie-hero-tagline p {
    margin: 20px 0 25px 0;
  }

  .highlight-yellow {
    font-size: 15px;
    padding: 5px 10px;
  }

  .aie-hero-buttons {
    gap: 20px;
    margin-top: 10px;
  }

  .aie-hero-text-overlay::before {
    left: -7px;
    right: -3px;
    top: -7px;
    height: 10px;
  }

  .aie-hero-text-overlay::after {
    left: -7px;
    right: -3px;
    bottom: -7px;
    height: 10px;
  }

  .aie-hero-text-inner::before {
    left: -22px;
    top: -28px;
    bottom: -42px;
    width: 10px;
  }

  .aie-hero-text-inner::after {
    right: -20px;
    top: -28px;
    bottom: -42px;
    width: 10px;
  }
}

@media (max-width: 767px) {
  .aie-hero-section .container {
    min-height: 650px;
    padding: 0 20px;
  }

  .aie-hero-spacer-top {
    flex: 0 0 25px;
  }

  .aie-hero-spacer-bottom {
    flex: 0 0 80px;
  }

  .aie-hero-content {
    width: 100%;
    justify-content: center;
  }

  .aie-hero-text-overlay {
    max-width: 100%;
    padding: 12px 12px 35px;
  }

  .aie-hero-title {
    font-size: 24px;
    margin: 5px 0 14px 0;
    letter-spacing: 0.04em;
  }

  .aie-hero-mission {
    margin-bottom: 14px;
  }

  .aie-hero-mission p,
  .aie-hero-tagline p {
    font-size: 14px;
    line-height: 1.3;
  }

  .aie-hero-tagline p {
    margin: 18px 0 22px 0;
  }

  .highlight-yellow {
    font-size: 14px;
    padding: 4px 8px;
    width: 100%;
    max-width: 280px;
  }

  .aie-hero-buttons {
    gap: 18px;
    margin-top: 8px;
    width: 100%;
  }

  .aie-hero-text-overlay::before {
    left: -7px;
    right: -3px;
    top: -7px;
    height: 10px;
  }

  .aie-hero-text-overlay::after {
    left: -7px;
    right: -3px;
    bottom: -7px;
    height: 10px;
  }

  .aie-hero-text-inner::before {
    left: -18px;
    top: -24px;
    bottom: -37px;
    width: 10px;
  }

  .aie-hero-text-inner::after {
    right: -18px;
    top: -24px;
    bottom: -37px;
    width: 10px;
  }
}

/* ===== Leader section  ===== */
.leaders-section {
  padding: 110px 45px 0;
  background-color: var(--aie-white);
}

.leaders-title {
  font-family: var(--font-primary), sans-serif;
  font-size: 38px;
  letter-spacing: 0.1em;
  font-style: normal;
  color: var(--aie-black);
  line-height: normal;
  margin-bottom: 45px;
  text-align: center;
}

.leaders-divider {
  width: 30px;
  height: 2px;
  background-color: var(--aie-black);
  margin: 0 auto 60px;
}

.leaders-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 60px;
  align-items: stretch;
}

.leader-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.leader-image {
  width: 100%;
  flex-shrink: 0;
}

.leader-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.leader-info {
  background-color: var(--aie-brown);
  padding: 45px 30px;
  text-align: left;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 180px;
}

.leader-role {
  display: block;
  font-family: var(--font-secondary), sans-serif;
  font-size: 16px;
  letter-spacing: normal;
  line-height: 1.4;
  color: var(--aie-white);
  margin-bottom: 8px;
  min-height: 21px;
}

.leader-name {
  font-family: var(--font-Anton), sans-serif;
  font-size: 20px;
  letter-spacing: normal;
  line-height: 1.3;
  color: var(--aie-white);
  margin: 0 0 10px;
  font-weight: 400;
  min-height: 26px;
}

.leader-phone {
  display: block;
  font-family: var(--font-secondary), sans-serif;
  font-size: 16px;
  letter-spacing: normal;
  line-height: 1.4;
  color: var(--aie-white);
}

/* ===== Responsive Styles ===== */

@media (max-width: 1440px) {
  .leaders-section {
    padding: 80px 30px 0;
  }

  .leaders-grid {
    gap: 40px;
  }

  .leader-info {
    padding: 40px 25px;
    min-height: 180px;
  }
}

@media (max-width: 1366px) {
  .leader-role {
    font-size: 12px;
    min-height: 17px;
  }

  .leaders-grid {
    gap: 30px;
  }

  .leader-info {
    min-height: 180px;
  }
}

@media (max-width: 1024px) {
  .leaders-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }

  .leader-info {
    min-height: 180px;
  }
}

/* 991px and below */
@media (max-width: 991px) {
  .leaders-section {
    padding: 60px 20px 0;
  }

  .leaders-title {
    font-size: 32px;
    margin-bottom: 40px;
  }

  .leaders-divider {
    margin-bottom: 50px;
  }

  .leader-info {
    padding: 35px 20px;
    min-height: 170px;
  }

  .leader-name {
    font-size: 18px;
    min-height: 23px;
  }

  .leader-role {
    font-size: 14px;
    min-height: 20px;
  }

  .leader-phone {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .leader-role {
    font-size: 16px;
    min-height: 22px;
  }

  .leaders-section {
    padding: 50px 15px 0;
  }

  .leaders-title {
    font-size: 28px;
    margin-bottom: 30px;
    letter-spacing: 0.05em;
  }

  .leaders-divider {
    margin-bottom: 40px;
  }

  .leaders-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }

  .leader-info {
    padding: 30px 15px;
    min-height: 150px;
  }

  .leader-name {
    min-height: 26px;
  }
}

@media (max-width: 480px) {
  .leaders-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .leaders-section {
    padding: 40px 0px 0;
  }
}

/* ===== Athletes Section ===== */
.athletes-section {
  padding: 120px 120px;
  background-color: var(--aie-white);
}

.athletes-container {
  max-width: 1905px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.athletes-videos {
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.video-wrapper {
  position: relative;
  width: 347px;
  height: 537px;
}

.athletes-videos video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  border: 2px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.6);
}

.athletes-videos video::-webkit-media-controls-panel {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.athletes-videos video::-webkit-media-controls-enclosure {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.athletes-videos video:hover::-webkit-media-controls-panel,
.athletes-videos video:hover::-webkit-media-controls-enclosure {
  opacity: 1;
}

.athletes-videos video::-moz-media-controls {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.athletes-videos video:hover::-moz-media-controls {
  opacity: 1;
}

.video-play-icon,
.video-pause-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  background-color: rgba(0, 0, 0, 0.6) !important;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  border: none;
  outline: none;
  box-shadow: none;
}

.video-play-icon svg,
.video-pause-icon svg {
  width: 30px;
  height: 30px;
  display: block;
  margin: 0 auto;
}

/* Bubble animation keyframes */
@keyframes bubbleShow {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
  }
  60% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.15);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes bubbleHide {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.7);
  }
}

.video-play-icon.show,
.video-pause-icon.show {
  display: flex;
  animation: bubbleShow 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.video-play-icon.hide,
.video-pause-icon.hide {
  animation: bubbleHide 0.4s cubic-bezier(0.55, 0.055, 0.675, 0.19) forwards;
}

.athletes-content {
  max-width: 750px;
  text-align: center;
  margin: 0;
  padding-top: 170px;
}

.athletes-title {
  font-family: var(--font-primary), sans-serif;
  font-size: 47px;
  font-weight: normal;
  color: var(--aie-black);
  line-height: normal;
  white-space: nowrap;
  margin-bottom: 85px;
}

.athletes-divider {
  width: 30px;
  height: 3px;
  background-color: var(--aie-black);
  margin: 0 auto 80px;
}

.athletes-text-wrapper {
  font-family: var(--font-body);
  font-size: 24px;
  line-height: 1.6;
  color: var(--aie-white);
  font-style: italic;
  font-weight: bold;
}

.athletes-text {
  background-color: var(--aie-brown);
  padding: 0;
  margin: 0 0 5px 0;
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.athletes-text:last-child {
  margin-bottom: 0;
}

/* ===== Athletes Section Responsive Styles ===== */

@media (max-width: 1440px) {
  .athletes-section {
    padding: 100px 80px;
  }

  .athletes-container {
    flex-direction: column;
    align-items: center;
    gap: 50px;
  }

  .video-wrapper {
    width: 300px;
    height: 460px;
  }

  .athletes-videos {
    flex-direction: row;
    gap: 60px;
    justify-content: center;
    width: 100%;
  }

  .athletes-content {
    max-width: 650px;
    padding-top: 0;
    order: -1;
  }

  .athletes-title {
    font-size: 42px;
    margin-bottom: 50px;
  }

  .athletes-divider {
    margin-bottom: 40px;
  }

  .athletes-text-wrapper {
    font-size: 22px;
  }
}

@media (max-width: 1200px) {
  .athletes-section {
    padding: 80px 60px;
  }

  .athletes-container {
    flex-direction: column;
    align-items: center;
    gap: 50px;
  }

  .video-wrapper {
    width: 280px;
    height: 430px;
  }

  .athletes-videos {
    flex-direction: row;
    gap: 50px;
    justify-content: center;
    width: 100%;
  }

  .athletes-content {
    max-width: 600px;
    padding-top: 0;
    order: -1;
  }

  .athletes-title {
    font-size: 38px;
  }

  .athletes-text-wrapper {
    font-size: 20px;
  }
}

@media (max-width: 991px) {
  .athletes-section {
    padding: 60px 40px;
  }

  .athletes-container {
    flex-direction: column;
    align-items: center;
    gap: 50px;
  }

  .athletes-videos {
    flex-direction: row;
    gap: 30px;
    justify-content: center;
    width: 100%;
  }

  .video-wrapper {
    width: 250px;
    height: 380px;
  }

  .athletes-content {
    max-width: 100%;
    padding-top: 0;
    order: -1;
  }

  .athletes-title {
    font-size: 34px;
    margin-bottom: 30px;
    white-space: normal;
  }

  .athletes-divider {
    margin-bottom: 30px;
  }

  .athletes-text-wrapper {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .athletes-section {
    padding: 50px 20px;
  }

  .athletes-container {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .athletes-videos {
    gap: 30px;
    width: 100%;
  }

  .video-wrapper {
    width: 100%;
    max-width: 400px;
    height: auto;
    aspect-ratio: 347 / 537;
  }

  .athletes-videos video {
    width: 100%;
    height: 100%;
  }

  .athletes-content {
    max-width: 100%;
    padding-top: 0;
  }

  .athletes-title {
    font-size: 28px;
    margin-bottom: 20px;
    white-space: normal;
  }

  .athletes-divider {
    margin-bottom: 25px;
    width: 25px;
    height: 2px;
  }

  .athletes-text-wrapper {
    font-size: 16px;
    line-height: 1.5;
  }

  .video-play-icon,
  .video-pause-icon {
    width: 50px;
    height: 50px;
  }

  .video-play-icon svg,
  .video-pause-icon svg {
    width: 25px;
    height: 25px;
  }
}

/* ===== Gallery SECTION  ===== */

.aie-gallery-section .container {
  padding: 0 90px;
}
.aie-gallery-section {
  background-color: var(--aie-brown);
  padding-top: 80px;
  position: relative;
}

.aie-logo {
  text-align: center;
  margin-bottom: 40px;
}

.aie-logo img {
  width: 100%;
  max-width: 202px;
}

.aie-title {
  color: var(--aie-white);
  font-family: var(--font-primary), sans-serif;
  font-weight: normal;
  letter-spacing: -0.05em;
  font-size: 40px;
  line-height: 2.1em;
  text-align: center;
  margin-bottom: 50px;
}

.aie-title span {
  color: #ffd34d;
}

/* ===== GALLERY ===== */
.aie-gallery {
  margin-bottom: 80px;
}

#aie-gallery img,
#gallery img {
  width: 100%;
  height: auto;
  display: block;
}

.aie-gallery a {
  position: relative;
  display: block;
  overflow: hidden;
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.7s ease-out,
    transform 0.7s ease-out,
    box-shadow 0.3s ease-out;
}

.aie-gallery a.aie-in-view {
  opacity: 1;
  transform: translateY(0);
}

.aie-gallery a.aie-in-view:hover {
  box-shadow: none;
}

.aie-gallery a .gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.6) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  opacity: 0;
  z-index: 1;
  pointer-events: none;
}

.aie-connect-strip {
  position: relative;
  background: var(--aie-black);
  padding: 68px 0 50px 0;
  overflow: hidden;
}
.aie-connect-strip::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 180px;

  background-image: url("data:image/svg+xml,%3Csvg preserveAspectRatio='xMidYMax slice' viewBox='0 100.625 1920 199.375' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%235f2323' d='M1920 300V136.017c0-19.547-15.846-35.392-35.392-35.392h-713.155a68.497 68.497 0 0 0-51.925 23.825l-109.805 127.637a68.497 68.497 0 0 1-51.925 23.825H40.629C18.468 275.913.394 258.157 0 236v64h1920z'/%3E%3C/svg%3E");

  background-repeat: no-repeat;
  background-size: 2100px 100%;
  background-position: center top;
  transform: scale(1, -1);
  z-index: 1;
}

.aie-connect-inner {
  max-width: 1905px;
  margin: 0 auto;
  padding: 0px 30px;
  position: relative;
  z-index: 2;
}

.connect-text a {
  color: var(--aie-white);
  font-family:
    avenir-lt-w01_35-light1475496, avenir-lt-w05_35-light, sans-serif;
  font-style: italic;
  font-size: 38px;
  font-weight: bold;
  letter-spacing: 0.25em;
  line-height: 1.4em;
}

.connect-text p {
  margin-bottom: 0;
}

.connect-text span {
  display: block;
  margin-top: 10px;
}

@media (max-width: 1600px) {
  .aie-gallery-section .container {
    padding: 0 80px;
  }

  .aie-title {
    font-size: 38px;
    line-height: 2em;
  }

  .aie-gallery {
    margin-bottom: 50px;
  }

  .aie-connect-strip::before {
    height: 180px;
    background-size: 2000px 100%;
  }

  .connect-text a {
    font-size: 36px;
    letter-spacing: 0.23em;
  }
}

@media (max-width: 1440px) {
  .aie-gallery-section .container {
    padding: 0 70px;
  }

  .aie-title {
    font-size: 36px;
    line-height: 1.9em;
  }

  .aie-connect-strip {
    padding: 64px 0 48px 0;
  }

  .aie-connect-strip::before {
    height: 175px;
    background-size: 1900px 100%;
  }

  .connect-text a {
    font-size: 34px;
    letter-spacing: 0.22em;
  }
}

@media (max-width: 1200px) {
  .aie-gallery-section .container {
    padding: 0 60px;
  }

  .aie-gallery-section {
    padding-top: 70px;
  }

  .aie-title {
    font-size: 32px;
    line-height: 1.7em;
    margin-bottom: 40px;
  }

  .aie-connect-strip {
    padding: 56px 0 44px 0;
  }

  .aie-connect-strip::before {
    height: 170px;
    background-size: 1800px 100%;
  }

  .aie-connect-inner {
    padding: 0 24px;
  }

  .connect-text a {
    font-size: 30px;
    letter-spacing: 0.2em;
    line-height: 1.35em;
  }
}

@media (max-width: 991px) {
  .aie-gallery-section .container {
    padding: 0 40px;
  }

  .aie-gallery-section {
    padding-top: 60px;
  }

  .aie-title {
    font-size: 30px;
    line-height: 1.6em;
    margin-bottom: 35px;
  }

  .aie-connect-strip {
    padding: 50px 0 40px 0;
  }

  .aie-connect-strip::before {
    height: 150px;
  }

  .aie-connect-inner {
    padding: 0 20px;
  }

  .connect-text a {
    font-size: 24px;
    letter-spacing: 0.18em;
    line-height: 1.3em;
  }
}

@media (max-width: 767px) {
  .aie-gallery-section .container {
    padding: 0 20px;
  }

  .aie-gallery-section {
    padding-top: 50px;
  }

  .aie-title {
    font-size: 26px;
    line-height: 1.5em;
    margin-bottom: 30px;
  }

  .aie-gallery {
    margin-bottom: 30px;
  }

  .aie-connect-strip {
    padding: 40px 0 35px 0;
  }

  .aie-connect-strip::before {
    transform: scale(0);
  }

  .aie-connect-inner {
    padding: 0 16px;
  }

  .connect-text a {
    font-size: 20px;
    letter-spacing: 0.15em;
    line-height: 1.3em;
  }

  .connect-text span {
    margin-top: 8px;
  }
}

/* ===== LIGHTGALLERY POPUP NAV OVERRIDES ===== */
/* Ensure navigation buttons and close button are visible and white */
.lg-next,
.lg-prev,
.lg-close,
.lg-next:hover,
.lg-prev:hover,
.lg-close:hover,
.lg-next:focus,
.lg-prev:focus,
.lg-close:focus,
.lg-next:active,
.lg-prev:active,
.lg-close:active {
  background-color: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  z-index: 99999 !important;
  color: var(--aie-white) !important;
}

/* Make icons white and prevent color changes */
.lg-next::after,
.lg-prev::after,
.lg-close::after,
.lg-next:hover::after,
.lg-prev:hover::after,
.lg-close:hover::after,
.lg-next:focus::after,
.lg-prev:focus::after,
.lg-close:focus::after,
.lg-next:active::after,
.lg-prev:active::after,
.lg-close:active::after {
  color: var(--aie-white) !important;
  border-color: var(--aie-white) !important;
}

/*  SVG icons if lightGallery uses SVG */
.lg-next svg,
.lg-prev svg,
.lg-close svg,
.lg-next:hover svg,
.lg-prev:hover svg,
.lg-close:hover svg,
.lg-next:focus svg,
.lg-prev:focus svg,
.lg-close:focus svg,
.lg-next:active svg,
.lg-prev:active svg,
.lg-close:active svg {
  fill: var(--aie-white) !important;
  stroke: var(--aie-white) !important;
  color: var(--aie-white) !important;
}

/* Target icon fonts if lightGallery uses icon fonts */
.lg-next .lg-icon,
.lg-prev .lg-icon,
.lg-close .lg-icon,
.lg-next:hover .lg-icon,
.lg-prev:hover .lg-icon,
.lg-close:hover .lg-icon,
.lg-next:focus .lg-icon,
.lg-prev:focus .lg-icon,
.lg-close:focus .lg-icon,
.lg-next:active .lg-icon,
.lg-prev:active .lg-icon,
.lg-close:active .lg-icon {
  color: var(--aie-white) !important;
}

/* Ensure lightGallery controls are above our overlay */
.lg-outer .lg-next,
.lg-outer .lg-prev,
.lg-outer .lg-close {
  z-index: 99999 !important;
}

/* Ensure our gallery overlay doesn't interfere with lightGallery popup */
.lg-outer .gallery-overlay {
  display: none !important;
}

/* ============================================
   DUES SECTION
   ============================================ */

/* Remove margin from primary for dues page */
.ast-plain-container.ast-no-sidebar #primary.aie-custom-main,
.ast-plain-container.ast-no-sidebar #primary {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Ensure dues section breaks out of ast-container */
.aie-custom-main .dues-section,
.dues-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  position: relative;
  background-color: var(--aie-black);
  display: block;
  padding: 60px 0 45px;
}

/* Ensure dues-container is properly centered within the full-width section */
.dues-section .dues-container {
  position: relative;
  z-index: 1;
}

.dues-container {
  max-width: 990px;
  margin: 0 auto;
  padding: 0 20px;
}

.dues-heading-main {
  margin: 0 0 18px;
  font-family: var(--font-impact), sans-serif;
  font-size: 55px;
  line-height: 1;
  font-style: italic;
  font-weight: 400;
  color: var(--aie-white);
  text-align: center;
}

.dues-heading-sub {
  margin: 0;
  font-family: var(--font-secondary), sans-serif;
  font-size: 28px;
  line-height: 1.4em;
  font-style: normal;
  font-weight: 400;
  color: var(--aie-white);
  text-align: center;
}

.dues-grid {
  margin: 75px 0 58px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.dues-card {
  background-color: var(--aie-black);
  border: 1px solid #333333;
  color: var(--aie-white);
}

.dues-card-inner {
  padding: 30px 27px;
  text-align: center;
}

.dues-card-title {
  margin: 0 0 20px;
  font-family: var(--font-secondary), sans-serif;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--aie-white);
}

.dues-card-price {
  margin: 0 0 20px;
  font-family: var(--font-secondary), sans-serif;
  line-height: 1.5;
  font-weight: 400;
  color: var(--aie-white);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  position: relative;
}

.dues-price-dollar {
  font-size: 18px;
  line-height: 1;
  position: relative;
  top: -6px;
  margin-right: 2px;
}

.dues-price-amount {
  font-size: 70px;
  line-height: 1;
}

.dues-card-valid {
  margin: 0 0 25px;
  font-family: var(--font-secondary), sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 400;
  color: var(--aie-white);
}

.dues-card-btn,
a.dues-card-btn {
  display: inline-block;
  width: 100%;
  padding: 15px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  background-color: var(--aie-light-brown);
  color: var(--aie-white);
  font-family: var(--font-secondary), sans-serif;
  font-size: 21px;
  line-height: 1;
  font-weight: 400;
  text-decoration: none;
  text-align: center;
  transition:
    background-color 0.3s ease,
    text-decoration 0.3s ease;
}

.dues-card-btn:hover,
a.dues-card-btn:hover {
  background-color: var(--aie-light-brown);
  color: var(--aie-white);
  text-decoration: underline;
}

.dues-payments-note {
  padding: 0 22px;
  font-family: var(--font-secondary), sans-serif;
  font-size: 23px;
  line-height: 1.5;
  color: var(--aie-white);
  text-align: center;
  margin-bottom: 0;
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================
   DUES SECTION RESPONSIVE STYLES
   ============================================ */

@media (max-width: 1600px) {
  .dues-container {
    max-width: 950px;
  }

  .dues-heading-main {
    font-size: 50px;
  }

  .dues-heading-sub {
    font-size: 26px;
  }

  .dues-price-amount {
    font-size: 65px;
  }
}

@media (max-width: 1440px) {
  .dues-container {
    max-width: 900px;
  }

  .dues-section {
    padding: 55px 0 40px;
  }

  .dues-heading-main {
    font-size: 48px;
    margin-bottom: 16px;
  }

  .dues-heading-sub {
    font-size: 25px;
  }

  .dues-grid {
    margin: 70px 0 55px;
    gap: 25px;
  }

  .dues-card-inner {
    padding: 28px 24px;
  }

  .dues-card-title {
    font-size: 19px;
  }

  .dues-price-amount {
    font-size: 62px;
  }

  .dues-price-dollar {
    font-size: 17px;
  }

  .dues-payments-note {
    font-size: 22px;
    max-width: 900px;
  }
}

@media (max-width: 1200px) {
  .dues-container {
    max-width: 850px;
  }

  .dues-section {
    padding: 50px 0 35px;
  }

  .dues-heading-main {
    font-size: 44px;
    margin-bottom: 14px;
  }

  .dues-heading-sub {
    font-size: 23px;
  }

  .dues-grid {
    margin: 65px 0 50px;
    gap: 22px;
  }

  .dues-card-inner {
    padding: 25px 22px;
  }

  .dues-card-title {
    font-size: 18px;
    margin-bottom: 18px;
  }

  .dues-card-price {
    margin-bottom: 18px;
  }

  .dues-price-amount {
    font-size: 58px;
  }

  .dues-price-dollar {
    font-size: 16px;
    top: -5px;
  }

  .dues-card-valid {
    font-size: 11px;
    margin-bottom: 22px;
  }

  .dues-card-btn {
    font-size: 20px;
    padding: 14px;
  }

  .dues-payments-note {
    font-size: 21px;
    max-width: 850px;
    padding: 0 20px;
  }
}

@media (max-width: 991px) {
  .dues-container {
    max-width: 100%;
    padding: 0 30px;
  }

  .dues-section {
    padding: 45px 0 30px;
  }

  .dues-heading-main {
    font-size: 40px;
    margin-bottom: 12px;
  }

  .dues-heading-sub {
    font-size: 21px;
  }

  .dues-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 60px 0 45px;
    gap: 25px;
  }

  .dues-card-inner {
    padding: 24px 20px;
  }

  .dues-card-title {
    font-size: 17px;
    margin-bottom: 16px;
  }

  .dues-card-price {
    margin-bottom: 16px;
  }

  .dues-price-amount {
    font-size: 54px;
  }

  .dues-price-dollar {
    font-size: 15px;
    top: -4px;
  }

  .dues-card-valid {
    font-size: 11px;
    margin-bottom: 20px;
  }

  .dues-card-btn {
    font-size: 19px;
    padding: 13px;
  }

  .dues-payments-note {
    font-size: 20px;
    max-width: 100%;
    padding: 0 15px;
  }
}

@media (max-width: 576px) {
  .dues-container {
    padding: 0 20px;
  }

  .dues-section {
    padding: 40px 0 25px;
  }

  .dues-heading-main {
    font-size: 32px;
    margin-bottom: 10px;
  }

  .dues-heading-sub {
    font-size: 18px;
  }

  .dues-grid {
    grid-template-columns: 1fr;
    margin: 50px 0 35px;
    gap: 20px;
  }

  .dues-card-inner {
    padding: 22px 18px;
  }

  .dues-card-title {
    font-size: 16px;
    margin-bottom: 14px;
  }

  .dues-card-price {
    margin-bottom: 14px;
  }

  .dues-price-amount {
    font-size: 48px;
  }

  .dues-price-dollar {
    font-size: 14px;
    top: -3px;
  }

  .dues-card-valid {
    font-size: 10px;
    margin-bottom: 18px;
  }

  .dues-card-btn {
    font-size: 18px;
    padding: 12px;
    width: auto;
    min-width: 150px;
    max-width: 80%;
  }

  .dues-payments-note {
    font-size: 18px;
    padding: 0 10px;
    line-height: 1.4;
  }
}

.ast-desktop .ast-primary-header-bar .main-header-menu {
  gap: 80px;
}

.ast-container,
.ast-container-fluid {
  padding-left: 80px;
  padding-right: 40px;
}

/* Handbook Section Styles */
.handbook-section {
  background-color: black;
  padding-top: 95px;
  padding-bottom: 50px;
}

.handbook-container {
  width: 100%;
  max-width: 890px;
  margin: 0 auto;
  padding: 0 20px;
}

.handbook-main-title {
  font-family: var(--font-impact), sans-serif;
  font-size: 78px;
  line-height: normal;
  text-align: center;
  color: white;
  margin: 0 20px 60px 0;
  padding: 0;
  font-weight: inherit;
  font-style: italic;
}

.handbook-description {
  font-family: var(--font-secondary), sans-serif;
  font-size: 33px;
  line-height: normal;
  text-align: center;
  color: white;
  margin: 0 0 75px 0;
  padding: 0;
  width: 100%;
  max-width: 824px;
}

.handbook-download-btn {
  display: inline-block;
  font-family:
    avenir-lt-w01_35-light1475496, avenir-lt-w05_35-light, sans-serif;
  font-size: 30px;
  color: white;
  background-color: var(--aie-reddish);
  border: 1px solid var(--aie-reddish);
  padding: 25px 0;
  text-decoration: none;
  text-align: center;
  margin-top: 40px;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
  border-radius: 4px;
  cursor: pointer;
  width: 100%;
  max-width: 565px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.handbook-download-btn:link,
.handbook-download-btn:visited,
.handbook-download-btn:active,
.handbook-download-btn:focus {
  color: var(--aie-white);
}

.handbook-download-btn:hover {
  background-color: black;
  border-color: var(--aie-reddish);
  color: var(--aie-reddish);
}

/* I adobe used the pdf embed sdk, this is the fallback  */
/* 
.handbook-pdf-wrapper {
  width: 635px;
  height: 550px;
  margin: 0 auto;
  background: var(--aie-white);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

#adobe-pdf-viewer {
  width: 100%;
  height: 100%;
  background: var(--aie-white);
  border-radius: 4px;
}

.handbook-pdf-wrapper:hover {
  box-shadow: 0 4px 16px rgba(255, 255, 255, 0.15);
} */
.handbook-pdf-wrapper {
  width: 635px;
  height: 550px;
  margin: 0 auto;
  background: var(--aie-white);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

.handbook-pdf-wrapper:hover {
  box-shadow: 0 4px 16px rgba(255, 255, 255, 0.15);
}

.handbook-pdf-embed {
  width: 100%;
  height: 100%;
  border: none;
  background: white;
}

/* Handbook responsive adjustments */
@media (max-width: 1600px) {
  .handbook-section {
    padding-top: 90px;
  }
}

@media (max-width: 1440px) {
  .handbook-main-title {
    font-size: 70px;
    margin: 0 0 55px 0;
  }

  .handbook-description {
    font-size: 30px;
    max-width: 780px;
  }
}

@media (max-width: 1200px) {
  .handbook-section {
    padding-top: 80px;
  }

  .handbook-main-title {
    font-size: 60px;
  }

  .handbook-description {
    font-size: 28px;
  }

  .handbook-pdf-wrapper {
    width: 560px;
    height: 520px;
  }
  .handbook-download-btn {
    max-width: 500px;
  }
}

@media (max-width: 991px) {
  .handbook-section {
    padding-top: 70px;
    padding-bottom: 45px;
  }

  .handbook-main-title {
    font-size: 50px;
    margin: 0 0 45px 0;
  }

  .handbook-description {
    font-size: 24px;
    margin-bottom: 55px;
  }

  .handbook-pdf-wrapper {
    width: 100%;
    height: 480px;
  }

  .handbook-download-btn {
    font-size: 26px;
    width: 100%;
    max-width: 450px;
  }
}

@media (max-width: 767px) {
  .handbook-section {
    padding-top: 60px;
    padding-bottom: 40px;
  }

  .handbook-main-title {
    font-size: 40px;
    margin: 0 0 35px 0;
  }

  .handbook-description {
    font-size: 20px;
    margin-bottom: 40px;
  }

  .handbook-pdf-wrapper {
    width: 100%;
    height: 400px;
  }

  .handbook-download-btn {
    font-size: 22px;
    padding: 18px 10px;
    max-width: 370px;
  }
}

/* ============================================
   SCHEDULES PAGE
   ============================================ */

/* On schedules page keep menu borders, but remove only the 3px white header border */
body.aie-schedule-page .site-header,
body.aie-schedule-page .ast-header-wrap,
body.aie-schedule-page .site-header-wrap,
body.aie-schedule-page #masthead,
body.aie-schedule-page header#masthead {
  border-bottom: 0;
}
.site-header,
#masthead {
  position: relative;
  z-index: 10;
}
/* Schedules page: smaller header height */
body.aie-schedule-page .site-header,
body.aie-schedule-page .ast-header-wrap,
body.aie-schedule-page .site-header-wrap,
body.aie-schedule-page #masthead,
body.aie-schedule-page header#masthead,
body.aie-schedule-page #masthead .site-header,
body.aie-schedule-page #masthead .ast-header-wrap {
  min-height: 320px !important; /* or whatever height you want */
}

@media (max-width: 991px) {
  body.aie-schedule-page .site-header,
  body.aie-schedule-page .ast-header-wrap,
  body.aie-schedule-page .site-header-wrap,
  body.aie-schedule-page #masthead,
  body.aie-schedule-page header#masthead,
  body.aie-schedule-page #masthead .site-header,
  body.aie-schedule-page #masthead .ast-header-wrap {
    min-height: 0 !important;
  }
}

/* ===== Hero section with zooming background image and SVG edges ===== */
.schedule-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.schedule-hero::before,
.schedule-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 50px;
  background-repeat: repeat-x;
  background-position: center;
  background-size: contain;
  z-index: 3;
  pointer-events: none;
}

.schedule-hero::before {
  top: 0px; /* move up toward header as needed */
  background-image: url("assets/img/schedule-top.svg");
  transform: scaleY(-1); /* flip vertically - top SVG now points down */
}

.schedule-hero::after {
  bottom: -10px;
  background-image: url("assets/img/schedules-bottom.svg");
  transform: scaleY(1); /* flip vertically - bottom SVG now points up */
}

.schedule-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center center;
  transform-origin: center center;
  transform: scale(1.2);
  will-change: transform;
  z-index: 1;
}

.schedule-hero-inner {
  position: relative;
  z-index: 4;
  min-height: 650px; /* increased height to show more image */
  padding: 180px 20px 100px; /* optional: a bit more vertical padding */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}

.schedule-hero-content {
  max-width: 840px;
  margin: 0 auto;
  text-align: center;
}

.schedule-hero-title {
  margin: 0 0 35px 0px;
  color: var(--aie-white);
  font-weight: bold;
  font-family: "lulo-clean-w01-one-bold", sans-serif;
  font-size: 50px;
  text-shadow: rgba(0, 0, 0, 0.4) 0px 4px 5px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0em;
  list-style: 0;
  font-style: italic;
}

.schedule-hero-subtitle {
  font-size: 25px;
  text-align: center;
  font-style: italic;
  font-weight: bold;
  font-family: "din-next-w01-light", sans-serif;
  line-height: 1.4;
  color: var(--aie-white);
}

.schedule-hero-subtitle p {
  margin: 0 0 8px;
  padding: 0;
  background-color: #000;
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.schedule-hero-subtitle p:last-child {
  margin-bottom: 0;
}

/* ===== Events section ===== */
.schedule-events {
  background-color: #000;
  padding: 90px 20px 50px;
}

.cscedules-container {
  max-width: 1020px;
  margin: 0 auto;
}

.schedule-events-title {
  margin: 0 0 75px;
  font-family: "lulo-clean-w01-one-bold", sans-serif;
  font-size: 34px;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.4;
}

.schedule-grid {
  /* Masonry JS handles the layout; this just centers the grid */
  margin: 0 auto;
}

.schedule-card {
  position: relative;
  background-color: #e5e5e5;
  width: 308px;
  max-width: 308px;
  margin: 0 0 30px;
  overflow: hidden;
  display: block;
}

.schedule-card-image-wrapper {
  flex: 1 1 auto;
  overflow: hidden;
  height: 535px;
}

.schedule-card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Repeating logo-style images to fill fixed height cards */
.schedule-card-image-wrapper--repeat {
  background-repeat: repeat-y;
  background-position: center top;
  background-size: contain;
}

.schedule-card-image-wrapper--repeat img {
  opacity: 0;
}

.schedule-card-overlay {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 75%;
  background-color: #000000;
  color: #ffffff;
  padding: 18px 20px 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 180px;
}

.schedule-card-title {
  margin: 0 0 20px;
  font-family:
    "helvetica-w01-bold", "helvetica-w02-bold", "helvetica-lt-w10-bold",
    sans-serif;
  font-size: 22px;
  line-height: 1.3;
  color: #ffffff;
}

.schedule-card-location {
  margin: 0 0 20px;
  font-family: "helvetica-w01-light", "helvetica-w02-light", sans-serif;
  line-height: 1.5em;
  font-size: 15px;
}

.schedule-card-location span {
  display: block;
}

.schedule-card-date {
  margin: 0;
  font-family:
    "helvetica-w01-bold", "helvetica-w02-bold", "helvetica-lt-w10-bold",
    sans-serif;
  font-size: 27px;
}

/* ===== Responsive tweaks for schedules hero & grid ===== */

@media (max-width: 1600px) {
  .schedule-hero-inner {
    min-height: 620px;
    padding: 160px 40px 90px;
  }

  .schedule-hero-title {
    font-size: 46px;
  }
}

@media (max-width: 1440px) {
  .schedule-hero-inner {
    min-height: 580px;
    padding: 150px 40px 80px;
  }

  .schedule-hero-title {
    font-size: 42px;
  }

  .schedule-hero-subtitle {
    font-size: 22px;
  }
}

@media (max-width: 1200px) {
  .schedule-hero-inner {
    min-height: 520px;
    padding: 130px 32px 70px;
  }

  .schedule-hero-title {
    font-size: 38px;
  }

  .schedule-hero-subtitle {
    font-size: 20px;
  }
}

@media (max-width: 991px) {
  /* Schedules page: smaller header height */

  .schedule-hero-inner {
    min-height: 460px;
    padding: 110px 24px 60px;
  }

  .schedule-hero-title {
    font-size: 32px;
  }

  .schedule-hero-subtitle {
    font-size: 18px;
  }

  .schedule-card {
    width: 48%;
    max-width: 48%;
  }

  .schedule-card-image-wrapper {
    height: 440px;
  }
}

@media (max-width: 767px) {
  .schedule-hero-inner {
    min-height: 420px;
    padding: 90px 18px 50px;
  }

  .schedule-hero-title {
    font-size: 26px;
  }

  .schedule-hero-subtitle {
    font-size: 16px;
  }

  .schedule-card {
    width: 100%;
    max-width: 100%;
  }

  .schedule-card-image-wrapper {
    height: 420px;
  }
}
