.grid-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  grid-gap: var(--gap, 32px);
}
.grid-list--gap-20 {
  --gap: 20px;
}
.grid-list--gap-24 {
  --gap: 24px;
}
.grid-list--gap-32 {
  --gap: 32px;
}

.grid-list--items-1 {
  grid-template-columns: 1fr;
}

.grid-list--items-exact-2 {
  grid-template-columns: 1fr 1fr;
}

.grid-list--no-gap {
  grid-gap: 0px !important;
}
.grid-list--gap-row {
  grid-row-gap: 32px;
}

.grid-list--no-gap .grid-list-border-outer {
  margin: 0px -1px -1px 0px;
}
.grid-list--no-gap .grid-list-border-outer > .rounded-n {
  border-radius: 0px;
}
.grid-list--no-gap .grid-list-border-outer:first-of-type > .rounded-n {
  border-top-left-radius: var(--theme-outer-border-radius);
  border-top-right-radius: var(--theme-outer-border-radius);
}
.grid-list--no-gap .grid-list-border-outer:last-of-type > .rounded-n {
  border-bottom-left-radius: var(--theme-outer-border-radius);
  border-bottom-right-radius: var(--theme-outer-border-radius);
}

body .grid-list--no-grid {
  display: flex;
  grid-gap: unset;
  flex-wrap: wrap;
}
.grid-list.grid-list--gap-dynamic {
  gap: var(--theme-items-gap, 16px);
}
.grid-list--items {
  --items-count: 1;
  grid-template-columns: repeat(var(--items-count), 1fr);
}
.grid-list--items-2 {
  --items-count: 2;
}
.grid-list--items-3 {
  --items-count: 3;
}
.grid-list--items-4 {
  --items-count: 4;
}
.grid-list--items-5 {
  --items-count: 5;
}

@media (min-width: 601px) {
  .grid-list--items-2-from-601 {
    --items-count: 2;
  }
}
@media (min-width: 768px) {
  .grid-list--items-4-from-768 {
    --items-count: 4;
  }
  .grid-list--items-3-from-768 {
    --items-count: 3;
  }
}
@media (min-width: 992px) {
  .grid-list--items-5:not(.grid-list--no-gap) {
    grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
  }
  
  .grid-list--items-min-300 {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }

  .grid-list--items-2-from-992 {
    --items-count: 2;
  }
  .grid-list--items-3-from-992 {
    --items-count: 3;
  }
  .grid-list--items-4-from-992 {
    --items-count: 4;
  }

  .grid-list--masonry-by-4 div:is(.grid-list__item:nth-child(6n), .grid-list__item:nth-child(6n + 1)) {
    grid-column: span 2;
  }
  .grid-list--masonry-by-3 div:is(.grid-list__item:nth-child(4n), .grid-list__item:nth-child(4n + 1)) {
    grid-column: span 2;
  }

  /* with left_block */
  .right_block.narrow_Y .grid-list--masonry-by-4.grid-list--items {
    --items-count: 3;
  }
  .right_block.narrow_Y .grid-list--masonry-by-4 .grid-list__item {
    grid-column:auto;
  }
  .right_block.narrow_Y .grid-list--masonry-by-4 div:is(.grid-list__item:nth-child(4n), .grid-list__item:nth-child(4n + 1)) {
    grid-column: span 2;
  }
}

@media (min-width: 1200px) {
  .grid-list--items-2-from-1200 {
    --items-count: 2;
  }
  .grid-list--items-3-from-1200 {
    --items-count: 3;
  }
  .grid-list--items-4-from-1200 {
    --items-count: 4;
  }
}

@media (max-width: 1199px) {
  .grid-list--items-3-to-1199 {
    --items-count: 3;
  }
}

@media (max-width: 991px) {
  #main .grid-list.grid-list--items-1-991 {
    grid-template-columns: 1fr;
  }
  .grid-list.grid-list--items-2-991 {
    grid-template-columns: 1fr 1fr;
  }
  .grid-list.grid-list--items-3-991 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .grid-list--items-2-to-767 {
    --items-count: 2;
  }
}


@media (max-width: 500px) {
  #main .grid-list:not(.mobile-scrolled) {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
}

.item-w25 {
  width: 25%;
}
.item-w33 {
  width: 33.33%;
}
.item-w50 {
  width: 50%;
}
.item-w66 {
  width: 66.66%;
}
.item-w75 {
  width: 75%;
}
.item-w100 {
  width: 100%;
}

@media (max-width: 600px) {
  /*compact*/
  #main .grid-list.grid-list--compact {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 450px) {
  /*compact*/
  #main .grid-list.grid-list--compact {
    grid-gap: 0px;
    display: flex;
    flex-flow: row wrap;
  }
  #main .grid-list.grid-list--compact .grid-list-border-outer {
    margin: 0px -1px -1px 0px;
    width: 50%;
  }
  #main .grid-list.grid-list--compact .grid-list__item > .bordered {
    border-radius: 0px;
  }
}

@media (max-width: 400px) {
  #main .grid-list:not(.mobile-scrolled) {
    grid-template-columns: 1fr;
  }
}

.grid-list__item > .bordered {
  background: #fff;
  background: var(--card_bg_black);
  position: relative;
}

.min-width-0 {
  min-width: 0px;
}
.min-height-0 {
  min-height: 0px;
}
