/* Base */
body {
  line-height: 1.7;
  color: #333333 !important;
  font-weight: 300;
  font-size: 1.1rem;
  background: #ffffff !important;
}

::-moz-selection {
  background: #333333 !important;
  color: #ffffff !important;
}

::selection {
  background: #333333 !important;
  color: #ffffff !important;
}

a {
  transition: 0.3s all ease;
  color: #333333 !important;
}
a:hover {
  text-decoration: none;
  color: #555555 !important;
}

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
  font-family: "Muli", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #333333 !important;
}

html {
  scroll-behavior: smooth;
}

img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

.border-2 {
  border-width: 2px;
}

.text-black {
  color: #333333 !important;
}

.bg-black {
  background: #333333 !important;
}

.text-white {
  color: #333333 !important;
}

.text-primary {
  color: #333333 !important;
}

.text-secondary {
  color: #333333 !important;
}

.text-muted {
  color: #666666 !important;
}

.line-height-1 {
  line-height: 1 !important;
}

.bg-text-line {
  display: inline;
  background: #333333;
  box-shadow: 20px 0 0 #333333, -20px 0 0 #333333;
}

.border-top {
  border-top: 1px solid #e0e0e0 !important;
}

.site-wrap:before {
  display: none;
  transition: 0.3s all ease-in-out;
  background: rgba(0, 0, 0, 0.6);
  content: "";
  position: absolute;
  z-index: 2000;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
}
.offcanvas-menu .site-wrap {
  height: 100%;
  width: 100%;
  z-index: 2;
}
.offcanvas-menu .site-wrap:before {
  opacity: 1;
  visibility: visible;
}

.site-section {
  padding: 4em 0;
  background-color: #ffffff !important;
  color: #333333 !important;
}
@media (min-width: 768px) {
  .site-section {
    padding: 6em 0;
  }
}
.site-section.site-section-sm {
  padding: 4em 0;
}

.site-section-heading {
  padding-bottom: 20px;
  margin-bottom: 0px;
  position: relative;
  font-size: 2.5rem;
  color: #333333 !important;
}
@media (min-width: 768px) {
  .site-section-heading {
    font-size: 3rem;
  }
}

.bg-light,
.bg-primary,
.bg-secondary,
.bg-dark,
.bg-info,
.bg-warning,
.bg-success,
.bg-danger {
  background-color: #ffffff !important;
  color: #333333 !important;
}

.btn {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
  border-width: 2px;
  background-color: #333333 !important;
  color: #ffffff !important;
  border-color: #333333 !important;
}
.btn:hover, .btn:active, .btn:focus {
  outline: none;
  box-shadow: none !important;
  background-color: #555555 !important;
  border-color: #555555 !important;
  color: #ffffff !important;
}
.btn.btn-primary {
  background-color: #333333 !important;
  border-color: #333333 !important;
  color: #ffffff !important;
}
.btn.btn-primary:hover {
  background-color: #555555 !important;
  border-color: #555555 !important;
  color: #ffffff !important;
}
.btn.btn-black {
  border-width: 2px;
  border-color: #333333 !important;
  background: #333333 !important;
  color: #ffffff !important;
}
.btn.btn-black:hover {
  color: #333333 !important;
  background-color: transparent !important;
}
.btn.btn-black.btn-outline-black {
  color: #333333 !important;
  background-color: transparent !important;
}
.btn.btn-black.btn-outline-black:hover {
  border-color: #333333 !important;
  background: #333333 !important;
  color: #ffffff !important;
}
.btn.btn-white {
  border-width: 2px;
  border-color: #333333 !important;
  background: #333333 !important;
  color: #ffffff !important;
}
.btn.btn-white:hover {
  color: #333333 !important;
  background-color: transparent !important;
}
.btn.btn-white.btn-outline-white {
  color: #333333 !important;
  background-color: transparent !important;
}
.btn.btn-white.btn-outline-white:hover {
  border-color: #333333 !important;
  background: #333333 !important;
  color: #ffffff !important;
}
.btn.btn-outline-dark {
  background-color: transparent !important;
  border-color: #333333 !important;
  color: #333333 !important;
}
.btn.btn-outline-dark:hover {
  background-color: #333333 !important;
  border-color: #333333 !important;
  color: #ffffff !important;
}

.form-control {
  height: 43px;
  border-radius: 0px;
  background: #ffffff !important;
  border-width: 2px;
  border-color: #e0e0e0 !important;
  color: #333333 !important;
  font-family: "Muli", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.form-control:active, .form-control:focus {
  border-color: #333333 !important;
  background: #ffffff !important;
  color: #333333 !important;
}
.form-control:hover, .form-control:active, .form-control:focus {
  box-shadow: none !important;
}
.form-control::placeholder {
  color: #666666 !important;
}

.select-wrap, .wrap-icon {
  position: relative;
}
.select-wrap .icon, .wrap-icon .icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  color: #333333 !important;
}
.select-wrap select, .wrap-icon select {
  appearance: none;
  width: 100%;
}

.intro-section {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  background-color: #000000 !important;
}
@media (max-width: 991.98px) {
  .intro-section {
    background-image: url("../images/mobile-hero-bg.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }
}

#home-section {
  background-color: #000000 !important;
}

#bgndVideo {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  object-fit: cover;
}

@media (max-width: 991.98px) {
  #bgndVideo {
    display: block !important;
    object-fit: cover;
    /* Ensure video covers full area on mobile */
    min-width: 100%;
    min-height: 100%;
  }
}
.hero-content {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.hero-content .container {
  width: 100% !important;
  max-width: 1200px !important;
}
.hero-content .row {
  width: 100% !important;
  margin: 0 !important;
  justify-content: center !important;
}
.hero-content .col-lg-8 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.parallax-logo {
  max-width: 500px !important;
  margin: 0 auto !important;
  display: block !important;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.3));
  transition: all 0.3s ease;
  transform-origin: center center;
}
.parallax-logo:hover {
  transform: scale(1.02);
  filter: drop-shadow(0 15px 40px rgba(0, 0, 0, 0.4));
}
@media (max-width: 991.98px) {
  .parallax-logo {
    max-width: 300px !important;
  }
}

.hero-text {
  transform: translateY(20px);
  opacity: 0;
  animation: fadeInUp 1s ease-out 0.5s forwards;
}
.hero-text h1, .hero-text p {
  color: #ffffff !important;
}
@media (max-width: 991.98px) {
  .hero-text h1 {
    font-size: 2.5rem !important;
  }
  .hero-text p {
    font-size: 1.2rem !important;
  }
}

@keyframes fadeInUp {
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.video-overlay {
  pointer-events: none;
}

.classes-image-box, .schedule-image-box {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
.classes-image-box img, .schedule-image-box img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  object-position: center;
  border-radius: 20px;
  transition: all 0.4s ease;
}
.classes-image-box img:hover, .schedule-image-box img:hover {
  transform: scale(1.05);
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.25);
}
@media (max-width: 991.98px) {
  .classes-image-box, .schedule-image-box {
    margin-bottom: 3rem;
  }
  .classes-image-box img, .schedule-image-box img {
    height: 350px;
    border-radius: 15px;
  }
}

.image-absolute-box {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
.image-absolute-box img {
  width: 100%;
  height: 700px;
  object-fit: cover;
  object-position: center;
  border-radius: 20px;
  transition: all 0.4s ease;
}
.image-absolute-box img:hover {
  transform: scale(1.03);
}
@media (max-width: 991.98px) {
  .image-absolute-box img {
    height: 500px;
    border-radius: 15px;
  }
}

.person {
  text-align: center;
  transition: all 0.3s ease;
  background-color: #ffffff !important;
  color: #333333 !important;
}
.person:hover {
  transform: translateY(-10px);
}
.person img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  object-position: center top;
  border-radius: 15px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  margin-bottom: 1.5rem !important;
}
.person img:hover {
  transform: scale(1.02);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}
@media (max-width: 991.98px) {
  .person img {
    height: 280px;
    border-radius: 12px;
  }
}
.person h3 {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #333333 !important;
}
.person p {
  font-size: 0.95rem;
  line-height: 1.5;
  margin-bottom: 0.3rem;
  color: #333333 !important;
}
.person p.opacity-7 {
  color: #333333 !important;
  font-weight: 600;
}
@media (max-width: 991.98px) {
  .person {
    margin-bottom: 2.5rem;
  }
}

.class-box {
  background: #ffffff !important;
  border-radius: 10px;
  border: 1px solid #e9ecef !important;
  transition: all 0.3s ease;
  height: 100%;
  color: #333333 !important;
}
.class-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
  border-color: #333333 !important;
}
.class-box h4 {
  color: #333333 !important;
  font-weight: 600;
  margin-bottom: 1rem;
}
.class-box p {
  color: #333333 !important;
  margin-bottom: 0;
  line-height: 1.6;
}
.class-box p strong {
  color: #333333 !important;
}
@media (max-width: 991.98px) {
  .class-box {
    margin-bottom: 1.5rem;
  }
}

.section-title {
  font-weight: 700;
  color: #333333 !important;
  margin-bottom: 1.5rem;
}
.section-title:after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  background: #333333 !important;
  margin-top: 15px;
}

.membership-box {
  background: #ffffff !important;
  border-radius: 15px;
  border: 2px solid #e9ecef !important;
  transition: all 0.3s ease;
  position: relative;
  min-height: 450px;
  color: #333333 !important;
}
.membership-box:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
  border-color: #333333 !important;
}
.membership-box.featured {
  border-color: #333333 !important;
  transform: scale(1.02);
}
.membership-box.featured .membership-header {
  background: #333333 !important;
  color: #ffffff !important;
  margin: -1.5rem -1.5rem 2rem -1.5rem;
  padding: 2.5rem 1.5rem;
  border-radius: 13px 13px 0 0;
}
.membership-box.featured .price .currency, .membership-box.featured .price .amount, .membership-box.featured .price .period {
  color: #ffffff !important;
}
.membership-box.featured h3 {
  color: #ffffff !important;
}
@media (max-width: 991.98px) {
  .membership-box.featured {
    transform: scale(1);
  }
}
@media (max-width: 991.98px) {
  .membership-box {
    margin-bottom: 2rem;
    min-height: auto;
  }
}

.membership-header {
  position: relative;
  padding-bottom: 1rem;
}
.membership-header h3 {
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #333333 !important;
  font-size: 1.8rem;
}
@media (max-width: 991.98px) {
  .membership-header h3 {
    font-size: 1.5rem;
  }
}
.membership-header .popular-badge {
  position: absolute;
  top: -15px;
  right: -15px;
  background: #333333 !important;
  color: #ffffff !important;
  padding: 8px 18px;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-bottom: 2rem;
  padding: 1rem 0;
}
.price .currency {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333333 !important;
}
@media (max-width: 991.98px) {
  .price .currency {
    font-size: 1.2rem;
  }
}
.price .amount {
  font-size: 4rem;
  font-weight: 700;
  color: #333333 !important;
  margin: 0 0.3rem;
}
@media (max-width: 991.98px) {
  .price .amount {
    font-size: 3rem;
  }
}
.price .period {
  font-size: 1.2rem;
  color: #666666 !important;
  font-weight: 500;
}
@media (max-width: 991.98px) {
  .price .period {
    font-size: 1rem;
  }
}

.membership-features {
  padding: 0 1rem;
  margin-bottom: 2rem;
}
.membership-features li {
  padding: 0.8rem 0;
  display: flex;
  align-items: center;
  font-size: 1rem;
  color: #333333 !important;
}
.membership-features li i {
  margin-right: 1rem;
  width: 20px;
  font-size: 1.1rem;
  color: #333333 !important;
}
@media (max-width: 991.98px) {
  .membership-features li {
    font-size: 0.9rem;
    padding: 0.6rem 0;
  }
}
@media (max-width: 991.98px) {
  .membership-features {
    padding: 0 0.5rem;
  }
}

#affiliate-section {
  background: #ffffff !important;
  color: #333333 !important;
}
#affiliate-section h2, #affiliate-section h3, #affiliate-section p, #affiliate-section a {
  color: #333333 !important;
}
#affiliate-section .affiliate-logo-box {
  position: relative;
}
#affiliate-section .affiliate-logo-box .affiliate-logo {
  max-width: 400px !important;
  height: auto;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.2));
  transition: all 0.3s ease;
}
#affiliate-section .affiliate-logo-box .affiliate-logo:hover {
  transform: scale(1.08);
  filter: drop-shadow(0 15px 40px rgba(0, 0, 0, 0.3));
}
@media (max-width: 991.98px) {
  #affiliate-section .affiliate-logo-box .affiliate-logo {
    max-width: 250px !important;
  }
}
@media (max-width: 991.98px) {
  #affiliate-section .affiliate-logo-box {
    margin-top: 2rem;
  }
}
#affiliate-section .btn-white {
  border: 2px solid #333333 !important;
  color: #333333 !important;
  background: transparent !important;
  font-weight: 600;
  padding: 12px 30px;
}
#affiliate-section .btn-white:hover {
  background: #333333 !important;
  color: #ffffff !important;
  border-color: #333333 !important;
}
@media (max-width: 991.98px) {
  #affiliate-section h2 {
    font-size: 2rem;
  }
  #affiliate-section h3 {
    font-size: 1.5rem;
  }
}

.nav-link,
.navbar-nav .nav-link,
.nav-tabs .nav-link,
.nav-pills .nav-link {
  color: #333333 !important;
  background-color: transparent !important;
}
.nav-link:hover, .nav-link:focus, .nav-link:active,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link:active,
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:active,
.nav-pills .nav-link:hover,
.nav-pills .nav-link:focus,
.nav-pills .nav-link:active {
  color: #555555 !important;
  background-color: transparent !important;
}
.nav-link.active,
.navbar-nav .nav-link.active,
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
  background-color: transparent !important;
  color: #333333 !important;
  font-weight: 700;
}

.navbar-nav .nav-item .nav-link.active,
.navbar-nav .nav-item.active .nav-link {
  background-color: transparent !important;
  color: #333333 !important;
}

.navbar,
.navbar-nav,
.nav,
.nav-item,
.nav-link {
  background-color: transparent !important;
}
.navbar.active,
.navbar-nav.active,
.nav.active,
.nav-item.active,
.nav-link.active {
  background-color: transparent !important;
}

#contact-section {
  background-color: #ffffff !important;
  color: #333333 !important;
}
#contact-section .section-title {
  color: #333333 !important;
}
#contact-section .section-title:after {
  background: #333333 !important;
}
#contact-section p, #contact-section h2, #contact-section h3, #contact-section h4, #contact-section h5 {
  color: #333333 !important;
}
#contact-section a {
  color: #333333 !important;
}
#contact-section a:hover {
  color: #555555 !important;
}
#contact-section .form-control {
  background: #ffffff !important;
  border-color: #e0e0e0 !important;
  color: #333333 !important;
}
#contact-section .form-control::placeholder {
  color: #666666 !important;
}
#contact-section .form-control:focus {
  background: #ffffff !important;
  border-color: #333333 !important;
}

.footer-section {
  background-color: #333333 !important;
}
.footer-section h3, .footer-section h5 {
  color: #ffffff !important;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.footer-section p {
  color: #e9ecef !important;
  line-height: 1.6;
}
.footer-section p strong {
  color: #ffffff !important;
  font-weight: 600;
}
.footer-section .footer-links li {
  margin-bottom: 0.5rem;
}
.footer-section .footer-links li a {
  color: #333333 !important;
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-section .footer-links li a:hover {
  color: #555555 !important;
  text-decoration: none;
}
.footer-section a {
  transition: all 0.3s ease;
  color: #e9ecef !important;
}
.footer-section a:hover {
  transform: translateY(-2px);
  opacity: 0.8;
  color: #ffffff !important;
}

.fas, .fab,
.flaticon-017-tatami,
.flaticon-028-belt {
  color: #333333 !important;
}

.table {
  background-color: #ffffff !important;
  color: #333333 !important;
}
.table th, .table td {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
}

.counter {
  background-color: #ffffff !important;
  color: #333333 !important;
}

.popular-badge {
  background-color: #333333 !important;
  color: #ffffff !important;
}

.img-fluid {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.img-fluid.loaded {
  opacity: 1;
}

.hover-bg-enlarge {
  overflow: hidden;
  position: relative;
}
.hover-bg-enlarge > div {
  transform: scale(1);
  transition: 0.8s all ease-in-out;
}
.hover-bg-enlarge:hover > div, .hover-bg-enlarge:focus > div, .hover-bg-enlarge:active > div {
  transform: scale(1.2);
}
@media (max-width: 991.98px) {
  .hover-bg-enlarge .bg-image-md-height {
    height: 300px !important;
  }
}
@media (max-width: 991.98px) {
  .hover-bg-enlarge {
    height: auto !important;
  }
}

.bg-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
.bg-image.overlay {
  position: relative;
}
.bg-image.overlay:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
}
.bg-image > .container {
  position: relative;
  z-index: 1;
}

.ul-check {
  margin-bottom: 50px;
}
.ul-check li {
  position: relative;
  padding-left: 35px;
  margin-bottom: 15px;
  line-height: 1.5;
  color: #333333 !important;
}
.ul-check li:before {
  left: 0;
  font-size: 20px;
  top: -0.3rem;
  font-family: "icomoon";
  content: "\e5ca";
  position: absolute;
  color: #333333 !important;
}

* {
  border-color: #e0e0e0 !important;
}

.table,
.table-bordered,
.table-striped,
.schedule-table {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
}
.table th, .table td, .table tr,
.table-bordered th,
.table-bordered td,
.table-bordered tr,
.table-striped th,
.table-striped td,
.table-striped tr,
.schedule-table th,
.schedule-table td,
.schedule-table tr {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
  border-top-color: #e0e0e0 !important;
  border-bottom-color: #e0e0e0 !important;
  border-left-color: #e0e0e0 !important;
  border-right-color: #e0e0e0 !important;
}
.table .table-success,
.table .table-info,
.table .table-primary,
.table .table-secondary,
.table-bordered .table-success,
.table-bordered .table-info,
.table-bordered .table-primary,
.table-bordered .table-secondary,
.table-striped .table-success,
.table-striped .table-info,
.table-striped .table-primary,
.table-striped .table-secondary,
.schedule-table .table-success,
.schedule-table .table-info,
.schedule-table .table-primary,
.schedule-table .table-secondary {
  background-color: #ffffff !important;
  color: #333333 !important;
}
.table tbody tr:nth-of-type(odd),
.table-bordered tbody tr:nth-of-type(odd),
.table-striped tbody tr:nth-of-type(odd),
.schedule-table tbody tr:nth-of-type(odd) {
  background-color: #f8f9fa !important;
  color: #333333 !important;
}
.table tbody tr:nth-of-type(even),
.table-bordered tbody tr:nth-of-type(even),
.table-striped tbody tr:nth-of-type(even),
.schedule-table tbody tr:nth-of-type(even) {
  background-color: #ffffff !important;
  color: #333333 !important;
}

h1, h2, h3, h4, h5, h6,
p, span, div, td, th, li, a,
.text-white,
.text-primary,
.text-secondary,
.text-info,
.text-success,
.text-warning,
.text-danger,
.text-muted,
.text-light,
.text-dark,
.lead {
  color: #333333 !important;
}

.bg-primary,
.bg-secondary,
.bg-success,
.bg-danger,
.bg-warning,
.bg-info,
.bg-light,
.bg-dark,
.bg-white {
  background-color: #ffffff !important;
  color: #333333 !important;
}

.alert,
.badge,
.label {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
}

.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning,
.btn-info,
.btn-light,
.btn-dark {
  background-color: #333333 !important;
  border-color: #333333 !important;
  color: #ffffff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-light:hover,
.btn-light:focus,
.btn-light:active,
.btn-dark:hover,
.btn-dark:focus,
.btn-dark:active {
  background-color: #555555 !important;
  border-color: #555555 !important;
  color: #ffffff !important;
}

.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info,
.btn-outline-light,
.btn-outline-dark {
  background-color: transparent !important;
  border-color: #333333 !important;
  color: #333333 !important;
}
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active,
.btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active,
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active,
.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:active,
.btn-outline-dark:hover,
.btn-outline-dark:focus,
.btn-outline-dark:active {
  background-color: #333333 !important;
  border-color: #333333 !important;
  color: #ffffff !important;
}

.card,
.card-header,
.card-body,
.card-footer {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
}

.list-group-item {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
}

.progress {
  background-color: #e0e0e0 !important;
}

.progress-bar {
  background-color: #333333 !important;
}

.nav-link,
.navbar-nav .nav-link,
.nav-tabs .nav-link,
.nav-pills .nav-link {
  color: #333333 !important;
  background-color: transparent !important;
}
.nav-link:hover, .nav-link:focus, .nav-link:active,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link:active,
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:active,
.nav-pills .nav-link:hover,
.nav-pills .nav-link:focus,
.nav-pills .nav-link:active {
  color: #555555 !important;
  background-color: transparent !important;
}
.nav-link.active,
.navbar-nav .nav-link.active,
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
  background-color: transparent !important;
  color: #333333 !important;
  font-weight: 700;
  position: relative;
}
.nav-link.active:after,
.navbar-nav .nav-link.active:after,
.nav-tabs .nav-link.active:after,
.nav-pills .nav-link.active:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 2px;
  background-color: #333333;
}

.dropdown-menu {
  background-color: #ffffff !important;
  border-color: #e0e0e0 !important;
}

.dropdown-item {
  color: #333333 !important;
}
.dropdown-item:hover, .dropdown-item:focus {
  background-color: #f8f9fa !important;
  color: #333333 !important;
}

.modal-content,
.modal-header,
.modal-body,
.modal-footer {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
}

.tooltip,
.popover {
  background-color: #333333 !important;
  color: #ffffff !important;
  border-color: #333333 !important;
}

.page-link {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
}
.page-link:hover, .page-link:focus {
  background-color: #f8f9fa !important;
  color: #333333 !important;
}

.page-item.active .page-link {
  background-color: #333333 !important;
  color: #ffffff !important;
  border-color: #333333 !important;
}

.breadcrumb {
  background-color: #f8f9fa !important;
}

.breadcrumb-item {
  color: #333333 !important;
}
.breadcrumb-item a {
  color: #333333 !important;
}
.breadcrumb-item a:hover {
  color: #555555 !important;
}

::selection,
::-moz-selection {
  background-color: #333333 !important;
  color: #ffffff !important;
}

.text-primary,
.text-secondary,
.text-success,
.text-info,
.text-warning,
.text-danger {
  color: #333333 !important;
}

.schedule-time,
.schedule-class,
.schedule-instructor,
.class-schedule,
.time-slot {
  background-color: #ffffff !important;
  color: #333333 !important;
  border-color: #e0e0e0 !important;
}

.highlight,
.active,
.selected,
.current {
  background-color: #f8f9fa !important;
  color: #333333 !important;
  border-color: #333333 !important;
}

.site-navbar,
.navbar,
.navbar-nav,
.nav,
.nav-item,
.nav-link,
.navbar-nav .nav-link,
.site-navbar .nav-link,
.site-navbar .navbar-nav .nav-link {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
  background-color: transparent !important;
  background: transparent !important;
}
.site-navbar:before, .site-navbar:after,
.navbar:before,
.navbar:after,
.navbar-nav:before,
.navbar-nav:after,
.nav:before,
.nav:after,
.nav-item:before,
.nav-item:after,
.nav-link:before,
.nav-link:after,
.navbar-nav .nav-link:before,
.navbar-nav .nav-link:after,
.site-navbar .nav-link:before,
.site-navbar .nav-link:after,
.site-navbar .navbar-nav .nav-link:before,
.site-navbar .navbar-nav .nav-link:after {
  display: none !important;
  content: none !important;
  border: none !important;
  background: transparent !important;
}
.site-navbar.active, .site-navbar:active, .site-navbar.current, .site-navbar.selected,
.navbar.active,
.navbar:active,
.navbar.current,
.navbar.selected,
.navbar-nav.active,
.navbar-nav:active,
.navbar-nav.current,
.navbar-nav.selected,
.nav.active,
.nav:active,
.nav.current,
.nav.selected,
.nav-item.active,
.nav-item:active,
.nav-item.current,
.nav-item.selected,
.nav-link.active,
.nav-link:active,
.nav-link.current,
.nav-link.selected,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link:active,
.navbar-nav .nav-link.current,
.navbar-nav .nav-link.selected,
.site-navbar .nav-link.active,
.site-navbar .nav-link:active,
.site-navbar .nav-link.current,
.site-navbar .nav-link.selected,
.site-navbar .navbar-nav .nav-link.active,
.site-navbar .navbar-nav .nav-link:active,
.site-navbar .navbar-nav .nav-link.current,
.site-navbar .navbar-nav .nav-link.selected {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
  background-color: transparent !important;
  background: transparent !important;
  color: #333333 !important;
  font-weight: 700 !important;
}
.site-navbar.active:before, .site-navbar.active:after, .site-navbar:active:before, .site-navbar:active:after, .site-navbar.current:before, .site-navbar.current:after, .site-navbar.selected:before, .site-navbar.selected:after,
.navbar.active:before,
.navbar.active:after,
.navbar:active:before,
.navbar:active:after,
.navbar.current:before,
.navbar.current:after,
.navbar.selected:before,
.navbar.selected:after,
.navbar-nav.active:before,
.navbar-nav.active:after,
.navbar-nav:active:before,
.navbar-nav:active:after,
.navbar-nav.current:before,
.navbar-nav.current:after,
.navbar-nav.selected:before,
.navbar-nav.selected:after,
.nav.active:before,
.nav.active:after,
.nav:active:before,
.nav:active:after,
.nav.current:before,
.nav.current:after,
.nav.selected:before,
.nav.selected:after,
.nav-item.active:before,
.nav-item.active:after,
.nav-item:active:before,
.nav-item:active:after,
.nav-item.current:before,
.nav-item.current:after,
.nav-item.selected:before,
.nav-item.selected:after,
.nav-link.active:before,
.nav-link.active:after,
.nav-link:active:before,
.nav-link:active:after,
.nav-link.current:before,
.nav-link.current:after,
.nav-link.selected:before,
.nav-link.selected:after,
.navbar-nav .nav-link.active:before,
.navbar-nav .nav-link.active:after,
.navbar-nav .nav-link:active:before,
.navbar-nav .nav-link:active:after,
.navbar-nav .nav-link.current:before,
.navbar-nav .nav-link.current:after,
.navbar-nav .nav-link.selected:before,
.navbar-nav .nav-link.selected:after,
.site-navbar .nav-link.active:before,
.site-navbar .nav-link.active:after,
.site-navbar .nav-link:active:before,
.site-navbar .nav-link:active:after,
.site-navbar .nav-link.current:before,
.site-navbar .nav-link.current:after,
.site-navbar .nav-link.selected:before,
.site-navbar .nav-link.selected:after,
.site-navbar .navbar-nav .nav-link.active:before,
.site-navbar .navbar-nav .nav-link.active:after,
.site-navbar .navbar-nav .nav-link:active:before,
.site-navbar .navbar-nav .nav-link:active:after,
.site-navbar .navbar-nav .nav-link.current:before,
.site-navbar .navbar-nav .nav-link.current:after,
.site-navbar .navbar-nav .nav-link.selected:before,
.site-navbar .navbar-nav .nav-link.selected:after {
  display: none !important;
  content: none !important;
  border: none !important;
  background: transparent !important;
}
.site-navbar:hover, .site-navbar:focus,
.navbar:hover,
.navbar:focus,
.navbar-nav:hover,
.navbar-nav:focus,
.nav:hover,
.nav:focus,
.nav-item:hover,
.nav-item:focus,
.nav-link:hover,
.nav-link:focus,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus,
.site-navbar .navbar-nav .nav-link:hover,
.site-navbar .navbar-nav .nav-link:focus {
  border: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none !important;
  background-color: transparent !important;
  background: transparent !important;
  color: #555555 !important;
}
.site-navbar:hover:before, .site-navbar:hover:after, .site-navbar:focus:before, .site-navbar:focus:after,
.navbar:hover:before,
.navbar:hover:after,
.navbar:focus:before,
.navbar:focus:after,
.navbar-nav:hover:before,
.navbar-nav:hover:after,
.navbar-nav:focus:before,
.navbar-nav:focus:after,
.nav:hover:before,
.nav:hover:after,
.nav:focus:before,
.nav:focus:after,
.nav-item:hover:before,
.nav-item:hover:after,
.nav-item:focus:before,
.nav-item:focus:after,
.nav-link:hover:before,
.nav-link:hover:after,
.nav-link:focus:before,
.nav-link:focus:after,
.navbar-nav .nav-link:hover:before,
.navbar-nav .nav-link:hover:after,
.navbar-nav .nav-link:focus:before,
.navbar-nav .nav-link:focus:after,
.site-navbar .nav-link:hover:before,
.site-navbar .nav-link:hover:after,
.site-navbar .nav-link:focus:before,
.site-navbar .nav-link:focus:after,
.site-navbar .navbar-nav .nav-link:hover:before,
.site-navbar .navbar-nav .nav-link:hover:after,
.site-navbar .navbar-nav .nav-link:focus:before,
.site-navbar .navbar-nav .nav-link:focus:after {
  display: none !important;
  content: none !important;
}

.nav-tabs,
.nav-pills {
  border: none !important;
  border-bottom: none !important;
}
.nav-tabs .nav-link,
.nav-pills .nav-link {
  border: none !important;
  border-radius: 0 !important;
}
.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
  border: none !important;
  border-bottom: none !important;
  background-color: transparent !important;
  color: #333333 !important;
}

*:before, *:after {
  border-color: transparent !important;
}

* {
  border-color: #e0e0e0 !important;
}
*.bg-success, *.table-success, *.alert-success, *.badge-success, *.btn-success {
  background-color: #ffffff !important;
  border-color: #e0e0e0 !important;
  color: #333333 !important;
}
*.text-success {
  color: #333333 !important;
}

.text-success,
.bg-success,
.border-success,
.table-success,
.alert-success,
.badge-success,
.btn-success,
.btn-outline-success {
  color: #333333 !important;
  background-color: #ffffff !important;
  border-color: #e0e0e0 !important;
}

/* Navbar */
.site-logo {
  position: relative;
  font-weight: 900;
  font-size: 1.3rem;
}
.site-logo a {
  color: #000 !important;
}

.site-navbar {
  margin-bottom: 0px;
  z-index: 1999;
  position: fixed !important;
  top: 0 !important;
  width: 100%;
  background-color: #ffffff !important;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.3s ease !important;
}
.site-navbar .container-fluid {
  padding-left: 7rem;
  padding-right: 7rem;
  position: relative;
  overflow: visible !important;
}
@media (max-width: 991px) {
  .site-navbar .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.site-navbar .site-navigation {
  position: relative;
  overflow: visible !important;
}
.site-navbar .site-navigation .site-menu {
  margin-bottom: 0;
  list-style: none;
  align-items: center;
  /* Desktop: Show as flex */
  display: flex;
  /* Mobile: Hide by default */
}
@media (max-width: 991px) {
  .site-navbar .site-navigation .site-menu {
    display: none;
  }
}
.site-navbar .site-navigation .site-menu a {
  text-decoration: none !important;
  display: inline-block;
}
.site-navbar .site-navigation .site-menu > li {
  display: inline-block;
}
.site-navbar .site-navigation .site-menu > li > a {
  padding: 5px 20px;
  color: #000 !important;
  display: inline-block;
  text-decoration: none !important;
  font-weight: 500 !important;
}
.site-navbar .site-navigation .site-menu > li > a:hover {
  color: #333333 !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
  border-radius: 8px !important;
}
.site-navbar .site-navigation .site-menu > li.cta > a {
  border: 2px solid #000 !important;
  border-radius: 25px !important;
  background-color: transparent !important;
  color: #000 !important;
  padding: 8px 20px !important;
}
.site-navbar .site-navigation .site-menu > li.cta > a:hover, .site-navbar .site-navigation .site-menu > li.cta > a:focus {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

.site-menu-toggle {
  display: none;
  color: #000 !important;
  font-size: 1.5rem;
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  text-decoration: none;
}
.site-menu-toggle:hover, .site-menu-toggle:focus {
  color: #333333 !important;
  outline: none;
  text-decoration: none;
}
@media (max-width: 991px) {
  .site-menu-toggle {
    display: block !important;
  }
}

/* MOBILE NAVIGATION - FULL WIDTH, SOLID WHITE */
@media (max-width: 991px) {
  .site-navigation .site-menu {
    position: fixed !important;
    top: 70px !important; /* Adjust based on your navbar height */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    flex-direction: column !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    border-radius: 0 0 15px 15px !important;
    padding: 1.5rem 0 !important;
    z-index: 1050 !important;
    margin: 0 !important;
    list-style: none !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-top: none !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .site-navigation .site-menu.show {
    display: flex !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    opacity: 1 !important;
  }
  .site-navigation .site-menu > li {
    margin: 0 !important;
    text-align: center !important;
    width: 100% !important;
    display: block !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
  }
  .site-navigation .site-menu > li > a {
    display: block !important;
    padding: 1.2rem 2rem !important;
    font-size: 1.1rem !important;
    color: #333333 !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    text-decoration: none !important;
    border: none !important;
    margin: 0 !important;
    width: 100% !important;
    font-weight: 500 !important;
    opacity: 1 !important;
    white-space: nowrap !important;
  }
  .site-navigation .site-menu > li > a:hover, .site-navigation .site-menu > li > a:focus {
    background-color: rgba(0, 0, 0, 0.05) !important;
    background: rgba(0, 0, 0, 0.05) !important;
    color: #333333 !important;
  }
  .site-navigation .site-menu > li.cta > a {
    border: 2px solid #333333 !important;
    border-radius: 25px !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    margin: 0.75rem 1.5rem !important;
    color: #333333 !important;
    width: calc(100% - 3rem) !important;
  }
  .site-navigation .site-menu > li.cta > a:hover, .site-navigation .site-menu > li.cta > a:focus {
    background-color: #333333 !important;
    background: #333333 !important;
    color: #ffffff !important;
  }
  /* Force containers to allow full-width dropdown */
  .site-navbar,
  .site-navbar .container-fluid,
  .site-navigation {
    overflow: visible !important;
  }
  /* Prevent horizontal scroll on body */
  body {
    overflow-x: hidden !important;
  }
}
.sticky-wrapper {
  position: fixed !important;
  top: 0 !important;
  z-index: 1999;
  width: 100%;
}
.sticky-wrapper .site-navbar {
  background-color: #ffffff !important;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1) !important;
}
.sticky-wrapper .site-navbar .site-logo a {
  color: #000 !important;
}
.sticky-wrapper .site-navbar .site-menu > li > a {
  color: #000 !important;
}
.sticky-wrapper .site-navbar .site-menu > li > a:hover {
  color: #333333 !important;
  background-color: rgba(0, 0, 0, 0.05) !important;
  border-radius: 8px !important;
}
.sticky-wrapper .site-navbar .site-menu > li.cta > a {
  border: 2px solid #000 !important;
  border-radius: 25px !important;
  background-color: transparent !important;
  color: #000 !important;
}
.sticky-wrapper .site-navbar .site-menu > li.cta > a:hover, .sticky-wrapper .site-navbar .site-menu > li.cta > a:focus {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

/* ===================================
   BOOTSTRAP NAVIGATION OVERRIDE - REMOVE GREEN HOVER
   ================================= */
/* Remove ALL Bootstrap navigation hover styling */
.nav-link,
.navbar-nav .nav-link,
.nav-item .nav-link,
.site-menu a,
.site-menu .nav-link {
  color: #000 !important;
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  transition: all 0.3s ease !important;
}
.nav-link:hover, .nav-link:focus, .nav-link.active, .nav-link.show,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show,
.nav-item .nav-link:hover,
.nav-item .nav-link:focus,
.nav-item .nav-link.active,
.nav-item .nav-link.show,
.site-menu a:hover,
.site-menu a:focus,
.site-menu a.active,
.site-menu a.show,
.site-menu .nav-link:hover,
.site-menu .nav-link:focus,
.site-menu .nav-link.active,
.site-menu .nav-link.show {
  color: #000 !important; /* Keep black, not green */
  background-color: rgba(0, 0, 0, 0.05) !important; /* Light gray hover */
  background: rgba(0, 0, 0, 0.05) !important;
  border-radius: 8px !important;
  border: none !important;
  text-decoration: none !important;
}

/* Override Bootstrap's primary color hover states */
.nav-link:hover,
.nav-link:focus,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  color: #000 !important; /* Force black instead of Bootstrap green */
  background-color: rgba(0, 0, 0, 0.05) !important;
  background: rgba(0, 0, 0, 0.05) !important;
}

/* Mobile navigation hover override */
@media (max-width: 991px) {
  .site-menu a,
  .site-menu .nav-link,
  .nav-link,
  .navbar-nav .nav-link {
    color: rgb(51, 51, 51) !important;
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
  }
  .site-menu a:hover, .site-menu a:focus, .site-menu a.active,
  .site-menu .nav-link:hover,
  .site-menu .nav-link:focus,
  .site-menu .nav-link.active,
  .nav-link:hover,
  .nav-link:focus,
  .nav-link.active,
  .navbar-nav .nav-link:hover,
  .navbar-nav .nav-link:focus,
  .navbar-nav .nav-link.active {
    color: rgb(51, 51, 51) !important; /* Keep dark gray, not green */
    background-color: rgba(0, 0, 0, 0.05) !important; /* Light gray hover */
    background: rgba(0, 0, 0, 0.05) !important;
    border: none !important;
    text-decoration: none !important;
  }
  /* Force CTA button styling in mobile */
  .site-menu .cta a,
  .site-menu .cta .nav-link {
    border: 2px solid rgb(51, 51, 51) !important;
    border-radius: 25px !important;
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    color: rgb(51, 51, 51) !important;
  }
  .site-menu .cta a:hover, .site-menu .cta a:focus,
  .site-menu .cta .nav-link:hover,
  .site-menu .cta .nav-link:focus {
    background-color: rgb(51, 51, 51) !important; /* Dark background on hover */
    background: rgb(51, 51, 51) !important;
    color: rgb(255, 255, 255) !important; /* White text on hover */
    border-color: rgb(51, 51, 51) !important;
  }
}
/* Desktop CTA button override */
@media (min-width: 992px) {
  .site-menu .cta a,
  .site-menu .cta .nav-link {
    border: 2px solid #000 !important;
    border-radius: 25px !important;
    background-color: transparent !important;
    background: transparent !important;
    color: #000 !important;
  }
  .site-menu .cta a:hover, .site-menu .cta a:focus,
  .site-menu .cta .nav-link:hover,
  .site-menu .cta .nav-link:focus {
    background-color: #000 !important; /* Black background on hover */
    background: #000 !important;
    color: #fff !important; /* White text on hover */
    border-color: #000 !important;
  }
}
/* Override any remaining Bootstrap primary/success color classes */
.btn-primary:hover,
.btn-primary:focus,
.text-primary:hover,
.bg-primary:hover {
  background-color: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}

/* Blocks */
.intro-section {
  position: relative;
}
.intro-section, .intro-section .container .row {
  height: 100vh;
  min-height: 900px;
}
.intro-section:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background: #222;
  border-bottom-right-radius: 0px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 991.98px) {
  .intro-section:before {
    width: 100%;
  }
}
.intro-section h1 {
  font-size: 7rem;
  font-weight: 900;
  color: #fff;
}
.intro-section p {
  color: rgba(255, 255, 255, 0.5);
  font-size: 1.1rem;
  max-width: 400px;
}

.img-absolute {
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}
.img-absolute img {
  max-width: 600px;
  box-shadow: 0 10px 50px -5px rgba(0, 0, 0, 0.4);
}
@media (max-width: 991.98px) {
  .img-absolute img {
    max-width: 100%;
  }
}

.site-section {
  padding: 5em 0;
}
@media (max-width: 991.98px) {
  .site-section {
    padding: 4em 0;
  }
}

.cta a span {
  border-color: #48d494;
  padding: 10px 20px;
  font-size: 0.8rem;
  text-transform: uppercase;
  color: #48d494;
  font-weight: 700;
}
.cta a:hover span {
  background: #48d494;
  color: #fff;
}
.cta a.active {
  border-bottom: none;
}
.cta a.active > span {
  background-color: #48d494;
  color: #fff;
}

.section-sub-title {
  color: #48d494;
  text-transform: uppercase;
  font-size: 0.7rem;
  font-weight: 900;
  display: block;
  margin-bottom: 1.5rem;
}

.section-title {
  font-size: 3rem;
  color: #48d494;
  margin-bottom: 1.8rem;
  font-weight: 900;
  max-width: 450px;
}
@media (max-width: 991.98px) {
  .section-title {
    font-size: 1.5rem;
  }
}

.counter .icon-wrap {
  margin-right: 1.5rem;
}
.counter .icon-wrap > span {
  position: relative;
  top: -0.2em;
  font-size: 3rem;
}
.counter .counter-text strong {
  line-height: 0.5;
  font-size: 2.5rem;
  display: block;
  font-weight: 700;
  color: #fff;
  margin-bottom: 1rem;
}
.counter .counter-text span {
  font-size: 1rem;
  line-height: 1;
}

.image-absolute-box {
  position: relative;
}
.image-absolute-box .box {
  position: absolute;
  background: #48d494;
  padding: 30px;
  max-width: 300px;
  top: -20%;
  right: -20%;
}
@media (max-width: 991.98px) {
  .image-absolute-box .box {
    top: auto;
    right: auto;
    position: relative;
    width: 100%;
    max-width: 100%;
  }
}
.image-absolute-box .box .icon-wrap {
  color: #fff;
  margin-bottom: 1.5rem;
}
.image-absolute-box .box .icon-wrap span {
  font-size: 2rem;
}
.image-absolute-box .box h3 {
  font-size: 1.2rem;
  color: #fff;
  margin-bottom: 1.5rem;
}
.image-absolute-box .box p {
  color: rgba(255, 255, 255, 0.55);
}

.work-thumb {
  position: relative;
  display: block;
  cursor: pointer;
}
.work-thumb:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  content: "";
  background: rgba(72, 212, 148, 0.8);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s all ease;
}
.work-thumb .work-text {
  position: absolute;
  top: 10%;
  left: 10%;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s all ease;
  margin-top: 20px;
}
.work-thumb .work-text h3 {
  font-size: 1rem;
  font-weight: 900;
  color: #fff;
  margin: 0;
  padding: 0;
}
.work-thumb .work-text .category {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.work-thumb:hover {
  z-index: 3;
  transform: scale(1.07);
}
.work-thumb:hover:after {
  opacity: 1;
  visibility: visible;
}
.work-thumb:hover .work-text {
  transition-delay: 0.2s;
  opacity: 1;
  visibility: visible;
  margin-top: 0px;
}

.nonloop-block-13 .owl-nav {
  display: none;
}
.nonloop-block-13 .owl-dots {
  margin-top: 30px;
  width: 100%;
  text-align: center;
}
.nonloop-block-13 .owl-dots .owl-dot {
  display: inline-block;
  margin: 5px;
}
.nonloop-block-13 .owl-dots .owl-dot span {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgb(229.5, 229.5, 229.5);
}
.nonloop-block-13 .owl-dots .owl-dot.active span {
  background-color: #48d494;
}
.nonloop-block-14 .owl-nav {
  display: none;
}
.nonloop-block-14 .owl-dots {
  margin-top: 30px;
  width: 100%;
  text-align: center;
}
.nonloop-block-14 .owl-dots .owl-dot {
  display: inline-block;
  margin: 5px;
}
.nonloop-block-14 .owl-dots .owl-dot span {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgb(229.5, 229.5, 229.5);
}
.nonloop-block-14 .owl-dots .owl-dot.active span {
  background-color: #48d494;
}

.footer-section {
  padding: 7em 0;
}
.footer-section p {
  font-size: 1rem;
}
.footer-section h3 {
  font-size: 0.9rem;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 1.5rem;
  font-weight: 900;
}
.footer-section .footer-links li {
  margin-bottom: 10px;
}

.process, .service {
  position: relative;
}
.process .number, .service .number {
  position: absolute;
  top: 50px;
  left: -30px;
  line-height: 0;
  z-index: -1;
  font-size: 10rem;
  color: rgb(25.5, 25.5, 25.5);
  font-weight: 900;
}
.process h3, .service h3 {
  font-size: 1.5rem;
  color: #fff;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

.service {
  padding: 4rem;
  background: #48d494;
}
@media (max-width: 991.98px) {
  .service {
    padding: 2rem;
  }
}
.service p {
  color: rgba(255, 255, 255, 0.8);
}

.video-background {
  background: #000;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -99;
}

.video-foreground,
.video-background iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

#vidtop-content {
  top: 0;
  color: #fff;
}

.vid-info {
  position: absolute;
  top: 0;
  right: 0;
  width: 33%;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  padding: 1rem;
  font-family: Avenir, Helvetica, sans-serif;
}

.vid-info h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 0;
  line-height: 1.2;
}

.vid-info a {
  display: block;
  color: #fff;
  text-decoration: none;
  background: rgba(0, 0, 0, 0.5);
  transition: 0.6s background;
  border-bottom: none;
  margin: 1rem auto;
  text-align: center;
}

@media (min-aspect-ratio: 16/9) {
  .video-foreground {
    height: 300%;
    top: -100%;
  }
}
@media (max-aspect-ratio: 16/9) {
  .video-foreground {
    width: 300%;
    left: -100%;
  }
}
@media all and (max-width: 600px) {
  .vid-info {
    width: 50%;
    padding: 0.5rem;
  }
  .vid-info h1 {
    margin-bottom: 0.2rem;
  }
}
@media all and (max-width: 500px) {
  .vid-info .acronym {
    display: none;
  }
}
.tab-list-custom {
  border-bottom: 1px solid #48d494;
}
.tab-list-custom .nav-link {
  position: relative;
  border-radius: 4px !important;
  border-color: transparent !important;
}
.tab-list-custom .nav-link:hover {
  border: 1px solid transparent;
  color: #fff;
}
.tab-list-custom .nav-link.active {
  background: #48d494;
  border-color: #48d494;
  color: #fff;
}

.table-custom td {
  color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
}

.bg-dark {
  background: rgb(17.85, 17.85, 17.85) !important;
}

.person img {
  box-shadow: 10px 10px 0 0 #48d494;
}

.img-shadow {
  box-shadow: 10px 10px 0 0 #48d494;
}

.opacity-7 {
  opacity: 0.7;
}

.large-gutters {
  margin-right: -35px;
  margin-left: -35px;
}
.large-gutters > [class*=col-] {
  padding-right: 35px;
  padding-left: 35px;
}

/* ===================================
   GLOBAL RESET & VISIBILITY
   ================================= */
* {
  visibility: visible !important;
  opacity: 1 !important;
}

img {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  max-width: 100%;
  height: auto;
}

/* Remove all focus outlines globally */
*:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* ===================================
   COLOR SCHEME
   ================================= */
.site-section {
  background-color: #ffffff !important;
  color: #333333 !important;
}

h1, h2, h3, h4, h5, h6, p, span, div, strong, em {
  color: #333333 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ===================================
   BUTTONS - OVERRIDE BOOTSTRAP
   ================================= */
.btn-primary {
  background-color: #333333 !important;
  border-color: #333333 !important;
  color: #ffffff !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.9rem;
  padding: 12px 30px;
  border-radius: 30px;
  transition: all 0.3s ease;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: #555555 !important;
  border-color: #555555 !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Override ANY Bootstrap green styling */
.btn-success,
.btn-outline-success,
.bg-success,
.text-success {
  background-color: #333333 !important;
  border-color: #333333 !important;
  color: #ffffff !important;
}
.btn-success:hover, .btn-success:focus, .btn-success:active,
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active,
.bg-success:hover,
.bg-success:focus,
.bg-success:active,
.text-success:hover,
.text-success:focus,
.text-success:active {
  background-color: #555555 !important;
  border-color: #555555 !important;
  color: #ffffff !important;
}

/* Force contact button styling */
.cta a,
a.cta,
li.cta a {
  border: 2px solid #333333 !important;
  border-radius: 25px !important;
  background-color: transparent !important;
  color: #333333 !important;
}
.cta a:hover, .cta a:focus,
a.cta:hover,
a.cta:focus,
li.cta a:hover,
li.cta a:focus {
  background-color: #333333 !important;
  color: #ffffff !important;
  border-color: #333333 !important;
}

/* ===================================
   HERO SECTION
   ================================= */
#home-section {
  background-color: #000000 !important;
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 100px !important; /* Add padding for fixed navbar */
}

.hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
}
.hero-content h1, .hero-content p {
  color: #ffffff !important;
}

.parallax-logo {
  max-width: 300px !important;
  width: 100%;
  height: auto;
  margin: 0 auto 2rem auto;
  display: block;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.5));
  transition: all 0.3s ease;
}
.parallax-logo:hover {
  transform: scale(1.02);
  filter: drop-shadow(0 15px 40px rgba(0, 0, 0, 0.6));
}

/* ===================================
   LOADING SCREEN
   ================================= */
.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: linear-gradient(135deg, #000000 0%, #1a1a1a 100%);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s ease-out, visibility 1s ease-out;
}
.loading-overlay.fade-out {
  opacity: 0;
  visibility: hidden;
}

.loading-container {
  text-align: center;
  color: white;
  max-width: 500px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.loading-logo-img {
  max-width: 350px;
  width: 100%;
  height: auto;
  opacity: 0;
  animation: logoReveal 2.5s ease-in-out forwards;
  filter: drop-shadow(0 0 30px rgba(255, 255, 255, 0.4));
  display: block;
  margin: 0 auto 30px auto;
}

@keyframes logoReveal {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(50px);
  }
  60% {
    opacity: 0.8;
    transform: scale(1.1) translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
/* ===================================
   SECTIONS & CONTENT
   ================================= */
.section-title {
  font-weight: 700;
  font-size: 2.5rem;
  margin-bottom: 1rem;
  color: #333333 !important;
}

.lead {
  font-size: 1.2rem;
  font-weight: 400;
  color: #555555 !important;
}

/* ===================================
   INSTRUCTORS SECTION
   ================================= */
.person {
  text-align: center;
  margin-bottom: 2rem;
  background: none !important;
  background-color: transparent !important;
}
.person img {
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  margin-bottom: 1rem;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
}
.person img:hover {
  transform: scale(1.02);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.person h3 {
  font-weight: 700;
  color: #333333 !important;
  margin-bottom: 0.5rem;
  background: none !important;
  background-color: transparent !important;
}
.person p {
  color: #555555 !important;
  background: none !important;
  background-color: transparent !important;
}

#instructors-section .col-lg-4 {
  background-color: transparent !important;
}

/* Remove any card/panel styling */
.card,
.panel,
.thumbnail {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Force clean image styling */
.img-fluid.mb-3 {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 1rem !important;
}

/* ===================================
   RESPONSIVE DESIGN
   ================================= */
@media (max-width: 768px) {
  .loading-logo-img {
    max-width: 280px;
  }
  .parallax-logo {
    max-width: 250px !important;
  }
  .section-title {
    font-size: 2rem;
  }
  .hero-content h1 {
    font-size: 2.5rem !important;
  }
}
@media (max-width: 576px) {
  .loading-logo-img {
    max-width: 220px;
  }
  .parallax-logo {
    max-width: 200px !important;
  }
  .section-title {
    font-size: 1.75rem;
  }
  .hero-content h1 {
    font-size: 2rem !important;
  }
  .btn-primary {
    padding: 10px 25px;
    font-size: 0.85rem;
  }
}
/* FORCE MOBILE NAVIGATION TO BE SOLID WHITE - FULL WIDTH */
@media (max-width: 991px) {
  .site-menu,
  .site-navigation .site-menu,
  ul.site-menu {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
  }
  .site-menu.show,
  .site-navigation .site-menu.show,
  ul.site-menu.show {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
    /* FORCE FULL WIDTH */
    position: absolute !important;
    top: 100% !important;
    left: -1rem !important; /* Extend past container padding */
    right: -1rem !important; /* Extend past container padding */
    width: calc(100vw - 2rem) !important; /* Full viewport width minus small margin */
    margin-left: 0 !important;
    margin-right: 0 !important;
    z-index: 1050 !important;
  }
  .site-menu li,
  .site-menu > li,
  .site-navigation .site-menu li,
  .site-navigation .site-menu > li,
  ul.site-menu li,
  ul.site-menu > li {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
  }
  .site-menu li a,
  .site-menu li > a,
  .site-menu > li a,
  .site-menu > li > a,
  .site-navigation .site-menu li a,
  .site-navigation .site-menu li > a,
  .site-navigation .site-menu > li a,
  .site-navigation .site-menu > li > a,
  ul.site-menu li a,
  ul.site-menu li > a,
  ul.site-menu > li a,
  ul.site-menu > li > a {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
  }
}
/* Force mobile dropdown to be completely solid white - FULL WIDTH VERSION */
@media (max-width: 991px) {
  /* Target ALL possible menu selectors */
  .site-menu,
  .site-navigation .site-menu,
  ul.site-menu,
  .main-menu,
  .js-clone-nav,
  .navbar-nav,
  .nav {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .site-menu.show, .site-menu.collapse.show, .site-menu.navbar-collapse.show,
  .site-navigation .site-menu.show,
  .site-navigation .site-menu.collapse.show,
  .site-navigation .site-menu.navbar-collapse.show,
  ul.site-menu.show,
  ul.site-menu.collapse.show,
  ul.site-menu.navbar-collapse.show,
  .main-menu.show,
  .main-menu.collapse.show,
  .main-menu.navbar-collapse.show,
  .js-clone-nav.show,
  .js-clone-nav.collapse.show,
  .js-clone-nav.navbar-collapse.show,
  .navbar-nav.show,
  .navbar-nav.collapse.show,
  .navbar-nav.navbar-collapse.show,
  .nav.show,
  .nav.collapse.show,
  .nav.navbar-collapse.show {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    /* FULL WIDTH POSITIONING */
    position: absolute !important;
    top: 100% !important;
    left: -1rem !important; /* Extend beyond container */
    right: -1rem !important; /* Extend beyond container */
    width: calc(100vw - 2rem) !important; /* Full viewport width */
    max-width: none !important;
    z-index: 1050 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25) !important;
    border-radius: 0 0 15px 15px !important;
    padding: 1rem 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-top: none !important;
    /* PREVENT OVERFLOW */
    overflow: visible !important;
    transform: none !important;
  }
  .site-menu li,
  .site-menu > li,
  .site-menu .nav-item,
  .site-navigation .site-menu li,
  .site-navigation .site-menu > li,
  .site-navigation .site-menu .nav-item,
  ul.site-menu li,
  ul.site-menu > li,
  ul.site-menu .nav-item,
  .main-menu li,
  .main-menu > li,
  .main-menu .nav-item,
  .js-clone-nav li,
  .js-clone-nav > li,
  .js-clone-nav .nav-item,
  .navbar-nav li,
  .navbar-nav > li,
  .navbar-nav .nav-item,
  .nav li,
  .nav > li,
  .nav .nav-item {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    margin: 0 !important;
    text-align: center !important;
    width: 100% !important;
    display: block !important;
  }
  .site-menu li a,
  .site-menu li > a,
  .site-menu li .nav-link,
  .site-menu > li a,
  .site-menu > li > a,
  .site-menu > li .nav-link,
  .site-menu .nav-item a,
  .site-menu .nav-item > a,
  .site-menu .nav-item .nav-link,
  .site-navigation .site-menu li a,
  .site-navigation .site-menu li > a,
  .site-navigation .site-menu li .nav-link,
  .site-navigation .site-menu > li a,
  .site-navigation .site-menu > li > a,
  .site-navigation .site-menu > li .nav-link,
  .site-navigation .site-menu .nav-item a,
  .site-navigation .site-menu .nav-item > a,
  .site-navigation .site-menu .nav-item .nav-link,
  ul.site-menu li a,
  ul.site-menu li > a,
  ul.site-menu li .nav-link,
  ul.site-menu > li a,
  ul.site-menu > li > a,
  ul.site-menu > li .nav-link,
  ul.site-menu .nav-item a,
  ul.site-menu .nav-item > a,
  ul.site-menu .nav-item .nav-link,
  .main-menu li a,
  .main-menu li > a,
  .main-menu li .nav-link,
  .main-menu > li a,
  .main-menu > li > a,
  .main-menu > li .nav-link,
  .main-menu .nav-item a,
  .main-menu .nav-item > a,
  .main-menu .nav-item .nav-link,
  .js-clone-nav li a,
  .js-clone-nav li > a,
  .js-clone-nav li .nav-link,
  .js-clone-nav > li a,
  .js-clone-nav > li > a,
  .js-clone-nav > li .nav-link,
  .js-clone-nav .nav-item a,
  .js-clone-nav .nav-item > a,
  .js-clone-nav .nav-item .nav-link,
  .navbar-nav li a,
  .navbar-nav li > a,
  .navbar-nav li .nav-link,
  .navbar-nav > li a,
  .navbar-nav > li > a,
  .navbar-nav > li .nav-link,
  .navbar-nav .nav-item a,
  .navbar-nav .nav-item > a,
  .navbar-nav .nav-item .nav-link,
  .nav li a,
  .nav li > a,
  .nav li .nav-link,
  .nav > li a,
  .nav > li > a,
  .nav > li .nav-link,
  .nav .nav-item a,
  .nav .nav-item > a,
  .nav .nav-item .nav-link {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
    display: block !important;
    padding: 1rem 2rem !important;
    font-size: 1.1rem !important;
    color: rgb(51, 51, 51) !important;
    text-decoration: none !important;
    border: none !important;
    margin: 0 !important;
    width: 100% !important;
    font-weight: 500 !important;
    /* PREVENT TEXT CUTOFF */
    white-space: nowrap !important;
    overflow: visible !important;
  }
  .site-menu li a:hover, .site-menu li a:focus, .site-menu li a.active,
  .site-menu li > a:hover,
  .site-menu li > a:focus,
  .site-menu li > a.active,
  .site-menu li .nav-link:hover,
  .site-menu li .nav-link:focus,
  .site-menu li .nav-link.active,
  .site-menu > li a:hover,
  .site-menu > li a:focus,
  .site-menu > li a.active,
  .site-menu > li > a:hover,
  .site-menu > li > a:focus,
  .site-menu > li > a.active,
  .site-menu > li .nav-link:hover,
  .site-menu > li .nav-link:focus,
  .site-menu > li .nav-link.active,
  .site-menu .nav-item a:hover,
  .site-menu .nav-item a:focus,
  .site-menu .nav-item a.active,
  .site-menu .nav-item > a:hover,
  .site-menu .nav-item > a:focus,
  .site-menu .nav-item > a.active,
  .site-menu .nav-item .nav-link:hover,
  .site-menu .nav-item .nav-link:focus,
  .site-menu .nav-item .nav-link.active,
  .site-navigation .site-menu li a:hover,
  .site-navigation .site-menu li a:focus,
  .site-navigation .site-menu li a.active,
  .site-navigation .site-menu li > a:hover,
  .site-navigation .site-menu li > a:focus,
  .site-navigation .site-menu li > a.active,
  .site-navigation .site-menu li .nav-link:hover,
  .site-navigation .site-menu li .nav-link:focus,
  .site-navigation .site-menu li .nav-link.active,
  .site-navigation .site-menu > li a:hover,
  .site-navigation .site-menu > li a:focus,
  .site-navigation .site-menu > li a.active,
  .site-navigation .site-menu > li > a:hover,
  .site-navigation .site-menu > li > a:focus,
  .site-navigation .site-menu > li > a.active,
  .site-navigation .site-menu > li .nav-link:hover,
  .site-navigation .site-menu > li .nav-link:focus,
  .site-navigation .site-menu > li .nav-link.active,
  .site-navigation .site-menu .nav-item a:hover,
  .site-navigation .site-menu .nav-item a:focus,
  .site-navigation .site-menu .nav-item a.active,
  .site-navigation .site-menu .nav-item > a:hover,
  .site-navigation .site-menu .nav-item > a:focus,
  .site-navigation .site-menu .nav-item > a.active,
  .site-navigation .site-menu .nav-item .nav-link:hover,
  .site-navigation .site-menu .nav-item .nav-link:focus,
  .site-navigation .site-menu .nav-item .nav-link.active,
  ul.site-menu li a:hover,
  ul.site-menu li a:focus,
  ul.site-menu li a.active,
  ul.site-menu li > a:hover,
  ul.site-menu li > a:focus,
  ul.site-menu li > a.active,
  ul.site-menu li .nav-link:hover,
  ul.site-menu li .nav-link:focus,
  ul.site-menu li .nav-link.active,
  ul.site-menu > li a:hover,
  ul.site-menu > li a:focus,
  ul.site-menu > li a.active,
  ul.site-menu > li > a:hover,
  ul.site-menu > li > a:focus,
  ul.site-menu > li > a.active,
  ul.site-menu > li .nav-link:hover,
  ul.site-menu > li .nav-link:focus,
  ul.site-menu > li .nav-link.active,
  ul.site-menu .nav-item a:hover,
  ul.site-menu .nav-item a:focus,
  ul.site-menu .nav-item a.active,
  ul.site-menu .nav-item > a:hover,
  ul.site-menu .nav-item > a:focus,
  ul.site-menu .nav-item > a.active,
  ul.site-menu .nav-item .nav-link:hover,
  ul.site-menu .nav-item .nav-link:focus,
  ul.site-menu .nav-item .nav-link.active,
  .main-menu li a:hover,
  .main-menu li a:focus,
  .main-menu li a.active,
  .main-menu li > a:hover,
  .main-menu li > a:focus,
  .main-menu li > a.active,
  .main-menu li .nav-link:hover,
  .main-menu li .nav-link:focus,
  .main-menu li .nav-link.active,
  .main-menu > li a:hover,
  .main-menu > li a:focus,
  .main-menu > li a.active,
  .main-menu > li > a:hover,
  .main-menu > li > a:focus,
  .main-menu > li > a.active,
  .main-menu > li .nav-link:hover,
  .main-menu > li .nav-link:focus,
  .main-menu > li .nav-link.active,
  .main-menu .nav-item a:hover,
  .main-menu .nav-item a:focus,
  .main-menu .nav-item a.active,
  .main-menu .nav-item > a:hover,
  .main-menu .nav-item > a:focus,
  .main-menu .nav-item > a.active,
  .main-menu .nav-item .nav-link:hover,
  .main-menu .nav-item .nav-link:focus,
  .main-menu .nav-item .nav-link.active,
  .js-clone-nav li a:hover,
  .js-clone-nav li a:focus,
  .js-clone-nav li a.active,
  .js-clone-nav li > a:hover,
  .js-clone-nav li > a:focus,
  .js-clone-nav li > a.active,
  .js-clone-nav li .nav-link:hover,
  .js-clone-nav li .nav-link:focus,
  .js-clone-nav li .nav-link.active,
  .js-clone-nav > li a:hover,
  .js-clone-nav > li a:focus,
  .js-clone-nav > li a.active,
  .js-clone-nav > li > a:hover,
  .js-clone-nav > li > a:focus,
  .js-clone-nav > li > a.active,
  .js-clone-nav > li .nav-link:hover,
  .js-clone-nav > li .nav-link:focus,
  .js-clone-nav > li .nav-link.active,
  .js-clone-nav .nav-item a:hover,
  .js-clone-nav .nav-item a:focus,
  .js-clone-nav .nav-item a.active,
  .js-clone-nav .nav-item > a:hover,
  .js-clone-nav .nav-item > a:focus,
  .js-clone-nav .nav-item > a.active,
  .js-clone-nav .nav-item .nav-link:hover,
  .js-clone-nav .nav-item .nav-link:focus,
  .js-clone-nav .nav-item .nav-link.active,
  .navbar-nav li a:hover,
  .navbar-nav li a:focus,
  .navbar-nav li a.active,
  .navbar-nav li > a:hover,
  .navbar-nav li > a:focus,
  .navbar-nav li > a.active,
  .navbar-nav li .nav-link:hover,
  .navbar-nav li .nav-link:focus,
  .navbar-nav li .nav-link.active,
  .navbar-nav > li a:hover,
  .navbar-nav > li a:focus,
  .navbar-nav > li a.active,
  .navbar-nav > li > a:hover,
  .navbar-nav > li > a:focus,
  .navbar-nav > li > a.active,
  .navbar-nav > li .nav-link:hover,
  .navbar-nav > li .nav-link:focus,
  .navbar-nav > li .nav-link.active,
  .navbar-nav .nav-item a:hover,
  .navbar-nav .nav-item a:focus,
  .navbar-nav .nav-item a.active,
  .navbar-nav .nav-item > a:hover,
  .navbar-nav .nav-item > a:focus,
  .navbar-nav .nav-item > a.active,
  .navbar-nav .nav-item .nav-link:hover,
  .navbar-nav .nav-item .nav-link:focus,
  .navbar-nav .nav-item .nav-link.active,
  .nav li a:hover,
  .nav li a:focus,
  .nav li a.active,
  .nav li > a:hover,
  .nav li > a:focus,
  .nav li > a.active,
  .nav li .nav-link:hover,
  .nav li .nav-link:focus,
  .nav li .nav-link.active,
  .nav > li a:hover,
  .nav > li a:focus,
  .nav > li a.active,
  .nav > li > a:hover,
  .nav > li > a:focus,
  .nav > li > a.active,
  .nav > li .nav-link:hover,
  .nav > li .nav-link:focus,
  .nav > li .nav-link.active,
  .nav .nav-item a:hover,
  .nav .nav-item a:focus,
  .nav .nav-item a.active,
  .nav .nav-item > a:hover,
  .nav .nav-item > a:focus,
  .nav .nav-item > a.active,
  .nav .nav-item .nav-link:hover,
  .nav .nav-item .nav-link:focus,
  .nav .nav-item .nav-link.active {
    background-color: rgba(0, 0, 0, 0.05) !important;
    background: rgba(0, 0, 0, 0.05) !important;
    color: rgb(51, 51, 51) !important;
  }
  .site-menu li.cta a, .site-menu li.cta .nav-link,
  .site-menu > li.cta a,
  .site-menu > li.cta .nav-link,
  .site-menu .nav-item.cta a,
  .site-menu .nav-item.cta .nav-link,
  .site-navigation .site-menu li.cta a,
  .site-navigation .site-menu li.cta .nav-link,
  .site-navigation .site-menu > li.cta a,
  .site-navigation .site-menu > li.cta .nav-link,
  .site-navigation .site-menu .nav-item.cta a,
  .site-navigation .site-menu .nav-item.cta .nav-link,
  ul.site-menu li.cta a,
  ul.site-menu li.cta .nav-link,
  ul.site-menu > li.cta a,
  ul.site-menu > li.cta .nav-link,
  ul.site-menu .nav-item.cta a,
  ul.site-menu .nav-item.cta .nav-link,
  .main-menu li.cta a,
  .main-menu li.cta .nav-link,
  .main-menu > li.cta a,
  .main-menu > li.cta .nav-link,
  .main-menu .nav-item.cta a,
  .main-menu .nav-item.cta .nav-link,
  .js-clone-nav li.cta a,
  .js-clone-nav li.cta .nav-link,
  .js-clone-nav > li.cta a,
  .js-clone-nav > li.cta .nav-link,
  .js-clone-nav .nav-item.cta a,
  .js-clone-nav .nav-item.cta .nav-link,
  .navbar-nav li.cta a,
  .navbar-nav li.cta .nav-link,
  .navbar-nav > li.cta a,
  .navbar-nav > li.cta .nav-link,
  .navbar-nav .nav-item.cta a,
  .navbar-nav .nav-item.cta .nav-link,
  .nav li.cta a,
  .nav li.cta .nav-link,
  .nav > li.cta a,
  .nav > li.cta .nav-link,
  .nav .nav-item.cta a,
  .nav .nav-item.cta .nav-link {
    border: 2px solid rgb(51, 51, 51) !important;
    border-radius: 25px !important;
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    margin: 0.5rem 1rem !important;
    color: rgb(51, 51, 51) !important;
    /* PREVENT BUTTON CUTOFF */
    width: calc(100% - 2rem) !important;
    max-width: 300px !important;
  }
  .site-menu li.cta a:hover, .site-menu li.cta a:focus, .site-menu li.cta .nav-link:hover, .site-menu li.cta .nav-link:focus,
  .site-menu > li.cta a:hover,
  .site-menu > li.cta a:focus,
  .site-menu > li.cta .nav-link:hover,
  .site-menu > li.cta .nav-link:focus,
  .site-menu .nav-item.cta a:hover,
  .site-menu .nav-item.cta a:focus,
  .site-menu .nav-item.cta .nav-link:hover,
  .site-menu .nav-item.cta .nav-link:focus,
  .site-navigation .site-menu li.cta a:hover,
  .site-navigation .site-menu li.cta a:focus,
  .site-navigation .site-menu li.cta .nav-link:hover,
  .site-navigation .site-menu li.cta .nav-link:focus,
  .site-navigation .site-menu > li.cta a:hover,
  .site-navigation .site-menu > li.cta a:focus,
  .site-navigation .site-menu > li.cta .nav-link:hover,
  .site-navigation .site-menu > li.cta .nav-link:focus,
  .site-navigation .site-menu .nav-item.cta a:hover,
  .site-navigation .site-menu .nav-item.cta a:focus,
  .site-navigation .site-menu .nav-item.cta .nav-link:hover,
  .site-navigation .site-menu .nav-item.cta .nav-link:focus,
  ul.site-menu li.cta a:hover,
  ul.site-menu li.cta a:focus,
  ul.site-menu li.cta .nav-link:hover,
  ul.site-menu li.cta .nav-link:focus,
  ul.site-menu > li.cta a:hover,
  ul.site-menu > li.cta a:focus,
  ul.site-menu > li.cta .nav-link:hover,
  ul.site-menu > li.cta .nav-link:focus,
  ul.site-menu .nav-item.cta a:hover,
  ul.site-menu .nav-item.cta a:focus,
  ul.site-menu .nav-item.cta .nav-link:hover,
  ul.site-menu .nav-item.cta .nav-link:focus,
  .main-menu li.cta a:hover,
  .main-menu li.cta a:focus,
  .main-menu li.cta .nav-link:hover,
  .main-menu li.cta .nav-link:focus,
  .main-menu > li.cta a:hover,
  .main-menu > li.cta a:focus,
  .main-menu > li.cta .nav-link:hover,
  .main-menu > li.cta .nav-link:focus,
  .main-menu .nav-item.cta a:hover,
  .main-menu .nav-item.cta a:focus,
  .main-menu .nav-item.cta .nav-link:hover,
  .main-menu .nav-item.cta .nav-link:focus,
  .js-clone-nav li.cta a:hover,
  .js-clone-nav li.cta a:focus,
  .js-clone-nav li.cta .nav-link:hover,
  .js-clone-nav li.cta .nav-link:focus,
  .js-clone-nav > li.cta a:hover,
  .js-clone-nav > li.cta a:focus,
  .js-clone-nav > li.cta .nav-link:hover,
  .js-clone-nav > li.cta .nav-link:focus,
  .js-clone-nav .nav-item.cta a:hover,
  .js-clone-nav .nav-item.cta a:focus,
  .js-clone-nav .nav-item.cta .nav-link:hover,
  .js-clone-nav .nav-item.cta .nav-link:focus,
  .navbar-nav li.cta a:hover,
  .navbar-nav li.cta a:focus,
  .navbar-nav li.cta .nav-link:hover,
  .navbar-nav li.cta .nav-link:focus,
  .navbar-nav > li.cta a:hover,
  .navbar-nav > li.cta a:focus,
  .navbar-nav > li.cta .nav-link:hover,
  .navbar-nav > li.cta .nav-link:focus,
  .navbar-nav .nav-item.cta a:hover,
  .navbar-nav .nav-item.cta a:focus,
  .navbar-nav .nav-item.cta .nav-link:hover,
  .navbar-nav .nav-item.cta .nav-link:focus,
  .nav li.cta a:hover,
  .nav li.cta a:focus,
  .nav li.cta .nav-link:hover,
  .nav li.cta .nav-link:focus,
  .nav > li.cta a:hover,
  .nav > li.cta a:focus,
  .nav > li.cta .nav-link:hover,
  .nav > li.cta .nav-link:focus,
  .nav .nav-item.cta a:hover,
  .nav .nav-item.cta a:focus,
  .nav .nav-item.cta .nav-link:hover,
  .nav .nav-item.cta .nav-link:focus {
    background-color: rgb(51, 51, 51) !important;
    background: rgb(51, 51, 51) !important;
    color: rgb(255, 255, 255) !important;
  }
  /* Force the navbar container to allow overflow */
  .site-navbar .container-fluid {
    position: relative !important;
    overflow: visible !important;
  }
  /* Force the navigation container to allow overflow */
  .site-navigation {
    position: relative !important;
    overflow: visible !important;
  }
}
/* ===================================
   BOOTSTRAP NAVIGATION OVERRIDE
   ================================= */
/* Remove ALL Bootstrap navigation styling */
.navbar,
.navbar-nav,
.nav,
.nav-link,
.navbar-brand,
.navbar-toggler,
.navbar-collapse,
.collapse,
.show {
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Force mobile dropdown to be completely solid white */
@media (max-width: 991px) {
  /* Target ALL possible menu selectors */
  .site-menu,
  .site-navigation .site-menu,
  ul.site-menu,
  .main-menu,
  .js-clone-nav,
  .navbar-nav,
  .nav {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .site-menu.show, .site-menu.collapse.show, .site-menu.navbar-collapse.show,
  .site-navigation .site-menu.show,
  .site-navigation .site-menu.collapse.show,
  .site-navigation .site-menu.navbar-collapse.show,
  ul.site-menu.show,
  ul.site-menu.collapse.show,
  ul.site-menu.navbar-collapse.show,
  .main-menu.show,
  .main-menu.collapse.show,
  .main-menu.navbar-collapse.show,
  .js-clone-nav.show,
  .js-clone-nav.collapse.show,
  .js-clone-nav.navbar-collapse.show,
  .navbar-nav.show,
  .navbar-nav.collapse.show,
  .navbar-nav.navbar-collapse.show,
  .nav.show,
  .nav.collapse.show,
  .nav.navbar-collapse.show {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1050 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25) !important;
    border-radius: 0 0 15px 15px !important;
    padding: 1rem 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-top: none !important;
  }
  .site-menu li,
  .site-menu > li,
  .site-menu .nav-item,
  .site-navigation .site-menu li,
  .site-navigation .site-menu > li,
  .site-navigation .site-menu .nav-item,
  ul.site-menu li,
  ul.site-menu > li,
  ul.site-menu .nav-item,
  .main-menu li,
  .main-menu > li,
  .main-menu .nav-item,
  .js-clone-nav li,
  .js-clone-nav > li,
  .js-clone-nav .nav-item,
  .navbar-nav li,
  .navbar-nav > li,
  .navbar-nav .nav-item,
  .nav li,
  .nav > li,
  .nav .nav-item {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    margin: 0 !important;
    text-align: center !important;
    width: 100% !important;
    display: block !important;
  }
  .site-menu li a,
  .site-menu li > a,
  .site-menu li .nav-link,
  .site-menu > li a,
  .site-menu > li > a,
  .site-menu > li .nav-link,
  .site-menu .nav-item a,
  .site-menu .nav-item > a,
  .site-menu .nav-item .nav-link,
  .site-navigation .site-menu li a,
  .site-navigation .site-menu li > a,
  .site-navigation .site-menu li .nav-link,
  .site-navigation .site-menu > li a,
  .site-navigation .site-menu > li > a,
  .site-navigation .site-menu > li .nav-link,
  .site-navigation .site-menu .nav-item a,
  .site-navigation .site-menu .nav-item > a,
  .site-navigation .site-menu .nav-item .nav-link,
  ul.site-menu li a,
  ul.site-menu li > a,
  ul.site-menu li .nav-link,
  ul.site-menu > li a,
  ul.site-menu > li > a,
  ul.site-menu > li .nav-link,
  ul.site-menu .nav-item a,
  ul.site-menu .nav-item > a,
  ul.site-menu .nav-item .nav-link,
  .main-menu li a,
  .main-menu li > a,
  .main-menu li .nav-link,
  .main-menu > li a,
  .main-menu > li > a,
  .main-menu > li .nav-link,
  .main-menu .nav-item a,
  .main-menu .nav-item > a,
  .main-menu .nav-item .nav-link,
  .js-clone-nav li a,
  .js-clone-nav li > a,
  .js-clone-nav li .nav-link,
  .js-clone-nav > li a,
  .js-clone-nav > li > a,
  .js-clone-nav > li .nav-link,
  .js-clone-nav .nav-item a,
  .js-clone-nav .nav-item > a,
  .js-clone-nav .nav-item .nav-link,
  .navbar-nav li a,
  .navbar-nav li > a,
  .navbar-nav li .nav-link,
  .navbar-nav > li a,
  .navbar-nav > li > a,
  .navbar-nav > li .nav-link,
  .navbar-nav .nav-item a,
  .navbar-nav .nav-item > a,
  .navbar-nav .nav-item .nav-link,
  .nav li a,
  .nav li > a,
  .nav li .nav-link,
  .nav > li a,
  .nav > li > a,
  .nav > li .nav-link,
  .nav .nav-item a,
  .nav .nav-item > a,
  .nav .nav-item .nav-link {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
    display: block !important;
    padding: 1rem 2rem !important;
    font-size: 1.1rem !important;
    color: rgb(51, 51, 51) !important;
    text-decoration: none !important;
    border: none !important;
    margin: 0 !important;
    width: 100% !important;
    font-weight: 500 !important;
  }
  .site-menu li a:hover, .site-menu li a:focus, .site-menu li a.active,
  .site-menu li > a:hover,
  .site-menu li > a:focus,
  .site-menu li > a.active,
  .site-menu li .nav-link:hover,
  .site-menu li .nav-link:focus,
  .site-menu li .nav-link.active,
  .site-menu > li a:hover,
  .site-menu > li a:focus,
  .site-menu > li a.active,
  .site-menu > li > a:hover,
  .site-menu > li > a:focus,
  .site-menu > li > a.active,
  .site-menu > li .nav-link:hover,
  .site-menu > li .nav-link:focus,
  .site-menu > li .nav-link.active,
  .site-menu .nav-item a:hover,
  .site-menu .nav-item a:focus,
  .site-menu .nav-item a.active,
  .site-menu .nav-item > a:hover,
  .site-menu .nav-item > a:focus,
  .site-menu .nav-item > a.active,
  .site-menu .nav-item .nav-link:hover,
  .site-menu .nav-item .nav-link:focus,
  .site-menu .nav-item .nav-link.active,
  .site-navigation .site-menu li a:hover,
  .site-navigation .site-menu li a:focus,
  .site-navigation .site-menu li a.active,
  .site-navigation .site-menu li > a:hover,
  .site-navigation .site-menu li > a:focus,
  .site-navigation .site-menu li > a.active,
  .site-navigation .site-menu li .nav-link:hover,
  .site-navigation .site-menu li .nav-link:focus,
  .site-navigation .site-menu li .nav-link.active,
  .site-navigation .site-menu > li a:hover,
  .site-navigation .site-menu > li a:focus,
  .site-navigation .site-menu > li a.active,
  .site-navigation .site-menu > li > a:hover,
  .site-navigation .site-menu > li > a:focus,
  .site-navigation .site-menu > li > a.active,
  .site-navigation .site-menu > li .nav-link:hover,
  .site-navigation .site-menu > li .nav-link:focus,
  .site-navigation .site-menu > li .nav-link.active,
  .site-navigation .site-menu .nav-item a:hover,
  .site-navigation .site-menu .nav-item a:focus,
  .site-navigation .site-menu .nav-item a.active,
  .site-navigation .site-menu .nav-item > a:hover,
  .site-navigation .site-menu .nav-item > a:focus,
  .site-navigation .site-menu .nav-item > a.active,
  .site-navigation .site-menu .nav-item .nav-link:hover,
  .site-navigation .site-menu .nav-item .nav-link:focus,
  .site-navigation .site-menu .nav-item .nav-link.active,
  ul.site-menu li a:hover,
  ul.site-menu li a:focus,
  ul.site-menu li a.active,
  ul.site-menu li > a:hover,
  ul.site-menu li > a:focus,
  ul.site-menu li > a.active,
  ul.site-menu li .nav-link:hover,
  ul.site-menu li .nav-link:focus,
  ul.site-menu li .nav-link.active,
  ul.site-menu > li a:hover,
  ul.site-menu > li a:focus,
  ul.site-menu > li a.active,
  ul.site-menu > li > a:hover,
  ul.site-menu > li > a:focus,
  ul.site-menu > li > a.active,
  ul.site-menu > li .nav-link:hover,
  ul.site-menu > li .nav-link:focus,
  ul.site-menu > li .nav-link.active,
  ul.site-menu .nav-item a:hover,
  ul.site-menu .nav-item a:focus,
  ul.site-menu .nav-item a.active,
  ul.site-menu .nav-item > a:hover,
  ul.site-menu .nav-item > a:focus,
  ul.site-menu .nav-item > a.active,
  ul.site-menu .nav-item .nav-link:hover,
  ul.site-menu .nav-item .nav-link:focus,
  ul.site-menu .nav-item .nav-link.active,
  .main-menu li a:hover,
  .main-menu li a:focus,
  .main-menu li a.active,
  .main-menu li > a:hover,
  .main-menu li > a:focus,
  .main-menu li > a.active,
  .main-menu li .nav-link:hover,
  .main-menu li .nav-link:focus,
  .main-menu li .nav-link.active,
  .main-menu > li a:hover,
  .main-menu > li a:focus,
  .main-menu > li a.active,
  .main-menu > li > a:hover,
  .main-menu > li > a:focus,
  .main-menu > li > a.active,
  .main-menu > li .nav-link:hover,
  .main-menu > li .nav-link:focus,
  .main-menu > li .nav-link.active,
  .main-menu .nav-item a:hover,
  .main-menu .nav-item a:focus,
  .main-menu .nav-item a.active,
  .main-menu .nav-item > a:hover,
  .main-menu .nav-item > a:focus,
  .main-menu .nav-item > a.active,
  .main-menu .nav-item .nav-link:hover,
  .main-menu .nav-item .nav-link:focus,
  .main-menu .nav-item .nav-link.active,
  .js-clone-nav li a:hover,
  .js-clone-nav li a:focus,
  .js-clone-nav li a.active,
  .js-clone-nav li > a:hover,
  .js-clone-nav li > a:focus,
  .js-clone-nav li > a.active,
  .js-clone-nav li .nav-link:hover,
  .js-clone-nav li .nav-link:focus,
  .js-clone-nav li .nav-link.active,
  .js-clone-nav > li a:hover,
  .js-clone-nav > li a:focus,
  .js-clone-nav > li a.active,
  .js-clone-nav > li > a:hover,
  .js-clone-nav > li > a:focus,
  .js-clone-nav > li > a.active,
  .js-clone-nav > li .nav-link:hover,
  .js-clone-nav > li .nav-link:focus,
  .js-clone-nav > li .nav-link.active,
  .js-clone-nav .nav-item a:hover,
  .js-clone-nav .nav-item a:focus,
  .js-clone-nav .nav-item a.active,
  .js-clone-nav .nav-item > a:hover,
  .js-clone-nav .nav-item > a:focus,
  .js-clone-nav .nav-item > a.active,
  .js-clone-nav .nav-item .nav-link:hover,
  .js-clone-nav .nav-item .nav-link:focus,
  .js-clone-nav .nav-item .nav-link.active,
  .navbar-nav li a:hover,
  .navbar-nav li a:focus,
  .navbar-nav li a.active,
  .navbar-nav li > a:hover,
  .navbar-nav li > a:focus,
  .navbar-nav li > a.active,
  .navbar-nav li .nav-link:hover,
  .navbar-nav li .nav-link:focus,
  .navbar-nav li .nav-link.active,
  .navbar-nav > li a:hover,
  .navbar-nav > li a:focus,
  .navbar-nav > li a.active,
  .navbar-nav > li > a:hover,
  .navbar-nav > li > a:focus,
  .navbar-nav > li > a.active,
  .navbar-nav > li .nav-link:hover,
  .navbar-nav > li .nav-link:focus,
  .navbar-nav > li .nav-link.active,
  .navbar-nav .nav-item a:hover,
  .navbar-nav .nav-item a:focus,
  .navbar-nav .nav-item a.active,
  .navbar-nav .nav-item > a:hover,
  .navbar-nav .nav-item > a:focus,
  .navbar-nav .nav-item > a.active,
  .navbar-nav .nav-item .nav-link:hover,
  .navbar-nav .nav-item .nav-link:focus,
  .navbar-nav .nav-item .nav-link.active,
  .nav li a:hover,
  .nav li a:focus,
  .nav li a.active,
  .nav li > a:hover,
  .nav li > a:focus,
  .nav li > a.active,
  .nav li .nav-link:hover,
  .nav li .nav-link:focus,
  .nav li .nav-link.active,
  .nav > li a:hover,
  .nav > li a:focus,
  .nav > li a.active,
  .nav > li > a:hover,
  .nav > li > a:focus,
  .nav > li > a.active,
  .nav > li .nav-link:hover,
  .nav > li .nav-link:focus,
  .nav > li .nav-link.active,
  .nav .nav-item a:hover,
  .nav .nav-item a:focus,
  .nav .nav-item a.active,
  .nav .nav-item > a:hover,
  .nav .nav-item > a:focus,
  .nav .nav-item > a.active,
  .nav .nav-item .nav-link:hover,
  .nav .nav-item .nav-link:focus,
  .nav .nav-item .nav-link.active {
    background-color: rgba(0, 0, 0, 0.05) !important;
    background: rgba(0, 0, 0, 0.05) !important;
    color: rgb(51, 51, 51) !important;
  }
  .site-menu li.cta a, .site-menu li.cta .nav-link,
  .site-menu > li.cta a,
  .site-menu > li.cta .nav-link,
  .site-menu .nav-item.cta a,
  .site-menu .nav-item.cta .nav-link,
  .site-navigation .site-menu li.cta a,
  .site-navigation .site-menu li.cta .nav-link,
  .site-navigation .site-menu > li.cta a,
  .site-navigation .site-menu > li.cta .nav-link,
  .site-navigation .site-menu .nav-item.cta a,
  .site-navigation .site-menu .nav-item.cta .nav-link,
  ul.site-menu li.cta a,
  ul.site-menu li.cta .nav-link,
  ul.site-menu > li.cta a,
  ul.site-menu > li.cta .nav-link,
  ul.site-menu .nav-item.cta a,
  ul.site-menu .nav-item.cta .nav-link,
  .main-menu li.cta a,
  .main-menu li.cta .nav-link,
  .main-menu > li.cta a,
  .main-menu > li.cta .nav-link,
  .main-menu .nav-item.cta a,
  .main-menu .nav-item.cta .nav-link,
  .js-clone-nav li.cta a,
  .js-clone-nav li.cta .nav-link,
  .js-clone-nav > li.cta a,
  .js-clone-nav > li.cta .nav-link,
  .js-clone-nav .nav-item.cta a,
  .js-clone-nav .nav-item.cta .nav-link,
  .navbar-nav li.cta a,
  .navbar-nav li.cta .nav-link,
  .navbar-nav > li.cta a,
  .navbar-nav > li.cta .nav-link,
  .navbar-nav .nav-item.cta a,
  .navbar-nav .nav-item.cta .nav-link,
  .nav li.cta a,
  .nav li.cta .nav-link,
  .nav > li.cta a,
  .nav > li.cta .nav-link,
  .nav .nav-item.cta a,
  .nav .nav-item.cta .nav-link {
    border: 2px solid rgb(51, 51, 51) !important;
    border-radius: 25px !important;
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    margin: 0.5rem 1rem !important;
    color: rgb(51, 51, 51) !important;
  }
  .site-menu li.cta a:hover, .site-menu li.cta a:focus, .site-menu li.cta .nav-link:hover, .site-menu li.cta .nav-link:focus,
  .site-menu > li.cta a:hover,
  .site-menu > li.cta a:focus,
  .site-menu > li.cta .nav-link:hover,
  .site-menu > li.cta .nav-link:focus,
  .site-menu .nav-item.cta a:hover,
  .site-menu .nav-item.cta a:focus,
  .site-menu .nav-item.cta .nav-link:hover,
  .site-menu .nav-item.cta .nav-link:focus,
  .site-navigation .site-menu li.cta a:hover,
  .site-navigation .site-menu li.cta a:focus,
  .site-navigation .site-menu li.cta .nav-link:hover,
  .site-navigation .site-menu li.cta .nav-link:focus,
  .site-navigation .site-menu > li.cta a:hover,
  .site-navigation .site-menu > li.cta a:focus,
  .site-navigation .site-menu > li.cta .nav-link:hover,
  .site-navigation .site-menu > li.cta .nav-link:focus,
  .site-navigation .site-menu .nav-item.cta a:hover,
  .site-navigation .site-menu .nav-item.cta a:focus,
  .site-navigation .site-menu .nav-item.cta .nav-link:hover,
  .site-navigation .site-menu .nav-item.cta .nav-link:focus,
  ul.site-menu li.cta a:hover,
  ul.site-menu li.cta a:focus,
  ul.site-menu li.cta .nav-link:hover,
  ul.site-menu li.cta .nav-link:focus,
  ul.site-menu > li.cta a:hover,
  ul.site-menu > li.cta a:focus,
  ul.site-menu > li.cta .nav-link:hover,
  ul.site-menu > li.cta .nav-link:focus,
  ul.site-menu .nav-item.cta a:hover,
  ul.site-menu .nav-item.cta a:focus,
  ul.site-menu .nav-item.cta .nav-link:hover,
  ul.site-menu .nav-item.cta .nav-link:focus,
  .main-menu li.cta a:hover,
  .main-menu li.cta a:focus,
  .main-menu li.cta .nav-link:hover,
  .main-menu li.cta .nav-link:focus,
  .main-menu > li.cta a:hover,
  .main-menu > li.cta a:focus,
  .main-menu > li.cta .nav-link:hover,
  .main-menu > li.cta .nav-link:focus,
  .main-menu .nav-item.cta a:hover,
  .main-menu .nav-item.cta a:focus,
  .main-menu .nav-item.cta .nav-link:hover,
  .main-menu .nav-item.cta .nav-link:focus,
  .js-clone-nav li.cta a:hover,
  .js-clone-nav li.cta a:focus,
  .js-clone-nav li.cta .nav-link:hover,
  .js-clone-nav li.cta .nav-link:focus,
  .js-clone-nav > li.cta a:hover,
  .js-clone-nav > li.cta a:focus,
  .js-clone-nav > li.cta .nav-link:hover,
  .js-clone-nav > li.cta .nav-link:focus,
  .js-clone-nav .nav-item.cta a:hover,
  .js-clone-nav .nav-item.cta a:focus,
  .js-clone-nav .nav-item.cta .nav-link:hover,
  .js-clone-nav .nav-item.cta .nav-link:focus,
  .navbar-nav li.cta a:hover,
  .navbar-nav li.cta a:focus,
  .navbar-nav li.cta .nav-link:hover,
  .navbar-nav li.cta .nav-link:focus,
  .navbar-nav > li.cta a:hover,
  .navbar-nav > li.cta a:focus,
  .navbar-nav > li.cta .nav-link:hover,
  .navbar-nav > li.cta .nav-link:focus,
  .navbar-nav .nav-item.cta a:hover,
  .navbar-nav .nav-item.cta a:focus,
  .navbar-nav .nav-item.cta .nav-link:hover,
  .navbar-nav .nav-item.cta .nav-link:focus,
  .nav li.cta a:hover,
  .nav li.cta a:focus,
  .nav li.cta .nav-link:hover,
  .nav li.cta .nav-link:focus,
  .nav > li.cta a:hover,
  .nav > li.cta a:focus,
  .nav > li.cta .nav-link:hover,
  .nav > li.cta .nav-link:focus,
  .nav .nav-item.cta a:hover,
  .nav .nav-item.cta a:focus,
  .nav .nav-item.cta .nav-link:hover,
  .nav .nav-item.cta .nav-link:focus {
    background-color: rgb(51, 51, 51) !important;
    background: rgb(51, 51, 51) !important;
    color: rgb(255, 255, 255) !important;
  }
  /* Override Bootstrap's navbar-toggler */
  .navbar-toggler,
  .site-menu-toggle {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    color: rgb(51, 51, 51) !important;
  }
  .navbar-toggler:hover, .navbar-toggler:focus,
  .site-menu-toggle:hover,
  .site-menu-toggle:focus {
    color: rgb(85, 85, 85) !important;
    outline: none !important;
    box-shadow: none !important;
  }
  /* Force Bootstrap navbar to be white */
  .navbar {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
  }
  /* Override any remaining Bootstrap transitions */
  .collapsing {
    background-color: rgb(255, 255, 255) !important;
    background: rgb(255, 255, 255) !important;
    opacity: 1 !important;
  }
}
/* ===================================
   FORCE DESKTOP NAVIGATION STYLING
   ================================= */
@media (min-width: 992px) {
  .site-menu,
  .navbar-nav {
    display: flex !important;
    flex-direction: row !important;
    position: static !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
  }
  .site-menu li,
  .site-menu .nav-item,
  .navbar-nav li,
  .navbar-nav .nav-item {
    display: inline-block !important;
    background: transparent !important;
    background-color: transparent !important;
  }
  .site-menu li a,
  .site-menu li .nav-link,
  .site-menu .nav-item a,
  .site-menu .nav-item .nav-link,
  .navbar-nav li a,
  .navbar-nav li .nav-link,
  .navbar-nav .nav-item a,
  .navbar-nav .nav-item .nav-link {
    background: transparent !important;
    background-color: transparent !important;
    padding: 5px 20px !important;
    font-size: 1rem !important;
    display: inline-block !important;
    width: auto !important;
  }
}
/* ===================================
   REMOVE BOOTSTRAP GREEN HOVER COMPLETELY
   ================================= */
/* Override Bootstrap's default primary color (green) */
:root {
  --bs-primary: #000000 !important; /* Change Bootstrap primary to black */
  --bs-primary-rgb: 0, 0, 0 !important;
}

/* Force all navigation hover states to be black/gray */
.nav-link:hover, .nav-link:focus, .nav-link.active, .nav-link.show,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show,
.nav-item a:hover,
.nav-item a:focus,
.nav-item a.active,
.nav-item a.show,
a.nav-link:hover,
a.nav-link:focus,
a.nav-link.active,
a.nav-link.show {
  color: #333333 !important; /* Dark gray text */
  background-color: rgba(0, 0, 0, 0.05) !important; /* Light gray background */
  background: rgba(0, 0, 0, 0.05) !important;
  text-decoration: none !important;
}

/* Remove any remaining Bootstrap green styling */
.text-success,
.text-primary,
.bg-success,
.bg-primary {
  color: #333333 !important;
  background-color: transparent !important;
}

/* Mobile navigation - NO GREEN HOVER */
@media (max-width: 991px) {
  .site-menu li a:hover,
  .nav-link:hover,
  .navbar-nav .nav-link:hover {
    color: rgb(51, 51, 51) !important; /* Keep dark gray */
    background-color: rgba(0, 0, 0, 0.05) !important; /* Light gray background */
    background: rgba(0, 0, 0, 0.05) !important;
  }
}
/* ===================================
   PREVENT MOBILE NAVIGATION CUTOFF
   ================================= */
@media (max-width: 991px) {
  /* Ensure containers don't clip the dropdown */
  .site-navbar,
  .container-fluid,
  .site-navigation,
  .d-flex {
    overflow: visible !important;
  }
  /* Force body to allow horizontal scroll if needed */
  body {
    overflow-x: visible !important;
  }
  /* Ensure the mobile menu extends properly */
  .site-menu.show {
    /* Use viewport units for guaranteed full width */
    position: fixed !important;
    top: 70px !important; /* Adjust based on your navbar height */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    margin: 0 !important;
    padding: 1rem 0 !important;
    z-index: 1050 !important;
  }
}
/* ===================================
   MOBILE NAVIGATION - OVERRIDE BOOTSTRAP
   ================================= */
@media (max-width: 991px) {
  /* Force mobile dropdown to be full-width and solid white */
  .site-menu.show,
  .site-navigation .site-menu.show {
    position: fixed !important;
    top: 70px !important; /* Adjust to match your navbar height */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    z-index: 1050 !important;
    margin: 0 !important;
    padding: 1rem 0 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25) !important;
    border-radius: 0 0 15px 15px !important;
    overflow: visible !important;
  }
  /* Override any Bootstrap navigation classes */
  .nav-link:hover,
  .navbar-nav .nav-link:hover {
    color: #333333 !important;
    background-color: rgba(0, 0, 0, 0.05) !important;
    background: rgba(0, 0, 0, 0.05) !important;
  }
}

/*# sourceMappingURL=style.css.map */
