/*
 Resets
*/

body {
	margin: 0;
}

blockquote,
pre,
ol,
ul,
form,
figure {
	padding: 0;
	margin: 0;
}

img {
	max-width: 100%;
	display: block;
	height: auto;
	border: none;
}

ol,
ul,
li {
	list-style: none;
}

article,
aside,
figure,
footer,
header,
aside,
main,
nav {
	display: block;
}

html {
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*,
*:before,
*:after{
	box-sizing: inherit;
}

:root {

	--layout-max-width: 1373px;
	--content-max-width: 1163px;
	--max-max-width: 1920px;

	--fontstack-headings-montserrat: Montserrat, Roboto, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	--fontstack-body-roboto: Roboto, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

	--fontstack-headings-pt-serif: "PT Serif", serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	--fontstack-body-open-sans: "Open Sans", sans-serif, serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

	--fontstack-headings-bebas-neue: "Bebas Neue", sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	/* bebas neue also pairs with roboto */

	--fontstack-headings-merriweather: "Merriweather", serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	--fontstack-body-raleway: "Raleway", sans-serif, serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';

	--fontstack-headings-poppins: "Poppins", sans-serif, serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	/* poppins also pairs with open sans */

	--fontstack-headings-playfair-display: "Playfair Display", serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
	/* playfair display also pairs with raleway */

	--fontstack-headings: var(--fontstack-headings-montserrat);
	--fontstack-body: var(--fontstack-body-roboto);

	--radius: 0;
	--radius-limited: min(var(--radius), 7px);

	--color-primary: #1b4979;
	--color-secondary: #008dc3;
	--color-tertiary: #ffffff;
	--color-background: #ffffff;
	--color-headerbackground: #ffffff;

}

/*
 Fonts
*/
body,
.main-nav ul ul {
	font-family: var(--fontstack-body);
}

h1,
h2,
h3,
h4,
.categories .wrap > ul > li > .category-hero h4,
.usps strong,
.tabs ul.navigation li,
.twitter,
.filters button,
.main-nav ul,
.main-nav .contact-info,
.gallery.category-items li a,
.slide__content,
.button,
.button-light {
	font-family: var(--fontstack-headings);
}

body {
	background: var(--color-background);
}

.cookies,
.button,
.cta,
.usps,
.categories,
.slide__content {
	color: #ffffff;
}

/* Copy */
body .c-copy,
body {
	color: rgba(0,0,0,0.75);
}
body.inverse .c-copy,
body.inverse,
header.inverse .c-copy,
header.inverse {
	color: rgba(255,255,255,0.75);
}

/* Dark */
.c-dark,
.main-nav > ul > li > a {
	color: rgba(0,0,0,0.75);
}
body.inverse .c-dark,
footer .lowerfooter.inverse,
header.inverse .main-nav > ul > li > a {
	color: rgba(255,255,255,0.75);
}

.usps {
	background: rgba(0,0,0,0.75);
}

/* Primary */
.c-primary,
h1,
h2,
h3,
h4,
.navicon + label {
	color: var(--color-primary);
}

.underline{
	text-decoration: underline;
	text-underline-position: under;
	text-underline-offset: 6px;
	text-decoration-color: var(--color-primary);
	text-decoration-thickness: 4px;
	color:inherit;
	padding-bottom:8px;
}

header.inverse .navicon + label {
	color: rgba(255,255,255,0.75);
}

.bg-primary{
	background-color: var(--color-primary);
	color: #ffffff !important;
}

/* Secondary */
.c-secondary,
.twitter a,
.review a,
.navicon:checked + label {
	color: var(--color-secondary);
}

header.inverse .navicon:checked + label {
	color: #ffffff;
}

.cta,
.minicta,
.cookies,
.button:hover,
.clickable:hover .button,
.bg-secondary {
	background: var(--color-secondary);
}

/* Tertiary */
.slide__content {
	background: var(--color-tertiary);
}


/* Dots */
.slider nav {
	color: var(--color-primary);
}


.pagination {
	display:flex;
	gap: 0.5em;
	justify-content:center;
	margin:40px 0;
}
.pagination a{
	display:flex;
	padding:0 12px;
	height:36px;
	border:1px solid #cccbca;
	background:#ffffff;
	text-decoration:none;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius);
}
.pagination a.next:hover,
.pagination a.previous:hover,
.pagination a.first:hover,
.pagination a.last:hover,
.pagination a.current{
	background:var(--color-primary);
	border:1px solid rgba(0,0,0,0.1);
	color:#ffffff;
}

/*
 Global
*/

hr {
	margin: 2rem 0;
	border: none;
	border-bottom: 1px solid #cccbca;
}

/*
 Typography
*/
body {
	line-height: 1.444;
	font-size: 16px;
}

h1 {
	font-weight: 700;
	font-size: 1.375em;
	margin: 0 0 1em;
}

h2 {
	font-weight: 700;
	font-size: 1.125em;
	margin: 0 0 1em;
}

h3 {
	font-weight: 400;
	font-size: 1em;
	margin: 0 0 1em;
}

h4 {
	font-weight: 400;
	font-size: 1em;
	margin: 0;
}

h1:not(:first-child),
h2:not(:first-child),
h3:not(:first-child){
	margin-top: 1.5em;
}

p {
	margin: 0 0 1em;
}

p.small {
	font-size: 14px;
}

p.message{
	background-color: #ffffff;
	border: 1px solid rgba(128,128,128,0.25);
	text-wrap:balance;
	}
	p.message.padded{
		padding: 16px;
		}
	p.message.small-padded{
		padding: 8px 16px;
		}
	p.text-center{
		text-align: center;
		}
	p.text-large{
		font-size: 1.5em;
		}
	p.message.warning{
		background-color: #ffffdd;
		color: rgba(66,66,66,1);
		}
	p.message.error{
		background-color: #ffdddd;
		color: rgba(66,66,66,1);
		}
	p.message.success{
		background-color: #ddffdd;
		color: rgba(66,66,66,1);
		}

a {
	color: inherit;
	text-decoration: none;
}

.center {
	text-align: center;
}

.clickable {
	cursor: pointer;
}

blockquote {
	font-size: 18px;
	line-height: 1.5;
	margin: 24px 0;
	padding: 0 30px;
	border-left: 5px solid rgba(0,0,0,0.5);
	font-style: italic;
}

blockquote p:last-of-type {
	margin-bottom: 0;
}

blockquote cite {
	font-style: normal;
	font-weight: 700;
	display: block;
	margin-top: 10px;
}

.content table{
	width:100%;
	table-layout:fixed;
	}
.content table td{
	padding:0.5em 0.5em 0.5em 0;
	}

.screen-reader-only {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
}


.exception {
	padding: 30px;
	font-family: monospace;
	margin-bottom: 30px;
	max-width: 1024px;
	margin-left:auto;
	margin-right:auto;
	}
	.exception ol.trace {
		font-size: 12px;
		}

/*
 Grid & Layout
*/
.clear:after {
	content: '';
	display: table;
	clear: both;
}

.wrap {
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
	max-width: var(--content-max-width);
	position: relative;
}
.wrap.content.terms {
	max-width: 800px;
}
.wrap .wrap{
	padding-left:0;
	padding-right:0;
}

.wrap.wrap--sidebar {
	display: flex;
	flex-direction: column;
	user-select: none;
}
.wrap > .sidebar .sidebar-content {
	}
.wrap > .sidebar h3,
.wrap > .sidebar h4{
	line-height: 28px;
}
.wrap > .sidebar h3 a.filter-clear,
.wrap > .sidebar h4 a.filter-clear{
	float: right;
	font-size: 16px;
	line-height: 28px;
}
.wrap > .sidebar h3{
	font-size: 1.125em;
	font-weight:700;
	margin-bottom: 12px;
}
.wrap > .sidebar h4{
	margin-bottom: 12px;
}
.wrap > .sidebar .collapsable{
	cursor:pointer;
}
.wrap > .sidebar .collapsable::before{
	content:"\f107";
	display: inline-block;
	width:1em;
	margin-right:1en;
	font-family:'Font Awesome 5 Pro';
	font-weight:700;
	font-style: normal;
	color:rgba(0,0,0,0.75);
}
.wrap > .sidebar .collapsable:hover::before{
	color:rgba(0,0,0,1);
}
.wrap > .sidebar .collapsable.collapsable--closed::before{
	content:"\f105";
}
.wrap > .sidebar .collapsable.collapsable--closed + *{
	display:none;
	}
.wrap > .sidebar form.search{
	margin-bottom: 24px;
}
.wrap > .sidebar form.search fieldset{
	display: flex;
}
.wrap > .sidebar form.search input,
.wrap > .sidebar form.search button{
	font-size: 16px;
	line-height: 20px;
	padding: 8px 16px;
	display: block;
	box-sizing: border-box;
	border: 1px solid #cccbca;
	border-radius: 0;
}
.wrap > .sidebar form input:focus,
.wrap > .sidebar form button:focus{
	outline:none;
}
.wrap > .sidebar form.search input{
	width:calc(100% - 3em);
	border-top-left-radius:var(--radius);
	border-bottom-left-radius:var(--radius);
	box-shadow:inset 1px 2px 2px rgba(0,0,0,0.05);
}
.wrap > .sidebar form.search button{
	width:3em;
	padding-left:0;
	padding-right:0;
	background:#cccbca;
	cursor:pointer;
	border-top-right-radius:var(--radius);
	border-bottom-right-radius:var(--radius);
}
.wrap > .sidebar form.search button:hover{
	background:#a6a6a6;
	border-color:#a6a6a6;
}

.wrap > .sidebar .sidebar-content > ul{
	margin-bottom: 24px;
}
.wrap > .sidebar  .sidebar-content > ul ul{
	margin-left: 22px;
	margin-bottom: 6px;
}
.wrap > .sidebar ul li{
	display:inline-block;
	min-width:200px;
	font-size:16px;
}
.wrap> .sidebar ul li a > i{
	color:#cccbca;
}
.wrap> .sidebar ul li.active a > i,
.wrap> .sidebar ul li a:hover > i{
	color:var(--color-secondary);
}
.wrap> .sidebar ul li a:hover{
	color:rgba(0,0,0,1);
}
.wrap> .sidebar ul li.inactive a{
	opacity: 0.5;
}
.wrap> .sidebar ul li.inactive a:hover{
	opacity: 1;
}

.wrap> .sidebar ul.activefilters:not(:has(li)){
	display:none;
}
.wrap> .sidebar ul.activefilters li{
	min-width: 0;
	display: inline-block;
	margin: 0 6px 6px 0;
}
.wrap> .sidebar ul.activefilters li a{
	display: inline-block;
	font-size: 12px;
	background: #cccbca;
	padding: 4px 8px;
	border-radius: var(--radius);
	border: 1px solid #cccbca;
	cursor: pointer;
}
.wrap> .sidebar ul.activefilters li a > i{
	color:inherit;
}

.wrap > .main ul.gallery{
	margin-bottom: 12px;
}

.priceslider{
	display:flex;
	flex-direction:row;
}
.priceslider > .slider{
	flex:1;
}
.priceslider p.minprice{
	padding-right:0.5em;
	width:3.5em;
	}
.priceslider p.maxprice{
	padding-left:0.5em;
	text-align:right;
	width:4em;
}

@media screen and (min-width: 600px) {

	.wrap.wrap--sidebar {
		flex-direction: row;
	}

	.wrap > .sidebar{
		width: 30%;
		min-width:200px;
		max-width:360px;
		margin-right: 12px;
	}

	.wrap > .main{
		width: 100%;
		margin-left: 12px;
		padding-left: 24px;
		border-left: 1px solid rgba(128,128,128,0.25);
	}
	.wrap > .main > h1:first-child{
		margin-top: 0;
	}

}

.wrap--thin {
	max-width: 600px;
}

.wrap--mid {
	max-width: 946px;
}

.wrap--medium {
	max-width: 1030px;
}

.wrap--wide {
	max-width: var(--layout-max-width);
}

.wrap.wrap--full {
	max-width: var(--max-max-width);
}

.two-col > *,
.three-col > * {
	margin-bottom: 18px;
}

@media screen and (min-width: 600px) {
	.three-col {
		display: flex;
		flex-wrap: wrap;
		width: calc(100% + 36px);
		margin: 0 -18px;
	}

	.three-col > * {
		margin: 0 18px 36px;
		width: calc(50% - 36px);
	}
}

@media screen and (min-width: 750px) {
	.two-col {
		display: flex;
		flex-wrap: wrap;
		width: calc(100% + 18px);
		margin: 0 -9px;
	}

	.two-col > * {
		margin: 0 9px 18px;
		width: calc(50% - 18px);
	}
}

@media screen and (min-width: 900px) {
	.three-col {
		display: flex;
		flex-wrap: wrap;
		width: calc(100% + 36px);
		margin: 0 -18px;
	}

	.three-col > * {
		margin: 0 18px 36px;
		width: calc(33.333% - 36px);
	}
}


.primary + .secondary,
.secondary + .primary {
	margin-top: 30px;
}

.secondary .widget{
	margin-bottom: 30px;
}

@media screen and (min-width: 750px) {
	.primary + .secondary,
	.secondary + .primary {
		margin-top: 0;
	}

	.primary {
		max-width: 650px;
		float: left;
		width: calc(65% - 30px);
	}

	.secondary {
		max-width: 387px;
		float: right;
		width: 35%;
	}

}


/*
Customisation
*/

body.website-182be0c5cdcd5072bb1864cdee4d3d6e .main-nav .ipg-logo svg * {
	fill: #000000;
}
body.website-182be0c5cdcd5072bb1864cdee4d3d6e .brands img {
	filter: grayscale(1);
}


/*
 Blocks
*/
.block {
	padding-top: 40px;
	padding-bottom: 40px;
}

.block--small,
.block--always-small {
	padding-top: 30px;
	padding-bottom: 30px;
}

.block--error h1{
	color: red !important;
}

.block--nopadding,
.block--slider {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.block--nopaddingtop{
	padding-top: 0 !important;
}

.block:nth-child(2n+1 of .block--alternategrey) {
	background-color: rgba(128,128,128,0.05);
}
.block:nth-child(2n+1 of .block--alternategrey):not(:first-child) {
	border-top: 1px solid rgba(128,128,128,0.125);
}
.block:nth-child(2n+1 of .block--alternategrey):not(:last-child) {
	border-bottom: 1px solid rgba(128,128,128,0.125);
}

.block--border-bottom {
	border-bottom: 1px solid rgba(128,128,128,0.25);
}

.block--white {
	background: #ffffff;
	color: #7E7D7A;
}

.gallery-wrap + .block.content,
.subpages-wrap + .block.content,
.downloads-wrap + .block.content{
	padding-top: 20px;
}

.page .wrap.gallery-wrap header{
	padding-top:20px;
	padding-bottom:40px;
	max-width:none;
	text-align:left;
}

.page .wrap.gallery-wrap .gallery + header{
	margin-top: 40px;
	}

main .block--slider{
	background: rgba(0,0,0,0.2);
}
.products-block,
.block--grey {
	background: rgba(192,192,192,0.2);
}
.block--slider + .block--grey {
	border-top: none;
	background: transparent;
}
.block--slider + .block--bodyimage {
	padding-top: 60px;
}

.block--intro {
	max-width: none;
	margin-bottom:24px;
	padding-left:50px;
	padding-right:50px;
}

.block--heading,
.block--imageheadingcta {
	position:relative;
	max-width: none;
	padding-left:50px;
	padding-right:50px;
}

.block--imageheadingcta {
	background-position: 50%;
	background-size: cover;
	background-repeat: no-repeat;
}

.block--imageheadingcta.with-image,
.block--heading.block-style--primary {
	background-color: var(--color-primary) !important;
	color: white !important;
}
.block--imageheadingcta.with-image h1,
.block--heading.block-style--primary h1 {
	color: white;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.block--imageheadingcta a{
	display:inline-block;
}

.block--imageheadingcta.lifestyle {
	text-shadow: 1px 1px 10px rgba(0,0,0,0.25);
	}
.block--imageheadingcta.lifestyle::before {
	content: "";
	position: absolute;
	backdrop-filter: blur(2px);
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

@media screen and (min-width: 600px) {

	.block--heading,
	.block.block--imageheadingcta {
		padding-top:75px;
		padding-bottom:75px;
		}

	.block--heading.larger,
	.block.block--imageheadingcta.larger {
		padding-top:100px;
		padding-bottom:100px;
		}

	.block--heading.larger h1,
	.block--imageheadingcta.larger h1{
		font-size: 3em;
		}

	}

.block--heading h1,
.block--imageheadingcta h1{
	line-height: 1.2;
	font-size: 2em;
	margin-bottom: 1rem;
	}

.block--imageheadingcta a.button{
	margin-top:1rem;
	}

.block--multicolumn .content  {
	display:flex;
	flex-direction:column;
	gap:25px;
	}
.block--multicolumn .content > *{
	flex:1;
	}

@media screen and (min-width: 600px) {

	.block--multicolumn .content {
		flex-direction:row;
		gap:50px;
		}

	}

.block--bodyimage .wrap{
	display:flex;
	flex-direction:column;
	gap:25px;
	text-wrap:balance;
	}
.block--bodyimage .wrap > figure{
	flex:2;
	}
.block--bodyimage .wrap > figure img{
	border-radius: var(--radius-limited);
	}
.block--bodyimage .wrap > div{
	flex:1;
	}
.block--bodyimage .wrap > div .button{
	margin-top:0.75rem;
	}


@media screen and (min-width: 600px) {

	.block--bodyimage .wrap{
		flex-direction:row;
		align-items: center;
		gap:50px;
		}

	.block--bodyimage:nth-of-type(even) .wrap > figure{
		order:1
		}

	}

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

.products-block{
	padding: 16px 24px;
	margin-bottom: 24px;
}
.products-block > *:last-child{
	margin-bottom: 0;
}

.block--missingpeople{
	background: #ed0189;
	color: white;
	border-top: none !important;
	border-bottom: none !important;
	margin-bottom: 50px;
}
.block--missingpeople h2{
	color: white !important;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 2em;
	margin-bottom: 2rem;
	line-height: 1.125em;
}
.block--missingpeople h2 span{
	color: black !important;
}
.block--missingpeople blockquote:before{
	content:"\f10d";
	display:block;
	margin-bottom:0.5em;
	font-family:'Font Awesome 5 Pro';
	font-weight:400;
	font-style: normal;
}
.block--missingpeople blockquote{
	margin-top: 1.5em;
	margin-bottom: 0;
	padding-left:50px;
	padding-right:50px;
	font-size: 1.75em;
	font-style: italic;
	font-weight:400;
	line-height: 1.125em;
	border-left:none;
}

.page .block--calculator .wrap header {
	margin-bottom:30px;
}

@media screen and (min-width: 600px) {

	.block--small {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.block--always-small {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}

/*
 Content
*/

.content ul,
.content ol {
	margin: 0 0 1.6em;
	line-height: 1.5;
}

.content ul li {
	list-style: disc;
	margin: 0 0 0.5rem 1.5em;
}
.content ul li > p:last-child {
	margin-bottom: 0;
}

.content ol li {
	list-style: decimal;
	margin: 0 0 0.5rem 1.5em;
}

.content ul ul,
.content ol ol {
	margin: 0.75rem 0 0.75rem;
}

.content img {
	margin-bottom: 30px;
}

.content > :last-child {
	margin-bottom: 0;
}

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6{
	margin-bottom: 20px;
}

.content h1{
	font-size:1.75em;
}
.content h2{
	font-size:1.5em;
}
.content h3{
	font-size:1.25em;
}


.branch-contactinfo{
	margin-bottom: 24px;
}
.branch-contactinfo h4{
	margin-bottom: 10px;
	}
	.branch-contactinfo h4 i{
		color: #7e7d7a;
		}
.branch-contactinfo address{
	font-style:normal;
	}
.branch-contactinfo p{
	margin-bottom: 5px;
	font-size: 14px;
	line-height: 1.5;
}
.branch-contactinfo p a:hover{
	color: #000000;
}
.branch-contactinfo p.branch-social{
	margin-top: 12px;
	font-size: 16px;
}

/*
 Tabs
*/

.tabs {
	position:relative;
}
.tabs ul.navigation {
	display: flex;
	flex-direction: column;
	gap:1em;
	box-sizing: border-box;
	margin-bottom:1em;
}
.tabs ul.navigation li {
	border: 1px solid transparent;
	position: relative;
	user-select: none;
}
.page.inverse .tabs ul.navigation li {
	color: rgba(0,0,0,0.75);
}
.tabs ul.navigation li a{
	cursor: pointer;
	line-height: 30px;
	font-weight:700;
	display: block;
}
.tabs ul.navigation li.active {
	text-decoration: underline;
	text-underline-position: under;
	text-underline-offset: 6px;
	text-decoration-color: var(--color-primary);
	text-decoration-thickness: 4px;
}
.tabs ul.panels {
	margin-top: -1px;
}
.tabs ul.panels > li {
	display:none;
	padding: 20px 0 0 0;
}
.tabs ul.panels > li.active {
	display:block;
}
.tabs ul.panels > li h2,
.tabs ul.panels > li div.description{
	margin-bottom: 2em;
}

@media screen and (min-width: 800px) {
	.tabs ul.navigation {
		flex-direction: row;
		gap: 4vw;
	}
}

@media screen and (min-width: 1000px) {

	.tabs ul.navigation li a{
		font-size: 1.125em;
	}

}


/*
 ThreeSixty Viewer
*/

.threesixty{
	position:relative;
	height:0;
	padding-bottom:75%;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor:move;
	}
	.threesixty.loading{
		cursor:wait;
		}
	.threesixty .progress{
		display:inline-block;
		width:10rem;
		height:10rem;
		position:absolute;
		top:0;
		right:0;
		z-index:10;
		}
		.threesixty .progress p{
			color:rgba(0,0,0,0.87);
			font-size:2rem;
			font-weight:700;
			text-align:center;
			line-height:10rem;
			position:absolute;
			top:0;
			left:0;
			width:10rem;
			height:10rem;
			margin-bottom:0;
			}
			.threesixty .progress p sup{
				position:absolute;
				display:inline-block;
				width:0;
				font-weight:400;
				font-size:1.5rem;
				top:-0.4rem;
				margin-left:-0.1em;
				}
		.threesixty.threesixty-light .progress p{
			color:#000000;
			}
		.threesixty .progress svg{
			transform:rotate(270deg);
			width:10rem;
			height:10rem;
			}
			.threesixty .progress svg circle{
				stroke-width:0.5em;
				fill:transparent;
				transform:rotate(0.1deg);
				}
				.threesixty .progress svg circle.radial-progress-background{
					stroke:#ffffff;
					}
				.threesixty.threesixty-light .progress svg circle.radial-progress-background{
					stroke:rgba(0,0,0,0.87);
					}
				.threesixty .progress svg circle.radial-progress-cover{
					stroke:rgba(0,0,0,0.87);
					stroke-width:0.6em;
					}
				.threesixty.threesixty-light .progress svg circle.radial-progress-cover{
					stroke:#ffffff;
					}
				.threesixty .progress svg circle.radial-fill{
					position:absolute;
					top:50%;
					left:50%;
					transform:translate(-50%, -50%);
					}
	.threesixty ul.frames{
		position:relative;
		padding-bottom:75%;
		list-style-type:none;
		margin:0;
		padding:0;
		}
		.threesixty ul.frames > li{
			margin:0;
			padding:0;
			position:absolute;
			width:100%;
			padding:0;
			background-repeat:no-repeat;
			background-position:50%;
			}
			.threesixty ul.frames > li > div{
				padding-bottom:75%;
				background-size:100%;
				background-position:50%;
				background-color:#ffffff;
				}


/*
 Forms
*/
form {
	max-width: 648px;
	margin:0 auto;
}

form p {
	margin-bottom: 13px;
}

form p.checkbox {
	display: flex;
	flex-direction: row;
}
form p.checkbox input {
	margin-right: 0.5em;
}
form p.checkbox label,
form p.checkbox span {
	margin-right: 0.5em;
	margin-bottom: 0;
	line-height:1.2em;
}

form > *:last-child {
	margin-bottom: 0;
}

form .error {
	color: #FB6058;
}

.error input,
.error select,
.error textarea {
	border-color: #FB6058;
}

fieldset {
	padding: 0;
	border: none;
	margin: 0;
	margin-bottom: 30px;
}

fieldset:last-child,
fieldset p:last-child {
	margin-bottom: 0;
}

fieldset + fieldset {
	padding-top: 30px;
}

form.conversionclaculator:last-child {
	margin-bottom: -36px;
	}
form.calculator fieldset {
	margin-bottom: 0;
}
form.btucalculator fieldset + fieldset {
	border-top: 1px solid #CFCFCF;
}
form.btucalculator fieldset + fieldset:last-child {
	border-top:none;
}


ul.subfilters{
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
ul.subfilters:not(:has(li)){
	display:none;
}
ul.subfilters li{
	min-width: 0;
	display: block;
}
ul.subfilters li a{
	display: inline-block;
	padding: 4px 8px;
	border-radius: var(--radius);
	border: 1px solid #cccbca;
	background: rgba(192,192,192,0.2);
	cursor: pointer;
}
ul.subfilters li.active a,
ul.subfilters li:hover a{
	border-color:var(--color-primary);
	background-color:var(--color-primary);
	color:#ffffff;
	}
ul.subfilters li a > i{
	color:#cccbca;
}
ul.subfilters li.active a > i,
ul.subfilters li:hover a > i{
	color:inherit;
}


.dynamic-products{
	scroll-margin-top: 5em;
}
.dynamic-products .controls{
	display:flex;
	margin-bottom:30px;
	align-items: center;
}
.dynamic-products .controls > *{
	flex-grow:1;
}
.dynamic-products .controls p{
	margin-bottom:0;
}
.dynamic-products .controls p.results-count{
	display:none;
}
.dynamic-products .controls form{
	max-width:none;
}
.dynamic-products .controls form fieldset{
	display:flex;
	align-items: center;
}
.dynamic-products .controls form fieldset p{
	flex-grow:1;
	text-align:right;
	margin-right:1em;
}
.dynamic-products .controls form fieldset select{
	max-width:18em;
	width:100%;
	background-color:#f1f1f1;
	font-weight:500;
}


@media screen and (min-width: 1000px) {

	.dynamic-products .controls p.results-count{
		display:block;
	}

}

legend {
	font-weight:700;
	font-size: 1.25em;
}

select,
input,
textarea {
	transition: 300ms border-color;
	border-radius: var(--radius);
	box-shadow: none;
	outline: none;
}

input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
textarea,
select {
	-webkit-appearance: none;
	background: #ffffff;
	padding: 16px;
	border: 1px solid #cfcfcf;
	margin: 0;
	width: 100%;
	color: inherit;
	font-family: inherit;
	font-weight: 400;
	font-size: 16px;
	box-shadow: inset 1px 2px 2px rgba(0,0,0,0.05);
}

.page.inverse input[type=date],
.page.inverse input[type=datetime],
.page.inverse input[type=datetime-local],
.page.inverse input[type=email],
.page.inverse input[type=month],
.page.inverse input[type=number],
.page.inverse input[type=password],
.page.inverse input[type=search],
.page.inverse input[type=tel],
.page.inverse input[type=text],
.page.inverse input[type=time],
.page.inverse input[type=url],
.page.inverse input[type=week],
.page.inverse textarea,
.page.inverse select {
	color: rgba(0,0,0,0.75);
}

textarea:focus,
select:focus,
input:focus {
	border-color: black;
}

textarea:focus:valid,
select:focus:valid,
input:focus:valid {
	border-color: darkgreen;
}

textarea:focus:invalid,
select:focus:invalid,
input:focus:invalid {
	border-color: red;
}

input[type=search] {
	background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiM3RTdEN0EiPjxjaXJjbGUgY3g9IjgiIGN5PSI4IiByPSI3LjUiLz48cGF0aCBkPSJNMTMuNSAxMy41bDUuNTIzIDUuNTIzIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIi8+PC9nPjwvc3ZnPg==');
	background-repeat: no-repeat;
	background-position: right 17px center;
	margin-bottom: 2px;
	padding: 11px 50px 11px 11px;
}

select {
	-webkit-appearance: none;
	cursor: pointer;
	background-image: url( 'data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEyIDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTS42NjggMS41MWw0Ljk3NCA0Ljk3NSA0Ljk0OC00Ljk1IiBzdHJva2U9IiM3MDcwNzAiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+' );
	background-repeat: no-repeat;
	background-position: right 1.25rem center;
	padding-right: 2.5rem;
}

textarea {
	-webkit-appearance: none;
	min-height: 280px;
	min-width: 100%;
	max-width: 100%;
	outline: none;
}

label {
	display: block;
	margin: 0 0 0.45rem;
	cursor: pointer;
	font-weight: 700;
	font-size: 1em;
}

input[type="checkbox"],
input[type="radio"] {
	vertical-align: middle;
	width: auto;
}

/* Buttons */
.button,
.button-light {
	border-width: 0;
	border-radius: var(--radius);
	font-size: 16px;
	display: inline-block;
	width: auto;
	text-align: center;
	padding: 12px 35px;
	box-shadow: none;
	cursor: pointer;
	margin: 0 0 20px;
	min-width: 188px;
	line-height: 1;
}

.button{
	background-color: var(--color-primary);
	color: #ffffff !important;
}
.button-light {
	background-color: rgba(0,0,0,0.25);
}
.page.inverse .button-light {
	background-color: rgba(255,255,255,0.25);
}
.button-light:hover {
	background-color: rgba(0,0,0,0.375);
}
.page.inverse .button-light:hover {
	background-color: rgba(255,255,255,0.375);
}

.button--reset {
	background: none;
	padding: 0;
	border: 0;
	outline: none;
	box-shadow: none;
	cursor: pointer;
	font: inherit;
	color: inherit;
}

.button--full {
	width: 100%;
	margin-right: 0;
}
.button--inline {
	display:inline-block;
	font-size:inherit;
	padding:5px 25px;
	margin:0;
	min-width:auto;
}

.priceinctax,
.priceinctax-inline {
	display: none;
}
body.showtax .priceinctax {
	display: block;
}
body.showtax .priceinctax-inline {
	display: inline;
}
body.showtax .priceextax,
body.showtax .priceextax-inline {
	display: none;
}


/*
 Social
*/
.social {
	font-size: 20px;
}

.social a {
	display: inline-flex;
	position: relative;
	border-radius: 100%;
	background-color: rgba(255, 255, 255, 0.25);
	transition: 300ms background-color;
	width: 2.25em;
	height: 2.25em;
	justify-content: center;
	align-items: center;
}

.social a:hover {
	background-color: rgba(255, 255, 255, 0.5);
}

.social a + a {
	margin-left: 0.5em;
}

.social i {
	font-size: 1.1em;
	line-height: 2!important;
}

.social--small {
	font-size: 11.5px;
}

.social--small a {
	background-color: rgba(0, 0, 0, 0.5);
	color: #ffffff;
}

.social--small a:hover {
	background-color: rgba(0, 0, 0, 0.7);
}


header.custom-link{
	color:#ffffff;
	}
	header.custom-link p{
		padding:0.5em 0;
		margin-bottom:0;
		text-align:right;
		font-size:0.9125em;
		}
		header.custom-link p a{
			display:inline-block;
			margin-left:1em;
			}


/*
 Header
*/
.header {
	position: relative;
	z-index: 60;
	background: #ffffff;
}

.backdrop {
	display:none;
	position: fixed;
	z-index: 50;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,0.5);
	backdrop-filter: blur(2px);
}

.header .wrap {
	padding-top: 15px;
	padding-bottom: 15px;
}

.header .logo {
	float: left;
	background-position: 0% 0%;
	background-size: contain;
	background-repeat: no-repeat;
	font-size: 1.25em;
	max-width: calc(100% - 60px);
	margin-right: 20px;
	min-height: 50px;
	line-height: 50px;
	white-space: nowrap;
	text-overflow: ellipsis;
	user-select: none;
}

.header .logo img{
	height: 32px;
	visibility: hidden;
}

header .ipg-logo-mobile {
	height: 32px;
	}

.navicon + label {
	width: 20px;
	height: 15px;
	cursor: pointer;
	background: currentColor;
	border-top: 6px solid #ffffff;
	border-bottom: 6px solid #ffffff;
	position: absolute;
	float: right;
	right: 20px;
	transform: translateY(-50%);
	top: 50%;
}

.navicon + label:before,
.navicon + label:after {
	content: '';
	position: absolute;
	background: currentColor;
	z-index: 1;
	height: 3px;
	width: 100%;
	left: 0;
	top: -6px;
}

.navicon + label:after {
	top: 6px;
}

.navicon:checked ~ .main-nav {
	display: block;
}

.main-nav {
	display: none;
	border-top: 1px solid #E7E7E7;
	border-bottom: 1px solid #E7E7E7;
	background: #F3F3F3;
	position: absolute;
	z-index: 100;
	padding: 0 20px 20px;
	width: 100%;
	left: 0;
	top: 100%;
	box-shadow: 0 10px 10px rgba(255,255,255,1);
}

.main-nav .branch-info {
	padding: 10px 0;
	border-bottom: 1px solid #E7E7E7;
	line-height: 1.2;
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
}
.main-nav .branch-info .branch{
	min-width: 100px;
}
.main-nav .branch-info.branches-1 .branch{
	text-align: center;
	padding-right: 0;
	width: 100%;
}
.main-nav .branch-info.branches-2 .branch{
	padding-right: 30px;
	max-width: 350px;
	}
.main-nav .branch-info.branches-3 .branch{
	padding-right: 20px;
	max-width: 225px;
	}
.main-nav .branch-info.branches-4 .branch{
	padding-right: 10px;
	max-width: 190px;
	}
.main-nav .branch-info.branches-5 .branch{
	padding-right: 0;
	max-width: 180px;
	justify-content: center;
	}
.main-nav .branch-info .branch h3{
	font-size: 18px;
	font-weight:700;
	margin-bottom: 8px;
}
header.inverse .main-nav .branch-info .branch h3{
	color: #ffffff !important;
}
.main-nav .branch-info .branch p{
	font-size: 12px;
	margin-bottom: 6px;
	text-wrap: balance;
}
.main-nav .branch-info .branch p.phone{
	font-size: 15px;
	margin-bottom: 6px;
}
.main-nav .branch-info .branch p.address{
	line-height: 1.4;
}
.main-nav .branch-info.branches-5 .branch p.address{
	display:none;
}
.main-nav .branch-info .branch p:last-child{
	margin-bottom: 0;
}

.main-nav .contact-info {
	padding: 10px 0;
	border-bottom: 1px solid #E7E7E7;
	font-size: 1.5rem;
	line-height: 1.4;
	display:flex;
	flex-direction:column;
	justify-content: center;
}

.main-nav .contact-info a {
	color: var(--color-primary);
	font-weight: 700;
	}


.main-nav .contact-info div:first-child{
	margin-bottom: 5px;
}

header.inverse .contact-info a{
	color: #ffffff !important;
}

.main-nav .contact-info small {
	display: block;
	font-size: 0.9125rem;
}

.main-nav ul {
	padding: 0 0 10px;
	color: rgba(0,0,0,0.75);
	font-size: 15px;
	user-select: none;
}

.main-nav > ul > li > a {
	padding: 6px 0;
	display: block;
}
.main-nav > ul > li > a .arrow{
	display:none;
	}
.main-nav > ul > li:hover > a {
	color:#000000;
}
.header.inverse .main-nav > ul > li:hover > a {
	color:#ffffff;
}

.main-nav > ul > li + li {
	border-top: 1px solid #E7E7E7;
}

.main-nav ul ul {
	display: none;
	background: #ffffff;
	padding: 5px;
	color: #7E7D7A;
	font-size: 14px;
}

.main-nav ul ul li {
	margin: 5px;
}

.main-nav ul .sub-menu--open ul {
	display: block;
}

.main-nav .sub-menu {
	position: relative;
}

.main-nav .sub-menu i {
	display: none;
}

.main-nav .sub-menu button {
	position: absolute;
	width: 30px;
	height: 37px;
	background: transparent;
	padding: 0;
	border: none;
	right: 0;
	top: 0;
}

.main-nav .sub-menu button:after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid #CFCFCF;
	border-right: 2px solid #CFCFCF;
	transform: translate3d(-50%, -75%, 0) rotate(45deg);
	left: 50%;
	top: 50%;
}

.main-nav .sub-menu--open button {
	background: #ffffff;
}

.main-nav .ipg-logo{
	display: none;
	user-select: none;
}

.main-nav .ipg-logo svg {
	display: block;
	margin: 0 auto;
	height: 75px;
}

header.background .main-nav .ipg-logo svg *,
header.background svg.ipg-logo-mobile *,
.lowerfooter.background .ipg-logo svg * {
	fill: #000000;
}
header.inverse .main-nav .ipg-logo svg *,
header.inverse svg.ipg-logo-mobile *,
.lowerfooter.inverse .ipg-logo svg * {
	fill: #ffffff;
}

nav.account{
	border-left:1px solid rgba(128,128,128,0.25);
	padding-left:20px;
}

nav.account ul{
	margin-top:22px;
}

nav.account ul li{
	margin-bottom:10px;
}
nav.account ul li a:hover{
	color:#000000;
}

.bar {
	position:sticky;
	top:0;
	z-index:40;
	border-bottom:1px solid rgba(128,128,128,0.5);
	padding:8px 0;
	background: #f1f1f1;
	color: rgba(0,0,0,0.75);
	user-select: none;
}

.bar .wrap {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap:0.5em;
}

body.incheckout .bar,
body.interms .bar{
	position:relative;
}

.bar ul li{
	display:inline-block;
	line-height: 21px;
	padding: 8px 10px;
	font-size: 15px;
}
.bar ul li.tax{
	padding:0 0 0 10px;
}

.bar form{
	width:100%;
	max-width:26em;
	margin:0;
}
.bar form.taxtoggle fieldset{
	display:inline;
}
.bar form.taxtoggle label{
	font-weight:400;
}
body:not(.showtax) .bar form.taxtoggle label i.tax-on{
	display:none;
}
body:not(.showtax) .bar form.taxtoggle label i.tax-off{
	display:inline;
}
body.showtax .bar form.taxtoggle label i.tax-on{
	display:inline;
}
body.showtax .bar form.taxtoggle label i.tax-off{
	display:none;
}
.bar form.taxtoggle label input{
	display:none;
}
.bar form.search fieldset{
	margin-bottom:0;
	display: flex;
}
.bar form.search input,
.bar form.search button{
	font-size: 16px;
	line-height: 20px;
	padding: 8px 16px;
	display: block;
	box-sizing: border-box;
	border: 1px solid #cccbca;
	border-radius: 0;
}
.bar form input:focus,
.bar form button:focus{
	outline:none;
}
.bar form.search input{
	width:calc(100% - 3em);
	border-top-left-radius:var(--radius);
	border-bottom-left-radius:var(--radius);
	box-shadow:inset 1px 2px 2px rgba(0,0,0,0.05);
}
.bar form.search input::-ms-input-placeholder{
	color:#cccbca;
}
.bar form.search input::-webkit-input-placeholder{
	color:#cccbca;
}
.bar form.search button{
	width:3em;
	padding-left:0;
	padding-right:0;
	background:#cccbca;
	cursor:pointer;
	border-top-right-radius:var(--radius);
	border-bottom-right-radius:var(--radius);
}
.bar form.search button:hover{
	background:#a6a6a6;
	border-color:#a6a6a6;
}
.bar #microbasket p{
	margin: 0;
	text-align: center;
	line-height: 21px;
	padding: 8px;
	font-size: 15px;
}
.bar #microbasket p .wording{
	display:none;
}
.bar a{
	display:inline-block;
	color:var(--color-primary);
	text-decoration:none;
}
.bar a:hover{
	color:#000000;
}

@media screen and (min-width: 800px) {

	.bar .wrap {
		flex-direction: row;
	}
	.bar form.taxtoggle{
		display:inline-block;
	}
	.bar form.search{
		margin:0 8px 0 0;
	}

}

@media screen and (min-width: 1023px) {

	.bar #microbasket p .wording{
		display:inline;
		}

	.header .wrap {
		padding-bottom: 64px;
		padding-top: 26px;
		display: flex;
	}

	.main-nav {
		display: flex;
		align-self: stretch;
		width: auto;
		position: static;
		background: none;
		padding: 0;
		border: none;
		box-shadow: none;
		align-content: flex-start;
	}

	.main-nav .branch-info {
		padding: 0;
		border: none;
	}
	.main-nav .branch-info .branch{
		display: flex;
		flex-direction: column;
	}

	.main-nav .branch-info.branches-1{
		position: absolute;
		left: 20px;
		right: 20px;
		pointer-events: none;
	}

	.main-nav .branch-info.branches-1 .branch{
		text-align: center;
		max-width: none;
	}

	.main-nav .contact-info {
		float: left;
		padding: 0;
		border: none;
		font-size: 1.3em;
	}
	header.aspect-wide .main-nav .contact-info {
		height: 50px;
	}
	header.aspect-tall .main-nav .contact-info {
		height: 75px;
	}

	.main-nav > ul {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		display: flex;
		justify-content: center;
		min-height:44px;
		padding:0;
	}

	.main-nav > ul > li {
		display: inline-block;
		text-align: center;
		min-height:44px;
	}

	.main-nav > ul > li.sub-menu {
		margin-right:auto;
	}
	.main-nav > ul > li.sub-menu a{
		padding-left:40px;
		padding-right:40px;
	}

	.main-nav > ul.fill-width {
		justify-content: flex-start;
	}
	.main-nav > ul.fill-width > li {
		flex-grow: 1;
	}
	.main-nav > ul.fill-width > li.sub-menu {
		flex-grow: 0;
	}

	.main-nav > ul > li + li {
		margin-left: 15px;
	}

	.main-nav > ul > li > a {
		padding: 12px 10px 14px 10px;
		line-height: 18px;
		font-weight: 500;
		height: 100%;
		display: flex;
		align-items: center;
	}

	.main-nav > ul > li + li {
		border-top: none;
	}

	.main-nav .sub-menu i {
		display: inline-block;
	}
	.main-nav .sub-menu button {
		display: none;
	}

	.main-nav ul ul {
		display: none;
		position: absolute;
		z-index: 100;
		background: #ffffff;
		white-space: nowrap;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
		visibility: hidden;
		min-width: 250px;
		margin-top: 5px;
		opacity: 0;
		padding: 0;
		left: 0;
		top: 100%;
	}

	.main-nav ul ul li {
		padding: 0;
		margin: 0;
	}

	.main-nav > ul > li > a .arrow{
		display:inline;
		}

	.main-nav ul ul li + li {
		border-top: 1px solid 	;
	}

	.main-nav ul ul a {
		padding: 12px 15px;
		display: block;
	}

	.main-nav .social {
		position: absolute;
		right: 20px;
		top: 40px;
	}

	.navicon,
	.navicon + label,
	header .ipg-logo-mobile {
		display: none;
	}

	.main-nav .ipg-logo{
		display: block;
	}

	header .logo {
		max-width: none;
		margin-right:50px !important;
	}
	header.aspect-wide .logo img,
	header.aspect-wide .main-nav .ipg-logo svg{
		height:50px;
	}
	header.aspect-tall .logo img,
	header.aspect-tall .main-nav .ipg-logo svg{
		height:75px;
	}

	.website-eccbc87e4b5ce2fe28308fd9f2a7baf3 header.aspect-tall .main-nav .ipg-logo svg {
		height:64px;
	}

	.website-f457c545a9ded88f18ecee47145a72c0 header.aspect-tall .logo img,
	.website-e4da3b7fbbce2345d7772b0674a318d5 header.aspect-tall .logo img,
	.website-6f4922f45568161a8cdf4ad2299f6d23 header.aspect-tall .logo img,
	.website-c20ad4d76fe97759aa27a0c99bff6710 header.aspect-tall .logo img,
	.website-093f65e080a295f8076b1c5722a46aa2 header.aspect-tall .logo img,
	.website-3416a75f4cea9109507cacd8e2f2aefc header.aspect-tall .logo img,
	.website-aab3238922bcc25a6f606eb525ffdc56 header.aspect-tall .logo img,
	.website-eccbc87e4b5ce2fe28308fd9f2a7baf3 header.aspect-tall .logo img{
		height:90px;
	}

	.main-nav .social {
		top: auto;
		bottom: 13px;
	}

	.main-nav .ipg-logo{
		position: absolute;
		right: 20px;
		display: block;
	}

	.main-nav > ul > li {
		font-size: 16px;
	}

	.main-nav > ul > li + li {
		margin: 0;
	}

}

/*
 Footer
*/
.footer {
    background-color: var(--color-primary);
	color: var(--color-tertiary);
    font-size: small;
	user-select: none;
}

.footer .wrap {
	padding-top: 40px;
    padding-bottom: 40px;
}

.footer .wrap.center {
    text-align: center;
}

.contact-info p:first-of-type,
.social-media p:first-of-type,
.shop-about-support-wrapper p:first-of-type {
    font-weight: 700;
    font-size: 1em;
    margin: 0 0 1em;
}

.footer .lowerfooter {
    display: flex;
    flex-direction: row;
    background-color: #ffffff;
    color: gray;
}

.footer .lowerfooter small {
    margin: auto;
    margin-left: 20px;
}

.footer .lowerfooter .wrap {
    display: flex;
    flex-direction: row;
    flex: auto;
}

.footer nav a {
    margin-right: 10px;
}

.footer .ipg-logo svg,
.footer .logo img {
	height: 48px;
}

.footer .lowerfooter .footer-mobile-display {
	display: none;
	text-align: center;
	text-wrap: balance;
}

.footer .tos-social {
    text-align: left;
	display: flex;
}

.footer .tos {
	flex: 2;
	display: flex;
	flex-direction: column;
	align-self: flex-end;
}

.footer .tos p {
	margin: 0;
}
.footer .tos p a {
	display: inline-block;
	margin-inline: 0.5em;
}
.footer .tos p a:hover {
	text-decoration: underline;
}
.footer .tos p a:first-child {
	margin-left: 0;
}
.footer .tos p a:last-child {
	margin-right: 0;
}

.footer .tos .additional-terms{
	max-width:60%;
	margin-top: 2px;
}

.footer .upperfooter {
	display: flex;
	justify-content: space-between;
}
.footer .upperfooter a:hover {
	text-decoration: underline;
}

.footer .shop-about-support-wrapper {
	display: flex;
	flex: 2;
}

.footer .shop {
	display: none;
}

.footer .shop,
.footer .about,
.footer .support {
    margin-bottom: 50px;
}

.footer .shop ul,
.footer .about ul,
.footer .support ul {
    text-align: left;
}
.footer .about ul + p{
	margin-top: 2em;
}

.footer li {
    margin-bottom: 3px;
    padding-right: 0.5em;
}

.footer .contact {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.footer .contact-info,
.footer .social-media {
	display: flex;
	flex-direction: column;
	align-self: flex-end;
	min-width: 50%;
}

.footer .contact-info {
	margin-bottom: 1rem;
}

.footer .contact-info > * {
	margin-bottom: 4px;
}

.footer .social-media-container {
	display: flex;
	flex-direction: column;
	align-self: flex-end;
	flex: 1;
}

.footer .social-media a:not(:last-child) {
	margin-right: 8px;
}

.footer .social-media .fab:hover {
	opacity: 0.7;
}

.footer .summary {
	flex: 2;
	padding-right: 3rem;
	text-align: left;
	text-wrap: balance;
}

.footer .maintainrow {
	flex-direction: row;
	display: flex;
	flex: 3;
	width: 100%;
	justify-content: space-evenly;
}

.footer .social-media .fab {
	color: var(--color-primary);
	background-color: var(--color-tertiary);
	height: 30px;
	width: 30px;
	text-align: center;
	align-content: center;
	font-size: large;
	border-radius: var(--radius);
}

/* Media Queries */
@media screen and (min-width: 500px) {
	.footer .shop {
		display: block;
	}
}

@media screen and (min-width: 800px) {
	.footer .shop,
	.footer .about,
	.footer .contact,
	.footer .support {
		flex: 1;
	}
}

@media screen and (max-width: 800px) {
    .footer .upperfooter,
    .footer .contact {
        flex-direction: column;
        align-self: center;
    }

    .footer .contact {
        text-align: center;
    }

    .footer .contact-info,
	.footer .social-media {
        align-self: auto;
        margin-bottom: 30px;
    }

    .footer .about,
    .footer .support {
        margin-bottom: 30px;
    }

    .footer .about ul,
    .footer .support ul {
        column-count: 1;
    }

    .footer .wrap.center {
        padding-left: 50px;
        padding-right: 50px;
    }

    .footer .tos-social {
        margin-top: 30px;
        text-align: center;
    }

	.footer .tos-social small:nth-last-of-type(1){
		max-width:100%;
	}

	.footer .shop-about-support-wrapper {
		justify-content: space-evenly;
		margin-bottom: 30px;
		flex-direction: column;
		align-items: center;
	}

	.footer .lowerfooter .wrap {
		column-gap: 30px;
	}

	.footer .lowerfooter small {
		display: none;
	}

	.footer .lowerfooter .footer-mobile-display {
		display: block;
		margin-bottom: 30px;
		margin-left: auto;
	}

	.footer .lowerfooter {
		flex-direction: column;
		align-items: center;
	}

	.footer .summary {
		margin: 0 0 40px 0;
		text-align: center;
	}

	.footer .social-media-container {
		order: 1;
		align-self: center;
	}

	.footer .tos {
		order: 2;
		align-self: center;
		align-items: center;
		text-align: center;
	}

	.footer .tos-social {
		flex-direction: column;
	}

	.footer .tos .additional-terms {
		max-width: fit-content;
	}

}

/*
 Footer
*/

main > *:last-child{
	margin-bottom:0 !important;
}

.cta {
	padding: 30px 0;
}

.cta h2 {
	color: inherit;
}

.cta p {
	max-width: 460px;
	font-size: 1.111em;
}

.cta .button {
	margin: 0;
}

.cta .button:hover {
	background-color: rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 600px) {
	.cta {
		padding-top: 54px;
		padding-bottom: 54px;
	}

	.cta .wrap {
		padding-right: 220px;
	}

	.cta p:last-of-type {
		margin-bottom: 0;
	}

	.cta .button {
		position: absolute;
		right: 20px;
		top: 23px;
	}
}



/*
 Page
*/
.page .wrap header {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
	text-wrap: balance;
}

.page .wrap header h1 {
	margin-top: -0.125em;
	margin-bottom: 1rem;
}

.page .wrap header.with-image > div {
	display: flex;
	align-items: center;
	gap: 24px;
}

.page .wrap header.with-image > div img{
	height: 100%;
	width: 140px;
}

.page .wrap header *:last-child {
	margin-bottom:0;
}

.page .reviews .wrap header{
	margin-bottom:25px;
}


/*
 Filters
*/

.filters {
	padding: 13px 0 40px;
	text-align: center;
}

.filters button {
	font-size: 12px;
	color: rgba(0,0,0,0.75);
	background: #cccbca;
	padding: 6px 20px 7px;
	border-radius: var(--radius);
	margin: 0 2px 6px 0;
	border: 1px solid #cccbca;
	cursor: pointer;
}

.filters .filters--active {
	background: #ffffff;
}

.filterable--hidden {
	display: none;
}


/*
 Downloads
*/

.downloads-wrap {
	user-select: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	justify-items: center;
	gap: 18px;
}

.download {
	margin-bottom: 18px;
	padding-bottom: 18px;
	position: relative;
}

.download > div {
	position: relative;
	display: block;
	flex-direction: column;
	align-items: center;
	margin-bottom: 18px;
	border-radius: var(--radius);
	outline: 1px solid rgba(128, 128, 128, .125);
	overflow: hidden;
}

.download > div .hover {
	display:none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 1rem;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background: rgba(0, 0, 0, 0.75);
	color: white;
}

.download > div:hover .hover {
	display: flex;
}

.download > div .hover h4,
.download > div .hover p {
	color: inherit;
	text-align: center;
	text-wrap: balance;
}

.download > div .hover h4{
	font-weight: 700;
	font-size: 1.125rem;
	margin-bottom: 1rem;
}

.download > div .hover p{
	font-size: 13px;
}

.download img {
	display: block;
	width: 100%;
	aspect-ratio: 1/1.414;
	object-fit: contain;
}

.download p {
	font-size: 14px;
	margin-bottom: 10px;
}

.download .button {
	display: flex;
	align-items: center;
	justify-content: center;
	justify-content: space-between;
	width: 75%;
	margin-right: auto;
}

.download .button i {
	margin-left: 8px;
}

@media screen and (min-width: 800px) {

	.download img + * {
		overflow: hidden;
	}
}


/*
 Downloads
*/

.subpages-wrap{
	user-select: none;
}
.subpages-wrap.subpages-count-1{
	display: flex;
	justify-content: center;
}

.subpage{
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	color: rgba(0,0,0,0.75);
	break-inside: avoid-column;
	border: 1px solid #cccbca;
	border-radius: var(--radius-limited);
}
.subpage a:hover {
	text-decoration:underline;
}
.subpage .info {
	background: #f1f1f1;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	justify-content: space-between;
}
.subpage .info p.date{
	margin-bottom: 6px;
	font-size: 12px;
}
.subpage .info p:last-child{
	margin-top: auto;
}
.subpage .info p:last-child,
.subpage .info a{
	margin-bottom: 0;
	}
	.subpage .info a:hover{
		text-decoration: none;
		}
.subpage h3 {
	margin: 0;
	font-size: 18px;
	}

@media screen and (min-width: 800px) {

	.subpages-wrap {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

}

@media screen and (min-width: 1024px) {

	.subpages-wrap {
		grid-template-columns: repeat(3, 1fr);
	}

}

/*
 USPs
*/

.usps {
	padding: 18px 0;
	user-select: none;
}

.usps ul {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 16px;
}

.usps li {
	display: none;
	align-items: center;
	gap: 20px;
	position: relative;
	line-height: 1.2;
	padding: 0 10px 0 0;
	text-wrap: balance;
}

.usps li:nth-child(1),
.usps li:nth-child(2) {
	display: flex;
}

.usps i {
	position: relative;
	font-size: 24px;
	min-width: 36px;
}

.usps strong {
	display: block;
}

.usps i + * {
	overflow: hidden;
}

@media screen and (min-width: 450px) {

	.usps ul {
		flex-direction: row;
	}

	.usps li {
		width: 50%;
	}

}

@media screen and (min-width: 550px) {
	.usps.block--slider {
		display: none;
	}
	.usps.static {
		display: block;
	}

	.usps i {
		font-size: 32px;
	}
}

@media screen and (max-width: 550px) {
	.usps.static {
		display: none;
	}
	.usps.block--slider {
		display: block;
	}
}

@media screen and (min-width: 800px) {

	.usps li:nth-child(3) {
		display: flex;
	}
	.usps li {
		width: 33.333%;
	}
}

@media screen and (min-width: 1100px) {
	.usps .wrap {
		display: flex;
		gap: 16px;
		flex-wrap: nowrap;
		justify-content: space-evenly;
	}

	.usps li:nth-child(4) {
		display: flex;
	}

	.usps li {
		margin: 0;
		padding: 0;
		width: auto;
	}
	.usps i {
		min-width: 18px;
		}
}

/*
 Categories
*/

.categories {
	display:none;
	user-select:none;
	pointer-events:none;
	position:absolute;
	z-index:90;
	width:100%;
	font-size:14px;
}

.categories .wrap {
	pointer-events:auto;
	color:rgba(0, 0, 0, 0.75);
	position:relative;
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;
	width:100%;
	max-width:var(--layout-max-width);
	margin:0 auto;
	padding:0;
	z-index:92;
}
.categories .wrap ul {
	display:none;
	background:rgba(255,255,255,0.1);
	padding:20px;
	min-height:50vh;
}
.categories .wrap li {
	margin-top:0;
	margin-bottom:0;
}
.categories .wrap li:last-child {
	border-bottom:none;
	}
.categories .wrap li > a {
	display:block;
	padding:8px 20px;
	margin-left:-20px;
	margin-right:-20px;
	border-left:20px solid #ffffff;
	border-right:20px solid #ffffff;
	color:rgba(0, 0, 0, 0.75);
	transition: 300ms all;
}
.categories .wrap > ul li > a:hover,
.categories .wrap > ul li:has(:hover) > a{
	background-color:rgba(255, 255, 255, 1);
	color:rgba(0, 0, 0, 1) !important;
}
.categories .wrap > ul > li > .category-hero{
	display:none;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	width:100%;
	padding-left:calc(75% - 30px);
	z-index:-1;
	background-color:rgba(255, 255, 255, 1);
	border:20px solid white;
	border-radius: 0 0 var(--radius) calc(var(--radius) + 5px);
	}
	.categories .wrap > ul > li > .category-hero div{
		position:absolute;
		background-color:#000000;
		background-size:cover;
		background-repeat:no-repeat;
		background-position:50%;
		padding:20px;
		width: 25%;
		top: 0;
		bottom: 0;
		transition: 300ms opacity;
		border-radius: 0 0 var(--radius) 0;
		}
		.categories .wrap > ul > li > .category-hero div:hover{
			opacity:0.9;
			}
		.categories .wrap > ul > li > .category-hero h4{
			font-size:24px;
			font-weight:500;
			color:#ffffff;
			text-shadow:2px 2px 4px rgba(0,0,0,0.5);
			text-wrap:balance;
			}
		.categories .wrap > ul > li > .category-hero a{
			position:absolute;
			bottom:20px;
			font-size:16px;
			font-weight:500;
			letter-spacing:0.075em;
			text-shadow:2px 2px 4px rgba(0,0,0,0.5);
			}
.categories .wrap > ul li:has(:hover) > .category-hero,
.categories .wrap li:has(:hover) > ul {
	display:block;
	}
.categories .wrap ul.level1 {
	background-color:var(--color-primary);
	color:rgba(255,255,255,1);
	display:block;
	width:25%;
	border-radius: 0 0 var(--radius) var(--radius);
	}
	.categories .wrap ul.level1:has(:hover){
		border-radius: 0 var(--radius) 0 var(--radius);
		}
	.categories .wrap ul.level1 > li > a{
		border-left:20px solid var(--color-primary);
		border-right:20px solid var(--color-primary);
		color:rgba(255,255,255,1);
		}
.categories .wrap ul.level2,
.categories .wrap ul.level3 {
	position: absolute;
	top:0;
	bottom:0;
	display: none;
	background-color:rgba(255,255,255,1);
	color:rgba(0,0,0,0.75);
	}
.categories .wrap ul.level2 {
	width:25%;
	left:calc(25%);
	}
	.categories .wrap ul.level2 > li > a:hover,
	.categories .wrap ul.level2 > li:has(:hover) > a {
		background-color: #f1f1f1;
		}
.categories .wrap ul.level3 {
	width:100%;
	left:calc(100% - 10px);
	}
	.categories .wrap ul.level3::before {
		position:absolute;
		display:block;
		content:'';
		width:1px;
		top:20px;
		bottom:20px;
		background-color:#f1f1f1;
		}
	.categories .wrap ul.level3 > li > a:hover{
		text-decoration:underline;
		}



@media screen and (min-width: 1023px) {
	body.categories-open .categories,
	body.categories-open .backdrop {
		display:block;
		}

	body.categories-open .main-nav .toggle-categories{
		background-color:var(--color-primary);
		color:#ffffff;
		border-radius: var(--radius) var(--radius) 0 0;
		}

	.header-contact {
		display: none;
	}
}
@media screen and (max-width: 1023px) {
	.main-nav .contact-info {
		display: none;
	}
}

.header-contact a {
	margin-right: 10px;
}

.header-contact a, .header-contact i{
	align-content: center;
	font-size: medium;
}

.header-contact div{
	display: flex;
	flex-direction: row;
}

.showroom-header-contact, .header-contact {
	background-color: var(--color-primary);
	color: var(--color-tertiary);
	font-size: small;
}

.showroom-header-contact.wrap, .header-contact.wrap {
	padding-top: 15px;
	padding-bottom: 15px;
	display: flex;
	gap: 10px;
}

.showroom-header-contact a {
	margin-left: auto;
}

.showroom-header-contact div {
	display: block;
}

@media screen and (max-width: 1024px) {

	.showroom-header-contact.wrap, .header-contact.wrap {
		flex-direction: column;
	}

	.showroom-header-contact .contact-info {
		display: none;
	}

	.showroom-header-contact a {
		margin-right: auto;
	}

	.showroom-header-hide {
		display: none;
	}
}

/*
 Cookies
*/

.cookies {
	padding: 10px 0;
}

.cookies a,
.cookies button {
	border-bottom: 1px solid;
}

@media screen and (min-width: 880px) {
	.cookies {
		padding: 16px 0 18px;
	}

	.cookies button {
		float: right;
		text-decoration: none;
		padding-right: 28px;
		position: relative;
		border-bottom: none;
	}

	.cookies button:before,
	.cookies button:after {
		content: '';
		position: absolute;
		transform: rotate(45deg);
		background: #ffffff;
		height: 20px;
		width: 1px;
		right: 8px;
		top: 3px;
	}

	.cookies button:after {
		transform: rotate(-45deg);
	}
}


.minicta {
	margin: 0;
	padding: 30px 0;
	text-align: center;
}

.minicta .button {
	display:inline-block;
	margin: 0 auto;
}

.minicta .button:hover {
	background-color: rgba(0, 0, 0, 0.2);
}

.minicta + .gallery-wrap{
	margin-top:30px;
}

/*
 Newsletter
*/
.newsletter {
	padding: 30px 0;
}

.newsletter form {
	max-width: 500px;
	margin: 0 auto;
}

.newsletter [type="text"],
.newsletter [type="email"] {
	padding: 11px;
}

@media screen and (min-width: 680px) {
	.newsletter {
		padding-top: 48px;
	}

	@supports (display: grid) {
		.newsletter form {
			max-width: none;
			display: grid;
			grid-gap: 20px;
			grid-template-columns: 1fr 1fr 1fr minmax(100px, 190px);
		}

		.newsletter form p {
			margin: 0;
		}

		.newsletter .button {
			min-width: 100%;
		}
	}
}



/*
 Twitter
*/
.twitter {
	text-align: center;
}

.twitter h3 ~ h3 {
	font-size: 1.222em;
	margin: 14px 0 24px;
}

.twitter .follow {
	font-size: 14px;
	border-bottom: 1px solid;
}


.block--virtualtour {
	}
.block--virtualtour .wrap {
	max-width:1333px;
	padding-left:0;
	padding-right:0;
	}
.block--virtualtour iframe {
	border:none;
	display:block;
	width:100%;
	height:50vh;
	}


/*
 Footer
*/
.review {
	padding: 15px;
}

.page.inverse .review {
	color: rgba(0,0,0,0.75);
}

.star-rating {
	display: flex;
	direction: row;
	align-items: center;
}
.star-rating i {
	background-color: #006600;
	border-radius: var(--radius-limited);
	color: #ffffff;
	padding: 5px;
	margin: 0 1px;
	font-size: 12px;
}

.review p {
	margin: 14px 0 16px;
}

.review a {
	text-decoration: underline;
	font-size: 14px;
}

.reviews h2 {
	margin-bottom: 30px;
}

.reviews footer .small {
	margin-bottom: 8px;
}

.reviews footer img {
	display: inline;
}

@media screen and (min-width: 400px) {
	.review {
		padding: 28px 35px 37px;
	}

	.reviews h2 {
		margin-bottom: 46px;
	}
}

.embed{
	}
	.embed .video{
		position:relative;
		padding-bottom:56.25%;
		overflow:hidden;
		border-radius:var(--radius);
		max-width:100%;
		height:auto;
		}
		.embed .video iframe,
		.embed .video object,
		.embed .video video,
		.embed .video embed{
			position:absolute;
			top:0;
			left:0;
			width:100%;
			height:100%;
			}

/* Ribbons */

.corner-ribbon{
	background-color: var(--color-primary);
	position: absolute;
	font-size: 10px;
	text-align: center;
	line-height: 16px;
	letter-spacing: 1px;
	padding: 3px 6px;
	color: #ffffff;
	z-index:1;
}
.corner-ribbon.corner-ribbon--grey{
	border: 1px solid #cccbca;
	background-color: #f1f1f1;
	color: initial;
	}

.corner-ribbon--top-left{
	top: 0;
	left: 0;
	border-bottom-right-radius:var(--radius);
	border-top: none !important;
	border-left: none !important;
	padding-right: 9px;
}

.corner-ribbon--top-right{
	top: 0;
	right: 0;
	border-bottom-left-radius:var(--radius);
	border-top: none !important;
	border-right: none !important;
	padding-left: 9px;
}

.corner-ribbon--bottom-left{
	bottom: 0;
	left: 0;
	border-top-right-radius:var(--radius);
	border-bottom: none !important;
	border-left: none !important;
	padding-right: 9px;
}

.corner-ribbon--bottom-right{
	right: 0;
	bottom: 0;
	border-top-left-radius:var(--radius);
	border-bottom: none !important;
	border-right: none !important;
	padding-left: 9px;
}

/*
 Gallery
*/
.gallery {
	width: calc(100% + 18px);
	margin-left: -9px;
	margin-right: -9px;
	margin-bottom:-18px;
	user-select: none;
	display: flex;
	flex-wrap: wrap;
}

.gallery > * {
	margin: 0 9px 18px;
	border: 1px solid #cccbca;
	border-radius: var(--radius-limited);
	overflow: hidden;
}
.page.inverse .gallery > * {
	border-color: rgba(0,0,0,0.75);
}
.gallery--onerow > *:nth-child(1n+2) {
	display:none;
}
.gallery .with-padding figure{
	padding: 20px;
}
.gallery figure {
	height: 100%;
	background-color: #ffffff;
	color: rgba(0,0,0,0.75);
}
.gallery figure figcaption {
	padding: 6px 8px;
	font-size: 14px;
	background-color: #ffffff;
	color: rgba(0,0,0,0.75);
	width: 100%;
}
.gallery figure a img {
	margin: auto;
	border-radius: var(--radius-limited);
}

.gallery.gallery-product img{
	max-width: 320px;
}

.gallery.product-items li{
	position:relative;
	overflow:clip;
	display:block;
}

.gallery.product-items .product{
	color: rgba(0,0,0,0.75);
	height: 100%;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.gallery.product-items .product:hover {
	color: rgba(0,0,0,1);
}
.gallery.product-items .product .photo{
	width: 100%;
	aspect-ratio: 1;
	background: rgba(255,255,255,1);
	background-size: contain;
	background-repeat: no-repeat;
	background-position:50%;
}
.gallery.product-items .product .photo.placeholder{
	background-size: contain;
	background-image: url('../images/placeholder/photo.svg');
	background-size: 25%;
}
.gallery.product-items .product .info{
	container-type: inline-size;
	background: #f1f1f1;
	border-top: 1px solid #cccbca;
	padding: 6px;
	flex-grow:  1;
	display: flex;
	flex-direction: column;
	gap: 15px;
	}
.gallery.product-items .product .info > *,
.gallery.product-items .product .info .pricing > *{
	margin-bottom:0;
}
.gallery.product-items .product p{
	font-size: 14px;
}
.gallery.product-items .product p.btu{
	position: absolute;
	top: 0;
	left: 0;
	padding: 6px 8px;
	background: rgba(255,255,255,0.75);
	border-right: 1px solid #cccbca;
	border-bottom: 1px solid #cccbca;
	z-index:1;
}
.gallery.product-items .product p.name{
	font-size: 14px;
	line-height: 18px;
	font-weight:700;
	flex-grow:1;
	text-wrap:balance;
}
.gallery.product-items .product .info .pricing{
	display: flex;
	align-items: baseline;
	gap: 0.5em;
}
.gallery.product-items .product p.suppliercode,
.gallery.product-items .product p.price{
	height: 1.4em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	}
.gallery.product-items .product p.price{
	font-size: 24px;
	font-weight:700;
}
.gallery.product-items .product p.listprice{
	text-decoration: underline;
	text-underline-offset: -.4em;
	text-decoration-skip-ink: none;
	text-decoration-color: rgba(0,0,0,0.25);
	text-decoration-thickness: 1px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

@media screen and (min-width: 1200px) {

	.gallery.product-items .product .info{
		padding:12px;
	}

}

.gallery.category-items li{
	position:relative;
	overflow:hidden;
	display:flex;
	align-items: center;
	justify-content: center;
	background: var(--color-primary);
	background-position: 50%;
	background-size: cover;
	background-repeat: no-repeat;
	color:white;
	text-shadow: 1px 1px 10px rgba(0,0,0,0.25);
	text-align:center;
	aspect-ratio:1;
	padding:0.5em;
}
.gallery.category-items li a{
	color:white;
	font-size:1.25em;
	font-weight:700;
	text-wrap:balance;
	z-index:1;
}

.gallery.category-items li::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.gallery.category-items li:hover::before{
	backdrop-filter: blur(2px);
}

.gallery.brand-items li{
	position:relative;
	overflow:hidden;
	display:flex;
	align-items: center;
	justify-content: center;
	background: white;
	background-position: 50%;
	background-size: contain;
	background-repeat: no-repeat;
	background-origin: content-box;
	color:black;
	text-align:center;
	aspect-ratio:1;
	padding:0.5em;
}
.gallery.brand-items li a{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size:1.25em;
	font-weight:700;
	text-wrap:balance;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}

.gallery--1,
.gallery--2 {
	justify-content: center;
}
.gallery--8 > *,
.gallery--6 > *,
.gallery--5 > *,
.gallery--4 > *{
	width: calc(50% - 18px);
}
.gallery--onerow.gallery--8 > *:nth-child(-n+2),
.gallery--onerow.gallery--6 > *:nth-child(-n+2),
.gallery--onerow.gallery--5 > *:nth-child(-n+2),
.gallery--onerow.gallery--4 > *:nth-child(-n+2),
.gallery--onerow.gallery--3 > *:nth-child(-n+2),
.gallery--onerow.gallery--2 > *:nth-child(-n+2){
	display: block;
}

@media screen and (min-width: 600px) {
	.gallery--8 > *,
	.gallery--6 > *,
	.gallery--5 > *,
	.gallery--4 > *,
	.gallery--3 > * {
		width: calc(33.333% - 18px);
	}
	.gallery--large.gallery--8 > *,
	.gallery--large.gallery--6 > *,
	.gallery--large.gallery--5 > *,
	.gallery--large.gallery--4 > *,
	.gallery--large.gallery--3 > *,
	.gallery--large.gallery--2 > *,
	.gallery--2 > *{
		width: calc(50% - 18px);
	}
	.gallery--large.gallery--onerow.gallery--8 > *:nth-child(-n+2),
	.gallery--large.gallery--onerow.gallery--6 > *:nth-child(-n+2),
	.gallery--large.gallery--onerow.gallery--5 > *:nth-child(-n+2),
	.gallery--large.gallery--onerow.gallery--4 > *:nth-child(-n+2),
	.gallery--large.gallery--onerow.gallery--3 > *:nth-child(-n+2),
	.gallery--large.gallery--onerow.gallery--2 > *:nth-child(-n+2){
		display: block;
	}
}

@media screen and (min-width: 800px) {
	.gallery--8 > *,
	.gallery--6 > *,
	.gallery--5 > *,
	.gallery--4 > * {
		width: calc(25% - 18px);
	}
	.gallery--large.gallery--8 > *,
	.gallery--large.gallery--6 > *,
	.gallery--large.gallery--5 > *,
	.gallery--large.gallery--4 > *{
		width: calc(33.333% - 18px);
	}
	.gallery--large.gallery--onerow.gallery--8 > *:nth-child(-n+3),
	.gallery--large.gallery--onerow.gallery--6 > *:nth-child(-n+3),
	.gallery--large.gallery--onerow.gallery--5 > *:nth-child(-n+3),
	.gallery--large.gallery--onerow.gallery--4 > *:nth-child(-n+3){
		display: block;
	}
}

@media screen and (min-width: 1000px) {
	.gallery--8 > *,
	.gallery--6 > *,
	.gallery--5 > * {
		width: calc(20% - 18px);
	}
	.gallery--large.gallery--8 > *,
	.gallery--large.gallery--6 > *,
	.gallery--large.gallery--5 > *{
		width: calc(25% - 18px);
	}
	.gallery--large.gallery--onerow.gallery--8 > *:nth-child(-n+4),
	.gallery--large.gallery--onerow.gallery--6 > *:nth-child(-n+4),
	.gallery--large.gallery--onerow.gallery--5 > *:nth-child(-n+4){
		display: block;
	}

}

@media screen and (min-width: 1200px) {
	.gallery--8 > *,
	.gallery--6 > * {
		width: calc(16.666% - 18px);
	}
	.gallery--large.gallery--8 > *,
	.gallery--large.gallery--6 > *{
		width: calc(25% - 18px);
	}
	.gallery--large.gallery--onerow.gallery--8 > *:nth-child(-n+4),
	.gallery--large.gallery--onerow.gallery--6 > *:nth-child(-n+4){
		display: block;
	}

}

.block-style--block{
	background-color: var(--color-secondary) !important;
	color: white;
	}

.block-style--block .gallery-wrap h2{
	font-size:1.5rem;
	color:white;
	text-align:center;
	}

.block-style--block .gallery:not(::last-child){
	margin-bottom:0;
	}

.block-style--block .gallery > *{
	border:none;
	}

.block-style--block .gallery figure{
	border:none;
	}

.block-style--block .gallery figure,
.block-style--block .gallery figure figcaption{
	background-color:transparent;
	color:white;
	}

.block-style--block .gallery figure figcaption{
	padding-top:18px;
	padding-left:0;
	padding-right:2rem;;
	}


@media screen and (min-width: 1400px) {
	.gallery--8 > *{
		width: calc(12.5% - 18px);
	}
	.gallery--large.gallery--8 > *{
		width: calc(16.666% - 18px);
	}
}

.block--breadcrumbs{
	user-select:none;
}
.block--breadcrumbs p{
	margin-bottom:0;
	font-size:0.875em;
}

.page .wrap.product{
	user-select:none;
	display:flex;
	flex-direction:column;
	gap:40px;
}
.page .wrap.product > *{
	margin-bottom:0;
	flex:1;
}
.page .wrap.product .product{
	max-width: none;
	display: flex;
	flex-direction:column;
}
.page .wrap.product .product > div{
	display: flex;
	flex-direction:column;
	flex-grow: 1;
	justify-content: space-between;
}
.page .wrap.product .product > div p.message{
	margin-bottom:2em;
}

.page .wrap.product .product .price-stock{
	flex-grow:1;
	display:flex;
	flex-direction:column;
	justify-content:center;
	margin-top:1rem;
	margin-bottom:1rem;
	text-align:center;
}
.page .wrap.product .product .price-stock p{
	margin-bottom: 10px;
}
.page .wrap.product .product .price-stock p:last-child{
	margin-bottom: 0;
}

.page .wrap.product .product .name-suppliercode-pricing{
	display:flex;
	flex-direction:column;
	gap:30px;
	margin-bottom:auto;
}
.page .wrap.product .product .name-suppliercode-pricing .name-suppliercode{
	flex:1;
}
.page .wrap.product .product .name-suppliercode-pricing .name-suppliercode h1{
	text-wrap:balance;
}
.page .wrap.product .product .name-suppliercode-pricing .pricing{
	font-size:1.5em;
	font-weight:700;
	margin-bottom:2em;
	color:rgba(0,0,0,0.75);
}
.page .wrap.product .product .name-suppliercode-pricing .pricing p{
	margin-bottom:0;
}
.page .wrap.product .product .name-suppliercode-pricing .pricing p.sale-tag {
	font-size: 1rem;
	background-color: var(--color-primary);
	padding: 5px 10px;
	margin-bottom: 10px;
	color: var(--color-tertiary);
	border-radius: var(--radius);
	text-align: center;
}
.page .wrap.product .product .name-suppliercode-pricing .pricing .listprice{
	text-decoration: line-through;
	text-decoration-skip-ink: none;
	text-decoration-color: rgba(0,0,0,0.25);
	font-weight:400;
}
.page .wrap.product .product .name-suppliercode-pricing .pricing .tax-type{
	font-size:1rem;
}
.page .wrap.product .product .name-suppliercode-pricing .pricing .freedelivery{
	font-size:0.875rem;
	font-weight: initial;
	padding: 5px 10px;
	background-color:#f1f1f1;
	border-radius: var(--radius);
	text-align: center;
	margin-top: 20px;
}
.page .wrap.product .product .brand-logo{
	display:block;
	padding:32px 0 24px 0;
	user-select:none;
	align-self:center;
}
.page .wrap.product .product > div h1{
	margin-top: 0;
}
.page .wrap.product .product > div p.suppliercode{
	margin-bottom: 0;
}
.page .wrap.product .product figure.brand-logo img{
	height: 48px;
}
.page .wrap.product .product-price *:last-child{
	margin-bottom:0;
}
.page .wrap.product .product-price p.price{
	font-size:3em;
	margin-bottom:5px;
}
.page .wrap.product .product-price p.price-small{
	opacity:0.5;
}

.product-gallery{
	display:flex;
	flex-direction:row;
	gap:5%;
	aspect-ratio:4/3;
	user-select: none;
	height: 75vw; /* aspect-ratio: 1 seems to be ignored in some cases, so approximate it */
}
.product-gallery .thumbs-container{
	position:relative;
	flex:4;
	padding:0;
	}
.product-gallery .thumbs-container > a{
	position:absolute;
	display:flex;
	justify-content: center;
	align-items: center;
	height:22px;
	background:#f1f1f1;
	border:1px solid #cccbca;
	color:black;
	text-align:center;
	width:100%;
	cursor:pointer;
	z-index:2;
	opacity:0.5;
}
.product-gallery .thumbs-container > a i{
	pointer-events:none;
}
.product-gallery .thumbs-container > a.up{
	top:-24px;
	border-top-left-radius:var(--radius-limited);
	border-top-right-radius:var(--radius-limited);
}
.product-gallery .thumbs-container > a.down{
	bottom:-24px;
	border-bottom-left-radius:var(--radius-limited);
	border-bottom-right-radius:var(--radius-limited);
}
.product-gallery .thumbs-container > a:hover{
	opacity:1;
}
.product-gallery .thumbs-container:not(.overflowing) > a,
.product-gallery.product-gallery--at-top .thumbs-container > a.up,
.product-gallery.product-gallery--at-bottom .thumbs-container > a.down{
	display:none;
}
.product-gallery ul{
	position:relative;
	display:flex;
	flex-direction:column;
	gap:9px;
	height:100%;
	overflow-y: hidden;
	z-index:1;
}
.product-gallery ul li{
	padding-bottom:1px; /* bit hacky but it prevents half pixel scroll offests from removing the border of the last element */
}
.product-gallery ul li a{
	border:1px solid rgba(128,128,128,0.25);
	opacity:0.75;
	display:block;
	border-radius:var(--radius-limited);
	overflow:clip;
}
.product-gallery ul li.active a{
	border:1px solid rgba(128,128,128,0.5);
}
.product-gallery ul li.active a,
.product-gallery ul li:hover a{
	opacity:1;
}
.product-gallery ul li a img{
	display:block;
	object-fit:contain;
	margin:0 auto;
	aspect-ratio: 1;
	touch-action: none;
	width:100%;
}
.product-gallery figure{
	flex:15;
	border:1px solid rgba(128,128,128,0.25);
	border-radius:var(--radius-limited);
	overflow:clip;
}
.product-gallery figure a{
	display:block;
	cursor:zoom-in;
	height:100%;
}
.product-gallery figure img{
	display:block;
	object-fit:contain;
	margin:0 auto;
	aspect-ratio: 4/3;
	width: 100%;
}
.product-gallery.product-gallery--multi figure img{
	aspect-ratio: 1;
	}

@media screen and (min-width: 900px) {

	.page .wrap.product{
		flex-direction:row;
	}
	.page .wrap.product .product .brand-logo{
		align-self:unset;
	}
	.page .wrap.product .product .name-suppliercode-pricing{
		flex-direction:row;
	}
	.page .wrap.product .product .name-suppliercode-pricing .pricing{
		text-align:right;
		margin-bottom:0;
	}
	.page .wrap.product .product .name-suppliercode-pricing .pricing .tax-type{
		display:block;
	}
	.page .wrap.product .product-gallery{
		order:-1;
		height:auto;
	}
	.page .wrap.product header{
		text-align:left;
	}

	.page .wrap.product .product .price-stock{
		text-align:left;
	}

}

form.add-to-basket,
form.search-big{
	margin-top: 0;
	margin-bottom: 0;
}
form.add-to-basket{
	padding-top:1rem;
	border-top:1px solid rgba(128,128,128,0.25);
	max-width:none;
}

form.search-big fieldset > div{
	display:flex;
	flex-direction:column;
}
form.add-to-basket p.price{
	line-height: 29px;
	font-size: 1.3333em;
}
div.add-to-basket{
	display: flex;
	flex-direction:row;
	justify-content:center;
}
form.add-to-basket select{
	width: 5em;
}
form.add-to-basket select,
form.search-big input{
	user-select: none;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
form.add-to-basket button,
form.search-big button{
	margin-right: 0;
	margin-bottom: 0;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	user-select: none;
}

@media screen and (min-width: 900px) {

	div.add-to-basket{
		justify-content:space-between;
	}

	form.add-to-basket select,
	form.add-to-basket button{
		border-radius:var(--radius);
	}
}

dl.specification {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5em 2em;
	font-size: 14px;
}
dl.specification dt,
dl.specification dd {
	margin: 0;
}
dl.specification dt {
	font-weight:700;
}
dl.specification dd {
	padding-right: 3em;
}


@media screen and (min-width: 600px) {

	dl.specification {
		grid-template-columns: 1fr 2fr;
	}

}

@media screen and (min-width: 1000px) {

	dl.specification {
		grid-template-columns: 1fr 2fr 1fr 2fr;
	}

}

ul.features{
	margin-bottom:2em;
}
ul.features li{
	list-style-type:disc;
	margin-left:1.5em;
	margin-bottom:0.25em;
}

table.orders{
	font-size: 15px;
	margin-bottom:1em;
}
table.orders th,
table.orders td{
	text-align: left;
	padding-right: 3em;
}

/*
 Brands
*/

.brands > * {
	position: relative;
	border: none;
	background-color: #ffffff;
}

.brands > *:before {
	content: '';
	width: 100%;
	height: 0;
	padding-bottom: 66.666%;
	display: block;
}

.brands img {
	display:block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	object-position: center;
	position: absolute;
	padding: 20px;
	left: 0;
	top: 0;
}

.brands .with-link:hover, /* originally these held seperate rules to indicate difference, however their css is currently merged */
.brands .with-profile:hover {
	transition: box-shadow 0.3s ease;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);

}



/*
 Welcome
*/
.welcome-content {
	max-width: 595px;
	overflow: hidden;
}

.welcome-content h1{
	margin-top:0;
}

@media screen and (min-width: 500px) {

	.wrap--welcome {
		display: flex;
		align-items: center;
		padding-top:40px;
		padding-bottom:40px;
		}
	.wrap--welcome > *{
		flex-grow:1;
		}

	.welcome-image {
		margin-right: 30px;
		max-width: 428px;
		border-radius: var(--radius);
		overflow:hidden;
	}

	.welcome-image + .welcome-content {
		margin-right: 0;
	}
}

/*
 Brand Welcome
*/
.brand-welcome-content {
	max-width: 800px;
	margin: 30px auto 0 auto;
	overflow: hidden;
}

.brand-welcome-logo img{
	margin-bottom:0;
}

@media screen and (min-width: 500px) {
	.brand-welcome-logo {
		margin-top: 0.25em;
		margin-left: 50px;
		margin-bottom: 30px;
		float: right;
		width: 38%;
		max-width: 200px;
	}

	.brand-welcome-content + .brand-welcome-logo {
		margin-left: 0;
	}
}




/*
 Slider
*/
.slider {
	margin-right: auto;
	margin-left: auto;
	max-width: 1333px;
	position: relative;
}

.slider nav {
	position: absolute;
	pointer-events: none;
	bottom: -2rem;
	width: 100%;
	left: 0;
}

.slider.slider--no-nav nav {
	display: none;
	}

.slider nav button {
	pointer-events: auto;
	margin: 0 0.25rem;
	border-radius: 100%;
	width: 12px;
	height: 12px;
	border: 2px solid var(--color-primary);
	padding: 0;
	color: inherit;
	background-color: transparent;
	transition: 300ms background-color;
	cursor: pointer;
	opacity: 0.5;
}
.slider nav:hover button {
	opacity: 1;
	}

.slider nav button.active {
	background-color: var(--color-primary);
}

.page.inverse .slider nav button {
	border-color: #ffffff !important;
}
.page.inverse .slider nav button.active {
	background-color: #ffffff !important;
}

.slide {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height:0;
	padding-bottom:32%;
	position:relative;
}

.slider--tall .slide {
	padding-bottom:50%;
}

.slide__flex {
	position: absolute;
	top: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	display: none;
}

.slide a{
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	cursor: pointer;
}
.slide a:hover{
	background: rgba(255,255,255,0.1);
}

.slide__content {
	padding: 20px;
	max-width: 500px;
}
.slide__content h4 {
	margin-bottom: 1em;
	font-size: 1.25em;
	}

.slide__content * {
	color: inherit;
	}

.slide__content img.logo {
	float: right;
}

.slide__content:after {
	content: '';
	display: table;
	clear: both;
}

.slider .prev,
.slider .next {
	-webkit-tap-highlight-color: transparent;
	background-color:rgba(0,0,0,0.75);
	background-position:16px 50%;
	background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iNDIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIyLjE4IDQwLjg5NGExLjUgMS41IDAgMCAxLTIuMTIxLS4wMDFMMS40MzUgMjIuMjM5YTIgMiAwIDAgMSAuMDAxLTIuODI3TDIwLjA1OS43ODdhMS41IDEuNSAwIDAgMSAyLjEyMSAyLjEyMUw0LjI2MiAyMC44MjZsMTcuOTIgMTcuOTQ3YTEuNSAxLjUgMCAwIDEtLjAwMiAyLjEyMXoiIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg==);
	background-repeat: no-repeat;
	background-size: 12px;
	border-radius: 50%;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	height: 48px;
	width: 48px;
	opacity:0.5;
}

.slider .next {
	right: 10px;
	left: auto;
	transform: translateY(-50%) scaleX(-1);
}

.slider .prev:hover,
.slider .next:hover {
	opacity: 1;
}

.slider.slider-1 .prev,
.slider.slider-1 .next {
	display:none;
}

@media screen and (min-width: 600px) {
	.slider .prev {
		left: 40px;
	}

	.slider .next {
		right: 40px;
	}

	.slide__flex {
		display: flex;
	}

	.slide__content {
		margin-left: 90px;
		padding: 45px;
	}

	.slider nav button {
		width: 15px;
		height: 15px;
	}
}

@media screen and (min-width: 1540px) {

	.slider .prev {
		left: -70px;
	}

	.slider .next {
		right: -70px;
	}

}

/* Branchfinder */

div.map{
	border-top:1px solid rgba(66,66,66,0.2);
	}
	div.map .container{
		padding:0;
		max-width:100%;
		}
		div.map .gmap{
			min-height:50vh;
			}

div.branchfinder.map .container{
	position:relative;
	min-height:70vh;
	}
	div.branchfinder.map .branchlist{
		position:absolute;
		left:0;
		top:0;
		bottom:0;
		width:33.33%;
		background:#ffffff;
		color:rgba(0,0,0,0.75);
		padding:1rem;
		box-sizing:border-box;
		border-color:rgba(66,66,66,0.2);
		border-style:solid;
		border-width:0 1px 0 0;
		overflow-y:auto;
		}
		div.branchfinder.map p.noresults{
			margin-bottom:0;
			text-align:center;
			}
		div.branchfinder.map .branchlist ul{
			margin:0;
			list-style-type:none;
			}
			div.branchfinder.map .branchlist ul li{
				position:relative;
				padding:1rem 1rem 1rem 3rem;
				border:1px solid rgba(66,66,66,0.1);
				margin-bottom:0.5em;
				border-radius:var(--radius);
				}
			div.branchfinder.map .branchlist ul li:last-child{
				margin-bottom:0;
				}
			div.branchfinder.map .branchlist ul li:hover,
			div.branchfinder.map .branchlist ul li.maphover{
				background:rgba(66,66,66,0.1);
				}
				div.branchfinder.map .branchlist ul li div.letter{
					position:absolute;
					left:1rem;
					width:1.5em;
					height:1.5em;
					line-height:1.5em;
					background:#f76355;
					border:1px solid #b64034;
					border-radius:50%;
					text-align:center;
					font-size:0.8125em;
					color:#000000;
					}
				div.branchfinder.map .branchlist ul li p{
					font-size:0.8125em;
					margin-bottom:0.5em;
					}
				div.branchfinder.map .branchlist ul li p.member{
					font-weight:700;
					}
				div.branchfinder.map .branchlist ul li p.distance{
					float:right;
					margin-left:1rem;
					font-size:0.75em;
					}
	div.branchfinder.map .branchmap{
		position:absolute;
		right:0;
		top:0;
		bottom:0;
		width:66.66%;
		box-sizing:border-box;
		}
		div.branchfinder.map .gmap{
			height:70vh;
			}

@media screen and (max-width: 1023px) {

	div.branchfinder.map .branchlist,
	div.branchfinder.map .branchmap{
		width:50%;
		}

	}

@media screen and (max-width: 640px) {

	div.branchfinder.map .branchlist,
	div.branchfinder.map .branchmap{
		position:static;
		width:100%;
		}
	div.branchfinder.map .branchlist{
		border-width:0 0 1px 0;
		}

	}

.terms{
}
.terms #index ol,
.terms h2{
	text-transform:uppercase;
}

.terms ul li{
	margin-left:2rem;
}
.terms.numbered-terms ul li{
	list-style-type:none;
	margin-bottom:0.75em;
}

.terms [data-reference]:before{
	content:attr(data-reference);
	display:inline-block;
	margin-right:0.5em;
}

@media screen and (min-width: 1023px) {

	.terms [data-reference]:before{
		position:absolute;
		left:-3.5rem;
	}

}


.terms table{
	width: 100%;
	border-collapse: collapse;
	border:1px solid #d6d6d6;
	margin: 0 0 1em;
}
.terms table th,
.terms table td{
	vertical-align:top;
	text-align:left;
	padding:0.25em 0.5em;
	border:1px solid #d6d6d6;
	font-size:14px;
}

table.basket,
table.basket-totals{
	width: 100%;
	border-collapse: collapse;
}
table.basket th,
table.basket td,
table.basket-totals th,
table.basket-totals td{
	text-align:left;
	padding:8px;
	position:relative;
}
table.basket tbody tr{
	border-top: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
}
table.basket tbody tr:last-child{
	border-bottom-width:0;
}
table.basket-totals tr{
	border-top: 1px solid #d6d6d6;
}
table.basket td h4{
	font-weight:700;
	margin-bottom: 0.5em;
}
table.basket td *:last-child{
	margin-bottom: 0;
}
table.basket td.thumbnail{
	padding: 8px;
	height: 144px;
	width: 144px;
	background: #ffffff;
	}
table.basket td.thumbnail .photo{
	height: 128px;
	width: 128px;
	background-size: contain;
	background-position: 50%;
	background-repeat: no-repeat;
}
table.basket td.thumbnail .photo.placeholder{
	background-image: url('../images/placeholder/photo.svg');
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: 30%;
}
table.basket th.alignright,
table.basket td.alignright,
table.basket-totals th.alignright,
table.basket-totals td.alignright{
	text-align: right;
}
table.basket td.quantity form{
	display: inline-block;
	margin-top: 0;
	margin-bottom: 0;
}

table.basket td.quantity input{
	display: inline-block;
	width: 3em;
	text-align: center;
	padding: 4px;
}
table.basket span.stock-warining{
	color:orange;
}
table.basket a.basketremoveitembutton{
	display: inline-block;
	margin-left: 0.5em;
}
table.basket a.basketremoveitembutton:hover{
	color:red;
}

.deliverymethod label{
	display: inline-block;
	padding: 0;
	height: 20px;
	line-height: 20px;
}
.deliverymethod input{
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 1em 0 0;
	vertical-align: middle;
}

@media screen and (max-width: 800px) {

	table.basket thead,
	table.basket tbody td.singleprice{
		display:none;
	}
	table.basket,
	table.basket tbody,
	table.basket tbody tr,
	table.basket tdboy th,
	table.basket tbody td{
		display:block;
	}
	table.basket th,
	table.basket td,
	table.basket-totals th,
	table.basket-totals td{
		padding-left:0;
		padding-right:0;
	}
	table.basket tbody{
		width:100%;
	}
	table.basket tbody tr{
		border:none;
	}
	table.basket tbody tr{
		margin-bottom:2rem;
	}
	table.basket tbody tr td.alignright:last-child{
		text-align:left;
	}
	table.basket td.thumbnail{
		float:right;
	}
	table.basket td.thumbnail{
		width:80px;
		height:80px;
	}
	table.basket td.thumbnail .photo{
		width:64px;
		height:64px;
	}

}

#basket form,
form.checkout{
	max-width: none;
}
form.checkout,
form.checkout-previous,
form.checkout-next{
	margin-top: 0;
	margin-bottom: 0;
}

.checkout-proceed{
	max-width: 648px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
}
.checkout-next{
	margin-top: 0;
	float: right;
}
.checkout-proceed .button,
.checkout-next .button{
	margin-right: 0;
}
.checkout-proceed .button,
.checkout-next .button,
.checkout-previous .button-light{
	margin-bottom: 0;
}

@media screen and (max-width: 600px) {
	form.checkout-next{
		float:none;
		margin-bottom:1rem;
	}
	.checkout-proceed .button,
	.checkout-next .button,
	.checkout-previous .button-light{
		width:100%;
	}

}

fieldset.paymentoptions ul{
	margin-bottom: 1em;
	display:flex;
	flex-align:row;
}
fieldset.paymentoptions ul li{
	flex-grow: 1;
	text-align: center;
}

fieldset.paymentoptions label{
	display: inline-block;
	padding: 0;
	height: 20px;
	line-height: 20px;
}
fieldset.paymentoptions input{
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 1em 0 0;
	vertical-align: middle;
}

.grecaptcha-badge{
	opacity: 0.5;
	}

.gslide-image{
	background:rgba(255,255,255,1);
	padding:10px;
}

/* Calculators */

fieldset.result{
	text-align: center;
}
fieldset.result input{
	text-align: center;
	font-size: 2.5em;
	border: none;
	background: transparent;
	box-shadow: none;
}

form.btusearch p{
	text-align: center;
}
form.btusearch .button{
	margin-right: 0;
}

@media print{

	.bar,
	.usps,
	.header,
	.button{
		display:none;
	}

}