:root {
	font-family: "Montserrat", Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: normal;
	color: #1D1D1D;
}

@media (min-width: 1280px) {
	:root {
		font-size: 16px;
	}
}

.container,
.edit-post-visual-editor__post-title-wrapper,
.wp-block,
.wp-block-columns,
.wp-block-separator,
.wp-block-buttons,
.wp-block-media-text,
.wp-block-services,
.wp-block-logos,
.wp-block-logo-carousel,
.wp-block-group,
.wp-block-accreditations,
.wp-block-people,
.wp-block-testimonials,
.wp-block-cover,
.wp-block-cover__inner-container,
.wp-block-team-carousel,
.wp-block-coloured-images,
.wp-block-service,
h1, h2, h3, h4, h5, p, ul, ol {
	max-width: 64rem;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 1280px) {
	.container,
	.edit-post-visual-editor__post-title-wrapper,
	.wp-block,
	.wp-block-columns,
	.wp-block-separator,
	.wp-block-buttons,
	.wp-block-media-text,
	.wp-block-services,
	.wp-block-logos,
	.wp-block-logo-carousel,
	.wp-block-group,
	.wp-block-accreditations,
	.wp-block-people,
	.wp-block-testimonials,
	.wp-block-cover,
	.wp-block-cover__inner-container,
	.wp-block-team-carousel,
	.wp-block-coloured-images,
	.wp-block-service,
	h1, h2, h3, h4, h5, p, ul, ol {
		max-width: 72.75rem;
	}
}

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

h1, h2, h3, h4, h5 {
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 1em;
	line-height: 1.3em;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child {
	margin-top: 0;
}

h1 {
	font-size: 3em;
	margin-top: 0;
	margin-bottom: 0;
}

h2 {
	font-size: 2.375em;
}

p {
	line-height: 1.5em;
}

@media (max-width: 600px) {
	body:not(#tinymce) p {
		text-align: center;
	}

	.center-on-mobile {
		text-align: center!important;
	}
}

@media (max-width: 767px) {
	h2 {
		font-size: 2em;
	}

	h2 br {
		display: none;
	}
}

ol {
	line-height: 1.5em;
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 0;
}

ul {
	line-height: 1.5em;
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 0;
}

ul li,
ol li {
	margin: 1em 0 1em 1em;
	padding-left: 1em;
}

/* Presets */
.has-medium-font-size {
	font-size: 1.25em!important;
}

.has-large-font-size {
	font-size: 1.5em!important;
}

.has-x-large-font-size {
	font-size: 1.5em!important;
}

@media (min-width: 768px) {
	.has-large-font-size {
		font-size: 1.75em!important;
	}

	.has-x-large-font-size {
		font-size: 2em!important;
	}
}

.wp-block-button + .wp-block-button {
	margin-left: 1em;
}

.wp-block[data-align="full"]:not(.wp-block-media-text),
.alignfull:not(.wp-block-media-text) {
	max-width: none;
	margin-left: -2rem;
	margin-right: -2rem;
}

.wp-block-button__link {
	display: inline-block;
	border-radius: 0.5em;
	background-color: #F09E4C;
	font-size: 1em;
	padding: 1em 2em;
	min-width: 10em;
	text-align: center;
}

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

.wp-block-button__link.has-white-background-color:hover {
	background: #FFE9D1;
}

.is-icon-buttons .wp-block-button__link {
	padding: 0.5em 2em 0.5em 0.5em;
}

.is-icon-buttons .wp-block-button__link img {
	display: inline-block;
	height: 3em;
	width: auto;
	margin-right: 0.5em;
	vertical-align: middle;
}

.wp-block-separator {
	border: none!important;
	border-top: 1px solid currentcolor!important;
	margin-top: 50px;
	margin-bottom: 50px;
}

@media (min-width: 960px) {
	.wp-block-separator {
		margin-top: 100px;
		margin-bottom: 100px;
	}
}

.wp-block-media-text.has-background,
.wp-block-group.has-background {
	padding-top: 50px;
	padding-bottom: 50px;
	position: relative;
}

.wp-block-media-text.is-image-fill {
	padding-top: 0!important;
	padding-bottom: 0!important;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__content {
	padding-top: 0;
	padding-bottom: 50px;
}

.wp-block-media-text.nopadding {
	padding-top: 0!important;
	padding-bottom: 0!important;
}

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

@media (max-width: 359px) {
	.wp-block-media-text.has-background::before,
	.wp-block-group.has-background::before {
		width: 360px;
		margin-left: -180px;
	}
}

.wp-block-media-text .wp-block-media-text__media {
	position: relative;
	z-index: 2;
}

.wp-block-media-text .wp-block-media-text__content {
	position: relative;
	z-index: 2;
	padding: 0;
}

.wp-block-media-text .wp-block-media-text__content > *:last-of-type {
	margin-bottom: 0;
}

.wp-block-media-text.nopadding .wp-block-media-text__media {
	align-self: stretch;
}

.wp-block-media-text.nopadding .wp-block-media-text__media img {
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.wp-block-media-text.nopadding .wp-block-media-text__content {
	padding-top: 0;
	padding-bottom: 50px;
}

@media (min-width: 601px) {
	.wp-block-media-text.nopadding .wp-block-media-text__content {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}

.wp-block-group .wp-block-group__inner-container {
	position: relative;
	z-index: 2;
}

.wp-block-buttons {
	margin-top: 0;
	margin-bottom: 0;
}

p + .wp-block-buttons {
	margin-top: 40px;
}

.wp-block-buttons.is-icon-buttons {
	margin-top: 10px;
	margin-bottom: 0;
}

.wp-block-buttons.is-icon-buttons .wp-block-button .wp-block-button__link {
	min-width: 16em;
	margin: 10px 0;
}

@media (max-width: 600px) {
	.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
		margin-bottom: 50px;
	}

	.wp-block-media-text.is-image-fill .wp-block-media-text__media {
		height: calc(100% - 50px)!important;
	}
}

@media (min-width: 601px) {
	.wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content {
		padding-left: 2em;
	}

	.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
		padding-right: 2em;
	}

	.wp-block-buttons.is-icon-buttons {
		margin-top: 0;
		margin-bottom: 0;
		text-align: right;
	}

	.wp-block-buttons.is-icon-buttons .wp-block-button + .wp-block-button .wp-block-button__link {
		margin-left: 1em;
	}
}

@media (max-width: 767px) {
	.wp-block-buttons {
		text-align: center;
	}
}

@media (min-width: 960px) {
	.wp-block-media-text.has-background,
	.wp-block-group.has-background {
		padding-top: 100px;
		padding-bottom: 100px;
	}

	.wp-block-media-text:not(.has-media-on-the-right) .wp-block-media-text__content {
		padding-left: 4em;
		padding-right: 0;
	}

	.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
		padding-left: 0;
		padding-right: 4em;
	}
}

.wp-block-media-text.alignfull .wp-block-media-text__media {
	margin-left: -2em;
	margin-right: -2em;
}

@media (min-width: 601px) {
	.wp-block-media-text.alignfull {
		position: relative;
	}

	.wp-block-media-text.alignfull.has-media-on-the-right {
		display: block;
	}

	.wp-block-media-text.alignfull .wp-block-media-text__media {
		margin-right: 0;
	}

	.wp-block-media-text.alignfull.has-media-on-the-right .wp-block-media-text__media {
		right: auto;
		left: 50%;
	}

	.wp-block-media-text.alignfull.has-media-on-the-right .wp-block-media-text__content {
		width: 50%;
	}
}

@media (min-width: 960px) {
	.wp-block-media-text.alignfull .wp-block-media-text__media {
		margin-right: 0;
		margin-left: calc(-50vw + 32rem);
	}
}

@media (min-width: 1280px) {
	.wp-block-media-text.alignfull .wp-block-media-text__media {
		margin-left: calc(-50vw + 36.375rem);
	}
}

.wp-block-image figcaption.wp-element-caption {
	margin-bottom: 40px;
}

.wp-block-image .aligncenter > figcaption,
.wp-block-image.aligncenter > figcaption {
	text-align: center;
	padding-top: 1em;
}

.wp-block-image .alignleft > figcaption,
.wp-block-image.alignleft > figcaption {
	text-align: left;
	padding-top: 1em;
}

.wp-block-image.has-background {
	border-radius: 1em;
	overflow: hidden;
	text-align: center;
	color: white;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: stretch;
	margin-top: 2em;
	margin-bottom: 2em;
}

.wp-block-image.has-background figure {
	height: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: stretch;
	margin: 0;
}

.wp-block-image.has-background img {
	flex-grow: 0;
	flex-shrink: 0;
	width: 100%;
}

.wp-block-image .alignright > figcaption,
.wp-block-image.alignright > figcaption {
	text-align: right;
	padding-top: 1em;
}

.wp-block-image.has-background figcaption {
	margin: 0;
	flex-grow: 1;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: stretch;
	padding: 1em 0;
}

.wp-block-image.has-background figcaption span {
	display: block;
	width: 100%;
}

.wp-block-column.has-background {
	padding: 2em;
}

.wp-block-cover {
	margin-left: -2em;
	margin-right: -2em;
	min-height: 280px!important;
	padding: 2em!important;
}

@media (max-width: 767px) {
	.wp-block-cover__inner-container > :not(h1, h2, h3, h4, h5) {
		display: none;
	}
}

@media (min-width: 768px) {
	.wp-block-cover {
		min-height: 550px!important;
	}

	.wp-block-cover h1 br {
		display: none;
	}
}

.wp-block-columns {
	padding-left: 0;
	padding-right: 0;
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-columns.alignwide {
	margin-top: 0;
	margin-bottom: 0;
	position: relative;
}

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

.wp-block-columns.alignwide .wp-block-column {
	position: relative;
	z-index: 2;
}

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

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

@media (max-width: 600px) {
	.wp-block-columns.reverse-on-mobile {
		display: flex;
		flex-direction: column-reverse;
		flex-wrap: nowrap;
		align-items: stretch;
		justify-content: flex-start;
	}

	.wp-block-columns.reverse-on-mobile .wp-block-column + .wp-block-column {
		margin-bottom: 50px;
	}
}

@media (min-width: 783px) {
	.wp-block-columns {
		gap: 4em;
	}
}

.has-black-background-color { background-color: #1d1d1d; }
.has-white-background-color { background-color: #ffffff; }
.has-trg-blue-background-color { background-color: #199cce; }
.has-trg-light-blue-background-color { background-color: #71C5DE; }
.has-trg-gold-background-color { background-color: #F09E4C; }
.has-trg-green-background-color { background-color: #3BAEA3; }
.has-trg-light-grey-background-color { background-color: #F7F7F7; }

.has-black-color { color: #1d1d1d; }
.has-white-color { color: #ffffff; }
.has-trg-blue-color { color: #199cce; }
.has-trg-light-blue-color { color: #71C5DE; }
.has-trg-gold-color { color: #F09E4C; }
.has-trg-green-color { color: #3BAEA3; }
.has-trg-light-grey-color { color: #F7F7F7; }

* {
	--wp--preset--color--black: #1d1d1d;
	--wp--preset--color--white: #ffffff;
	--wp--preset--color--trg-blue: #199cce;
	--wp--preset--color--trg-light-blue: #71C5DE;
	--wp--preset--color--trg-gold: #F09E4C;
	--wp--preset--color--trg-green: #3BAEA3;
	--wp--preset--color--trg-light-grey: #F7F7F7;
}

.contact-details {
	margin-bottom: 50px;
}

.contact-details a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	margin: 0 0 0.25em;
}

.contact-details a:hover {
	text-decoration: underline;
}

.contact-details a::before {
	content: "";
	display: inline-block;
	width: 1.75em;
	height: 1.75em;
	line-height: 1.75em;
	text-align: center;
	background: #71C5DE;
	color: white;
	font-family: "Font Awesome 6 Pro";
	font-weight: normal;
	margin: -0.2em 1em 0 0;
	border-radius: 50%;
	vertical-align: middle;
}

.contact-details a[href^="tel"]::before {
	content: "\f095";
	font-weight: 400;
}

.contact-details a[href^="mailto"]::before {
	content: "\f0e0";
	font-weight: 900;
}

ul.services {
	list-style: none;
	padding: 0;
	margin-top: 50px;
	margin-bottom: 50px;
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}

ul.services li {
	list-style: none;
	display: block;
	padding: 0;
	margin: 0 0 1.5rem 0;
	width: calc(50% - 1em);
}

ul.services li:last-of-type {
	margin-bottom: 0;
}

ul.services li a {
	display: block;
	padding: 1rem;
	border: 2px solid #199CCE;
	font-size: 1.375em;
	font-weight: bold;
	text-align: center;
	border-radius: 0.5em;
	width: 100%;
	color: inherit;
	text-decoration: none;
}

ul.services li a:hover {
	background: rgba(25, 156, 206, 0.1);
}

@media (min-width: 768px) and (max-width: 782px) {
	ul.services li {
		width: calc(50% - 2em);
	}

	ul.services li:nth-last-of-type(2) {
		margin-bottom: 0;
	}
}

@media (min-width: 960px) {
	ul.services {
		width: 100%;
		margin-top: 0;
		margin-bottom: 0;
	}

	ul.services li {
		width: calc(50% - 2em);
	}

	ul.services li:nth-last-of-type(2) {
		margin-bottom: 0;
	}
}

.pullout.has-pulled-out {
	background: #F8F8F8;
	color: #1D1D1D;
	padding: 50px 2em;
}

.pullout.has-pulled-out.bigger-bottom {
	padding-bottom: 100px;
}

.pullout.has-pulled-out.is-from-cover {
	margin-left: -2em;
	margin-right: -2em;
}

.pullout.has-pulled-out p:first-child {
	margin-top: 0;
}

.pullout.has-pulled-out p:last-child {
	margin-bottom: 0;
}

.pullout.has-pulled-out p br {
	display: none;
}

@media (min-width: 768px) {
	.pullout.has-pulled-out {
		display: none;
	}
}

@media (max-width: 959px) {
	.wp-block-spacer + .wp-block-spacer {
		display: none!important;
	}
}

.only-600-782 {
	display: none!important;
}

@media (min-width: 600px) and (max-width: 782px) {
	.only-600-782 {
		display: block!important;
	}
}
