/* 

4GU styles

Copyright 2026 - Netfuel Ltd
www.netfuel.co.uk

*/

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;700');
@font-face {
    font-family:'Safiro';
    src:url('../fonts/safiro/safiro-medium.woff2') format('woff2');
    font-weight:600;
    font-style:normal;
    font-display:swap;
}


:root {
	--container-width:1300px;
	--default-gutter-x:15px;
	--default-gutter-y:15px;
	--color-primary:#46008E;
	--color-primary-alt:#DACCE8;
	--color-secondary:#ECBD2E;
	--color-secondary-alt:#F6DE96;
	--color-tertiary:#2BB7C8;
	--color-tertiary-alt:#BFE9EE;
	--color-white:#ffffff;
	--color-grey:#EFEFF0;
	--color-error:#c0392b;
	--color-error-bg:#fdf0ef;
	--text-size-sm:13px;
	--text-size:14px;
	--text-size-md:16px;
	--text-size-lg:20px;
	--text-size-xl:24px;
	--text-size-xxl:36px;
	--border-radius:8px;
	--transition:all 0.25s ease-in-out;
	--transition-background:background-color 0.25s ease-in-out;
	--transition-color:color 0.25s ease-in-out;
}


/* General Layout */

html,body {
	
	margin:0;
	padding-right:0 !important;
	background-color:var(--color-white);
	font-family:'Manrope', sans-serif;
	font-size:var(--text-size);
	color:var(--color-primary);
	font-weight:400;
	font-optical-sizing:auto;
	overflow-x:clip;
	scroll-behavior:smooth;

}

body {

	&:has(.header .menu-wrapper nav > ul > li.parent:hover)::before {
		content:'';
		position:fixed;
		inset: 0;
		background-color:rgba(0, 0, 0, 0.25);
		z-index:8;
	}

	&.mobile-menu-active {

		height:100dvh;
		overflow:hidden;
		background-color:var(--color-primary);

		.header-wrapper {

			height:100%;

			& > .header {

				.header-right {
			
					.mobile-menu-button {

						span {
								
							height:0;

							&:before {
								
								top:0;
								transform:rotate(-45deg);
							
							}

							&:after {
								
								top:0;
								transform:rotate(45deg);
							
							}

						}

					}

				}

			}

			.mobile-menu {

				display:flex;

			}

		}

	}

}

.mt-1 {margin-top:calc(var(--default-gutter-y) * 1) !important;}
.mb-1 {margin-bottom:calc(var(--default-gutter-y) * 1) !important;}
.mt-2 {margin-top:calc(var(--default-gutter-y) * 2) !important;}
.mb-2 {margin-bottom:calc(var(--default-gutter-y) * 2) !important;}
.mt-4 {margin-top:calc(var(--default-gutter-y) * 4) !important;}
.mb-4 {margin-bottom:calc(var(--default-gutter-y) * 4) !important;}
.mt-8 {margin-top:calc(var(--default-gutter-y) * 8) !important;}
.pt-1 {padding-top:calc(var(--default-gutter-y) * 1) !important;}
.pb-1 {padding-bottom:calc(var(--default-gutter-y) * 1) !important;}
.pt-2 {padding-top:calc(var(--default-gutter-y) * 2) !important;}
.pb-2 {padding-bottom:calc(var(--default-gutter-y) * 2) !important;}
.pt-4 {padding-top:calc(var(--default-gutter-y) * 4) !important;}
.pb-4 {padding-bottom:calc(var(--default-gutter-y) * 4) !important;}


.container {

	max-width:min(100%,var(--container-width));
	padding-left:calc(var(--default-gutter-x) * 2);
	padding-right:calc(var(--default-gutter-x) * 2);

}

.container-fluid {

	padding-left:0;
	padding-right:0;

}

.row {

	&:not(.row-gap-0,.row-gap-1) {

		row-gap:calc(var(--default-gutter-y) * 2) !important;

	}

	&.row-gap-1 {

		row-gap:calc(var(--default-gutter-y) * 1) !important;

	}

	&:not(.col-gap-0,.col-gap-1,.col-gap-4,.col-gap-8) {

		margin-left:calc(var(--default-gutter-x) / -1);
		margin-right:calc(var(--default-gutter-x) / -1);

		>* {

			padding-left:var(--default-gutter-x);
			padding-right:var(--default-gutter-x);

		}

	}

	&.col-gap-0 {

		margin-left:0;
		margin-right:0;

		>* {

			padding-left:0;
			padding-right:0;

		}

	}

	&.col-gap-1 {

		margin-left:calc((var(--default-gutter-x) / 2) / -1);
		margin-right:calc((var(--default-gutter-x) / 2) / -1);

		>* {

			padding-left:calc(var(--default-gutter-x) / 2);
			padding-right:calc(var(--default-gutter-x) / 2);

		}

	}

	&.col-gap-4, &.col-gap-8 {

		margin-left:calc((var(--default-gutter-x) * 2) / -1);
		margin-right:calc((var(--default-gutter-x) * 2) / -1);

		>* {

			padding-left:calc(var(--default-gutter-x) * 2);
			padding-right:calc(var(--default-gutter-x) * 2);

		}

	}

}

:focus, :focus-visible {
    box-shadow:none !important;
    outline:none !important;
}

img {
	
	max-width:100%;
	flex-shrink:0;
	border:0;
	vertical-align:middle;

}

span {
	
	display:block;

}

.underline-link {

	text-decoration:underline;

}

a {
	
	transition:var(--transition);

	&:not(.underline-link) {

		text-decoration:none;

	}

}

ul.menu {
	
	padding:0;
	list-style:none;

	&:not(.row) {

		margin:0;

	}

	&.row {margin-bottom:0;}
	
}

.title, h1, h2, h3, h4, h5, h6 {
	
	display:block;
	
	font-weight:600;
	line-height:125%;
	margin-bottom:0;

	&:not(.default-font) {

		font-family:'Safiro';

	}

	&.xxl {

		font-size:var(--text-size-xxl);

	}

	&.xl {

		font-size:var(--text-size-xl);

	}

	&.lg {

		font-size:var(--text-size-lg);

	}

	&.md {

		font-size:var(--text-size-md);

	}

	&.sm {

		font-size:var(--text-size-sm);

	}

}

.button, .buttoned a {
	
	display:flex;
	justify-content:center;
	align-items:center;
	padding-top:calc(var(--default-gutter-y) * 0.75);
	padding-right:calc(var(--default-gutter-x) * 2);
	padding-bottom:calc(var(--default-gutter-x) * 0.75);
	padding-left:var(--default-gutter-x);
	background-color:var(--color-secondary);
	border:0;
	border-radius:50vh;
	font-size:var(--text-size);
	color:var(--color-primary);
	font-weight:600;
	transition:var(--transition);

	&:before {

		content:'';
		width:10px;
		height:10px;
		background-color:var(--color-primary);
		border-radius:100%;
		margin-right:var(--default-gutter-x);

	}

	&:hover {

		background-color:var(--color-primary);
		color:var(--color-secondary);

		&:before {

			background-color:var(--color-secondary);

		}

	}

}

.label {

	display:flex;
	justify-content:center;
	align-items:center;
	padding:calc(var(--default-gutter-y) * 0.5) var(--default-gutter-x);
	background-color:var(--color-grey);
	border:0;
	border-radius:50vh;
	font-size:var(--text-size-sm);
	color:var(--color-primary);
	font-weight:600;

}

.rounded {

	border-radius:8px !important;
	overflow:hidden;

}

.circled {

	img {

		object-fit:cover;
		object-position:center;
		border-radius:100%;
		overflow:hidden;

	}

	&[class*="circle-after-"] {

		position:relative;

		&:after {

			display:block;
			content:'';
			position:absolute;
			top:0;
			left:calc(100% - (var(--default-gutter-x) * 4));
			width:100%;
			height:100%;
			border:5px solid var(--color-primary);
			border-radius:100%;

		}

		&.circle-after-secondary:after {

			border-color:var(--color-secondary);

		}

		&.circle-after-tertiary:after {

			border-color:var(--color-tertiary);

		}

	}

}

.shaped-image {
	
	position:relative;
	width:100%;
	height:100%;
	aspect-ratio:21/9;
	overflow:hidden;

	&:after {

		content:'';
		position:absolute;
		top:-75px;
		left:50%;
		transform:translateX(-50%);
		width:125%;
		height:100px;
		border-radius:100%;

	}

	.content-section.white &:after {

		background-color:var(--color-white);

	}

	.content-section.primary &:after {

		background-color:var(--color-primary);

	}

	.content-section.primary-alt &:after {

		background-color:var(--color-primary-alt);

	}

	.content-section.secondary &:after {

		background-color:var(--color-secondary);

	}

	.content-section.secondary-alt &:after {

		background-color:var(--color-secondary-alt);

	}

	.content-section.tertiary &:after {

		background-color:var(--color-tertiary);

	}

	.content-section.tertiary-alt &:after {

		background-color:var(--color-tertiary-alt);

	}

	img {

		width:100%;
		height:100%;
		object-fit:cover;
		object-position:center;

	}

}

.boxen {

	p {

		&:not(:last-of-type) {

			margin-bottom:var(--default-gutter-y);

		}

		&:last-of-type {

			margin-bottom:0;

		}

	}

	p, li {

		line-height:150%;

		a {

			color:inherit;
			text-decoration:underline;

			&:hover {

				opacity:0.5;

			}

		}

	}

	&.sm {

		p, li {

			font-size:var(--text-size-sm);

		}

	}

	&.md {

		p, li {

			font-size:var(--text-size-md);

		}

	}

	&.lg {

		p, li {

			font-size:var(--text-size-lg);

		}

	}

	figure.quote {

		--quote-size:min(80px, 10cqi);

		position:relative;
		width:calc(100% - ((var(--quote-size) + var(--default-gutter-x)) * 2));
		margin-left:auto;
		margin-right:auto;
		margin-bottom:0;

		&:before {

			content:'';
			position:absolute;
			top:0;
			right:calc(100% + var(--default-gutter-x));
			background-image:url('../images/quotation-mark.svg');
			background-size:cover;
			background-repeat:no-repeat;
			width:var(--quote-size);
			aspect-ratio:1/1;

		}
		
		.blockquote {			

			margin-bottom:0;

			&.xl {

				font-size:var(--text-size-xl);

			}

		}

		.blockquote-footer {

			margin-top:calc(var(--default-gutter-y) * 2);
			margin-bottom:0;

			&:before {

				display:none;

			}

			.author {

				font-size:var(--text-size-lg);
				color:var(--color-primary);
				font-weight:300;

			}

		}

	}

}

.header-wrapper {
	
	container-type:scroll-state;

	& > .header {	

		padding-top:var(--default-gutter-y);
		padding-bottom:var(--default-gutter-y);
		background-color:var(--color-grey);
		transition:box-shadow .3s ease;

		@container scroll-state(stuck: top) {

			box-shadow:0 5px 15px rgb(0 0 0 / 0.1);

		}

		&:is(.is-stuck .header) {

			box-shadow:0 5px 15px rgb(0 0 0 / 0.1);

		}

		.header-right {

			nav {

				.menu {

					li {

						font-size:var(--text-size-md);
						font-weight:600;

						&:not(.buttoned) {

							a {

								color:var(--color-primary);

								&:hover {

									text-decoration:underline;

								}

							}

						}

					}

				}

			}

			.button {

				span {

					display:none;

				}

			}

			.mobile-menu-button {
				
				display:block;
				position:relative;
				z-index:3;
				width:25px;
				height:22px;
				cursor:pointer;
			
				span {
					
					position:relative;
					top:10px;
				
				}

				span, span:before, span:after {
					
					display:block;
					content:'';
					width:25px;
					height:2px;
					background-color:var(--color-primary);
					transition:all 0.25s ease-in;
				
				}
				
				span:before, span:after {
					
					position:absolute;
					top:-10px;
				
				}

				span:after {
					
					top:10px;
				
				}

			}

		}

	}

	.mobile-menu {

		display:none;
		flex-direction:column;
		min-height:0;
		overflow-y:auto;
		overflow-x:hidden;
		padding-top:calc(var(--default-gutter-y) * 2);
		padding-bottom:calc(var(--default-gutter-y) * 2);

		& > .container {

			margin-top:auto;
			margin-bottom:auto;

		}

		.mobile-menu-content {

			nav {

				.menu {

					li {

						font-size:var(--text-size-lg);

						a {

							display:block;
							padding-top:calc(var(--default-gutter-y) / 2);
							padding-bottom:calc(var(--default-gutter-y) / 2);
							color:var(--color-white);

							&:hover {

								color:var(--color-secondary);

							}

						}

					}

				}

			}

			.button {

				&:hover {

					background-color:var(--color-white);
					color:var(--color-primary);

					&:before {

						background-color:var(--color-primary);

					}

				}

			}

		}

	}

}

.content-section {

	padding-top:calc(var(--default-gutter-y) * 4);
	padding-bottom:calc(var(--default-gutter-y) * 4);
	overflow:clip;

	&.white {

		.mono-card {

			.boxen-wrapper {

				background-color:var(--color-grey);

				.label {

					background-color:var(--color-white);

				}

			}

			&:is(a):hover {

				.boxen-wrapper {

					background-color:var(--color-primary);

				}

			}

		}

	}

	&.primary {

		background-color:var(--color-primary);

		.button {

			&:hover {

				background-color:var(--color-white);
				color:var(--color-primary);

				&:before {

					background-color:var(--color-primary);

				}

			}

		}

		.boxen {

			.title, p, li {

				color:var(--color-white);

			}

		}

	}

	&.primary-alt {

		background-color:var(--color-primary-alt);

	}

	&.secondary {

		background-color:var(--color-secondary);

	}

	&.secondary-alt {

		background-color:var(--color-secondary-alt);

	}

	&.tertiary {

		background-color:var(--color-tertiary);

		.boxen {

			.title, p, li {

				color:var(--color-white);

			}

			figure.quote {

				.blockquote-footer {

					.author {

						color:var(--color-white);

					}

				}

			}

		}

	}

	&.tertiary-alt {

		background-color:var(--color-tertiary-alt);

	}

	&.grey {

		background-color:var(--color-grey);

		:not(.mono-card) .label {

			background-color:var(--color-white);

		}

	}

	.container-fluid {

		[class*="col"] {

			[class*="padding-wrapper"] {

				padding-left:calc(var(--default-gutter-x) * 2);
				padding-right:calc(var(--default-gutter-x) * 2);

			}

		}

	}

	.accordion {

		.accordion-item {

			border:1px solid var(--color-primary);
			border-radius:var(--border-radius);
			
			&:not(:last-of-type) {

				margin-bottom:var(--default-gutter-y);

			}

			.accordion-header {

				.accordion-button {

					padding:var(--default-gutter-y) var(--default-gutter-x);
					background-color:inherit;
					box-shadow:none;
					font-size:var(--text-size-md);
					color:var(--color-primary);

					&:focus {

						background-color:inherit;

					}

				}

			}

			.accordion-body {

				padding:0 var(--default-gutter-x) var(--default-gutter-y);
				color:var(--color-primary);

			}
			
		}

	}

}

.padding-wrapper-y {

	padding-top:calc(var(--default-gutter-y) * 4);
	padding-bottom:calc(var(--default-gutter-y) * 4);

}

.circles {

	position:relative;
	left:calc(var(--default-gutter-x) * 4);
	width:calc(100% - calc(var(--default-gutter-x) * 6));

	>*:not(:first-of-type) {

		margin-top:calc((var(--default-gutter-y) * 4) / -1);

	}

	.circle-wrapper {

		display:flex;
		flex-direction:column;
		justify-content:center;
		align-items:center;
		position:relative;
		left:calc((var(--default-gutter-x) * 4) / -1);
		width:100%;
		width:calc(100% + var(--default-gutter-x) * 8);
		aspect-ratio:1/1;

		>* {

			position:relative;
			z-index:2;

		}

		&:after {

			display:block;
			content:'';
			position:absolute;
			top:0;
			left:0;
			width:100%;
			height:100%;
			border:5px solid var(--color-primary);
			border-radius:100%;			

		}
		
		&.secondary:after {

			border-color:var(--color-secondary);

		}

		&.tertiary:after {

			border-color:var(--color-tertiary);

		}

		>* {

			width:50%;

		}

	}

}

.panel {

	padding:calc(var(--default-gutter-y) * 2) calc(var(--default-gutter-x) * 2);

	&.secondary-alt {

		background-color:var(--color-secondary-alt);

	}

	&.bordered {

		border:1px solid var(--color-primary);

	}

}

.table-responsive {

	table {

		tr {

			td {

				padding:calc(var(--default-gutter-y) / 2) calc(var(--default-gutter-x) / 2);
				color:inherit;

				&:first-of-type {

					padding-left:0;

				}

				&:last-of-type {

					padding-right:0;

				}

			}

		}

		&.transparent {

			tr {

				td {

					border-bottom:0;

				}

			}
			
		}

	}

}

.mono-card {

	.ratio {

		overflow:hidden;

		img {

			transition:transform 0.25s ease-in-out;

		}
		
	}

	.boxen-wrapper {

		padding:calc(var(--default-gutter-y) * 2) var(--default-gutter-x);
		background-color:var(--color-white);
		transition:var(--transition);

		.boxen {

			.title, p {

				color:var(--color-primary);

			}

			.title {

				display:-webkit-box;
				-webkit-box-orient:vertical;
				-webkit-line-clamp:2;
				line-clamp:2;
				overflow:hidden;

			}

			&.excerpt {

				p {

					display:-webkit-box;
					-webkit-box-orient:vertical;
					-webkit-line-clamp:3;
					line-clamp:3;
					overflow:hidden;

				}

			}

			.underline-link {

				font-weight:600;

			}

		}

	}

	&:is(a):hover {

		.ratio {

			img {

				transform:scale(1.125);

			}
			
		}

		.boxen-wrapper {

			background-color:var(--color-primary);

			.boxen {

				.title, p, readmore {

					color:var(--color-white);

				}

			}

		}

	}

}

.footer {

	.footer-block {

		nav {

			.menu {

				li {

					&:not(:last-of-type) {

						margin-bottom:calc(var(--default-gutter-y) / 2);

					}

					a {

						color:inherit;

						&:hover {

							text-decoration:underline;
							
						}

					}

				}

			}

		}

		.social-links {

			margin-left:calc((var(--default-gutter-x) / 4) / -1);
			margin-right:calc((var(--default-gutter-x) / 4) / -1);

			>* {

				padding-left:calc(var(--default-gutter-x) / 4);
				padding-right:calc(var(--default-gutter-x) / 4);

			}

			a {

				display:flex;
				justify-content:center;
				align-items:center;
				width:30px;
				height:30px;
				background-color:var(--color-secondary);
				border-radius:100%;
				color:var(--color-primary);

				&:hover {

					background-color:var(--color-primary);

				}

			}

		}

	}

	.sub-footer {

		.footer-block {

			nav {

				.menu {

					li {

						a {

							text-decoration:underline;

							&:hover {

								color:var(--color-tertiary);

							}

						}

					}

				}

			}

		}

	}

}

.swiper-container {

	.swiper {

		align-items:stretch;
		overflow:visible;

		.swiper-wrapper {

			align-items:stretch;

			.swiper-slide {

				height:auto;

				>.row {

					height:100%;

				}
			}

		}

	}

	.swiper-buttons {

		display:flex;
		column-gap:5px;
	
		.swiper-button {

			display:flex;
			align-items:center;
			justify-content:center;
			width:34px;
			height:34px;
			border:2px solid var(--color-primary);
			border-radius:100%;
			transition:var(--transition);

			&.prev {

				img {

					transform:rotate(180deg);

				}

			}

			&.swiper-button-disabled {

				opacity:0.5;

			}

			img {

				transition:var(--transition);

			}

			&:hover {

				background-color:var(--color-primary);

				img {

					filter:brightness(0) invert(1);

				}

			}

		}

	}

}

.facetwp-facet {

	margin-bottom:0 !important;

	&.facetwp-facet-categories {

		.facetwp-checkbox {

			background:transparent;

		}

	}

	&.facetwp-facet-search {

		position:relative;

		.facetwp-input-wrap {

			border:1px solid var(--color-primary);
			border-radius:50vh;

			input {

				padding:calc(var(--default-gutter-y) / 2) var(--default-gutter-x);
				background:transparent;
				border:0;
				color:var(--color-primary);

				&::placeholder {

					color:var(--color-primary);

				}

			}

			.facetwp-icon {

				opacity:1;

				&:before {

					background:url('../images/search-icon.svg');
					background-size:19px 19px;
					background-position:center;
					background-repeat:no-repeat;

				}

			}

		}

		.facet-search-clear {

			position:absolute;
			top:0;
			right:calc(30px + 10px);
			height:100%;
			background-color:transparent;
			background:url('../images/cross-icon.svg');
			background-size:15px 15px;
			background-position:center;
			background-repeat:no-repeat;
			border:0;
			font-size:var(--text-size);

		}

	}

	&.facetwp-facet-pagination {

		display:flex;
		justify-content:center;
		margin-top:calc(var(--default-gutter-y) * 2);

		.facetwp-pager {

			display:flex;
			align-items:center;

			.facetwp-page {

				&.prev, &.next {

					display:flex;
					align-items:center;
					justify-content:center;
					width:34px;
					height:34px;
					border:2px solid var(--color-primary);
					border-radius:100%;
					transition:var(--transition);

					&.prev {

						img {

							transform:rotate(180deg);

						}

					}

					&.swiper-button-disabled {

						opacity:0.5;

					}

					img {

						transition:var(--transition);

					}

					&:hover {

						background-color:var(--color-primary);

						img {

							filter:brightness(0) invert(1);

						}

					}

				}

			}

			a {

				color:var(--color-primary);

				&:not(.active,.prev,.next) {

					&:hover {

						opacity:0.5;

					}

				}

			}

		}

	}

}

.filters {

	display:flex;
	column-gap:5px;
	row-gap:5px;

	.filter-button {

		display:flex;
		justify-content:center;
		align-items:center;
		padding:calc(var(--default-gutter-y) * 0.5) var(--default-gutter-x);
		border:1px solid var(--color-primary);
		border-radius:50vh;
		font-size:var(--text-size);
		color:var(--color-primary);
		transition:var(--transition);
		cursor:pointer;

		&.facetwp-checkbox {

			margin:0;
			background:transparent;

		}

		&:hover, &.active {

			background-color:var(--color-primary);
			color:var(--color-white);

			&:is(.active) {

				font-weight:600;

			}

		}

	}

}

.navigate-button {
	
	display:flex;
	justify-content:center;
	align-items:center;
	padding:calc(var(--default-gutter-y) * 0.5) var(--default-gutter-x);
	border:1px solid var(--color-primary);
	border-radius:50vh;
	font-size:var(--text-size);
	color:var(--color-primary);
	font-weight:600;
	transition:var(--transition);

	&.disabled {

		opacity:0.5;
		cursor:initial;

	}

	&.prev:before, &.next:after {

		content:'';
		width:9px;
		height:19px;
		background-image:url('../images/navigation-arrow.svg');
		background-size:cover;

	}

	&.prev:before {

		margin-right:calc(var(--default-gutter-x) / 2);

	}

	&.next:after {

		transform:rotate(180deg);
		margin-left:calc(var(--default-gutter-x) / 2);

	}

	&:not(.disabled):hover {

		&.prev:before, &.next:after {

			filter:brightness(0) invert(1);

		}

	}

	&.primary {

		background-color:var(--color-primary);
		color:var(--color-white);

		&:hover {

			opacity:0.5;

		}

	}

	&:not(.disabled):hover {

		background-color:var(--color-primary);
		color:var(--color-white);

	}

}

.gform_wrapper {

	.button {

		padding-left:calc(var(--default-gutter-x) * 2);

		&:before {

			display:none;

		}

	}

	.gform_heading {

		p.gform_required_legend {

			display:none;

		}

	}

	.gf_progressbar_wrapper {

		.gf_progressbar_title {

			display:flex;
			justify-content:center;
			column-gap:5px;
			font-size:var(--text-size) !important;
			color:var(--color-primary) !important;
			text-align:center;

			.gf_step_current_page, .gf_step_page_count {

				font-weight:bold;

			}

		}

		.gf_progressbar {

			.gf_progressbar_percentage {

				background-color:var(--color-primary) !important;

			}

		}

	}

	.gform_body {

		.gform_fields {

			row-gap:calc(var(--default-gutter-y) * 2) !important;
			column-gap:calc(var(--default-gutter-x) * 1) !important;

			.gfield {

				&:not(.gfield--width-full) {

					grid-column:1/-1 !important;

				}

				.gfield_label {

					margin-bottom:calc(var(--default-gutter-y) / 2);
					font-weight:600;

					.gfield_required {

						padding-left:0;
						font-size:var(--text-size);
						color:inherit;

					}

				}

				&.gfield_error label {

					color:var(--color-error);

				}

				&.gfield--type-html {

					p {

						margin-bottom:0;

						a {

							color:inherit;
							text-decoration:underline;

							&:hover {

								color:var(--color-secondary);

							}

						}

					}

				}

				input:is([type="text"],[type="email"],[type="tel"],[type="url"],[type="date"],[type="number"]), textarea, select {

					width:100%;
					padding:calc(var(--default-gutter-y) * 0.666666667) var(--default-gutter-x);
					background-color:transparent;
					border:1px solid var(--color-primary);
					border-radius:3px;
					
					&:is(textarea) {

						padding:var(--default-gutter-y) var(--default-gutter-x);

					}

				}

				textarea {

					display:block;

				}
				
				&::placeholder {

					opacity:0.5;
					color:inherit;

				}

				.gfield_radio, .gfield_checkbox {

					display:flex;
					flex-direction:column;
					row-gap:calc(var(--default-gutter-x) / 2);

					.gchoice {

						display:flex;
						column-gap:10px;
						row-gap:var(--default-gutter-y);

						input {

							appearance:none;
							width:20px;
							height:20px;
							background-color:var(--color-white);
							border:1px solid var(--color-primary);
							padding:1px;

							&:is([type="radio"]) {

								border-radius:100%;
								box-shadow:inset 0 0 0 2px var(--color-white);

								&:focus, &:focus-visible {

									outline:none !important;
									box-shadow:inset 0 0 0 2px var(--color-white) !important;

								} 

							}

							&:checked {

								background-color:var(--color-primary) !important;
								border-color:var(--color-primary);							

							}

							&:is([type="checkbox"]):checked {

								background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");

							}

						}

						label {

							font-size:var(--text-size-sm);

						}

					}

				}

				&.gfield--type-time {

					[class*="gfield_time_"] {
						
						width:100%;
						max-width:none;
						min-width:0;

					}

				}

				.gfield_description:not(.validation_message) {

					margin-top:calc(var(--default-gutter-y) / 2) !important;
					padding-top:0 !important;
					font-size:var(--text-size-sm) !important;

				}

			}

		}

		.gform_page_footer {

			display:flex;
			justify-content:space-between;
			margin:0 !important;
			margin-top:calc(var(--default-gutter-y) * 2) !important;
			padding:0 !important;

			input {

				margin-bottom:0 !important;

			}

			.gform_previous_button {

				background-color:var(--color-error-bg) !important;
				color:var(--color-error) !important;

				&:hover {

					background-color:var(--color-primary) !important;
					color:var(--color-secondary) !important;

				}

			}

		}

	}

	.gform_footer {

		margin:0 !important;
		margin-top:calc(var(--default-gutter-y) * 2) !important;
		padding:0 !important;

	}

	.gform_validation_errors, .validation_message {		
			
		background:var(--color-error-bg) !important;
		border:0 !important;
		border-radius:3px !important;
		box-shadow:none !important;
		color:var(--color-error) !important;

		&:is(.gform_validation_errors) {

			margin-top:0 !important;
			margin-bottom:calc(var(--default-gutter-y) * 2) !important;
			padding:calc(var(--default-gutter-y) * 1) calc(var(--default-gutter-x) * 2) !important;
			font-size:var(--text-size);

			span {

				display:inline-block;

				.gform-icon {

					margin-right:5px;

				}

			}

		}

		&:is(.validation_message) {

			margin-top:3px !important;
			margin-bottom:0 !important;
			padding:10px var(--default-gutter-x) !important;
			font-size:var(--text-size-sm) !important;

		}

	}	

}

.gform_confirmation_wrapper {

	.gform_confirmation_message {

		padding:calc(var(--default-gutter-y) * 2) calc(var(--default-gutter-x) * 2);
		background-color:var(--color-primary);
		border-radius:3px;
		font-size:var(--text-size);
		color:var(--color-white);
		line-height:150%;

	}

}




@media (max-width: 991px) {

	.circled {

		max-width:min(500px,100%);

	}

}

@media (min-width: 439px) {

	.header-wrapper {

		& > .header {

			.header-right {

				.button {

					span {

						display:inline;

					}

				}

			}

		}

	}

}

@media (min-width: 768px) {

	:root {
		--text-size-sm:14px;
		--text-size:16px;
		--text-size-md:18px;
		--text-size-lg:24px;
		--text-size-xl:30px;
		--text-size-xxl:48px;
	}

	.circles {

		>*:not(:first-of-type) {

			margin-top:0;

		}

	}

	.gform_wrapper {

		.gform_body {

			.gform_fields {

				.gfield {

					&.gfield--width-half {

						grid-column:span 6 !important;

					}

				}

			}

		}

	}

}

@media (min-width: 992px) {

	:root {

		--container-edge:max(calc(var(--default-gutter-x) * 2), calc((100% - var(--container-width)) / 2 + var(--default-gutter-x) * 2));

	}

	.row {

		&.col-gap-lg-4 {

			margin-left:calc((var(--default-gutter-x) * 2) / -1);
			margin-right:calc((var(--default-gutter-x) * 2) / -1);

			>* {

				padding-left:calc(var(--default-gutter-x) * 2);
				padding-right:calc(var(--default-gutter-x) * 2);

			}

		}

	}

	.boxen {

		figure.quote {

			&:before {

				top:calc((var(--default-gutter-y) * 2) / -1);

			}

		}

	}

	.content-section {

		padding-top:calc(var(--default-gutter-y) * 6);
		padding-bottom:calc(var(--default-gutter-y) * 6);

		.container-fluid {

			.row {

				&:not(.flex-row-reverse) {

					> [class*="col"] {
					
						&.contained {
					
							padding-left:var(--container-edge);

							[class*="padding-wrapper"] {

								padding-left:calc(var(--default-gutter-x) * 2);

							}

						}

					}

				}

				&.flex-row-reverse {

					> [class*="col"] {
				
						&.contained {
					
							padding-right:var(--container-edge);

							[class*="padding-wrapper"] {

								padding-right:calc(var(--default-gutter-x) * 2);

							}

						}

					}

				}

				[class*="col"] {

					[class*="padding-wrapper"] {

						padding-left:0;
						padding-right:0;

					}

				}

			}

		}

	}

	.padding-wrapper-y {

		&.xl {
			
			padding-top:calc(var(--default-gutter-y) * 6);
			padding-bottom:calc(var(--default-gutter-y) * 6);

		}

	}

	.shaped-image {
	
		&:after {

			top:50%;
			left:auto;
			right:-50px;
			transform:translateY(-50%);
			width:100px;
			height:125%;

		}

		&:not(.row.flex-row-reverse >[class^="col-"] .shaped-image) {

			&:after {

				left:-50px;
				right:auto;

			}

		}

	}

}



@media (min-width: 1300px) {

	.row {

		&.col-gap-xl-4 {

			margin-left:calc((var(--default-gutter-x) * 2) / -1);
			margin-right:calc((var(--default-gutter-x) * 2) / -1);

			>* {

				padding-left:calc(var(--default-gutter-x) * 2);
				padding-right:calc(var(--default-gutter-x) * 2);

			}

		}

		&.col-gap-8 {

			margin-left:calc((var(--default-gutter-x) * 4) / -1);
			margin-right:calc((var(--default-gutter-x) * 4) / -1);

			>* {

				padding-left:calc(var(--default-gutter-x) * 4);
				padding-right:calc(var(--default-gutter-x) * 4);

			}

		}

	}

	.content-section {

		.container-fluid {

			.row {

				&:not(.flex-row-reverse) {

					> [class*="col"] {
					
						&.contained {
					
							padding-left:var(--container-edge);

							[class*="padding-wrapper"] {

								padding-left:0;

							}

						}

					}

				}

				&.flex-row-reverse {

					> [class*="col"] {
				
						&.contained {
					
							padding-right:var(--container-edge);

							[class*="padding-wrapper"] {

								padding-right:0;

							}

						}

					}

				}

			}

		}

	}

	.swiper-container {

		.swiper {

			align-items:stretch;
			overflow:hidden;
			
		}

	}

}