.flex,
.flex-none {
  display: flex;
}

.flex--4 {
  display: flex;
  gap: var(--s-4);
}

.flex--3 {
  display: flex;
  gap: var(--s-3);
}

.flex--2 {
  display: flex;
  gap: var(--s-2);
}

.flex--1 {
  display: flex;
  gap: var(--s-1);
}

.flex-0 {
  display: flex;
  gap: var(--s0);
}

.flex-1 {
  display: flex;
  gap: var(--s1);
}

.flex-2 {
  display: flex;
  gap: var(--s2);
}

.flex-3 {
  display: flex;
  gap: var(--s3);
}

.flex-4 {
  display: flex;
  gap: var(--s4);
}

.flex-5 {
  display: flex;
  gap: var(--s5);
}

.flex-6 {
  display: flex;
  gap: var(--s6);
}

@media (max-width: 767px) {
  .small--flex,
  .small--flex-none {
    display: flex;
  }

  .small--flex--4 {
    display: flex;
    gap: var(--s-4);
  }

  .small--flex--3 {
    display: flex;
    gap: var(--s-3);
  }

  .small--flex--2 {
    display: flex;
    gap: var(--s-2);
  }

  .small--flex--1 {
    display: flex;
    gap: var(--s-1);
  }

  .small--flex-0 {
    display: flex;
    gap: var(--s0);
  }

  .small--flex-1 {
    display: flex;
    gap: var(--s1);
  }

  .small--flex-2 {
    display: flex;
    gap: var(--s2);
  }

  .small--flex-3 {
    display: flex;
    gap: var(--s3);
  }

  .small--flex-4 {
    display: flex;
    gap: var(--s4);
  }

  .small--flex-5 {
    display: flex;
    gap: var(--s5);
  }

  .small--flex-6 {
    display: flex;
    gap: var(--s6);
  }
}


.flex-inline--1 {
  display: inline-flex;
  gap: var(--s-1);
}

.flex-inline {
  display: inline-flex;
}

.flex-inline-0 {
  display: inline-flex;
  gap: var(--s0);
}

.flex-inline-1 {
  display: inline-flex;
  gap: var(--s1);
}

.flex-inline-2 {
  display: inline-flex;
  gap: var(--s2);
}

.flex-inline-3 {
  display: inline-flex;
  gap: var(--s3);
}


.flex-between {
  display: flex;
  justify-content: space-between;
}


.flex--grow > * {
  flex: 1;
}

.flex--grow--2 > *:first-child {
  flex: 0.50;
}

.flex--grow--1 > *:first-child {
  flex: 0.75;
}

.flex--grow-0 > *:first-child {
  flex: 1;
}

.flex--grow-1 > *:first-child {
  flex: 1.5;
}

.flex--grow-2 > *:first-child {
  flex: 2;
}

.flex--grow-3 > *:first-child {
  flex: 2.5;
}

.flex--grow-4 > *:first-child {
  flex: 3;
}

.flex--grow--2 > *:last-child,
.flex--grow--1 > *:last-child,
.flex--grow-0 > *:last-child,
.flex--grow-1 > *:last-child,
.flex--grow-2 > *:last-child,
.flex--grow-3 > *:last-child,
.flex--grow-4 > *:last-child {
  flex: 1;
}

.flex--center {
  align-items: center;
}

.flex--wrap {
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .small--flex--wrap {
    flex-wrap: wrap;
  }
}

.flex--split > *:last-child {
  margin-left: auto;
}


.flex--row-reverse {
  flex-direction: row-reverse;
}

.flex--column {
  flex-direction: column;
}

.flex--column-reverse {
  flex-direction: column-reverse;
}

@media (max-width: 767px) {
  .small--flex--row-reverse {
    flex-direction: row-reverse;
  }

  .small--flex--column {
    flex-direction: column;
  }

  .small--flex--column-reverse {
    flex-direction: column-reverse;
  }
}


.grid,
.grid-none {
  display: grid;
  column-gap: 0;
}

.grid--1 {
  display: grid;
  column-gap: var(--s-1);
}

.grid-0 {
  display: grid;
  column-gap: var(--s0);
}

.grid-1 {
  display: grid;
  column-gap: var(--s1);
}

.grid-2 {
  display: grid;
  column-gap: var(--s2);
}

.grid-3 {
  display: grid;
  column-gap: var(--s3);
}


@media (max-width: 767px) {
  .small--grid {
    display: grid;
    column-gap: 0;
  }

  .small--grid--1 {
    display: grid;
    column-gap: var(--s-1);
  }

  .small--grid-0 {
    display: grid;
    column-gap: var(--s0);
  }

  .small--grid-1 {
    display: grid;
    column-gap: var(--s1);
  }

  .small--grid-2 {
    display: grid;
    column-gap: var(--s2);
  }

  .small--grid-3 {
    display: grid;
    column-gap: var(--s3);
  }
}


.grid-overlay {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}

.grid-overlay > * {
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
}


.position-1 {
  position: relative;
  z-index: 1;
}


.grid--fit {
  grid-template-columns: repeat(auto-fit, minmax(min(var(--item-min-width, 250px), 100%), 1fr));
}

.grid--fit-rows {
  grid-auto-rows: 1fr;
}


.grid--stack {
  row-gap: var(--s0);
}

.grid--stack-1 {
  row-gap: var(--s1);
}

.grid--stack-2 {
  row-gap: var(--s2);
}

.grid--stack-3 {
  row-gap: var(--s3);
}

.grid--stack-none {
  row-gap: 0;
}


@media (max-width: 767px) {
  .small--grid-reverse {
    grid-auto-flow: dense;
  }

  .small--grid-reverse > *:nth-child(1) {
    order: 2;
  }

  .small--grid-reverse > *:nth-child(2) {
    order: 1;
  }
}


.grid--columns {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  max-width: 100%;
}

.span-1 {
  grid-column: span 1;
}

.span-2 {
  grid-column: span 2;
}

.span-3 {
  grid-column: span 3;
}

.span-4 {
  grid-column: span 4;
}

.span-5 {
  grid-column: span 5;
}

.span-6 {
  grid-column: span 6;
}

.span-7 {
  grid-column: span 7;
}

.span-8 {
  grid-column: span 8;
}

.span-9 {
  grid-column: span 9;
}

.span-10 {
  grid-column: span 10;
}

.span-11 {
  grid-column: span 11;
}

.span-12 {
  grid-column: span 12;
}

@media (max-width: 767px) {
  .small--span-1 {
    grid-column: span 1;
  }

  .small--span-2 {
    grid-column: span 2;
  }

  .small--span-3 {
    grid-column: span 3;
  }

  .small--span-4 {
    grid-column: span 4;
  }

  .small--span-5 {
    grid-column: span 5;
  }

  .small--span-6 {
    grid-column: span 6;
  }

  .small--span-7 {
    grid-column: span 7;
  }

  .small--span-8 {
    grid-column: span 8;
  }

  .small--span-9 {
    grid-column: span 9;
  }

  .small--span-10 {
    grid-column: span 10;
  }

  .small--span-11 {
    grid-column: span 11;
  }

  .small--span-12 {
    grid-column: span 12;
  }
}

.layout--top-left {
  align-items: start;
  justify-content: start;
}

.layout--top-center {
  align-items: start;
  justify-content: center;
}

.layout--top-right {
  align-items: start;
  justify-content: end;
}

.layout--center-left {
  align-items: center;
  justify-content: start;
}

.layout--center {
  align-items: center;
  justify-content: center;
}

.layout--center-right {
  align-items: center;
  justify-content: end;
}

.layout--bottom-left {
  align-items: end;
  justify-content: start;
}

.layout--bottom-center {
  align-items: end;
  justify-content: center;
}

.layout--bottom-right {
  align-items: end;
  justify-content: right;
}

@media (max-width: 767px) {
  .small--layout--top-left {
    align-items: start;
    justify-content: start;
  }

  .small--layout--top-center {
    align-items: start;
    justify-content: center;
  }

  .small--layout--top-right {
    align-items: start;
    justify-content: end;
  }

  .small--layout--center-left {
    align-items: center;
    justify-content: start;
  }

  .small--layout--center {
    align-items: center;
    justify-content: center;
  }

  .small--layout--center-right {
    align-items: center;
    justify-content: end;
  }

  .small--layout--bottom-left {
    align-items: end;
    justify-content: start;
  }

  .small--layout--bottom-center {
    align-items: end;
    justify-content: center;
  }

  .small--layout--bottom-right {
    align-items: end;
    justify-content: right;
  }
}



@media (orientation: landscape) {
  .landscape--hero {
    grid-auto-rows: 1fr;
    max-height: 75vh;
  }

  .landscape--banner {
    grid-auto-rows: 1fr;
    max-height: 59vh;
  }

  .landscape--strip {
    grid-auto-rows: 1fr;
    max-height: 40vh;
  }
}


.collapse {
  display: grid;
  grid-template-rows: 1fr;
  overflow: hidden;
  transition: grid-template-rows 0.3s ease;
}

.is-scrolled .collapse {
  grid-template-rows: 0fr;
}

.collapse > * {
  min-height: 0;
  transition: padding 0.3s ease, border-width 0.3s ease, opacity 0.2s ease;
}

.is-scrolled .collapse > * {
  padding-block: 0;
  border-width: 0;
  opacity: 0;
}
