* {
	backface-visibility: hidden;
	box-sizing: border-box;
}

body {
	background: var(--background-color);
	color: var(--text-color);
	font-family: "Inter", sans-serif;
	font-weight: 400;
	font-size: 1em;
}

::selection {
	background: var(--primary-brand-color);
	color: var(--primary-brand-text-color);
}

::-moz-selection {
	background: var(--primary-brand-color);
	color: var(--primary-brand-text-color);
}

a { color: #EF4036; text-decoration: underline; }

.has-background { position: relative; }

.has-background::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	background: inherit;
	margin-left: -50vw;
	z-index: 1;
}

.wp-block,
.wp-block-columns,
.wp-block-contact-form-7-contact-form-selector {
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
}

h1, h2, h3, h4, h5 {
	font-weight: 900;
	margin-top: 1em;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
}

h1 {
	font-size: 2em;
	color: var(--primary-brand-color);
}

h2 {
	font-size: 1.8em;
	color: var(--primary-brand-color);
}

h3 {
	font-size: 2em;
}

h4 {
	font-size: 1.6em;
}

h5 {
	font-size: 1.2em;
}

p {
	margin-top: 1em;
	margin-bottom: 1em;
	line-height: 1.5em;
}

em {
	font-style: inherit;
}

strong {
	font-weight: 900;
}

ul, ol {
	line-height: 1.5em;
}

ul li,
ol li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.has-text-align-center { margin-left: auto; margin-right: auto; }

/* Colours */
.has-black-color { color: #000000; }
.has-white-color { color: #FFFFFF; }
.has-red-color { color: #FF2216; }

.has-black-background-color { background: #000000; }
.has-white-background-color { background: #FFFFFF; }
.has-red-background-color { background: #FF2216; }

/* Widths */
@media(min-width: 1280px) {
	.alignfull {
		position: relative;
		overflow: visible;
		max-width: none;
		position: relative;
		left: 50%;
		width: 100vw;
		margin-left: -50vw!important;
	}

	.wp-block[data-align="full"] {
		position: relative;
		overflow: visible;
		max-width: none;
		left: 0;
		width: 100%;
	}

	.wp-block[data-align="wide"],
	.alignwide {
		position: relative;
		overflow: visible;
		max-width: 1280px;
		position: relative;
		left: 50%;
		width: 1280px;
		margin-left: -640px!important;
	}
}

.aligncenter { text-align: center; }
.alignright { text-align: right; }
.alignleft { text-align: left; }

/* WP Block: Cover */
.wp-block-cover {
	position: relative;
	padding: 2em 0;
}

.wp-block-cover img.wp-block-cover__image-background,
.wp-block-cover img.wp-block-cover__video-background,
.wp-block-cover img.wp-block-cover__gradient-background,
.wp-block-cover .wp-block-cover__background {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	z-index: 1;
}

.wp-block-cover .wp-block-cover__background {
	z-index: 2;
	mix-blend-mode: multiply;
}

.wp-block-cover .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
	font-size: 1.8em;
}

.wp-block-cover h1,
.wp-block-carousel h1 {
	margin-bottom: 0;
}

.wp-block-cover h1 + p,
.wp-block-carousel h1 + p {
	margin-top: 0;
}

/* WP Block: Verse */
pre.wp-block-verse {
	white-space: normal;
	margin-top: 2em;
	margin-bottom: 0;
	font-family: inherit;
	font-weight: 300;
	font-size: 1.2em;
	opacity: 0.75;
	line-height: 1.5em;
}

.wp-block-verse + h1,
.wp-block-verse + h2,
.wp-block-verse + h3,
.wp-block-verse + h4,
.wp-block-verse + h5 {
	margin-top: 0;
}

/* WP Block: Buttons */
.wp-block-buttons {
	margin-top: 2em;
	margin-bottom: 2em;
}

.wp-block-button__link {
	background: var(--primary-brand-color);
	color: var(--primary-brand-text-color);
	font-size: 1em;
	position: relative;
	overflow: hidden;
	transition: background 0.2s;
	border-radius: 0;
	transition: background 0.1s;
}

.wp-block-button__link:hover {
	background: #EF4036;
}

.wp-block-button__link .wp_block_button__link-text {
	position: relative;
	z-index: 2;
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-outline {
	padding: calc(.667em + 2px) calc(1.333em + 2px);
	border: none;
}

.wp-block-button.is-style-outline > .wp-block-button__link::after,
.wp-block-button .wp-block-button__link.is-style-outline::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 2px solid white;
	border-radius: inherit;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link.is-style-outline:hover {
	border-color: transparent;
}

/* Quote */
.wp-block-quote {
	font-family: "PT Serif", serif;
	font-size: 1.2em;
	font-style: italic;
	padding: 0;
	margin: 2em 0;
	border: none;
}

.wp-block-quote:first-child {
	margin-top: 0;
}

.wp-block-quote:last-child {
	margin-bottom: 0;
}

/* Separator */
.wp-block-separator {
	border-bottom: 0.2em solid var(--primary-brand-color);
}

/* Carousel */
.wp-block-carousel {
	min-height: 430px;
	position: relative;
	width: 100%;
	height: 100%;
}

.acf-block-preview .wp-block-carousel {
	overflow-y: hidden;
}

.wp-block-carousel::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	margin-left: -50vw;
	background: rgba(0, 0, 0, 0.4);
	z-index: 2;
	mix-blend-mode: multiply;
}

.wp-block-carousel--slides {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	margin-left: -50vw;
	z-index: 1;
}

.wp-block-carousel--slides img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.wp-block-carousel--content {
	position: relative;
	z-index: 3;
	padding-top: 2em;
	padding-bottom: 2em;
	font-size: 1.8em;
}