@media only screen and (min-width: 0rem) {
	#services-2175 {
		max-width: 120rem;
		margin: auto;
		position: relative;
		z-index: 10;
	}

	/* Full-bleed colour layer. Sits below the photo so it also acts as the
	   fallback if the image never loads. */
	#services-2175:before {
		content: '';
		width: 100vw;
		height: 100%;
		background: var(--secondary);
		opacity: 1;
		position: absolute;
		display: block;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: -2;
	}

	#services-2175 .cs-background {
		width: 100vw;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: -1;
	}

	#services-2175 .cs-background:before {
		content: "";
		width: 100%;
		height: 100%;
		background: var(--secondary);
		opacity: 0.93;
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		z-index: 1;
		pointer-events: none;
	}

	#services-2175 .cs-background img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		position: absolute;
		top: 0;
		left: 0;
	}

	#services-2175 .cs-container {
		width: 100%;
		margin: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: clamp(3rem, 6vw, 4rem);
	}

	#services-2175 .cs-card-group {
		width: 100%;
		margin: 0;
		padding: clamp(3.75rem, 7vw, 6.25rem) clamp(1rem, 4vw, 6.25rem);
		box-sizing: border-box;
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		row-gap: 2rem;
		position: relative;
		z-index: 15;
	}

	#services-2175 .cs-item {
		text-align: left;
		list-style: none;
		width: 100%;
		box-sizing: border-box;
		grid-column: span 12;
		transition: background-color 0.3s;
	}

	#services-2175 .cs-item:hover .fake-link {
		text-decoration: underline;
	}

	#services-2175 .cs-link {
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		flex-direction: column;
		gap: 1rem;
	}

	#services-2175 .cs-icon {
		width: 2rem;
		height: auto;
	}

	#services-2175 .cs-h3 {
		font-size: clamp(1.25rem, 2vw, 1.5625rem);
		font-weight: 700;
		text-align: inherit;
		line-height: 1.2em;
		margin: 0;
		color: var(--bodyTextColorWhite);
		display: flex;
		align-items: center;
		gap: 0.5rem;
		transition: color 0.3s;
	}

	#services-2175 .cs-item-text {
		font-size: clamp(0.875rem, 1.5vw, 1rem);
		text-align: inherit;
		line-height: 1.5em;
		max-width: 21.5625rem;
		margin: 0;
		color: var(--bodyTextColorWhite);
		opacity: 0.8;
		transition: color 0.3s, opacity 0.3s;
	}

	#services-2175 .fake-link {
		font-size: 1rem;
		font-weight: bold;
		color: var(--primary);
	}
}

@media only screen and (min-width: 48rem) {
	#services-2175 .cs-content {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 3rem;
	}

	#services-2175 .cs-title {
		margin: 0;
	}

	#services-2175 .cs-card-group {
		column-gap: clamp(2rem, 6vw, 3.75rem);
	}

	#services-2175 .cs-flex-group {
		width: 50%;
		flex: none;
	}

	#services-2175 .cs-item {
		grid-column: span 3;
	}
}

@media only screen and (min-width: 0rem) {

    #process-688 {
        padding: var(--sectionPadding);
        position: relative;
        z-index: 1
    }

    #process-688 .cs-container {
        gap: clamp(3rem,6vw,4rem);
        margin: auto;
        max-width: 90rem
    }

    #process-688 .cs-container,#process-688 .cs-content {
        align-items: center;
        display: flex;
        flex-direction: column;
        width: 100%
    }

    #process-688 .cs-content {
        text-align: center
    }

    #process-688 .cs-h3,#process-688 .cs-item-text,#process-688 .cs-text,#process-688 .cs-title {
        color: var(--bodyTextColorWhite)
    }

    #process-688 .cs-text {
        max-width: 50rem
    }

    #process-688 .cs-item-text,#process-688 .cs-text {
        opacity: .8
    }

    #process-688 .cs-card-group {
        align-items: center;
        -moz-column-gap: 1.25rem;
        column-gap: 1.25rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        margin: 0;
        padding: 0;
        row-gap: 2.5rem
    }

    #process-688 .cs-item {
        list-style: none;
        max-width: 25.8125rem;
        text-align: center;
        width: 100%
    }

    #process-688 .cs-picture {
        align-items: center;
        background-color: #fdfaf8;
        display: flex;
        height: 6.25rem;
        justify-content: center;
        margin: auto auto 1.5rem;
        width: 6.25rem
    }

    #process-688 .cs-icon {
        display: block;
        height: 3.125rem;
        width: auto
    }

    #process-688 .cs-h3 {
        color: #fff;
        font-size: clamp(1.25rem,3vw,1.5625rem);
        font-weight: 700;
        margin: 0 0 .75rem
    }

    #process-688 .cs-item-text {
        color: var(--bodyTextColorWhite);
        font-size: 1rem;
        line-height: 1.5em;
        margin: 0
    }

    #process-688 .cs-background {
        height: 100%;
        left: 0;
        -o-object-fit: cover;
        object-fit: cover;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: -1
    }

    #process-688 .cs-background:before {
        background: #161484;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        opacity: .83;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 1
    }

    #process-688 .cs-background img {
        height: 100%;
        left: 0;
        -o-object-fit: cover;
        object-fit: cover;
        position: absolute;
        top: 0;
        width: 100%
    }
}

@media only screen and (min-width: 48rem) {
    #process-688 .cs-card-group {
        align-items:stretch;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center
    }

    #process-688 .cs-item {
        width: 48%
    }
}

@media only screen and (min-width: 64rem) {
    #process-688 .cs-item {
        width:clamp(23.45%,22vw,23.8%)
    }
}

@media only screen and (min-width: 0rem) {
	#donations-1153 {
		text-align: center;
		padding: var(--sectionPadding);
		position: relative;
		z-index: 1;
	}

	#donations-1153 .cs-container {
		width: 100%;
		max-width: 34.375rem;
		margin: auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: clamp(3rem, 6vw, 4rem);
	}

	#donations-1153 .cs-content {
		text-align: center;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#donations-1153 .cs-topper {
		color: var(--primary);
	}

	#donations-1153 .cs-title {
		max-width: 20ch;
	}

	#donations-1153 .cs-card-group {
		width: 100%;
		padding: 0;
		margin: 0;
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		gap: 1.25rem;
	}

	#donations-1153 .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;
	}

	#donations-1153 .cs-item:hover {
		box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
	}

	#donations-1153 .cs-item:hover .cs-picture img {
		opacity: 0.3;
		transform: scale(1.1);
	}

	#donations-1153 .cs-picture {
		width: 100%;
		min-height: 17.5rem;
		background-color: #1a1a1a;
		overflow: hidden;
		display: block;
		position: relative;
		z-index: 1;
	}

	#donations-1153 .cs-picture:before {
		content: "";
		width: 100%;
		height: 4px;
		background: var(--primary);
		opacity: 1;
		position: absolute;
		display: block;
		bottom: 0;
		left: 0;
		z-index: 10;
	}

	#donations-1153 .cs-picture img {
		position: absolute;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		object-fit: cover;
		transition: transform 0.6s, opacity 0.3s;
	}

	#donations-1153 .cs-flex {
		height: 100%;
		padding: 1.5rem;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		position: relative;
		z-index: 2;
	}

	#donations-1153 .cs-date {
		font-size: 1rem;
		line-height: 1.2em;
		font-weight: 700;
		text-align: inherit;
		margin: 0;
		padding: 0.5rem 1rem;
		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;
	}

	#donations-1153 .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;
	}

	#donations-1153 .cs-link {
		font-size: inherit;
		line-height: inherit;
		font-weight: inherit;
		text-decoration: none;
		color: inherit;
		transition: color 0.3s;
	}

	#donations-1153 .cs-link:hover {
		color: var(--primary);
	}

	#donations-1153 .cs-item-text {
		font-size: clamp(0.875rem, 1.5vw, 1rem);
		line-height: 1.5em;
		text-align: inherit;
		margin: 0 0 1.5rem;
		padding: 0 0 1.5rem;
		color: var(--bodyTextColor);
		border-bottom: 1px solid #e8e8e8;
	}

	#donations-1153 .cs-donations-flex {
		width: 100%;
		margin: 0 0 0.5rem;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		flex-direction: column;
		gap: 0.5rem;
	}

	#donations-1153 .cs-bar {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: clamp(0.25rem, 1vw, 0.5rem);
	}

	#donations-1153 .cs-progress {
		width: 100%;
		height: 6px;
		border-radius: 0.5rem;
		overflow: hidden;
		background-color: #e8e8e8;
	}

	#donations-1153 .cs-progress-bar {
		width: var(--progress);
		height: 100%;
		background-color: var(--secondary);
		border-radius: 0.5rem;
		display: block;
	}

	#donations-1153 .cs-percentage {
		font-size: 0.875rem;
		line-height: 1.2em;
		font-weight: 700;
		margin: 0;
		color: var(--headerColor);
		display: block;
	}

	#donations-1153 .cs-number-group {
		width: 100%;
		margin: 0 0 1rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1.5rem;
	}

	#donations-1153 .cs-raised {
		display: flex;
		justify-content: center;
		align-items: flex-end;
		gap: 0.25rem;
	}

	#donations-1153 .cs-number {
		font-size: 1.25rem;
		line-height: 1.2em;
		font-weight: 700;
		margin: 0;
		color: var(--headerColor);
	}

	#donations-1153 .cs-desc {
		font-size: 0.875rem;
		line-height: 1.2em;
		margin: 0;
		color: var(--bodyTextColor);
	}

	#donations-1153 .cs-button-solid {
		font-size: 1rem;
		line-height: clamp(2.875rem, 5.5vw, 3.5rem);
		text-decoration: none;
		font-weight: 700;
		text-align: center;
		margin: 0;
		color: #fff;
		min-width: 9.375rem;
		padding: 0 1.5rem;
		background-color: var(--primary);
		border-radius: 0.5rem;
		overflow: hidden;
		display: inline-block;
		position: relative;
		z-index: 1;
		box-sizing: border-box;
	}

	#donations-1153 .cs-button-solid:before {
		content: "";
		position: absolute;
		height: 100%;
		width: 0%;
		background: #000;
		opacity: 1;
		top: 0;
		left: 0;
		z-index: -1;
		border-radius: 0.5rem;
		transition: width 0.3s;
	}

	#donations-1153 .cs-button-solid:hover:before {
		width: 100%;
	}

	#donations-1153 .cs-donate {
		width: 100%;
		margin-top: auto;
	}
}

@media only screen and (min-width: 48rem) {
	#donations-1153 .cs-container {
		max-width: 80rem;
	}

	#donations-1153 .cs-item {
		flex-direction: row;
	}

	#donations-1153 .cs-flex {
		position: initial;
	}

	#donations-1153 .cs-date {
		bottom: 0;
		top: auto;
	}

	#donations-1153 .cs-picture {
		width: 50%;
		height: 100%;
		flex: none;
	}
}

@media only screen and (min-width: 64rem) {
	#donations-1153 .cs-card-group {
		grid-template-columns: repeat(6, 1fr);
	}

	#donations-1153 .cs-item {
		flex-direction: column;
	}

	#donations-1153 .cs-item:nth-child(1),
	#donations-1153 .cs-item:nth-child(2),
	#donations-1153 .cs-item:nth-child(3) {
		grid-column: span 2;
	}

	#donations-1153 .cs-item:nth-child(4) {
		grid-column: 2 / span 2;
	}

	#donations-1153 .cs-item:nth-child(5) {
		grid-column: 4 / span 2;
	}

	#donations-1153 .cs-flex {
		position: relative;
	}

	#donations-1153 .cs-date {
		bottom: 100%;
	}

	#donations-1153 .cs-picture {
		width: 100%;
		height: 17.5rem;
	}
}

@media only screen and (min-width: 0rem) {
    #logos-857 {
        padding: var(--sectionPadding);
    }

    #logos-857 .cs-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: auto;
        max-width: 50rem;
        width: 100%;
        gap: clamp(3rem, 6vw, 4rem);
    }

    #logos-857 .cs-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        text-align: center;
    }

    #logos-857 .cs-title {
        margin: 0;
    }

    /* Width is capped so the ten logos wrap predictably: 2 per row on phones,
       4 per row from tablet up, with the trailing pair centred by the flexbox. */
    /* Capped so the ten logos break 4 + 4 + 2 instead of running wide with an
       orphan row underneath. */
    #logos-857 .cs-logo-group {
        width: 100%;
        max-width: 70rem;
        margin: 0 auto;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        row-gap: clamp(2rem, 6vw, 3.25rem);
        column-gap: clamp(1.5rem, 5vw, 3rem);
    }

    /* Every client logo gets the same square box and is contained inside it, so
       the strip stays even despite each file's own padding and proportions. */
    #logos-857 .cs-logo {
        width: clamp(7rem, 30vw, 9rem);
        height: clamp(7rem, 30vw, 9rem);
        margin: 0;
        list-style: none;
        flex: none;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #logos-857 .cs-logo-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
    }
}

@media only screen and (min-width: 81.25rem) {
    #logos-857 .cs-container {
        max-width: 90rem;
    }
}















