/* Generic Variables */

@set {
	black: #1c1c1c;
	gray: #494949;

	flat-white: #F8F8F8;
	flat-red: #EB3B5A;
	flat-orange: #FA8231;
	flat-yellow: #F7B731;
	flat-green: #20BF6B;
	flat-teal: #0FB9B1;
	flat-blue: #4B7BEC;
	flat-purple: #8854D0;
	flat-dark-gray: $(subtle-dark);
	flat-gray: $(subtle-light);

	font-sans-serif: BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;

	natural-radius: 8px;

	standard-font-size: 16px;

	field-spacing-horizontal: 24px;
	field-spacing-vertical: 24px;
}

/* Generic Selectors */

@selector icons :any(.font-icon, [class*="icon-social-"], [class*="material-icons"]);
@selector materialicons i[class*="material-icons"];
@selector headings :any(h1, h2, h3, h4, h5, h6);
@selector inputs :any(input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], input[type=date], input[type="time"], input[type="datetime-local"], input[type="month"], textarea, select, .select-container>select, .select-container.fancy>.faux-select);
@selector hyperlinks a:not(.button):any(, :link, :visited, :active, :hover, :focus);
@selector menulinks :any(:hyperlinks, .no-link);

/* Reset standards */

*,*:after,*:before,*::after,*::before{box-sizing: border-box; -webkit-tap-highlight-color: rgba(0,0,0,0);}
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
img{-ms-interpolation-mode: bicubic;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select,td{vertical-align:middle}

/* Site */
@import url('https://fonts.googleapis.com/icon?family=Material+Icons&display=block');

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

html,
body {
	background: #fff;
	color: $(black);
	font-family: 'MontserratCustom', $(font-sans-serif);
	font-size: $(standard-font-size);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 1px;
	margin: 0;
	padding: 0;
	width: 100%;
}
body {
	padding-top: 72px;
}
body.home {
	padding-top: 0;
}

header {
	background: $(black);
	color: #fff;
	height: 72px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 9999;
}
body.home header {
	background: a-adjust($(black), -20);
}
header .wrapper,
header .split {
	height: 100%;
}
header .wrapper {
	max-width: none;
	padding-right: 0;
}
header .split {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
header .side.logo {
	align-self: center;
}
header .side.nav > ul.nav {
	display: inline-flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	height: 100%;
	list-style: none;
}
header .side.nav > ul.nav > li {
	position: relative;
	transition: all 0.2s ease;
}
header .side.nav > ul.nav > li:not(.is-button):hover {
	background: #fff;
	color: $(black);
}
header .side.nav > ul.nav > li > :any(:hyperlinks, .no-link) {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding: 0 24px;
	font-weight: 500;
	text-transform: uppercase;
	cursor: pointer;
	color: inherit;
	text-decoration: none;
}
header .side.nav > ul.nav > li.is-button > :any(:hyperlinks, .no-link) span {
	@include .button;
	@include .button.secondary;
	@include .button.inverted;
	@include .button.inverted.secondary;
	border-width: 1px;
}
header .side.nav > ul.nav > li.is-button > :any(:hyperlinks, .no-link):hover span {
	@include .button:hover;
	@include .button.secondary:hover;
	@include .button.inverted:hover;
	@include .button.inverted.secondary:hover;
}
header .side.nav > ul.nav > li.has-submenu:not(.is-button) > :any(:hyperlinks, .no-link)::after {
	content: 'arrow_drop_down';
	display: inline-block;
	vertical-align: -23%;
	margin-left: 8px;
	font-weight: 700;

	font-family: 'Material Icons';
	font-weight: 400;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: liga;
	-webkit-font-smoothing: antialiased;
	max-width: 1em;
	overflow: visible;
}
header .sub {
	display: none;
	color: #fff;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: $(gray);
	border-top: 4px solid #fff;
	overflow: hidden;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	width: 300px;
	font-weight: 500;
	text-transform: uppercase;
}
header li:hover input[type=checkbox]:not(:checked) + .sub {
	display: block;
}
header .side.nav ul.nav ul.nav {
	list-style: none;
}
header .side.nav ul.nav ul.nav :hyperlinks {
	display: block;
	color: inherit;
	padding: 16px 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	text-decoration: none;
	transition: all 0.2s ease;
}
header .side.nav ul.nav ul.nav :hyperlinks:hover {
	background: a-adjust(#fff, -90);
}
header .mobile-menu-button {
	display: none;
	justify-content: center;
	align-items: center;
	font-size: 36px;
	text-align: center;
	line-height: 1;
	height: 100%;
	padding: 0 24px;
	border-left: 1px solid rgba(255, 255, 255, 0.1);
	cursor: pointer;
}
header .mobile-menu-button i::before {
	content: "menu";
}
body.mobile-menu-on header .mobile-menu-button i::before {
	content: "close";
}
header .mobile-menu-button .label {
	font-size: 10px;
	text-transform: uppercase;
	margin-top: 4px;
}

:headings {
	margin: 24px 0;
	font-weight: 500;
	line-height: 1.3;
	text-transform: uppercase;
}
h1 {
	font-size: 36px;
}
body.home h1 {
	font-size: 56px;
	margin-bottom: 48px;
}
h2 {
	font-size: 48px;
}
h3 {
	font-size: 36px;
}
h4 {
	font-size: 28px;
}
h5 {
	font-size: 24px;
}
h6 {
	font-size: 18px;
}
:headings.blend {
	color: inherit;
}

h1 + h2 {
	margin-top: 0;
}

p {
	margin: 24px 0;
}
p.subtle {
	color: $(gray);
	font-size: 12px;
	margin: 16px 0;
}

img {
	max-width: 100%;
}

:hyperlinks {
	color: $(black);
	text-decoration: none;
}
:hyperlinks:hover {
	color: l-adjust($(black), 5);
	text-decoration: underline;
}
:hyperlinks:active {
	color: l-adjust($(black), -5);
}

:headings :hyperlinks {
	text-decoration: none !important;
}

.wrapper {
	display: block;
	margin: 0 auto;
	max-width: calc(1200px + 48px);
	padding: 0 24px;
}
.wrapper.small {
	max-width: calc(960px + 48px);
}

section {
	padding: 72px 0;
	max-width: 100%;
	overflow: hidden;
}

.button {
	@name button;
	appearance: none;
	background: $(black);
	border: 2px solid transparent;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-family: 'MontserratCustom', $(font-sans-serif);
	font-size: $(standard-font-size);
	font-weight: 500;
	line-height: 1.2;
	margin: 0;
	padding: 16px 24px;
	position: relative;
	text-align: center;
	text-decoration: none !important;
	transition: background .2s ease, border .2s ease, color .2s ease;
	vertical-align: middle;
	outline: none;
	user-select: none;
	max-width: 100%;
	text-transform: uppercase;
}
.button:hover {
	border-color: transparent;
	color: #fff;
}
.button.secondary {
	background: transparent;
	border-color: $(black);
	color: $(black);
}
.button.secondary:hover {
	background: $(black);
	color: #fff;
}
.button.tertiary {
	background: transparent;
	border-color: transparent;
	color: $(gray);
}
.button.tertiary:hover {
	color: $(theme-dark-tan);
}
.button.inverted,
.button.inverted:hover {
	background: #fff;
	color: $(gray);
}
.button.inverted.secondary,
.button.inverted.secondary:hover {
	background: transparent;
	border-color: #fff;
	color: #fff;
}
.button.inverted.secondary:hover {
	background: #fff;
	border-color: #fff;
	color: $(black);
}
.button.inverted.tertiary,
.button.inverted.tertiary:hover {
	background: transparent;
	border-color: transparent;
	color: #fff;
}
.button.small {
	padding: 8px 12px;
}

.button-container {
	display: block;
	margin: -4px;
}
.button-container>.button,
.button-container>.button:not(.fluid)+.button:not(.fluid) {
	margin-top: 4px;
	margin-right: this(margin-top);
	margin-bottom: this(margin-top);
	margin-left: this(margin-top);
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	appearance: none;
}
:inputs {
	appearance: none;
	background: l-adjust($(theme-light-blue), 2);
	border: 1px solid transparent;
	border-radius: 0;
	color: $(black);
	display: inline-block;
	font-family: inherit;
	font-size: 16px;
	margin: 0;
	padding: 12px 24px;
	resize: none;
	line-height: 1.2;
	transition: border 0.2s $(material-easing-standard), background 0.2s $(material-easing-standard), color 0.2s $(material-easing-standard), box-shadow 0.2s $(material-easing-standard);
}
:inputs:hover {
	border-color: $(dark-gray);
}
textarea {
	display: block;
	vertical-align: top;
	resize: vertical;
	height: 176px;
}
:inputs:focus {
	border-color: $(gray);
	outline: 0;
	outline-color: transparent;
	outline-style: none;
}
:inputs.gray:not(:focus) {
	background: $(flat-white);
	border-color: transparent;
}
:inputs.gray:not(:focus):hover {
	background: l-adjust($(flat-white), -2);
	border-color: transparent;
}
input[type=date]:not(.no-datepicker) {
	cursor: pointer;
}
input[type=date]::-webkit-datetime-edit,
input[type=date]::-webkit-datetime-edit-fields-wrapper,
input[type=date]::-webkit-datetime-edit-text,
input[type=date]::-webkit-datetime-edit-month-field,
input[type=date]::-webkit-datetime-edit-day-field,
input[type=date]::-webkit-datetime-edit-year-field {
	appearance: none;
	line-height: 1.3;
	padding: 0;
	margin: 0;
}
input[type=date]:not(.no-datepicker)::-webkit-inner-spin-button,
input[type=date]:not(.no-datepicker)::-webkit-calendar-picker-indicator,
input[type=date]:not(.no-datepicker)::-webkit-clear-button {
	display: none;
}
:inputs.tiny {
	padding: 8px;
	font-size: 12px;
}
:inputs.small {
	padding: 8px 12px;
}
:inputs.large {
	padding: 16px;
}
:inputs.huge {
	padding: 16px;
	font-size: 20px;
}

:any(input[type=checkbox], input[type=radio]) {
	display: none;
}
:any(input[type=checkbox], input[type=radio])+label {
	margin: 0 0 4px 0;
	position: relative;
	vertical-align: middle;
	opacity: 1;
	padding-left: 28px;
	text-align: left;
	cursor: pointer;
}
:any(input[type=checkbox], input[type=radio])+label:last-child {
	margin: 0;
}
:any(input[type=checkbox], input[type=radio])+label::before,
:any(input[type=checkbox], input[type=radio])+label::after {
	@name checkboxVisual;
	content: " ";
	background: #fff;
	border: 2px solid $(theme-dark-blue);
	color: $(theme-dark-blue);
	cursor: pointer;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 20px;
	height: this(width);
	line-height: this(width);
	text-align: center;
	vertical-align: middle;
	transition: all 0.1s ease-out;
	user-select: none;
}
input[type=radio]+label::before {
	border-radius: 50%;
	border: 1px solid #C1C9CD;
}
:any(input[type=checkbox], input[type=radio])+label:active::before {
	background: $(flat-white);
}
:any(input[type=checkbox], input[type=radio])+label::after {
	border: none;
	display: block;
	width: 10px;
	height: 10px;
	background: $(theme-dark-blue);
	left: 5px;
	opacity: 0;
	clip-path: circle(0% at 50% 50%);
}
input[type=radio]+label::after {
	width: 8px;
	height: this(width);
	left: 6px;
}
:any(input[type=checkbox], input[type=radio]):checked+label::after {
	clip-path: circle(150% at 50% 50%);
	opacity: 1;
}
:any(input[type=checkbox], input[type=radio])+label:empty {
	display: inline-block;
	margin: 0;
	padding: 0;
	width: query(checkboxVisual, width, 0);
	height: query(checkboxVisual, height, 0);
}
input[type=radio]:checked+label::before {
	background: $(theme-dark-blue);
	border-color: transparent;
}
input[type=radio]:checked+label::after {
	background: #fff;
	border-radius: 50%;
}

.input-icon-container {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
}
.input-icon-container :inputs {
	flex: 1;
	min-width: 0;
}

form .fields,
form .field {
	vertical-align: top;
}
form .fields {
	display: block;
	margin: 0 calc($(field-spacing-horizontal) / 2 * -1);
}
form .field {
	padding: calc($(field-spacing-vertical) / 2) calc($(field-spacing-horizontal) / 2);
	vertical-align: top;
}
form .fields>.fields {
	margin: 0;
}
form .fields.flexible {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
form .fields.flexible>* {
	flex: 1;
	min-width: 0;
}
form .fields.two>.field,
form .fields.two>.fields {
	display: inline-block;
	width: calc(100% / 2);
}
form .fields.three>.field,
form .fields.three>.fields {
	display: inline-block;
	width: calc(100% / 3);
}
form .fields.four>.field,
form .fields.four>.fields {
	display: inline-block;
	width: calc(100% / 4);
}
form .fields.five>.field,
form .fields.five>.fields {
	display: inline-block;
	width: calc(100% / 5);
}
form .field :inputs,
form .field .select-container {
	width: 100%;
}
form .field label,
form .fields label {
	display: block;
	margin: 0 0 4px 0;
	text-transform: uppercase;
	color: $(gray);
}

:materialicons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: 'liga';
	-webkit-font-smoothing: antialiased;

	display: inline-block;
	font-size: 1.3em;
	line-height: 0.7;
	user-select: none;
	max-width: 1em;
	overflow: visible;
	vertical-align: -34%;
}
:materialicons.material-icons-outlined {
  font-family: 'Material Icons Outlined';
}
:materialicons.material-icons-round {
  font-family: 'Material Icons Round';
}
:materialicons.material-icons-sharp {
  font-family: 'Material Icons Sharp';
}
:materialicons.material-icons-two-tone {
  font-family: 'Material Icons Two Tone';
}

.hero {
	background-color: $(theme-light-blue);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}
.hero .image {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
}
.hero .image video.hero-video {
	display: block;
	height: auto;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	position: absolute;
	top: 50%;
	transition: all 0.5s ease-in;
	transform: translateX(-50%) translateY(-50%);
	width: auto;
	z-index: 1;
}
.hero .image.right {
	left: auto;
	width: 50%;
}
.hero.image-fade .image.right {
	width: 75%;
}
.hero.image-fade .image::before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}
.hero .overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: $(black);
	opacity: 0;
	z-index: 2;
}
.hero .wrapper {
	position: relative;
	z-index: 3;
}
.hero .max {
	width: 50%;
	max-width: 540px;
	margin: 0 auto 0 0;
}
.hero.image-position-right .max {
	width: calc(50% - 96px);
}
.hero .content:not(:last-child) {
	margin-bottom: 24px;
}

.fancybox-hidden {
	display: none;
}
.fancybox-is-open .fancybox-bg {
	opacity: 0.95;
}
.fancybox-content {
	position: relative;
}
.fancybox-content .close {
	position: absolute;
	top: -8px;
	right: -8px;
	width: 32px;
	height: 32px;
	line-height: 32px;
	text-align: center;
	background: #000;
	color: #fff;
	border-radius: 50%;
	cursor: pointer;
	font-size: 32px;
	z-index: 9999;
}

.wysiwyg {
	ul, ol {
		list-style: none;
		counter-reset: li;
		padding: 0;
		margin: 24px 0;
	}
	ul li,
	ol li {
		position: relative;
		padding: 4px 0 4px 24px;
		counter-increment: li;
	}
	ul li::before,
	ol li::before {
		content: "\2022";
		color: $(theme-dark-blue);
		display: inline-block;
		font-weight: 700;
		width: 24px;
		position: absolute;
		left: 0;
		top: 4px;
	}
	ul li::before {
		font-size: 1.5em;
		line-height: 0.75;
	}
	ol li::before {
		content: counter(li);
	}
}

.hero {
	color: #fff;
	position: relative;
	min-height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	text-align: center;
}
.hero .background-image {
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.hero video.hero-video {
	display: block;
	height: auto;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	position: absolute;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: auto;
	z-index: 2;
}
.hero .overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: $(black);
	opacity: 0.2;
	z-index: 3;
}
.hero .wrapper {
	position: relative;
	z-index: 4;
}

.page-divider-heading {
	text-align: center;
}

.hover-block-grid {
	padding: 0;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	color: #fff;
	font-weight: 400;
	text-align: center;
}
.hover-block-grid .block {
	width: calc(100% / 6);
	min-height: 50vh;
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 24px;
}
.hover-block-grid :hyperlinks.block {
	color: inherit;
	text-decoration: none;
	font-weight: inherit;
}
.hover-block-grid.has-1 .block {
	width: 100%;
}
.hover-block-grid.has-2 .block {
	width: calc(100% / 2);
}
.hover-block-grid.has-3 .block {
	width: calc(100% / 3);
}
.hover-block-grid.has-4 .block {
	width: calc(100% / 4);
}
.hover-block-grid.has-5 .block {
	width: calc(100% / 5);
}
.hover-block-grid.has-6 .block {
	width: calc(100% / 6);
}
.hover-block-grid .image {
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: all 0.3s ease-out;
	z-index: 1;
}
.hover-block-grid .block:hover .image {
	transform: scale(1.1);
}
.hover-block-grid .overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: $(black);
	opacity: 0.5;
	transition: all 0.3s ease-out;
	z-index: 2;
}
.hover-block-grid .block:hover .overlay {
	opacity: 0;
}
.hover-block-grid .label {
	position: relative;
	font-size: 32px;
	text-transform: uppercase;
	z-index: 3;
}

.feature-display {
	position: relative;
	overflow: visible;
	width: 100%;
	overflow: hidden;
}
.feature-display .wrapper {
	transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.feature-display.details-on .wrapper {
	transform: translateX(-34%);
}
.feature-display .split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -32px;
}
.feature-display .side {
	padding: 32px;
}
.feature-display .side.left {
	width: 34%;
	text-align: center;
	transition: all 0.2s ease;
}
.feature-display.details-on .side.left {
	opacity: 0;
}
.feature-display .side.left img {
	display: block;
	margin: 0 auto;
	width: auto;
	max-width: 100%;
	height: auto;
}
.feature-display .side.right {
	flex: 1;
	min-width: 0;
	align-self: center;
}
.feature-display .content:not(:last-child) {
	margin-bottom: 24px;
}
.feature-display .divider {
	margin: 32px 0;
}
.feature-display .feature-item {
	cursor: pointer;
}
.feature-display .feature-details {
	position: absolute;
	top: 50%;
	right: -100%;
	transform: translateY(-50%);
	padding: 24px;
	background: #f0f0f0;
	width: 34%;
	height: auto;
	transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.feature-display.details-on .feature-details {
	right: 0;
}
.feature-display .feature-details .title .icon {
	display: inline-block;
	width: 48px;
	height: auto;
	margin-right: 24px;
	vertical-align: middle;
	font-size: 0;
}
.feature-display .feature-details .title .icon img {
	width: 100%;
	height: auto;
}
.feature-display .feature-details .title .text {
	display: inline-block;
	vertical-align: middle;
	font-size: 24px;
}
.feature-display .feature-details .divider {
	margin: 24px 0;
	background: #ccc;
}
.feature-display .feature-details video {
	display: block;
	width: 100%;
	height: auto;
	margin: 24px 0;
}

.divider {
	width: 100%;
	height: 1px;
	background: #eee;
}

.feature-columns {
	padding: 48px 0;
}

.feature-column-grid {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -12px;
}
.feature-column-grid .feature-column {
	width: calc(100% / 3);
	padding: 12px;
}
.feature-column-grid .image {
	display: block;
	width: 100%;
	height: auto;
	padding-bottom: 56.25%;
	background-color: $(flat-white);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
.feature-column-grid .image:not(:last-child) {
	margin-bottom: 24px;
}

.cta-bar {
	padding: 48px 0;
	text-align: left;
}
.cta-bar .split {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin: -24px;
}
.cta-bar .split .side {
	padding: 24px;
}
.cta-bar .split .side.text {
	flex: 1;
	min-width: 0;
}

.banner-image {
	padding: 0;
	font-size: 0;
	text-align: center;
}

.timeline {
	position: relative;
	max-width: 100%;
	overflow: hidden;
}
.timeline .events {
	position: relative;
}
.timeline .events::before {
	content: ' ';
	font-size: 0;
	width: 4px;
	height: 100%;
	position: absolute;
	top: 0;
	right: auto;
	bottom: 0;
	left: 18px;
	background: $(black);
	z-index: 1;
}
.timeline .event {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;
	opacity: 0;
	transform: translateX(100vw);
	transition: all 1s ease-out;
	z-index: 3;
}
.timeline .event.on {
	opacity: 1;
	transform: none;
}
.timeline .event + .event {
	margin-top: 64px;
}
.timeline .event:last-child::before {
	content: ' ';
	position: absolute;
	top: 0;
	right: auto;
	bottom: 0;
	left: 0;
	width: 38px;
	height: 100%;
	background: #fff;
	z-index: 2;
}
.timeline .event .dot {
	display: inline-block;
	width: 38px;
	height: 38px;
	border-radius: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2px solid $(black);
	background: #fff;
	font-size: 0;
	position: relative;
	z-index: 3;
}
.timeline .event .dot::before {
	content: ' ';
	display: inline-block;
	width: 24px;
	height: 24px;
	border-radius: 24px;
	font-size: 0;
	background: $(black);
}
.timeline .event .line {
	width: 5%;
	height: 2px;
	background: $(black);
	margin: 18px 8px 0 8px;
}
.timeline .event .box {
	flex: 1;
	min-width: 0;
	border: 2px solid $(black);
	padding: 24px;
	position: relative;
}
.timeline .event .date {
	display: inline-block;
	padding: 0 8px;
	background: #fff;
	font-size: 24px;
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 24px;
	transform: translateY(-50%);
}
.timeline .event .split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -24px;
}
.timeline .event .split .side {
	padding: 24px;
}
.timeline .event .split .side.left {
	flex: 1;
	min-width: 0;
	margin-bottom: 24px;
}
.timeline .event .split .side.right {
	max-width: 33%;
	margin-bottom: 48px;
}
.timeline .event .bottom-content {
	margin-top: 24px;
}
.timeline img {
	width: auto;
	height: auto;
	max-width: 100%;
}
.timeline .image-caption {
	display: block;
	font-weight: 700;
	margin-top: 8px;
	text-align: center;
}

section.navbar {
	padding: 0;
	background: $(black);
	color: #fff;
}
section.navbar .items {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
}
section.navbar :hyperlinks {
	display: inline-block;
	flex: 1;
	min-width: 0;
	color: inherit;
	font-weight: inherit;
	text-decoration: inherit;
	padding: 24px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.3;
}
section.navbar :hyperlinks:hover {
	background: #fff;
	color: $(black);
}

.assembly-block .split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 24px 0;
	border-top: 8px solid #3256a4;
	border-bottom: 8px solid #3256a4;
}
.assembly-block .split .side.left {
	flex: 1;
	min-width: 0;
}
.assembly-block .inner-split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
.assembly-block .inner-split .qr-side {
	width: 134px;
	margin-right: 32px;
}
.assembly-block .inner-split .qr-side img {
	width: 100%;
	height: auto;
}
.assembly-block .inner-split .text-side {
	flex: 1;
	min-width: 0;
}
.assembly-block .inner-split .text-side p {
	margin: 8px 0;
}
.assembly-block .split .side.right {
	width: 33%;
	margin-left: 48px;
	text-align: right;
}
.assembly-block .split .side.right img {
	width: auto;
	height: auto;
	max-width: 100%;
	margin-bottom: 24px;
}
.assembly-block .split .side.right img.logo {
	width: 48px;
}
.assembly-block .download {
	margin-bottom: -24px;
}
.assembly-block .download img {
	display: inline-block;
	margin-bottom: 24px;
	margin-right: 24px;
}
.assembly-block .divider {
	margin: 48px 0;
}

.checklist:not(:first-child) {
	padding-top: 0;
}
.checklist:not(:last-child) {
	padding-bottom: 0;
}
.checklist .split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
.checklist .split .side.left {
	flex: 1;
	min-width: 0;
}
.checklist .split .side.right {
	width: 33%;
	margin-left: 48px;
	text-align: right;
}
.checklist .content:not(:last-child) {
	margin-bottom: 24px;
}
.checklist .items {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -12px;
}
.checklist .item {
	width: 50%;
	padding: 12px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
.checklist .item .icon {
	margin-right: 24px;
}
.checklist .item .label {
	flex: 1;
	min-width: 0;
}

.step-list .content:not(:last-child) {
	margin-bottom: 24px;
	padding-bottom: 8px;
	border-bottom: 1px solid #eee;
}
.step-list .item {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
.step-list .item + .item {
	margin-top: 24px;
}
.step-list .item .image {
	width: 25%;
}
.step-list .item .image img {
	width: auto;
	height: auto;
	max-width: 100%;
}
.step-list .item .content {
	flex: 1;
	min-width: 0;
	margin-left: 48px;
}

section.locations {
	display: block;
	padding-top: 36px;
}
section.locations .window.back {
	display: none;
}
section.locations .location-type-grid {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -4px;
}
section.locations .location-type-grid .item {
	width: 50%;
	padding: 4px;
	cursor: pointer;
}
section.locations .location-type-grid .box {
	display: block;
	width: 100%;
	position: relative;
	padding-bottom: 56.25%;
}
section.locations .location-type-grid .image {
	background-color: #f0f0f0;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}
section.locations .location-type-grid .label {
	background: a-adjust($(black), -20);
	color: #fff;
	width: 100%;
	position: absolute;
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 16px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	z-index: 2;
}
section.locations .split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
section.locations .sidebar {
	width: 33%;
	border-right: 1px solid #f0f0f0;
}
section.locations .main {
	flex: 1;
	min-width: 0;
	border-left: 1px solid #f0f0f0;
	margin-left: -1px;
	padding-left: 48px;
}
section.locations .select-state .select {
	display: block;
	padding: 16px 0;
	border-bottom: 1px solid #f0f0f0;
	cursor: pointer;
	text-transform: uppercase;
	font-weight: 700;
}
section.locations .select-state .select .arrow {
	display: inline-block;
	margin: 0 0 0 8px;
	transition: all 0.1s ease;
}
section.locations.select-state-on .select-state .select .arrow {
	transform: rotate(90deg);
}
section.locations .select-state .values {
	display: none;
}
section.locations.select-state-on .select-state .values {
	display: block;
}
section.locations .select-state .state {
	padding: 16px 0;
	border-bottom: 1px solid #f0f0f0;
	cursor: pointer;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
section.locations .select-state .state:hover {
	opacity: 0.5;
}
section.locations .select-state .state .icon {
	color: $(black);
	font-size: 20px;
	margin-right: 16px;
}
section.locations .select-state .state .label {
	flex: 1;
	min-width: 0;
}
section.locations .location-types {
	margin-top: 48px;
}
section.locations .location-types .type {
	padding: 16px 0;
	border-bottom: 1px solid #f0f0f0;
	cursor: pointer;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
section.locations .location-types .type .icon {
	width: 40px;
	height: 40px;
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	margin-right: 24px;
}
section.locations .location-types .type .label {
	flex: 1;
	min-width: 0;
	padding-right: 24px;
	text-transform: uppercase;
	font-size: 18px;
}
section.locations .location-types .type .label.active {
	color: #3255a4;
}
section.locations .location-types .type:hover .label {
	opacity: 0.6;
}
section.locations .location-types :hyperlinks {
	text-decoration: none;
}
section.locations .location-group:not(:last-child) {
	margin-bottom: 64px;
}
section.locations .location-grid {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -24px;
}
section.locations .location {
	width: 50%;
	padding: 24px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;
}
section.locations .location::before {
	content: ' ';
	background: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 16px;
	right: 16px;
	bottom: 16px;
	left: 16px;
	box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.15);
	border-radius: 4px;
	opacity: 0;
	transition: all 0.2s ease;
	z-index: 1;
}
section.locations .location:hover::before {
	opacity: 1;
}
section.locations .location > * {
	position: relative;
	z-index: 2;
}
section.locations .location .image {
	width: 64px;
	height: 64px;
	background-color: #f0f0f0;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	margin-right: 24px;
	cursor: pointer;
}
section.locations .location .info {
	flex: 1;
	min-width: 0;
}
section.locations .location .title {
	text-transform: uppercase;
	font-weight: 700;
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid #eee;
	cursor: pointer;
}
section.locations .location :hyperlinks {
	text-decoration: none;
}

.feature-grid {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -16px;
}
.feature-grid .item {
	width: 50%;
	padding: 16px;
}

.feature-item {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.feature-item .icon {
	width: 30px;
	height: auto;
	margin-right: 16px;
	font-size: 0;
	align-self: flex-start;
}
.feature-item .icon img {
	width: 100%;
	height: auto;
}
.feature-item .text {
	flex: 1;
	min-width: 0;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 18px;
}
.feature-item .description {
	font-size: 16px;
	text-transform: none;
	opacity: 0.5;
	display: block;
	margin-top: 8px;
}

.spec-grid {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -16px;
}
.spec-grid .spec-item {
	width: calc(100% / 3);
	padding: 16px;
}

.spec-item .title {
	text-transform: uppercase;
	font-weight: 400;
	font-size: 16px;
}
.spec-item .details {
	font-size: 14px;
	text-transform: none;
	margin-top: 8px;
}

.spec-file-grid {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -16px;
	margin-bottom: 48px;
}
.spec-file-grid .spec-file-item {
	width: calc(100% / 3);
	padding: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.spec-file-item .icon {
	width: 48px;
	height: 48px;
	text-align: center;
	line-height: 48px;
	background: $(black);
	color: #fff;
	margin-right: 24px;
}
.spec-file-item .icon img {
	width: 100%;
	height: auto;
}
.spec-file-item .text {
	flex: 1;
	min-width: 0;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 18px;
}

.page-divider-heading + .product-grid {
	margin-top: 0;
	padding-top: 0;
}
.product-grid:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
.product-grid .filters {
	margin-bottom: 72px;
}
.product-grid .filters .split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -24px;
}
.product-grid .filters .split .side {
	flex: 2;
	min-width: 0;
	padding: 24px;
}
.product-grid .filters .split .side.display {
	flex: 1;
}
.product-grid .filters .filter-grid {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	margin: -8px;
}
.product-grid .filters .filter-item {
	display: inline-block;
	padding: 8px;
	width: 50%;
	cursor: pointer;
	user-select: none;
}
.product-grid .filters .filter-item :inputs {
	display: none;
}
.product-grid .filters .box {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	border: 2px solid $(black);
	padding: 12px 8px 12px 16px;
	text-transform: uppercase;
	overflow: hidden;
	transition: all 0.2s ease;
	height: 100%;
}
.product-grid .filters input:checked + .box {
	background: $(black);
	color: #fff;
}
.product-grid .filters .box .check {
	background: #fff;
	color: $(black);
	display: inline-block;
	margin-left: -4px;
	margin-right: 16px;
	width: 32px;
	height: 32px;
	text-align: center;
	line-height: 32px;
	transition: transform 0.2s ease;
}
.product-grid .filters input:not(:checked) + .box .check {
	transform: translateX(-200%);
}
.product-grid .filters .box .label {
	flex: 1;
	min-width: 0;
	transition: transform 0.2s ease;
}
.product-grid .filters input:not(:checked) + .box .label {
	transform: translateX(-36px);
}
.product-grid .filters .children {
	flex: 0 0 100%;
	padding: 8px;
	display: none;
}
.product-grid .filters .filter-item.on + .children {
	display: block;
}
.product-grid .filters .children .filter-item {
	width: auto;
	flex: 1;
	min-width: 0;
}
.product-grid .filters .display-window {
	text-align: center;
}
.product-grid .filters .display-window:not(.on) > *:not(.customize),
.product-grid .filters .display-window.on > .customize {
	display: none;
}
.product-grid .filters .display-window img {
	max-width: 100%;
}
.product-grid .filters .display-window img.icon {
	display: block;
	width: 72px;
	height: auto;
	margin: 48px auto;
}
.product-grid .filters .display-window .title {
	margin: 0 0 24px 0;
}
.product-grid .grid {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	margin: -1px;
	padding: 1px;
	background: #fff;
}
.product-grid .grid .item {
	width: calc(100% / 3);
	text-align: center;
}
.product-grid .grid .item:hover .washlet-plus-logo {
	display: none
}
.product-grid .grid :hyperlinks.item {
	color: inherit;
	text-decoration: inherit;
	font-weight: inherit;
}
.product-grid .grid .inner {
	position: relative;
	background: #fff;
	height: 100%;
}
.product-grid .grid .front,
.product-grid .grid .back {
	width: 100%;
	height: 100%;
	position: relative;
}
.product-grid .grid .front {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-direction: column;
	position: absolute;
	opacity: 0;
	background: #1C1C1C;
	color: #fff;
	z-index: 3;
	transition: all .2s ease;
	padding: 3vw 24px 24px 24px;
}
.product-grid .grid .front > * {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin: 0 0 2vw;
}
.product-grid .grid .front .msrp {
	font-size: 24px;
}
.product-grid .grid .front .highlights {
	flex: 1;
	opacity: 0.74;
}
.product-grid .grid .front .highlights .highs {
	margin: auto;
}
.product-grid .grid .front .highlights .highs ul {
	list-style: none;
}
.product-grid .grid .front .model,
.product-grid .grid .back .model {
	flex: none;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	text-transform: uppercase;
}
.product-grid .grid .back {
	z-index: 2;
	color: #1C1C1C;
	padding: 24px;
}
.product-grid .grid .back .image {
	display: block;
	margin: 0 0 3vw;
}
.product-grid .grid .back .graphic {
	display: block;
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: auto;
	padding-bottom: 100%;
}
.product-grid .grid .back img.logo {
	width: auto;
	height: 32px;
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 10;
}

.product-details {
	display: block;
	padding: 48px 0 0 0;
}
.product-details .product-section.product-top {
	padding: 48px 0;
}
.product-details .product-section.product-top .split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -24px;
}
.product-details .product-section.product-top .split > .side {
	flex: 1;
	min-width: 0;
	padding: 24px;
}
.product-details .product-section.product-top .split > .side.image img {
	width: 100%;
}
.product-details .detail-section {
	padding: 32px 0;
	border-top: 1px solid #ddd;
}
.product-details .detail-section:first-child {
	padding-top: 0;
	border-top: 0;
}
.product-details .detail-section:last-child {
	padding-bottom: 0;
}
.product-details .detail-section .inner-split {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	margin: -8px;
}
.product-details .detail-section .inner-split > * {
	padding: 8px;
}
.product-details .detail-section .color-split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -8px;
}
.product-details .detail-section .color-split > * {
	padding: 8px;
}
.product-details h1 {
	font-size: 32px;
}
.product-details .price {
	font-size: 24px;
	font-weight: 700;
}
.product-details .price .price-value {
	color: #e74c3c;
}
.product-details .option-group .value {
	font-size: 0;
}
.product-details .option {
	display: inline-block;
	margin-right: 8px;
	margin-bottom: 8px;
	cursor: pointer;
}
.product-details .option input {
	display: none;
}
.product-details .option input + .box {
	border: 2px solid $(black);
	padding: 12px 24px;
	text-transform: uppercase;
	font-size: 16px;
	line-height: 1.2;
}
.product-details .option input:checked + .box {
	background: $(black);
	color: #fff;
}
.product-details .option.color input + .box {
	border-color: transparent;
	padding: 0;
}
.product-details .option.color input:checked + .box {
	border-color: $(black);
}
.product-details .option.color input + .box .swatch {
	width: 53px;
	height: 53px;
}
.product-details .option-group.flush {
	flex: 0 0 100%;
}
.product-details .info-group {
	flex: 0 0 100%;
}
.product-details .info-group.links :hyperlinks {
	display: block;
}
.product-details .info-group.links :hyperlinks + :hyperlinks {
	margin-top: 8px;
}
.product-details .buy-find-group input {
	border: 2px solid $(black)
}
.product-details form label {
	display: block;
}

.product-details .product-section.product-nav {
	background: #f0f0f0;
	text-align: center;
}
.product-details .product-section.product-nav .nav-tabs {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-wrap: wrap;
}
.product-details .product-section.product-nav .nav-tabs .tab {
	flex: 1;
	padding: 0 8px;
}
.product-details .product-section.product-nav .nav-tabs :hyperlinks.tab {
	text-decoration: none;
}
.product-details .product-section.product-nav .nav-tabs .tab span {
	display: inline-block;
	padding: 32px 0;
	text-transform: uppercase;
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
}
.product-details .product-section.product-nav .nav-tabs .tab:hover span,
.product-details .product-section.product-nav .nav-tabs .tab.on span {
	border-bottom-color: $(black);
}

.product-details .product-window {
	display: none;
	padding: 48px 0;
	position: relative;
}
.product-details .product-window.on {
	display: block;
}

.product-details .product-window#gallery img {
	display: block;
	margin: 0 auto;
	width: auto !important;
	max-width: 100%;
	min-width: 0;
	max-height: 80vh;
}
.product-details .product-window#gallery .arrow {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	color: $(black);
	opacity: 0.5;
	font-size: 64px;
	cursor: pointer;
	z-index: 100;
}
.product-details .product-window#gallery .arrow:hover {
	opacity: 1;
}
.product-details .product-window#gallery .arrow.right {
	left: auto;
	right: 0;
}
.product-details .product-window#gallery .slick-dots {
	position: static;
	display: block;
	vertical-align: bottom;
	text-align: center;
	margin: 0;
	padding: 0;
	font-size: 0;
}
.product-details .product-window#gallery .slick-dots li {
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	overflow: hidden;
	background: transparent;
	margin: 0 4px;
	padding: 0;
	cursor: pointer;
	border: 2px solid a-adjust($(black), -60);
}
.product-details .product-window#gallery .slick-dots li.slick-active {
	border-color: $(black);
}
.product-details .product-window#gallery .slick-dots li button {
	display: none;
}

.emptyinfo {
    width: 100%;
    text-align: center;
    padding: 70px 0 100px 0;
    font-size: 18px;
    line-height: 22px;
    color: #1c1c1c;
}

.product-details .product-window#fit .fitting-grid {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -24px;
}
.product-details .product-window#fit .fitting-grid .item {
	width: 50%;
	padding: 12px;
	text-align: center;
}
.product-details .product-window#fit .fitting-grid .item img {
	display: inline-block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 50vh;
}
.product-details .product-window#fit .fitting-disclaimer {
	display: block;
	margin: 48px auto;
	max-width: 960px;
	text-align: center;
}
.product-details .product-window#fit .button-image {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

.cookie-consent {
	position: fixed;
	top: 72px;
	right: 0;
	left: 0;
	background: a-adjust($(black), -20);
	color: #fff;
	padding: 24px 0;
	z-index: 100;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
}
.cookie-consent .split {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: -24px;
}
.cookie-consent .split .side {
	padding: 24px;
}
.cookie-consent .split .side.text {
	flex: 1;
	min-width: 0;
}
.cookie-consent :hyperlinks {
	color: inherit;
	font-weight: 700;
}

.lang-modal-wrap {
    width: 100%;
    max-width: 575px!important;
    top: 100px;
    vertical-align: top!important;
    padding: 25px;
    border-radius: 0!important
}
.lang-modal-wrap a.close-modal {
    background: none!important;
    text-indent: 0!important;
    overflow: hidden;
    -webkit-transition: all .25s ease;
    opacity: 0.25;
    top: 0px!important;
    right: 5px!important;
	font-size: 0 !important;
}
.lang-modal-wrap a.close-modal:after {
    content: "×";
    font-size: 27px;
    color: #1C1C1C;
}
.lang-modal-wrap a.close-modal:hover {
    opacity: 1
}
.lang-modal{
    width: 100%;
    margin: 0 auto
}
.lang-modal .logo {
    width: 205px;
    height: 45px;
    background: url(../images/toto-logo-animated.gif) no-repeat center center;
    background-size: contain;
    margin: 0 auto 10px
}
.lang-chooser {
    display: flex;
    flex-direction: row;
    flex-flow: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 575px;
    margin: 10px auto 0;
}
.lang-chooser :hyperlinks {
    display: inline-block;
    width: calc(20% - 15px);
    min-width: 93px;
    padding: 10px;
    text-align: center;
    margin-bottom: 10px;
    border: 1px solid #1C1C1C;
    background: #FFF;
    font-size: 14px;
    color: #1C1C1C;
	text-decoration: none;
}
.lang-chooser :hyperlinks.active {
    background: #1C1C1C;
    color: #fff;
    border: 1px solid #1C1C1C;
}
.lang-chooser :hyperlinks:hover{
    background: #1C1C1C;
    color: #fff;
    border: 1px solid #1C1C1C;
}
.lang-modal .hovers {
    padding: 0;
    color: #515151;
    font-size: 18px;
    text-align: center;
    min-height: 80px;
    line-height: 80px
}

.jquery-modal.blocker {
    z-index: 99999!important
}

.location-popup {
	width: 100%;
	max-width: 960px;
}
.location-popup .split {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -12px;
}
.location-popup .split .side {
	flex: 1;
	min-width: 0;
	padding: 12px;
}
.location-popup .carousel-container {
	position: relative;
}
.location-popup .carousel-container .carousel {
	margin: 0 !important;
	opacity: 0;
	max-height: 1px;
	transition: opacity 1s ease-out;
}
.location-popup .carousel-container .arrow {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	color: $(black);
	opacity: 0.5;
	font-size: 28px;
	cursor: pointer;
	color: #fff;
	padding: 8px;
	z-index: 100;
}
.location-popup .carousel-container .arrow:hover {
	opacity: 1;
}
.location-popup .carousel-container .arrow.right {
	left: auto;
	right: 0;
}
.location-popup .carousel-container .slick-dots {
	position: absolute;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	vertical-align: bottom;
	text-align: center;
	margin: 0;
	padding: 0;
	font-size: 0;
}
.location-popup .carousel-container .slick-dots li {
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	overflow: hidden;
	background: transparent;
	margin: 0 4px;
	padding: 0;
	cursor: pointer;
	border: 2px solid a-adjust(#fff, -60);
}
.location-popup .carousel-container .slick-dots li.slick-active {
	border-color: #fff;
}
.location-popup .carousel-container .slick-dots li button {
	display: none;
}
.location-popup .line-item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	border-top: 1px solid #000;
	padding: 16px 0;
}
.location-popup :hyperlinks.line-item:hover {
	text-decoration: none;
}
.location-popup .line-item i {
	font-size: 24px;
	margin-right: 16px;
}
.location-popup .line-item span {
	flex: 1;
	min-width: 0;
}
.location-popup .line-item iframe {
	width: 100%;
	height: 232px;
}

footer {
	background: $(black);
	color: #fff;
	overflow: hidden;
}
footer :hyperlinks,
footer :hyperlinks:hover {
	color: inherit;
	text-decoration: none;
}
footer .top-section {
	background: #222;
	padding: 64px 0;
}
footer .top-section > .wrapper > ul {
	list-style: none;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: -64px;
}
footer .top-section > .wrapper > ul > li {
	width: 25%;
	min-width: 0;
	padding: 64px;
}
footer .top-section > .wrapper > ul > li > :any(:hyperlinks, .no-link) {
	display: block;
	margin: 16px 0;
	font-weight: 700;
	font-size: 22px;
	text-transform: uppercase;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	pointer-events: none;
}
footer .top-section ul ul {
	display: block;
	list-style: none;
}
footer .top-section ul ul li {
	display: block;
}
footer .top-section ul ul li :any(:hyperlinks, .no-link) {
	text-transform: uppercase;
	display: block;
	padding: 8px 0;
}
footer .top-section li.social .sub ul {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
}
footer .top-section li.social .sub ul li {
	font-size: 24px;
	margin: 0 16px 16px 0;
}
footer .bottom-section {
	color: #aaa;
	padding: 48px 0;
	font-size: 14px;
}
footer .bottom-section .split {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	margin: -24px;
}
footer .bottom-section .split .logo,
footer .bottom-section .split .verbiage {
	padding: 24px;
}
footer .bottom-section .split .logo {
	font-size: 0;
}
footer .bottom-section .split .logo img {
	width: 64px;
	height: auto;
	vertical-align: bottom;
}
footer .bottom-section .split .verbiage {
	flex: 1;
	min-width: 0;
	line-height: 2;
}
footer .bottom-section ul {
	list-style: none;
	display: inline-block;
}
footer .bottom-section ul li {
	display: inline-block;
	padding-right: 16px;
}
footer .bottom-section ul li + li {
	border-left: 1px solid rgba(255, 255, 255, 0.2);
	padding-left: 16px;
}
footer .bottom-section :hyperlinks:hover {
	color: #fff;
}

/* Generic Rules */

.slick-hidden {
	display: none !important;
}

p:first-child,
label:first-child,
:headings:first-child {
	margin-top: 0;
	padding-top: 0;
}
p:last-child,
label:last-child,
:headings:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.left-align {
	text-align: left !important;
}
.center-align {
	text-align: center !important;
}
.right-align {
	text-align: right !important;
}
.justify-align {
	text-align: justify !important;
}
.top-align {
	vertical-align: top !important;
}
.middle-align {
	vertical-align: middle !important;
}
.bottom-align {
	vertical-align: bottom !important;
}

.no-padding {
	padding: 0 !important;
}
.no-margin {
	margin: 0 !important;
}
.no-top {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.no-right {
	margin-right: 0 !important;
	padding-right: 0 !important;
}
.no-bottom {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
.no-left {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

i.material-icons {
	display: inline-block;
	font-size: 1.3em;
	line-height: 0.7;
	user-select: none;
	max-width: 1em;
	overflow: visible;
	vertical-align: -34%;
}

/* Responsive */

@media all and (min-width: 640px) {
	.product-grid .grid .item:hover .front {
		opacity: 1;
	}
}

@media all and (max-width: 1400px) {
	footer .top-section > .wrapper > ul {
		margin: -24px;
	}
	footer .top-section > .wrapper > ul > li {
		padding: 24px;
	}
}
@media all and (max-width: 1200px) {
	body.home h1 {
		font-size: 48px;
	}

	.hover-block-grid .label {
		font-size: 24px;
	}
}
@media all and (max-width: 1144px) {
	header .mobile-menu-button {
		display: inline-flex;
	}
	header .side.nav > ul.nav {
		display: block;
		position: absolute;
		top: 100%;
		right: 0;
		width: 90vw;
		max-width: 300px;
		height: auto;
		margin-left: auto;
		background: $(black);
		border-top: 1px solid #fff;
		transform: translateX(100%);
		transition: all 0.2s cubic-bezier(0.5, 0, 0.75, 0);
	}
	body.mobile-menu-on header .side.nav > ul.nav {
		transform: none;
		transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	}
	header .side.nav > ul.nav > li {
		display: block;
	}
	header .side.nav > ul.nav > li > :any(:hyperlinks, .no-link) {
		display: block;
		padding: 16px 24px;
		text-align: left;
	}
	header .sub {
		position: static;
		transform: none;
		border-radius: 0;
	}

	footer .top-section > .wrapper > ul > li {
		width: 50%;
	}
}
@media all and (max-width: 1000px) {
	.product-grid .filters .split .side.display {
		display: none;
	}
}
@media all and (max-width: 960px) {
	h1 {
		font-size: 42px;
	}
	h2 {
		font-size: 32px;
	}
	h3 {
		font-size: 24px;
	}
	h4 {
		font-size: 20px;
	}
	h5 {
		font-size: 18px;
	}
	h6 {
		font-size: 16px;
	}

	section {
		padding: 48px 0;
	}

	.hover-block-grid .block {
		flex: 1 0 auto !important;
		width: 50% !important;
	}

	section.navbar .wrapper {
		padding: 0;
	}
	section.navbar :hyperlinks {
		flex: none;
		width: calc(100% / 3);
		border-right: 1px solid rgba(255, 255, 255, 0.2);
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		text-align: center;
	}
	section.navbar :hyperlinks:nth-child(3n) {
		border-right: none;
	}

	.assembly-block .split .side.left,
	.assembly-block .split .side.right {
		flex: 0 0 100%;
		width: 100%;
		margin: 24px 0;
	}
	.assembly-block .split .side.right {
		text-align: center;
	}
	.assembly-block .split .side.right img.logo {
		display: block;
		margin: 0 auto 24px auto;
	}
	.assembly-block .inner-split .qr-side {
		width: 20%;
		min-width: 96px;
		max-width: 134px;
		margin-right: 24px;
	}

	section.locations .sidebar,
	section.locations .main {
		width: 100%;
		flex: 0 0 100%;
		border-right: none;
		border-left: none;
		margin: 0;
		padding: 0;
	}
	section.locations .sidebar {
		margin-bottom: 64px;
	}
	section.locations .location-type-grid .box {
		padding-bottom: 100%;
	}

	.product-grid .grid .item {
		width: calc(100% / 2);
	}

	.product-details .product-section.product-top .split > .side {
		width: 100%;
		flex: 0 0 100%;
	}

	.spec-file-grid .spec-file-item,
	.spec-grid .spec-item {
		width: 50%;
	}

	.product-details .product-section.product-nav .nav-tabs .tab span {
		padding: 16px 0;
	}

	.feature-grid .item {
		width: 100%;
	}


}
@media all and (max-width: 960px) and (min-width: 641px) {
	.feature-column-grid .feature-column {
		display: block;
		flex: 0 0 100%;
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		padding: 24px 0;
	}
	.feature-column-grid .image {
		margin: 0 24px 0 0;
		width: 33%;
		padding-bottom: calc(0.33 * 56.25%);
		align-self: flex-start;
	}
	.feature-column-grid .content {
		flex: 1;
		min-width: 0;
	}
}
@media all and (max-width: 840px) {
	.checklist .item {
		flex: 0 0 100%;
		width: 100%;
	}
}
@media all and (max-width: 800px) {
	.feature-display .wrapper {
		transform: none !important;
	}
	.feature-display .side.left {
		opacity: 1 !important;
	}
	.feature-display .feature-details {
		position: static;
		width: 100%;
		transform: none !important;
		margin-top: 24px;
	}
}
@media all and (max-width: 640px) {
	body {
		font-size: 14px;
	}

	body.home h1 {
		font-size: 34px;
	}

	.feature-display .side.left,
	.feature-display .side.right {
		flex: 0 0 100%;
		width: 100%;
	}
	.feature-display .side.left {
		padding-bottom: 0 !important;
		margin-bottom: -10vw !important;
	}

	.feature-item .text {
		font-size: 16px;
	}

	.feature-column-grid .feature-column {
		width: 100%;
	}

	.cta-bar .split .side {
		flex: 0 0 100% !important;
		width: 100%;
	}

	.checklist .split .side.left,
	.checklist .split .side.right {
		flex: 0 0 100%;
		width: 100%;
		margin: 24px 0;
	}
	.checklist .split .side.right {
		text-align: center;
	}

	section.locations .location {
		width: 100%;
	}

	section.navbar :hyperlinks,
	section.navbar :hyperlinks:nth-child(3n) {
		width: 50%;
		border-right: 1px solid rgba(255, 255, 255, 0.2);
	}
	section.navbar :hyperlinks:nth-child(2n) {
		border-right: none;
	}

	.product-grid .grid .item {
		width: 100%;
	}

	.spec-file-grid .spec-file-item,
	.spec-grid .spec-item {
		width: 100%;
	}

	.product-details .product-window#fit .fitting-grid .item {
		width: 100%;
	}

	.product-details .product-section.product-nav .nav-tabs .tab {
		flex: none;
		width: 50%;
	}

	.timeline .event img {
		display: block;
		margin: 0 auto;
		max-width: 100%;
	}
	.timeline .event table,
	.timeline .event table tr,
	.timeline .event table td {
		display: block;
	}
	.timeline .event table tr:not(:last-child) td {
		margin-bottom: 24px;
	}
	.timeline .event .split .side.left,
	.timeline .event .split .side.right {
		flex: 0 0 100%;
		width: 100%;
		max-width: none;
	}

	.cookie-consent .split .side {
		flex: 0 0 100% !important;
	}

	.location-popup {
		padding: 24px;
	}
	.location-popup .split .side {
		flex: 0 0 100%;
	}

	footer {
		text-align: center;
	}
	footer .top-section > .wrapper > ul > li {
		width: 100%;
	}
	footer .top-section li.social .sub ul {
		justify-content: center;
	}
	footer .top-section li.social .sub ul li:last-child {
		margin-right: 0;
	}
	footer .bottom-section .split .logo,
	footer .bottom-section .split .verbiage {
		width: 100%;
		flex: 0 0 100%;
	}
}
@media all and (max-width: 480px) {
	section.locations .location-type-grid .item {
		width: 100%;
	}

	.hover-block-grid .block {
		flex: 0 0 100% !important;
		width: 100% !important;
	}
	.hover-block-grid .label {
		font-size: 32px;
	}
}

.results .showroom .info .rollover {
    display: block;
    height: 35px;
    width: 115px;
    background-image: url(../images/TOTO_Washlet_black.svg);
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
}

.results .showroom .info .rollover2 {
    display: inline-block;
    width: 120px;
    margin-top: 30px;
    text-align: center;
    vertical-align: top;
    margin-right: 5px;
}

.results .showroom .info .rollover2.rollover-exp {
    margin-left: -15px;
}

.results .showroom .info .rollover2 .logo {
    height: 50px;
    width: 100%;
    background-image: url(/images/TOTO_Washlet_black.svg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

.results .showroom .info .rollover2.rollover-reg .logo {
    background-image: url(/images/icon-washlet.svg);
    background-position: center top;
}

.results .showroom .info .rollover2.rollover-pro .logo {
    background-image: url(/images/icon-washlet-pro.svg);
    background-position: center top;
}

.results .showroom .info .rollover2.rollover-exp .logo {
    background-image: url(/images/icon-washlet-experience.svg);
    background-position: center top;
}

.results .showroom .info .rollover2 .name {
    margin-top: 12px;
    color: #777;
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 16px;
}

.results .showroom .info .rollover2.rollover-pro .name {
    padding-right: 35px;
}

.inv2 {
    position: relative
}

.inv2 .rollover .tooltip, .inv2 .rollover2 .tooltip {
    display: block;
    position: absolute;
    left: 1000px;
    transition: left 0.2s;
    width: 400px;
    text-align: left;
    margin-top: -35px;
}

.inv2 .rollover:hover .tooltip, .inv2 .rollover2:hover .tooltip {
    display: block;
    top: 0!important;
    left: calc(100% - 300px)!important;
    transition: left 0.2s;
}
@media screen and (max-width: 480px){
    .results .showroom .inv{max-height:100% !important;}

    .results .showroom .info .rollover2{width:90px;margin-right:10px;}
    .results .showroom .info .rollover2 .logo{height:40px;}
    .results .showroom .info .rollover2 .name{font-size:12px;line-height:14px;}
}

@media (max-width: 800px) {
    .showroom .info .show-head {
        flex-direction: column-reverse !important;
        align-items: flex-end;
    }
}
