	@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');		:root
		{
									--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: #111;
												--colour-secondary-text: #111C;
												--colour-disclaimer-text: #1118;
												--colour-sale: #E02020;
												--colour-text-over-sale: #FFFFFF;
												--colour-stroke: #E0E0E0;
												--colour-subtle: #FAFAFA;
												--colour-mark: #d8ffb2AA;
												--colour-base: #FFF;
												--colour-heart: #AAA;
												--colour-duein: #FA6401;
												--colour-highlight: #f7e744;
												--colour-icons: #1118;
												--colour-important-text: #111;
												--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: 8px;
												--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: 1.125rem;
												--font-size-disclaimer: 0.75rem;
												--font-size-shows-info: 1.05rem;
													--font-size-banner-header: 24px;
														--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;
									}
					@media (min-width: 400px)
			{
				:root
				{
					--margin-section-gap: 56px;--margin-section-very-top: 40px;				}
			}
						@media (min-width: 520px)
			{
				:root
				{
					--font-size-banner-header: 32px;				}
			}
						@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: 800px)
			{
				:root
				{
					--margin-section-gap: 80px;--margin-section-very-top: 64px;--margin-details-gap: 2rem;				}
			}
						@media (min-width: 960px)
			{
				:root
				{
					--font-size-banner-header: 40px;				}
			}
						@media (min-width: 1024px)
			{
				:root
				{
					--font-size-title: 2rem;--padding-main-horizontal: 2rem;--margin-section-gap: 100px;--margin-section-very-top: 80px;				}
			}
						@media (min-width: 1280px)
			{
				:root
				{
					--padding-main-horizontal: calc(( 100% - 1280px) / 2 );--width-main: 1280px;				}
			}
							@media print
				{
					:root
					{
						--padding-main-vertical: .1cm;--padding-main-horizontal: 1cm;--margin-details-gap: .1cm;					}
				}
						@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 *,
		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) auto minmax(auto, 32rem) 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: #444;
		}
		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
		{
			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
		{
			margin: var(--padding-main);
			padding: 0px;
			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;
			margin-top: var(--margin-section-gap);
		}
		.panel:has(p)
		{
			grid-template-areas:
			"title"
			"description"
			"boxes"
			"link";			
		}
		
		.panel > h1
		{
			grid-area: title;
			line-height: normal;
		}
		.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;
			}
		}
		