/* Site Header & Navigation */
#masthead.site-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background: #ffffff;
  z-index: 9999;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

#masthead .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  padding-bottom: 10px;
}

.site-branding {
  display: flex;
  align-items: center;
}

.logo-table {
  margin: 0;
  padding: 0;
  border: none;
  border-collapse: collapse;
}

.logo-table td {
  padding: 0 !important;
  vertical-align: middle;
  border: none;
}

.site-brand-inner .site-title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.site-brand-inner .site-title a {
  color: #111111;
  text-decoration: none;
}

.site-brand-inner .site-description {
  margin: 0;
  font-size: 12px;
  color: #777777;
  letter-spacing: 0.5px;
}

.header-right-wrapper {
  display: flex;
  align-items: center;
}

/* Nav Menu */
.onepress-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.onepress-menu > li {
  position: relative;
  margin: 0 10px;
}

.onepress-menu > li > a,
.menu-link-wrapper > a {
  display: block;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
  color: #333333;
  text-transform: capitalize;
  letter-spacing: 0.3px;
  transition: color 0.2s ease;
  text-decoration: none;
}

.onepress-menu > li:hover > a,
.onepress-menu > li:hover > .menu-link-wrapper > a,
.onepress-menu > li.current-menu-item > a,
.onepress-menu > li.current-menu-item > .menu-link-wrapper > a {
  color: #03c4eb;
}

/* Desktop sub-arrow */
.menu-link-wrapper {
  display: inline-flex;
  align-items: center;
}

.menu-link-wrapper .sub-arrow {
  display: none;
}

/* Dropdowns */
.onepress-menu li ul.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
  border-top: 3px solid #03c4eb;
  list-style: none;
  padding: 8px 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.25s ease;
  z-index: 1000;
  border-radius: 0 0 6px 6px;
}

.onepress-menu li:hover > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.onepress-menu li ul.sub-menu li {
  position: relative;
  margin: 0;
  padding: 0;
}

.onepress-menu li ul.sub-menu li a {
  display: block;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 500;
  color: #444444;
  line-height: 1.4;
  transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}

.onepress-menu li ul.sub-menu li:hover > a {
  background: #f4faff;
  color: #03c4eb;
  padding-left: 24px;
}

/* Third level dropdown */
.onepress-menu li ul.sub-menu li ul.sub-menu {
  top: 0;
  left: 100%;
  border-top: 2px solid #03c4eb;
}

/* Menu Item 1560: Apply to Teach Button */
#menu-item-1560 a {
  background: #ff6666 !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  padding: 8px 22px !important;
  font-weight: 700 !important;
  line-height: 20px !important;
  display: inline-block !important;
  box-shadow: 0 4px 12px rgba(255, 102, 102, 0.35);
  transform: none !important;
  transition: all 0.25s ease !important;
}

#menu-item-1560 a:hover {
  background: #ff4d4d !important;
  box-shadow: 0 6px 16px rgba(255, 102, 102, 0.45);
}

/* =========================================================
   Mobile Navigation & Responsive Header (Zero-Build Standard)
   ========================================================= */

/* Mobile Nav Toggle (Default Hidden on Desktop) */
#nav-toggle {
  display: none;
}

@media (max-width: 1139px) {
  /* Header Container */
  #masthead {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    background: #ffffff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
  }

  #masthead > .container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 64px !important;
    height: auto !important;
    padding: 8px 16px !important;
    position: static !important; /* Static allows site-navigation to anchor directly to #masthead across 100% screen width */
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  #masthead .site-branding {
    display: flex !important;
    align-items: center !important;
    position: static !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 !important;
    min-width: 0 !important;
  }

  #masthead .header-right-wrapper {
    display: flex !important;
    align-items: center !important;
    position: static !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    flex-shrink: 0 !important;
  }

  .logo-table {
    display: table !important;
    margin: 0 !important;
    border: none !important;
  }

  .logo-table img {
    max-height: 44px !important;
    width: auto !important;
    margin-right: 12px !important;
    display: block !important;
  }

  .site-title {
    font-size: 20px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    font-weight: 800 !important;
  }

  .site-title a {
    color: #1e293b !important;
    text-decoration: none !important;
  }

  .site-description {
    font-size: 11px !important;
    color: #64748b !important;
    margin: 2px 0 0 0 !important;
    line-height: 1.1 !important;
  }

  /* Hamburger Toggle Button - Clean & Centered */
  #nav-toggle {
    display: block !important;
    position: relative !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid #dcdfe6 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    float: none !important;
    overflow: hidden !important;
    font-size: 0 !important; /* Hide any text cleanly */
    color: transparent !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
    transition: all 0.2s ease !important;
    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
  }

  #nav-toggle:hover,
  #nav-toggle:focus {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
  }

  /* 3 Animated Hamburger Bars: Perfectly Centered in 44x44 Box */
  #nav-toggle span {
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: 20px !important;
    height: 2px !important;
    margin-top: -1px !important;
    margin-left: -10px !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    background: #1e293b !important;
    border-radius: 2px !important;
    transform: none !important;
    -webkit-transform: none !important;
    transition: background-color 0.2s ease !important;
  }

  #nav-toggle span::before,
  #nav-toggle span::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 20px !important;
    height: 2px !important;
    background: #1e293b !important;
    border-radius: 2px !important;
    margin: 0 !important;
    transform-origin: 50% 50% !important;
    -webkit-transform-origin: 50% 50% !important;
    transition: transform 0.25s ease, top 0.25s ease, background-color 0.2s ease !important;
    -webkit-transition: -webkit-transform 0.25s ease, top 0.25s ease, background-color 0.2s ease !important;
  }

  #nav-toggle span::before {
    top: -6px !important;
    transform: none !important;
    -webkit-transform: none !important;
  }

  #nav-toggle span::after {
    top: 6px !important;
    transform: none !important;
    -webkit-transform: none !important;
  }

  /* Animated Hamburger to X (Clean, Centered, Symmetrical) */
  #nav-toggle.is-active span,
  #nav-toggle.nav-is-visible span {
    background: transparent !important;
    background-color: transparent !important;
  }

  #nav-toggle.is-active span::before,
  #nav-toggle.nav-is-visible span::before {
    top: 0 !important;
    transform: rotate(45deg) !important;
    -webkit-transform: rotate(45deg) !important;
    background: #f05d67 !important;
    background-color: #f05d67 !important;
  }

  #nav-toggle.is-active span::after,
  #nav-toggle.nav-is-visible span::after {
    top: 0 !important;
    transform: rotate(-45deg) !important;
    -webkit-transform: rotate(-45deg) !important;
    background: #f05d67 !important;
    background-color: #f05d67 !important;
  }

  /* Mobile Dropdown Navigation Drawer */
  #site-navigation.main-navigation {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12) !important;
    border-top: 1px solid #f1f5f9 !important;
    border-bottom: 2px solid #e2e8f0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    pointer-events: none !important;
    transition: max-height 0.35s ease, opacity 0.25s ease, visibility 0.35s ease !important;
    z-index: 999999 !important;
    float: none !important;
  }

  #site-navigation.main-navigation.toggled {
    max-height: calc(100vh - 65px) !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Reset onepress.css zero-height and absolute positioning bugs */
  #site-navigation .onepress-menu,
  #site-navigation .onepress-menu.onepress-menu-mobile,
  .main-navigation .onepress-menu,
  .main-navigation .onepress-menu.onepress-menu-mobile,
  .onepress-menu.onepress-menu-mobile,
  .onepress-menu {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 8px 0 20px !important;
    list-style: none !important;
    float: none !important;
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
  }

  .onepress-menu > li {
    display: block !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background: #ffffff !important;
    position: relative !important;
  }

  .onepress-menu > li > a,
  .onepress-menu .menu-link-wrapper > a {
    display: block !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    text-decoration: none !important;
    flex: 1 !important;
    line-height: 1.4 !important;
    transition: color 0.15s ease, background 0.15s ease !important;
  }

  .onepress-menu > li > a:hover,
  .onepress-menu .menu-link-wrapper > a:hover,
  .onepress-menu > li.current-menu-item > a,
  .onepress-menu > li.current-menu-item .menu-link-wrapper > a {
    color: #0ea5e9 !important;
    background: #f8fafc !important;
  }

  .menu-link-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  /* Sub-menu Toggle Arrows */
  .sub-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    cursor: pointer !important;
    color: #64748b !important;
    font-size: 16px !important;
    transition: transform 0.25s ease, color 0.25s ease !important;
    user-select: none !important;
    flex-shrink: 0 !important;
  }

  .sub-arrow i {
    pointer-events: none !important;
  }

  .onepress-menu li.mobile-open > .menu-link-wrapper .sub-arrow {
    transform: rotate(180deg) !important;
    color: #0ea5e9 !important;
  }

  /* Level 1 Sub-menu */
  .onepress-menu li ul.sub-menu {
    position: static !important;
    display: none !important;
    width: 100% !important;
    background: #f8fafc !important;
    box-shadow: none !important;
    border: none !important;
    border-top: 1px solid #edf2f7 !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    float: none !important;
    list-style: none !important;
  }

  .onepress-menu li.mobile-open > ul.sub-menu {
    display: block !important;
  }

  .onepress-menu li ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    border-bottom: 1px solid #edf2f7 !important;
    background: transparent !important;
    position: relative !important;
  }

  .onepress-menu li ul.sub-menu > li:last-child {
    border-bottom: none !important;
  }

  .onepress-menu li ul.sub-menu > li > a,
  .onepress-menu li ul.sub-menu > li .menu-link-wrapper > a {
    display: block !important;
    padding: 12px 20px 12px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #334155 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-decoration: none !important;
    flex: 1 !important;
    line-height: 1.4 !important;
  }

  .onepress-menu li ul.sub-menu > li > a:hover,
  .onepress-menu li ul.sub-menu > li .menu-link-wrapper > a:hover {
    color: #0ea5e9 !important;
    background: #f1f5f9 !important;
  }

  /* Level 2 Sub-categories (Inside Classes) */
  .sub-category-wrapper {
    background: #edf2f7 !important;
    border-left: 3px solid #0ea5e9 !important;
  }

  .sub-arrow-lvl2 {
    width: 44px !important;
    height: 44px !important;
    font-size: 14px !important;
    color: #64748b !important;
  }

  .onepress-menu li ul.sub-menu li.mobile-open > .sub-category-wrapper .sub-arrow-lvl2 {
    transform: rotate(180deg) !important;
    color: #0ea5e9 !important;
  }

  /* Level 3 Course Items */
  .onepress-menu li ul.sub-menu li ul.sub-menu {
    background: #ffffff !important;
    padding: 4px 0 !important;
    border-top: 1px dashed #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
  }

  .onepress-menu li ul.sub-menu li ul.sub-menu > li > a {
    padding: 10px 20px 10px 42px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    border-bottom: 1px dashed #f1f5f9 !important;
  }

  .onepress-menu li ul.sub-menu li ul.sub-menu > li:last-child > a {
    border-bottom: none !important;
  }

  .onepress-menu li ul.sub-menu li ul.sub-menu > li > a:hover {
    color: #0ea5e9 !important;
    background: #f8fafc !important;
  }

  /* CTA Button (Apply to Teach) */
  #menu-item-1560 {
    padding: 16px 20px !important;
    border-bottom: none !important;
    text-align: center !important;
    position: static !important;
    float: none !important;
  }

  #menu-item-1560 a {
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    text-align: center !important;
    background: #ff5252 !important;
    color: #ffffff !important;
    line-height: 44px !important;
    height: 44px !important;
    border-radius: 50px !important;
    transform: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    box-shadow: 0 4px 14px rgba(255, 82, 82, 0.35) !important;
    transition: all 0.2s ease !important;
    padding: 0 20px !important;
  }

  #menu-item-1560 a:hover {
    background: #ef4444 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(255, 82, 82, 0.45) !important;
  }
}

/* Small Screens (< 480px) */
@media (max-width: 480px) {
  .logo-table img {
    max-height: 38px !important;
    margin-right: 8px !important;
  }
  .site-title {
    font-size: 18px !important;
  }
  .site-description {
    display: none !important;
  }
}

/* Site Footer */
.site-footer {
  background: #191c22;
  color: #a0a6b1;
  font-size: 14px;
}

.footer-widgets {
  padding: 60px 0 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-column {
  margin-bottom: 25px;
}

.footer-widget strong a {
  color: #ffffff !important;
  font-size: 15px;
  letter-spacing: 0.8px;
  font-weight: 700;
  text-transform: uppercase;
}

.footer-widget strong a:hover {
  color: #03c4eb !important;
}

.site-info {
  padding: 25px 0;
  text-align: center;
  font-size: 13px;
  color: #7b8291;
  position: relative;
}

.site-info .btt {
  margin-bottom: 12px;
}

.back-to-top {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-radius: 50%;
  transition: all 0.3s ease;
  font-size: 16px;
}

.back-to-top:hover {
  background: #03c4eb;
  color: #ffffff;
  transform: translateY(-3px);
}

/* Desktop dropdowns fit the longest label in each menu. */
@media (min-width: 1140px) {
  #masthead #site-navigation > .onepress-menu > li > ul.sub-menu {
    width: max-content !important;
    min-width: 0 !important;
    max-width: calc(100vw - 40px) !important;
  }
  #masthead #site-navigation > .onepress-menu > li > ul.sub-menu > li {
    width: 100% !important;
    float: none !important;
  }
  #masthead #site-navigation > .onepress-menu > li > ul.sub-menu > li > a {
    padding: 10px 22px !important;
    white-space: nowrap !important;
  }
}

/* Shared three-column footer. */
#colophon.aigo-footer{background:#f7f6f1!important;color:#5b6861!important;border-top:1px solid #e5e8e1;font-size:15px}
#colophon.aigo-footer .footer-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px;padding:52px 0 40px;max-width:1040px;margin:0 auto}
#colophon.aigo-footer .footer-link-group{padding:0;margin:0;background:none;border:0;text-align:left}
#colophon.aigo-footer .footer-link-group h2{font-size:19px;line-height:1.4;font-weight:700;color:#193f32;margin:0 0 20px;letter-spacing:0;text-transform:none}
#colophon.aigo-footer ul{list-style:none;margin:0;padding:0}
#colophon.aigo-footer li{margin:0 0 12px;padding:0;border:0;line-height:1.6}
#colophon.aigo-footer a{color:#52665b!important;text-decoration:none!important;transition:color .18s ease}
#colophon.aigo-footer .footer-link-group a{display:inline-block;border-bottom:1px solid transparent}
#colophon.aigo-footer a:hover{color:#167c5a!important;text-decoration:underline!important;text-underline-offset:4px}
#colophon.aigo-footer a:focus-visible{outline:2px solid #167c5a;outline-offset:4px}
#colophon.aigo-footer .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dde2d9;padding:22px 0;font-size:12px;color:#69786f}
#colophon.aigo-footer .footer-top{white-space:nowrap;font-size:13px}
@media(max-width:767px){#colophon.aigo-footer .footer-link-grid{gap:28px;padding:36px 8px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}#colophon.aigo-footer .footer-link-group h2{font-size:18px;margin-bottom:14px}#colophon.aigo-footer .footer-bottom{align-items:flex-start;flex-direction:column;padding:20px 8px;gap:12px}}

/* Brand introduction alongside the three footer link groups. */
#colophon.aigo-footer .footer-main{display:grid;grid-template-columns:1.4fr 2.6fr;gap:72px;padding:54px 0 38px;align-items:start}
#colophon.aigo-footer .footer-brand{text-align:left;padding-top:0}
#colophon.aigo-footer a.footer-brand-name{display:inline-flex;font-size:29px;font-weight:800;letter-spacing:-1.3px;line-height:1.25;margin:0 0 22px;text-decoration:none!important}
#colophon.aigo-footer .footer-brand-name span:first-child{color:#68776e}
#colophon.aigo-footer .footer-brand-name span:last-child{color:#23694e}
#colophon.aigo-footer .footer-brand p{font-size:15px;color:#64736a;line-height:1.8;margin:0;max-width:370px}
#colophon.aigo-footer .footer-link-grid{padding:0;gap:44px;margin:0;max-width:none}
@media(max-width:991px){#colophon.aigo-footer .footer-main{grid-template-columns:1fr;gap:32px;padding:40px 8px 28px}#colophon.aigo-footer .footer-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}#colophon.aigo-footer .footer-brand p{max-width:none}}
@media(max-width:480px){#colophon.aigo-footer .footer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}#colophon.aigo-footer a.footer-brand-name{font-size:27px;margin-bottom:16px}}

/* Black footer with readable navigation and brand text. */
#colophon.aigo-footer{background:#000!important;color:#c5cac8!important;border-top-color:#202522}
#colophon.aigo-footer .footer-link-group h2{color:#fff}
#colophon.aigo-footer a{color:#c5cac8!important}
#colophon.aigo-footer .footer-brand-name span:first-child{color:#fff}
#colophon.aigo-footer .footer-brand-name span:last-child{color:#73c7a2}
#colophon.aigo-footer .footer-brand p{color:#b7c0bb}
#colophon.aigo-footer .footer-bottom{border-top-color:#2a302d;color:#a2ada6}
#colophon.aigo-footer a:hover{color:#73c7a2!important}
#colophon.aigo-footer a:focus-visible{outline-color:#73c7a2}
