/*-- -------------------------- -->
<---        Collection          -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  html {
    scroll-padding-top: 90px;
  }
  #collection-1602 {
    padding: var(--sectionPadding);
  }
  #collection-1602 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */
    position: relative;
    z-index: 1;
  }
  #collection-1602 .cs-content {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  #collection-1602 .cs-title {
    margin: 0;
    margin-bottom: 10px;
    text-transform: capitalize;
    color: #515151;
    background-clip: text;
    text-decoration: none;
    /* -webkit-background-clip: text; */
  }
  #collection-1602 .cs-button-group {
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    /* 16px - 32px */
    gap: clamp(1rem, 4vw, 2rem);
  }
  #collection-1602 .cs-button {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2em;
    text-transform: uppercase;
    padding: 0;
    color: var(--bodyTextColor);
    background-color: transparent;
    border: none;
    position: relative;
    transition: color 0.3s;
  }
  #collection-1602 .cs-button:before {
    content: "";
    width: 0;
    height: 1px;
    background: var(--primary);
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: width 0.3s;
  }
  #collection-1602 .cs-button:hover {
    color: var(--primary);
    cursor: pointer;
  }
  #collection-1602 .cs-button:hover:before {
    width: 100%;
  }
  #collection-1602 .cs-button.cs-active {
    color: var(--primary);
  }
  #collection-1602 .cs-button.cs-active:before {
    width: 100%;
  }
  #collection-1602 .cs-listing {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    justify-items: center;
    grid-auto-flow: row;
    /* 16px - 20px */
    gap: clamp(1rem, 1.5vw, 1.25rem);
    position: relative;
    transform-style: preserve-3d;
    perspective: 700px;
    transition: transform 0.7s, opacity 0.3s, visibility 0.5s, top 0.3s, left 0.3s;
    /* makes the transform scaling origin the top left corner, dictates the direction by which the scale transforms animate towards */
    transform-origin: left top;
    margin-bottom: 50px;
  }
  #collection-1602 .cs-listing.cs-hidden {
    /* hidden galleries have a 0 opacity, and we animate the opacity to 1 when they become active */
    opacity: 0;
    /* by using visibility:hidden instead of display:none, we can see the animations from the opacity and transforms, display:none won't render animations. */
    visibility: hidden;
    position: absolute;
    position: absolute;
    /* this top and left value help control the animation, by setting it to position absolute and left 0, the gallery won't fly off screen to the left, it will stop its position to be at the left edge of the .cs-container (left: 0). Same for the bottom:0 value, the gallery won't go past that position when it animates */
    bottom: 0;
    left: 0;
    /* prevents the hidden galleries from overflowing the section, and makes a nice animations to transition to and from */
    transform: scaleY(0) scaleX(0);
    /* prevents the mouse from interacting with it */
    pointer-events: none;
  }
  #collection-1602 .cs-listing.cs-hidden .cs-image {
    opacity: 0;
    /* when gallery is hidden, add these styles to the cs-image to animate from when cs-hidden is removed from the .cs-gallery */
    transform: translateY(2.1875rem) rotateX(90deg);
  }
  #collection-1602 .cs-listing.cs-hidden .cs-item {
    transform: rotateY(180deg);
    opacity: 0;
  }
  #collection-1602 .cs-item {
    width: 100%;
    max-width: 23.4375rem;
    border-radius: 5px;
    /* overwrites the default 'min-width: auto' value, keeping all grid items the same width no matter what*/
    min-width: 0;
    opacity: 1;
    padding: 1rem;
    border: 1px solid #eee; /* JUST TO LOOK COOL */
    border-left: 5px solid var(--primary);
    border-right: 5px solid var(--primary);
    transform: rotateY(0);
    transition: transform 0.7s, opacity 0.3s;
    text-align: center;
    padding: 15px; /* JUST TO LOOK COOL */
    box-shadow: rgba(0, 0, 0, 0.06) 0px 9px 18px;
    transition: all 0.3s ease-in-out;
  }
  #collection-1602 .cs-item:hover {
    box-shadow: rgba(0, 0, 0, 0.22) 0px 19px 43px;
    transform: translate3d(0px, -1px, 0px);
  }
  #collection-1602 .cs-link {
    text-decoration: none;
  }
  #collection-1602 .cs-link:hover .cs-picture img {
    transform: scale(1.1);
  }
  #collection-1602 .cs-picture-group {
    width: auto;
    height: 18.75rem;
    margin-bottom: 1.25rem;
    position: relative;
  }
  #collection-1602 .cs-picture {
    width: 100%;
    height: 100%;
    background-color: #f6f6f6;
    overflow: hidden;
    display: block;
  }
  #collection-1602 .cs-picture img {
    width: 100%;
    height: 100%;
    /* using object-fit contain to keep the entirety of the product image in the frame */
    /* feel free to change this to 'cover', or adjust the background-color above if you have consistent backgrounds on your products */
    object-fit: contain;
    transition: transform 0.6s;
  }
  #collection-1602 .cs-offer {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.2em;
    text-transform: uppercase;
    letter-spacing: 1.3px;
    padding: 0.375rem;
    color: #fff;
    background: #ff4747;
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
  }
  #collection-1602 .cs-category {
    font-size: 1rem;
    line-height: 1.5em;
    color: #767676;
  }
  #collection-1602 .cs-name {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 1vw, 1.5625rem);
    line-height: 1.2em;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
    margin: 0;
    color: var(--headerColor);
    overflow: hidden;
    cursor: default;
  }
  #collection-1602 .cs-actions {
    margin-top: 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #collection-1602 .cs-price {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2em;
    color: var(--secondary);
  }
  #collection-1602 .cs-was-price {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2em;
    text-decoration: line-through;
    color: #767676;
  }
  #collection-1602 .cs-stars {
    margin-top: 0.25rem;
    display: flex;
  }
  #collection-1602 .cs-star {
    width: 1.25rem;
    height: 1.25rem;
  }
  #collection-1602 .cs-buy {
    max-height: 2.5rem;
    padding: 0.5rem;
    background: none;
    border: 2px solid var(--primary);
    border-radius: 0.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #collection-1602 .cs-basket {
    width: 1.5rem;
    height: auto;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  html {
    scroll-padding-top: 90px;
  }
  #collection-1602 .cs-content {
    flex-direction: row;
    justify-content: space-between;
  }
  #collection-1602 .cs-listing {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
  #collection-1602 .cs-item {
    max-width: none;
  }
  #collection-1602 .cs-picture-group {
    /* 200px - 320px */
    height: clamp(12.5rem, 23vw, 20rem);
  }
}

/*# sourceMappingURL=projects.css.map */
