@charset "UTF-8";

/* 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;
	vertical-align: baseline;
}
body {
}
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;
}
input[type=hidden]{
	visibility:hidden;
	}

strong{
	font-weight:bold;
	}

.clearfix{
	overflow:hidden;
	}

.notransition {
	transition: none !important;
}

/* SITE STYLES */

:root {
	--ipg-blue: rgba(0,141,195,1);
	--ipg-darkblue: rgba(27,73,121,1);
	--ipg-grey: rgba(124,124,124,1);
	--ipg-darkgrey: rgb(48,46,58);
	--ipg-pink: rgba(214,51,132,1);
	--rvs-red: rgba(183,12,75,1);
	--black: rgba(0,0,0,1);
	--black-10: rgba(0,0,0,0.1);
	--black-20: rgba(0,0,0,0.2);
	--black-25: rgba(0,0,0,0.25);
	--black-50: rgba(0,0,0,0.5);
	--black-75: rgba(0,0,0,0.75);
	--white: rgba(255,255,255,1);
	--white-10: rgba(255,255,255,0.1);
	--white-20: rgba(255,255,255,0.2);
	--white-25: rgba(255,255,255,0.25);
	--white-50: rgba(255,255,255,0.5);
	--white-75: rgba(255,255,255,0.75);
	--lightgrey: rgba(246,246,246,1);
	--lightblue: rgba(233,246,251,1);
	--lightpink: rgba(252,230,239,1);
	--lightgreyblue: rgba(234,241,246,1);
	--fast: 0.2s;
	--slow: 1s;
	--line-height-small: 1.25;
	--line-height-medium: 1.5;
}

html{
	overflow-y:scroll;
	scroll-behavior:smooth;
	}

body,input,textarea,button{
	font-size:100%;
	font-family:proxima-nova, sans-serif;
	}

body{
	background-color:var(--ipg-darkgrey);
	color:var(--white);
	}

@keyframes wheel{
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(720deg);
	}
}
@keyframes pressure{
	0%, 30% {
		transform: rotate(-130deg);
	}
	90%, 100% {
		transform: rotate(136deg);
	}
}
@keyframes spiking{
	from {
		transform: rotate(-130deg);
	}
	to {
		transform: rotate(100deg);
	}
}

/* Structure */

header,
nav.main,
section,
footer{

	}
header .container,
nav.main .container,
section .container,
footer .container{
	max-width:1240px;
	min-width:320px;
	padding:2rem 1.25rem;
	margin:0 auto;
	position:relative;
	box-sizing:border-box;
	overflow:hidden;
	}

section .outer{
	max-width:1920px;
	margin:0 auto;
	}

body:not(.menu-open) nav.mobile{
	display:none;
	}

#wrapper header{
	background-color:var(--ipg-grey);
	background-position:50%;
	background-size:cover;
	background-repeat:no-repeat;
	color:var(--white);
	}
	header .container{
		position:relative;
		padding:0;
		overflow:visible;
		}
	header .upper{
		min-height:68px;
		padding:2rem 1.25rem;
		display:flex;
		}
		header .upper a.logo{
			}
			header .upper a.logo,
			header .upper a.logo img{
				display:block;
				height:68px;
				}
				header .upper a.logo:hover{
					opacity:0.8;
					}
		header .upper nav.primary{
			margin-left:30px;
			}
		header .upper nav.secondary,
		header .upper nav.mobile-toggle{
			margin-left:auto;
		}
		header .upper nav.secondary ul li:last-child a{
			background: var(--white);
			color: var(--ipg-darkgrey);
			clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0.75rem, calc(100% - 0.75rem) 0);
			line-height: 52px;
			margin-block: 8px;
			}
			header .upper nav.secondary ul li:last-child a:hover{
				opacity: 0.95;
				}
		header .upper nav.secondary ul li a.trade{
			color: var(--ipg-pink);
			}
		header .upper nav.mobile-toggle{
			display:none;
			}
			header .upper nav.mobile-toggle a{
				font-size:2rem;
				}
			header .upper nav.mobile-toggle i{
				display:none;
				}
			body.menu-open header .upper nav.mobile-toggle i.icon-close{
				display:inline-block;
				}
			body:not(.menu-open) header .upper nav.mobile-toggle i.icon-toggle{
				display:inline-block;
				}
		header .upper nav li{
			display:inline-block;
			}
		header .upper nav li a{
			display:inline-block;
			padding-left:30px;
			padding-right:30px;
			}
		header .upper nav a{
			line-height:68px;
			color:var(--white);
			text-decoration:none;
			}
		header .upper nav a:hover{
			opacity:0.8;
			}

	header nav.mobile{
		position:absolute;
		width:100%;
		background-color:var(--ipg-darkgrey);
		color:var(--white);
		padding:2rem 1.25rem;
		z-index:99;
		box-shadow:0 10px 10px 0 rgba(0,0,0,0.5);
		box-sizing:border-box;
		}
		header nav.mobile ul{
			margin-bottom:2rem;
			}
			header nav.mobile ul li{
				font-size:1.25rem;
				}
				header nav.mobile ul li a{
					padding:1rem;
					display:block;
					color:var(--white);
					text-decoration:none;
					}

	header .lower{
		min-height:360px;
		padding:3rem 1.25rem;
		display:flex;
		align-items:flex-start;
		gap:4rem;
		}
	body.content-c4ca4238a0b923820dcc509a6f75849b header .lower{
		min-height:480px;
		padding-top:4rem;
		padding-bottom:4rem;
		}
		header .lower aside{
			color:var(--white);
			padding:4rem 2.5rem;
			width:100%;
			max-width:900px;
			min-height:100px;
			box-sizing:border-box;
			margin: 0 auto;
			text-align:center;
			}
			header .lower aside h4{
				font-size:3em;
				font-weight:bold;
				margin-bottom:1rem;
				line-height:var(--line-height-small);
				text-shadow: 1px 1px 16px var(--black-50);
				}
				header .lower aside h4 strong{
					color: var(--white) !important;
					}
			header .lower aside p{
				margin-bottom:2rem;
				line-height:var(--line-height-small);
				text-shadow: 1px 1px 8px var(--black-50);
				}
			header .lower aside.lede p:first-of-type{
				font-size:1.5rem;
				}
			header .lower aside.lede a.button{
				margin-top: 3rem;
			}
			header .lower aside.lede a.button:hover{
				opacity:0.95;
				}
			header .lower aside *:last-child{
				margin-bottom:0;
				}
		header .lower aside.contact{
			padding-top:2rem;
			padding-bottom:2rem;
			}
		header .lower aside.contact h2{
			font-size:1.5rem;
			margin-bottom:1rem;
			}

	header .testimonials{
		display:flex;
		gap:2rem;
		padding:2rem;
		border-top:1px solid var(--white-50);
		}
		header .testimonials blockquote{
			flex:1;
			padding:2rem;
			color:var(--white);
			}
			header .testimonials blockquote p{
				font-size:1.25rem;
				margin-bottom:1rem;
				line-height:var(--line-height-small);
				text-shadow: 1px 1px 8px var(--black-50);
				}
			header .testimonials blockquote cite{
				font-size:1rem;
				font-style:normal;
				color:var(--white-75);
				text-shadow: 1px 1px 8px var(--black-50);
				}

.comp-modal {
	position:fixed;
	z-index:99;
	top:0;
	left:0;
	bottom:0;
	right:0;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:var(--black-50);
	backdrop-filter:blur(5px);
	}
.comp-modal section{
	display:flex !important;
	width:100%;
	max-width:600px;
	background:var(--white);
	border-radius:5px;
	}
	.comp-modal section.contact .container{
		padding:2rem 1.25rem;
		padding-bottom:2rem;
		overflow: auto;
		max-height: 90vh;
		}

form.storefinder{
	padding-top:1rem;
	}
	form.storefinder input{
		display:inline-block;
		font-size:1.5em;
		padding:0.5rem 0.5rem 0.5rem 2.5rem;
		box-sizing:border-box;
		color:var(--ipg-grey);
		border:1px solid var(--black-25);
		width:50%;
		max-width:12em;
		}
	form.storefinder input:hover{
		border:1px solid var(--black-50);
		}
	form.storefinder input:focus{
		border:1px solid var(--black);
		outline:none;
		}
	form.storefinder fieldset{
		position:relative;
		}
	form.storefinder fieldset > i{
		position:absolute;
		left:0;
		font-size:1.5em;
		padding:calc(0.75rem + 1px) 0.5rem;
		color:var(--black-25);
		}
	form.storefinder button{
		display:inline-block;
		font-size:1.5em;
		padding-top:calc(0.5rem + 1px);
		padding-bottom:calc(0.5rem + 1px);
		margin-right:1rem;
		}
	form.storefinder .button--secondary{
		margin-right:0;
		}

section{
	background-color:var(--white);
	color:var(--ipg-darkgrey);
	}

section.heading{

	}
	section.heading .container{
		padding-top:50px;
		padding-bottom:50px;
		}
	section.heading h1,
	section.heading h2{
		font-size:2em;
		font-weight:bold;
		max-width:30em;
		line-height:var(--line-height-medium);
		text-align:center;
		margin-left:auto;
		margin-right:auto;
		text-wrap:balance;
		}
	section.heading p{
		max-width:40em;
		text-align:center;
		margin-left:auto;
		margin-right:auto;
		}
	section.heading *:last-child{
		margin-bottom:0;
		}

section.appdownload{

	}
	section.appdownload .container{
		padding-top:25px;
		padding-bottom:25px;
		}
		section.appdownload p {
			text-align:center;
		}
		section.appdownload p > a {
			display: inline-block;
			margin: 8px 16px;
			text-decoration: none;
			}
			section.appdownload p > a > img {
				display: block;
				height: 64px;
				}

section.portal{
	}
	section.portal .outer{
		background-color:rgba(0,141,195,1);
		color:var(--white);
		}
	section.portal .container{
		padding-top:25px;
		padding-bottom:75px;
		}
	section.portal h1,
	section.portal h2{
		font-size:2em;
		font-weight:500;
		text-align:center;
		max-width:30em;
		margin-left:auto;
		margin-right:auto;
		}
	section.portal p{
		text-align:center;
		max-width:40em;
		margin-left:auto;
		margin-right:auto;
		}
	section.portal p img{
		display:block;
		width:100%;
		}
	section.portal p:last-child{
		margin-top:2em;
		margin-bottom:0;
		}

section.cta{
	background:var(--ipg-darkblue);
	color:var(--white);
	}
section.cta .container{
	padding-top:50px;
	padding-bottom:50px;
	display: flex;
	justify-content: space-around;
	align-items: center;
	}
	section.cta .container h2{
		font-size:2em;
		}
	section.cta .container p{
		text-align:center;
		}

section.ctabuttons{

	}
	section.heading + section.ctabuttons .container{
		padding-top: 0;
		}
	section.ctabuttons .container{
		padding-top:50px;
		padding-bottom:50px;
		display: flex;
		justify-content: space-around;
		align-items: center;
		}

@media (max-width: 1024px) {

	section.ctabuttons .container{
		flex-direction: column;
		gap: 2rem;
		}

}


section.multiblock{

	}
	section.multiblock .container{
		padding-top:50px;
		padding-bottom:50px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		grid-template-areas:
			"one";
		gap:2rem;
		}
		section.multiblock .container:has(.block:nth-child(2)) {
			grid-template-columns: repeat(2, 1fr);
			grid-template-areas:
				"one two";
			}
		section.multiblock .container:has(.block:nth-child(3)) {
			grid-template-columns: repeat(2, 1fr);
			grid-template-areas:
				"one two"
				"one three";
			}
		section.multiblock .container:has(.block:nth-child(4)) {
			grid-template-columns: repeat(2, 1fr);
			grid-template-areas:
				"one two"
				"three four";
			}
		section.multiblock .container:has(.block:nth-child(5)) {
			grid-template-columns: repeat(3, 1fr);
			grid-template-areas:
				"one two three"
				"four five five";
			}
		section.multiblock .container .block{
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			flex: 1;
			background: var(--lightgrey);
			padding: 2rem;
			gap: 2rem;
			clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 2rem, calc(100% - 2rem) 0);
			}
			section.multiblock .container .block:nth-child(1) {
				grid-area: one;
				}
			section.multiblock .container .block:nth-child(2) {
				grid-area: two;
				background:var(--lightgreyblue);
				}
			section.multiblock .container .block:nth-child(3) {
				grid-area: three;
				background:var(--lightblue);
				}
			section.multiblock .container .block:nth-child(4) {
				grid-area: four;
				}
			section.multiblock .container .block:nth-child(5) {
				grid-area: five;
				background:var(--lightgreyblue);
				}
			.subtheme-trade section.multiblock .container .block:nth-child(3),
			.subtheme-trade section.multiblock .container .block:nth-child(5){
				background:var(--lightpink);
				}
			section.multiblock .container .block:nth-child(2),
			section.multiblock .container .block:nth-child(3),
			section.multiblock .container .block:nth-child(4),
			section.multiblock .container .block:nth-child(5){
				flex-direction:row;
				}
				section.multiblock .container .block:nth-child(2) div.image,
				section.multiblock .container .block:nth-child(3) div.image,
				section.multiblock .container .block:nth-child(4) div.image{
					order: 1;
					}
			section.multiblock .container .block img{
				display: block;
				max-width: 100%;
				align-self: center;
				}
			section.multiblock .container .block div.body{
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				gap: 1rem;
				}
			section.multiblock .container .block h5{
				font-size: 1.75em;
				font-weight: bold;
				line-height: var(--line-height-small);
				text-wrap: balance;
				}
			section.multiblock .container .block p{
				flex: 1;
				line-height: var(--line-height-medium);
				}
			section.multiblock .container .block a{
				margin-top: 1rem;
				}

@media (min-width: 1023px) {

	section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(1) div.image,
	section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(2) div.image,
	section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(5) div.image{
		order: 1;
		}
	section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(2) {
		flex-direction: column;
		padding-bottom: 0;
		gap: 3rem;
		}
	section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(3),
	section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(4) {
		flex-direction: column;
		align-items: flex-start;
		min-height: 300px;
		gap: 1rem;
		}
		section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(3) div.image,
		section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(4) div.image {
			order: 0;
			}
		section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(3) div.image img.icon,
		section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(4) div.image img.icon{
			height: 32px;
			}
	section.multiblock[id="163e8696c74d974797afd6d7e3079f91"] .container .block:nth-child(5) div.body{
		width: 60%;
		}

}

@media (max-width: 1024px) {

	section.multiblock .container{
		display: flex;
		flex-direction: column;
		}
		section.multiblock .container .block{
			flex-direction: row;
			}
			section.multiblock .container .block div.image{
				order: 1;
				}

}

section.audience{
	background:var(--lightgrey);
	}
	section.audience .container{
		padding-top:50px;
		padding-bottom:50px;
		display: flex;
		justify-content: center;
		align-items: stretch;
		gap: 50px;
		}
		section.audience .container > div{
			flex: 2;
			align-items: center;
			display: flex;
			justify-content: space-between;
			gap: 2em;
			line-height:var(--line-height-medium);
			padding: 1em 1.5em;
			}
		section.audience .container > div.merchant{
			flex: 3;
			background: var(--ipg-darkgrey);
			color: var(--white);
			}
		section.audience .container > div.trade{
			background:white;
			}
			section.audience .container > div.trade h2{
				font-size: 2em;
				color:var(--ipg-pink);
				}
		section.audience .container div.who{

			}
		section.audience .container h2{
			font-size:1.5em;
			font-weight: bold;
			}
		section.audience .container p{
		}
		section.audience .container a.button{
			white-space: nowrap;
			}

section.splash{

	}
	section.splash .container{

		}

		section.splash nav ul{
			display: flex;
			gap: 1rem;
			}
			section.splash nav ul li{
				flex: 1;
				display: flex;
				flex-direction: column;
				padding: 3rem;
				box-sizing: border-box;
				background-color: var(--ipg-darkgrey);
				color: var(--white);
				background-size: cover;
				background-position: 50%;
				background-repeat: no-repeat;
				}
				section.splash nav ul li img.logo{
					display: inline-block;
					width: 128px;
					height: auto;
					margin-bottom: 3rem;
					}
				section.splash nav ul li h2{
					font-weight: bold;
					max-width: 18ch;
					text-wrap: balance;
					margin-bottom: 2rem;
					}
			section.splash nav ul li a.button{
				font-weight: bold;
				font-size: 1.125rem;
				margin-bottom: 2rem;
				}
			section.splash nav ul li hr{
				width: 100%;
				border: 0;
				border-top: 1px solid var(--white);
				margin-top: 0;
				margin-bottom: 1rem;
				}

section.body{

	}
	section.body .container{
		padding-top:50px;
		padding-bottom:50px;
		width:100%;
		max-width:50rem;
		}
	section.heading + section.body .container{
		padding-top:0;
		}
		section.body .container > *:last-child,
		section.body .container div.body > *:last-child{
			margin-bottom:0;
			}
	section.body .container h2{
		font-weight:bold;
		}
	section.body.hasimages .container{
		display:flex;
		align-items:center;
		max-width:1600px;
		gap:60px;
		}
	section.body.hasimages .container > *{
		flex:1;
		}
		section.body.hasimages .container .body{
			padding:2rem;
			}
		section.body.hasimages .container .body > *{
			max-width:30rem;
			}
		section.body.hasimages .container img{
			width:50%;
			background-size:contain;
			background-position:50%;
			background-repeat:no-repeat;
			}
		section.body.hasimages .container .body-embed .video{
			position:relative;
			padding-bottom:56.25%;
			overflow:hidden;
			border-radius:5px;
			max-width:100%;
			height:auto;
			}
			section.body.hasimages .container .body-embed .video iframe,
			section.body.hasimages .container .body-embed .video object,
			section.body.hasimages .container .body-embed .video embed{
				position:absolute;
				top:0;
				left:0;
				width:100%;
				height:100%;
				}
		section.body.hasimages:nth-of-type(odd) .container .body-embed,
		section.body.hasimages:nth-of-type(odd) .container img{
			order:-1;
			}
		section.body.hasimages:nth-of-type(even) .container .body-embed,
		section.body.hasimages:nth-of-type(even) .container img{
			order:1;
			}
	section.body .container > ul li{
		max-width:46rem;
		}
	body.content-newsitem section.body .container > p:first-child{
		font-size:1.75em;
		margin-bottom:2em;
		}

section.body.alert{
	background:#008dc3;
	color:#ffffff;
	}

section.body.tradelocalday{
	background:#363B7E;
	color:#ffffff;
	}
	section.body.tradelocalday .container{
		padding-top: 25px;
		padding-bottom: 25px;
		display:flex;
		justify-content:space-between;
		max-width:1240px;
		}
		section.body.tradelocalday .container img{
			display:block;
			height:75px;
			}

section.body.rvs{
	background: var(--rvs-red);
	color: var(--white);
	}
	section.body.rvs .container{
		padding-top: 25px;
		padding-bottom: 25px;
		display: flex;
		align-items: center;
		max-width: 1240px;
		}
		section.body.rvs .container img{
			display: block;
		}
		section.body.rvs .container img.rvs-logo{
			padding-right:2em;
			margin-right:2em;
			height:75px;
		}
		section.body.rvs .container img.rvs-wording{
			height:50px;
		}
		section.body.rvs .container .button{
			background:var(--white) !important;
			color:var(--rvs-red) !important;
			margin-left: auto;
			font-weight:bold;
		}
		section.body.rvs .container .button::before{
			background-color:var(--ipg-white) !important;
			background-image:linear-gradient(var(--white-20), var(--white-10)) !important;
			}
		section.body.rvs .container .button:hover::before{
			background-image:linear-gradient(var(--white-10), var(--white-20)) !important;
			}

section.keypages{
	background-color:var(--lightgrey);
	}
	section.keypages .container{
		padding-top:60px;
		padding-bottom:90px;
		}
	section.heading + section.keypages .container{
		padding-top:0;
		}
	section.keypages .container > h3{
		font-size:1.5rem;
		font-weight:bold;
		margin-bottom:3rem;
		}
	section.keypages nav{
		box-sizing:border-box;
		}
		section.keypages nav ul{
			display:flex;
			justify-content:center;
			gap:2rem;
			}
			section.keypages nav ul li{
				box-sizing:border-box;
				flex:1;
				display:flex;
				flex-direction:column;
				background-color:var(--white);
				}
				section.keypages nav ul li div.image{
					height:0;
					padding-bottom:100%;
					background-color:var(--ipg-grey);
					background-position:50%;
					background-size:cover;
					background-repeat:no-repeat;
					}
					section.keypages nav ul li.story div.image{
						background-image:url('../image/keypages/story.jpg');
						}
					section.keypages nav ul li.stores div.image{
						background-image:url('../image/keypages/stores.jpg');
						}
					section.keypages nav ul li.advice div.image{
						background-image:url('../image/keypages/advice.jpg');
						}

				section.keypages nav ul li div.content{
					padding:1.5rem 1rem 0.5rem 1rem;
					flex:1;
					}
					section.keypages nav ul li h3{
						line-height:var(--line-height-medium);
						font-size:1.25rem;
						font-weight:bold;
						margin-bottom:1rem;
						}
					section.keypages nav ul li p{
						font-size:1em;
						line-height:var(--line-height-medium);
						margin-bottom:1rem;
						}
				section.keypages nav ul li div.actions{
					padding:0 1rem 1.5rem 1rem;
					}

section.share{
	}
	section.share .container{
		padding-top:50px;
		padding-bottom:50px;
		}
	section.share .container p{
		font-weight:500;
		}
	section.share .container a{
		color:inherit;
		display:inline-block;
		margin-left:0.25em;
		font-size:1.25em;
		}

section.latestnews{
	}
	section.heading + section.latestnews .container{
		padding-top:0;
		}
	section.latestnews ol{
		list-style-type:none;
		margin-left:0;
		}
	section.latestnews li{
		padding:10px;
		}
		section.latestnews li h3{
			min-height:3em;
			}
		section.latestnews li img{
			display:block;
			border-radius:5px;
			width:100%;
			}

section.news{
	background:var(--lightgrey);
	}
	section.news .container{
		padding-top:60px;
		padding-bottom:60px;
		}
	section.news .container .filters{
		display:flex;
		align-items:center;
		}
		section.news .container .filters a{
			color:inherit;
			text-decoration:none;
			}
		section.news .container .filters a:hover{
			text-decoration:underline;
			}
		section.news .container .filters a.active{
			font-weight:bold;
			}
	section.news .container .filters p.categories{
		line-height:var(--line-height-medium);
		}
	section.news .container .filters p.pagination{
		flex:1;
		text-align:right;
		min-width:15em;
		}
	section.news .container .filters p.pagination:first-child{
		margin-bottom:3rem;
		}
	section.news .container .filters p.pagination:last-child{
		margin-bottom:0;
		}
	section.news h1,
	section.news h2{
		text-align:center;
		font-size:2em;
		margin-bottom:2em;
		}
	section.news ol{
		list-style-type:none;
		margin-left:0;
		margin-bottom:3rem;
		display:flex;
		gap:3rem 2rem;
		flex-wrap:wrap;
		justify-content:space-between;
		}
	section.news li{
		background:var(--white);
		box-sizing:border-box;
		flex:1 1 30%;
		display:flex;
		flex-direction:column;
		}
		section.news li img{
			display:block;
			width:100%;
			}
		section.news li .content{
			padding:1em;
			flex:1;
			}
		section.news li h3{
			}
			section.news li h3 a{
				color:inherit;
				text-decoration:none;
				}
		section.news li p.summary{
			font-size:0.875em;
			}
		section.news li div.actions{
			padding:0 1rem 1.5rem 1rem;
			display:flex;
			align-items:flex-end;
			}
		section.news li div.actions ul.categories{
			flex:1;
			display:flex;
			flex-direction:column;
			align-items:flex-end;
			}
		section.news li div.actions ul.categories li{
			flex:1;
			}

section.news.careers ol{
	margin-bottom:0;
	}

section.slideshow{
	}
	section.slideshow .container{
		padding:0;
		max-width:1600px;
		}
	section.slideshow ul.slides{
		position:relative;
		height:0;
		padding-bottom:25%;
		background:#000000;
		}
	section.slideshow ul.slides li{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		box-sizing:border-box;
		background-position:50%;
		background-size:cover;
		background-repeat:no-repeat;
		display:flex;
		flex-direction:column;
		justify-content:center;
		align-items:center;
		}
		section.slideshow.slideshow--filter ul.slides li::before{
			content:'';
			position:absolute;
			top:0;
			left:0;
			width:100%;
			height:100%;
			box-sizing:border-box;
			z-index:1;
			background-color:rgba(66,66,66,0.6);
			}
		section.slideshow.slideshow--filter.filter--blue ul.slides li::before{
			background-color:rgba(0,141,195,0.6);
			}
		section.slideshow.slideshow--filter.filter--pink ul.slides li::before{
			background-color:rgba(235,0,140,0.6);
			}
		section.slideshow ul.slides li div.info{
			display:flex;
			flex-direction:column;
			max-width:990px;
			padding:50px;
			box-sizing:border-box;
			color:var(--white);
			overflow:hidden;
			text-align:center;
			z-index:2;
			}
			section.slideshow ul.slides li div.info h2{
				font-size:2.5em;
				font-weight:500;
				line-height:var(--line-height-medium);
				}
			section.slideshow ul.slides li div.info h3{
				font-size:2em;
				line-height:var(--line-height-small);
				}
			section.slideshow ul.slides li div.info h4{
				font-size:1.5em;
				line-height:var(--line-height-small);
				margin-bottom:1em;
				}
			section.slideshow ul.slides li div.info p{
				line-height:var(--line-height-medium);
				margin-bottom:1em;
				}
			section.slideshow ul.slides li div.info p.featured{
				text-transform:uppercase;
				letter-spacing:0.1em;
				}
			section.slideshow ul.slides li div.info *:last-child{
				margin-bottom:0;
				}
			section.slideshow ul.slides li div.info p a{
				color:var(--white);
				}
	section.slideshow ul.status{
		position:absolute;
		bottom:2rem;
		left:2rem;
		right:2rem;
		text-align:center;
		padding:0 2rem;
		box-sizing:border-box;
		z-index:3;
		}
		section.slideshow ul.status li{
			display:inline-block;
			width:1em;
			height:1em;
			border-radius:50%;
			margin-left:2px;
			margin-right:2px;
			cursor:pointer;
			background-color:rgba(255,255,255,0.25);
			border:1px solid rgba(255,255,255,0.5);
			}
			section.slideshow ul.status li.active,
			section.slideshow ul.status li.active:hover{
				background-color:rgba(255,255,255,0.75);
				}
			section.slideshow ul.status li:hover{
				background-color:rgba(255,255,255,0.5);
				border-color:rgba(255,255,255,0.75);
				}
	section.slideshow blockquote{
		font-size:1.75em;
		text-align:center;
		line-height:var(--line-height-small);
		margin-bottom:1.5rem;
		font-weight:500;
		}
	section.slideshow p.author{
		font-size:1.25em;
		text-align:center;
		line-height:var(--line-height-medium);
		}

section.embed{
	}
	section.embed .video{
		position:relative;
		padding-bottom:56.25%;
		overflow:hidden;
		border-radius:5px;
		max-width:100%;
		height:auto;
		}
		section.embed .video iframe,
		section.embed .video object,
		section.embed .video embed{
			position:absolute;
			top:0;
			left:0;
			width:100%;
			height:100%;
			}

section.testimonial{
	}
	section.testimonial .outer{
		background-color:var(--lightgrey);
		max-width:none;
		}
	section.testimonial .container{
		padding-top:75px;
		padding-bottom:75px;
		}
	section.testimonial h3{
		font-size:2em;
		font-weight:bold;
		margin-bottom:30px;
		text-align:center;
		}
	section.testimonial p.subtitle{
		line-height:var(--line-height-medium);
		text-align:center;
		margin-bottom:30px;
		}
	section.testimonial .testimonials{
		margin-top:60px;
		display:flex;
		justify-content:space-around;
		gap:4rem;
		}
	section.testimonial.testimonial--external .testimonials{
		gap:2rem;
		}
		section.testimonial figure{
			width:100%;
			box-sizing: border-box;
			display: flex;
			flex-direction: column;
			}
		section.testimonial.testimonial--external figure{
			background: white;
			padding:2rem;
			clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 2rem, calc(100% - 2rem) 0);
			}
			section.testimonial figure i{
				margin-bottom:2rem;
				font-size:1.25rem;
				color: orange;
				}
			section.testimonial figure blockquote{
				font-size:1.5rem;
				font-weight:bold;
				line-height:var(--line-height-medium);
				margin-bottom:2rem;
				}
				section.testimonial.testimonial--external figure blockquote{
					font-size:1rem;
					font-weight:normal;
				}
			section.testimonial figure figcaption{
				margin-top: auto;
			}
			section.testimonial figure figcaption p.author{
				font-weight:bold;
				line-height:var(--line-height-medium);
				}
			section.testimonial figure figcaption p.company{
				line-height:var(--line-height-medium);
				}
		section.testimonial figcaption *:last-child{
			margin-bottom:0;
			}
	section.testimonial .external-provider{
		margin-top:30px;
		}
		section.testimonial .external-provider img{
			display: block;
			height: 64px;
			}

section.mediatestimonial{
	}
	section.mediatestimonial .outer{
		background-color:var(--lightgrey);
		max-width:none;
		}
	section.mediatestimonial .container{
		padding-top:75px;
		padding-bottom:75px;
		}
	section.mediatestimonial h3{
		font-size:2em;
		font-weight:bold;
		margin-bottom:30px;
		text-align:center;
		}
	section.mediatestimonial p.subtitle{
		line-height:var(--line-height-medium);
		text-align:center;
		margin-bottom:30px;
		}
	section.mediatestimonial .testimonials{
		position:relative;
		margin-top:60px;
		display:flex;
		justify-content:space-around;
		flex-wrap: nowrap;
		gap:2rem;
		width:100%;
		overflow: visible;
		}
		section.mediatestimonial figure{
			display: flex;
			flex-direction: row;
			gap: 2rem;
			flex: 1;
			align-items: center;
			}
			section.mediatestimonial figure div.image{
				flex: 1;
				}
			section.mediatestimonial figure div.image a{
				position:relative;
				display: block;
				}
				section.mediatestimonial figure div.image a[data-type="video"]::after{
					content: "\f144";
					font-family: "Font Awesome 5 Pro";
					font-weight: 500;
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					font-size: 4em;
					color: rgba(255,255,255,0.75);
					}
					section.mediatestimonial figure div.image a[data-type="video"]:hover::after{
						color: rgba(255,255,255,1);
						}
			section.mediatestimonial figure div.image img{
				display: block;
				width:100%;
				aspect-ratio: 16 / 9;
				object-fit: cover;
				height: auto;
				clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 2rem, calc(100% - 2rem) 0);
				}
			section.mediatestimonial figure div.body{
				flex: 1;
				display: flex;
				flex-direction: column;
				justify-content: center;
			}
			section.mediatestimonial figure div.body blockquote{
				font-size:1.75em;
				font-weight: bold;
				line-height:var(--line-height-medium);
				margin-bottom:1rem;
				max-width: 30ch;
				text-wrap: balance;
				}
			section.mediatestimonial figure div figcaption p.author{
				font-weight:bold;
				line-height:var(--line-height-medium);
				}
			section.mediatestimonial figure div.body figcaption p.company{
				line-height:var(--line-height-medium);
				}
		section.mediatestimonial figcaption div.body *:last-child{
			margin-bottom:0;
			}

@media (max-width: 1024px) {

	section.mediatestimonial .container .testimonials{
		flex-direction: column;
		gap: 3rem;
		}

	section.mediatestimonial figure div.body blockquote{
		font-size:1.25em;
	}

	section.mediatestimonial figure div.image,
	section.mediatestimonial figure div.body{
		flex:auto;
		}

	}

section.faq{
	user-select: none;
	}
	section.faq .outer{
		}
	section.faq .container{
		padding-top:75px;
		padding-bottom:75px;
		}
	section.faq .container > h3,
	section.faq .container > h4{
		font-weight:bold;
		color:var(--black);
		line-height:var(--line-height-small);
		margin-bottom:2rem;
		text-align:center;
		max-width:36ch;
		text-wrap:balance;
		margin-inline:auto;
		}
	section.faq .container > h3{
		font-size:2em;
		}
	section.faq .container > h4{
		font-size:1.75em;
		}
	section.faq .container > p.subtitle{
		font-size:1.25rem;
		line-height:var(--line-height-medium);
		text-align:center;
		}

	section.faq .container > p {
		margin-bottom:2rem;
		text-align:center;
		}

	section.faq .container div.faqs{
		margin-bottom:2rem;
		}
		section.faq .container div.faqs details{
			padding:2rem 3rem;
			border-top:1px solid var(--black);
			}
			section.faq .container div.faqs details summary{
				position: relative;
				font-size:1.25rem;
				font-weight:bold;
				line-height:var(--line-height-medium);
				cursor:pointer;
				}
				section.faq .container div.faqs details summary::marker{
					content:"";
					}
				section.faq .container div.faqs details summary::before{
					content: "\f078";
					font-family: "Font Awesome 5 Pro";
					font-weight: 900;
					position: absolute;
					right: 0;
					top: 50%;
					transform: translateY(-50%) rotate(0deg);
					transition: transform 0.3s ease;
					}
				section.faq .container div.faqs details[open] summary::before{
					transform: translateY(-50%) rotate(180deg);
					}
			section.faq .container div.faqs details p{
				padding-block:1rem;
				line-height:var(--line-height-medium);
				}

	section.faq .container > *:last-child {
		margin-bottom:0;
		}

section.ticker{
	background-color:var(--ipg-darkblue);
	color:var(--white);
	user-select: none;
	}
	.subtheme-trade section.ticker{
		background-color:var(--ipg-pink);
		}
	section.ticker .container{
		padding-top:50px;
		padding-bottom:50px;
		max-width:none;
		overflow-x: hidden;
		display:flex;
		align-items: center;
		}
	section.ticker .container .ticker{
		--direction: normal;
		--duration: 30s;
		--delay: 0s;
		--iteration-count: infinite;
		display:flex;
		align-items: center;
		flex: 0 0 auto;
		animation: marquee var(--duration) linear var(--delay) var(--iteration-count);
		animation-play-state: var(--play);
		animation-delay: var(--delay);
		animation-direction: var(--direction);
		}
		section.ticker .container .ticker span{
			box-sizing: border-box;
			white-space: nowrap;
			padding: 0 3rem;
			border-right: 1px solid var(--white);
			}
			section.ticker .container .ticker span em{
				font-style: italic;
				}
			section.ticker .container .ticker span strong{
				font-weight: bold;
			}
			body.subtheme-trade section.ticker .container .ticker span strong{
				font-weight: normal;
				font-family: "Permanent Marker", cursive;
				}

@keyframes marquee {
	0% {
		transform: translateX(-20%);
	}
	100% {
		transform: translateX(-120%);
	}
}

section.challenge{
	background-color:var(--lightgrey);
	}
	section.challenge .container{
		display:flex;
		align-items:center;
		}
	section.challenge .container > div{
		flex:1;
		}
	section.challenge .container > div h4{
		line-height:var(--line-height-medium);
		margin-bottom:0.25rem;
		font-weight: bold;
		color: var(--ipg-grey);
		}
	section.challenge .container > div h3{
		font-size:1.25em;
		color:var(--black);
		line-height:var(--line-height-medium);
		}

section.publications{
	color:var(--ipg-darkblue);
	}
	section.publications .outer{
		}
	section.publications .container{
		padding-top:50px;
		padding-bottom:50px;
		border-top:1px solid var(--ipg-darkblue);
		}
	section.publications ul{
		list-style-type:none;
		margin-left:0;
		margin-bottom:0;
		display:flex;
		flex-wrap:wrap;
		}
		section.publications li{
			width:40%;
			padding-right:5em;
			}
		section.publications li:last-child{
			margin-bottom:0;
			}
		section.publications li a{
			text-decoration:none;
			color:var(--ipg-darkblue);
			}
		section.publications li a:hover{
			color:var(--black);
			}

section.donate{
	padding-top:50px;
	}
	section.donate .outer{
		position:relative;
		background-size:cover;
		background-repeat:no-repeat;
		background-position:50%;
		background-color:rgba(124,124,124,1);
		color:var(--white);
		max-width:1200px;
		}
	section.donate .outer:first-child{
		height:0;
		padding-top:33.33%;
		}
	section.donate .outer:last-child::before{
		content:'';
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		box-sizing:border-box;
		z-index:1;
		background-color:rgba(235,0,140,0.6);
		}
	section.donate .outer:last-child{
		text-align:center;
		}
		section.donate .outer:last-child blockquote{
			position:relative;
			margin-top:-100px;
			max-width:600px;
			margin-left:auto;
			margin-right:auto;
			background:var(--white);
			color:var(--ipg-darkgrey);
			border-bottom:5px solid rgba(0,141,195, 1);
			padding:50px;
			}
		section.donate .outer:last-child blockquote aside{
			position:absolute;
			top:-6em;
			left:-5em;
			background:rgba(204,0,0,1);
			color:var(--white);
			border-radius:5px;
			padding:10px 20px;
			text-align:left;
			}
			section.donate .outer:last-child blockquote aside p:first-child{
				font-size:1.5em;
				font-weight:bold;
				margin-bottom:5px;
				line-height:1.2;
				}
			section.donate .outer:last-child blockquote aside p:last-child{

				}
		section.donate .outer:last-child blockquote p.quote{
			font-weight:bold;
			}
		section.donate .outer:last-child blockquote p.author{
			font-size:0.875em;
			}
		section.donate .outer:last-child blockquote p:last-child{
			margin-bottom:0;
			}
		section.donate .outer:last-child h2{
			max-width:800px;
			margin-left:auto;
			margin-right:auto;
			margin-top:1.5em;
			margin-bottom:1.5em;
			font-size:2em;
			}
	section.donate .container{
		z-index:2;
		}

section.gallery{
	}
	section.gallery .container{
		}
	section.gallery ul.gallery{
		position:relative;
		margin-left:-0.5rem;
		margin-right:-0.5rem;
		margin-bottom:-1rem;
		text-align:center;
		}
		section.gallery ul.gallery li{
			box-sizing:border-box;
			display:inline-block;
			margin-bottom:1rem;
			padding:0.5rem;
			background-color:rgba(66,66,66,0.1);
			float:none !important;
			}
			section.gallery ul.gallery li p.caption{
				line-height:1.2rem;
				white-space:nowrap;
				overflow:hidden;
				text-overflow:ellipsis;
				font-size:0.8125em;
				}
			section.gallery ul.gallery li a{
				background-position:50%;
				background-size:contain;
				background-repeat:no-repeat;
				display:block;
				width:100%;
				height:0;
				padding-bottom:56.25%;
				border-radius:3px;
				}

section.video{
	background:rgba(0,0,0,1);
	}
	section.video .container{
		padding:0;
		background:rgba(0,0,0,1);
		}
	section.video video{
		width:100%;
		}

section.map{
	border-top:1px solid rgba(66,66,66,0.2);
	}
	section.map .container{
		padding:0;
		max-width:100%;
		}
		section.map .gmap{
			min-height:50vh;
			}

section.branchfindercta .container{
	padding-top:50px;
	padding-bottom:50px;
	}
section.branchfindercta .cmscontent{
	text-align:center;
	}
	section.branchfindercta .cmscontent > h3{
		font-size:1.5rem;
		font-weight:bold;
		}
	section.branchfindercta .cmscontent i{
		font-size:1.5rem;
		margin-bottom:1rem;
		}
	section.branchfindercta .cmscontent p{
		max-width:30em;
		margin:0 auto;
		}
	section.branchfindercta form.storefinder{
		display: flex;
		justify-content: center
		}

section.branchfinder#aaffa56411b33346cbb277ad6ccebef6{
	position:relative;
	overflow:hidden;
	}
	section.branchfinder#aaffa56411b33346cbb277ad6ccebef6::before{
		white-space:pre;
		content:"best brands\A   great prices";
		position:absolute;
		top:-40%;
		right:-5%;
		width:50%;
		height:100%;
		font-size:7rem;
		font-family: "Permanent Marker", cursive;
		font-weight: 400;
		font-style: normal;
		color:var(--ipg-pink);
		opacity:0.15;
		transform:rotate(-9deg);
		pointer-events:none;
		line-height:0.8;
		}

section.branchfinder.map .container{
	position:relative;
	min-height:80vh;
	}
	section.branchfinder.map .branchlist{
		position:absolute;
		left:0;
		top:0;
		bottom:0;
		width:33.33%;
		background:var(--white);
		padding:0 1rem 1rem 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;
		}
		section.branchfinder.map .branchlist .filters{
			position:sticky;
			top:0;
			display:flex;
			gap:1rem;
			margin:-1rem -1rem 1rem -1rem;
			padding:1rem;
			background:var(--white);
			height:40px;
			z-index:1;
			}
			section.branchfinder.map .branchlist .filters ul{
				background:var(--lightgrey);
				}
				section.branchfinder.map .branchlist .filters ul li{
					background:var(--lightgrey);
					margin-bottom:0;
					display:none;
					}
				section.branchfinder.map .branchlist .filters ul li label{
					padding:0.5rem 1rem;;
					display:block;
					position:relative;
					z-index:1;
					user-select:none;
					}
				section.branchfinder.map .branchlist .filters ul.features li label{
					cursor:pointer;
					}
				section.branchfinder.map .branchlist .filters ul li input{
					display:inline-block;
					}
				section.branchfinder.map .branchlist .filters ul li:first-child{
					display:block;
					}
				section.branchfinder.map .branchlist .filters ul.open li{
					display:block;
					}
			section.branchfinder.map .branchlist .filters ul.features{
				cursor:pointer;
				}
		section.branchfinder.map .branchlist p.noresults{
			margin-bottom:1rem;
			}
		section.branchfinder.map .branchlist > ul{
			margin:0;
			list-style-type:none;
			}
			section.branchfinder.map .branchlist > ul > li{
				position:relative;
				box-sizing:border-box;
				}
			section.branchfinder.map .branchlist > ul.results > li{
				padding:0;
				border-bottom:1px solid rgba(66,66,66,0.1);
				margin-bottom:0;
				margin-left:-1rem;
				margin-right:-1rem;
				cursor:pointer;
				}
				section.branchfinder.map .branchlist > ul.results > li.mapopen,
				section.branchfinder.map .branchlist > ul.results > li.maphover,
				section.branchfinder.map .branchlist > ul.results > li:hover{
					background-color:var(--lightgrey);
					}
			section.branchfinder.map .branchlist > ul.results > li:first-child{
				border-top:1px solid rgba(66,66,66,0.1);
				}
			section.branchfinder.map .branchlist > ul li:last-child{
				margin-bottom:0;
				}
				section.branchfinder.map .branchlist > ul > li p{
					font-size:0.8125em;
					margin-bottom:0.5em;
					line-height:var(--line-height-small);
					}
				section.branchfinder.map .branchlist > ul.results > li .map-entry{
					padding:1rem;
					}
				section.branchfinder.map .branchlist > ul.results > li .map-entry > figure{
					display:none;
					}
				section.branchfinder.map .branchlist > ul.results > li p.member{
					font-weight:bold;
					color:var(--ipg-darkblue);
					}
				section.branchfinder.map .branchlist > ul.results > li p img.storefront{
					display:block;
					width:320px;
					max-width:100%;
					}
				section.branchfinder.map .branchlist > ul.results > li p.facilities{
					color:var(--ipg-darkblue);
					margin-left:-0.4em;
					}
				section.branchfinder.map .branchlist > ul.results > li p.distance{
					float:right;
					margin-left:1rem;
					font-size:0.75em;
					color:var(--ipg-darkgrey);
					}
				section.branchfinder.map .branchlist > ul.results > li p.hours{
					margin-top:1rem;
					}
				section.branchfinder.map .branchlist > ul.results > li ul.hours-all{
					display:none;
					margin-bottom:1rem;
					list-style-type:none;
					margin-top:0.75em;
					margin-left:0;
					}
					section.branchfinder.map .branchlist > ul.results > li ul.hours-all > li{
						font-size:0.8125em;
						margin-bottom:0.25em;
						line-height:var(--line-height-small);
						}
					section.branchfinder.map .branchlist > ul.results > li p.hours span,
					section.branchfinder.map .branchlist > ul.results > li ul.hours-all > li span{
						display:inline-block;
						width:6em;
						}
				section.branchfinder.map .branchlist > ul.results > li .lower{
					display:flex;
					}
				section.branchfinder.map .branchlist > ul.results > li .lower > *{
					flex:1;
					}
				section.branchfinder.map .branchlist > ul.results > li .lower > .icons{
					display:flex;
					justify-content:flex-end;
					align-content:flex-end;
					gap:1rem;
					}
				section.branchfinder.map .branchlist > ul.results > li .lower > .icons a{
					display:inline-block;
					width:2rem;
					height:2rem;
					line-height:2rem;
					text-align:center;
					border:1px solid var(--ipg-darkblue);
					border-radius:50%;
					}
				section.branchfinder.map .branchlist > ul.results > li .lower > .info *:last-child{
					margin-bottom:0;
					}
	section.branchfinder.map .branchmap{
		position:absolute;
		right:0;
		top:0;
		bottom:0;
		width:66.66%;
		box-sizing:border-box;
		}
		section.branchfinder.map .gmap{
			height:80vh;
			}
		section.branchfinder.map .gmap div[role="dialog"] button[title="Close"] {
			right: 0 !important;
			top: 0 !important;
			}
		section.branchfinder.map .map-entry{
			padding:0.75rem;
			display: flex;
			gap: 1rem;
			}
		section.branchfinder.map .map-entry > figure{
			flex:1;
			}
			section.branchfinder.map .map-entry > figure img{
				display:block;
				border-radius:4px;
				}
		section.branchfinder.map .map-entry > .info{
			flex:2;
			}
		section.branchfinder.map .map-entry p{
			margin-bottom:0.5em;
			line-height:var(--line-height-small);
			text-wrap: balance;
			}
		section.branchfinder.map .map-entry p.distance{
			float:right;
			margin-left:1rem;
			font-size:0.75em;
			color:var(--ipg-darkgrey);
			}
		section.branchfinder.map .map-entry p.member{
			font-weight:bold;
			color:var(--ipg-darkblue);
			}
		section.branchfinder.map .map-entry p.facilities{
			color:var(--ipg-darkblue);
			margin-left:-0.4em;
			}
		section.branchfinder.map .map-entry img.storefront{
			display:block;
			width:640px;
			max-width:100%;
			}
		section.branchfinder.map .map-entry p.hours{
			margin-top:1rem;
			}
		section.branchfinder.map .gmap .map-entry p.hours a,
		section.branchfinder.map .gmap .map-entry ul.hours-all{
			display:none;
			}
		section.branchfinder.map .map-entry p a{
			color:var(--ipg-darkblue);
			}
		section.branchfinder.map .map-entry .lower{
			display:flex;
			min-width:300px;
			}
		section.branchfinder.map .map-entry .lower > *{
			flex:2;
			}
		section.branchfinder.map .map-entry .lower > .icons{
			display:flex;
			justify-content:flex-end;
			gap:0.5rem;
			flex-wrap:wrap;
			width:26px;
			flex:1;
			}
		section.branchfinder.map .map-entry .lower > .icons a{
			display:inline-block;
			width:2rem;
			height:2rem;
			line-height:2rem;
			text-align:center;
			border:1px solid var(--ipg-darkblue);
			border-radius:50%;
			color:var(--ipg-darkblue);
			}
			section.branchfinder.map .map-entry .lower > .icons a:hover{
				color:var(--ipg-blue);
				}

section.timeline{
	user-select:none;
	}
	section.timeline ul.pipe{
		display:block;
		max-width:40em;
		margin:0 auto;
		list-style-type:none;
		}
	section.timeline ul.pipe li{
		position:relative;
		margin-bottom:2px;
		padding:0 25px 0 200px;
		background-repeat:no-repeat;
		background-position:left;
		background-size:contain;
		background-image:url('../image/timeline/pipe.svg');
		display:flex;
		flex-direction:column;
		justify-content:center;
		height:130px;
		}
	section.timeline ul.pipe li::before{
		content:'';
		display:block;
		position:absolute;
		top:0;
		left:0;
		width:200px;
		height:100%;
		background-repeat:no-repeat;
		background-position:left;
		background-size:contain;
		transform-origin:center center;
		}
		section.timeline ul.pipe li.tee{
			background-image:url('../image/timeline/tee.svg'), url('../image/timeline/pipe.svg');
			}
		section.timeline ul.pipe li.tee.valve-left{
			background-image:url('../image/timeline/tee.svg'), url('../image/timeline/pipe.svg'), url('../image/timeline/valve-left.svg');
			}
		section.timeline ul.pipe li.wheel::before{
			background-image:url('../image/timeline/wheel.svg');
			animation:wheel 10s ease-in-out 0s alternate infinite;
			}
		section.timeline ul.pipe li.valve-left{
			background-image:url('../image/timeline/pipe.svg'), url('../image/timeline/valve-left.svg');
			}
		section.timeline ul.pipe li.valve-right{
			background-image:url('../image/timeline/pipe.svg'), url('../image/timeline/valve-right.svg');
			}
		section.timeline ul.pipe li.gauge{
			background-image:url('../image/timeline/pipe.svg'), url('../image/timeline/gauge.svg');
			}
		section.timeline ul.pipe li.gauge::before{
			background-image:url('../image/timeline/gauge-inline-needle.svg');
			animation:spiking 5s cubic-bezier(0.5, 0.2, 0.3, 1.0) 0s alternate infinite;
			animation-fill-mode: forwards;
			margin-left:-65px;
			}
		section.timeline ul.pipe li.gauge-inline{
			background-image:url('../image/timeline/gauge-inline.svg'), url('../image/timeline/pipe.svg');
			}
		section.timeline ul.pipe li.gauge-inline::before{
			background-image:url('../image/timeline/gauge-inline-needle.svg');
			animation:pressure 10s ease-in-out 0s alternate infinite;
			}
		section.timeline ul.pipe li.butterfly-valve{
			background-image:url('../image/timeline/pipe.svg'), url('../image/timeline/butterfly-valve.svg');
			}
	section.timeline ul.pipe li p.date{
		line-height:1.4;
		font-size:1.25em;
		font-weight:500;
		color:rgba(226,43,43,1);
		margin-bottom:2px;
		}
	section.timeline ul.pipe li p:last-child{
		font-size:0.875em;
		}

section.timelinev2{
	user-select:none;
	}
	section.timelinev2 .container{
		max-width:none;
		padding-top:0;
		padding-bottom:0;
		}
	section.timelinev2 ul{
		display:flex;
		width:100%;
		background-color:var(--black);
		}
		section.timelinev2 ul li{
			display:flex;
			flex-direction:column;
			justify-content:center;
			align-items:center;
			flex-basis:0;
			flex-grow:1;
			min-height:540px;
			background-color:var(--black);
			color:var(--white);
			text-align:center;
			padding:1.5rem;
			cursor:pointer;
			transition:flex-grow ease-in-out 0.5s;
			background-position:50%;
			background-size:cover;
			}
		section.timelinev2 ul li:nth-child(2n){
			}
		section.timelinev2 ul li h3{
			margin-top:1rem;
			margin-bottom:1rem;
			font-size:1.5em;
			font-weight:bold;
			line-height:var(--line-height-small);
			}
		section.timelinev2 ul li p{
			line-height:var(--line-height-medium);
			max-height:0;
			opacity:0;
			overflow:hidden;
			max-width:40em;
			margin-bottom:1em;;
			}
		section.timelinev2 ul li > *:last-child{
			margin-bottom:0;
			}
		section.timelinev2 ul li a{
			color:inherit;
			text-decoration:underline;
			}
		section.timelinev2 ul li a:hover{
			opacity:0.8;
			}
		section.timelinev2 ul li.active,
		section.timelinev2 ul li:focus{
			flex-grow:5;
			outline:none;
			}
		section.timelinev2 ul li.active p,
		section.timelinev2 ul li:focus p{
			transition:all 0.5s ease-in 0.4s;
			max-height:500px;
			opacity:1;
			}

section.timelinev3{
	background-color:var(--lightgrey);
	}
	section.timelinev3 .container{
		padding-top:50px;
		padding-bottom:50px;
		width:100%;
		}
	section.timelinev3 .container > h2,
	section.timelinev3 .container > p{
		text-align:center;
		}
	section.timelinev3 ul{
		margin:3rem 0;
		list-style-type:none;
		background: linear-gradient(#cad4de, #cad4de) no-repeat center/3px 100%;
		}
		section.timelinev3 ul li{
			position:relative;
			padding-left:0;
			display: flex;
			gap: 6rem;
			margin-bottom: 2rem;
			align-items: center;
			}
			section.timelinev3 ul li::before{
				content:'';
				position:absolute;
				left: calc(50% - 0.75rem - 1px);
				top: calc(50% - 0.75rem - 1px);
				width: 1.5rem;
				height: 1.5rem;
				border-radius: 50%;
				box-sizing: border-box;
				border: 3px solid #cad4de;
				background: white;
				}
			section.timelinev3 ul li > *{
				flex:1;
				}
			section.timelinev3 ul li > div.media{

				}
			section.timelinev3 ul li:nth-child(odd) > div.media{
				order: 1;
				}
				section.timelinev3 ul li > div.media img{
					display:block;
					width:100%;
					clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 2rem, calc(100% - 2rem) 0);
					}

			section.timelinev3 ul li > div.content{

				}
			section.timelinev3 ul li h3{
				font-size:1.25em;
				font-weight:500;
				margin-bottom:0.5rem;
				}
			section.timelinev3 ul li p{
				font-size:0.875em;
				}

@media screen and (max-width: 768px) {

	section.timelinev3 ul{
		background:none;
	}

	section.timelinev3 ul li{
		flex-direction: column;
		gap: 1rem;
		text-align: center;
		}
		section.timelinev3 ul li::before{
			display: none;
			}
		section.timelinev3 ul li > div.media{
			order: 0;
			}
		section.timelinev3 ul li > div.content{
			order: 1;
			}

	}

section.snapshot{
	padding:0;
	}
	section.snapshot .outer{
		position:relative;
		background-image:url('../image/snapshot/background.jpg');
		background-position:50%;
		background-size:cover;
		background-repeat:no-repeat;
		max-width:1600px;
		margin:0 auto;
		}
	section.snapshot .outer::before{
		content:'';
		top:0;
		left:0;
		width:100%;
		height:100%;
		background-color:rgba(124,124,124,0.8);
		position:absolute;
		z-index:1;
		}
	section.snapshot .container{
		position:relative;
		max-width:990px;
		margin:0 auto;
		z-index:2;
		padding-top:50px;
		padding-bottom:50px;
		}
	section.snapshot ul{
		margin:0;
		list-style-type:none;
		display:flex;
		align-items:center;
		justify-content:space-around;
		}
		section.snapshot ul li{
			margin:0;
			text-align:center;
			color:var(--white);
			display:flex;
			flex-direction:column;
			justify-content:center;
			}
			section.snapshot ul li div.icon{
				background-position:50%;
				background-size:contain;
				background-repeat:no-repeat;
				height:80px;
				width:80px;
				margin:0 auto 1rem auto;
				}
				section.snapshot ul li.turnover div.icon{
					background-image:url('../image/snapshot/icon-2.svg');
					}
				section.snapshot ul li.stores div.icon{
					background-image:url('../image/snapshot/icon-4.svg');
					}
				section.snapshot ul li.brands div.icon{
					background-image:url('../image/snapshot/icon-3.svg');
					}
			section.snapshot ul li p.stat{
				font-size:2.5em;
				font-weight:500;
				margin-bottom:0;
				}
			section.snapshot ul li p.label{
				font-size:0.875em;
				margin-bottom:0;
				}

section.benefits{
	}
	section.benefits .container{
		padding-top:50px;
		padding-bottom:50px;
		}
	section.heading + section.benefits .container,
	section.body + section.benefits .container{
		padding-top:0;
		}
	section.benefits ul{
		margin:0;
		list-style-type:none;
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:space-around;
		}
		section.benefits ul li{
			margin:0 0 25px 0;
			text-align:center;
			display:flex;
			flex-direction:column;
			justify-content:center;
			width:25%;
			box-sizing:border-box;
			padding:10px;
			}
			section.benefits ul li div.icon{
				background-position:50%;
				background-size:contain;
				background-repeat:no-repeat;
				background-color:rgba(124,124,124,1);
				height:100px;
				width:100px;
				margin:0 auto 1rem auto;
				border-radius:50%;
				}
				section.benefits ul li.advice div.icon{
					background-image:url('../image/benefits/advice.svg');
					}
				section.benefits ul li.access div.icon{
					background-image:url('../image/benefits/access.svg');
					}
				section.benefits ul li.business div.icon{
					background-image:url('../image/benefits/business.svg');
					}
				section.benefits ul li.community div.icon{
					background-image:url('../image/benefits/community.svg');
					}
				section.benefits ul li.compete div.icon{
					background-image:url('../image/benefits/compete.svg');
					}
				section.benefits ul li.exclusive div.icon{
					background-image:url('../image/benefits/exclusive.svg');
					}
				section.benefits ul li.exposure div.icon{
					background-image:url('../image/benefits/exposure.svg');
					}
				section.benefits ul li.extensive div.icon{
					background-image:url('../image/benefits/extensive.svg');
					}
				section.benefits ul li.independent div.icon{
					background-image:url('../image/benefits/independent.svg');
					}
				section.benefits ul li.knowledge div.icon{
					background-image:url('../image/benefits/knowledge.svg');
					}
				section.benefits ul li.marketing div.icon{
					background-image:url('../image/benefits/marketing.svg');
					}
				section.benefits ul li.nationwide div.icon{
					background-image:url('../image/benefits/nationwide.svg');
					}
				section.benefits ul li.networking div.icon{
					background-image:url('../image/benefits/networking.svg');
					}
				section.benefits ul li.portal div.icon{
					background-image:url('../image/benefits/portal.svg');
					}
				section.benefits ul li.pricing div.icon{
					background-image:url('../image/benefits/pricing.svg');
					}
				section.benefits ul li.professional div.icon{
					background-image:url('../image/benefits/professional.svg');
					}
				section.benefits ul li.quality div.icon{
					background-image:url('../image/benefits/quality.svg');
					}
				section.benefits ul li.react div.icon{
					background-image:url('../image/benefits/react.svg');
					}
				section.benefits ul li.reputable div.icon{
					background-image:url('../image/benefits/reputable.svg');
					}
				section.benefits ul li.rewards div.icon{
					background-image:url('../image/benefits/rewards.svg');
					}
				section.benefits ul li.website div.icon{
					background-image:url('../image/benefits/website.svg');
					}
			section.benefits ul li p.label{
				font-size:0.875em;
				font-weight:500;
				line-height:var(--line-height-small);
				margin:0 auto;
				max-width:200px;
				text-align:center;
				}

section.benefits ul.benefits-icons{
	}
	section.benefits ul.benefits-icons li{
		padding:1rem 2rem;
		}
	section.benefits ul.benefits-icons li img{
		margin-bottom:1rem;
		aspect-ratio:1.5;
		object-fit:contain;
		}

section.image{

	}
	section.image img{
		width:100%;
		}

section.join{
	}
	section.join .twocolumn{
		margin-left:-1rem;
		margin-right:-1rem;
		}
	section.join .twocolumn > div{
		padding:0.5rem 1rem;
		}
	section.join .twocolumn > div > div{
		padding:2rem;
		background:var(--white);
		min-height:25em;
		display:flex;
		flex-direction:column;
		}
	section.join h3{
		font-size:1.5em;
		}
	section.join p.end{
		margin-top:auto;
		margin-bottom:0;
		}

section.brands{
	padding-top:25px;
	padding-bottom:25px;
	background-color:var(--lightgrey);
	}
	section.brands h4{
		font-size:1.5em;
		text-align:center;
		font-weight:bold;
		margin-bottom:3rem;
		}
	section.brands ul{
		list-style-type:none;
		margin-left:-0.5rem;
		margin-right:-0.5rem;
		margin-bottom:0;
		}
		section.brands ul li{
			float:left;
			box-sizing:border-box;
			width:20%;
			perspective:600px;
			perspective-origin:50% 50%;
			margin-bottom:0;
			display:flex;
			justify-content:center;
			}
			section.brands ul li .cube{
				position:relative;
				width:20vw;
				height:20vw;
				transition:transform 1s ease-in-out;
				transform-style:preserve-3d;
				}
				section.brands ul li .cube > div{
					position:absolute;
					width:20vw;
					height:20vw;
					background-size:contain;
					background-position:50%;
					background-repeat:no-repeat;
					outline:1px solid transparent;
					border:20px solid rgba(255,255,255,0);
					box-sizing:border-box;
					will-change:transform;
					backface-visibility: hidden;
					}
					section.brands ul li .cube > div:nth-child(1){
						transform:rotateX(-90deg) translateY(-10vw);
						transform-origin:top center;
						}
					section.brands ul li .cube > div:nth-child(2){
						transform:rotateX(90deg) translateY(10vw);
						transform-origin:bottom center;
						}
					section.brands ul li .cube > div:nth-child(3){
						transform:translateZ(9.9vw);
						}
					section.brands ul li .cube > div:nth-child(4){
						transform:rotateY(270deg) translateX(-5vw);
						transform-origin:center left;
						}
					section.brands ul li .cube > div:nth-child(5){
						transform:translateZ(-10vw) rotateY(180deg);
						}
					section.brands ul li .cube > div:nth-child(6){
						transform:rotateY(-270deg) translateX(10vw);
						transform-origin:top right;
						}

section.team{

	}
	section.team ul.team{
		list-style-type:none;
		margin-left:-0.5rem;
		margin-right:-0.5rem;
		margin-bottom:0;
		}
		section.team ul.team > li{
			position:relative;
			height:0;
			padding-bottom:15%;
			font-size:1em;
			margin-bottom:1rem;
			box-sizing:border-box;
			}
		section.team ul.team > li > div{
			position:absolute;
			top:0;
			left:0.5rem;
			width:calc(100% - 1rem);
			height:100%;
			box-sizing:border-box;
			padding:1rem;
			background:var(--white);
			display:flex;
			justify-content:center;
			}
			section.team ul.team > li > div img{
				margin-top:auto;
				margin-bottom:auto;
				display:block;
				max-width:100%;
				text-align:center;
				border-radius:50%;
				width:120px;
				height:120px;
				background:rgba(66,66,66,0.05);
				}
			section.team ul.team > li > div > div.info{
				display:flex;
				flex-direction:column;
				justify-content:center;
				margin-left:1rem;
				margin-right:1rem;
				width:50%;
				text-align:center;
				}
			section.team ul.team > li > div img + div.info{
				text-align:left;
				max-width:10em;
				}
				section.team ul.team > li > div > div.info p{
					margin-bottom:0.5em;
					}
				section.team ul.team > li > div > div.info p.name{
					font-weight:bold;
					}
				section.team ul.team > li > div > div.info p:last-child{
					margin-bottom:0;
					}

section.news .container > div{
	margin-bottom:2rem;
	}
section.news .container > div:last-child{
	margin-bottom:0;
	}
	section.news .container > div > img{
		width:50%;
		max-width:360px;
		float:right;
		margin-left:2rem;
		}

section.contact{
	}
	section.contact div.container{
		padding-bottom:75px;
		}
	section.contact .twocolumn{
		margin-left:-0.5rem;
		margin-right:-0.5rem;
		}
	section.contact .twocolumn > div{
		padding:0 0.5rem;
		}
	section.contact .contact-details{
		padding:1.5rem 4rem;
		}
	section.contact .contact-details address.trading{
		margin-bottom:2rem;
		}
	section.contact .contact-details .headofficephone{
		margin-bottom:4rem;
		}
	section.contact .contact-details .registration{
		}

header,
section.snapshot,
section.slideshow,
section.image,
section.team,
.button,
button,
footer ul,
footer p.social{
	user-select:none;
	}


.button{
	position:relative;
	display:inline-block;
	clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0.75rem, calc(100% - 0.75rem) 0);
	background:var(--black-75);
	color:var(--white) !important;
	box-sizing:border-box;
	cursor:pointer;
	padding:1em 2em;
	text-decoration:none !important;
	border:none;
	}
	.clickable:hover .button,
	.button:hover{
		opacity: 0.9;
		}
.button::before{
	content:'';
	position:absolute;
	background-color:var(--ipg-darkgrey) !important;
	top:1px;
	bottom:1px;
	left:1px;
	right:1px;
	clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 0.75rem, calc(100% - 0.75rem) 0);
	z-index:-1;
	}
.button--wide{
	width:100%;
	}
.button--narrow{
	padding-left:1rem;
	padding-right:1rem;
	}
.button--narrowish{
	padding-left:1.5rem;
	padding-right:1.5rem;
	}
.button--secondary{
	background:var(--lightgrey);
	color:var(--ipg-darkgrey) !important;
	}
.button--white{
	background-color:var(--white);
	color:var(--ipg-darkgrey) !important;
	}
	.button--white::before{
		background-color:var(--lightgrey) !important;
		}
	.button--white.button--text-pink{
		color:var(--ipg-pink) !important;
		}
	.button--white.button--outline{
		background-color:var(--ipg-darkgrey) !important;
		}
	.button--white.button--outline::before{
		top:3px;
		bottom:3px;
		left:3px;
		right:3px;
		background-image:linear-gradient(var(--white), var(--white)) !important;
		}
.button--secondary::before{
	background-color:var(--white) !important;
	}
.button--pink,
.button--pink::before{
	background-color:var(--ipg-pink) !important;
	}
.button--large{
	font-size:1.5em;
	clip-path:polygon(0 0, 0 100%, 100% 100%, 100% 1rem, calc(100% - 1rem) 0);
	}
	.button--large::before{
		clip-path:polygon(0 0, 0 100%, 100% 100%, 100% calc(1rem - 2px), calc(100% - 1rem + 2px) 0);
		}
.button--blue::before{
	background-color:var(--ipg-darkblue) !important;
	}
.button--uppercase{
	text-transform:uppercase;
	}

.shadow{
	box-shadow:0 6px 10px 0 rgb(0 0 0 / 14%), 0 1px 18px 0 rgb(0 0 0 / 12%), 0 3px 5px -1px rgb(0 0 0 / 20%);
	}

.twocolumn,
.threecolumn,
.fourcolumn,
.fivecolumn,
.sixcolumn{
	}
	.twocolumn > *,
	.threecolumn > *,
	.fourcolumn > *,
	.fivecolumn > *,
	.sixcolumn > *{
		float:left;
		box-sizing:border-box;
		}
	.twocolumn > *{
		width:50%;
		}
	.threecolumn > *{
		width:33.33333333%;
		}
	.fourcolumn > *{
		width:25%;
		}
	.fivecolumn > *{
		width:20%;
		}
	.sixcolumn > *{
		width:16.66666666%;
		}

/* CMS Content */
.cmscontent h1,
.cmscontent h2,
.cmscontent h3,
.cmscontent h4,
.cmscontent h5,
.cmscontent h6{
	margin-bottom:1.25rem;
	line-height:var(--line-height-medium);
	}
.cmscontent h1{
	font-size:2.5em;
	font-weight:bold;
	}
.cmscontent h2{
	font-size:1.75em;
	}
.cmscontent h3{
	font-size:1.25em;
	}
.cmscontent h4{
	font-size:1.25em;
	font-weight:bold;
	color:var(--ipg-grey);
	}
.cmscontent h5{
	}
.cmscontent h6{
	}
.cmscontent hr{
	border: 0;
	height: 1px;
	background-image:linear-gradient(to right, rgba(66,66,66,0.25), rgba(66,66,66,0.25), rgba(66,66,66,0.25));
	margin-bottom:1.25rem;
	}
.cmscontent p{
	margin-bottom:1em;
	line-height:var(--line-height-medium);
	}
.cmscontent small{
	font-size:0.75em;
	line-height:0.75em;
	}
.cmscontent strong{
	font-weight:bold;
	}
.cmscontent blockquote{
	}
.cmscontent ul{
	list-style-type:disc;
	margin-left:2em;
	margin-bottom:1em;
	}
	.cmscontent ul ul{
		list-style-type:circle;
		margin-left:1em;
		margin-bottom:0.5em;
		}
.cmscontent li{
	line-height:var(--line-height-medium);
	margin-bottom:0.5rem;
	}
.cmscontent ol{
	list-style-type:decimal;
	margin-left:2em;
	margin-bottom:1em;
	}
.cmscontent img.alignleft, .cmscontent img.aligncenter, .cmscontent img.alignright{
	display:block;
	padding:5px;
	}
.cmscontent img.alignleft{
	float:left;
	margin:0 1rem 1rem 0;
	}
.cmscontent img.aligncenter{
	margin:0 auto 1rem auto;
	}
.cmscontent img.alignright{
	float:right;
	margin:0 0 1rem 1rem;
	}
.cmscontent table{
	margin-bottom:1em;
	}
.cmscontent a{
	color:rgba(27,73,121,1);
	text-decoration:underline;
	}
	.cmscontent.clickable:hover a,
	.cmscontent a:hover{
		color:rgba(0,141,195,1);
		}

.cmscontent p.logos{
	text-align:center;
	margin-bottom:3rem;
	}
	.cmscontent p.logos img{
		display:inline-block;
		height:120px;
		margin-left:1rem;
		margin-right:1rem;
		}

p.rsslink{
	float:right;
	}

p.pagination{
	margin-bottom:1em;
	text-align:center;
	line-height:var(--line-height-medium);
	font-size:0.75rem;
	user-select:none;
	}
	p.pagination a{
		display:inline-block;
		background:var(--white);
		margin:0 0.25em;
		padding:0.3rem 0.6rem;
		min-width:1em;
		text-align:center;
		color:var(--ipg-grey);
		text-decoration:none;
		border-radius:1em;
		}
	p.pagination a[href]{
		cursor:pointer;
		}
	p.pagination a[href]:hover{
		color:var(--black);
		}

.exception{
	font-family:monospace;
	}
	.exception h1,
	.exception h2,
	.exception p{
		margin-bottom:1em;
		line-height:var(--line-height-small);
		}
	.exception ol.trace {
		margin-bottom:1em;
		}
		.exception ol.trace li{
			list-style-type:decimal;
			margin-left:2em;
			line-height:var(--line-height-small);
			margin-bottom:0.5em;
			}
		.exception ol.trace li span.file{
			opacity:0.75;
			}

.nowrap{
	white-space:nowrap;
	}

.error{
	color:#ff0000;
	}

body.content-d3d9446802a44259755d38e6d163e820 aside.lede p strong,
body.subtheme-trade aside.lede h4 strong,
body.subtheme-trade aside.lede a.button strong,
body.subtheme-trade aside.lede p strong,
body.subtheme-trade section.heading h1 strong,
body.subtheme-trade section.heading p strong,
body.subtheme-trade section.body h2 strong,
body.subtheme-trade section.multiblock .container .block h5 strong,
section.testimonial h3 strong,
section.faq h3 strong,
.marker{
	font-family: "Permanent Marker", cursive;
	font-weight: 400;
	font-style: normal;
	color: var(--ipg-pink);
	}
.marker.marker--white{
	color: var(--white);
	}

/* Forms */
form.standard{
	}
	form.standard fieldset{
		margin:0 auto;
		max-width:600px;
		width:100%;
		}
	form.standard h4,
	form.standard p{
		margin-bottom:1rem;
		}
		form.standard p small{
			font-size:0.75em;
			}
		form.standard p em{
			font-style:italic;
			}
	form.standard input,
	form.standard textarea,
	form.standard select{
		width:100%;
		border:1px solid rgba(66,66,66,0.25);
		background-color: var(--lightgrey);
		padding:0.75em;
		box-sizing:border-box;
		border-radius:5px;
		}
	form.standard p.checkbox{
		display:flex;
		flex-direction:row;
		align-items:center;
		}
	form.standard p.checkbox input{
		width:1.5em;
		height:1.5em;
		margin-right:1em;
		}
	form.standard p.checkbox label{
		}
	form.standard textarea{
		height:10em;
		}
	form.standard input:hover,
	form.standard textarea:hover,
	form.standard select:hover{
		border:1px solid rgba(66,66,66,0.5);
		}
	form.standard input:focus,
	form.standard textarea:focus,
	form.standard select:focus{
		border:1px solid rgba(66,66,66,1);
		outline: none;
		}
	form.standard input:user-invalid,
	form.standard textarea:user-invalid,
	form.standard select:user-invalid{
		border:1px solid #e20000;
		}
	form.standard label{
		display:block;
		padding:0.5em 0;
		}
		form.standard p:has(*[required]) label::after,
		form.standard label.required::after{
			content:" *";
			color:#e40000;
			font-weight:bold;
			}
		form.standard p:has(*[required]:valid) label::after{
			color: #009f00;
			}
		form.standard label small{
			font-size:0.75em;
			}
	form.standard .forgot{
		margin-top:4rem;
		font-size:0.75rem;
		}
		form.standard .submit input:hover{
			}
	form.standard .input-button{
		display:flex;
		}
		form.standard .input-button input{
			float:left;
			display:block;
			padding:0.75em;
			box-sizing:border-box;
			border-top-right-radius:0;
			border-bottom-right-radius:0;
			text-align:center;
			}
		form.standard .input-button button{
			float:left;
			display:block;
			padding-left:1em;
			padding-right:1em;
			box-sizing:border-box;
			border:1px solid rgba(0,141,195,1);
			border-top-left-radius:0;
			border-bottom-left-radius:0;
			}
			form.standard .input-button button:hover{
				border-color:rgba(27,73,121,1);
				}
	/* Anti Spam Field - should not be shown to humans */
	form p.antis{
		display:none;
		}

/* Footer
*********************************************************/
#wrapper footer{
	background-color:var(--ipg-darkgrey);
	color:var(--white);
	line-height:var(--line-height-medium);
	}
	footer .container{
		padding-top:60px;
		padding-bottom:120px;
		}
		footer .upper,
		footer .middle,
		footer .lower{
			display:flex;
			justify-content:space-between;
			}
		footer .upper{
			align-items:start;
			padding-bottom:30px;
			gap:4rem;
			}
			footer .upper > *{
				flex:1;
				}
			footer .upper > *:first-child{
				flex:2;
				}
			footer .upper ul li{
				margin-bottom:0.5rem;
				}
		footer .middle{
			align-items:center;
			border-bottom:1px solid var(--ipg-grey);
			padding-top:30px;
			padding-bottom:30px;
			gap:30px;
			}
			footer .middle > a{
				display: block;
				}
			footer .middle img.logo{
				display: block;
				height: 64px;
				}
			footer .middle ul li{
				display:inline-block;
				}
			footer .middle div.app-social{
				display:flex;
				flex-direction:column;
				}
			footer .middle .app-social{
				font-size:1.25em;
				margin-left:auto;
				display: flex;
				flex-direction:column;
				gap:1rem;
				}
			footer .middle p.app{
				display: flex;
				flex-direction:row;
				gap:1rem;
				}
				footer .middle p.app a{
					display: inline-block;
					}
					footer .middle p.app a img{
						display: block;
						height: 48px;
						mix-blend-mode: screen;
						}
			footer .middle p.social{
				font-size:1.25em;
				margin-left:auto;
				display: flex;
				flex-direction:row;
				gap:1rem;
				}
				footer .middle p.social a,
				footer .middle p.social > img{
					display:inline-block;
					vertical-align:middle;
					}
		footer .lower{
			align-items:center;
			padding-top:30px;
			}
			footer .lower ul{
				display: flex;
				gap:10px;
				}
			footer .lower ul li{
				border-right:1px solid var(--ipg-grey);
				padding-right:10px;
			}
			footer .lower ul li:last-child{
				border-right:none;
				padding-right:0;
				}

	footer h3{
		font-size:2rem;
		margin-bottom:1rem;
		font-weight:bold;
		line-height:var(--line-height-small);
		}
	footer a{
		color:var(--white);
		text-decoration:none;
		}
		footer a:hover{
			opacity:0.8;
			}

a.back-to-top{
	display:none;
	position:fixed;
	bottom:1rem;
	right:1rem;
	padding:0.5rem;
	background:var(--black-50);
	color:var(--white);
}

/* Responsive layout for Larger Screens */
@media screen and (min-width: 1024px) {

	body nav.mobile{
		display:none !important;
		}

	section.brands ul li .cube{
		width:150px;
		height:150px;
		}
		section.brands ul li .cube > div{
			width:150px;
			height:150px;
			}
			section.brands ul li .cube > div:nth-child(1){
				transform:rotateX(-90deg) translateY(-75px);
				}
			section.brands ul li .cube > div:nth-child(2){
				transform:rotateX(90deg) translateY(75px);
				}
			section.brands ul li .cube > div:nth-child(3){
				transform:translateZ(75px);
				}
			section.brands ul li .cube > div:nth-child(4){
				transform:rotateY(270deg) translateX(-75px);
				}
			section.brands ul li .cube > div:nth-child(5){
				transform:translateZ(-75px) rotateY(180deg);
				}
			section.brands ul li .cube > div:nth-child(6){
				transform:rotateY(-270deg) translateX(75px);
				}

	}

/* Responsive layout for <= Small Desktop */
@media screen and (max-width: 1200px) {

	section.slideshow ul.status{
		bottom:1rem;
		}

	section.slideshow ul.slides{
		padding-bottom:40%;
		}

	section.timelinev2 ul{
		flex-direction:column
		}
		section.timelinev2 ul li{
			}
		section.timelinev2 ul li p{
			max-height:none;
			opacity:1 !important;
			}

	}

/* Responsive layout for <= Tablet */
@media screen and (max-width: 1023px) {

	.hide-tablet{
		display:none;
		}

	body.menu-open header .upper{
		background-color:var(--ipg-darkgrey) !important;
		}

	header .container{
		backdrop-filter:blur(10px);
		}

	header .upper nav.primary,
	header .upper nav.secondary{
		display:none;
		}
	header .upper nav.mobile-toggle{
		display:block;
		}

	header .lower aside h4 {
		font-size:2em;
		}

	header .testimonials {
		flex-direction:column;
		}
		header .testimonials blockquote:nth-child(2){
			display: none;
			}

	form.storefinder input[name=location]{
		width:100%;
		max-width:none;
		margin-bottom:1rem;
		}

	section.donate .outer:last-child blockquote aside{
		display:none;
		}

	section.brands ul li{
		width:25%;
		}
	section.brands ul li:nth-child(5){
		display:none;
		}

	section.heading h1,
	section.heading h2{
		font-size:2em;
		}

	section.testimonial .testimonials{
		flex-direction:column;
		}

	section.branchfinder.map .branchlist,
	section.branchfinder.map .branchmap{
		position:static;
		width:100%;
		}
	section.branchfinder.map .branchlist{
		border-width:0 0 1px 0;
		}

	section.join h3{
		font-size:1.25em;
		}

	section.team ul.team > li{
		padding-bottom:20%;
		}
		section.team ul.team > li > div{
			padding:0.5rem;
			}
		section.team ul.team > li > div img{
			width:100px;
			height:100px;
			}
		section.team ul.team > li > div > div.info p{
			font-size:0.8125em;
			}

	section.testimonial blockquote{
		font-size:1em;
		}

	section.slideshow ul.slides{
		padding-bottom:50%;
		}

	section.slideshow blockquote{
		font-size:1.25em;
		}
		section.slideshow p.author{
			font-size:1em;
			}

	section.news .container{
		max-width:600px;
		}
	section.news li{
		width:calc(50% - 12.5px);
		}

	section.body.rvs .container img.rvs-logo{
		padding-right:0;
		border-right:none;
		margin-right:1em;
	}
	section.body.rvs .container img.rvs-wording{
		display:none;
	}

	.cmscontent ul{
		margin-left:1em;
		}

	}

/* Responsive layout for <= Smartphone */
@media screen and (max-width: 800px) {

	header .compact{
		display:inline;
		}
	header nav.portal,
	header .large{
		display:none;
		}

	header .lower{
		flex-direction:column;
		}

	header .lower aside{
		max-width:none;
		}

	header .lower aside p:first-of-type{
		font-size:1.25rem;
		}

	section.imagetestimonial .outer{
		background-size:cover;
		}
	section.imagetestimonial figure{
		max-width:60%;
		margin-top:100px;
		}

	section.audience .container{
		flex-direction: column;
		}

	section.news li{
		width:100%;
		flex:1 1 100%;
		}

	section.publications li {
		width:100%;
		padding-right:0;
		}

	section.brands ul li{
		width:33%;
		}
	section.brands ul li:nth-child(4){
		display:none;
		}

	section.brands ul li .cube,
	section.brands ul li .cube > div{
		width:26vw;
		height:26vw;
		}
		section.brands ul li .cube > div:nth-child(1){
			transform:rotateX(-90deg) translateY(-13vw);
			}
		section.brands ul li .cube > div:nth-child(2){
			transform:rotateX(90deg) translateY(13vw);
			}
		section.brands ul li .cube > div:nth-child(3){
			transform:translateZ(13vw);
			}
		section.brands ul li .cube > div:nth-child(4){
			transform:rotateY(270deg) translateX(-13vw);
			}
		section.brands ul li .cube > div:nth-child(5){
			transform:translateZ(-13vw) rotateY(180deg);
			}
		section.brands ul li .cube > div:nth-child(6){
			transform:rotateY(-270deg) translateX(13vw);
			}

	section.keypages nav ul li{
		width:50%;
		margin-bottom:50px;
		}
	section.keypages nav ul li:last-child{
		margin-bottom:0;
		}
	section.keypages nav ul li div.image{
		padding-bottom:50%;
		}

	section.slideshow ul.slides{
		padding-bottom:25%;
		}
		section.slideshow ul.slides li div.info{
			display:none;
			}

	section.body.hasimages .container{
		gap:20px;
		flex-direction:column;
		}
	section.body.hasimages .container .body-embed,
	section.body.hasimages .container img{
		width:100%;
		}
	section.body.hasimages .container .body-embed,
	section.body.hasimages + section.body.hasimages .container .body-embed{
		order:-1;
		}
	section.body.hasimages .container img,
	section.body.hasimages + section.body.hasimages .container img{
		order:1;
	}

	section.timeline ul.pipe li{
		padding-right:10px;
		padding-left:190px;
		margin-left:-50px;
		}
		section.timeline ul.pipe li p.date{
			font-size:1em;
			}

	section.benefits ul li{
		width:50%;
		}

	footer .upper,
	footer .middle,
	footer .lower{
		flex-direction:column;
		}

	footer .upper{
		gap:2rem;
		}

	footer .middle div.app-social {
		margin-left: 0;
		}
	footer .middle p.social {
		justify-content: center;
		margin-left: 0;
		}
	footer .middle p.social a{
		margin-left:0.5rem;
		}

	footer nav.tertiary,
	footer .container .lower img.logo{
		margin-bottom:1rem;
		}

/* Responsive layout for <= Smartphone */
@media screen and (max-width: 640px) {

	#wrapper header{
		position:static;
		}

	a.back-to-top{
		display:block;
		}

	.twocolumn,
	.threecolumn,
	.fourcolumn,
	.fivecolumn,
	.sixcolumn{
		margin-left:0;
		margin-right:0;
		}
		.twocolumn > *,
		.threecolumn > *,
		.fourcolumn > *,
		.fivecolumn > *,
		.sixcolumn > *{
			width:100%;
			float:none;
			}

	ul.slides li div.info h3{
		font-size:1.25em;
		}

	section.imagetestimonial .outer{
		background: none !important;
		}
	section.imagetestimonial figure{
		max-width:100%;
		margin-top:0;
		}

	section.audience .container > div{
		flex-direction: column;
		}

	section.slideshow ul.status{
		display:none;
		}

	section.team ul.team > li{
		padding-bottom:30%;
		}
		section.team ul.team > li > div img{
			width:80px;
			height:80px;
			}
		section.team ul.team > li > div > div.info{
			width:60%;
			}

	section.heading h1,
	section.heading h2,
	.cmscontent h1{
		font-size:1.5em;
		}
	.cmscontent h2{
		font-size:1.25em;
		}

	section.keypages nav ul{
		flex-direction:column;
		}
	section.keypages nav ul li{
		width:100%;
		}

	}


/* Responsive layout for <= Small Smartphone */
@media screen and (max-width: 360px) {

	header nav.secondary ul li.social{
		display:none;
		}
	header nav.secondary ul li a{
		border-left:none;
		}

	.cmscontent h1,
	section.heading h1{
		font-size:1.5em;
		}
	.cmscontent h2,
	section.heading h2{
		font-size:1.125em;
		}

	.cmscontent h3,
	section.join h3{
		font-size:1em;
		}

	}

body.content-3295c76acbf4caaed33c36b1b5fc2cb1 section.slideshow ul.slides li::before,
body.content-3295c76acbf4caaed33c36b1b5fc2cb1 section.gallery ul.gallery li{
	background-color:transparent !important;
	}
body.content-3295c76acbf4caaed33c36b1b5fc2cb1 section.gallery ul.gallery li a{
	cursor:default;
	}
body.content-3295c76acbf4caaed33c36b1b5fc2cb1 section.body .container{
	max-width:60em;
	}

}