/* =========================================================
   GET IN LINE HOMEPAGE
   Full-width breakout + brighter original-style blues
   ========================================================= */

/* Stop theme/page containers squeezing this content */
.page .entry-content,
.page .site-main,
.page .content-area,
.page .post-content,
.single-page .entry-content {
  overflow-x: visible;
}

.gil-home {
  --gil-blue-1: #49a8ff;
  --gil-blue-2: #2a7fd1;
  --gil-blue-3: #174f8c;
  --gil-blue-4: #0d2f57;
  --gil-blue-5: #071e38;
  --gil-ice: #dff2ff;
  --gil-text: #ffffff;
  --gil-muted: #d7ebff;
  --gil-dark-text: #184a7a;
  --gil-dark-muted: #4a7095;
  --gil-shadow: 0 18px 50px rgba(8, 35, 64, 0.16);
  color: var(--gil-text);
  width: 100%;
  max-width: none !important;
}

.gil-home * {
  box-sizing: border-box;
}

/* TRUE breakout */
.gil-fullbleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.gil-wrap {
  width: min(1500px, calc(100vw - 48px));
  margin: 0 auto;
}

/* HERO */
.gil-hero {
  margin-top: 28px;
  margin-bottom: 28px;
}

.gil-hero .gil-wrap {
  background:
    radial-gradient(circle at 12% 18%, rgba(146,219,255,0.40), transparent 20%),
    radial-gradient(circle at 88% 18%, rgba(70,163,255,0.34), transparent 22%),
    radial-gradient(circle at 50% 100%, rgba(109,209,255,0.16), transparent 28%),
    linear-gradient(135deg, #2468a8 0%, #0e3764 35%, #051b34 70%, #1b5d9d 100%);
  border-radius: 34px;
  padding: 88px 64px 82px;
  box-shadow: 0 24px 60px rgba(8, 28, 52, 0.20);
}

.gil-kicker {
  margin: 0 0 16px;
  color: #b7e4ff;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.gil-hero h1 {
  margin: 0;
  font-size: clamp(60px, 8vw, 96px);
  line-height: 0.94;
  letter-spacing: -0.04em;
  color: #fff;
}

.gil-lead {
  max-width: 980px;
  margin: 22px 0 0;
  font-size: clamp(22px, 2.2vw, 32px);
  line-height: 1.55;
  color: var(--gil-muted);
}

.gil-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.gil-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 14px 24px;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 17px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.gil-btn:hover {
  transform: translateY(-1px);
}

.gil-btn-primary {
  background: #fff;
  color: #10375f;
  box-shadow: 0 10px 24px rgba(255,255,255,0.18);
}

.gil-btn-secondary {
  background: rgba(116, 193, 255, 0.22);
  color: #fff;
  border: 1px solid rgba(183, 228, 255, 0.52);
}

.gil-btn-ghost {
  background: rgba(255,255,255,0.07);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.22);
}

/* SECTION HEADINGS */
.gil-section-head {
  margin-bottom: 18px;
}

.gil-section-head h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.15;
  color: #1f5a8f;
}

.gil-section-head p {
  margin: 8px 0 0;
  color: #557ca3;
  font-size: 17px;
}

.gil-section-head-space {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.gil-text-link {
  color: #67b5ff;
  font-weight: 700;
  text-decoration: none !important;
}

/* GRIDS */
.gil-grid {
  display: grid;
  gap: 22px;
}

.gil-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gil-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* QUICK ACCESS */
.gil-quick-access {
  margin-bottom: 28px;
}

.gil-mini-card {
  display: block;
  padding: 26px 24px;
  text-decoration: none !important;
  background: linear-gradient(180deg, #57aeff 0%, #2d7cca 100%);
  color: #fff;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: var(--gil-shadow);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.gil-mini-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(17, 70, 116, 0.18);
  border-color: rgba(255,255,255,0.28);
}

.gil-mini-card h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.18;
  color: #fff;
}

.gil-mini-card p {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: #eaf6ff;
}

/* FEATURE LINKS */
.gil-feature-links {
  margin-bottom: 30px;
}

.gil-feature-card {
  display: block;
  min-height: 270px;
  padding: 30px 28px;
  text-decoration: none !important;
  background: linear-gradient(180deg, #2f7ec8 0%, #164a79 100%);
  color: #fff;
  border-radius: 26px;
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: var(--gil-shadow);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.gil-feature-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 36px rgba(10, 48, 80, 0.20);
  border-color: rgba(255,255,255,0.26);
}

.gil-feature-top {
  display: inline-block;
  margin-bottom: 16px;
  color: #cbeaff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.gil-feature-card h3 {
  margin: 0 0 34px;
  color: #fff;
  font-size: 31px;
  line-height: 1.22;
}

.gil-feature-card span {
  color: #dff2ff;
  font-weight: 700;
}

/* LATEST INTRO */
.gil-latest-intro {
  margin-bottom: 28px;
}

/* ABOUT */
.gil-about {
  margin-bottom: 20px;
}

.gil-about-card {
  padding: 34px 34px;
  background: linear-gradient(180deg, #d6eeff 0%, #c1e4ff 100%);
  border-radius: 26px;
  border: 1px solid rgba(42, 104, 161, 0.12);
  box-shadow: 0 14px 30px rgba(20, 74, 118, 0.10);
}

.gil-about-card h2 {
  margin: 0 0 16px;
  color: #1f5a8f;
  font-size: 32px;
  line-height: 1.15;
}

.gil-about-card p {
  margin: 0 0 12px;
  color: #476f95;
  font-size: 18px;
  line-height: 1.75;
}

.gil-about-card p:last-child {
  margin-bottom: 0;
}

/* LIVE FRONT-END QUERY LOOP STYLING */
.wp-block-query.gil-posts-query {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 34px;
}

.wp-block-query.gil-posts-query .wp-block-post-template {
  width: min(1500px, calc(100vw - 48px));
  margin: 0 auto;
  display: grid;
  gap: 22px;
}

.wp-block-query.gil-posts-query .wp-block-post {
  background: linear-gradient(180deg, #f4fbff 0%, #e6f4ff 100%);
  border: 1px solid rgba(31, 90, 143, 0.10);
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 10px 24px rgba(18, 73, 117, 0.08);
  margin: 0;
}

.wp-block-query.gil-posts-query .wp-block-post-featured-image {
  margin-bottom: 16px;
}

.wp-block-query.gil-posts-query .wp-block-post-featured-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  display: block;
}

.wp-block-query.gil-posts-query .wp-block-post-title {
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.15;
}

.wp-block-query.gil-posts-query .wp-block-post-title a {
  color: #1f5a8f;
  text-decoration: none;
}

.wp-block-query.gil-posts-query .wp-block-post-date {
  color: #6b8aac;
  margin-bottom: 12px;
  display: block;
}

.wp-block-query.gil-posts-query .wp-block-post-excerpt {
  color: #4f7297;
  font-size: 17px;
  line-height: 1.7;
}

.wp-block-query.gil-posts-query .wp-block-post-excerpt__more-link {
  color: #3a93e9;
  font-weight: 700;
  text-decoration: none;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .gil-wrap,
  .wp-block-query.gil-posts-query .wp-block-post-template {
    width: min(100vw - 28px, 1500px);
  }

  .gil-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gil-grid-3 {
    grid-template-columns: 1fr;
  }

  .gil-feature-card {
    min-height: auto;
  }
}

@media (max-width: 768px) {
  .gil-hero .gil-wrap {
    padding: 54px 24px 48px;
    border-radius: 24px;
  }

  .gil-hero h1 {
    font-size: clamp(42px, 13vw, 64px);
  }

  .gil-lead {
    font-size: 20px;
  }

  .gil-section-head h2 {
    font-size: 24px;
  }

  .gil-feature-card h3 {
    font-size: 24px;
  }

  .gil-about-card h2 {
    font-size: 26px;
  }

  .wp-block-query.gil-posts-query .wp-block-post-title {
    font-size: 28px;
  }
}

@media (max-width: 640px) {
  .gil-wrap,
  .wp-block-query.gil-posts-query .wp-block-post-template {
    width: calc(100vw - 20px);
  }

  .gil-grid-4 {
    grid-template-columns: 1fr;
  }

  .gil-section-head-space {
    display: block;
  }

  .gil-section-head-space .gil-text-link {
    display: inline-block;
    margin-top: 12px;
  }

  .gil-mini-card,
  .gil-feature-card,
  .gil-about-card {
    border-radius: 18px;
  }

  .gil-btn {
    width: 100%;
  }
}
/* Blog post cards layout */

.wp-block-query.gil-posts-query .wp-block-post-template{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.wp-block-query.gil-posts-query .wp-block-post{
  background:#f3f9ff;
  border-radius:20px;
  overflow:hidden;
  padding:20px;
  box-shadow:0 10px 25px rgba(0,0,0,0.06);
}

.wp-block-query.gil-posts-query .wp-block-post-title{
  font-size:24px;
  line-height:1.2;
}

.wp-block-query.gil-posts-query .wp-block-post-featured-image img{
  border-radius:14px;
}
/* Pagination styling */

.wp-block-query-pagination {
  text-align: center;
  margin-top: 30px;
}

.wp-block-query-pagination a,
.wp-block-query-pagination span {
  display: inline-block;
  padding: 8px 14px;
  margin: 0 4px;
  border-radius: 8px;
  text-decoration: none;
  background: #e6f3ff;
  color: #1f5a8f;
  font-weight: 600;
}

.wp-block-query-pagination span.current {
  background: #2f7ec8;
  color: #fff;
}
.page .entry-content,
.page .site-main,
.page .content-area,
.page .content-inner,
.page .main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page .entry-content > *:first-child,
.page .site-main > *:first-child,
.page .content-area > *:first-child {
  margin-top: 0 !important;
}
/* Blog archive polish */
.blog .site-main,
.archive .site-main {
  padding-top: 20px;
}

.blog .posts-layout,
.archive .posts-layout,
.blog .content-grid,
.archive .content-grid,
.blog .content-inner,
.archive .content-inner {
  gap: 28px;
}

.blog article.post,
.archive article.post,
.blog .type-post,
.archive .type-post {
  background: linear-gradient(180deg, #f7fbff 0%, #eef6ff 100%);
  border: 1px solid rgba(31, 90, 143, 0.10);
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 10px 24px rgba(18, 73, 117, 0.08);
  overflow: hidden;
}

.blog article.post .entry-thumbnail,
.archive article.post .entry-thumbnail,
.blog article.post .post-thumbnail,
.archive article.post .post-thumbnail {
  margin: -22px -22px 18px;
}

.blog article.post img,
.archive article.post img {
  display: block;
  width: 100%;
  height: auto;
}

.blog article.post .entry-title,
.archive article.post .entry-title {
  margin-bottom: 10px;
}

.blog article.post .entry-title a,
.archive article.post .entry-title a {
  color: #1f5a8f;
  text-decoration: none;
}

.blog article.post .entry-meta,
.archive article.post .entry-meta {
  color: #6b8aac;
  margin-bottom: 14px;
}

.blog article.post .entry-excerpt,
.archive article.post .entry-excerpt,
.blog article.post .entry-content,
.archive article.post .entry-content {
  color: #4f7297;
  line-height: 1.75;
}

.blog article.post .readmore,
.archive article.post .readmore,
.blog article.post .more-link,
.archive article.post .more-link {
  display: inline-block;
  margin-top: 12px;
  padding: 9px 16px;
  background: #1f4f8a;
  color: #fff !important;
  border-radius: 20px;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(31, 79, 138, 0.18);
}

.blog .navigation.pagination,
.archive .navigation.pagination {
  margin-top: 28px;
  text-align: center;
}

.blog .navigation.pagination .page-numbers,
.archive .navigation.pagination .page-numbers {
  display: inline-block;
  margin: 0 4px;
  padding: 8px 14px;
  border-radius: 10px;
  background: #e6f3ff;
  color: #1f5a8f;
  text-decoration: none;
}

.blog .navigation.pagination .page-numbers.current,
.archive .navigation.pagination .page-numbers.current {
  background: #2f7ec8;
  color: #fff;
}
/* Header bar styling to match hero */

.header-main {
  background: linear-gradient(90deg, #0a2342 0%, #0f3a6b 50%, #0a2342 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.header-main .site-branding img {
  max-height: 70px;
}

.header-main .nav-menu a {
  color: #ffffff !important;
  font-weight: 600;
}
/* Global header styling */
.header-main {
  background: linear-gradient(90deg, #07182f 0%, #0b2d57 50%, #123d72 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.header-main .builder-item--logo,
.header-main .builder-item--primary-menu {
  display: flex;
  align-items: center;
}

.header-main .site-branding img,
.header-main .custom-logo {
  max-height: 72px !important;
  width: auto !important;
}

.header-main .builder-item--primary-menu {
  margin-left: auto !important;
}

.header-main .nav-menu,
.header-main .menu {
  display: flex;
  align-items: center;
  gap: 14px;
}

.header-main .nav-menu a,
.header-main .menu a {
  color: #ffffff !important;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 18px;
  border-radius: 999px;
  text-decoration: none;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
}

.header-main .nav-menu a:hover,
.header-main .menu a:hover {
  background: rgba(255,255,255,0.10);
}
/* Force Customify header to match the custom hero bar */
.site-header .header--row-inner,
.site-header .header-main .header--row-inner,
.site-header .header-main {
  background: linear-gradient(90deg, #07182f 0%, #0b2d57 50%, #123d72 100%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

.site-header .custom-logo,
.site-header .custom-logo-link img {
  max-height: 72px !important;
  width: auto !important;
}

.site-header .header--row-inner {
  display: flex !important;
  align-items: center !important;
}

.site-header .nav-menu,
.site-header .primary-menu-ul,
.site-header ul.menu {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-left: auto !important;
}

.site-header .nav-menu > li > a,
.site-header .primary-menu-ul > li > a,
.site-header ul.menu > li > a {
  color: #ffffff !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 10px 18px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
}

.site-header .nav-menu > li > a:hover,
.site-header .primary-menu-ul > li > a:hover,
.site-header ul.menu > li > a:hover {
  background: rgba(255,255,255,0.10) !important;
}
/* Final header alignment polish */
.site-header .header--row-inner {
  min-height: 96px !important;
}

.site-header .custom-logo,
.site-header .custom-logo-link img {
  max-height: 64px !important;
  width: auto !important;
}
.site-header,
.header-main,
.site-header .header--row-inner {
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
}
/* Hide desktop menu pills on mobile */
@media (max-width: 900px) {
  .primary-menu {
    display: none !important;
  }
}
/* Mobile header sizing */
@media (max-width: 900px) {

  .site-header .custom-logo {
    max-height: 48px !important;
  }

  .site-header .header--row-inner {
    min-height: 70px !important;
  }

}
/* Mobile menu styling */
@media (max-width: 900px) {

  .menu-sidebar-panel {
    background: linear-gradient(180deg,#0b2a4a,#081f36);
  }

  .menu-sidebar-panel a {
    color: #ffffff;
    font-size: 18px;
    padding: 14px 0;
    display: block;
  }

}
/* Mobile hero layout */
@media (max-width: 900px) {

  .gil-top-inner {
    width: calc(100vw - 24px) !important;
  }

  .gil-hero {
    padding: 26px 0 24px !important;
  }

  .gil-hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .gil-main,
  .gil-side {
    width: 100% !important;
  }

  .gil-main h1 {
    font-size: 42px !important;
    line-height: 0.98 !important;
    margin-bottom: 14px !important;
  }

  .gil-main p {
    font-size: 18px !important;
    line-height: 1.55 !important;
    max-width: 100% !important;
  }

  .gil-cta-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 22px !important;
  }

  .gil-cta {
    width: 100% !important;
    justify-content: space-between !important;
  }

  .gil-side-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .gil-mini-card {
    min-height: auto !important;
    padding: 20px 18px !important;
  }

  .gil-features {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 22px !important;
    padding-bottom: 18px !important;
  }

  .gil-feature-card {
    min-height: auto !important;
    padding: 22px 18px !important;
  }

  .gil-pill-label {
    margin-bottom: 18px !important;
  }
}
/* Dropdown menu styling */
.sub-menu {
  background: #0b2a4a !important;
  border-radius: 10px !important;
  padding: 8px 0 !important;
  box-shadow: 0 8px 25px rgba(0,0,0,0.35);
}

.sub-menu li a {
  color: #ffffff !important;
  padding: 10px 18px !important;
  display: block;
}

.sub-menu li a:hover {
  background: rgba(255,255,255,0.06) !important;
  color: #ff4b2b !important;
}
/* Final header polish */

/* 1) Smooth dropdown animation */
.site-header .menu-item-has-children,
.site-header .page_item_has_children {
  position: relative;
}

.site-header .sub-menu {
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.site-header .menu-item-has-children:hover > .sub-menu,
.site-header .menu-item-has-children:focus-within > .sub-menu,
.site-header .page_item_has_children:hover > .sub-menu,
.site-header .page_item_has_children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* 2) Slight glow hover on top-level menu pills */
.site-header .nav-menu > li > a,
.site-header .primary-menu-ul > li > a,
.site-header ul.menu > li > a {
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.site-header .nav-menu > li > a:hover,
.site-header .nav-menu > li.current-menu-item > a,
.site-header .nav-menu > li.current-menu-ancestor > a,
.site-header .primary-menu-ul > li > a:hover,
.site-header .primary-menu-ul > li.current-menu-item > a,
.site-header .primary-menu-ul > li.current-menu-ancestor > a,
.site-header ul.menu > li > a:hover,
.site-header ul.menu > li.current-menu-item > a,
.site-header ul.menu > li.current-menu-ancestor > a {
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(255,255,255,0.22) !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 8px 18px rgba(0,0,0,0.16);
  transform: translateY(-1px);
}

/* 3) Sticky header on scroll */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  backdrop-filter: blur(8px);
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Keep sticky header clean on mobile */
@media (max-width: 900px) {
  .site-header {
    backdrop-filter: blur(6px);
  }
}
.admin-bar .site-header {
  top: 32px;
}
html {
  scroll-behavior: smooth;
}
/* Hide page titles / page header area */
.page .entry-header,
.page .entry-title,
.page .page-title,
.page .page-header,
.page-header,
.content-area .page-header,
.site-main .page-header,
.page .content-inner > header,
.page .entry-content > h1:first-child {
  display: none !important;
}
.class-levels {
  max-width: 1400px;
  margin: 0 auto;
  padding: 10px 0 30px;
}

.class-level-group {
  margin: 0 0 42px;
}

.class-level-head {
  margin: 0 0 18px;
}

.class-level-head h2 {
  margin: 0 0 8px;
  color: #0b2a4a;
  font-size: 34px;
  line-height: 1.1;
}

.class-level-head p {
  margin: 0;
  max-width: 900px;
  color: #4a5d75;
  font-size: 18px;
  line-height: 1.6;
}

.class-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(260px,1fr));
  gap: 26px;
}

.class-card {
  background: linear-gradient(180deg, rgba(51,69,109,0.96) 0%, rgba(43,58,92,0.96) 100%);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 24px;
  padding: 24px 22px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.18);
}

.class-card h3 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.2;
}

.class-card p {
  margin: 0;
  color: #d5e2f2;
  font-size: 17px;
  line-height: 1.6;
}

@media (max-width: 1000px) {
  .class-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .class-level-head h2 {
    font-size: 28px;
  }

  .class-level-head p {
    font-size: 16px;
  }

  .class-card-grid {
    grid-template-columns: 1fr;
  }

  .class-card {
    padding: 20px 18px;
    border-radius: 20px;
  }

  .class-card h3 {
    font-size: 21px;
  }

  .class-card p {
    font-size: 16px;
  }
}
/* Allow Classes page to use wider layout */
.page-id-2797 .site-main,
.page-id-2797 .content-area,
.page-id-2797 .content-inner {
  max-width: 1400px !important;
  width: 94% !important;
  margin: auto !important;
}
.class-card {
  text-decoration: none;
  display: block;
}
/* Improve class cards */

.class-card {
  background: linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 18px;
  padding: 26px 24px;
  text-decoration: none;
  color: inherit;
  display: block;
  box-shadow: 0 10px 26px rgba(0,0,0,0.08);
  transition: transform .18s ease, box-shadow .18s ease;
}

.class-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(0,0,0,0.16);
}

/* Class title */

.class-card h3 {
  margin: 0 0 8px;
  font-size: 22px;
  color: #0b2a4a;
}

/* Time/location row */

.class-card p {
  margin: 0;
  font-size: 16px;
  color: #4a5d75;
  padding-left: 26px;
  position: relative;
}

/* Location icon */

.class-card p::before {
  content: "📍";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 16px;
}

/* Level header styling */

.class-level-head {
  margin-bottom: 18px;
  border-bottom: 2px solid #e6eef7;
  padding-bottom: 10px;
}

.class-level-head h2 {
  font-size: 32px;
  margin: 0 0 6px;
  color: #0b2a4a;
}

.class-level-head p {
  margin: 0;
  color: #4a5d75;
}

/* Optional subtle highlight for level groups */

.class-level-group {
  margin-bottom: 48px;
}
/* Level section banners */

.class-level-head {
  background: linear-gradient(90deg,#0b2a4a,#123d72);
  border-radius: 14px;
  padding: 18px 22px;
  margin-bottom: 22px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.class-level-head h2 {
  margin: 0 0 4px;
  font-size: 26px;
  color: #ffffff;
  letter-spacing: 0.5px;
}

.class-level-head p {
  margin: 0;
  font-size: 15px;
  color: rgba(255,255,255,0.85);
}

/* spacing between level sections */

.class-level-group {
  margin-bottom: 50px;
}
.gil-class-page,
.gil-class-page * {
  box-sizing: border-box;
}

.gil-class-wrap {
  width: min(1400px, calc(100% - 32px));
  margin: 0 auto;
}

.gil-class-hero {
  padding: 26px 0 28px;
}

.gil-class-hero-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 24px;
  align-items: stretch;
}

.gil-class-hero-main {
  background: linear-gradient(135deg, #07182f 0%, #0b2d57 50%, #123d72 100%);
  border-radius: 24px;
  padding: 34px 30px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.14);
}

.gil-class-badge {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.gil-class-hero-main h1 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.02;
}

.gil-class-subtitle {
  margin: 0 0 22px;
  font-size: 19px;
  line-height: 1.6;
  color: rgba(255,255,255,0.86);
}

.gil-class-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.gil-class-meta-item {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  font-weight: 600;
}

.gil-class-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.gil-class-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

.gil-class-btn-primary {
  background: #ffffff;
  color: #0c2f56;
}

.gil-class-btn-secondary {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.14);
}

.gil-class-btn-full {
  width: 100%;
}

.gil-class-hero-side {
  display: flex;
}

.gil-class-info-card {
  width: 100%;
  background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
  border: 1px solid rgba(31,90,143,0.10);
  border-radius: 24px;
  padding: 28px 24px;
  box-shadow: 0 12px 28px rgba(18,73,117,0.08);
}

.gil-class-info-card h3 {
  margin: 0 0 14px;
  color: #0b2a4a;
  font-size: 24px;
}

.gil-class-info-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gil-class-info-list li {
  padding: 10px 0;
  border-bottom: 1px solid rgba(11,42,74,0.08);
  color: #4a5d75;
}

.gil-class-info-list li:last-child {
  border-bottom: 0;
}

.gil-class-highlights {
  padding: 0 0 30px;
}

.gil-class-highlight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.gil-class-highlight-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 18px;
  padding: 22px 20px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.gil-class-highlight-card h3 {
  margin: 0 0 8px;
  color: #0b2a4a;
  font-size: 20px;
}

.gil-class-highlight-card p {
  margin: 0;
  color: #4a5d75;
  line-height: 1.6;
}

.gil-class-content {
  padding: 0 0 34px;
}

.gil-class-content-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 24px;
  align-items: start;
}

.gil-class-panel {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  margin-bottom: 22px;
}

.gil-class-panel h2 {
  margin: 0 0 14px;
  color: #0b2a4a;
  font-size: 28px;
  line-height: 1.15;
}

.gil-class-panel p {
  color: #4a5d75;
  line-height: 1.75;
}

.gil-class-list {
  margin: 0;
  padding-left: 18px;
  color: #4a5d75;
  line-height: 1.8;
}

.gil-class-embed-note {
  margin-top: -4px;
}

.gil-class-embed-box {
  min-height: 260px;
  border: 2px dashed rgba(11,42,74,0.18);
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: #6b8aac;
  background: #f5faff;
  text-align: center;
}

.gil-class-section-head {
  margin-bottom: 18px;
}

.gil-class-section-head h2 {
  margin: 0 0 6px;
  color: #0b2a4a;
  font-size: 30px;
}

.gil-class-section-head p {
  margin: 0;
  color: #4a5d75;
}

.gil-class-related {
  padding: 0 0 28px;
}

.gil-class-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.gil-class-related-card {
  display: block;
  text-decoration: none;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 18px;
  padding: 22px 20px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.gil-class-related-card h3 {
  margin: 0 0 8px;
  color: #0b2a4a;
  font-size: 21px;
}

.gil-class-related-card p {
  margin: 0;
  color: #4a5d75;
}

@media (max-width: 1100px) {
  .gil-class-hero-grid,
  .gil-class-content-grid {
    grid-template-columns: 1fr;
  }

  .gil-class-highlight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gil-class-related-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .gil-class-wrap {
    width: calc(100% - 20px);
  }

  .gil-class-hero-main,
  .gil-class-info-card,
  .gil-class-panel,
  .gil-class-highlight-card,
  .gil-class-related-card {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .gil-class-highlight-grid {
    grid-template-columns: 1fr;
  }

  .gil-class-btn {
    width: 100%;
  }

  .gil-class-meta-row {
    gap: 8px;
  }
}
.gil-class-embed-box iframe{
  width:100%;
  height:350px;
  border:0;
  border-radius:12px;
}
/* Global embed handling */
.gil-class-embed-box {
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f5faff;
}

.gil-class-embed-box iframe {
  display: block;
  width: 100% !important;
  border: 0 !important;
  border-radius: 18px;
}

/* Better map sizing */
#gil-class-map .gil-class-embed-box iframe {
  height: 420px !important;
}

/* Better dances embed sizing */
#gil-class-dances .gil-class-embed-box iframe {
  height: 1200px !important;
}

/* Make dances section full width across the page */
#gil-class-dances {
  grid-column: 1 / -1;
}

/* Optional: slightly better column balance on class pages */
.gil-class-content-grid {
  grid-template-columns: 1fr 420px;
}

/* Tablet/mobile */
@media (max-width: 1100px) {
  .gil-class-content-grid {
    grid-template-columns: 1fr;
  }

  #gil-class-dances {
    grid-column: auto;
  }

  #gil-class-map .gil-class-embed-box iframe {
    height: 360px !important;
  }

  #gil-class-dances .gil-class-embed-box iframe {
    height: 1000px !important;
  }
}
/* Class page main layout */
.gil-class-content-grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:40px;
}

/* Side column cards */
.gil-class-side-col .gil-class-panel{
  margin-bottom:28px;
}

/* Map sizing */
#gil-class-map iframe{
  width:100% !important;
  height:420px !important;
  border-radius:16px;
}

/* Dances embed sizing */
#gil-class-dances iframe{
  width:100% !important;
  height:1200px !important;
}

/* Mobile */
@media (max-width: 1000px){
  .gil-class-content-grid{
    grid-template-columns:1fr;
  }

  #gil-class-map iframe{
    height:360px !important;
  }
}
.gil-class-page-v2,
.gil-class-page-v2 * {
  box-sizing: border-box;
}

.gil-class-wrap {
  width: min(1450px, calc(100% - 32px));
  margin: 0 auto;
}

.gil-class-hero {
  padding: 28px 0 28px;
}

.gil-class-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 24px;
  align-items: stretch;
}

.gil-class-hero-main {
  background: linear-gradient(135deg, #07182f 0%, #0b2d57 50%, #123d72 100%);
  border-radius: 24px;
  padding: 34px 30px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.14);
}

.gil-class-badge {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.gil-class-hero-main h1 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.04;
}

.gil-class-subtitle {
  margin: 0 0 22px;
  font-size: 19px;
  line-height: 1.6;
  color: rgba(255,255,255,0.86);
}

.gil-class-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.gil-class-meta-item {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  font-weight: 600;
}

.gil-class-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.gil-class-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

.gil-class-btn-primary {
  background: #ffffff;
  color: #0c2f56;
}

.gil-class-btn-secondary {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.14);
}

.gil-class-info-card,
.gil-class-panel,
.gil-class-highlight-card,
.gil-class-related-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.gil-class-info-card h3,
.gil-class-panel h2,
.gil-class-section-head h2 {
  margin: 0 0 14px;
  color: #0b2a4a;
}

.gil-class-info-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gil-class-info-list li {
  padding: 10px 0;
  border-bottom: 1px solid rgba(11,42,74,0.08);
  color: #4a5d75;
}

.gil-class-info-list li:last-child {
  border-bottom: 0;
}

.gil-class-highlights {
  padding: 0 0 30px;
}

.gil-class-highlight-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.gil-class-highlight-card h3 {
  margin: 0 0 8px;
  color: #0b2a4a;
  font-size: 20px;
}

.gil-class-highlight-card p,
.gil-class-panel p,
.gil-class-panel li,
.gil-class-related-card p,
.gil-class-section-head p {
  color: #4a5d75;
  line-height: 1.7;
}

.gil-class-main-sections {
  padding: 0 0 30px;
}

.gil-class-main-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.gil-class-list {
  margin: 0;
  padding-left: 18px;
}

.gil-class-location-row {
  padding: 0 0 30px;
}

.gil-class-location-grid {
  display: grid;
  grid-template-columns: 0.9fr 1fr 1.35fr;
  gap: 22px;
  align-items: stretch;
}

.gil-class-map-panel {
  display: flex;
  flex-direction: column;
}

.gil-class-embed-box {
  padding: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #f5faff;
  border-radius: 18px;
}

.gil-class-embed-box iframe {
  display: block;
  width: 100% !important;
  border: 0 !important;
  border-radius: 18px;
}

.gil-class-map-box iframe {
  height: 460px !important;
}

.gil-class-dances-row {
  padding: 0 0 30px;
}

.gil-class-dances-box iframe {
  height: 1200px !important;
}

.gil-class-contact-row {
  padding: 0 0 30px;
}

.gil-class-section-head {
  margin-bottom: 18px;
}

.gil-class-related {
  padding: 0 0 28px;
}

.gil-class-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.gil-class-related-card {
  display: block;
  text-decoration: none;
}

.gil-class-related-card h3 {
  margin: 0 0 8px;
  color: #0b2a4a;
}

@media (max-width: 1200px) {
  .gil-class-hero-grid,
  .gil-class-location-grid,
  .gil-class-main-grid {
    grid-template-columns: 1fr;
  }

  .gil-class-highlight-grid,
  .gil-class-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gil-class-map-box iframe {
    height: 380px !important;
  }

  .gil-class-dances-box iframe {
    height: 1000px !important;
  }
}

@media (max-width: 700px) {
  .gil-class-wrap {
    width: calc(100% - 20px);
  }

  .gil-class-hero-main,
  .gil-class-info-card,
  .gil-class-panel,
  .gil-class-highlight-card,
  .gil-class-related-card {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .gil-class-highlight-grid,
  .gil-class-related-grid {
    grid-template-columns: 1fr;
  }

  .gil-class-btn {
    width: 100%;
  }

  .gil-class-map-box iframe {
    height: 320px !important;
  }

  .gil-class-dances-box iframe {
    height: 900px !important;
  }
}
/* =========================================
   THE EVENTS CALENDAR – Get In Line styling
   ========================================= */

/* Hide duplicated/default archive headings */
.post-type-archive-tribe_events .page-header,
.post-type-archive-tribe_events .entry-header,
.post-type-archive-tribe_events .entry-title,
.post-type-archive-tribe_events .page-title,
.post-type-archive-tribe_events h1.page-title,
.post-type-archive-tribe_events .tribe-events-page-title {
  display: none !important;
}

/* Give the events page more room */
.post-type-archive-tribe_events .site-main,
.post-type-archive-tribe_events .content-area,
.post-type-archive-tribe_events .content-inner,
.post-type-archive-tribe_events .entry-content {
  max-width: 1400px !important;
  width: 94% !important;
  margin: 0 auto !important;
}

/* Main wrapper spacing */
.post-type-archive-tribe_events #tribe-events,
.post-type-archive-tribe_events .tribe-events-view {
  margin-top: 20px;
}

/* Search + views navigation as soft cards */
.post-type-archive-tribe_events .tribe-events-header,
.post-type-archive-tribe_events .tribe-events-c-top-bar,
.post-type-archive-tribe_events .tribe-events-calendar-list__top-bar {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.05);
  margin-bottom: 24px;
}

/* Buttons / view switches */
.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item a,
.post-type-archive-tribe_events .tribe-events-c-view-selector__button,
.post-type-archive-tribe_events .tribe-events-button,
.post-type-archive-tribe_events .tribe-common-c-btn,
.post-type-archive-tribe_events .tribe-common-c-btn-border,
.post-type-archive-tribe_events .tribe-events-nav-previous a,
.post-type-archive-tribe_events .tribe-events-nav-next a {
  border-radius: 999px !important;
}

/* Optional: hide month/day view buttons to simplify */
.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item--month,
.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item--day {
  display: none !important;
}

/* Event list item card styling */
.post-type-archive-tribe_events .tribe-events-calendar-list__event,
.post-type-archive-tribe_events .tribe-events-list-separator + div,
.post-type-archive-tribe_events .type-tribe_events,
.post-type-archive-tribe_events .tribe-events-event-row {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 22px;
  padding: 24px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  margin-bottom: 22px !important;
  overflow: hidden;
}

/* Hover lift */
.post-type-archive-tribe_events .tribe-events-calendar-list__event:hover,
.post-type-archive-tribe_events .type-tribe_events:hover,
.post-type-archive-tribe_events .tribe-events-event-row:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(0,0,0,0.10);
  transition: transform .18s ease, box-shadow .18s ease;
}

/* Event title */
.post-type-archive-tribe_events .tribe-events-calendar-list__event-title,
.post-type-archive-tribe_events .tribe-event-title,
.post-type-archive-tribe_events .entry-title {
  margin-bottom: 12px !important;
}

.post-type-archive-tribe_events .tribe-events-calendar-list__event-title a,
.post-type-archive-tribe_events .tribe-event-title a,
.post-type-archive-tribe_events .type-tribe_events .entry-title a {
  color: #0b2a4a !important;
  text-decoration: none !important;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 700;
}

/* Date / time / venue / meta */
.post-type-archive-tribe_events .tribe-events-calendar-list__event-datetime,
.post-type-archive-tribe_events .tribe-event-date-start,
.post-type-archive-tribe_events .tribe-event-date-end,
.post-type-archive-tribe_events .tribe-events-venue-details,
.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue,
.post-type-archive-tribe_events .tribe-events-calendar-list__event-address,
.post-type-archive-tribe_events .tribe-events-event-meta,
.post-type-archive-tribe_events .tribe-events-cost {
  color: #4a5d75 !important;
  line-height: 1.7;
}

/* Price */
.post-type-archive-tribe_events .tribe-events-event-cost,
.post-type-archive-tribe_events .tribe-events-c-small-cta__price,
.post-type-archive-tribe_events .tribe-events-cost {
  display: inline-block;
  margin-top: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #eaf3ff;
  color: #0b2a4a !important;
  font-weight: 700;
}

/* Excerpt */
.post-type-archive-tribe_events .tribe-events-calendar-list__event-description,
.post-type-archive-tribe_events .tribe-events-loop .tribe-events-content,
.post-type-archive-tribe_events .entry-summary {
  color: #4a5d75 !important;
  line-height: 1.75;
  margin-top: 12px;
}

/* Featured images */
.post-type-archive-tribe_events .tribe-events-calendar-list__event-featured-image img,
.post-type-archive-tribe_events .tribe-events-event-image img,
.post-type-archive-tribe_events .tribe-events-loop .tribe-events-event-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  display: block;
}

/* Make list layout breathe if image + text are side by side */
.post-type-archive-tribe_events .tribe-events-calendar-list__event-wrapper {
  gap: 22px;
}

/* Subscribe/export block */
.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown,
.post-type-archive-tribe_events .tribe-events-ical {
  margin-top: 24px;
}

/* Pagination / nav links */
.post-type-archive-tribe_events .tribe-events-nav-pagination,
.post-type-archive-tribe_events .tribe-events-nav-previous,
.post-type-archive-tribe_events .tribe-events-nav-next {
  margin-top: 24px;
}

/* Mobile */
@media (max-width: 900px) {
  .post-type-archive-tribe_events .tribe-events-calendar-list__event-title a,
  .post-type-archive-tribe_events .tribe-event-title a,
  .post-type-archive-tribe_events .type-tribe_events .entry-title a {
    font-size: 24px;
  }

  .post-type-archive-tribe_events .site-main,
  .post-type-archive-tribe_events .content-area,
  .post-type-archive-tribe_events .content-inner,
  .post-type-archive-tribe_events .entry-content {
    width: calc(100% - 20px) !important;
  }
}
/* Hide "Archives: Events" title on Events Calendar page */
.post-type-archive-tribe_events .page-title,
.post-type-archive-tribe_events .archive-title,
.post-type-archive-tribe_events h1.page-title,
.post-type-archive-tribe_events .entry-title {
    display: none !important;
}
.post-type-archive-tribe_events header.page-header {
    display: none !important;
}
/* Remove archive header on Events page */
.post-type-archive-tribe_events .page-header {
    display: none !important;
}
/* Remove "Archives: Events" title */
.post-type-archive-tribe_events .page-title {
    display: none !important;
}
.post-type-archive-tribe_events h1 {
    display: none !important;
}
.post-type-archive-tribe_events .page-header {
    display: none !important;
}
/* Remove empty archive header space on Events page */
.post-type-archive-tribe_events .page-header {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

.post-type-archive-tribe_events .site-main,
.post-type-archive-tribe_events .content-area,
.post-type-archive-tribe_events .content-inner {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.post-type-archive-tribe_events #tribe-events-content-wrapper,
.post-type-archive-tribe_events #tribe-events-pg-template,
.post-type-archive-tribe_events #tribe-events {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Kill the remaining archive header block on Events page */
.post-type-archive-tribe_events .page-header,
.post-type-archive-tribe_events .archive-header,
.post-type-archive-tribe_events .archive-description,
.post-type-archive-tribe_events .content-inner > header:first-child,
.post-type-archive-tribe_events .site-main > header:first-child {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}
.post-type-archive-tribe_events .content-inner,
.post-type-archive-tribe_events .site-main,
.post-type-archive-tribe_events .content-area {
  padding-top: 0 !important;
}
.gil-about-page,
.gil-about-page * {
  box-sizing: border-box;
}

.gil-about-wrap {
  width: min(1450px, calc(100% - 32px));
  margin: 0 auto;
}

.gil-about-hero {
  padding: 28px 0 28px;
}

.gil-about-hero-card {
  background: linear-gradient(135deg, #07182f 0%, #0b2d57 50%, #123d72 100%);
  border-radius: 24px;
  padding: 34px 30px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.14);
}

.gil-about-badge {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.gil-about-hero-card h1 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.04;
}

.gil-about-hero-card p {
  margin: 0;
  max-width: 800px;
  font-size: 19px;
  line-height: 1.7;
  color: rgba(255,255,255,0.86);
}

.gil-about-team {
  padding: 0 0 30px;
}

.gil-about-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.gil-about-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.gil-about-photo {
  margin-bottom: 18px;
}

.gil-about-photo img {
  width: 100%;
  max-width: 220px;
  height: 220px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
  background: #eef4fb;
}

.gil-about-content h2 {
  margin: 0 0 12px;
  color: #0b2a4a;
  font-size: 30px;
  line-height: 1.1;
}

.gil-about-content p {
  margin: 0 0 14px;
  color: #4a5d75;
  line-height: 1.75;
}

.gil-about-content p:last-child {
  margin-bottom: 0;
}

.gil-about-content a {
  color: #0b4f8a;
}

@media (max-width: 900px) {
  .gil-about-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .gil-about-wrap {
    width: calc(100% - 20px);
  }

  .gil-about-hero-card,
  .gil-about-card {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .gil-about-photo img {
    max-width: 160px;
    height: 160px;
  }
}
.gil-private-page,
.gil-private-page * {
  box-sizing: border-box;
}

.gil-private-wrap {
  width: min(1450px, calc(100% - 32px));
  margin: 0 auto;
}

.gil-private-hero {
  padding: 28px 0;
}

.gil-private-hero-card {
  background: linear-gradient(135deg, #07182f 0%, #0b2d57 50%, #123d72 100%);
  border-radius: 24px;
  padding: 34px 30px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.14);
}

.gil-private-badge {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.gil-private-hero-card h1 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.04;
}

.gil-private-hero-card p {
  margin: 0 0 22px;
  max-width: 850px;
  font-size: 19px;
  line-height: 1.7;
  color: rgba(255,255,255,0.86);
}

.gil-private-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.gil-private-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

.gil-private-btn-primary {
  background: #ffffff;
  color: #0c2f56;
}

.gil-private-btn-secondary {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.14);
}

.gil-private-intro,
.gil-private-offers,
.gil-private-how,
.gil-private-why,
.gil-private-cta {
  padding: 0 0 30px;
}

.gil-private-intro-grid,
.gil-private-card-grid,
.gil-private-how-grid,
.gil-private-why-grid {
  display: grid;
  gap: 22px;
}

.gil-private-intro-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gil-private-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-private-how-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-private-why-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-private-intro-card,
.gil-private-card,
.gil-private-how-card,
.gil-private-why-item,
.gil-private-cta-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.gil-private-section-head {
  margin-bottom: 18px;
}

.gil-private-section-head h2,
.gil-private-intro-card h2,
.gil-private-cta-card h2 {
  margin: 0 0 12px;
  color: #0b2a4a;
  font-size: 32px;
  line-height: 1.12;
}

.gil-private-section-head p,
.gil-private-intro-card p,
.gil-private-card p,
.gil-private-how-card p,
.gil-private-cta-card p {
  color: #4a5d75;
  line-height: 1.75;
}

.gil-private-card h3,
.gil-private-how-card h3 {
  margin: 0 0 10px;
  color: #0b2a4a;
  font-size: 24px;
  line-height: 1.2;
}

.gil-private-why-item {
  font-weight: 700;
  color: #0b2a4a;
  display: flex;
  align-items: center;
  min-height: 90px;
}

@media (max-width: 1100px) {
  .gil-private-intro-grid,
  .gil-private-card-grid,
  .gil-private-how-grid,
  .gil-private-why-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .gil-private-wrap {
    width: calc(100% - 20px);
  }

  .gil-private-intro-grid,
  .gil-private-card-grid,
  .gil-private-how-grid,
  .gil-private-why-grid {
    grid-template-columns: 1fr;
  }

  .gil-private-hero-card,
  .gil-private-intro-card,
  .gil-private-card,
  .gil-private-how-card,
  .gil-private-why-item,
  .gil-private-cta-card {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .gil-private-btn {
    width: 100%;
  }
}
.gil-private-page,
.gil-private-page * {
  box-sizing: border-box;
}

.gil-private-wrap {
  width: min(1450px, calc(100% - 32px));
  margin: 0 auto;
}

.gil-private-hero,
.gil-private-intro,
.gil-private-photos,
.gil-private-offers,
.gil-private-expect,
.gil-private-why,
.gil-private-cta {
  padding: 0 0 30px;
}

.gil-private-hero {
  padding-top: 28px;
}

.gil-private-hero-card {
  background: linear-gradient(135deg, #07182f 0%, #0b2d57 50%, #123d72 100%);
  border-radius: 24px;
  padding: 38px 32px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.14);
}

.gil-private-badge {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.gil-private-hero-card h1 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.02;
}

.gil-private-hero-card p {
  margin: 0 0 24px;
  max-width: 900px;
  font-size: 20px;
  line-height: 1.72;
  color: rgba(255,255,255,0.88);
}

.gil-private-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.gil-private-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

.gil-private-btn-primary {
  background: #ffffff;
  color: #0c2f56;
}

.gil-private-btn-secondary {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.14);
}

.gil-private-intro-grid,
.gil-private-card-grid,
.gil-private-expect-grid,
.gil-private-why-grid,
.gil-private-photo-grid {
  display: grid;
  gap: 22px;
}

.gil-private-intro-grid {
  grid-template-columns: 1.35fr 0.85fr;
}

.gil-private-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-private-expect-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gil-private-why-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-private-photo-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-private-intro-card,
.gil-private-card,
.gil-private-expect-card,
.gil-private-why-item,
.gil-private-cta-card,
.gil-private-photo-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.gil-private-photo-card {
  padding: 0;
  overflow: hidden;
}

.gil-private-photo-card img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

.gil-private-section-head {
  margin-bottom: 18px;
}

.gil-private-section-head h2,
.gil-private-intro-card h2,
.gil-private-cta-card h2 {
  margin: 0 0 12px;
  color: #0b2a4a;
  font-size: 32px;
  line-height: 1.12;
}

.gil-private-section-head p,
.gil-private-intro-card p,
.gil-private-card p,
.gil-private-expect-card p,
.gil-private-cta-card p {
  color: #4a5d75;
  line-height: 1.75;
}

.gil-private-intro-card p,
.gil-private-cta-card p {
  margin: 0 0 14px;
}

.gil-private-intro-card p:last-child,
.gil-private-cta-card p:last-child {
  margin-bottom: 0;
}

.gil-private-card h3,
.gil-private-expect-card h3 {
  margin: 0 0 10px;
  color: #0b2a4a;
  font-size: 24px;
  line-height: 1.2;
}

.gil-private-why-item {
  font-weight: 700;
  color: #0b2a4a;
  display: flex;
  align-items: center;
  min-height: 92px;
}

@media (max-width: 1100px) {
  .gil-private-intro-grid,
  .gil-private-card-grid,
  .gil-private-expect-grid,
  .gil-private-why-grid,
  .gil-private-photo-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .gil-private-wrap {
    width: calc(100% - 20px);
  }

  .gil-private-intro-grid,
  .gil-private-card-grid,
  .gil-private-expect-grid,
  .gil-private-why-grid,
  .gil-private-photo-grid {
    grid-template-columns: 1fr;
  }

  .gil-private-hero-card,
  .gil-private-intro-card,
  .gil-private-card,
  .gil-private-expect-card,
  .gil-private-why-item,
  .gil-private-cta-card {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .gil-private-photo-card {
    border-radius: 18px;
  }

  .gil-private-photo-card img {
    height: 240px;
  }

  .gil-private-btn {
    width: 100%;
  }
}
.gil-contact-page,
.gil-contact-page * {
  box-sizing: border-box;
}

.gil-contact-wrap {
  width: min(1450px, calc(100% - 32px));
  margin: 0 auto;
}

.gil-contact-hero,
.gil-contact-options,
.gil-contact-help,
.gil-contact-direct {
  padding: 0 0 30px;
}

.gil-contact-hero {
  padding-top: 28px;
}

.gil-contact-hero-card {
  background: linear-gradient(135deg, #07182f 0%, #0b2d57 50%, #123d72 100%);
  border-radius: 24px;
  padding: 38px 32px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.14);
}

.gil-contact-badge {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.gil-contact-hero-card h1 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.02;
}

.gil-contact-hero-card p {
  margin: 0 0 24px;
  max-width: 900px;
  font-size: 20px;
  line-height: 1.72;
  color: rgba(255,255,255,0.88);
}

.gil-contact-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.gil-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

.gil-contact-btn-primary {
  background: #ffffff;
  color: #0c2f56;
}

.gil-contact-btn-secondary {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.14);
}

.gil-contact-options-grid,
.gil-contact-help-grid {
  display: grid;
  gap: 22px;
}

.gil-contact-options-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-contact-help-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gil-contact-option-card,
.gil-contact-help-card,
.gil-contact-direct-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.gil-contact-section-head {
  margin-bottom: 18px;
}

.gil-contact-section-head h2,
.gil-contact-option-card h2,
.gil-contact-direct-card h2 {
  margin: 0 0 12px;
  color: #0b2a4a;
  font-size: 32px;
  line-height: 1.12;
}

.gil-contact-help-card h3 {
  margin: 0 0 10px;
  color: #0b2a4a;
  font-size: 24px;
  line-height: 1.2;
}

.gil-contact-section-head p,
.gil-contact-option-card p,
.gil-contact-help-card p,
.gil-contact-direct-card p {
  color: #4a5d75;
  line-height: 1.75;
}

.gil-contact-email {
  margin-top: 14px;
  font-weight: 700;
}

.gil-contact-email a {
  color: #0b4f8a;
  text-decoration: none;
  word-break: break-word;
}

.gil-contact-email-large a {
  font-size: 28px;
  line-height: 1.2;
}

@media (max-width: 1100px) {
  .gil-contact-options-grid,
  .gil-contact-help-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .gil-contact-wrap {
    width: calc(100% - 20px);
  }

  .gil-contact-options-grid,
  .gil-contact-help-grid {
    grid-template-columns: 1fr;
  }

  .gil-contact-hero-card,
  .gil-contact-option-card,
  .gil-contact-help-card,
  .gil-contact-direct-card {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .gil-contact-btn {
    width: 100%;
  }

  .gil-contact-email-large a {
    font-size: 22px;
  }
}
.gil-site-footer,
.gil-site-footer * {
  box-sizing: border-box;
}

.gil-site-footer {
  background: linear-gradient(135deg, #07182f 0%, #0b2d57 50%, #123d72 100%);
  color: #fff;
  margin-top: 40px;
  padding: 42px 0 20px;
}

.gil-footer-wrap {
  width: min(1450px, calc(100% - 32px));
  margin: 0 auto;
}

.gil-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 28px;
  margin-bottom: 28px;
}

.gil-footer-logo {
  max-width: 140px;
  height: auto;
  display: block;
  margin-bottom: 14px;
}

.gil-footer-col h3 {
  margin: 0 0 14px;
  font-size: 20px;
  color: #fff;
}

.gil-footer-col p,
.gil-footer-col li,
.gil-footer-col a {
  color: rgba(255,255,255,0.86);
  line-height: 1.75;
  text-decoration: none;
}

.gil-footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gil-footer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #ffffff;
  color: #0c2f56 !important;
  font-weight: 700;
  margin-top: 10px;
}

.gil-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
}

.gil-footer-bottom p,
.gil-footer-bottom a {
  color: rgba(255,255,255,0.72);
  margin: 0;
  text-decoration: none;
}

.gil-footer-bottom-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

@media (max-width: 1000px) {

  .gil-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

}

@media (max-width: 700px) {

  .gil-footer-wrap {
    width: calc(100% - 20px);
  }

  .gil-footer-grid {
    grid-template-columns: 1fr;
  }

  .gil-site-footer {
    padding: 28px 0 18px;
  }

}
/* Footer polish */
.footer-widgets .widget {
  margin-bottom: 0 !important;
}

.footer-widgets .widget-title,
.footer-widgets h3 {
  margin-bottom: 14px;
  font-size: 20px;
  color: #ffffff;
}

.footer-widgets p,
.footer-widgets li,
.footer-widgets a {
  line-height: 1.8;
}

.footer-widgets .widget_nav_menu ul,
.footer-widgets .widget ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-widgets .widget_nav_menu li,
.footer-widgets .widget li {
  margin-bottom: 6px;
}

.footer-widgets .custom-html-widget img {
  display: block;
  margin-bottom: 14px;
}

.footer-widgets .footer-widget-area {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.gil-start-page,
.gil-start-page * {
  box-sizing: border-box;
}

.gil-start-wrap {
  width: min(1450px, calc(100% - 32px));
  margin: 0 auto;
}

.gil-start-hero,
.gil-start-intro,
.gil-start-photo-strip,
.gil-start-what-is,
.gil-start-first-class,
.gil-start-essentials,
.gil-start-choose-class,
.gil-start-faq,
.gil-start-cta {
  padding: 0 0 30px;
}

.gil-start-hero {
  padding-top: 28px;
}

.gil-start-hero-card {
  background: linear-gradient(135deg, #07182f 0%, #0b2d57 50%, #123d72 100%);
  border-radius: 24px;
  padding: 38px 32px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.14);
}

.gil-start-badge {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
}

.gil-start-hero-card h1 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(36px, 4vw, 58px);
  line-height: 1.02;
}

.gil-start-hero-card p {
  margin: 0 0 24px;
  max-width: 920px;
  font-size: 20px;
  line-height: 1.72;
  color: rgba(255,255,255,0.88);
}

.gil-start-hero-buttons,
.gil-start-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.gil-start-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

.gil-start-btn-primary {
  background: #ffffff;
  color: #0c2f56;
}

.gil-start-btn-secondary {
  background: rgba(255,255,255,0.08);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.14);
}

.gil-start-btn-secondary-dark {
  background: #eaf3ff;
  color: #0c2f56;
  border: 1px solid rgba(12,47,86,0.08);
}

.gil-start-intro-grid,
.gil-start-photo-grid,
.gil-start-info-grid,
.gil-start-steps-grid,
.gil-start-class-grid,
.gil-start-faq-grid {
  display: grid;
  gap: 22px;
}

.gil-start-intro-grid {
  grid-template-columns: 1.25fr 0.75fr;
}

.gil-start-photo-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-start-info-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gil-start-steps-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gil-start-class-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-start-faq-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gil-start-intro-card,
.gil-start-info-card,
.gil-start-step-card,
.gil-start-class-card,
.gil-start-faq-card,
.gil-start-cta-card,
.gil-start-photo-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid rgba(15,40,80,0.08);
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

.gil-start-photo-card {
  padding: 0;
  overflow: hidden;
}

.gil-start-photo-card img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

.gil-start-section-head {
  margin-bottom: 18px;
}

.gil-start-section-head h2,
.gil-start-intro-card h2,
.gil-start-cta-card h2 {
  margin: 0 0 12px;
  color: #0b2a4a;
  font-size: 32px;
  line-height: 1.12;
}

.gil-start-section-head p,
.gil-start-intro-card p,
.gil-start-info-card p,
.gil-start-step-card p,
.gil-start-faq-card p,
.gil-start-cta-card p {
  color: #4a5d75;
  line-height: 1.75;
}

.gil-start-intro-card p,
.gil-start-cta-card p {
  margin: 0 0 14px;
}

.gil-start-intro-card p:last-child,
.gil-start-cta-card p:last-child {
  margin-bottom: 0;
}

.gil-start-check-list {
  margin: 0;
  padding-left: 18px;
  color: #4a5d75;
  line-height: 1.85;
}

.gil-start-info-card h3,
.gil-start-step-card h3,
.gil-start-class-card h3,
.gil-start-faq-card h3 {
  margin: 0 0 10px;
  color: #0b2a4a;
  font-size: 24px;
  line-height: 1.2;
}

.gil-start-step-number {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0b2d57, #123d72);
  color: #fff;
  font-weight: 800;
  margin-bottom: 14px;
}

.gil-start-class-card {
  text-decoration: none;
  display: block;
}

.gil-start-class-card span {
  display: inline-block;
  margin-top: 10px;
  color: #0b4f8a;
  font-weight: 700;
}

@media (max-width: 1200px) {
  .gil-start-intro-grid,
  .gil-start-info-grid,
  .gil-start-steps-grid,
  .gil-start-class-grid,
  .gil-start-faq-grid,
  .gil-start-photo-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .gil-start-wrap {
    width: calc(100% - 20px);
  }

  .gil-start-intro-grid,
  .gil-start-info-grid,
  .gil-start-steps-grid,
  .gil-start-class-grid,
  .gil-start-faq-grid,
  .gil-start-photo-grid {
    grid-template-columns: 1fr;
  }

  .gil-start-hero-card,
  .gil-start-intro-card,
  .gil-start-info-card,
  .gil-start-step-card,
  .gil-start-class-card,
  .gil-start-faq-card,
  .gil-start-cta-card {
    padding: 20px 18px;
    border-radius: 18px;
  }

  .gil-start-photo-card {
    border-radius: 18px;
  }

  .gil-start-photo-card img {
    height: 240px;
  }

  .gil-start-btn {
    width: 100%;
  }
}

/* Hide Customify menu sidebar on desktop so the blank bar disappears */
@media (min-width: 1025px) {
  .header-menu-sidebar,
  .customify-header-menu-sidebar,
  .builder-item--menu_sidebar,
  .builder-item--menu-sidebar {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
}
/* FIX CUSTOMIFY MOBILE DRAWER MENU */
@media (max-width: 1024px) {

  /* Drawer container */
  .header-menu-sidebar,
  .customify-menu-sidebar,
  .menu-sidebar-panel,
  .builder-item--menu_sidebar,
  .builder-item--menu-sidebar {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  /* Force menu wrappers to behave like blocks */
  .header-menu-sidebar nav,
  .header-menu-sidebar .menu,
  .header-menu-sidebar .nav-menu,
  .header-menu-sidebar .menu-primary-container,
  .header-menu-sidebar .menu-primary,
  .customify-menu-sidebar nav,
  .customify-menu-sidebar .menu,
  .customify-menu-sidebar .nav-menu,
  .customify-menu-sidebar .menu-primary-container,
  .customify-menu-sidebar .menu-primary {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 18px 20px 24px !important;
    list-style: none !important;
    background: transparent !important;
    overflow: visible !important;
  }

  /* Stack all menu items vertically */
  .header-menu-sidebar .menu > li,
  .header-menu-sidebar .nav-menu > li,
  .header-menu-sidebar .menu-primary > li,
  .customify-menu-sidebar .menu > li,
  .customify-menu-sidebar .nav-menu > li,
  .customify-menu-sidebar .menu-primary > li {
    display: block !important;
    width: 100% !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* Show links properly */
  .header-menu-sidebar .menu > li > a,
  .header-menu-sidebar .nav-menu > li > a,
  .header-menu-sidebar .menu-primary > li > a,
  .customify-menu-sidebar .menu > li > a,
  .customify-menu-sidebar .nav-menu > li > a,
  .customify-menu-sidebar .menu-primary > li > a {
    display: block !important;
    width: 100% !important;
    color: #ffffff !important;
    background: transparent !important;
    text-decoration: none !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    border-radius: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }

  /* Submenus must also stack */
  .header-menu-sidebar .sub-menu,
  .customify-menu-sidebar .sub-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0 14px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    box-shadow: none !important;
    background: transparent !important;
    height: auto !important;
    overflow: visible !important;
  }

  .header-menu-sidebar .sub-menu li,
  .customify-menu-sidebar .sub-menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .header-menu-sidebar .sub-menu li a,
  .customify-menu-sidebar .sub-menu li a {
    display: block !important;
    color: rgba(255,255,255,0.88) !important;
    padding: 10px 0 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    text-decoration: none !important;
  }

  /* Kill inline / horizontal menu behaviour */
  .header-menu-sidebar ul,
  .header-menu-sidebar li,
  .customify-menu-sidebar ul,
  .customify-menu-sidebar li {
    flex: none !important;
  }
}
body.page-id-3366 .titlebar,
body.page-id-3366 .titlebar-title {
    display: none !important;
}
/* Fix homepage unexpectedly using a sidebar/content layout */
body.home #page,
body.home #content,
body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home .content-inner,
body.home .content-wrap,
body.home .main-content {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    flex: 0 0 100% !important;
}

/* Remove any empty sidebar on the homepage */
body.home #secondary,
body.home .widget-area,
body.home .sidebar,
body.home .content-sidebar {
    display: none !important;
}

/* Ensure the outer page background fills the screen */
body.home,
body.home #page,
body.home #content {
    background: #071e38;
}
/* Fix Customify retaining an empty sidebar column on the homepage */
body.home .row-v2.row-v2-main.no-right {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: none !important;
}

/* Make the homepage content occupy the complete grid */
body.home .row-v2.row-v2-main.no-right > * {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
}

/* Ensure the main content itself is not using an old sidebar width */
body.home .content-area,
body.home .site-main,
body.home .main-layout-content {
    width: 100% !important;
    max-width: none !important;
    flex-basis: 100% !important;
}