/* Semantic changes retain existing typography and text. */
main { display:block; }
img { max-width:100%; height:auto; }
.legacy-center { text-align:center; }
.legacy-center img { margin-left:auto; margin-right:auto; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline:2px solid #9a2259; outline-offset:3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; } }

/* Layout correction 2026-10-31: contain each slide and keep its height stable. */
.main-slider .slide > .container { width:100%; }
.main-slider .slideResize {
  height:calc(100vh - var(--site-header-height, 159px));
  height:calc(100svh - var(--site-header-height, 159px));
  min-height:480px;
}
@media (max-width:767px) {
  .top-info-bar { height:auto; min-height:45px; }
  .top-bar-right .list-inline { display:flex; flex-wrap:wrap; gap:0 10px; margin:0; padding:6px 0; }
  .top-bar-right .list-inline > li { padding:0; }
  .top-bar-right a, .top-bar-right span { line-height:24px; }
  .main-slider .slideResize {
    height:calc(100vh - var(--site-header-height, 117px));
    height:calc(100svh - var(--site-header-height, 117px));
    min-height:360px;
  }
  .main-slider .common-inner {
    left:24px; right:24px; top:50%; width:auto; max-width:calc(100% - 48px);
    padding:0; transform:translateY(-50%);
  }
  .main-slider .common-inner .h1 { overflow-wrap:normal; }
  .main-slider .common-inner .from-top,
  .main-slider .common-inner .from-bottom,
  .main-slider .common-inner .from-left,
  .main-slider .common-inner .from-right,
  .main-slider .common-inner .scale-up,
  .main-slider .common-inner .scale-down {
    opacity:1; transform:none; transition:none;
  }
  .aboutInfo :is(h1,h2) { letter-spacing:3px; overflow-wrap:break-word; }
  .contactInfo, .footerText, .media-body { overflow-wrap:anywhere; }
  iframe { max-width:100%; }
}

/* Requested fixed mobile navigation: preserve the original logo dimensions. */
.navbar.bb-fixed-header { background-color:#fff; transition:none; }
@media(max-width:767px) {
 .navbar.bb-fixed-header .navbar-brand { width:95px; padding:10px; top:0; }
 .bb-fixed-header.navbar-default .navbar-nav > li > a { padding:12px 15px; }
 .navbar.bb-fixed-header .navbar-collapse { max-height:calc(100dvh - 72px); overflow-y:auto; overscroll-behavior:contain; }
}

/* Accessible names for icon-only controls; no visible layout change. */
.un-visually-hidden { 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; clip-path:inset(50%) !important; white-space:nowrap !important; border:0 !important; }
