*{ margin:0; padding:0; outline:none; box-sizing:border-box; -moz-box-sizing:border-box;-webkit-box-sizing:border-box;}

/* Remove Floating WordPress/Theme Footer Credit Bar */
#infinite-footer {
  display: none !important;
}

/* Remove Floating WordPress/Theme Footer Credit Bar */
#infinite-footer {
  display: none !important;
}

/* ── Get In Touch button - desktop only ── */
.morebutton,
.morebutton:hover {
  background-color: #7a8c99 !important;
  color: #ffffff !important;
}

/* ── Tablet and Mobile (under 1024px) ── */
@media (max-width: 1024px) {

  /* Hide grey top bar */
  .pp_topstrip {
    display: none !important;
  }

  /* Hide Get In Touch on mobile/tablet */
  .logo-and-menu > .top-align-right {
    display: none !important;
  }

  /* Remove pseudo element height */
  .header::before,
  .header::after {
    display: none !important;
    height: 0 !important;
    content: none !important;
  }

  /* Header relative for dropdown */
  .header {
    position: relative !important;
  }

  /* Container full width */
  .header .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Flex row: logo hard left, menu hard right */
  .logo-and-menu {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 16px !important;
    box-sizing: border-box !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .logo-and-menu > .clear {
    display: none !important;
  }

  /* Logo hard left */
  .logo {
    flex: 0 0 auto !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    max-height: 70px !important;
    overflow: hidden !important;
    margin-left: 0 !important;
  }

  .logo img {
    max-width: 70px !important;
    width: 70px !important;
    height: auto !important;
    display: block !important;
  }

  /* Menu area hard right */
  .mainmenu-right-area {
    flex: 0 0 auto !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-right: 0 !important;
    position: relative !important;
    z-index: 100 !important;
  }

  .mainmenu,
  #topnavigator {
    float: none !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  /* Dropdown nav anchored below header */
  #main-navigation {
    position: fixed !important;
    top: 90px !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: #fff !important;
  }

  /* Menu button */
  .menu-toggle {
    background-color: #7a8c99 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    padding: 10px 16px !important;
    border-radius: 50px !important;
    border: none !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: normal !important;
    height: auto !important;
    margin: 0 !important;
    position: relative !important;
    top: 0 !important;
    vertical-align: middle !important;
  }

  .menu-toggle:hover {
    background-color: #7a8c99 !important;
    color: #ffffff !important;
  }

  /* Remove black lines from dropdown */
  .primary-menu li,
  .primary-menu a {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }

}

/* ── Mobile only (under 768px) ── */
@media (max-width: 768px) {

  .logo img {
    max-width: 60px !important;
    width: 60px !important;
  }

  #main-navigation {
    top: 80px !important;
  }

}

/* ── Slider Fixes ── */

/* Remove slider arrows */
.nivo-prevNav,
.nivo-nextNav {
  display: none !important;
}

/* Remove slider dots */
.nivo-controlNav {
  display: none !important;
}

/* Desktop - fill full first view */
.slider-main,
.slider-main .nivoSlider,
.slider-main .nivoSlider img {
  height: calc(100vh - 170px) !important;
  max-height: calc(100vh - 170px) !important;
  object-fit: cover !important;
  width: 100% !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .slider-main,
  .slider-main .nivoSlider,
  .slider-main .nivoSlider img {
    height: calc(100vh - 90px) !important;
    max-height: calc(100vh - 90px) !important;
    object-fit: cover !important;
    width: 100% !important;
  }

  .nivo-html-caption {
    left: 5% !important;
    right: 50px !important;
    max-width: 60% !important;
  }
}

/* Mobile - full first view */
@media (max-width: 768px) {
  .slider-main,
  .slider-main .nivoSlider,
  .slider-main .nivoSlider img {
    height: calc(100vh - 90px) !important;
    max-height: calc(100vh - 90px) !important;
    object-fit: cover !important;
    object-position: center !important;
    width: 100% !important;
  }

  .nivo-html-caption {
    left: 5% !important;
    right: 5% !important;
    max-width: 90% !important;
    text-align: center !important;
    bottom: 60px !important;
  }

  .nivo-html-caption h2 {
    font-size: 24px !important;
  }

  .nivo-html-caption p {
    font-size: 14px !important;
  }
}

/* ── Mobile Class Boxes - 2 per row ── */
@media (max-width: 768px) {

  /* Make the row a flex container */
  .box-equal-height .top4box {
    width: 48% !important;
    float: left !important;
    margin: 1% !important;
    box-sizing: border-box !important;
    clear: none !important;
  }

  /* Override six_column full width */
  .six_column {
    width: 48% !important;
    float: left !important;
    clear: none !important;
    margin: 1% !important;
    box-sizing: border-box !important;
  }

  /* Last column same as others */
  .last_column {
    margin-right: 1% !important;
  }

  /* Clear fix on row */
  .box-equal-height {
    overflow: hidden !important;
    width: 100% !important;
  }

  /* Image */
  .top4box .thumbbx {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
  }

  .top4box .thumbbx img {
    width: 100% !important;
    height: 160px !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* Grey title bar - minimal height */
  .thumbbx-title h4 {
    font-size: 15px !important;
    padding: 5px 8px !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  .top4box .thumbbx-title {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide description and read more */
  .top4box .pagecontent {
    display: none !important;
  }

}

/* ── Mobile Stats Section ── */
@media (max-width: 768px) {

  /* Stack columns vertically */
  .left-column-45,
  .right-column-45 {
    width: 100% !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
    padding: 15px !important;
  }

  /* 2 column grid for counter items */
  .counterlist {
    width: 48% !important;
    float: left !important;
    margin: 1% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 0 !important;
  }

  /* Icon size */
  .counter-icon img {
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* Number and label wrapper */
  .circle_countr {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Number */
  .circle_countr h3.counter {
    font-size: 22px !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  /* Label - make sure it shows */
  .circle_countr p {
    font-size: 10px !important;
    margin: 2px 0 0 0 !important;
    line-height: 1.2 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Clear floats */
  .left-column-45 .clear {
    clear: both !important;
  }

}

/* Get In Touch button - white text */
.header-request-quote .custombtn a.morebutton,
.header-request-quote .custombtn a.morebutton:hover {
  color: #ffffff !important;
  background-color: #7a8c99 !important;
}

/* ── Mobile Menu Styling - match desktop ── */
@media (max-width: 1024px) {

  /* Menu position - fixed, sat exactly below header */
  #main-navigation {
    position: fixed !important;
    top: 76px !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    background: #ffffff !important;
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Remove header gap */
  .header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    position: relative !important;
  }

  .logo-and-menu {
    margin-bottom: 0 !important;
  }

  /* Top level menu items */
  #main-navigation .primary-menu > li {
    border-bottom: 1px solid #e5e5e5 !important;
    border-top: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Top level links */
  #main-navigation .primary-menu > li > a {
    display: block !important;
    padding: 14px 20px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #444444 !important;
    background: #ffffff !important;
    border: none !important;
  }

  #main-navigation .primary-menu > li > a:hover {
    color: #7a8c99 !important;
    background: #ffffff !important;
  }

  /* Remove burgundy active state */
  #main-navigation .primary-menu > li.current-menu-item > a,
  #main-navigation .primary-menu > li.current-menu-parent > a {
    background: #ffffff !important;
    color: #7a8c99 !important;
  }

  /* Dropdown toggle button */
  .dropdown-toggle {
    background: #ffffff !important;
    border-left: 1px solid #e5e5e5 !important;
    border-top: none !important;
    border-bottom: none !important;
    border-right: none !important;
    color: #444444 !important;
    padding: 14px 20px !important;
  }

  .dropdown-toggle:hover {
    background: #f5f5f5 !important;
  }

  /* Sub menu - grey background with white text */
  #main-navigation .sub-menu {
    background: #7a8c99 !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  #main-navigation .sub-menu li {
    border-bottom: 1px solid rgba(255,255,255,0.2) !important;
    border-top: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  #main-navigation .sub-menu li a {
    display: block !important;
    padding: 12px 30px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #ffffff !important;
    background: transparent !important;
    border: none !important;
  }

  #main-navigation .sub-menu li a:hover {
    color: #ffffff !important;
    background: rgba(255,255,255,0.1) !important;
  }

  /* Menu button */
  .menu-toggle {
    background-color: #7a8c99 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    padding: 10px 16px !important;
    border-radius: 50px !important;
    border: none !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    line-height: normal !important;
    height: auto !important;
    margin: 0 !important;
  }

  .menu-toggle:hover {
    background-color: #7a8c99 !important;
    color: #ffffff !important;
  }

}

/* ── Mobile only (under 768px) ── */
@media (max-width: 768px) {

  .logo img {
    max-width: 60px !important;
    width: 60px !important;
  }

}


/* ── Sticky Header - all devices ── */
.header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9998 !important;
  background: #ffffff !important;
}
.sitewrapper {
  overflow: visible !important;
}

/* ── Classes Page - Modern Card Layout ── */

/* Classes page - style each class as a card */
.post-6932 .entry-content h2.wp-block-heading {
  background-color: #7a8c99 !important;
  color: #ffffff !important;
  padding: 15px 20px !important;
  margin: 0 0 0 0 !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
  border-radius: 8px 8px 0 0 !important;
}

.post-6932 .entry-content h2.wp-block-heading a {
  color: #ffffff !important;
  text-decoration: none !important;
}

.post-6932 .entry-content h2.wp-block-heading a:hover {
  color: #f0f0f0 !important;
}

.post-6932 .entry-content p.wp-block-paragraph {
  background: #ffffff !important;
  border: 1px solid #e5e5e5 !important;
  border-top: none !important;
  padding: 20px !important;
  margin: 0 0 0 0 !important;
  border-radius: 0 0 8px 8px !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #444444 !important;
}

/* Remove spacer gaps between cards */
.post-6932 .entry-content .wp-block-spacer {
  height: 20px !important;
}

/* ── Individual Dance Class Pages ── */

/* Consistent image size on all class pages */
.wp-block-columns .wp-block-column .wp-block-image img {
  width: 100% !important;
  height: 400px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 8px !important;
  display: block !important;
}

/* Remove link styling on image */
.wp-block-columns .wp-block-column .wp-block-image a {
  display: block !important;
}

/* Text column styling */
.wp-block-columns .wp-block-column p.wp-block-paragraph {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #444444 !important;
  margin-bottom: 16px !important;
}

/* Divider line */
.wp-block-separator {
  border-color: #e5e5e5 !important;
  margin: 40px 0 !important;
}

/* Contact form heading */
.entry-content h2.wp-block-heading:not(.post-6932 .entry-content h2.wp-block-heading) {
  font-size: 22px !important;
  color: #444444 !important;
  margin-bottom: 20px !important;
}

/* Form styling */
.wpforms-container {
  background: #f9f9f9 !important;
  padding: 30px !important;
  border-radius: 8px !important;
  border: 1px solid #e5e5e5 !important;
}

.wpforms-submit {
  background-color: #7a8c99 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 30px !important;
  border-radius: 50px !important;
  font-size: 15px !important;
  cursor: pointer !important;
}

.wpforms-submit:hover {
  background-color: #6a7c89 !important;
}

/* Mobile - stack columns */
@media (max-width: 768px) {
  .wp-block-columns {
    flex-direction: column !important;
  }

  .wp-block-columns .wp-block-column .wp-block-image img {
    height: 250px !important;
  }
}