/*
 * 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-rich-text {
  color: #8ab09a;
}

.qt-rich-text .trix-content,
.qt-rich-text.trix-content {
  font-family: Arial, Helvetica, sans-serif;
  line-height: inherit;
}

.qt-rich-text p,
.qt-rich-text ul,
.qt-rich-text ol,
.qt-rich-text blockquote,
.qt-rich-text pre,
.qt-rich-text h1 {
  margin-top: 1rem;
}

.qt-rich-text p:first-child,
.qt-rich-text ul:first-child,
.qt-rich-text ol:first-child,
.qt-rich-text blockquote:first-child,
.qt-rich-text pre:first-child,
.qt-rich-text h1:first-child {
  margin-top: 0;
}

.qt-rich-text ul,
.qt-rich-text ol {
  padding-left: 1.5rem;
}

.qt-rich-text ul {
  list-style: disc;
}

.qt-rich-text ol {
  list-style: decimal;
}

.qt-rich-text li {
  margin-top: 0.35rem;
  padding-left: 0.15rem;
}

.qt-rich-text a {
  color: #c9a560;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.qt-rich-text strong {
  color: #f5f2e8;
  font-weight: 700;
}

.qt-rich-text em {
  color: #d7f3df;
}

.qt-rich-text h1 {
  color: #f5f2e8;
  font-family: "Arial Narrow", "Impact", "Franklin Gothic Heavy", sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

.qt-rich-text h2,
.qt-rich-text h3,
.qt-rich-text h4 {
  color: #f5f2e8;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

.qt-rich-text h2 {
  font-size: 1.75rem;
}

.qt-rich-text h3 {
  font-size: 1.35rem;
}

.qt-rich-text h4 {
  font-size: 1.1rem;
}

.qt-rich-text blockquote {
  border-left: 4px solid #c9a560;
  color: #d7f3df;
  padding-left: 1rem;
}

.qt-rich-text pre {
  background: #020603;
  border: 1px solid #1a4d35;
  color: #f5f2e8;
  padding: 1rem;
  white-space: pre-wrap;
}

.qt-rich-text-editor {
  min-height: 18rem;
}

trix-toolbar {
  font-family: Arial, Helvetica, sans-serif;
}

trix-toolbar .trix-button-row {
  gap: 0.5rem;
  justify-content: flex-start;
}

trix-toolbar .trix-button-group {
  border-color: #1a4d35;
  border-radius: 0;
  margin-bottom: 0.5rem;
}

trix-toolbar .trix-button {
  background: #020603;
  border-bottom-color: #1a4d35;
  color: #f5f2e8;
}

trix-toolbar .trix-button:not(:first-child) {
  border-left-color: #1a4d35;
}

trix-toolbar .trix-button.trix-active {
  background: #c9a560;
  color: #020b05;
}

trix-toolbar .trix-button--icon::before {
  filter: invert(96%) sepia(8%) saturate(328%) hue-rotate(357deg) brightness(103%) contrast(92%);
  opacity: 0.95;
}

trix-toolbar .trix-button--icon.trix-active::before {
  filter: invert(4%) sepia(24%) saturate(741%) hue-rotate(84deg) brightness(96%) contrast(101%);
  opacity: 1;
}

trix-toolbar .trix-button:disabled {
  color: rgba(245, 242, 232, 0.35);
}

trix-toolbar .trix-button--icon:disabled::before {
  filter: invert(96%) sepia(8%) saturate(328%) hue-rotate(357deg) brightness(103%) contrast(92%);
  opacity: 0.3;
}

trix-toolbar .trix-dialog {
  background: #052015;
  border-color: #c9a560;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.35);
}

trix-toolbar .trix-input--dialog {
  background: #020603;
  border-color: #1a4d35;
  color: #f5f2e8;
}

trix-editor.qt-rich-text-editor,
.qt-rich-text-editor trix-editor {
  border-color: #1a4d35;
  border-radius: 0;
  color: #f5f2e8;
}

trix-editor.qt-rich-text-editor:focus,
.qt-rich-text-editor trix-editor:focus {
  border-color: #c9a560;
}

.qt-admin-rich-editor,
.qt-admin-rich-editor * {
  letter-spacing: 0;
  text-transform: none;
}

.qt-admin-rich-editor {
  display: grid;
  gap: 0.75rem;
}

.qt-admin-rich-editor__textarea {
  min-height: 24rem;
}

.qt-admin-rich-editor .tox.tox-tinymce {
  border: 1px solid #1a4d35;
  border-radius: 0;
  font-family: Arial, Helvetica, sans-serif;
}

.qt-admin-rich-editor .tox .tox-editor-header,
.qt-admin-rich-editor .tox .tox-toolbar,
.qt-admin-rich-editor .tox .tox-toolbar__overflow,
.qt-admin-rich-editor .tox .tox-toolbar__primary {
  background: #020603;
  border-color: #1a4d35;
}

.qt-admin-rich-editor .tox .tox-tbtn,
.qt-admin-rich-editor .tox .tox-split-button,
.qt-admin-rich-editor .tox .tox-listboxfield .tox-listbox--select,
.qt-admin-rich-editor .tox .tox-toolbar-textfield,
.qt-admin-rich-editor .tox .tox-collection__item {
  background: #020603;
  border-color: #1a4d35;
  color: #f5f2e8;
}

.qt-admin-rich-editor .tox .tox-menu,
.qt-admin-rich-editor .tox .tox-collection--list {
  background: #020603;
  border-color: #1a4d35;
}

.qt-admin-rich-editor .tox .tox-collection__item-label {
  color: #f5f2e8;
}

.qt-admin-rich-editor .tox .tox-collection__item--active,
.qt-admin-rich-editor .tox .tox-collection__item:hover {
  background: #c9a560;
  color: #020b05;
}

.qt-admin-rich-editor .tox .tox-collection__item--active .tox-collection__item-label,
.qt-admin-rich-editor .tox .tox-collection__item:hover .tox-collection__item-label {
  color: #020b05;
}

.qt-admin-rich-editor .tox .tox-tbtn svg {
  fill: #f5f2e8;
}

.qt-admin-rich-editor .tox .tox-tbtn:hover,
.qt-admin-rich-editor .tox .tox-tbtn:focus,
.qt-admin-rich-editor .tox .tox-tbtn--enabled,
.qt-admin-rich-editor .tox .tox-tbtn--active,
.qt-admin-rich-editor .tox .tox-split-button:focus,
.qt-admin-rich-editor .tox .tox-split-button:hover {
  background: #c9a560;
  color: #020b05;
}

.qt-admin-rich-editor .tox .tox-tbtn:hover svg,
.qt-admin-rich-editor .tox .tox-tbtn:focus svg,
.qt-admin-rich-editor .tox .tox-tbtn--enabled svg,
.qt-admin-rich-editor .tox .tox-tbtn--active svg {
  fill: #020b05;
}

.qt-admin-rich-editor .tox .tox-tbtn--disabled,
.qt-admin-rich-editor .tox .tox-tbtn--disabled:hover {
  background: #020603;
  color: rgba(245, 242, 232, 0.35);
}

.qt-admin-rich-editor .tox .tox-tbtn--disabled svg {
  fill: rgba(245, 242, 232, 0.35);
}

.qt-admin-rich-editor .tox .tox-edit-area__iframe {
  background: #020603;
}

.qt-admin-rich-editor .tox .tox-statusbar {
  background: #020603;
  border-color: #1a4d35;
  color: #8ab09a;
}

.qt-admin-rich-editor .tox .tox-statusbar a,
.qt-admin-rich-editor .tox .tox-statusbar__path-item,
.qt-admin-rich-editor .tox .tox-statusbar__wordcount {
  color: #8ab09a;
}

.qt-course-summary {
  display: -webkit-box;
  min-height: 5.25rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.qt-course-detail-rich-text {
  max-width: 72ch;
}

.qt-course-detail-rich-text p,
.qt-course-detail-rich-text ul,
.qt-course-detail-rich-text ol,
.qt-course-detail-rich-text h2,
.qt-course-detail-rich-text h3,
.qt-course-detail-rich-text h4 {
  margin-top: 1.25rem;
  margin-bottom: 1rem;
}

.qt-course-detail-rich-text p:first-child,
.qt-course-detail-rich-text ul:first-child,
.qt-course-detail-rich-text ol:first-child,
.qt-course-detail-rich-text h2:first-child,
.qt-course-detail-rich-text h3:first-child,
.qt-course-detail-rich-text h4:first-child {
  margin-top: 0;
}

.qt-course-detail-rich-text ul,
.qt-course-detail-rich-text ol {
  padding-left: 1.75rem;
}

.qt-course-detail-rich-text li {
  margin-top: 0.55rem;
}

.qt-course-detail-rich-text h2 {
  border-bottom: 1px solid #1a4d35;
  padding-bottom: 0.65rem;
}

.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%;
  }

  .qt-cart-item,
  .qt-cart-item fieldset,
  .qt-cart-item input,
  .qt-cart-item select,
  .qt-cart-item textarea {
    min-width: 0;
    max-width: 100%;
  }

  .qt-cart-actions {
    align-items: stretch;
  }

  .qt-cart-actions > a,
  .qt-cart-actions > button {
    white-space: normal;
  }

  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-cart-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .qt-cart-actions > a,
  .qt-cart-actions > button {
    justify-content: center;
    text-align: center;
    width: 100%;
  }

  .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;
  }
}
