
/*	
	font-family: "Outfit", sans-serif;
	font-family: hypatia-sans-pro, sans-serif;
*/

:root {
	font-size: 16px;
	--colAlpha: rgba(0,0,0,0.08);
	--colBlack: #161616;
	--colDark: #4a4a4a;
	--colMid: #999;
	--colLight: #ddd;
	--colPale: #eee;
	--colVPale: #f5f5f5;
	--colWhite: #fff;
	--colFeature: #dfa16d;
	--colFeatureDark: #ab6226;
	--colFeaturePale: rgba(223,161,109,0.1);
	--colFeaturePaleSolid: #fcf5f0;
	--colFeatureLight: rgba(223,161,109,0.2);
	--colFeatureLightSolid: #f9ece2;
	--colFeatureLightish: rgba(223,161,109,0.3);
	--borderRad: 0.5rem;
}

/* #Reset 
================================================== */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,  q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
select::-ms-expand {
    display: none;
}


/* #Basic Styles
================================================== */

body {
	font-family: "Raleway", Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: var(--colDark);
	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
	-webkit-text-size-adjust: 100%;
	overflow-y: scroll;
	background: var(--colWhite);
}

body.noScroll {
	overflow: hidden;
}


/* #Typography
================================================== */
	
h1, h2, h3, h4, h5, h6 {
	font-family: hypatia-sans-pro, sans-serif;
	color: var(--colDark);
	font-weight: 300;
	margin-bottom: 1.5rem;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	font-weight: inherit;
	text-decoration: none;
}
h1 {
	/* 40 - 32 */
	font-size: clamp(2rem, 0.974vw + 1.72rem, 2.5rem);
	line-height: clamp(2.5rem, 0.974vw + 2.22rem, 3rem);
	letter-spacing: 0.075rem;
	text-transform: uppercase;
}
.options h1,
h2 {
	/* 32 - 28 */
	font-size: clamp(1.75rem, 0.499vw + 1.6rem, 2rem);
	line-height: clamp(2.363rem, 0.275vw + 2.28rem, 2.5rem);
	letter-spacing: 0.05rem;
	text-transform: uppercase;
}
.options h2,
.searchRow h2,
h3 {
	/* 28 - 25 */
	font-size: clamp(1.563rem, 0.375vw + 1.45rem, 1.75rem);
	font-weight: 500;
	line-height: clamp(2.063rem, 0.372vw + 1.951rem, 2.249rem);
	margin-bottom: 5px;
	color: var(--colFeature);
	letter-spacing: 0.025rem;
	text-transform: revert
}
.options h3,
h4 {
	/* 24 - 21 */
	font-size: clamp(1.313rem, 0.375vw + 1.2rem, 1.5rem);
	font-weight: 500;
	line-height: clamp(1.811rem, 0.376vw + 1.699rem, 1.999rem);
	margin-bottom: 10px;
}
h5 {
	/* 20 - 18 */
	font-size: clamp(1.125rem, 0.25vw + 1.05rem, 1.25rem);
	font-weight: 500;
	line-height: clamp(1.624rem, 0.251vw + 1.549rem, 1.75rem);
	text-transform: uppercase;
}
h6 {
	font-size: clamp(1rem, 0.25vw + 0.925rem, 1.125rem);
	font-weight: 500;
	line-height: clamp(1.6rem, 0.4vw + 1.48rem, 1.8rem);
}

p {
	font-size: clamp(1rem, 0.25vw + 0.925rem, 1.125rem);
	line-height: clamp(1.6rem, 0.4vw + 1.48rem, 1.8rem);
	margin: 0 0 1.5rem 0;
}

p.question::before {
	content: "";
	width: 24px;
	height: 24px;
	display: inline-block;
	background: url('../images/icons/question.svg') center no-repeat;
	background-size: 24px;
	margin-right: 10px;
	vertical-align: middle;
}
	.folioItem a p.icon::after,
	.feature a .txt .box p.icon::after,
	p.icon.left a::before,
	p.icon a::after {
		content: '';
		display: inline-block;
		vertical-align: middle;
		width: 7px;
		height: 12px;
		margin-top: 7px;
		margin-left: 10px;
		margin-bottom: 10px;
		-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
		-o-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
	}
	.folioItem a p.icon {
		font-weight: 500;
		margin-bottom: 1.5rem;
	}
	p.icon a {
		text-decoration: none !important;
	}
	
	p.icon.left a::after {
		display: none;
	}
	.folioItem a p.icon::after,
	.feature a .txt .box p.icon::after,
	p.icon a::after,
	p.icon.left a::before {
		background: url('/images/icons/arrow-right.svg') no-repeat right center;
		background-size: 7px 12px;
	}
	p.icon.left a::before {
		margin-right: 15px;
		margin-left: 0;
		transform: rotate(180deg)
	}
	p.icon a:hover::after {
		filter: brightness(0);
		margin-left: 15px;
	}
	p.icon.left a:hover::before {
		margin-right: 20px;
	}

	p.lead {
		font-size: clamp(1.125rem, 0.25vw + 1.05rem, 1.25rem);
		line-height: clamp(1.624rem, 0.251vw + 1.549rem, 1.75rem);
	}
	p.error,
	p.success {
		background: var(--colFeatureDark);
		color: #fff;
		padding: 0.6875rem 1rem 0.6875rem;
		box-sizing: border-box;
		margin-right: 0;
		border-radius: var(--borderRad);
		line-height: 1.25;
	}
		p.error::before,
		p.success::before {
			content: "";
			display: block;
			float: left;
			background: url('../images/icons/tick.svg') 0 50% no-repeat;
			background-size: 24px 24px;
			width: 24px;
			height: 24px;
			margin-right: 10px;
		}

	p.error {
		background: #e91e63;
	}

	p.error::before {
		background: url('../images/icons/cross.svg') 0 50% no-repeat;
		background-size: 24px 24px;
	}

em {
	font-style: italic;
}
strong {
	font-weight: 700
}
small {
	font-size: 85%;
	line-height: 0.85;
}

/*	Blockquotes  */
blockquote, blockquote p {
	font-family: hypatia-sans-pro, sans-serif;
	font-style: italic;
	font-size: clamp(1.563rem, 0.375vw + 1.45rem, 1.75rem) !important;
	line-height: clamp(2.063rem, 0.372vw + 1.951rem, 2.249rem) !important;
	font-weight: 300;
	margin-bottom: 0;
	color: var(--colDark);
	letter-spacing: 0.03rem;
}
blockquote,blockquote p {
	margin: 0 0 1.5rem;
}
blockquote footer {
	font-size: 0.875rem !important;
	font-weight: 600;
	font-style: normal;
	text-transform: uppercase;
	line-height: 1.5;
	color: var(--colDark);
	margin-bottom: 1rem;
}

hr {
	display: block;
	border: solid var(--colLight);
	border-width: 0 0 1px;
	clear: both;
	padding-top: 40px;
	margin: 0 10px 60px;
	height: 0;
}

.column hr, .columns hr {
	margin: 0 0 60px;
}

	hr.narrow {
    	padding-top: 12px;
		margin: 0 10px 32px;
	}
	.column hr.narrow , .columns hr.narrow  {
		margin: 0 0 32px;
	}




/* #Links
================================================== */

a, a:active, a:focus {
	color: var(--colDark);
	text-decoration: none;
	outline: 0;
	font-weight: 400;
	transition: background 0.2s ease-out, color 0.2s ease-out, border 0.2s ease-out;
	cursor: pointer;
}
a:hover {
	color: var(--colBlack);
	text-decoration: none;
}
h4 a, p a, li a {
	color: var(--colFeatureDark);
	line-height: inherit;
	text-decoration: underline;
}
a[href^=tel]{
  color:inherit;
  text-decoration:none;
}


/* #Lists
================================================== */

ul, ol {
	margin-bottom: 1.5rem;
	margin-left: 2.5rem;
}
ul {
	list-style: square outside;
}
ol {
	list-style: decimal inside;
	margin-left: 0 !important;
}
ul.circle {
	list-style: circle outside;
}
ul.disc {
	list-style: disc outside;
}

ul ul, ul ol,  ol ol, ol ul {
	margin: 4px 0 5px 18px;
}
ul ul li, ul ol li,  ol ol li, ol ul li {
	margin-bottom: 6px;
}
li {
	font-size: clamp(1rem, 0.25vw + 0.925rem, 1.125rem);
	font-weight: 400;
	line-height: clamp(1.6rem, 0.4vw + 1.48rem, 1.8rem);
	margin-bottom: 3px;
}
dl {
	margin-bottom: 1.5rem;
}
dt {
	font-size: clamp(1rem, 0.25vw + 0.925rem, 1.125rem);
	font-weight: 600;
	line-height: clamp(1.6rem, 0.4vw + 1.48rem, 1.8rem);
	margin-bottom: 3px;
}
dd {
	font-size: clamp(1rem, 0.25vw + 0.925rem, 1.125rem);
	font-weight: 300;
	line-height: clamp(1.6rem, 0.4vw + 1.48rem, 1.8rem);
	margin-bottom: 1.5rem;
}

/* pagination */

ul.pagination {
	margin: 3rem 0 2rem;
	list-style: none;
	text-align: center;
}

	ul.pagination li {
		font-family: hypatia-sans-pro, sans-serif;
		display: inline;
		margin-right: 0.5rem;
		list-style: none;
		border-radius: 2px;
	}

ul.pagination li.disabled {
	display: inline-block;
	padding: 0 1rem;
}

ul.pagination li a.selected {
	background: var(--colFeatureDark);
	color: var(--colWhite);
}

	ul.pagination li a, ul.pagination li span.off {
		display: inline-block;
		background: var(--colFeatureLight);
		color: var(--colFeatureDark);
		font-size: 18px;
		padding: 0.5rem 1.125rem;
		margin-bottom: 1.5rem;
		border-radius: 2px;
		text-decoration: none;
	}

ul.pagination li span.off {
	background: #bbb;
}

ul.pagination li a:hover {
	background: var(--colFeature);
	color: var(--colBlack);
}


/* linklist */

ul.linklist, ul.linklist li, ul.doclist, ul.doclist li, ul.ticklist, ul.ticklist li {
	margin: 0 0 15px;
	padding: 0;
	list-style: none;
}

ul.linklist, ul.doclist, ul.ticklist {
	margin: 0 0 25px;
}

ul.linklist li, ul.ticklist li {
	margin-bottom: 5px;
	padding: 5px 0;
}
ul.ticklist li {
	color: var(--colFeatureDark)
}
	ul.ticklist li::before,
	ul.linklist li::before {
		content: "";
		display: block;
		width: 24px;
		height: 24px;
		float: left;
		margin-right: 10px;
		background-size: 24px 24px !important;
	}
	ul.linklist li.email::before {
		background: url('../images/icons/email.svg') no-repeat 0 2px;
	}
	ul.ticklist li::before {
		background: url('../images/icons/tick.svg') no-repeat 0 2px;
		filter: brightness(0) invert(37%) sepia(69%) saturate(547%) hue-rotate(345deg) brightness(99%) contrast(87%);
		margin-bottom: 10px;
	}

/* tab navigation */

.tabHolder {
	margin-top: 40px;
}
.tabInfo {
	margin-bottom: 40px;
}
ul.tabNavigation {
  list-style: none;
  margin: 0;
  padding: 0;
  /*border-bottom: 1px solid #ddd;*/
}

ul.tabNavigation li {
  float: left;
  margin: 0 5px -1px 0;
  padding: 0;
	list-style: none;
}

ul.tabNavigation li a {
	display: block;
	padding: 10px 14px 9px;
	background-color: #ddd;
	color: #656565;
	/*border: 1px solid #ddd;*/
	text-decoration: none;
	text-transform: uppercase;
	font-size: 15px;
}

ul.tabNavigation li a:hover {
  background-color: var(--colBlack);
  /*border: 1px solid var(--colBlack);*/
  /*border-bottom: 1px solid #efeeed;*/
  color: var(--colWhite);
}

ul.tabNavigation li a.selected {
  background-color: var(--colWhite);
  /*border: 1px solid var(--colLight);*/
  /*border-bottom: 1px solid var(--colWhite);*/
  color: var(--colDark);
}

ul.tabNavigation li a:focus {
  outline: 0;
}

.docGroup div {
	/*border: 1px solid #ddd;
	border-top: none;*/
	padding: 22px 25px 1px;
	background: var(--colWhite);
}

/* doclist */
	
ul.doclist li a {
	display: inline-block;
	line-height: 32px;
}

ul.doclist li a::before {
	content: "";
	display: block;
	width: 24px;
	height: 32px;
	float: left;
	margin-right: 15px;
	transition: all 0.15s ease-out;
}
	ul.doclist li.ies a::before {
		background: url('../images/sprite.png') no-repeat -230px -286px;
		background-size: 500px 500px !important;
	}
	ul.doclist li.ldt a::before {
		background: url('../images/sprite.png') no-repeat -270px -286px;
		background-size: 500px 500px !important;
	}
	ul.doclist li.pdf a::before {
		background: url('../images/sprite.png') no-repeat -190px -286px;
		background-size: 500px 500px !important;
	}
	
ul.doclist li a:hover {
	color: var(--colBlack);
}

/* sitemap */


ul.sitemap, ul.sitemap ul {
	margin: 0px 0px 0px 30px;
	list-style: none;
	padding: 0;
}
ul.sitemap li {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 30px;
}
	ul.sitemap li:before {
		position: absolute;
		left: -25px;
		top: 0px;
		content: '';
		display: block;
		border-left: 1px solid var(--colLight);
		height: 15px;
		border-bottom: 1px solid var(--colLight);
		width: 20px;
	}
	ul.sitemap li:after {
		position: absolute;
		left: -25px;
		bottom: -7px;
		content: '';
		display: block;
		border-left: 1px solid var(--colLight);
		height: 100%;
	}
ul.sitemap li.root {
	margin: 0px 0px 0px -30px;
}
	ul.sitemap li.root:before {
		display: none;
	}
	ul.sitemap li.root:after {
		display: none;
	}
	ul.sitemap li:last-child:after {
		display: none;
	}
	
/* blog tags */
	
ul.tags {
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

ul.tags li {
	margin: 0;
	padding: 0;
}

ul.tags li a {
	display: block;
	float: left;
	font-size: 1rem;
	margin: 0 0.5rem 0.5rem 0;
	padding: 0.375rem 0.75rem 0.3125rem;
	background: var(--colFeatureDark);
	text-align: center;
	color: var(--colWhite);
	text-decoration: none;
	border-radius: var(--borderRad);
}
	ul.tags li a:hover {
		background: var(--colBlack);
	}
	
/* checkout progress */

/* progress bar */

#progressbar {
	margin: 0 0 20px;
	overflow: hidden;
	/*CSS counters to number the steps*/
	counter-reset: step;
}
#progressbar li {
	list-style-type: none;
	font-size: 13px;
    line-height: 20px;
	width: 25%;
	float: left;
	position: relative;
    text-align: center;
}
#progressbar li:before {
    position: relative;
	content: counter(step);
	counter-increment: step;
	width: 33px;
	height: 13px;
	display: block;
	font-size: 16px;
    font-weight: 700;
	color: var(--colDark);
	background: var(--colLight);
	border-radius: 50%;
	margin: 0 auto 5px auto;
	padding: 8px 0 12px;
    text-align: center;
    z-index: 5;
}
/*progressbar connectors*/
#progressbar li:after {
	content: '';
	width: 100%;
	height: 3px;
	background: #ddd;
	position: absolute;
	left: -50%;
	top: 16px;
	z-index: 1;
}
#progressbar li:first-child:after {
	/*connector not needed before the first step*/
	content: none; 
}
/*marking active/completed steps green*/
/*The number of the step and the connector before it = green*/
#progressbar li.active:before,  #progressbar li.active:after{
	background: var(--colBlack);
	color: var(--colWhite);
}
/* active failed */
#progressbar li.active.failed:before,  #progressbar li.active.failed:after{
	background: #c00;
	color: var(--colWhite);
}


/* accordion
-------------------------- */

.accordion {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

	.accordion * {
		text-align: left;
		font-size: 1rem;
	}

	.accordion h2,
	.accordion h3 {
		font-size: 1.125rem;
		margin-bottom: 0
	}

		.accordion h2 button,
		.accordion h3 button {
			font-family: "Raleway", Arial, Helvetica, sans-serif;
			font-size: 1.125rem;
			font-weight: 600;
			line-height: normal;
			position: relative;
			background: transparent;
			width: 100%;
			color: var(--colFeatureDark);
			border: none;
			padding: 1rem 2rem;
			box-sizing: border-box;
			cursor: pointer;
			border-top: 1px solid rgba(0,0,0,0.15);
			margin-bottom: 0;
			transition: color 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		}

			.accordion h2 button:hover,
			.accordion h3 button:hover {
				color: var(--colBlack);
			}

			.accordion h2 button:before,
			.accordion h3 button:before {
				content: '';
				display: inline-block;
				position: absolute;
				left: 0;
				top: 22px;
				width: 24px;
				height: 11px;
				background: url("../images/icons/arrow-down.svg") center no-repeat;
				background-size: 24px 11px;
				transition: transform 0.5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
			}

			.accordion h2 button:hover:before,
			.accordion h3 button:hover:before {
				transform: rotate(-90deg)
			}

			.accordion h2 button[aria-expanded="true"]:before,
			.accordion h3 button[aria-expanded="true"]:before {
				transform: rotate(-180deg)
			}

			.accordion h2 button[aria-expanded="true"]:hover,
			.accordion h3 button[aria-expanded="true"]:hover {
				background: var(--colFeaturePale)
			}

	.accordion .accordion-panel {
		padding-left: 2rem;
		padding-bottom: 1.125rem;
		padding-top: 0.875rem;
	}

	.accordion label {
		padding-top: 0;
		margin-bottom: 0.25rem;
	}

	.accordion .twoCol {
		margin-bottom: 1.25rem;
	}


/* #Images
================================================== */

figure {
	padding-top: 10px;
	margin-bottom: 2rem;
}
	figcaption {
		padding: 1.5rem;
		background: var(--colPale);
	}
		figcaption p {
			margin-bottom: 0;
		}
figure.drawing {
	padding: 0 5vw;
	margin-bottom: 1rem;
}

img.scale {
	max-width: 100%;
	height: auto;
	display:block;
}

img.insetL {
	float: left;
	margin: 0 30px 20px 0;
}

img.insetR {
	float: right;
	margin: 0 0 20px 30px;
}

img.insetL.small, img.insetR.small {
	max-width: 50%
}

img.searchImg {
	width: 70px;
	height: auto;
	margin: 0 20px 20px 0;
	float: left;
}

img.centerImg {
	margin: 0 auto 20px;
}

/* #Buttons
================================================== */

.button, input[type="submit"], input[type="button"], .ms-options-wrap button {
	font-family: "Raleway", Arial, Helvetica, sans-serif;
	font-size: clamp(1rem, 0.25vw + 0.875rem, 1.125rem);
	font-weight: 600;
	line-height: 1;
	background: var(--colFeatureDark);
	color: var(--colWhite);
	display: inline-block;
	text-decoration: none;
	cursor: pointer;
	margin: 0;
	margin-bottom: 20px;
	padding: 0.75rem 1.5rem;
	border: 2px solid transparent;
	border-radius: 2rem;
	transition: background 0.2s ease-out, color 0.2s ease-out, border 0.2s ease-out;
	-webkit-appearance: none;
	box-sizing: border-box;
}
.infogrid .remove {
	background-color: var(--colFeatureDark);
	padding: 0.5rem;
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(50%,-50%)
}
	.infogrid .remove img{
		width: 16px;
		height: 16px;
	}
.button.outline, input[type="submit"].outline, input[type="button"].outline {
	background: none;
	border: 2px solid var(--colFeature);
	color: var(--colDark);
}
.button.full-width, input[type="submit"].full-width, input[type="button"].full-width {
	width: 100%;
	padding-left: 0 !important;
	padding-right: 0 !important;
	text-align: center;
}
input[type="button"]:disabled,
input[type="submit"]:disabled {
	background: var(--colMid);
	cursor: default;
}

.button:hover, input[type="submit"]:hover, input[type="button"]:hover {
	color: var(--colWhite) !important;
	background-color: var(--colBlack);
	border: 2px solid var(--colBlack);
}

/* Fix for odd Mozilla border & padding issues */
input::-moz-focus-inner {
 border: 0;
 padding: 0;
}

.umbraco-forms-navigation input[type=submit],
.matchLabel {
	margin-left: 32%;
}


/* #Forms
================================================== */

form {
	margin-bottom: 1.5rem;
}
.options form {
    margin-bottom: 0;
}

fieldset {
	margin-bottom: 20px;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
textarea,
select {
	font-family: "Raleway", Arial, Helvetica, sans-serif;
	font-size: clamp(1rem, 0.25vw + 0.925rem, 1.125rem);
	border: 1px solid var(--colLight);
	border-radius: var(--borderRad);
	padding: 0.8125rem 0.875rem;
	outline: none;
	color: var(--colDark);
	margin: 0;
	width: 68%;
	max-width: 100%;
	display: block;
	margin-bottom: 10px;
	background: var(--colWhite);
	-webkit-appearance: none;
	float: left;
	box-sizing: border-box;
}
input:-webkit-autofill::first-line {
	font-family: "Raleway", Arial, Helvetica, sans-serif;
}
::-webkit-input-placeholder, ::-moz-placeholder, :-ms-input-placeholder, input:-moz-placeholder {
	line-height: 40px;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
textarea:focus {
	border: 1px solid var(--colMid);
	color: var(--colDark);
}
textarea {
	min-height: 200px;
	line-height: 20px;
	padding: 11px 8px 10px;
}
legend {
	font-size: clamp(1.563rem, 0.375vw + 1.45rem, 1.75rem);
	font-weight: 500;
	line-height: clamp(2.063rem, 0.372vw + 1.951rem, 2.249rem);
	margin-bottom: 2rem
}
legend.umbraco-forms-legend,
label {
	clear: both;
	display: block;
	font-size: clamp(1rem, 0.25vw + 0.925rem, 1.125rem);
	font-weight: 500;
	padding-top: 8px;
	padding-right: 2%;
	float: left;
	width: 32%;
	margin-bottom: 6px;
	color: var(--colBlack);
	box-sizing: border-box;
	text-align: left;
}

input.full-width, textarea.full-width, select.full-width, label.full-width {
	width: 100% !important
}
input.auto-width, textarea.auto-width, select.auto-width, label.auto-width {
	width: auto !important
}
input.short, textarea.short, select.short, label.short {
	width: 215px;
}
input.mid, textarea.mid, select.mid, label.mid {
	width: 46%;
}
input.qty {
	width: 80px !important;
	display: block;
	margin: 0;
	text-align: center;
}

select {
	background: var(--colWhite) url('../images/icons/arrow-down.svg') calc(100% - 0.875rem) 50% no-repeat;
	background-size: 12px 8px;
	padding-right: 2.5rem
}
input[type="checkbox"],
input[type="radio"] {
	display: inline;
	vertical-align: middle;
	margin-right: 10px;
	position: relative;
	top: -1px;
}

input.input-validation-error,
select.input-validation-error,
textarea.input-validation-error {
	border: 1px solid #e91e63;
	background-color: #fff0f5 !important;
	color: #e91e63;
	margin: 0 0 20px 0 !important;
	-webkit-box-shadow: inset 0px 0px 1px 0px rgba(229, 0, 4, 1);
	-moz-box-shadow: inset 0px 0px 1px 0px rgba(229, 0, 4, 1);
	box-shadow: inset 0px 0px 1px 0px rgba(229, 0, 4, 1);
}
select.input-validation-error {
	background: #fff0f5 url('../images/icons/arrow-down-error.svg') calc(100% - 0.875rem) 50% no-repeat;
	background-size: 12px 8px;
}

/*#filterHolder {
	margin-bottom: 0;
}

#filterHolder div {
	margin-bottom: 20px;
}

#filterHolder label, #filterHolder input[type="checkbox"] {
	margin: 0 6px 0 0;
	padding: 0;
}
	#filterHolder label {
		font-size: 13px;
	}*/
	

/* #Tables
================================================== */

/* info grid */

table.infogrid {
	margin-bottom: 2rem;
}
table.infogrid input, table.infogrid .button {
	margin-bottom: 0;
}
.infogrid th, .infogrid td {
	padding: 0.375rem;
	font-size: 1rem;
	line-height: 2.5;
	position: relative;
}
.infogrid th {
	background: var(--colBlack);
	color: var(--colWhite);
	text-align: left;
}
	.infogrid th.right {
		text-align: right;
	}
	.infogrid th.center {
		text-align: center;
	}
	.infogrid th.quantity {
		width: 80px;
		text-align: center;
	}
.infogrid td {
	background: var(--colWhite);
	border-bottom: 1px solid var(--colPale);
}
	.infogrid td.empty {
		border: none !important;
		background: none !important;
	}
	.infogrid td.warning {
		border-top: 1px solid #c00 !important;
		border-bottom: 1px solid #c00 !important;
		background: none !important;
		padding-top: 15px;
		padding-bottom: 13px;
		text-align: center !important;
		color: #c00;
	}
    .infogrid td p {
        margin-bottom: 0;
    }
	.infogrid td.delivery {
		border-bottom: 2px solid var(--colPale);
	}
	.infogrid td.total {
		font-weight: 700;
		background: var(--colVPale) !important;
		border-bottom: 2px solid var(--colPale);
	}
	.infogrid td.subtotal {
		background: var(--colVpale) !important;
		border-bottom: 1px solid var(--colPale);
	}
	.infogrid td.discount {
		color: #000000;
		background: var(--colWhite) !important;
	}
.infogrid img {
	width: 40px;
	float: left;
}

/* price grid */

.table_scroller {
	overflow-x: auto;
	width: 100%;
}

table.priceGrid {
	margin-bottom: 2rem;
}
	table.priceGrid th, table.priceGrid td {
		padding: 0.5625rem 0.75rem;
	}
	table.priceGrid th {
		background: var(--colBlack);
		border-right: 1px solid rgba(255,255,255,0.3);
		color: var(--colWhite);
		text-align: left;
		font-weight: 700;
	}
		table.priceGrid th.right {
			text-align: right !important;
		}

		table.priceGrid th.center {
			text-align: center !important;
		}

	table.priceGrid td {
		position: relative;
		background: var(--colWhite);
		border-bottom: 1px solid var(--colLight);
		border-right: 1px solid var(--colLight);
		vertical-align: middle;
	}

		table.priceGrid td:first-child {
			border-left: 1px solid var(--colLight);
		}

		table.priceGrid td:last-child {
			border-right: 1px solid var(--colLight);
		}

		table.priceGrid td.empty {
			border: none !important;
			background: var(--colWhite) !important;
			padding-right: 1.25rem;
		}


/* #Misc
================================================== */

.scrollable {
	border: 1px solid var(--colLight);
	padding: 10px;
	width: 100%;
	max-height: 300px;
	overflow-y: auto;
	box-sizing: border-box;
	border-radius: var(--borderRad);
	font-size: 90%
}

.bgBlack {
	background: var(--colBlack);
}

.mb-0 {
	margin-bottom: 0 !important;
}
.mb-05 {
    margin-bottom: 0.5rem !important;
}
.mb-1 {
	margin-bottom: 1rem !important;
}
.mb-15 {
	margin-bottom: 1.5rem !important;
}
.mb-2 {
	margin-bottom: 2rem !important;
}
.mb-25 {
	margin-bottom: 2.5rem !important;
}
.mb-3 {
	margin-bottom: 3rem !important;
}

.mt-0 {
	margin-top: 0 !important;
}
.mt-05 {
	margin-top: 0.5rem !important;
}
.mt-1 {
	margin-top: 1rem !important;
}
.mt-15 {
	margin-top: 1.5rem !important;
}
.mt-2 {
	margin-top: 2rem !important;
}
.mt-25 {
	margin-top: 2.5rem !important;
}
.mt-3 {
	margin-top: 3rem !important;
}
.ml-1 {
	margin-left: 1rem !important;
}
.ml-2 {
	margin-left: 2rem !important;
}
.mr-1 {
	margin-right: 1rem !important;
}
.mr-2 {
	margin-right: 2rem !important;
}

.m-0 {
	margin: 0 !important;
}

.flo-l {
	float: left !important;
}
.flo-r {
	float: right !important;
}

.center {
	text-align: center;
}
div.left {
	text-align: left;
}
div.right, div.sortLabel {
    text-align: right;
}
.strike {
	text-decoration: line-through;
}

.mob-only, .mob-only-p, .mob-only-all, .tab-only, .hidden {
	display: none !important;
}
.sticky {
	position: sticky;
	top: calc(45px + 2rem);
}
.loader {
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: rgba(255,255,255, 0.5) url('/images/preload.gif') 50% 50% no-repeat;
}

.divider {
	margin: 0 10px;
	color: var(--colMid);
}

::selection {
	background: #ddd; /* Safari */
	color: var(--colBlack);
}
::-moz-selection {
	background: #ddd; /* Firefox */
	color: var(--colBlack);
}
.twoCol {
	column-count: 2;
	column-gap: 1.25rem;
}
.hilight {
	color: var(--colFeature) !important;
}
.lolight {
	color: var(--colFeature);
	font-size: 13px;
}
.date {
	font-size: 0.875rem;
	color: var(--colDark);
	text-transform: uppercase;
}
.disclaimer {
	font-size: 0.875rem;
	color: var(--colDark);
}

/*  Cookie law  */

#cookie-law {
    max-width: 100%;
    background: var(--colBlack); 
    margin: 0 auto;
	padding: 20px 0;
	position: relative;
	z-index: 100;
}
 
#cookie-law p { 
    padding: 0 30px 0 0; 
    font-size: 15px; 
    color: var(--colWhite); 
    margin: 0;
}

#cookie-law a { 
	color: var(--colWhite);
	text-decoration: underline; 
}

	#cookie-law a.close-cookie-banner {
		position: absolute;
		right: 0;
		top: calc(50% - 16px);
		transition: transform 0.2s ease-out;
		width: 32px;
		height: 32px;
	}
	#cookie-law a.close-cookie-banner:hover {
		transform: rotate(90deg)
	}

/* umbraco forms */

.umbraco-forms-hidden {
	display: none;
}

.row-fluid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

	.row-fluid div {
		width: 100%;
	}

		.row-fluid div.col-md-4 {
			width: calc(33.3333% - 0.33333rem);
		}

			.row-fluid div.col-md-4 select {
				width: 100%;
			}

.dataconsent {
	margin-top: 1rem;
	margin-bottom: 1.5rem
}

	.dataconsent .umbraco-forms-field-wrapper {
		display: flex;
		align-items: flex-start;
		column-gap: 0.5rem
	}

.field-validation-error {
	display: block;
	width: 100%;
	color: #900;
	margin-top: -0.25rem;
	margin-bottom: 1rem;
}

.umbraco-forms-submitmessage {
	display: block;
	padding: 0.5rem 1rem 0.75rem;
	background: var(--colMain);
	color: var(--colPale);
	border-radius: 0.5rem;
	font-size: 1.125rem
}

.umbraco-forms-field.multiplechoice div.checkboxlist,
.umbraco-forms-field.singlechoice div.radiobuttonlist {
	width: 68%;
	float: left;
}
	.umbraco-forms-field.multiplechoice div.checkboxlist div,
	.umbraco-forms-field.singlechoice div.radiobuttonlist div {
		width: 100%;
		clear: both;
	}
.umbraco-forms-field.multiplechoice div label,
.umbraco-forms-field.singlechoice div label {
	clear: none;
	padding-top: 0;
	color: var(--colFeatureDark);
	width: auto
}
.umbraco-forms-field.checkboxes.checkbox div input[type=checkbox],
.umbraco-forms-field.multiplechoice div input[type=checkbox],
.umbraco-forms-field.singlechoice div input[type=radio] {
	display: block;
	float: left;
	top: 5px
}
.umbraco-forms-field.checkboxes.checkbox div input[type=checkbox] {
	margin-top: 8px
}
.checkboxlist,
.radiobuttonlist {
	padding-top: 8px;
}



/* autocomplete */
.autocomplete-suggestions {
	text-align: left;
	cursor: default;
	border: 1px solid var(--colLight);
	border-top: 0;
	background: var(--colWhite);
	box-shadow: -1px 1px 3px rgba(0,0,0,0.1);
	/* core styles should not be changed */
	position: absolute;
	display: none;
	z-index: 9999;
	max-height: 281px;
	overflow: hidden;
	overflow-y: auto;
	box-sizing: border-box;
}

.autocomplete-suggestion {
    position: relative;
    padding: 2px 8px 1px 2px;
    font-size: 0.95em;
    font-weight: 600;
    line-height: 33px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--colDark);
    border-bottom: 1px solid var(--colPale);
}
    .autocomplete-suggestion:last-child {
        border-bottom: none;
    }
    .autocomplete-suggestion b {
        color: var(--colMid);
        font-weight: 400;
    }
    .autocomplete-suggestion img {
        width: 32px;
        float: left;
        margin-right: 10px;
    }
    .autocomplete-suggestion.selected {
        background: #f0f0f0;
    }

/* new autocomplete */
#suggestions {
	text-align: left;
	cursor: default;
	border: 1px solid var(--colLight);
	border-top: 0;
	background: var(--colWhite);
	box-shadow: -1px 1px 3px rgba(0,0,0,0.1);
	/* core styles should not be changed */
	position: absolute;
	/*display:none;*/
	z-index: 9999;
	max-height: 281px;
	overflow: hidden;
	overflow-y: auto;
	box-sizing: border-box;
}

.suggestion {
	position: relative;
	padding: 2px 8px 1px 2px;
	font-size: 0.95em;
	font-weight: 600;
	line-height: 33px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--colDark);
	border-bottom: 1px solid var(--colPale);
}

	.suggestion:last-child {
		border-bottom: none;
	}

	.suggestion b {
		color: var(--colMid);
		font-weight: 400;
	}

	.suggestion img {
		width: 32px;
		float: left;
		margin-right: 10px;
	}

	.suggestion.selected {
		background: #f0f0f0;
	}