/* Joomla 6 compatibility layer for the preserved JoomSpirit 99 design. */

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

.main_component .alert {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid currentColor;
  border-radius: 0.25rem;
}

.main_component .pagination,
.main_component .pagination__wrapper ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding-left: 0;
  list-style: none;
}

.main_component .page-link {
  display: block;
  padding: 0.4rem 0.7rem;
  border: 1px solid #ccc;
  border-radius: 0.2rem;
}

.main_component .com-content-article__body,
.main_component .com-content-category-blog,
.main_component .com-contact,
.main_component .com-users-login,
.main_component .com-users-registration {
  min-width: 0;
}

.drop-down .mod-menu {
  margin-bottom: 0;
}

/* Joomla 4-6 adds an accessible submenu toggle beside parent links. The
   original JoomSpirit menu opens submenus on hover/focus, so the extra button
   must not take up space in the centered desktop navigation. */
.drop-down .mod-menu__toggle-sub {
  display: none !important;
}

.drop-down li:focus-within > ul.mod-menu__sub,
.drop-down li:hover > ul.mod-menu__sub,
.drop-down ul.mod-menu__sub[aria-hidden="false"] {
  display: block !important;
  z-index: 10;
  opacity: 1;
}

#toTop.is-visible {
  display: block;
}

#toTopLink {
  border: 0;
  padding: 0.4rem;
  background: transparent;
  cursor: pointer;
}

.baumert-animations [data-scroll-reveal] {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.baumert-animations [data-scroll-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media screen and (max-width: 979px) {
  .drop-down li > ul.mod-menu__sub {
    display: block !important;
  }

  #js_navigation.is-open > ul {
    display: block;
  }

  #js_navigation.is-open::before {
    content: "";
    position: fixed;
    z-index: -1;
    inset: 0;
    background: rgba(80, 80, 80, 0.8);
  }
}
