
/* AIC-Plasmatech Responsive Enhancement
   Added without changing the existing Bootstrap/theme files.
*/
html { width: 100%; overflow-x: hidden; }
body { width: 100%; max-width: 100%; overflow-x: hidden; }
img, svg, video, canvas { max-width: 100%; }
iframe { max-width: 100%; border: 0; }

.navbar.clean-navbar {
  min-height: 72px;
  padding-top: .5rem;
  padding-bottom: .5rem;
}
.navbar.clean-navbar .container { width: 100%; }
.navbar.clean-navbar picture { display:flex; align-items:center; flex: 0 0 auto; }
.navbar.clean-navbar picture img { width:auto !important; max-width: 155px; height:auto; max-height:58px; object-fit:contain; }
.navbar.clean-navbar .navbar-nav { align-items:center; gap:.1rem; }
.navbar.clean-navbar .nav-link { white-space:nowrap; }
.navbar.clean-navbar .navbar-toggler {
  min-width:44px; min-height:44px; padding:.5rem;
  border-radius:.375rem; margin-left:auto;
}
.navbar.clean-navbar .navbar-toggler:focus { box-shadow:0 0 0 .2rem rgba(13,110,253,.15); }
.navbar.clean-navbar .navbar-toggler-icon {
  background-image:none !important;
  width:1.5rem; height:1.5rem; position:relative; display:block;
  border-top:2px solid currentColor; border-bottom:2px solid currentColor;
}
.navbar.clean-navbar .navbar-toggler-icon::after {
  content:""; position:absolute; left:0; right:0; top:50%;
  border-top:2px solid currentColor; transform:translateY(-50%);
}

main.page, main { width:100%; max-width:100%; }
main .container, footer .container { max-width:1200px; }
main .row { --bs-gutter-x: 1.5rem; }
main [class*="col-"] { min-width:0; }
main p, main h1, main h2, main h3, main h4, main h5, main h6,
main li, main a { overflow-wrap:anywhere; }
main img { max-width:100%; height:auto; }
main .carousel { max-width:100% !important; }
main .carousel img { max-width:100%; height:auto; object-fit:contain; }
main embed, main object { max-width:100%; }
main table { width:100%; max-width:100%; display:block; overflow-x:auto; }
main pre, main code { max-width:100%; overflow-x:auto; white-space:pre-wrap; }

footer { width:100%; max-width:100%; overflow:hidden; }
footer .row { align-items:flex-start; }
footer img { max-width:100%; height:auto; }
footer a { overflow-wrap:anywhere; }
.footer-copyright { text-align:center; }

@media (min-width: 992px) {
  .navbar.clean-navbar .navbar-collapse { justify-content:flex-end; }
  .navbar.clean-navbar .nav-link { padding-left:.55rem; padding-right:.55rem; }
}

@media (max-width: 991.98px) {
  .navbar.clean-navbar { min-height:64px; }
  .navbar.clean-navbar .navbar-collapse {
    background:rgba(255,255,255,.98);
    border-top:1px solid rgba(0,0,0,.08);
    margin-top:.5rem;
    padding:.35rem 0 .65rem;
  }
  .navbar.clean-navbar .navbar-nav { align-items:stretch; }
  .navbar.clean-navbar .nav-item { width:100%; }
  .navbar.clean-navbar .nav-link {
    display:block; width:100%; min-height:44px; padding:.65rem .75rem !important;
    white-space:normal; border-radius:.25rem;
  }
  main .container, footer .container { max-width:100%; }
}

@media (max-width: 767.98px) {
  body { font-size:16px; }
  .container { --bs-gutter-x:1rem; }
  main .container, footer .container {
    width:100%;
    padding-left:14px;
    padding-right:14px;
  }

  /* Convert fixed-width inline elements to fluid elements on phones. */
  main [style*="width:"] {
    max-width:100% !important;
  }
  main [style*="height:"] {
    height:auto !important;
    min-height:0 !important;
  }
  main [style*="max-width:"] { max-width:100% !important; }

  main h1 { font-size:clamp(1.65rem, 7vw, 2.25rem); line-height:1.2; }
  main h2 { font-size:clamp(1.4rem, 6vw, 2rem); line-height:1.25; }
  main h3 { font-size:clamp(1.2rem, 5vw, 1.6rem); line-height:1.3; }
  main p, main li { line-height:1.65; }

  main .row > [class*="col-"] { margin-bottom:1rem; }

  main .carousel,
  main .carousel-inner,
  main .carousel-item { width:100% !important; }
  main .carousel-item img,
  main .carousel img { width:100% !important; max-width:100% !important; height:auto !important; }

  main .btn { min-height:44px; padding:.65rem 1rem; white-space:normal; }
  main .display-1, main .display-2, main .display-3,
  main .display-4, main .display-5, main .display-6 {
    font-size:clamp(2rem, 10vw, 3.5rem);
  }

  footer .row > [class*="col-"] {
    width:100%; max-width:100%; text-align:center;
    margin-bottom:1.25rem;
  }
  footer h5 { font-size:1rem; line-height:1.55; }
  footer .img-fluid { margin-left:auto; margin-right:auto; }

  /* Long EOI/document content */
  main .ratio, main .embed-responsive { max-width:100%; }
}

@media (max-width: 480px) {
  .navbar.clean-navbar picture img { max-width:125px; max-height:50px; }
  main .container, footer .container { padding-left:12px; padding-right:12px; }
  main h1 { padding-left:0 !important; padding-right:0 !important; }
  main p { font-size:1rem; }
  main .btn { width:auto; max-width:100%; }
}

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