.visually-hidden, .visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}



div.mod-languages ul li.lang-active {
  background-color: transparent !important;
}


@media screen and (min-width:840px) {
  #sp-menu {padding: 0;}
  
}
#sp-menu > .sp-column .sp-module {margin-top: 15px !important;}
 


@media (min-width: 992px) {
.d-lg-none { display: none !important;}
  
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

@media (min-width: 768px) {
.col-md-4 {
  flex: 0 0 auto;
  width: 33.33333333%;}
.col-md-8 {
  flex: 0 0 auto;
  width: 66.66666667%;}
}

@media screen and (max-width: 768px) {
  #sp-header .logo .sp-scroll-logo {}
  #sp-header {background: white; }
  .hidden-sm, .hidden-xs {display:none !important;}
#sp-menu {padding-right: 15px;}
#sp-header .logo h1 > img {max-width: 180px;}  
  
}


.offcanvas {
  visibility: visible !important;
}


.offcanvas-menu .offcanvas-inner .sp-module .sp-module-content > ul {
  display: block !important;
}

#offcanvas-toggler > i {
  color: black !important;
  font-size: 20px;}


/* Custom CSS for Logo Visibility Fix */

/* Hide scroll logo by default on desktop */
#sp-header .logo .sp-scroll-logo {
  display: none !important;
}

/* Hide default logo when header is fixed (scrolled) */
#sp-header.menu-fixed .has-scroll-logo .sp-default-logo {
  display: none !important;
}

/* Show scroll logo when header is fixed (scrolled) */
#sp-header.menu-fixed .has-scroll-logo .sp-scroll-logo {
  display: block !important;
}

/* Ensure proper logo visibility on different screen sizes */
@media (max-width: 991.98px) {
  /* Hide desktop logos on mobile */
  .sp-default-logo.d-none.d-lg-block,
  .sp-scroll-logo.d-none.d-lg-block {
    display: none !important;
  }
  
  /* Show mobile logo on mobile */
  .sp-default-logo.d-block.d-lg-none {
    display: block !important;
  }
}

@media (min-width: 992px) {
  /* Show desktop logos on large screens */
  .sp-default-logo.d-none.d-lg-block {
    display: block !important;
  }
  
  /* Keep scroll logo hidden by default on desktop */
  .sp-scroll-logo.d-none.d-lg-block {
    display: none !important;
  }
}
