			:root
		{
			color-scheme: light dark;
									--colour-somerset: #3B8E4F;
												--colour-devon: #D10022;
												--colour-main: #3B8E4F;
												--colour-main-unselected: #83BD4DB3;
												--colour-text-over-main: #FFFFFF;
												--colour-secondary: #83BD4D;
												--colour-text-over-secondary: #FFFFFF;
												--colour-main-text: light-dark(#111, #FFF);
												--colour-secondary-text: light-dark(#111C, #FFFC);
												--colour-disclaimer-text: light-dark(#1118, #FFF8);
												--colour-sale: #E02020;
												--colour-text-over-sale: #FFFFFF;
												--colour-stroke: #E0E0E0;
												--colour-subtle: light-dark(oklch(1.0000 0.0000 89.88), #444);
												--colour-mark: #d8ffb2AA;
												--colour-base: light-dark(#FFF, #222);
												--colour-heart: #AAA;
												--colour-duein: #FA6401;
												--colour-highlight: light-dark(#f7e744, #ff5722);
												--colour-icons: light-dark(#1118, #FFF8);
												--colour-important-text: light-dark(#111, #FFF);
												--color-gradient-secondary: linear-gradient(270deg, #3B8E4F, #4ca65f, #2d6e3c, #3B8E4F);
												--color-gradient-main: linear-gradient(270deg, #83BD4D, #a2d175, #6a9c3d);
												--color-gradient-sale: linear-gradient(270deg, #ce1b1b, #e02020, #ef4747, #e02020);
												--radius-nano: 0.25rem;
												--radius-tiny: 0.25rem;
												--radius-small: 0.25rem;
												--radius-button: 50px;
												--radius-bubble: 1rem;
												--radius-radio-button: 50%;
												--font-weight-extra-bold: 700;
												--font-weight-bold: 600;
												--font-weight-semi-bold: 500;
												--font-weight-normal: 400;
												--font-size-monster: 2rem;
													--font-size-title: 1.75rem;
													--font-size-cozy-title: 1.5rem;
												--font-size-important: 1.375rem;
												--font-size-subject: 1.375rem;
												--font-size-standard: 0.875rem;
												--font-size-minor: 0.75rem;
												--font-size-stock-title: 1.25rem;
													--font-size-menu: 18px;
													--font-size-disclaimer: 0.75rem;
												--font-size-shows-info: 1.05rem;
													--font-size-banner-header: 28px;
														--font-size-banner-text: 18px;
														--padding-main-vertical: 0.5rem;
														--padding-main-horizontal: 1rem;
													--padding-main: var(--padding-main-vertical) var(--padding-main-horizontal);
												--padding-table-small: 0.5rem;
												--padding-table-medium: 0.625rem;
												--padding-table-large: 0.75rem;
												--grid-gap-standard-horizontal: 16px;
												--grid-gap-standard-vertical: 16px;
												--grid-gap-standard: var(--grid-gap-standard-vertical) var(--grid-gap-standard-horizontal);
												--grid-gap-button-horizontal: 0.5rem;
												--grid-gap-button-vertical: 1rem;
												--grid-gap-button: var(--grid-gap-button-vertical) var(--grid-gap-button-horizontal);
												--grid-gap-wide-horizontal: 2rem;
												--grid-gap-wide-vertical: 2rem;
												--grid-gap-wide: var(--grid-gap-wide-vertical) var(--grid-gap-wide-horizontal);
												--grid-gap-extrawide-horizontal: 4rem;
												--grid-gap-extrawide-vertical: 4rem;
												--grid-gap-extrawide: var(--grid-gap-wide-vertical) var(--grid-gap-wide-horizontal);
													--width-main: calc(100svw - 32px);
														--margin-section-gap: 40px;
														--margin-section-very-top: 32px;
														--margin-details-gap: 1.5rem;
														--content-width: 100%;
														--content-padding-horizontal: 16px;
														--content-padding-vertical: 32px;
													--content-padding: var(--content-padding-vertical) var(--content-padding-horizontal);
								}
					@media (min-width: 400px)
			{
				:root
				{
					--margin-section-gap: 56px;--margin-section-very-top: 40px;				}
			}
						@media (min-width: 577px)
			{
				:root
				{
					--content-width: 100%;--content-padding-horizontal: 20px;--content-padding-vertical: 40px;				}
			}
						@media (min-width: 600px)
			{
				:root
				{
					--margin-section-gap: 72px;--margin-section-very-top: 56px;				}
			}
						@media (min-width: 736px)
			{
				:root
				{
					--font-size-banner-text: 24px;				}
			}
						@media (min-width: 769px)
			{
				:root
				{
					--font-size-banner-header: 32px;--content-width: clamp(769px, 100%, 1008px);--content-padding-horizontal: 24px;--content-padding-vertical: 48px;				}
			}
						@media (min-width: 800px)
			{
				:root
				{
					--margin-section-gap: 80px;--margin-section-very-top: 64px;--margin-details-gap: 2rem;				}
			}
						@media (min-width: 1024px)
			{
				:root
				{
					--font-size-title: 2rem;--font-size-menu: 16px;--padding-main-horizontal: 2rem;--margin-section-gap: 100px;--margin-section-very-top: 80px;				}
			}
						@media (min-width: 1025px)
			{
				:root
				{
					--content-width: clamp(1025px, 100%, 1344px);--content-padding-horizontal: 32px;--content-padding-vertical: 56px;				}
			}
						@media (min-width: 1082px)
			{
				:root
				{
					--font-size-menu: 17px;				}
			}
						@media (min-width: 1131px)
			{
				:root
				{
					--font-size-menu: 18px;				}
			}
						@media (min-width: 1280px)
			{
				:root
				{
					--padding-main-horizontal: calc(( 100% - 1280px) / 2 );--width-main: 1280px;				}
			}
						@media (min-width: cardpx)
			{
				:root
				{
					--service-cards: data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5.5' width='19' height='13' rx='2.5'%3E%3C/rect%3E%3Cpath d='M2.5 9.5h19'%3E%3C/path%3E%3Cpath d='M6.5 13.5h4'%3E%3C/path%3E%3C/svg%3E;				}
			}
						@media (min-width: chevron-rightpx)
			{
				:root
				{
					--service-cards: data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.7'%3E%3Cpath d='m7.5 5 5 5-5 5'/%3E%3C/svg%3E;				}
			}
						@media (min-width: crestpx)
			{
				:root
				{
					--service-cards: data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 12.5L10.0089 14.0089C10.3526 14.3526 10.5245 14.5245 10.7198 14.5822C10.8914 14.6328 11.0749 14.6245 11.2412 14.5585C11.4305 14.4834 11.5861 14.2967 11.8973 13.9232L16 9M16.3287 4.75855C17.0676 4.77963 17.8001 5.07212 18.364 5.636C18.9278 6.19989 19.2203 6.9324 19.2414 7.67121C19.2623 8.40232 19.2727 8.76787 19.2942 8.85296C19.3401 9.0351 19.2867 8.90625 19.383 9.06752C19.428 9.14286 19.6792 9.40876 20.1814 9.94045C20.6889 10.4778 21 11.2026 21 12C21 12.7974 20.6889 13.5222 20.1814 14.0595C19.6792 14.5912 19.428 14.8571 19.383 14.9325C19.2867 15.0937 19.3401 14.9649 19.2942 15.147C19.2727 15.2321 19.2623 15.5977 19.2414 16.3288C19.2203 17.0676 18.9278 17.8001 18.364 18.364C17.8001 18.9279 17.0676 19.2204 16.3287 19.2414C15.5976 19.2623 15.2321 19.2727 15.147 19.2942C14.9649 19.3401 15.0937 19.2868 14.9325 19.3831C14.8571 19.4281 14.5912 19.6792 14.0595 20.1814C13.5222 20.6889 12.7974 21 12 21C11.2026 21 10.4778 20.6889 9.94047 20.1814C9.40874 19.6792 9.14287 19.4281 9.06753 19.3831C8.90626 19.2868 9.0351 19.3401 8.85296 19.2942C8.76788 19.2727 8.40225 19.2623 7.67121 19.2414C6.93238 19.2204 6.19986 18.9279 5.63597 18.364C5.07207 17.8001 4.77959 17.0676 4.75852 16.3287C4.73766 15.5976 4.72724 15.2321 4.70578 15.147C4.65985 14.9649 4.71322 15.0937 4.61691 14.9324C4.57192 14.8571 4.32082 14.5912 3.81862 14.0595C3.31113 13.5222 3 12.7974 3 12C3 11.2026 3.31113 10.4778 3.81862 9.94048C4.32082 9.40876 4.57192 9.14289 4.61691 9.06755C4.71322 8.90628 4.65985 9.03512 4.70578 8.85299C4.72724 8.7679 4.73766 8.40235 4.75852 7.67126C4.77959 6.93243 5.07207 6.1999 5.63597 5.636C6.19986 5.07211 6.93238 4.77963 7.67121 4.75855C8.40232 4.73769 8.76788 4.72727 8.85296 4.70581C9.0351 4.65988 8.90626 4.71325 9.06753 4.61694C9.14287 4.57195 9.40876 4.32082 9.94047 3.81863C10.4778 3.31113 11.2026 3 12 3C12.7974 3 13.5222 3.31114 14.0595 3.81864C14.5913 4.32084 14.8571 4.57194 14.9325 4.61693C15.0937 4.71324 14.9649 4.65988 15.147 4.70581C15.2321 4.72726 15.5976 4.73769 16.3287 4.75855Z'%3E%3C/path%3E%3C/svg%3E;				}
			}
						@media (min-width: exchangepx)
			{
				:root
				{
					--service-cards: data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h14'%3E%3C/path%3E%3Cpath d='m13 4 4 4-4 4'%3E%3C/path%3E%3Cpath d='M21 16H7'%3E%3C/path%3E%3Cpath d='m11 12-4 4 4 4'%3E%3C/path%3E%3C/svg%3E;				}
			}
						@media (min-width: infopx)
			{
				:root
				{
					--service-cards: data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 11V16M12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21Z'%3E%3C/path%3E%3Cpath d='M12.05 8V8.1L11.95 8.1V8Z'%3E%3C/path%3E%3C/svg%3E;				}
			}
							@media print
				{
					:root
					{
						--padding-main-vertical: .1cm;--padding-main-horizontal: 1cm;--margin-details-gap: .1cm;					}
				}
							@media (min-width: shieldpx)
			{
				:root
				{
					--service-cards: data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4.5 6v5c0 5 3.2 8.4 7.5 10 4.3-1.6 7.5-5 7.5-10V6L12 3Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E;				}
			}
					@media print
		{
			input[type="submit"],
			input[type="button"],
			button[type="submit"],
			button, .button
			{
				display: none !important;
			}
		}
		*
		{
			box-sizing: border-box;			
			font-family: "Figtree", sans-serif;
			font-weight: var(--font-weight-normal);			
			position: relative;					
		}

		a
		{
			color: var(--colour-secondary-text);
			text-decoration: none;
		}

		strong,
		strong *
		{
			font-weight: var(--font-weight-bold);
		}
		a.selected
		{
			font-weight: var(--font-weight-semi-bold);
		}

		label,
		input[type="submit"],
		button[type="submit"],
		input[type="button"],
		button
		{
			cursor: pointer;
		}
		
		main
		{
			min-height: 62vh;
			display: grid;			
			grid-template-columns: var(--padding-main-horizontal) minmax(0, 1.5fr) minmax(340px, 1fr) var(--padding-main-horizontal);
			grid-auto-flow: column;			
		}
		
		main > *
		{
			grid-column: 1 / -1;			
		}		

		html, body, main, main > section
		{
			min-width: fit-content;
		}	
		main > section:last-of-type
		{
			margin-bottom: var(--margin-section-gap);			
		}
		@media screen
		{
			html, body, main, main > section
			{				
				background: var(--colour-subtle);			
			}
		}
		
		html, body, div, span, object, iframe,
		h1, h2, h3, h4, h5, h6, p, blockquote, pre,
		abbr, address, cite, code,
		del, dfn, em, img, ins, kbd, q, samp,
		small, strong, sub, sup, var,
		b, i,
		dl, dt, dd, ol, ul, li,
		fieldset, form, label, legend,
		table, caption, tbody, tfoot, thead, tr, th, td,
		article, aside, canvas, details, figcaption, figure,
		footer, header, hgroup, menu, nav, section, summary,
		time, mark, audio, video
		{
			margin:0;
			padding:0;
			border:0;
			outline:0;
			font-size: 1rem;
			vertical-align:baseline;
			background:transparent;
		}
		html
		{
			scrollbar-gutter: stable;
		}
		body {
			line-height:1;
			position: relative;
			display: grid;			
			background: var(--colour-base);
			color: var(--colour-main-text);
		}
		p
		{
			line-height: 2;
			font-size: 1.05em;
			color: var(--colour-main-text);
		}
		p ~ p
		{
			margin-top: 0.5rem;
		}
		article,aside,details,figcaption,figure,
		footer,header,hgroup,menu,nav,section {
			display:block;
		}
		nav ul {
			list-style:none;
		}
		blockquote, q {
			quotes:none;
		}
		blockquote:before, blockquote:after,
		q:before, q:after {
			content:'';
			content:none;
		}
		a {
			margin:0;
			padding:0;
			font-size:100%;
			vertical-align:baseline;
			background:transparent;
		}
		ins
		{
			background-color: var(--colour-mark);
			color: var(--colour-secondary-text);
			text-decoration:none;
		}
		mark
		{
			background-color: var(--colour-mark);
			color: var(--colour-secondary-text);
			font-style:italic;
			font-weight: var(--font-weight-bold);
		}
		del {
			text-decoration: line-through;
		}
		abbr[title], dfn[title] {
			border-bottom:1px dotted;
			cursor:help;
		}
		table {
			border-collapse:collapse;
			border-spacing:0;
		}
		hr {
			display:block;
			height:1px;
			border:0;
			border-top:1px solid var(--colour-stroke);
			margin:1em 0;
			padding:0;
		}
		input, select {
			vertical-align:middle;
		}

		em
		{
			font-style: normal;
			color: var(--colour-main);
		}

		select option[disabled]
		{
			display: none;
		}

		*::selection,
		select option:checked
		{
			background: var(--colour-mark);
		}

		ul
		{
			list-style: none;
			padding: 0.25rem;
			line-height: 1.5;
			
		}
		ul li
		{		
			background: url(/index/tick.svg) no-repeat left 0.625rem;
			padding: 0.5rem 0px 0px 2rem;			
		}
		ul li.negative
		{
			background: url(/index/cross.svg) no-repeat left 0.625rem;
		}
		
		ol
		{
			counter-reset: section;			
			list-style: none;						
			margin-top: 0.5rem;
			margin-left: -2rem;
		}
		
		ol ol
		{
			margin-left: 0rem;
		}
		
		ol > li 
		{
			counter-increment: section;
			padding-left: 3.5rem;
			text-indent: -3.5rem; 
			margin-bottom: 0.5rem;
			line-height: 1.5;
		}
		
		ol > li::before
		{
			content: counters(section, ".") ". ";
			font-weight: bold;
			display: inline-block;
			width: 3rem; 
			padding-right: 0.5rem;
			text-align: right;
		}		
		/*ol > li > ol 
		{			
			counter-reset: subsection;
			padding: 0.5rem 0px 0px 2rem;
			margin-left: 2rem;
		}
		ol > li > ol > li
		{
			counter-increment: subsection;
		}
		ol > li > ol > li::before 
		{
			content: counter(section) "." counter(subsection) " ";
			font-weight: bold;
			padding-right: 0.5rem;
			position: absolute;
			left: -2rem;
		}*/
		

		form input[type='submit'],
		form button[type='submit']
		{
			background: var(--colour-main);
			border: 0px;
			color: var(--colour-text-over-main);
			border-radius: var(--radius-button);
		}

		h1, h2
		{
			text-transform: capitalize;
			color: var(--colour-main-text);
			font-size: var(--font-size-title);
			font-weight: var(--font-weight-bold);			
		}
		
		.text-align-left
		{
			text-align: left;
		}
		
		.text-align-right
		{
			text-align: right;
		}	
			
		data
		{
			display: none;
		}
		
				.loaded
		{
			animation: fade-in 2s linear normal forwards;
		}
		.loading
		{
			position: relative;
		}
		.loading:before
		{
			content: '';
			position: fixed;
			width: 100vw;
			height: 100vh;
			background: #FFF4;
			backdrop-filter: blur(3px);
			top: 0px;
			left: 0px;
			z-index: 10;
			animation: fade-in 2s linear normal forwards;
		}
		.loading:after
		{
			content: '';
			position: fixed;
			display: block;
			border: 1rem solid #FFF4;
			border-top: 1rem solid var(--colour-main);
			opacity: 0.58;
			border-radius: 50%;
			width: 16vh;
			height: 16vh;
			animation: spin 3s linear infinite;
			margin: auto;
			top: calc(50% - 8vh);
			left: calc(50% - 8vh);
			z-index: 11;
		}
		@keyframes spin {
			50%{
				transform: rotate(360deg);
			}
			100% {
				transform: rotate(720deg);
			}
		}
				select
		{
			appearance: none;
			background-image: url(/index/down.svg);
			background-repeat: no-repeat;
			background-position: right 0.75rem top 50%;
			background-size: 1em auto;			
			position: relative;
			padding: 0.625rem 1.75rem 0.625rem 1rem;
			border-radius: var(--radius-small);
			border: 1px solid var(--colour-stroke);			
			transition-duration: 0s;
			background-color: var(--colour-base);
			height: 3rem;
			font-size: 1.0em;
		}
				.crumb
		{
			margin-top: var(--margin-section-gap);
			padding: 0px var(--padding-main-horizontal);
			line-height: 1.5;
		}
				button, .button
		{
			background: var(--colour-base);
			color: var(--colour-main-text);
			border-radius: var(--radius-button);
			border: 1px solid var(--colour-stroke);
			height: 3rem;
			white-space: nowrap;
			text-align: center;
			font-size: var(--font-size-standard);
			font-weight: var(--font-weight-semi-bold);
			padding: 0.5rem 1.5rem;
			min-width: 6.25rem;
			line-height: 2rem;
			box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
			cursor: pointer;	
			display: inline-flex;
			justify-content: center;
			font-size: 1em;
		}
		
		button:hover, .button:hover
		{
			background: var(--colour-main);
			color: var(--colour-text-over-main);
		}
								
		.button[href^="mailto:"], .button[href^="tel:"]
		{
			padding-left: 3.25rem;
		}

		.button[href^="mailto:"]:after, 
		.button[href^="tel:"]:after
		{
			content: "";
			position: absolute;
			background-color: var(--colour-icons);
			mask-size: 1rem 1rem;
			mask-repeat: no-repeat;
			display: inline-block;
			width: 1.5rem;
			height: 1.5rem;						
			mask-position: center center;
			left: 1.5rem;
			top: calc(50% - 0.75rem);				
		}
		
		.button[href^="mailto:"]:hover:after, 
		.button[href^="tel:"]:hover:after
		{
			background-color: var(--colour-text-over-main);
		}
								
		.button[href^="mailto:"]:after
		{
			mask-image: url('/index/envelope.svg');
		}
		
		.button[href^="tel:"]:after
		{
			mask-image: url('/index/phone.svg');
		}
		
				
		.panel
		{
			display: grid;
			grid-template-columns: auto;
			grid-template-rows: min-content 1fr auto;
			gap: 0px 0px;
			grid-template-areas:
				"title"				
				"boxes"
				"link";
			align-items: end;			
			align-items: center;					
			width: var(--content-width);
			padding: var(--content-padding);
			margin: auto;
			container-type: inline-size;
		}
		.panel:has(p)
		{
			grid-template-areas:
			"title"
			"description"
			"boxes"
			"link";			
		}
		
		.panel > h1, .panel > h2
		{
			grid-area: title;
			line-height: normal;
			margin-bottom: 16px;
		}
		.panel > a
		{
			grid-area: link;
			justify-self: center;
			white-space: nowrap;
			text-decoration: underline;
			text-underline-position: under;
			margin: 16px 0px;
		}
		.panel > p
		{
			grid-area: description;
		}

		.panel > nav
		{
			grid-area: boxes;
		}

		.standard-grid
		{
			display: grid;
			grid-auto-flow: row;
			align-items: start; 	
			grid-template-columns: repeat(auto-fit, minmax(min(100%, 308px), 308px));						
			grid-gap: var(--grid-gap-standard);
			padding: var(--grid-gap-standard-vertical) 0px;
			width: 100%;	
			justify-content: center;			
		}		
		
		.standard-grid > *		
		{
			width: 100%;
		}		
		.standard-grid > *:only-child 
		{
			max-width: 18.75rem;
		}
		
		@media (min-width: 800px)
		{
			.panel
			{
				grid-template-areas:
					"title"					
					"boxes"
					"link";
				justify-items: start;
				grid-template-columns: auto;
			}
			.panel:has(p)
			{
				grid-template-areas:
					"title"
					"description"
					"boxes"
					"link";				
			}
			
			.panel > div > nav
			{
				grid-gap: 3.75rem;
			}			
		}
		
		@media (min-width: 1024px)
		{		
			.panel > div > nav
			{
				grid-gap: 4.375rem;
			}						
		}

		@media (min-width: 1440px)
		{
			.panel > div > nav
			{
				grid-gap: 5rem;
			}
		}
				@media only screen and (pointer:fine)
		{

			::-webkit-scrollbar {
			  width: 1rem;
			}

			::-webkit-scrollbar-track {
			  border: 1px solid var(--colour-stroke);
			  border-radius: var(--radius-small);
			}
			 
			::-webkit-scrollbar-thumb {
			  background: var(--colour-main);
			  border-radius: var(--radius-small);
			  border: 2px solid transparent;
			  background-clip: content-box;
			}

			::-webkit-scrollbar-thumb:hover {
			  background: var(--colour-main);
			  border-radius: var(--radius-small);
			  border: 2px solid transparent;
			  background-clip: content-box;
			}
		}
		@media only print
		{
			::-webkit-scrollbar {
			  display: none;
			}
		}
		