@font-face
{
	font-family: 'Alexandria';
	src: url('../fonts/Alexandria-VariableFont_wght.woff2') format('woff2');
}

@font-face
{
	font-family: 'Inter';
	src: url('../fonts/Inter-VariableFont_opsz,wght.woff2') format('woff2');
}

html,
body
{
	font-family: Alexandria, Arial, serif;
	background-color: white;
	color: #333;
}

button
{
	border-style: none;
	background: none;
	cursor: pointer;
}

.content p
{
	margin-top: 1em;
}

.validation-advice
{
	margin: 2px 0;
	padding: 3px;
	background-color: #f30;
	color: white;
	font-weight: bold;
	font-size: 12px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Arial, Verdana, "Trebuchet MS", sans-serif;
}

.extended
{
	width: 100%;
	box-sizing: border-box;
}

.errori
{
	border: 2px solid red;
	color: red;
	padding: 6px 30px 6px 30px;
}

.pagerLine
{
	border-bottom: 1px solid silver;
	width: 99%;
}

.pagerPages
{
	white-space: nowrap;
	font-size: 10pt;
	width: 1%;
}

.pagerPages A
{
	text-decoration: none;
	color: black;
}

.pagerPages A:hover
{
	text-decoration: underline;
}

#clickToChat
{
	width: 600px;
	text-align: right;
	position: absolute;
	top: 3px;
	right: 4px;
}

#clickToChat a
{
	color: #666;
	font-weight: bold;
	position: relative;
}

#userIcon
{
	position: relative;
}

#userIcon img
{
	border-radius: 50%;
	max-width: 24px;
	max-height: 24px;
}

#userIcon.loggedIn img
{
	position: absolute;
	top: 2px;
	left: 2px;
}

#userIcon > div
{
	display: none;
	position: absolute;
	left: 50%;
	top: 130%;
	transform: translateX(-50%);
	background-color: #f25022;
	color: white;
	border-radius: 12px;
	padding: 0 8px;
	white-space: nowrap;
	font-size: 14px;
	font-weight: bold;
}

#userIcon:hover > div
{
	display: block;
}

#userIcon > div::before
{
	content: '';
	width: 10px;
	height: 10px;
	display: block;
	position: absolute;
	top: -3px;
	left: 50%;
	z-index: -2;
	background-color: #f25022;
	transform: translateX(-50%) rotate(45deg);
}

#userIcon.loggedIn,
#userAvatar,
.comment .avatar
{
	border-radius: 50%;
	color: #c07325;
	border-color: #f5b376;
	width: 28px;
	height: 28px;
	text-align: center;
}

#userIcon.loggedIn,
#userIcon.loggedIn > div,
#userIcon.loggedIn > div::before,
#userAvatar,
#pointsBalance > span:first-child,
.comment .avatar,
#currentLevelMeter .progress,
#currentLevelMeter .progress.level::before,
#currentLevelMeter .progress.level::after
{
	background-color: #f5b376;
}

#currentUserLevel,
#bonusPoints .level1 h4
{
	color: #f5b376;
	font-weight: bold;
	text-transform: uppercase;
}

#userIcon.loggedIn.userLevel100,
#userAvatar.userLevel100,
.comment .avatar.userLevel100
{
	color: #868490;
	border-color: #b6b4c0;
}

#currentLevelMeter .marker.level100
{
	border-color: #868490;
}

#userIcon.loggedIn.userLevel200,
#userAvatar.userLevel200,
.comment .avatar.userLevel20
{
	color: #f2a823;
	border-color: #ecd05e;
}

#currentLevelMeter .marker.level200
{
	border-color: #f2a823;
}

#userIcon.loggedIn.userLevel100,
#userIcon.loggedIn.userLevel100 > div,
#userIcon.loggedIn.userLevel100 > div::before,
#userAvatar.userLevel100,
.userLevel100 #pointsBalance > span:first-child,
.comment .avatar.userLevel100,
#currentLevelMeter .progress.level100,
#currentLevelMeter .progress.level100::before,
#currentLevelMeter .progress.level100::after
{
	background-color: #b6b4c0;
}

.userLevel100 #currentUserLevel,
.nextLevel100,
#bonusPoints .currentLevel .level100,
#bonusPoints .currentLevelStrapline .level100,
#bonusPoints .level100 h4
{
	color: #b6b4c0;
}

#userIcon.loggedIn.userLevel200,
#userIcon.loggedIn.userLevel200 > div,
#userIcon.loggedIn.userLevel200 > div::before,
#userAvatar.userLevel200,
.userLevel200 #pointsBalance > span:first-child,
.comment .avatar.userLevel200,
#currentLevelMeter .progress.level200,
#currentLevelMeter .progress.level200::before,
#currentLevelMeter .progress.levels00::after
{
	background-color: #ecd05e;
}

.userLevel200 #currentUserLevel,
.nextLevel200,
#bonusPoints .currentLevel .level200,
#bonusPoints .currentLevelStrapline .level200,
#bonusPoints .level200 h4
{
	color: #ecd05e;
}

#userIcon.loggedIn svg
{
	height: 17px;
}

#switchCurrency,
#btSearch
{
	font-size: 16px;
}

#switchCurrency
{
	position: relative;
	display: inline-block;
}

#switchCurrency > div::after,
#switchLanguage > div::after
{
	content: " ";
	background-image: url('/images/icons/chevron-down.svg');
	background-size: 16px 16px;
	background-position: center;
	width: 22px;
	height: 22px;
	display: inline-block;
	align-self: center;
}

#switchCurrency > div > span:first-child
{
	color: white;
}

#switchCurrency > div::after,
#switchLanguage > div::after
{
	filter: invert(100%) sepia(0%) saturate(7422%) hue-rotate(109deg) brightness(91%) contrast(122%);
}

#switchLanguage > div
{
	display: flex;
}

#switchLanguage img
{
	max-width: 32px;
	margin: 4px 0;
}

#switchLanguage > div > img
{
	height: 24px;
	width: 24px;
	object-fit: cover;
	border-radius: 50%;
}

.dropdownMenu
{
	font-size: 16px;
	color: black;
	position: relative;
}

.dropdownMenu,
#headerActions > a
{
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
}

#headerActions > a
{
	color: inherit;
}

.dropdownMenu ul
{
	text-align: left;
	min-width: 60px;
	background: white;
	border: 1px solid #e0e0e0;
	border-radius: 5px;
	box-shadow: 1px 1px 5px 1px rgba(179, 179, 179, 1);
	padding: 5px 0 4px;
	position: absolute;
	top: 22px;
	left: 50%;
	transform: translateX(-50%);
	opacity: .97;
	z-index: 999;
}

.dropdownMenu div,
.dropdownMenu li
{
	display: flex;
	justify-content: center;
}

.dropdownMenu li
{
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 0 4px;
}

.dropdownMenu li > span
{
	margin-right: 1ex;
	font-size: 18px;
}

.dropdownMenu li:hover
{
	background-color: #eee;
}

#socialBar
{
	width: 45px;
	height: 140px;
	position: fixed;
	right: 0;
	top: 200px;
}

#sbClose
{
	position: absolute;
	right: 2px;
	top: 8px;
	font-size: 9px;
}

#sbButtons
{
	margin-top: 24px;
	padding-left: 5px;
}

#sbButtons img
{
	margin-bottom: 1px;
}

.popup,
.popup .top,
.popup .bottom
{
	width: 438px;
}

.popup
{
	position: absolute;
	top: 200px;
	left: 50%;
	margin-left: -218px;
	width: 436px;
	min-height: 25px;
	z-index: 1000;
	border: 3px solid #c00;
	border-radius: 5px;
	box-shadow: 1px 1px 5px 1px rgba(179, 179, 179, 1);
	padding: 10px 5px;
	background-color: white;
}

.popup .content
{
	overflow: hidden;
	position: relative;
	margin-bottom: 12px;
	width: 410px;
	padding-left: 14px;
	padding-right: 14px;
}

.popup .content button,
.popup .content .button
{
	float: right;
}

.popup .content button.std
{
	height: auto;
	padding: .2em 2ex;
	margin-top: .5em;
}

.popup .popupFooter
{
	clear: both;
	padding-top: 1.5em;
}

#buyPopup .text
{
	text-align: left;
}

#buyPopupCheckbox
{
	font-size: 13px;
}

#buyPopupCheckbox p:first-child
{
	display: inline;
	margin-top: 0;
}

#buyPopup .popupFooter
{
	padding-top: 0;
}

header div.content,
nav,
section.content
{
	max-width: 1200px;
	padding: 0;
	box-sizing: border-box;
	margin-left: 20px;
	margin-right: 20px;
}

@media ( min-width: 1240px )
{
	nav,
	section.content,
	header div.content
	{
		margin-left: auto;
		margin-right: auto;
	}
}

header
{
	padding-top: 17px;
	padding-bottom: 17px;
	color: white;
	background-color: #ac1f2b;
}

header .content
{
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

header .content > div
{
	flex: 0 0 auto;
}

header .content > .slogan
{
	flex-grow: 1;
	font-weight: 250;
}

header .slogan h6
{
	display: block;
	font-size: 18px;
	font-weight: bolder;
	font-style: normal;
	line-height: 22px;
}

header a,
nav a
{
	text-decoration: none;
}

#btAside
{
	margin-right: 2ex;
}

#topLogo,
#bottomLogo
{
	margin-right: 16px;
	max-width: 220px;
}

.hdrIcon
{
	height: 20px;
}

#btSearch
{
	padding-right: 0;
}

#btSearch span
{
	margin-right: 1ex;
}

#searchBox
{
	z-index: 1000;
	position: absolute;
	top: 32px;
	left: 0;
	width: 100%;
	height: 50px;
	display: flex;
	align-items: center;
	background-color: white;
	box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.17);
	transition: opacity .3s cubic-bezier(0.175, 0.885, 0.335, 1);
	opacity: 1;
}

header.noSearch #searchBox
{
	z-index: -1000;
	opacity: 0;
}

#searchStore
{
	flex: 1 1 auto;
}

#searchStore input
{
	width: 100%;
	height: 36px;
	font-size: 16px;
	border: none;
	padding: 0 1em;
}

#searchBox button
{
	padding: 0 1em;
}

#searchHints
{
	margin-left: 3px;
	padding: 0 1em;
	max-height: 800px;
	overflow: auto;
}

div.autocomplete
{
	position: absolute;
	width: 99%;
	box-sizing: border-box;
	background-color: white;
	margin: 0;
	padding: 0;
	box-shadow: 0 8px 6px 6px rgba(0, 0, 0, 0.17);
}

div.autocomplete ul
{
	list-style-type: none;
	margin: 0;
	padding: 0;
}

div.autocomplete ul li.selected
{
	background-color: #ffb;
}

div.autocomplete ul li
{
	list-style-type: none;
	display: block;
	margin: 0;
	padding: 0;
	cursor: pointer;
	position: relative;
}

.hintType,
.hintValue
{
	padding: 2px;
}

.hintType
{
	font-style: italic;
	font-weight: bold;
	font-size: 15px;
	background-color: white;
	z-index: 1;
	border-bottom: 1px solid #e0e0e0;
	margin-bottom: 10px;
	margin-top: 2px;
}

.hintValue
{
	display: flex;
	align-items: center;
	font-size: 18px;
}

.hintValue .img
{
	flex: 0 0 auto;
	width: 80px;
}

.hintValue .img img
{
	max-width: 70px;
}

.hintValue .strapline
{
	font-size: .8em;
	color: #777;
}

#headerActions,
#headerActions > *
{
	display: flex;
}

#headerActions
{
	align-items: center;
	justify-content: flex-end;
}

#headerActions > * + *
{
	margin-left: 14px;
}

@media ( max-width: 666px )
{
	#headerActions
	{
		flex: 1 0 auto;
	}
}

nav
{
	padding-top: 15px;
	padding-bottom: 15px;
	display: flex;
	font-size: 18px;
	font-weight: 350;
	font-family: Inter, sans-serif;
}

nav button img
{
	height: 24px;
}

nav a
{
	color: #333;
}

nav a:hover
{
	text-decoration: underline;
	color: #eb4952;
}

nav > button
{
	flex: 0 0 auto;
	align-self: flex-start;
}

nav > div
{
	flex: 0 1 auto;
	max-height: 21px;
	overflow: hidden;
	transition: max-height 0.2s ease-out;
}

nav div span
{
	white-space: nowrap;
	display: inline-block;
	margin-bottom: .5em;
	margin-left: 60px;
}

nav div span:first-child
{
	margin-left: 1ex;
	margin-right: -30px;
}

#returnToWebsite
{
	margin-top: 6px;
	font-size: .8em;
}

#hamburgerMenuOverlay
{
	display: none;
	opacity: 0;
	left: 0;
	width: 100vw;
	z-index: 999;
	transition: opacity .5s ease-out;
}

#hamburgerMenu
{
	left: -100%;
	width: 400px;
	padding: 20px;
	box-sizing: border-box;
	max-width: 100vw;
	z-index: 1000;
	transition: left .2s ease-out;
	overflow: auto;
	overscroll-behaviour: contain;
}

#hamburgerMenu,
#hamburgerMenu a
{
	color: white;
}

#hamburgerMenu a
{
	text-decoration: none;
}

#hamburgerMenu a:hover
{
	text-decoration: underline;
}

#hamburgerMenuOverlay,
#hamburgerMenu
{
	position: fixed;
	top: 0;
	bottom: 0;
	background-color: #333;
}

.menuOpen #hamburgerMenuOverlay
{
	display: block;
	opacity: .3;
	transition: opacity .5s ease-in;
}

.menuOpen #hamburgerMenu
{
	left: 0;
	transition: left .3s ease-in;
}

#hamburgerMenu button:first-child
{
	float: right;
}

#hamburgerMenu button:first-child img
{
	filter: invert() saturate(100) brightness(1);
}

#hamburgerMenu h4
{
	margin-top: 1.5em;
	font-size: 120%;
	padding-bottom: 4px;
	border-bottom: 1px solid #e0e0e0;
}

#hamburgerMenu ul
{
	margin-top: 1em;
}

#hamburgerMenu ul li
{
	padding: 3px 0;
}

#breadcrumbsContainer
{
	display: grid;
	grid-template-columns:  1fr auto;
	grid-gap: .5em 1ex;
	align-items: center;
	margin-top: 0;
	margin-bottom: 32px;
	padding-top: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid #ededed;
	font-size: 14px;
}

#breadcrumbs
{
	color: #7c7c7c;
	font-weight: 300;
}

#breadcrumbs a,
#breadcrumbs span
{
	color: #2e2e2e;
	text-decoration: none;
}

#breadcrumbs a:hover
{
	text-decoration: underline;
}

#breadcrumbs span
{
	margin: 0 1ex;
}

#breadcrumbsContainer .social,
.footer .social
{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
}

.footer .social
{
	gap: 30px;
}

#breadcrumbsContainer .social img,
.footer .social img
{
	height: 26px;
}

#breadcrumbsContainer .social img
{
	filter: brightness(0);
	max-height: 18px;
}

section.carousel
{
	position: relative;
}

@media ( max-width: 1259px )
{
	section.carousel
	{
		max-width: calc(100% - 72px);
		margin-left: auto;
		margin-right: auto;
	}
}

section.carousel h1
{
	display: grid;
	grid-template-columns:  1fr auto;
}

.carousel-btn-prev,
.carousel-btn-next
{
	position: absolute;
	top: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0;
}

.carousel-btn-prev
{
	left: -36px;
}

.carousel-btn-next
{
	right: -36px;
}

.carousel-btn-prev img
{
	transform: rotate(90deg);
}

.carousel-btn-next img
{
	transform: rotate(270deg);
}

.carousel-btn-prev img,
.carousel-btn-next img
{
	height: 36px;
	filter: invert() sepia(100) saturate(20) hue-rotate(290deg) saturate(50) brightness(0.8);
}

.tns-nav
{
	margin-top: 15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
}

.tns-nav button
{
	background-color: white;
	border: 1px solid #8f8f8f;
	border-radius: 50%;
	cursor: pointer;
	height: 14px;
	width: 14px;
	box-sizing: border-box;
	padding: 0;
	outline: none;
	margin: 0 3px;
}

.tns-nav button.tns-nav-active
{
	cursor: default;
	border-color: #696969;
	position: relative;
}

.tns-nav button.tns-nav-active::after
{
	height: 100%;
	width: 100%;
	border-radius: 50%;
	background-color: #696969;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

.products-carousel .tns-slider
{
	display: flex;
}

section.content
{
	margin-top: 16px;
	margin-bottom: 60px;
}

section.content h1,
section.bg .content h1,
section.content h2,
section.content h3
{
	text-align: center;
}

section.content h1,
section.bg .content h1
{
	font-size: 32px;
	font-weight: bold;
}

section.content.general h1,
section.content.general h2
{
	margin: 1em;
}

section.content h2,
section.bg .content h2
{
	font-family: Inter, sans-serif;
	font-size: 22px;
	font-weight: 300;
}

section.content h2,
section.bg .content h2,
section.content h3
{
	margin-top: 6px;
}

.general.content h2
{
	font-size: 22px;
	font-weight: bold;
	border-bottom: 1px solid #ededed;
	padding: 1ex
}

section.content.separator
{
	border-top: 1px solid #ededed;
	padding-top: 80px;
	margin-top: 80px;
}

section.bg
{
	background-color: #fbfbfb;
	padding: 50px 0;
}

.general.content
{
	text-align: justify;
}

.general.content ul,
.general.content ol
{
	margin: 1em 1ex;
	padding-left: 2ex;
}

.general.content ul li
{
	list-style-type: disc;
}

.general.content ol li
{
	list-style-type: decimal;
}

.products-carousel
{
	margin-top: 16px;
}

.products-carousel .slide
{
	cursor: pointer;
}

.products-carousel .slide > div
{
	margin: 0 auto;
}

.carousel .products .box
{
	display: flex;
	flex-direction: column;
}

.products .box
{
	text-align: center;
	position: relative;
	padding: 8px;
	border: 1px solid #ececec;
}

.products .box img
{
	max-width: 100%;
}

.products .box .num
{
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 53px;
	height: 53px;
	box-sizing: border-box;
	border: 3px solid #d02e26;
	border-radius: 50%;
	font-family: "Avenir Next", Arial, sans-serif;
	font-weight: bold;
	font-size: 32px;
	line-height: 46px;
	text-align: center;
	background-color: white;
}

.products .box .num .tag
{
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 100%;
	height: 17px;
	line-height: 17px;
	font-size: 9px;
}

.dealBox .box .saving
{
	position: absolute;
	left: 0;
	bottom: 6px;
	width: 82px;
	height: 30px;
}

.productBox .box .saving
{
	top: 6px;
	bottom: auto;
}

.productBox .box .saving,
.products .box .saving,
.dealBox .box .saving
{
	font-size: 12px;
	font-weight: 400;
	color: white;
	background-color: #ac1f2b;
	padding: 6px;
}

.products .box .num .tag
{
	background-color: #d02e26;
	color: white;
}

.products .price,
.dealBox .price
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	color: #ac1f2b;
	font-size: 18px;
	font-weight: bold;
}

.products .box,
.dealBox .price
{
	width: 290px;
	height: 100%;
	box-sizing: border-box;
}

.products .price .rrp,
.dealBox .price .rrp
{
	color: #333;
	text-align: start;
	text-decoration: line-through;
	font-size: 16px;
	font-weight: 300;
	flex-grow: 1;
	margin-left: 10px;
}

#moreFeaturedSection > .content
{
	display: flex;
	flex-wrap: wrap;
}

#moreFeaturedSection .dealBox
{
	flex: 0 0 auto;
}

#moreFeatured
{
	flex: 1 1 auto;
}

@media ( max-width: 955px )
{
	#moreFeaturedSection
	{
		flex-wrap: wrap;
		justify-content: center;
	}

	.dealBox
	{
		margin-right: 0 !important;
	}
}

#moreFeatured .products,
#moreProducts .products
{
	display: grid;
	grid-template-columns:  repeat( auto-fit, 232px );
	column-gap: 10px;
	row-gap: 16px;
	align-content: space-around;
	margin-top: 40px;
}

.products-carousel a.slide,
#moreFeatured .products > a,
#moreProducts .products > a
{
	display: block;
	text-decoration: none;
	color: initial;
}

#moreFeatured .products .box,
#moreProducts .products .box
{
	width: 100%;
	display: flex;
	flex-direction: column;
}

#moreFeatured .products .title,
#moreProducts .products .title
{
	font-size: 18px;
}

@media ( max-width: 986px )
{
	#moreFeatured .products > div:nth-child( n + 3 ),
	#moreProducts .products > div:nth-child( n + 3 )
	{
		display: none;
	}
}

.dealBox
{
	width: 470px;
	box-sizing: border-box;
	padding: 25px;
	margin-bottom: 30px;
	margin-right: 10px;
	background-color: #f0f0f0;
	position: relative;
	align-self: flex-start;
}

@media ( max-width: 429px )
{
	.dealBox
	{
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

.dealBox button
{
	text-transform: uppercase;
	width: 100%;
	margin-top: 26px;
}

.dealBox h3,
.dealBox .box
{
	text-align: center;
}

.dealBox .box
{
	position: relative;
}

.dealBox .box img
{
	max-height: 340px;
	max-width: 100%;
}

.dealBox h3
{
	margin-top: 0 !important;
	font-size: 35px;
	color: #2e2e2e;
	margin-bottom: 25px;
}

.dealBox .box .saving
{
	font-size: 40px;
	line-height: 60px;
	height: 60px;
	width: 124px;
}

.dealBox .price
{
	width: 100%;
	font-size: 34px;
	margin: 20px 0;
}

.dealBox .price .rrp
{
	font-size: 30px;
}

.dealBox .price .saving
{
	font-size: 18px;
	font-weight: 400;
	color: white;
	background-color: #ac1f2b;
	padding: 6px;
}

.dealBox .title
{
	font-size: 30px;
	font-weight: bold;
	margin-top: 20px;
}

.dealBox .licensing
{
	font-size: 16px;
	font-weight: 300;
	margin-top: 14px;
}

.products .title
{
	padding-top: 10px;
	padding-bottom: 20px;
	font-size: 22px;
	font-weight: bold;
	line-height: 22px;
	text-align: start;
	flex-grow: 1;
}

section input[type="text"],
section input[type="email"],
section input[type="search"],
section input[type="password"],
section select,
section textarea,
button.std
{
	box-sizing: border-box;
	font-size: 18px;
	border: 1px solid #aaa;
}

section.find input,
section.find select
{
	margin: .5em 20px;
}

section input[type="text"],
section input[type="email"],
section input[type="search"],
section input[type="password"],
section select,
section textarea,
button.std
{
	padding: 14px 16px;
}

button.std
{
	background-color: #ac1f2b;
	color: white;
	padding: 14px 42px;
	font-family: Alexandria, serif;
}

button.std:not([disabled]):hover
{
	background-color: #c11d2b;
}

button.std img
{
	height: 24px;
	margin-left: 1ex;
	filter: invert() sepia(100) saturate(0) brightness(1);
}

#brandsCarousel .slide
{
	width: 200px;
	height: 85px;
}

#brandsCarousel .slide a
{
	text-align: center;
	height: 100%;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}

#brandsCarousel .slide img
{
	max-width: 100%;
}

section.footer,
footer
{
	background-color: #2e2e2e;
	width: 100%;
	box-sizing: border-box;
	font-family: Inter, sans-serif;
}

section.footer,
section.footer a,
footer,
footer a
{
	color: white;
	text-decoration: none;
}

section.footer > div.content,
section.find > div.content,
#reassurance > div.content,
#topReassurance > div.content,
#bottomReassurance > div.content,
footer > div.content,
section.bg > .content
{
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

section.footer > div.content,
section.find > div.content,
#reassurance > div.content,
#topReassurance > div.content,
#bottomReassurance > div.content,
footer > div.content
{
	display: flex;
	flex-wrap: wrap;
}

section.footer > div.content
{
	display: grid;
	grid-template-columns:  auto 1fr auto;
	padding-bottom: 50px;
	border-bottom: 1px solid #aaa;
}

header .content > div,
section.footer > div.content > div:first-child
{
	align-self: center;
}

section.footer
{
	padding-top: 50px;
}

section.footer img
{
	max-width: 26px;
}

footer
{
	padding: 52px 20px 72px;
}

footer a
{
	font-family: Inter, sans-serif;
}

footer .logo
{
	flex: 0 0 auto;
	align-self: center;
}

footer .logo img
{
	max-width: 220px;
}

footer .links
{
	flex: 1 0 300px;
	font-size: 18px;
	font-weight: 300;
	margin: 0 38px;
}

footer .links > div a
{
	margin-left: 4ex;
}

footer .links > div:first-child > a:first-child
{
	margin-left: 0;
}

footer .credentials,
footer .credentials a,
footer .copyright,
footer .copyright a
{
	color: #9f9e9e;
}

footer .copyright
{
	flex: 1 0 auto;
	text-align: right;
	align-self: flex-end;
}

footer .credentials,
footer .copyright
{
	font-size: 15px;
	font-weight: 300;
}

footer .logo,
footer .links,
footer .copyright,
footer .credentials
{
	margin-top: 2em;
}

footer .credentials
{
	display: block !important;
}

footer .content.grid
{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2rem;
}

footer .content.grid h3
{
	font-size: 18px;
	margin: 20px 0;
}

footer .content.grid a + h3
{
	margin-top: 50px;
}

footer .content.grid .column
{
	flex: 1 1 auto;
	max-width: max-content;
}

footer .content.grid a
{
	display: block;
	margin-bottom: 18px;
}

section .questions h3
{
	text-align: left;
	color: #039;
	cursor: pointer;
}

.questions > div > div
{
	display: none;
	text-align: justify;
}

.questions > div > div.visible
{
	display: block;
}

form th
{
	vertical-align: middle;
}

section.twoColumns
{
	display: grid;
	grid-template-columns:  repeat( auto-fit, minmax(300px, 1fr));
	grid-gap: 1em 10px;
}

table input,
table button
{
	margin: 0;
}

.formTable
{
	display: grid;
	grid-template-columns:  minmax( min-content, max-content ) 1fr;
	grid-gap: .5em 2ex;
	align-items: center;
	min-width: 300px;
	margin: 2em 10px;
}

.formTable input[type="text"],
.formTable input[type="email"],
.formTable input[type="password"],
.formTable button
{
	width: 100%;
	box-sizing: border-box;
	margin: 0;
}

.formTable button[type="submit"],
.formTable > .validation-advice
{
	grid-column: 2;
}

.dataTable
{
	min-width: 100%;
	margin-top: 1em;
	margin-bottom: 1em;
}

.dataTable th
{
	border-bottom: 1px solid #e0e0e0;
	padding-bottom: 2px;
}

.dataTable tr:nth-child( n + 2 ) td
{
	padding: 2px 0;
}

.dataTable tr:nth-child( 2n + 3 )
{
	background-color: #eee;
}

.sponsoredLinks
{
	margin: 1em 0;
	border-top: 1px solid #bfd9f2;
	border-bottom: 1px solid #bfd9f2;
	padding: 10px 20px !important;
}

.slTitle
{
	color: #333;
	font-size: 14px;
	font-weight: bold;
	line-height: 16px;
	margin-bottom: 20px;
}

.whatIsThis
{
	font-size: 11px;
	font-weight: 300;
	color: #06c;
	text-decoration: none;
}

#specs .save
{
	color: #c00;
	background-color: #f8e7e7;
	display: inline-block;
	font-size: 15px;
	margin-left: 2ex;
	padding: 1px .5ex;
	text-align: center;
}

#largePromo img
{
	max-width: 100%;
	height: auto;
}

#reassurance
{
	margin-top: 100px;
	margin-bottom: 50px;
}

#reassurance > div.content,
#topReassurance > div.content
{
	justify-items: center;
	font-family: Inter, sans-serif;
	font-weight: 300;
	font-size: 17px;
}

#topReassurance > div.content
{
	color: white;
}

#reassurance > div.content
{
	display: grid;
	grid-template-columns:  repeat( auto-fit, minmax(350px, 1fr));
	grid-row-gap: 2em;
	justify-items: center;
	font-family: Inter, sans-serif;
	font-weight: 300;
	font-size: 17px;
}

#bottomReassurance svg
{
	filter: brightness(15%);
}

#bottomReassurance > div.content:first-child,
#topReassurance > div.content:first-child
{
	display: grid;
	grid-template-columns:  repeat( auto-fit, minmax(350px, 1fr));
	grid-row-gap: 2em;
	justify-items: center;
	padding-bottom: 50px;
	margin-bottom: 50px;
	border-bottom: 1px solid #e0e0e0;
}

#bottomReassurance > div.content:first-child > div,
#topReassurance > div.content:first-child > div
{
	display: flex;
	align-items: center;
}

#reassurance > div.content > div svg,
#bottomReassurance > div.content > div svg,
#topReassurance > div.content > div svg
{
	margin-right: 1em;
}

#reassurance > div.content > div,
#bottomReassurance > div.content:nth-child( 2 ) > div,
#topReassurance > div.content:nth-child( 2 ) > div
{
	text-align: center;
}

#reassurance h6
{
	font-size: 22px;
	text-align: center;
	margin-bottom: 1em;
}

#topReassurance,
#bottomReassurance
{
	background-color: #2e2e2e;
	display: flex;
	justify-content: center;
}

#bottomReassurance
{
	background-color: #f4f4f4;
}

#topReassurance > div.content:first-child,
#bottomReassurance > div.content:first-child
{
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: none;
	margin: 0;
}

#bottomReassurance > div.content:first-child
{
	padding-top: 20px;
	padding-bottom: 20px;
}

#topReassurance > div.content:first-child >,
#bottomReassurance > div.content:first-child > div
{
	text-align: center;
	color: white;
}

#topReassurance svg,
#bottomReassurance svg
{
	max-width: 26px;
	max-height: 26px;
}

@media (max-width: 600px)
{
	#topReassurance,
	#bottomReassurance
	{
		display: none;
	}
}

#customerSupport a
{
	color: #67c2fa;
	font-size: 24px;
	font-style: italic;
	text-decoration: none;
}

#customerSupport a:hover
{
	text-decoration: underline;
	color: red;
}

#reassuranceBrands img
{
	max-width: 96px;
	margin-left: 5px;
	margin-right: 5px;
	margin-bottom: 2px;
}

#createForm .honey
{
	display: none;
}

button.workInProgress
{
	display: inline-flex;
	justify-content: center;
}

button.workInProgress::before
{
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	background-image: url("data:image/svg+xml,%3Csvg role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='currentColor' d='M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z'%3E%3C/path%3E%3C/svg%3E ");
	margin-right: 1ex;
	animation: rotate 2s linear infinite;
	filter: invert(100%);
}

@-webkit-keyframes rotate
{
	0%
	{
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	to
	{
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

@keyframes rotate
{
	0%
	{
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	to
	{
		-webkit-transform: rotate(1turn);
		transform: rotate(1turn);
	}
}

.tabs,
.tabs .content
{
	display: flex;
	flex-wrap: wrap;
	font-weight: bold;
}

.tabs,
.tabs .content,
.tabs a
{
	color: #2d3134 !important;
}

.tabs .content a:hover,
.tabs a:hover
{
	text-decoration: none !important;
}

.tabs
{
	margin: 30px 0 40px;
}

.tabs .content
{
	width: 100%;
}

.tabs a
{
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 20px;
	position: relative;
	text-decoration: none;
}

.tabs.equal a
{
	flex: 1;
}

.tabs a.active
{
	color: white !important;
	background-color: #489ed6;
}

.tabs a.active::after
{
	content: '';
	background-color: #489ed6;
	display: block;
	transform: rotate(45deg);
	width: 10px;
	height: 10px;
	position: absolute;
	left: calc(50% - 5px);
	bottom: -5px;
	z-index: 1;
}

.backlink a
{
	font-size: 13px;
	color: #414141;
	text-decoration: none;
}

.backlink a:hover
{
	text-decoration: underline;
}

.pageOverlay
{
	position: fixed;
	top: 0;
	bottom: 0;
	width: 100vw;
	height: 100vh;
}

section.find,
section.news
{
	padding-top: 50px;
	padding-bottom: 72px;
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
}

section.find
{
	text-align: center;
	padding: 0;
	margin-bottom: 95px;
}

section.find h1
{
	margin-bottom: 48px;
}

section.find form
{
	width: 100%;
}

section.find form > div
{
	display: grid;
	grid-template-columns:  200px 3fr 3fr 3fr 1fr;
	justify-content: center;
	align-items: stretch;
	background-color: #eaeaea;
	padding: 25px 2ex;
}

section.find form span:first-child
{
	font-size: 26px;
	padding: 0 1em;
	align-self: center;
}

@media ( max-width: 1100px )
{
	section.find form > div
	{
		grid-template-columns:  1fr 1fr;
	}

	section.find form span:first-child
	{
		grid-column: 1 / span 2;
	}
}

@media ( max-width: 800px )
{
	section.find form > div
	{
		grid-template-columns: 1fr;
	}

	section.find form span:first-child
	{
		grid-column: 1;
	}
}

section.find input,
section.find select
{
	margin: 0;
	border: none;
	border-radius: 0;
	background-color: white;
}

section.find select[name="cat"]
{
	border: 1px solid #eaeaea;
	border-top: none;
	border-bottom: none;
}

section.find select,
section.find input::placeholder
{
	color: #969696;
}

section.find button
{
	flex: 0 0 1% !important;
	border-radius: 0;
	display: flex;
	align-items: center;
}

section.find button img
{
	filter: none;
}

details
{
	background-color: #fff;
	border: 1px solid #eee;
	padding: 25px 30px;
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
}

summary
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	list-style: none;
	font-size: 18px;
	font-weight: 400;
}

summary::-webkit-details-marker
{
	display: none;
}

details[open] summary
{
	color: #AC1F2B;
	font-weight: bold;
}

summary::after
{
	content: '+';
	background-color: #9CA1AA;
	color: white;
	width: 27px;
	height: 27px;
	border-radius: 4px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	flex-shrink: 0;
	margin-left: 15px;
}

details[open] summary::after
{
	content: '-';
	background-color: #AC1F2B;
}

details[open] > div
{
	margin-top: 15px;
}

details div
{
	padding-right: 60px;
}