/*-- -------------------------- -->
<---           Hero             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #hero-219 {
        /* Centers button */
        text-align: left;
        /* 144px - 300px - leaving extra space for the navigation */
        padding: clamp(9rem, 25.95vw, 18.75rem) 1rem 0;
        /* 130px - 200px */
        padding-bottom: clamp(8.125rem, 12.5vw, 25rem);
        position: relative;
        z-index: 1;
    }
    #hero-219 .cs-background {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -2;
    }
    #hero-219 .cs-background:before {
        /* Overlay */
        content: "";
        width: 100%;
        height: 100%;
        background: #000;
        opacity: 0.7;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        z-index: 1;
        /* prevents the cursor from interacting with it */
        pointer-events: none;
    }
    #hero-219 .cs-background img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    #hero-219 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
    }
    #hero-219 .cs-title {
        /* 39px - 61px */
        font-size: clamp(2.4375rem, 6.4vw, 3.8125rem);
        font-weight: 700;
        line-height: 1.2em;
        text-align: left;
        max-width: 51.8125rem;
        /* 16px - 24px */
        margin: 0 auto clamp(1rem, 4vw, 1.5rem) 0;
        color: #fff;
        position: relative;
    }
    #hero-219 .cs-text {
        /* 16px - 20px */
        font-size: clamp(1rem, 1.95vw, 1.25rem);
        line-height: 1.5em;
        text-align: left;
        width: 100%;
        /* 464px - 622px */
        max-width: clamp(29rem, 60vw, 38.785rem);
        margin: 0 auto 0 0;
        /* 40px - 48px */
        margin-bottom: clamp(2.5rem, 4vw, 3rem);
        color: #fff;
    }
}

/*-- -------------------------- -->
<---  Protection de la Jeunsse  -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #sbsr-1592 {
        padding: var(--sectionPadding);
    }
    #sbsr-1592 .cs-container {
        width: 100%;
        /* changes to 1280px at desktop */
        max-width: 34.375rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #sbsr-1592 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        max-width: 36.625rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
    }
    #sbsr-1592 .cs-text {
        margin-bottom: 1rem;
    }
    #sbsr-1592 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #sbsr-1592 .cs-image-group {
        /* scales the whole group based on the view width size and stop when that vales equals .745em, resets at desktop */
        font-size: min(1.959vw, 0.745em);
        width: 39.375em;
        /* we set a minimum height so it never gets smaller than this value */
        min-height: 39.25em;
        display: block;
        position: relative;
        z-index: 1;
    }
    #sbsr-1592 .cs-picture {
        position: absolute;
    }
    #sbsr-1592 .cs-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }
    #sbsr-1592 .cs-picture1 {
        /* the percentage heights allow them to be responsive to the height of the parent cs-image-group. On desktop, when the felxbox is set to aling-items: stretch, the cs-image group will stretch to fill the height of the parent container. So when you add more content to the cs-content group and make it taller, the cs-image group will get taller with it and every image will stretch with the parent, making this entire group responsive to the changing amounts of content next to it */
        width: 25.8125em;
        height: 79.617834%;
        top: 0;
        right: 0;
        z-index: -1;
    }
    #sbsr-1592 .cs-picture2 {
        width: 25.8125em;
        height: 44.585987%;
        bottom: 0;
        left: 0;
        z-index: 10;
    }
}
/* Tablet 768px */
@media only screen and (min-width: 48rem) {
    #sbsr-1592 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }
    #sbsr-1592 .cs-content {
        /* this padding sets a minimum gap between the top and bottom of the content div and the top and bottom of the cs-image-group */
        padding: 3.75rem 0;
        /* while the cs-image-group will stretch to fill the height of the parent, this property will ensure that the cs-content group aligns itse;f in the center of the parent div instead of stretching */
        align-self: center;
    }
    #sbsr-1592 .cs-image-group {
        font-size: min(1.2vw, 1em);
        flex: none;
        /* sends it to the right in the 2nd position */
        order: 2;
    }
}

/*-- -------------------------- -->
<---         Education         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #sbs-1125 {
        padding: var(--sectionPadding);
        position: relative;
        background-color: #f7f7f7;
        z-index: 1;
    }
    #sbs-1125 .cs-container {
        width: 100%;
        /* changes to 1280px at desktop */
        max-width: 34.375rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3em;
    }
    #sbs-1125 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        max-width: 32.625rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
    }

    #sbs-1125 .cs-topper {
        color: var(--primary);
    }
    #sbs-1125 .cs-text {
        margin-bottom: 1rem;
    }
    #sbs-1125 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #sbs-1125 .cs-ul {
        width: 100%;
        margin: 0 0 2rem 0;
        padding-left: 1.25rem;
        /* prevents padding from affecting width and height */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
    #sbs-1125 .cs-li {
        font-size: var(--bodyFontSize);
        line-height: 1.5em;
        list-style: none;
        text-align: left;
        width: 100%;
        max-width: 25rem;
        margin: 0;
        color: var(--bodyTextColor);
        position: relative;
    }
    #sbs-1125 .cs-li:before {
        /* bullet */
        content: "";
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: currentColor;
        opacity: 1;
        position: absolute;
        display: block;
        top: 0.625rem;
        left: -0.9375rem;
    }
    #sbs-1125 .cs-image-group {
        /* scaling entire section down. font-size starts at a min in vw, and stops when that value reaches 1em (16px). Since we want the picture elements to base their font size on the parent and not the root, we use ems for this entire section  */
        font-size: min(1.9vw, 0.64em);
        width: 41.0625em;
        height: 42.25em;
        /* offset the amount the cs-graphic overflows the container so it stays centerd on mobile and tablet, removed at desktop */
        margin-left: 6.75em;
        position: relative;
        z-index: 1;
    }
    #sbs-1125 .cs-picture {
        width: 41.0625em;
        height: 42.25em;
        overflow: hidden;
        border-radius: 50%;
        display: block;
        position: absolute;
        top: 0;
        right: 0;
    }
    #sbs-1125 .cs-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }
    #sbs-1125 .cs-graphic {
        width: 40.0625em;
        height: auto;
        position: absolute;
        left: -6.75em;
        top: 0;
        z-index: -1;
    }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #sbs-1125 .cs-container {
        max-width: 80rem;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    #sbs-1125 .cs-image-group {
        /* reset the scale */
        font-size: min(1.2vw, 1em);
        margin: 0;
    }
    #sbs-1125 .cs-content {
        width: 45%;
        /* prevent flexbox from squishing it */
        flex: none;
    }
}

/*-- -------------------------- -->
<---          Santé             -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #sbsr-1475 {
        padding: var(--sectionPadding);
        overflow: hidden;
    }
    #sbsr-1475 .cs-container {
        width: 100%;
        /* changes to 1280px at desktop */
        max-width: 34.375rem;
        margin: auto;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: clamp(3rem, 4vw, 4rem);
    }
    #sbsr-1475 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        max-width: 33.875rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
        position: relative;
        z-index: 10;
    }
    #sbsr-1475 .cs-text {
        margin-bottom: 1rem;
    }
    #sbsr-1475 .cs-text:last-of-type {
        margin-bottom: 2rem;
    }
    #sbsr-1475 .cs-ul {
        width: 100%;
        margin: 0 0 2rem 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        column-gap: 2.5rem;
        row-gap: 0.75rem;
    }
    #sbsr-1475 .cs-li {
        font-size: var(--bodyFontSize);
        list-style: none;
        line-height: 1.5em;
        width: 100%;
        color: var(--bodyTextColor);
        display: flex;
        justify-content: flex-start;
        /* push icon top the top so if the list item goes to two lines the icon stays at the top */
        align-items: flex-start;
        gap: 0.5rem;
    }
    #sbsr-1475 .cs-icon {
        width: 1.5rem;
        height: auto;
        /* adds extra space between the icon and top of parent so it's more centered */
        margin-top: 1px;
        display: block;
    }
    #sbsr-1475 .cs-image-group {
        /* font size scaling. Everything inside the group is in ems so they pull their value for em from the parent (this group div) and when the font is set to a vw, it scales the whole section down and grows proportionally with the screen width, stopping at the final em value declared in the second slot for the min function. */
        font-size: min(2.25vw, 0.83em);
        width: 40.75em;
        min-height: 45em;
        display: flex;
        justify-content: center;
        position: relative;
        z-index: 1;
    }
    #sbsr-1475 .cs-picture {
        width: 33.875em;
        height: auto;
        border-radius: 15.625em;
        border: 0.625em solid #ffd3c6;
        background-color: #ffd3c6;
        overflow: hidden;
        display: block;
        position: relative;
    }
    #sbsr-1475 .cs-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }
    #sbsr-1475 .cs-oval {
        width: 45.4375em;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: -1;
        transform: translate(-50%, -50%) rotate(38deg);
    }
    #sbsr-1475 .cs-box {
        text-align: center;
        width: auto;
        /* 16px - 40px */
        padding: clamp(1em, 3vw, 2.5em) clamp(2.5em, 5vw, 4em);
        display: inline-flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        position: absolute;
        left: 0;
        bottom: 3.75em;
        z-index: 10;
    }
    #sbsr-1475 .cs-blob {
        width: 100%;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    #sbsr-1475 .cs-number {
        /* 24px - 49px */
        font-size: clamp(1.25rem, 4.3vw, 3.0625rem);
        line-height: 1.2em;
        font-weight: 900;
        margin: 0;
        color: var(--secondary);
        display: block;
        z-index: 10;
    }
    #sbsr-1475 .cs-desc {
        /* 12px - 16px */
        font-size: clamp(0.75rem, 1.5vw, 1rem);
        line-height: 1.5em;
        text-align: inherit;
        font-weight: bold;
        width: 100%;
        max-width: 20ch;
        color: var(--bodyTextColor);
        position: relative;
        z-index: 10;
    }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #sbsr-1475 .cs-container {
        max-width: 80rem;
        /* set to horizontal arrangement */
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }
    #sbsr-1475 .cs-content {
        width: 47%;
        padding: 4.375rem 0;
        align-self: center;
    }
    #sbsr-1475 .cs-image-group {
        font-size: min(1.2vw, 1em);
        /* sends it to the right in the 2nd position */
        order: 2;
    }

    /*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

    /* Mobile - 360px */
    @media only screen and (min-width: 0rem) {
        #services-1628 {
            padding: var(--sectionPadding);
            background-color: #f7f7f7;
        }
        #services-1628 .cs-container {
            width: 100%;
            /* changes to 1280px at tablet */
            max-width: 34.375em;
            margin: auto;
            display: flex;
            flex-direction: column;
            align-items: center;
            /* 48px - 64px */
            gap: clamp(3rem, 6vw, 4rem);
        }
        #services-1628 .cs-content {
            /* set text align to left if content needs to be left aligned */
            text-align: left;
            width: 100%;
            display: flex;
            flex-direction: column;
            /* centers content horizontally, set to flex-start to left align */
            align-items: flex-start;
        }
        #services-1628 .cs-title {
            max-width: 20ch;
        }
        #services-1628 .cs-text {
            max-width: 40rem;
            position: relative;
            z-index: 1;
        }
        #services-1628 .cs-text:after {
            /* divider line */
            content: "";
            width: 100%;
            height: 1px;
            margin-top: 1.5rem;
            background: var(--primary);
            opacity: 1;
            display: block;
            position: relative;
        }
        #services-1628 .cs-chevron {
            --chevronColor: var(--primary);
            width: 3rem;
            height: auto;
        }
        #services-1628 .cs-card-group {
            width: 100%;
            margin: 0;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            /* 16px - 20px */
            column-gap: clamp(1rem, 2.5vw, 1.25rem);
            /* 28px - 40px */
            row-gap: clamp(1.75rem, 2.5vw, 2.5rem);
        }
        #services-1628 .cs-item {
            list-style: none;
            width: 100%;
            display: flex;
            grid-column: span 12;
            flex-direction: column;
            align-items: flex-start;
        }
        #services-1628 .cs-item:hover .cs-picture img {
            opacity: 0.5;
            transform: scale(1.2);
        }
        #services-1628 .cs-link {
            text-decoration: none;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }
        #services-1628 .cs-picture {
            width: 100%;
            height: 15rem;
            margin-bottom: 1.5rem;
            background-color: #000;
            overflow: hidden;
            display: block;
            position: relative;
        }
        #services-1628 .cs-picture img {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            object-fit: cover;
            transition: transform 0.6s, opacity 0.3s;
        }
        #services-1628 .cs-h3 {
            font-size: 1.25rem;
            line-height: 1.2em;
            font-weight: 700;
            text-align: left;
            margin: 0 0 0.75rem 0;
            color: var(--headerColor);
        }
        #services-1628 .cs-item-text {
            font-size: 1rem;
            line-height: 1.5em;
            text-align: left;
            margin: 0 0 1.5rem 0;
            color: var(--bodyTextColor);
        }
        #services-1628 .cs-fake-link {
            font-size: 1rem;
            line-height: 1.2em;
            font-weight: 700;
            margin: 0;
            margin-top: auto;
            color: var(--primary);
            display: inline-flex;
            justify-content: flex-start;
            align-items: center;
            gap: 0.5rem;
        }
        #services-1628 .cs-fake-link:hover .cs-icon {
            transform: translateX(0.5rem);
        }
        #services-1628 .cs-icon {
            width: 1.25rem;
            height: auto;
            display: block;
            transition: transform 0.3s;
        }
    }
    /* Tablet - 768px */
    @media only screen and (min-width: 48rem) {
        #services-1628 .cs-container {
            max-width: 80rem;
        }
        #services-1628 .cs-content {
            flex-direction: row;
            justify-content: center;
            align-items: center;
        }
        #services-1628 .cs-flex {
            text-align: left;
            width: 40vw;
            max-width: 40rem;
            flex: none;
        }
        #services-1628 .cs-title {
            margin: 0;
        }
        #services-1628 .cs-text {
            padding: 0.75rem 0 0.75rem 1.5rem;
        }
        #services-1628 .cs-text:after {
            width: 1px;
            height: 100%;
            margin: 0 1.5rem 0 0;
            order: -1;
            position: absolute;
            left: 0;
            top: 0;
        }
        #services-1628 .cs-item {
            grid-column: span 6;
        }
        #services-1628 .cs-picture {
            /* 240px - 420px */
            height: clamp(15rem, 33vw, 26.25rem);
        }
    }
    /* Large Desktop - 1300px */
    @media only screen and (min-width: 81.25rem) {
        #services-1628 .cs-item {
            grid-column: span 3;
        }
    }
}

/*-- -------------------------- -->
<---          Formation         -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #services-1628 {
        padding: var(--sectionPadding);
        background-color: #f7f7f7;
    }
    #services-1628 .cs-container {
        width: 100%;
        /* changes to 1280px at tablet */
        max-width: 34.375em;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #services-1628 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
    }
    #services-1628 .cs-title {
        max-width: 20ch;
    }
    #services-1628 .cs-text {
        max-width: 40rem;
        position: relative;
        z-index: 1;
    }
    #services-1628 .cs-text:after {
        /* divider line */
        content: "";
        width: 100%;
        height: 1px;
        margin-top: 1.5rem;
        background: var(--primary);
        opacity: 1;
        display: block;
        position: relative;
    }
    #services-1628 .cs-chevron {
        --chevronColor: var(--primary);
        width: 3rem;
        height: auto;
    }
    #services-1628 .cs-card-group {
        width: 100%;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        /* 16px - 20px */
        column-gap: clamp(1rem, 2.5vw, 1.25rem);
        /* 28px - 40px */
        row-gap: clamp(1.75rem, 2.5vw, 2.5rem);
    }
    #services-1628 .cs-item {
        list-style: none;
        width: 100%;
        display: flex;
        grid-column: span 12;
        flex-direction: column;
        align-items: flex-start;
    }
    #services-1628 .cs-item:hover .cs-picture img {
        opacity: 0.5;
        transform: scale(1.2);
    }
    #services-1628 .cs-link {
        text-decoration: none;
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    #services-1628 .cs-picture {
        width: 100%;
        height: 15rem;
        margin-bottom: 1.5rem;
        background-color: #000;
        overflow: hidden;
        display: block;
        position: relative;
    }
    #services-1628 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
        transition: transform 0.6s, opacity 0.3s;
    }
    #services-1628 .cs-h3 {
        font-size: 1.25rem;
        line-height: 1.2em;
        font-weight: 700;
        text-align: left;
        margin: 0 0 0.75rem 0;
        color: var(--headerColor);
    }
    #services-1628 .cs-item-text {
        font-size: 1rem;
        line-height: 1.5em;
        text-align: left;
        margin: 0 0 1.5rem 0;
        color: var(--bodyTextColor);
    }
    #services-1628 .cs-fake-link {
        font-size: 1rem;
        line-height: 1.2em;
        font-weight: 700;
        margin: 0;
        margin-top: auto;
        color: var(--primary);
        display: inline-flex;
        justify-content: flex-start;
        align-items: center;
        gap: 0.5rem;
    }
    #services-1628 .cs-fake-link:hover .cs-icon {
        transform: translateX(0.5rem);
    }
    #services-1628 .cs-icon {
        width: 1.25rem;
        height: auto;
        display: block;
        transition: transform 0.3s;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #services-1628 .cs-container {
        max-width: 80rem;
    }
    #services-1628 .cs-content {
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }
    #services-1628 .cs-flex {
        text-align: left;
        width: 40vw;
        max-width: 40rem;
        flex: none;
    }
    #services-1628 .cs-title {
        margin: 0;
    }
    #services-1628 .cs-text {
        padding: 0.75rem 0 0.75rem 1.5rem;
    }
    #services-1628 .cs-text:after {
        width: 1px;
        height: 100%;
        margin: 0 1.5rem 0 0;
        order: -1;
        position: absolute;
        left: 0;
        top: 0;
    }
    #services-1628 .cs-item {
        grid-column: span 6;
    }
    #services-1628 .cs-picture {
        /* 240px - 420px */
        height: clamp(15rem, 33vw, 26.25rem);
    }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
    #services-1628 .cs-item {
        grid-column: span 3;
    }
}

/*-- -------------------------- -->
<---         Articles           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #blog-1144 {
        padding: var(--sectionPadding);
        position: relative;
        z-index: 1;
    }
    #blog-1144 .cs-container {
        width: 100%;
        /* changes to 1280px at tablet */
        max-width: 49rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #blog-1144 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: left;
        width: 100%;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: flex-start;
    }

    #blog-1144 .cs-title {
        /* max width of 18 characters, incldues spaces between words */
        max-width: 20ch;
    }

    #blog-1144 .cs-card-group {
        width: 100%;
        padding: 0;
        margin: 0;
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 1.25rem;
    }
    #blog-1144 .cs-item {
        text-align: left;
        list-style: none;
        border-radius: 1rem;
        overflow: hidden;
        background-color: #f7f7f7;
        border: 1px solid #e8e8e8;
        grid-column: span 12;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: relative;
        z-index: 1;
        transition: box-shadow 0.3s, transform 0.3s;
    }
    #blog-1144 .cs-item:hover {
        box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
    }
    #blog-1144 .cs-item:hover .cs-picture img {
        opacity: 0.3;
        transform: scale(1.1);
    }
    #blog-1144 .cs-picture {
        width: 100%;
        height: 15rem;
        background-color: #1a1a1a;
        border-bottom: 4px solid var(--primary);
        overflow: hidden;
        display: block;
        /* prevents flexbox from squishing it */
        flex: none;
        position: relative;
        z-index: 1;
    }
    #blog-1144 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
        transition: transform 0.6s, opacity 0.3s;
    }
    #blog-1144 .cs-flex {
        height: 100%;
        padding: 1.5rem;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        position: relative;
        z-index: 2;
    }
    #blog-1144 .cs-date {
        font-size: 1rem;
        line-height: 1.2em;
        font-weight: 700;
        text-align: inherit;
        margin: 0;
        padding: 0.5rem 1rem;
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        background-color: var(--primary);
        border-radius: 0.5rem 0.5rem 0 0;
        color: #fff;
        display: inline-block;
        position: absolute;
        left: 1.5rem;
        bottom: 100%;
        z-index: 2;
    }
    #blog-1144 .cs-h3 {
        font-size: 1.25rem;
        text-align: inherit;
        line-height: 1.2em;
        font-weight: 700;
        color: var(--headerColor);
        margin: 0 0 0.75rem 0;
        transition: color 0.3s;
    }
    #blog-1144 .cs-item-text {
        /* 14px - 16px */
        font-size: clamp(0.875rem, 1.5vw, 1rem);
        line-height: 1.5em;
        text-align: inherit;
        margin: 0 0 1.25rem;
        color: var(--bodyTextColor);
    }
    #blog-1144 .cs-link {
        font-size: 1rem;
        line-height: 1.2em;
        font-weight: 700;
        text-decoration: none;
        margin-top: auto;
        color: var(--primary);
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #blog-1144 .cs-link:hover .cs-arrow {
        transform: translateX(0.25rem);
    }
    #blog-1144 .cs-arrow {
        width: 1.25rem;
        height: auto;
        transition: transform 0.3s;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #blog-1144 .cs-container {
        max-width: 80rem;
    }
    #blog-1144 .cs-content {
        text-align: left;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }
    #blog-1144 .cs-title {
        margin: 0;
    }
    #blog-1144 .cs-item {
        grid-column: span 4;
    }
}
