/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Arial Narrow", "Barlow Condensed", "Franklin Gothic Condensed", Arial, sans-serif;
}

.qt-display {
  font-family: "Arial Narrow", "Impact", "Franklin Gothic Heavy", sans-serif;
  letter-spacing: 0;
}

.qt-copy {
  font-family: Arial, Helvetica, sans-serif;
}

.qt-field-info {
  cursor: help;
}

.qt-marquee {
  white-space: nowrap;
}

.qt-marquee-track {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  width: max-content;
  animation: qt-marquee-left-to-right 18s linear infinite;
  will-change: transform;
}

.qt-dot::before {
  content: "-";
  display: inline-block;
  margin-right: 2rem;
}

.qt-home-hero-mobile {
  display: none;
}

.qt-ihsan-quote-image-mobile {
  display: none;
}

@keyframes qt-marquee-left-to-right {
  from {
    transform: translate3d(-33.333%, 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

/* Desktop baseline: do not place desktop-wide overrides below this point. */
@media (max-width: 1023px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    text-size-adjust: 100%;
  }

  header > div {
    min-height: 4.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  header a[aria-label="Qawwam Tactical home"] img {
    height: 4rem;
  }

  header nav[aria-label="Main navigation"] {
    display: none !important;
  }

  header nav[aria-label="Mobile navigation"].qt-home-mobile-nav {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: center;
    overflow-x: visible;
    padding-left: 1rem;
    padding-right: 1rem;
    scrollbar-width: none;
  }

  header details[aria-label="Mobile navigation"].qt-mobile-menu {
    display: block !important;
  }

  header nav[aria-label="Mobile navigation"].qt-home-mobile-nav::-webkit-scrollbar {
    display: none;
  }

  header a[href$="/courses"].inline-flex {
    min-height: 2.75rem;
    padding-left: 1rem;
    padding-right: 1rem;
    text-align: center;
  }

  main {
    overflow-x: hidden;
  }

  main section {
    max-width: 100%;
  }

  main h1.qt-display,
  main h2.qt-display {
    overflow-wrap: break-word;
    word-break: normal;
  }

  main h1.qt-display {
    font-size: clamp(2.75rem, 9vw, 4.5rem);
  }

  main h2.qt-display {
    font-size: clamp(2.5rem, 8vw, 4rem);
  }

  .qt-marquee {
    overflow: hidden;
  }

  .qt-marquee-track {
    gap: 1.5rem;
    animation-duration: 14s;
  }

  .qt-dot::before {
    margin-right: 1.5rem;
  }

  .qt-mobile-menu summary {
    list-style: none;
  }

  .qt-mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  table {
    max-width: 100%;
  }

  footer {
    overflow-x: hidden;
  }
}

@media (max-width: 639px) {
  header > div {
    align-items: center;
    gap: 0.75rem;
  }

  header a[aria-label="Qawwam Tactical home"] img {
    height: auto;
    max-width: 11.75rem;
  }

  header a[href$="/courses"].inline-flex {
    max-width: 7.5rem;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    font-size: 0.625rem;
    letter-spacing: 0.16em;
  }

  main h1.qt-display {
    font-size: clamp(1.8rem, 8vw, 2.3rem);
  }

  main h2.qt-display {
    font-size: clamp(2rem, 9vw, 2.75rem);
  }

  main section > div,
  footer > div {
    min-width: 0;
  }

  main section:first-of-type .qt-display {
    line-height: 1.05;
  }

  main section:first-of-type > div > p:first-child {
    flex-wrap: wrap;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    line-height: 1.45;
  }

  main section:first-of-type > div > p:first-child::before {
    width: 1.5rem;
  }

  main section:first-of-type dl {
    grid-template-columns: 1fr;
  }

  main section:first-of-type dt {
    font-size: 2rem;
  }

  main section:first-of-type dd {
    font-size: 0.7rem;
  }

  .qt-marquee {
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
    font-size: 0.68rem;
    letter-spacing: 0.14em;
  }

  .qt-marquee-track {
    gap: 1.25rem;
  }

  .qt-dot::before {
    margin-right: 1.25rem;
  }

  .qt-home-hero-desktop {
    display: none;
  }

  .qt-home-hero-mobile {
    display: block;
    object-position: center center;
  }

  .qt-ihsan-quote-image-desktop {
    display: none;
  }

  .qt-ihsan-quote-image-mobile {
    display: block;
    object-position: center center;
  }
}
