:root {
	--color-black: #000000;
	--color-white: #ffffff;
	--color-primary: #c91432;
	--secondary-bg: #f1f1f1;
	--color-dark-grey: #d9d9d9;
	--color-grey: #f5f5f5;
	--color-input: #E3E0E0;
	--color-border: #020303;
	--color-border-2: #D6D9DD;
	--color-border-3: #D0D0CC;
	--headings-color: #1E2132;
	--color-subdued: #9B9C9F;

	--font-base: 1rem;
	--font-xxs: calc(1rem - 3px);
	--font-xs: calc(1rem - 2px);
	--font-sm: calc(1rem - 1px);
	--font-md: calc(1rem + 2px);
	--font-lg: calc(1rem + 4px);
	--font-xl: calc(1rem + 6px);
	--font-xxl: calc(1rem + 8px);

    --font-thin: 300;
	--font-regular: 400;
	--font-medium: 500;
	--font-semibold: 600;
	--font-bold: 700;
	--font-extrabold: 800;
}

@media screen and (max-width: 544px) {
    :root {
		--font-xxs: calc(1rem - 3px);
		--font-xs: calc(1rem - 2px);
		--font-sm: calc(1rem - 1px);
		--font-md: 1rem;
		--font-lg: calc(1rem + 2px);
		--font-xl: calc(1rem + 4px);
		--font-xxl: calc(1rem + 6px);
    }
}

body {
	background-color: var(--color-white) !important;
}

body:not(.page-template-default) #primary,
body.home #primary {
    margin: 0 !important;
	padding: 0;
}

body:not(.page-template-default) .site-content > .ast-container,
body.home .site-content > .ast-container {
    max-width: 100% !important;
    padding: 0 !important;
}

a {
	outline: none !important;
}

.button {
	max-width: 100%;
	min-width: 210px;
	width: auto;
    display: inline-block;
	text-align: center;
	text-transform: uppercase;
	padding-left: 30px;
	padding-right: 30px;
}

.button-transparent {
	color: var(--color-black) !important;
	background-color: transparent;
	border: 1px solid var(--color-black) !important;
	opacity: 1;
	-webkit-transition: all 100ms linear;
    -ms-transition: all 100ms linear;
    transition: all 100ms linear;
}

.button-transparent:active {
	color: var(--color-black) !important;
	background-color: transparent;
	border: 1px solid var(--color-black) !important;
	opacity: 1;
}

.button-transparent:hover {
	color: var(--color-white) !important;
	background-color: var(--color-black);
	border: 1px solid var(--color-black) !important;
	opacity: 1;
}

.see-all-link {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-size: var(--font-lg);
	font-weight: var(--font-semibold);
	gap: 15px;
	transition: 0.25s ease-in-out color;
}

.see-all-link.left {
	justify-content: flex-start;
}

.see-all-link:hover {
	color: var(--color-primary);
}

.see-all-link svg {
    width: 36px;
}

.see-all-link.left svg {
    width: 45px;
}

.see-all-link svg path {
	transition: 0.25s ease-in-out all;
}

.see-all-link:hover svg path {
	fill: var(--color-primary);
}

.no-results.not-found {
    background-color: var(--secondary-bg);
    border-radius: 30px;
	padding: 45px 20px;
}

.no-results.not-found h4 {
	color: var(--color-primary);
}

.button-outline {
	-webkit-transition: all 100ms linear;
    -ms-transition: all 100ms linear;
    transition: all 100ms linear;
}

.button-outline:hover {
	color: var(--color-white) !important;
	background-color: var(--color-black) !important;
	border: 1px solid var(--color-black) !important;
}

.button:not(.button-outline):not(.button-transparent):hover {
	opacity: 0.8;
}

.intro-content > p:last-child {
    margin-bottom: 0;
}

.scale-cta {
    font-size: var(--font-md);
}

.scale-cta p {
    margin-bottom: 0;
}

.scale-cta a {
    color: var(--color-primary);
}

.scale-cta a:hover {
    opacity: 0.7;
}

.card-bg {
	background-color: var(--secondary-bg);
	padding: 50px 20px;
}

.card {
	background-color: var(--color-white);
	border: 1px solid var(--color-border-3);
    border-radius: 10px;
    padding: 40px 30px;
}

.card-border {
	padding-top: 40px;
    margin-top: 40px;
    border-top: 1px solid var(--color-black);
}

.card h5 {
    font-size: var(--font-lg);
}

.card-flex {
	display: flex;
    align-items: center;
    gap: 60px;
}

.card-flex > * {
    width: 50%;
}

.scale-tag {
    min-width: 250px;
    display: inline-block;
    font-size: var(--font-md);
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 15px 25px;
}

p {
	font-size: var(--font-md);
	line-height: 1.25;
}

.grecaptcha-badge {
    display: none !important;
}

@media (max-width: 1200px) and (min-width: 769px) {
    .page-template-default.ast-plain-container.ast-no-sidebar:not(.home) #primary {
        margin-top: 50px;
        margin-bottom: 50px;
    }
}

@media (max-width: 768px) {
	.page-template-default.ast-plain-container.ast-no-sidebar:not(.home) #primary {
        margin-top: 30px;
        margin-bottom: 30px;
    }

	.element-scroll-mobile .slick-track {
		display: flex !important;
	}
	
	.element-scroll-mobile .slick-slide {
		height: inherit !important;
		margin-left: 10px;
		margin-right: 10px;
	}

	.element-scroll-mobile .slick-prev,
	.element-scroll-mobile .slick-next {
		top: calc(50% - 25px / 2);
		width: 25px;
		height: 25px;
		box-shadow: none;
	}

	.element-scroll-mobile .slick-prev {
		left: -10px;
		z-index: 9;
	}

	.element-scroll-mobile .slick-next {
		right: -10px;
		z-index: 9;
	}

	.element-scroll-mobile .slick-prev:before,
	.element-scroll-mobile .slick-next:before {
		content: "";
		border: solid var(--headings-color);
		border-width: 0 3px 3px 0;
		display: inline-block;
		padding: 5px;
		opacity: 1;
	}

	.element-scroll-mobile .slick-prev:before {
		transform: rotate(135deg);
  		-webkit-transform: rotate(135deg);
	}

	.element-scroll-mobile .slick-next:before {
		transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
	}

	.element-scroll-mobile .slick-prev.slick-disabled:before,
	.element-scroll-mobile .slick-next.slick-disabled:before {
		opacity: 0.5;
	}

	.button {
		min-width: 170px;
		font-size: var(--font-sm);
		border-radius: 5px;
		padding: 10px;
	}

	.card-bg {
		padding: 30px 20px;
	}

	.card {
		padding: 30px 20px;
	}

	.card-border {
		padding-top: 25px;
		margin-top: 25px;
	}	
}

@media (max-width: 544px) {
    .scale-cta a {
        display: block;
    }

	.see-all-link {
		font-size: var(--font-md);
	}

	.no-results.not-found {
		padding: 25px 20px;
	}

	.card h5 {
        width: auto;
        flex: 1;
    }

	.card-flex {
		gap: 40px;
	}
}