/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #services {
        padding: var(--sectionPadding);
        position: relative;
        z-index: 10;
    }
    #services .cs-title{
      margin-bottom: 0;
      padding-top: 20px;
    }
    #services .cs-flex-group{
        justify-content: center;
        align-items: center;
        text-align: center;
        display: flex;
        position: relative;
    }
    #services .cs-container {
        width: 100%;
        max-width: 1840px;
        margin: auto;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: clamp(3rem, 6vw, 4rem);
    }
    #services .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: center;
        width: 100%;
        display: flex;
        justify-content: center;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: center;
    }

    #services .cs-topper {
        z-index: -1;
        bottom: 12px;
        line-height: 0.8;
    }
    #services .cs-card-group {
        margin: 0;
        padding: 0;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        /* 16px - 20px */
        gap: clamp(1rem, 2vw, 1.25rem);
    }
    #services .cs-item {
        width: 100%;
        text-align: left;
        list-style: none;
        margin: 0;
        padding: 0;
        background-color: #000;
        /* clips background image corners */
        overflow: hidden;
        box-shadow: 0px 12px 80px 0px rgba(26, 26, 26, 0.08);
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        grid-column: span 12;
        grid-row: span 1;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        position: relative;
        z-index: 1;
    }
    #services .cs-item:hover .cs-item-background img {
        opacity: 0.4;
        transform: scale(1.3);
    }
    #services .cs-item:hover .cs-h3 {
        color: var(--primary);
    }
    #services .cs-item:before {
        content: "";
        width: 100%;
        height: 100%;
        border: 1px solid rgba(255, 255, 255, 0.4);
        /* prevents border from affecting height and width */
        box-sizing: border-box;
        border-radius: 0.5rem;
        /* prevents the mouse from interacting with it so when you hover hover the other elements inside the card it doesn't block your mouse from hovering over them */
        pointer-events: none;
        opacity: 1;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: 10;
    }
    #services .cs-link {
        text-decoration: none;
        /* 125px - 236px */
        /* padding goes on the link, not the cs-item as is normal. We do this because we want the whole card to be hoverable. So we add the padding to the link tag to create the space inside the card. By adding the space inside the cs-link tag we can make the whole card hoverable since the padding is now contributing to the height and widht of the link */
        padding: clamp(7.8125rem, 19vw, 14.75rem) 1.5rem 1.5rem;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: end;
        align-items: end;
    }
    #services .cs-h3 {
        /* 20px - 25px */
        font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
        line-height: 1.2em;
        font-weight: bold;
        text-align: inherit;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 30px;
        margin: 0 0 0.75rem 0;
        color: var(--bodyTextColorWhite);
        transition: color 0.3s;
    }
    #services .cs-h3::after {
      content: url('/assets/images/card-arrow.svg');
      height: 26px;
      width: 26px;
    }
    #services .cs-item-text {
        /* 14px - 16px */
        font-size: clamp(0.875rem, 1.5vw, 1rem);
        line-height: 1.5em;
        max-width: 28.125rem;
        margin: 0;
        padding: 0;
        color: var(--bodyTextColorWhite);
    }
    #services .cs-item-background {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
  #services .cs-item-background:before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 40%;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.8) 15%,
        rgba(0, 0, 0, 0) 100%
    );
    z-index: 1;
    pointer-events: none;
  }
  #services .cs-item-background:after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at center,
        rgba(102, 102, 102, 0) 0%,
        rgba(0, 0, 0, 0.3) 100%
    );
    z-index: 2;
    pointer-events: none;
  }
    #services .cs-item-background img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* Makes img tag act as a background image */
        object-fit: cover;
        transition:
            transform 0.6s,
            opacity 0.3s;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #services .cs-topper {
        bottom: 0px;
    }
    #services {
        padding-top: clamp(150px, 14.82vw, 225px);
    }
    #services .cs-content {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 3rem;
    }
    #services .cs-title {
        margin: 0;
        padding: 0;
    }
    #services .cs-flex-group {
        width: 100%;
        justify-content: center;
        align-items: center;
        text-align: center;
        display: flex;
    }
    #services .cs-item {
        grid-column: span 6;
    }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #services .cs-item {
        grid-column: span 3;
        height: 440px;
    }
}

                                
/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0rem) {
  #sbs-2346 {
    padding: var(--sectionPadding);
    /* clips anything overflowing */
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
  #sbs-2346 .cs-title { 
    position: relative;
    padding-top: 20px;
  }
  #sbs-2346 .cs-topper {
    bottom: 12px;
    line-height: 0.8;
    left: -15px;
    z-index: -2;
  }
  #sbs-2346 .cs-container {
    width: 100%;
    max-width: 1600px;
    margin: auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 48px - 64px */

  }
  #sbs-2346 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    padding: var(--sectionPadding);
    max-width: 47.875rem;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
    position: relative;
    z-index: 3;
  }
  #sbs-2346 .cs-content.about {
    padding-bottom: 0;
  }
  #sbs-2346 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-2346 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }

  #sbs-2346 .cs-picture {
    width: 100%;
    height: 95vw;
    max-height: 28.125rem;
    max-width: 764px;
    display: block;
    order: -1;
    position: relative;
    z-index: 1;
  }
  #sbs-2346 .cs-picture.about::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  max-width: 530px;
  aspect-ratio: 530 / 120; /* Adjust to your image's dimensions */
  background: url('/assets/images/hallicon-highlight.webp') no-repeat bottom left;
  background-size: contain;
  z-index: 2;
  }
  #sbs-2346 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  #sbs-2346 .cs-picture.sponsor img {
    object-fit: contain;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #sbs-2346 .cs-container {
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    gap: clamp(3rem, 6vw, 100px);
  }
  #sbs-2346 .cs-container.reverse {
    flex-direction: row-reverse;
  }
  #sbs-2346 .cs-content,
  #sbs-2346 .cs-content.about {
    /* 48px - 80px */
    padding: clamp(3rem, 6vw, 5rem) 0;
  }
  #sbs-2346 .cs-title {
    padding: 0;
  }
  #sbs-2346 .cs-topper {
    bottom: 0px;
    left: -10%;
  }
  #sbs-2346.sponsor .cs-topper {
    bottom: 0px;
    left: -10px;
  }
  #sbs-2346 .cs-picture {
    width: 43vw;
    height: auto;
    max-height: 100%;
    flex: none;
  }
}

@media only screen and (min-width: 1700px) {
  #sbs-2346.sponsor .cs-topper {
    left: -10%;
  }
}
/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0rem) {
  #services-2346 {
    padding: var(--sectionPadding);
    padding-top: 0;
  }
  #services-2346 .cs-card-group {
    width: 100%;
    max-width: 112.5rem;
    margin: 0 auto;
    /* 48px - 80px */
    padding: clamp(1rem, 5vw, 5rem);
    /* 48px - 64px */
    padding-top: clamp(3rem, 7vw, 4rem);
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px, changes to 100px at large desktop 1300px */
    column-gap: clamp(1rem, 3vw, 1.25rem);
    row-gap: 2rem;
  }
  #services-2346 .cs-item {
    list-style: none;
    text-align: left;
    margin: 0;
    padding: 0;
    grid-column: span 12;
  }
  #services-2346 .cs-link {
    text-decoration: none;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  #services-2346 .cs-icon {
    width: 1.5rem;
    height: auto;
    margin-bottom: 1.5rem;
    display: block;
  }
  #services-2346 .cs-h2 {
    /* 20px - 25px */
    font-size: clamp(1.25rem, 3vw, 1.5625rem);
    text-align: inherit;
    line-height: 1.2em;
    font-weight: 700;
    margin: 0 0 1rem;
    padding-bottom: 1rem;
    height: 100%;
    color: var(--headerColor);
    border-bottom: 1px solid #E3DDD9;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
  }
  #services-2346 .cs-icon {
    width: 1.5rem;
    height: auto;
    display: block;
  }
  #services-2346 .cs-item-text {
    font-size: 1rem;
    text-align: inherit;
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-2346 .cs-item {
    grid-column: span 6;
  }
#services-2346 .cs-item:nth-child(3) {
  grid-column: 4 / span 6;
}
}
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-2346 .cs-card-group {
    padding: 1rem;
  }
  #services-2346 .cs-item,
  #services-2346 .cs-item:nth-child(3) {
    grid-column: span 4;
  }
  #services-2346 .cs-h2 {
    height: 47px;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #services-2346 .cs-card-group {
    column-gap: 6.25rem;
    padding: clamp(1rem, 5vw, 5rem);
    padding-top: 2rem;
    max-width: calc(1600px + clamp(1rem, 5vw, 5rem));
  }
}
                                
/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1253 {
    padding: var(--sectionPadding);
    position: relative;
    z-index: 10;
  }
  #services-1253::after {
  content: "";
  width: calc(100% + 2rem);
  height: min(1000px, 90%);
  position: absolute;
  bottom: -30px;
  left: -1rem;
  z-index: -4;

  background-image: url('/assets/images/hallicon-bg-highlight.webp');
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  }
  #services-1253 .cs-topper{
    bottom: 12px;
    line-height: 0.8;
    z-index: -2;
    left: 50%;
    transform: translateX(-50%);
  }
  #services-1253 .cs-container {
    width: 100%;
    max-width: 1600px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: clamp(3rem, 6vw, 4rem);
  }
  #services-1253 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: center;
    justify-content: center;
  }
  #services-1253 .cs-title {
    max-width: 20ch;
        position: relative;
        
  }
  #services-1253 .cs-card-group {
    margin: 0;
    padding: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 16px - 20px */
    gap: clamp(1rem, 2.5vw, 1.25rem);
  }
  #services-1253 .cs-item {
    width: 100%;
    text-align: left;
    list-style: none;
    margin: 0;
    padding: 0;
    background-color: #000;
    /* clips background image corners */
    overflow: hidden;
    box-shadow: 0px 12px 80px 0px rgba(26, 26, 26, 0.08);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    grid-column: span 12;
    grid-row: span 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    position: relative;
    z-index: 1;
  }
  #services-1253 .cs-item:hover .cs-item-background img {
    opacity: 0.4;
    transform: scale(1.3);
  }
  #services-1253 .cs-item:hover .cs-h3 {
    color: var(--primary);
  }
  #services-1253 .cs-item:before {
    content: "";
    width: 100%;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, 0.4);
    /* prevents border from affecting height and width */
    box-sizing: border-box;
    border-radius: 0.5rem;
    /* prevents the mouse from interacting with it so when you hover hover the other elements inside the card it doesn't block your mouse from hovering over them */
    pointer-events: none;
    opacity: 1;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 10;
  }
  #services-1253 .cs-link {
    text-decoration: none;
    /* 125px - 236px */
    /* padding goes on the link, not the cs-item as is normal. We do this because we want the whole card to be hoverable. So we add the padding to the link tag to create the space inside the card. By adding the space inside the cs-link tag we can make the whole card hoverable since the padding is now contributing to the height and widht of the link */
    padding: clamp(7.8125rem, 19vw, 347px) 1.25rem 1.25rem;
  }
  #services-1253 .cs-h3 {
    /* 20px - 25px */
    font-size: 14px;
    line-height: 1.2em;
    font-weight: bold;
    text-align: inherit;
    padding: 6px 16px;
    letter-spacing: 1px;
    border-radius: 45px;
    background-color: #DAE2F3;
    text-transform: uppercase;
    color: var(--primary);
    transition: color 0.3s;
  }
  #services-1253 .cs-item-text {
    /* 14px - 16px */
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5em;
    max-width: 28.125rem;
    margin: 0;
    padding: 0;
    color: var(--bodyTextColorWhite);
  }
  #services-1253 .cs-item-background {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #services-1253 .cs-item-background:before {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 40%;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.8) 15%,
        rgba(0, 0, 0, 0) 100%
    );
    z-index: 1;
    pointer-events: none;
  }
  #services-1253 .cs-item-background:after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(
        circle at center,
        rgba(102, 102, 102, 0) 0%,
        rgba(0, 0, 0, 0.3) 100%
    );
    z-index: 2;
    pointer-events: none;
  }
  #services-1253 .cs-item-background img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    /* Makes img tag act as a background image */
    object-fit: cover;
    transition: transform 0.6s,
                    opacity 0.3s;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1253 .cs-topper{
    bottom: 0;
  }
  #services-1253 .cs-content {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 3rem;
  }
  #services-1253 .cs-title {
    margin: 0;
  }
  #services-1253 .cs-flex-group {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #services-1253 .cs-item {
    grid-column: span 6;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 1024px) {
  #services-1253 .cs-item {
    grid-column: span 4;
  }
}
                                
/*-- -------------------------- -->
<---          Product           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #our-work {
    padding: var(--sectionPadding);
    overflow: hidden;
  }
  #our-work .cs-product-info {
  padding: var(--sectionPadding)
  }
  #our-work .industry {
    /* 20px - 25px */
    font-size: 15px;
    top: 24px;
    left: 24px;
    position: absolute;
    line-height: 1.2em;
    font-weight: bold;
    text-align: inherit;
    padding: 6px 16px;
    letter-spacing: 1px;
    border-radius: 45px;
    background-color: #DAE2F3;
    text-transform: uppercase;
    color: var(--primary);
    transition: color 0.3s;
  }

  #our-work .project-name{ 
    font-size: 32px;
    letter-spacing: -3%;
    color: #6293FD;
    font-weight: normal;
    padding-top: 12px;
    padding-bottom: 16px;
  }
  #our-work .cs-text:nth-of-type(1){
    margin-bottom: 24px;
  }
  #our-work .cs-text:nth-of-type(2){
    margin-bottom: 12px;
  }
  #our-work .cs-text:nth-of-type(3){
    margin-bottom: 40px;
  }
  #our-work .cs-title{
    position: relative;
    padding-top: 20px;
  }
  #our-work .cs-topper{
    z-index: -2;
    bottom: 12px;
    left: -15px;
    line-height: 0.8;
    text-wrap: nowrap;
  }
  #our-work .cs-container {
    width: 100%;
    /* changes to 1280px at desktop */
    max-width: 46.875rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;

  }
  #our-work .cs-picture-group {
    width: 100%;
    display: flex;
    flex-direction: column;
    /* 16px - 20px */
    gap: clamp(1rem, 1vw, 1.25rem);
  }
  #our-work .cs-large-images {
    width: 100%;
    position: relative;
    z-index: 1;
  }
  #our-work .cs-large-image {
    width: 100%;
    /* 320px - 520px */
    height: clamp(20rem, 68vw, 32.5rem);
    /* makes it cover the parent dimensions */
    object-fit: cover;
    opacity: 0;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.3s;
  }
  #our-work .cs-large-image:first-of-type {
    position: relative;
  }
  #our-work .cs-large-image img {
    width: 100%;
    height: 100%;
    /* makes it cover the parent like a background image */
    object-fit: cover;
    display: block;
  }
  #our-work .cs-small-images {
    overflow-x: scroll;
    display: flex;
    /* 16px - 20px */
    gap: clamp(1rem, 1vw, 1.25rem);
    position: relative;
    z-index: 10;
  }
  #our-work .cs-thumbnail {
    /* 100px - 120px */
    height: clamp(6.25rem, 8vw, 7.5rem);
    object-fit: cover;
    cursor: pointer;
    border: 1px solid transparent;
    position: relative;
    z-index: 10;
    transition: border-color 0.3s;
  }
  #our-work .cs-thumbnail.cs-active {
    border-color: var(--primary);
  }
  #our-work .cs-thumbnail:hover {
    border-color: var(--primary);
  }
  #our-work .cs-info-group {
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  #our-work .cs-info-item {
    font-size: 1rem;
    line-height: 1.5em;
    color: var(--bodyTextColor);
    display: block;
  }
  #our-work .cs-info-item .cs-bold {
    font-weight: 700;
  }
  #our-work .cs-h3 {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    margin: 0 0 1.5rem;
    color: var(--headerColor);
  }
  #our-work .cs-price {
    /* 39px - 49px */
    font-size: clamp(2.4375rem, 3vw, 3.0625rem);
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: -1.17px;
    color: var(--secondary);
    display: block;
  }
  #our-work .cs-info-text {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5em;
    margin: 1rem 0 1.5rem;
    color: var(--bodyTextColor);
  }
  #our-work .cs-button-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  #our-work .cs-quantity {
    padding: 0.75rem 1.25rem;
    border: 1px solid var(--headerColor);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
  }
  #our-work .cs-quantity-button {
    margin: 0;
    padding: 0;
    background: none;
    cursor: pointer;
    border: none;
    transition: opacity 0.3s;
  }
  #our-work .cs-quantity-button.cs-inactive {
    cursor: not-allowed;
    opacity: 0.5;
  }
  #our-work .cs-quantity-icon {
    width: 1.5rem;
    height: auto;
    display: block;
  }
  #our-work .cs-quantity-value {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5em;
    text-align: center;
    color: var(--headerColor);
  }
  #our-work .cs-button-solid {
    border: none;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #our-work .cs-picture-group {
    flex-direction: row;
  }

  #our-work .cs-small-images {
    overflow: initial;
    flex-direction: column;
  }
  #our-work .cs-button-group {
    flex-direction: row;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #our-work .cs-container {
    max-width: 1440px;
    flex-direction: row-reverse;
    align-items: center;
    /* 28px - 64px */
    gap: clamp(1.75rem, 5vw, 4rem);
  }
  #our-work .cs-topper { 
    padding-top: 0;
  }
  #our-work .cs-topper {
    left: -15px;
    bottom: 0;
  }
  #our-work .cs-button-solid{ 
    width: 100%;
    max-width: 478px;
  }
  #our-work .cs-picture-group {
    max-width: 520px;
    flex-direction: column;
  }
  #our-work .cs-large-images {
    min-width: 20.25rem;
  }
  #our-work .cs-large-image {
    /* 480px - 620px */
    height: clamp(30rem, 43vw, 38.75rem);
  }
  #our-work .cs-product-info {
    /* 20px - 60px */
    padding: clamp(1.25rem, 3vw, 3.75rem) 0;
  }
  #our-work .cs-button-solid {
    flex-grow: 1;
  }
  #our-work .cs-small-images {
    flex-direction: row;
  }
}
@media only screen and (min-width:1300px) {

  #our-work .cs-picture-group {
    max-width: 640px;
    flex-direction: row;
  }
  #our-work .cs-small-images {
    flex-direction: column;
  }
}
@media only screen and (min-width:1500px) {
  #our-work .cs-topper {
    left: -15%;
  }
  
}
@media only screen and (min-width:1750px) {
  #our-work .cs-topper {
    left: -25%;
  }
  #our-work .cs-picture-group {
    max-width: 700px;
  }
}
                                
/*-- -------------------------- -->
<---       Side By Side         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #sbs-2171 {
    position: relative;
    padding: var(--sectionPadding);
    z-index: 1;
  }
  #sbs-2171 .cs-title{
    padding-top: 20px;
  }
  #sbs-2171 .cs-topper{
    bottom: 12px;
    line-height: 0.8;
    z-index: -2;
    left: -15px;
  }
  #sbs-2171 .cs-container {
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #sbs-2171 .cs-content {
    /* set text align to left if content needs to be left aligned */
    text-align: left;
    width: 100%;
    max-width: 32.625rem;
    /* moved section padding to cs-content so the cs-background can be full width */
    padding: var(--sectionPadding);
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    /* centers content horizontally, set to flex-start to left align */
    align-items: flex-start;
  }
  #sbs-2171 .cs-text {
    margin-bottom: 1rem;
  }
  #sbs-2171 .cs-text:last-of-type {
    margin-bottom: 2rem;
  }
  #sbs-2171 .cs-ul {
    margin: 0 0 2rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }
  #sbs-2171 .cs-li {
    list-style: none;
  }
  #sbs-2171 .cs-h3 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2em;
    margin: 0 0 0.5rem 0;
    color: var(--headerColor);
  }
  #sbs-2171 .cs-li-text {
    font-size: 1rem;
    line-height: 1.5em;
    margin: 0 0 1rem;
    color: var(--bodyTextColor);
  }
  #sbs-2171 .cs-info {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2.5rem;
  }
  #sbs-2171 .cs-flex {
    font-size: 1rem;
    line-height: 1.5em;
    margin: 0;
    color: var(--bodyTextColor);
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  #sbs-2171 .cs-icon {
    width: 1.25rem;
    height: auto;
    display: block;
  }
  #sbs-2171 .cs-picture {
    display: block;
    position: relative;
    width: 100%;
    height: 35rem;
    z-index: 1;
  }
  #sbs-2171 .cs-picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #sbs-2171 .cs-floater {
    width: 24%;
    max-width: 18.4375rem;
    height: auto;
    display: none;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #sbs-2171 .cs-container {
    flex-direction: row;
    justify-content: flex-end;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
    position: relative;
    z-index: 1;
  }
  #sbs-2171 .cs-title{
    padding-top: 0;
  }
  #sbs-2171 .cs-topper{
    bottom: 0;
    left: -13%;
  }
  #sbs-2171 .cs-content {
    width: 48%;
    max-width: 35.1875rem;
    /* 32px - 90px */
    padding: clamp(2rem, 8vw, 9rem) 0;
  }
  #sbs-2171 .cs-picture {
    width: 50vw;
    height: auto;
    margin-right: 2.5rem;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 50%;
  }
  #sbs-2171 .cs-floater {
    display: block;
  }
}
                                

                                



.fade-up {
    opacity: 0;
    transition:
        opacity 0.6s ease,
        transform 0.6s ease;
}
.fade-up {
    transform: translateY(40px);
}

.fade-up.show {
   transition-delay: 0.2s;
    opacity: 1;
    transform: translateY(0);
}

@media only screen and (min-width:1024px) {
    .fade-up.one.show {
        transition-delay: 0.2s;
    }

    .fade-up.two.show {
        transition-delay: 0.4s;
    }

    .fade-up.three.show {
        transition-delay: 0.6s;
    }

    .fade-up.four.show {
        transition-delay: 0.8s;
    }
}