/* ==========================================================================
   VENUS STAR HIGH SCHOOL
   ABOUT PAGE — COMPLETE CSS
   ========================================================================== */


/* ==========================================================================
   01. VARIABLES
   ========================================================================== */

:root {
  --ink: #12161c;
  --slate: #5b6472;

  --paper: #ffffff;
  --paper-dim: #f5f7fa;

  --royal: #1b3a6b;
  --royal-deep: #0b1b33;

  --sky: #3ec1f3;
  --line: #e2e7ee;

  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --sans: "Inter", Arial, Helvetica, sans-serif;

  --page-max: 1320px;
}


/* ==========================================================================
   02. RESET
   ========================================================================== */

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

.vshs-ox {
  width: 100%;
  max-width: 100%;

  margin: 0;
  padding: 0;

  background: var(--paper);
  color: var(--ink);

  font-family: var(--sans);

  overflow-x: hidden;
}

.vshs-ox h1,
.vshs-ox h2,
.vshs-ox h3,
.vshs-ox h4,
.vshs-ox p {
  margin-top: 0;
}

.vshs-ox img {
  display: block;
  max-width: 100%;
}

.vshs-ox a {
  text-decoration: none;
}

.vshs-ox button,
.vshs-ox input {
  font-family: inherit;
}


/* ==========================================================================
   03. REMOVE OLD BORDERS / LINES
   ========================================================================== */

.vshs-ox header,
.vshs-ox nav,
.vshs-ox section,
.vshs-ox hr,
.vshs-ox .vshs-ox-hero,
.vshs-ox .vshs-ox-photo-band,
.vshs-ox .vshs-ox-after-hero,
.vshs-ox .vshs-ox-search,
.vshs-ox .vshs-ox-cards-band {
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.vshs-ox hr {
  display: none !important;
}


/* ==========================================================================
   04. MAIN CONTENT WRAPPER
   ========================================================================== */

.vshs-ox-wrap,
.vshs-ox .wrap {
  width: min(100%, var(--page-max));

  margin-left: auto;
  margin-right: auto;

  padding-left: 40px;
  padding-right: 40px;
}


/* ==========================================================================
   05. HERO
   ========================================================================== */

.vshs-ox-hero {
  position: relative;

  width: 100%;

  margin: 0;
  padding: 145px 0 70px;

  background: var(--royal-deep);

  border: 0 !important;

  z-index: 5;
}


/* ==========================================================================
   06. HERO CONTENT GRID
   ========================================================================== */

.vshs-ox-hero-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.55fr)
    minmax(300px, 0.85fr);

  align-items: end;

  gap: 70px;

  /*
     This is the additional downward movement for the title
     and description.
  */
  transform: translateY(20px);
}


/* ==========================================================================
   07. HERO TITLE
   ========================================================================== */

.vshs-ox-hero h1 {
  width: 100%;
  max-width: 760px;

  margin: 0;

  color: #ffffff;

  font-family: var(--serif);

  font-size: clamp(44px, 4.7vw, 62px);

  font-weight: 500;

  line-height: 1.05;

  letter-spacing: -0.025em;
}


/* ==========================================================================
   08. HERO DESCRIPTION
   ========================================================================== */

.vshs-ox-hero-statement {
  width: 100%;
  max-width: 440px;

  margin: 0;
  padding: 0 0 5px;

  color: rgba(255, 255, 255, 0.92);

  font-family: var(--sans);

  font-size: 13px;

  line-height: 1.62;
}


/* ==========================================================================
   09. HERO IMAGE BAND
   ========================================================================== */

.vshs-ox-photo-band {
  position: relative;

  width: 100%;

  margin: 0;
  padding: 0;

  background: var(--royal-deep);

  overflow: visible;

  border: 0 !important;

  z-index: 4;
}


/* ==========================================================================
   10. HERO IMAGE WRAPPER
   ========================================================================== */

.vshs-ox-hero-photo {
  position: relative;

  width: min(100%, var(--page-max));

  margin-left: auto;
  margin-right: auto;

  padding-left: 40px;
  padding-right: 40px;

  overflow: visible;

  z-index: 10;
}


/* ==========================================================================
   11. HERO IMAGE
   ========================================================================== */

.vshs-ox-hero-photo-inner {
  position: relative;

  width: 100%;

  height: clamp(390px, 40vw, 540px);

  margin: 0;

  overflow: hidden;

  background: #dfe5eb;

  /*
     Image comes slightly down over the navy/light transition.
  */
  transform: translateY(82px);

  z-index: 10;
}

.vshs-ox-hero-photo-inner img {
  display: block;

  width: 100%;
  height: 100%;

  margin: 0;
  padding: 0;

  object-fit: cover;

  object-position: center 32%;

  border: 0 !important;
}


/* ==========================================================================
   12. LIGHT SECTION AFTER IMAGE
   ========================================================================== */

.vshs-ox-after-hero {
  position: relative;

  width: 100%;

  margin: 0;

  /*
     Space reserved for the image overlapping this section.
  */
  padding: 145px 0 68px;

  background: var(--paper-dim);

  border: 0 !important;

  overflow: hidden;

  z-index: 1;
}


/* ==========================================================================
   13. CONTENT ABOVE WATERMARK
   ========================================================================== */

.vshs-ox-after-hero .wrap {
  position: relative;

  z-index: 3;
}


/* ==========================================================================
   14. DECORATIVE WATERMARK
   ========================================================================== */

.vshs-ox-pages-watermark {
  position: absolute;

  top: 50%;
  right: -160px;

  width: 640px;
  height: 640px;

  transform: translateY(-50%);

  border: 25px solid rgba(27, 58, 107, 0.045);

  border-radius: 50%;

  pointer-events: none;

  z-index: 0;
}


/* ==========================================================================
   15. PAGES HEADING
   ========================================================================== */

.vshs-ox-after-hero h2,
.vshs-ox-pages h2 {
  position: relative;

  margin: 0 0 34px;

  color: var(--royal);

  font-family: var(--serif);

  font-size: clamp(32px, 3.4vw, 44px);

  font-weight: 500;

  line-height: 1.15;

  letter-spacing: -0.015em;

  z-index: 3;
}


/* ==========================================================================
   16. PAGES GRID
   ========================================================================== */

.vshs-ox-pages-grid {
  position: relative;

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  column-gap: 48px;
  row-gap: 22px;

  z-index: 3;
}


/* ==========================================================================
   17. PAGE LINKS
   ========================================================================== */

.vshs-ox-page-link {
  display: inline-flex;

  align-items: center;

  width: fit-content;

  gap: 11px;

  color: var(--ink);

  font-size: 16px;

  font-weight: 500;

  line-height: 1.4;

  transition:
    color 0.18s ease,
    transform 0.18s ease;
}

.vshs-ox-page-link:hover {
  color: var(--royal);

  transform: translateX(2px);
}


/* ==========================================================================
   18. PAGE LINK CIRCLE
   ========================================================================== */

.vshs-ox-arrow-circle {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  width: 22px;
  height: 22px;

  flex: 0 0 22px;

  border: 1.5px solid var(--royal);

  border-radius: 50%;

  color: var(--royal);

  font-size: 14px;

  line-height: 1;

  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

.vshs-ox-page-link:hover .vshs-ox-arrow-circle {
  background: var(--royal);

  border-color: var(--royal);

  color: #ffffff;
}


/* ==========================================================================
   19. SEARCH SECTION
   ========================================================================== */

.vshs-ox-search {
  width: 100%;

  margin: 0;
  padding: 0;

  background: var(--paper-dim);

  border: 0 !important;
}


/* ==========================================================================
   20. SEARCH WRAPPER
   ========================================================================== */

.vshs-ox-search-box {
  width: min(100%, var(--page-max));

  margin: 0 auto;

  padding: 0 40px 58px;
}


/* ==========================================================================
   21. SEARCH PANEL
   ========================================================================== */

.vshs-ox-search-inner {
  display: grid;

  grid-template-columns:
    minmax(0, 0.9fr)
    minmax(0, 1.1fr);

  align-items: center;

  gap: 45px;

  width: 100%;

  padding: 40px 42px;

  background: #e4eef7;
}


/* ==========================================================================
   22. SEARCH HEADING
   ========================================================================== */

.vshs-ox-search-inner h3 {
  margin: 0;

  color: var(--royal-deep);

  font-family: var(--serif);

  font-size: clamp(24px, 2.3vw, 31px);

  font-weight: 500;

  line-height: 1.28;

  letter-spacing: -0.01em;
}


/* ==========================================================================
   23. SEARCH CONTROLS
   ========================================================================== */

.vshs-ox-search-controls {
  display: flex;

  flex-direction: column;

  gap: 17px;

  min-width: 0;
}


/* ==========================================================================
   24. SEARCH RADIO BUTTONS
   ========================================================================== */

.vshs-ox-search-radios {
  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 12px 26px;
}

.vshs-ox-search-radios label {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  color: var(--ink);

  font-size: 14px;

  font-weight: 500;

  line-height: 1.3;

  white-space: nowrap;

  cursor: pointer;
}

.vshs-ox-search-radios input {
  width: 16px;
  height: 16px;

  margin: 0;

  accent-color: var(--royal);
}


/* ==========================================================================
   25. SEARCH FORM
   ========================================================================== */

.vshs-ox-search-row {
  display: flex;

  width: 100%;

  margin: 0;
}

.vshs-ox-search-row input[type="text"] {
  flex: 1 1 auto;

  min-width: 0;

  width: 100%;
  height: 48px;

  margin: 0;

  padding: 0 16px;

  color: var(--ink);

  background: #ffffff;

  border: 1px solid var(--line);

  border-right: none;

  border-radius: 0;

  font-size: 15px;

  outline: none;
}

.vshs-ox-search-row input[type="text"]::placeholder {
  color: #7a8491;
}

.vshs-ox-search-row input[type="text"]:focus {
  outline: 2px solid var(--royal);

  outline-offset: -2px;
}

.vshs-ox-search-row button {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  flex: 0 0 auto;

  min-width: 116px;
  height: 48px;

  margin: 0;
  padding: 0 22px;

  color: #ffffff;

  background: var(--royal);

  border: none;

  border-radius: 0;

  font-size: 15px;

  font-weight: 600;

  cursor: pointer;

  transition: background 0.18s ease;
}

.vshs-ox-search-row button:hover {
  background: var(--royal-deep);
}


/* ==========================================================================
   26. CARDS BAND
   ========================================================================== */

.vshs-ox-cards-band {
  width: 100%;

  margin: 0;

  padding: 54px 0 72px;

  background: #e4eef7;

  border: 0 !important;
}


/* ==========================================================================
   27. CARDS GRID
   ========================================================================== */

.vshs-ox-cards-grid {
  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 30px;
}


/* ==========================================================================
   28. CARD
   ========================================================================== */

.vshs-ox-card {
  min-width: 0;
}


/* ==========================================================================
   29. CARD IMAGE
   ========================================================================== */

.vshs-ox-card-photo {
  position: relative;

  width: 100%;

  aspect-ratio: 4 / 3;

  margin: 0 0 18px;

  overflow: hidden;

  background: #dfe5eb;
}

.vshs-ox-card-photo img {
  display: block;

  width: 100%;
  height: 100%;

  margin: 0;
  padding: 0;

  object-fit: cover;

  border: 0;

  transition: transform 0.35s ease;
}

.vshs-ox-card:hover .vshs-ox-card-photo img {
  transform: scale(1.025);
}


/* ==========================================================================
   30. CARD TITLE
   ========================================================================== */

.vshs-ox-card h4 {
  margin: 0 0 10px;

  color: var(--royal);

  font-family: var(--serif);

  font-size: 20px;

  font-weight: 500;

  line-height: 1.25;
}

.vshs-ox-card h4 a {
  color: var(--royal);

  text-decoration: underline;

  text-decoration-thickness: 1px;

  text-underline-offset: 4px;
}

.vshs-ox-card h4 a:hover {
  color: var(--royal-deep);
}


/* ==========================================================================
   31. CARD DESCRIPTION
   ========================================================================== */

.vshs-ox-card p {
  margin: 0;

  color: var(--ink);

  font-size: 14px;

  line-height: 1.65;
}


/* ==========================================================================
   32. LARGE DESKTOP / LAPTOP
   ========================================================================== */

@media (max-width: 1100px) {

  .vshs-ox-wrap,
  .vshs-ox .wrap {
    padding-left: 30px;
    padding-right: 30px;
  }

  .vshs-ox-hero-photo {
    padding-left: 30px;
    padding-right: 30px;
  }

  .vshs-ox-search-box {
    padding-left: 30px;
    padding-right: 30px;
  }


  /* HERO */

  .vshs-ox-hero {
    padding-top: 130px;
    padding-bottom: 62px;
  }

  .vshs-ox-hero-grid {
    grid-template-columns:
      minmax(0, 1.35fr)
      minmax(260px, 0.85fr);

    gap: 42px;

    transform: translateY(18px);
  }

  .vshs-ox-hero h1 {
    font-size: clamp(40px, 5vw, 56px);
  }


  /* IMAGE */

  .vshs-ox-hero-photo-inner {
    height: 450px;

    transform: translateY(76px);
  }


  /* LIGHT SECTION */

  .vshs-ox-after-hero {
    padding-top: 130px;
  }


  /* SEARCH */

  .vshs-ox-search-inner {
    gap: 30px;

    padding: 34px;
  }


  /* CARDS */

  .vshs-ox-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    row-gap: 44px;
  }
}


/* ==========================================================================
   33. TABLET
   ========================================================================== */

@media (max-width: 800px) {

  .vshs-ox-wrap,
  .vshs-ox .wrap {
    padding-left: 24px;
    padding-right: 24px;
  }

  .vshs-ox-hero-photo {
    padding-left: 24px;
    padding-right: 24px;
  }

  .vshs-ox-search-box {
    padding-left: 24px;
    padding-right: 24px;
  }


  /* HERO */

  .vshs-ox-hero {
    padding-top: 115px;
    padding-bottom: 55px;
  }

  .vshs-ox-hero-grid {
    display: block;

    transform: translateY(18px);
  }

  .vshs-ox-hero h1 {
    max-width: 700px;

    margin-bottom: 22px;

    font-size: clamp(38px, 7vw, 52px);
  }

  .vshs-ox-hero-statement {
    max-width: 620px;

    font-size: 13px;

    line-height: 1.6;
  }


  /* IMAGE */

  .vshs-ox-hero-photo-inner {
    height: 390px;

    transform: translateY(65px);
  }


  /* LIGHT SECTION */

  .vshs-ox-after-hero {
    padding-top: 112px;
  }


  /* PAGES */

  .vshs-ox-pages-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    column-gap: 30px;
  }


  /* SEARCH */

  .vshs-ox-search-inner {
    grid-template-columns: 1fr;

    gap: 25px;

    padding: 30px;
  }


  /* CARDS */

  .vshs-ox-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 36px 24px;
  }
}


/* ==========================================================================
   34. MOBILE
   ========================================================================== */

@media (max-width: 600px) {

  .vshs-ox-wrap,
  .vshs-ox .wrap {
    width: 100%;

    padding-left: 20px;
    padding-right: 20px;
  }


  /* -----------------------------------------------------------------------
     HERO

     The content is intentionally pushed down here.
     ----------------------------------------------------------------------- */

  .vshs-ox-hero {
    width: 100%;

    margin: 0;

    padding-top: 105px;
    padding-bottom: 44px;

    background: var(--royal-deep);

    border: 0 !important;
  }


  /* -----------------------------------------------------------------------
     HERO CONTENT
     ----------------------------------------------------------------------- */

  .vshs-ox-hero-grid {
    display: block;

    width: 100%;

    transform: translateY(18px);
  }


  /* -----------------------------------------------------------------------
     TITLE
     ----------------------------------------------------------------------- */

  .vshs-ox-hero h1 {
    width: 100%;
    max-width: 100%;

    margin: 0 0 21px;

    color: #ffffff;

    font-family: var(--serif);

    font-size: 37px;

    font-weight: 500;

    line-height: 1.08;

    letter-spacing: -0.018em;
  }


  /* -----------------------------------------------------------------------
     DESCRIPTION
     ----------------------------------------------------------------------- */

  .vshs-ox-hero-statement {
    width: 100%;
    max-width: 100%;

    margin: 0;

    padding: 0;

    color: rgba(255, 255, 255, 0.92);

    font-size: 13px;

    line-height: 1.62;
  }


  /* -----------------------------------------------------------------------
     IMAGE BAND
     ----------------------------------------------------------------------- */

  .vshs-ox-photo-band {
    width: 100%;

    margin: 0;
    padding: 0;

    background: var(--royal-deep);

    overflow: visible;

    border: 0 !important;
  }


  /* -----------------------------------------------------------------------
     IMAGE WRAPPER
     ----------------------------------------------------------------------- */

  .vshs-ox-hero-photo {
    width: 100%;

    margin: 0;

    padding-left: 20px;
    padding-right: 20px;

    overflow: visible;
  }


  /* -----------------------------------------------------------------------
     IMAGE

     3:2 = 288 × 192 proportion.
     ----------------------------------------------------------------------- */

  .vshs-ox-hero-photo-inner {
    position: relative;

    width: 100%;

    height: auto;

    aspect-ratio: 3 / 2;

    margin: 0;

    overflow: hidden;

    background: #dfe5eb;

    transform: translateY(34px);

    z-index: 10;
  }

  .vshs-ox-hero-photo-inner img {
    display: block;

    width: 100%;
    height: 100%;

    margin: 0;
    padding: 0;

    object-fit: cover;

    object-position: center center;

    border: 0 !important;
  }


  /* -----------------------------------------------------------------------
     LIGHT SECTION
     ----------------------------------------------------------------------- */

  .vshs-ox-after-hero {
    width: 100%;

    margin: 0;

    padding-top: 78px;
    padding-bottom: 50px;

    background: var(--paper-dim);

    border: 0 !important;

    overflow: hidden;
  }


  /* -----------------------------------------------------------------------
     PAGES HEADING
     ----------------------------------------------------------------------- */

  .vshs-ox-after-hero h2,
  .vshs-ox-pages h2 {
    margin: 0 0 29px;

    color: var(--royal);

    font-family: var(--serif);

    font-size: 31px;

    font-weight: 500;

    line-height: 1.15;
  }


  /* -----------------------------------------------------------------------
     PAGES LIST
     ----------------------------------------------------------------------- */

  .vshs-ox-pages-grid {
    display: grid;

    grid-template-columns: 1fr;

    width: 100%;

    gap: 18px;
  }


  /* -----------------------------------------------------------------------
     PAGE LINK
     ----------------------------------------------------------------------- */

  .vshs-ox-page-link {
    display: inline-flex;

    align-items: center;

    width: fit-content;

    gap: 11px;

    color: var(--ink);

    font-size: 15px;

    font-weight: 500;
  }

  .vshs-ox-arrow-circle {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 22px;
    height: 22px;

    flex: 0 0 22px;

    border: 1.5px solid var(--royal);

    border-radius: 50%;

    color: var(--royal);

    font-size: 14px;
  }


  /* -----------------------------------------------------------------------
     WATERMARK
     ----------------------------------------------------------------------- */

  .vshs-ox-pages-watermark {
    width: 430px;
    height: 430px;

    top: 50%;
    right: -255px;

    transform: translateY(-50%);

    border-width: 17px;
  }


  /* -----------------------------------------------------------------------
     SEARCH
     ----------------------------------------------------------------------- */

  .vshs-ox-search-box {
    width: 100%;

    margin: 0;

    padding: 0 20px 42px;
  }

  .vshs-ox-search-inner {
    display: block;

    width: 100%;

    margin: 0;

    padding: 25px 20px;

    background: #e4eef7;
  }


  /* SEARCH TITLE */

  .vshs-ox-search-inner h3 {
    margin: 0 0 22px;

    color: var(--royal-deep);

    font-family: var(--serif);

    font-size: 23px;

    font-weight: 500;

    line-height: 1.3;
  }


  /* SEARCH CONTROLS */

  .vshs-ox-search-controls {
    display: flex;

    flex-direction: column;

    width: 100%;

    gap: 16px;
  }


  /* RADIO BUTTONS */

  .vshs-ox-search-radios {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 12px 18px;
  }

  .vshs-ox-search-radios label {
    display: inline-flex;

    align-items: center;

    gap: 7px;

    font-size: 13px;
  }


  /* SEARCH FORM */

  .vshs-ox-search-row {
    display: flex;

    width: 100%;
  }

  .vshs-ox-search-row input[type="text"] {
    flex: 1 1 auto;

    min-width: 0;

    width: 100%;

    height: 46px;

    padding: 0 12px;

    font-size: 14px;
  }

  .vshs-ox-search-row button {
    flex: 0 0 92px;

    width: 92px;
    min-width: 92px;

    height: 46px;

    padding: 0 10px;

    font-size: 14px;
  }


  /* -----------------------------------------------------------------------
     CARDS
     ----------------------------------------------------------------------- */

  .vshs-ox-cards-band {
    width: 100%;

    margin: 0;

    padding: 40px 0 52px;

    background: #e4eef7;

    border: 0 !important;
  }

  .vshs-ox-cards-grid {
    display: grid;

    grid-template-columns: 1fr;

    gap: 36px;
  }

  .vshs-ox-card-photo {
    width: 100%;

    aspect-ratio: 16 / 10;

    margin-bottom: 17px;
  }

  .vshs-ox-card h4 {
    margin-bottom: 9px;

    font-size: 20px;
  }

  .vshs-ox-card p {
    font-size: 14px;

    line-height: 1.6;
  }
}


/* ==========================================================================
   35. SMALL PHONES
   ========================================================================== */

@media (max-width: 400px) {

  .vshs-ox-wrap,
  .vshs-ox .wrap {
    padding-left: 16px;
    padding-right: 16px;
  }


  /* HERO */

  .vshs-ox-hero {
    padding-top: 95px;
    padding-bottom: 40px;
  }

  .vshs-ox-hero-grid {
    transform: translateY(15px);
  }

  .vshs-ox-hero h1 {
    margin-bottom: 19px;

    font-size: 34px;

    line-height: 1.08;
  }

  .vshs-ox-hero-statement {
    font-size: 13px;

    line-height: 1.6;
  }


  /* IMAGE */

  .vshs-ox-hero-photo {
    padding-left: 16px;
    padding-right: 16px;
  }

  .vshs-ox-hero-photo-inner {
    aspect-ratio: 3 / 2;

    transform: translateY(30px);
  }


  /* LIGHT SECTION */

  .vshs-ox-after-hero {
    padding-top: 68px;
    padding-bottom: 45px;
  }

  .vshs-ox-after-hero h2,
  .vshs-ox-pages h2 {
    font-size: 29px;
  }


  /* SEARCH */

  .vshs-ox-search-box {
    padding-left: 16px;
    padding-right: 16px;
  }

  .vshs-ox-search-inner {
    padding: 22px 16px;
  }

  .vshs-ox-search-inner h3 {
    font-size: 21px;
  }

  .vshs-ox-search-row button {
    width: 84px;
    min-width: 84px;

    padding-left: 8px;
    padding-right: 8px;
  }
}


/* ==========================================================================
   36. VERY SMALL PHONES
   ========================================================================== */

@media (max-width: 350px) {

  .vshs-ox-hero {
    padding-top: 88px;
  }

  .vshs-ox-hero h1 {
    font-size: 31px;
  }

  .vshs-ox-hero-statement {
    font-size: 12.5px;
  }

  .vshs-ox-after-hero h2,
  .vshs-ox-pages h2 {
    font-size: 27px;
  }

  .vshs-ox-page-link {
    font-size: 14px;
  }

  .vshs-ox-search-inner h3 {
    font-size: 20px;
  }
}


/* ==========================================================================
   37. ACCESSIBILITY
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {

  .vshs-ox *,
  .vshs-ox *::before,
  .vshs-ox *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}