/*-- -------------------------- -->
<---           Logos            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #logos-857 {
        padding: var(--sectionPadding);
        background-color: #fff;
    }
    #logos-857 .cs-container {
        width: 100%;
        max-width: 50rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(3rem, 6vw, 4rem);
    }
    #logos-857 .cs-content {
        text-align: center;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    #logos-857 .cs-topper {
        font-size: var(--topperFontSize);
        line-height: 1.2em;
        text-transform: uppercase;
        text-align: inherit;
        letter-spacing: .1em;
        font-weight: 900;
        color: var(--primary);
        margin-bottom: 0.25rem;
        display: block;
    }

    #logos-857 .cs-title {
        font-size: var(--headerFontSize);
        font-weight: 700;
        line-height: 1.2em;
        text-align: inherit;
        max-width: 43.75rem;
        margin: 0 0 1rem 0;
        color: var(--headerColor);
        position: relative;
    }

    /* Swiper specific styles */
    #logos-857 .swiper {
        width: 100%;
        overflow: visible;
    }

    #logos-857 .swiper-wrapper {
        display: flex;
        align-items: center;
    }

    #logos-857 .swiper-slide {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-shrink: 0;
        padding: 0.5rem;
        background-color: #ececec;
    }

    #logos-857 .cs-logo {
        width: auto;
        max-width: 9rem;
        height: 4rem;
        object-fit: contain;
        margin: 0;
        display: block;
        transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
    }
  
    #logos-857 .cs-logo:hover {
      opacity: 1; /* Fade in on hover */
      transform: translateY(-5px); /* Moves the logo up by 5 pixels */
  }
}

/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #logos-857 .cs-logo {
        max-width: 10rem;
        height: 5rem;
    }
}

/* Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
    #logos-857 .cs-container {
        max-width: 80rem;
    }
    
    #logos-857 .cs-logo {
        max-width: 12rem;
        height: 6rem;
        width: auto;
    }
}

/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #services-1355 {
        padding: var(--sectionPadding);
        position: relative;
        z-index: 10;
    }
    #services-1355 .cs-container {
        width: 100%;
        max-width: 90rem;
        margin: auto;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: clamp(3rem, 6vw, 4rem);
    }
    #services-1355 .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;
    }

    #services-1355 .cs-topper {
        color: var(--primary);
    }
    #services-1355 .cs-title {
        max-width: 25ch;
        margin: 0 0 1rem 0;
        line-height: 1.2em;
        font-size: clamp(1.9375rem, 3.9vw, 3.0625rem);
    }
    #services-1355 .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-1355 .cs-item:hover .cs-background:before {
        background-color: var(--primary);
        opacity: 0.84;
    }
    #services-1355 .cs-item:hover .cs-background img {
        transform: scale(1.2);
    }
    #services-1355 .cs-link {
        text-decoration: none;
        width: 100%;
        height: 100%;
        /* 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: 1.5rem;
        /* prevents padding from affecting height and width */
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #services-1355 .cs-subtitle {
        font-size: 1rem;
        line-height: 1.5em;
        text-align: inherit;
        width: 100%;
        max-width: 40.625rem;
        margin: 0;
        color: var(--bodyTextColor);
    }
    /* Heading (inside card) */
    #services-1355 .cs-h3 {
        font-size: clamp(1.25rem, 2.5vw, 1.5625rem);
        line-height: 1.2em;
        font-weight: bold;
        margin: 0 0 0.5rem 0;
        color: var(--bodyTextColorWhite);
    }
    #services-1355 .cs-desc {
        font-size: 1rem;
        line-height: 1.5em;
        margin: 0;
        color: var(--bodyTextColorWhite);
        opacity: 0.9; /* softer contrast than heading */
        max-width: 30ch; /* keeps lines short for readability */
    }
    #services-1355 .cs-span {
        /* forces the h3 to alwasy be two lines */
        display: block;
    }
    /* Background overlay system */
    #services-1355 .cs-background {
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
        z-index: -1;
    }
    #services-1355 .cs-background:before {
        /* background color overlay */
        content: "";
        position: absolute;
        display: block;
        height: 100%;
        width: 100%;
        background-color: #000;
        opacity: 0.3;
        top: 0;
        left: 0;
        z-index: 1;
        transition:
            background-color 0.3s,
            opacity 0.3s;
    }
    #services-1355 .cs-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;
    }
    #services-1355 .cs-item:hover .cs-background img {
        transform: scale(1.2);
    }
    #services-1355 .cs-item:hover .cs-background:before {
        background-color: var(--primary);
        opacity: 0.7;
    }
    #services-1355 .cs-item {
        text-align: left;
        list-style: none;
        width: 100%;
        height: 19.0625rem;
        margin: 0;
        padding: 0;
        background-color: #000;
        overflow: hidden;
        box-shadow: 0px 12px 80px 0px rgba(26, 26, 26, 0.09);
        box-sizing: border-box;
        grid-column: span 12;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        position: relative;
        z-index: 1;
        padding: 1.5rem; /* same spacing as services */
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 768px) {
    #services-1355 .cs-content {
        text-align: center;
        align-items: center;
    }
    #services-1355 .cs-item {
        grid-column: span 4;
    }
}

                                