/* Box layout.
 -------------------------------------------------------------- */

.grid-container {
  /**
   * User input values.
   */
  --grid-layout-gap: clamp(.75em, 2vw, 1em);
  --grid-column-count: 4; /* This gets overridden by an inline style. */
  --grid-item--min-width: 100px; /* This gets overridden by an inline style. */

  /**
   * Calculated values.
   */
  --gap-count: calc(var(--grid-column-count) - 1);
  --total-gap-width: calc(var(--gap-count) * var(--grid-layout-gap));
  --grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));
  --grid-fill: auto-fill;

  display: grid;
  grid-template-columns: repeat(var(--grid-fill), minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
  gap: var(--grid-layout-gap);
}

ul.grid-container {
  margin: 0;
  list-style: none;
}

.grid-6-col {
  --grid-column-count: 4;
}

@media (min-width: 1300px) {
  .grid-6-col {
    --grid-column-count: 6;
  }
}

@media (width < 890px) {
  .grid-4-col.skip-3-up {
    --grid-column-count: 2;
  }
}

@media (width < 360px) {
  .grid-container{
    --grid-column-count: 1 !important;
  }
}

.grid-cards {
  --grid-item--min-width: min(12em, (100% - var(--grid-layout-gap)) / 2);
}

.grid-cards > * {
  border: var(--border-card);
  border-radius: var(--border-card-radius, var(--radius, 0));
}


/* Fix UL default styles. */
ul.responsive-box { margin: 0; }
ul.responsive-box li { list-style: none; }

.responsive-box,
ul.responsive-box {
  --_grid-gap: var(--grid-gap, clamp(.75em, 2vw, 1em));
  --_grid-cols: var(--grid-cols, 1);
  --_grid-total_width: calc(100% + var(--_grid-gap));
  display: flex;
  flex-wrap: wrap;
  gap: var(--_grid-gap);
  margin-bottom: var(--_grid-gap);
}

/* 99.99% due to IE rounding */
.responsive-box > *,
ul.responsive-box > li {
  display: block;
  width: calc(var(--_grid-total_width) / var(--_grid-cols) - var(--_grid-gap));
  box-sizing: border-box; /* Need to include border width. */
  border: var(--border-card);
}


@media (min-width: 320px) and (max-width:659px) {
  .responsive-box { --grid-cols: 2; }
  .box-mobile-one { --grid-cols: 1; }
}

@media (min-width: 660px) {
  .responsive-box { --grid-cols: 3; }
  .box-two,
  .box-four  { --grid-cols: 2; }
}

@media (min-width: 940px) {
  .responsive-box,
  .box-four  { --grid-cols: 4; }
  .box-three { --grid-cols: 3; }
  .box-two   { --grid-cols: 2; }
}
