@charset "UTF-8";
/**
 *
 * app.scss
 * By Simon Grenier-Marcil & Dominic Mercier
 *
 */
@import url(https://fonts.googleapis.com/css?family=Roboto:100,100i,400,400i,700,900);
@import url("normalize.css");
@import url("/assets/css/root.css");
@import url("/assets/css/layout.css");


@import url("/assets/css/form.css");
@import url("/assets/css/header.css");
@import url("/assets/css/footer.css");
@import url("/assets/css/megamenu.css");
@import url("/assets/css/inner-nav.css");
@import url("/assets/css/webinars.css");

@import url("modal.css");

.contact-wrapper
{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 15px;
}
.map
{
	margin: 0;
}
.contact-info
{
	.contact-info__address
	{

	}
}
.icon
{
	margin-right: 5px;
	height: 1em;
	width: 1em;
}

[hidden]
{
	display: none !important;
}

.selection-wrapper
{
	border: 1px solid black;
	border-radius: 10px;
	
	display: flex;
	  justify-content: center;
	  align-items: center;
	  flex-wrap: wrap;
	margin: 0 0 25px;
	padding: 25px;
	input,
	select
	{
		padding: 10px;
	}
	button
	{
		padding: 10px;
	}
	span
	{
		padding: 0 10px;
	}
}

section.section
{
	margin: 0 auto;
	width: 100%;
	  max-width: 1280px;
  	&.section--narrow
	{
		max-width: 960px;
	}
	&.section--wide
	{
		max-width: 1920px;
	}
	&.section--full
	{
		max-width: 100vw;
	}
}

.section
{
	.section__title
	{
		font-size: 3.6rem;
		line-height: 1;
		margin: 0.5em 0 1em ;
	}
}






/**
 ===
 # VARIABLES
 ===
**/
.banner-button-prod a 
{
	color: #fff; 
}



.grecaptcha-badge 
{
	bottom: 120px !important;
	z-index: 999999 !important; 
}

.title-row__small 
{
	max-width: 960px;
	margin: 0 auto; 
}

ul.nav__horizontal 
{
	display: flex;
	margin: 0; 
	li 
	{
		margin: 0;
		padding: 0 20px; 
	}
}

.centertext 
{
	text-align: center; 
}

.testimonial 
{
	background-color: #f4f6f9;
	display: flex;
	align-itf: center;
	justify-content: center;
	margin-top: 40px;
	padding-top: 25px;
	position: relative; 
	blockquote 
	{
		margin: 25px 41px !important; 
	}
	img 
	{
		border-radius: 100%;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -50%);
		height: 100px;
		width: 100px; 
	}
}

.dropshadow 
{
	box-shadow: 0 5px 3px -2px rgba(0, 0, 0, 0.1); 
}

.margtop20 
{
	margin-top: 20px; 
}

.padside10 
{
	padding: 0 10px; 
}

/**
 ===
 # BASE
 ===
**/
*, *:before, *:after 
{
	box-sizing: border-box !important; 
}

html 
{
	font-size: 10px;
	scroll-behavior: smooth;
	height: 100%;
	width: 100%; 
}

body 
{
	color: #425363;
	font: 1.8rem/1.5em 'Roboto', sans-serif;
	min-height: 100%; 
}

img 
{
	max-width: 100%; 
}

a 
{
	color: #009ace;
	text-decoration: none;
	transition: 0.2s; 
	&:hover 
	{
		color: #1b365d; 
	}
}
	
	
.vcard
{
	border: 3px solid white;
	border-radius: 10px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	display: flex;
	  gap: 15px;
	  flex-wrap: wrap;
	padding: 25px;
	min-width: 500px;
	.vcard__info
	{
		place-self: center start;
		max-width: calc(100% - 275px);
	}
	.vcard__name
	{
		color: var(--color-osblue);
		font-size: 2.4rem;
		line-height: 1.2;
		margin: 0;
	}
	@media only screen and (max-width: 1199px)
	{
		place-self: center;
	}
}



.media-text 
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); 
	grid-gap: 15px;
	place-items: center; 
	& > img 
	{
		padding: 25px;
		max-width: 350px; 
	}
	.section-title 
	{
		grid-column: 1/3; 
	}
}



/**
 ===
 # TYPOGRAPHY
 ===
**/
h1, h2, h3, h4,
.h1, .h2, .h3, .h4 
{
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase; 
}

h1,
.h1 
{
	color: #1b365d;
	font-size: 32px;
}

h2,
.h2 
{
	color: #1b365d;
	font-size: 21px; 
}

h3.h2 
{
	width: 100%; 
}

h3,
.h3 
{
	color: #FFF;
	font-size: 18px;
	letter-spacing: 0.8px; 
}

h4,
.h4 
{
	color: #FFF;
	font-size: 14px;
	font-weight: 400; 
}

/**
 ===
 # TABLES
 ===
**/
.avail-table 
{
	display: grid;
	grid-template-columns: minmax(30px, 1.1fr) minmax(150px, 2.5fr); 
	b 
	{
		display: flex;
		align-items: center;
		justify-content: center; 
		&.head 
		{
			background: #009ace;
			color: #fff;
			padding: 25px 0;
			text-transform: uppercase; 
		}
	}
}

.pharma-icons-wrap 
{
	border-left: 1px solid #000;
	display: grid;
	grid-gap: 15px;
	grid-template-columns: repeat(8, 1fr);
	justify-items: center;
	align-items: center; 
	div 
	{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center; 
	}
}

.pharma-icons-wrap.alt, b.alt 
{
	background: #eee; 
}

.pharma-icon 
{
	margin: 10px 0;
	height: 30px;
	width: 30px; 
}

@media only screen and (max-width: 899px) 
{
	.avail-table 
	{
		grid-template-columns: 100%; 
	}

	.avail-table b 
	{
		padding: 15px 0; 
	}

	.legend 
	{
		display: block; 
	} 
	}

.lightbox 
{
	background: #fff;
	overflow-y: scroll;
	padding: 30px;
	position: fixed;
	left: 50%;
	transition: 150ms ease-in-out;
	top: 50%;
	z-index: 99999999;
	transform: translate(-50%, -50%);
	max-height: 100vh;
	max-width: 75vw; 
	h3 
	{
		color: #000;
		font-size: 1.6em;
		font-weight: 900;
		font-style: italic; 
	}
	.close 
	{
		color: #000;
		cursor: pointer !important;
		font-size: 2em;
		position: absolute;
		right: 10px;
		top: 10px;
		z-index: 1000000; 
	}
}
.lightbox-button 
{
	color: white; 
}
.lightbox-overlay 
{
	background: #000;
	opacity: 0.7;
	position: fixed;
	left: 0;
	top: 0;
	transition: 150ms ease-in-out;
	z-index: 100011;
	height: 100%;
	width: 100%; 
}

@media only screen and (max-width: 850px) 
{
	.lightbox 
	{
		max-height: unset;
		max-width: unset;
		height: 100% !important;
		width: 100% !important; 
	} 
}

.hidden 
{
	display: none !important;
	opacity: 0 !important;
	pointer-events: none;
	visibility: hidden; 
}
/**
 * INDEX
 */
#masthead 
{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	height: 775px;
	.header-img 
	{
		object-fit: cover;
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		height: 775px;
		width: 100%; 
	}
	.site-info 
	{
		padding: 25px; 
	}
	.masthead-grid 
	{
		background: rgba(255, 255, 255, 0.5);
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
		align-items: center;
		justify-items: center;
		width: 100%; 
		& > div 
		{
			padding: 15px; 
		}
	}
}

.home-protocols 
{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 15px; 
}

.protocol-btn 
{
	background-color: #009ace;
	padding: 25px;
	text-align: center; 
	img 
	{
		transition: all ease-in-out 200ms; 
	}
	h3 
	{
		margin-bottom: 0; 
	}
	&:hover img 
	{
		transform: scale(1.25); 
	}
}

/**
 ===
 # PAGE-SPECIFIC
 ===
**/
.banner-big 
{
	display: block; 
}

.banner-btn 
{
	display: none !important; 
}

#ingredient-presentation 
{
	padding: 50px 0; 
}

#ingredient-header 
{
	display: flex;
	align-items: center;
	margin-top: 76px;
	.ingredient-img 
	{
		text-align: right; 
		img 
		{
			max-height: 350px; 
		}
	}
	.what-is 
	{
		color: #009ace;
		font-size: 36px; 
	}
	.ingredient-title 
	{
		font-size: 60px;
		margin: 15px 0; 
	}
	.ingredient-description 
	{
		color: #bbb;
		font-size: 24px; 
	}
}

#ingre-intro 
{
	color: #FFF;
	margin-bottom: 0px;
	max-width: 900px;
	text-align: center;
	background-repeat: repeat-x;
	background-position: center;
	padding-bottom: 10px;
	a
	{
		color: #FFF;
		transition: 0.2s;
		&:hover 
		{
			
			color: #1b365d; 
		} 
	}
	.sep-dot 
	{
		line-height: 0.5em;
		margin: 0; 
	}
	h1 
	{
		color: #FFF; 
	}
	h2 
	{
		color: white;
		margin: 12px 0; 
	}
	p 
	{
		font-weight: 700;
		font-size: 25px; 
	}
	hr 
	{
		width: 25px;
		border: 1px dashed white; 
	}
}

#ingre-protos 
{
	width: 100%;
	height: 10px;
	padding: 0 0 0 10px;
	margin-top: 10px; 
}

.ingre-proto 
{
	width: 10px;
	height: 10px;
	float: left;
	margin-right: 5px;
	display: block; 
}

.ingre-container h2 
{
	line-height: 1.5em; 
}
.ingre-container #xyl-saliva 
{
	display: block; 
}
.ingre-container #xyl-saliva-sm 
{
	display: none; 
}
.ingre-container #xyl-cav 
{
	display: block; 
}
.ingre-container #xyl-cav-sm 
{
	display: none; 
}

.ingre-prod-row h3 
{
	color: #009ace;
	margin-top: 5px; 
}


#team-exp-row a:link 
{
	color: #FFF; 
}
#team-exp-row a:hover 
{
	transition: 0.2s;
	color: #FFF; 
}
#team-exp-row .col-2:last-child 
{
	padding: 0px 5px 0px 5px; 
}
#team-exp-row h3 
{
	text-align: center; 
}
#team-exp-row .exp-button 
{
	margin: 20px auto; 
}

#div-team-osclub 
{
	padding-top: 60px; 
}
	#div-team-osclub img 
	{
		margin: 0 auto;
		margin-bottom: 15px;
		width: 90%;
		display: block; 
	}
	#div-team-osclub h2 
	{
		padding: 0 5px;
		margin-top: 0; 
	}
	#div-team-osclub h3 
	{
		color: #1b365d;
		font-weight: 500;
		line-height: 1.5em;
		margin-top: 20px;
		padding: 0 5px; 
	}

#div-team-questions 
{
	padding-top: 40px; 
}

.team-container .div-team-question h3 
{
	color: #1b365d;
	font-weight: 500;
	line-height: 1.5em;
	padding: 0 10px; 
}


.feat-title 
{
	color: #fff;
	font-style: italic;
	background-color: #009ace;
	padding: 25px;
	margin: 25px 0;
	font-size: 36px;
	line-height: 1;
	text-align: center;
	width: 100%; 
}

.feat-row 
{
	margin-top: -15px;
	margin-bottom: 0px; 
	.col-1 
	{
		box-shadow: none; 
	}
	.col-2 
	{
		box-shadow: none;
		&:last-child 
		{
			padding-top: 40px; 
		}
	}
}
.feat-row2,
.feat-row4 
{
	margin-bottom: 0px; 
	&:last-child 
	{
		padding-top: 70px; 
	}
	.feat-button 
	{
		text-align: left;
		a 
		{
			color: #FFF;
			display: inline-block;
			padding: 10px;
			text-transform: none;
			font-weight: 500;
			background-color: #009ace; 
			&:hover 
			{
				transition: 0.2s;
				color: #FFF;
				background-color: #02bfff;
				transition: 0.25s;
				transform: translate3d(0, -2px, 2px); 
			}
		}
	}
}

.feat-row3 
{
	margin-bottom: 0px; 
	.col-2:last-child 
	{
		padding-top: 70px; 
	}
}

.feat-row4 
{
	margin-bottom: 76px;
	margin-top: -15px; 
	.col-1 .sm-row-long 
	{
		margin-bottom: 0px; 
	}
}


.feat-col 
{
	box-shadow: none; 
}
	.feat-col img.feat-logo 
	{
		text-align: left;
		display: block;
		max-width: 100%;
		margin: 0 0 0 -5px; 
	}
	.feat-col h3 
	{
		text-align: left;
		font-size: 1.8rem;
		line-height: 1.5em;
		font-weight: 700;
		color: #FFF; 
	}
		.feat-col h3.desc 
		{
			padding-top: 0; 
		}
	.feat-col .disc-cpx 
	{
		font-size: 28px;
		margin: 10px 0; 
	}
	.feat-col ul 
	{
		padding-left: 15px; 
	}
		.feat-col ul li 
		{
			font-size: 1.8rem;
			line-height: 1.5em;
			font-weight: 700;
			color: #FFF;
			text-align: left; 
		}

.feat-button 
{
	text-align: left; 
}
	.feat-button a:link 
	{
		color: #FFF; 
	}
	.feat-button a:hover 
	{
		transition: 0.2s;
		color: #FFF; 
	}
	.feat-button a 
	{
		display: inline-block;
		padding: 10px;
		text-transform: none;
		font-weight: 500;
		background-color: #1b365d; 
	}
		.feat-button a:hover 
		{
			background-color: #264d85;
			transition: 0.25s;
			transform: translate3d(0, -2px, 2px); 
		}

.feat-button
.feat-buy-button 
{
	background-color: #ec008b !important; 
}
	.feat-button
	.feat-buy-button:hover 
	{
		background-color: #ff20a3 !important;
		transition: 0.25s;
		transform: translate3d(0, -2px, 2px); 
	}

.feat-image 
{
	position: relative;
	top: -50px; 
}

.feat-image-2 
{
	position: relative;
	top: 22px;
	max-height: 300px; 
}



.logo-container 
{
	display: grid;
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fit, minmax(75px, 1fr));
	place-items: center;
	margin-bottom: 25px;
	max-width: 100%; 
}
	.logo-container div 
	{
		display: flex; 
	}
	.logo-container img 
	{
		width: 100%;
		max-height: 60px;
		max-width: 150px; 
	}

@media screen and (max-width: 920px) 
{
	.webinars-container 
	{
		grid-template-columns: 100%; 
	} 
	}
@media screen and (max-width: 550px) 
{
	.logo-container 
	{
		grid-template-columns: 1fr 1fr; 
	} 
	}
.exp-row .col-2 
{
	box-shadow: none; 
}
.exp-row a:link 
{
	color: #FFF; 
}
.exp-row a:hover 
{
	transition: 0.2s;
	color: #FFF; 
}

.exp-button 
{
	min-height: 40px;
	margin: 0 0 12px 0;
	line-height: 40px;
	text-align: center;
	box-shadow: 0 5px 3px -2px rgba(0, 0, 0, 0.1); 
}
	.exp-button a 
	{
		color: #FFF !important;
		font-weight: 500;
		letter-spacing: 0.5px;
		width: 100%;
		height: 100%;
		display: inline-block; 
	}

.banner-button 
{
	filter: drop-shadow(0px 5px 3px rgba(0, 0, 0, 0.1));
	height: 100%; 
}
	.banner-button a:link 
	{
		color: #FFF; 
	}
	.banner-button a:hover 
	{
		transition: 0.2s;
		color: #FFF; 
	}
	.banner-button img 
	{
		margin: 25px 0 25px 0;
		padding-left: calc(50% - 65px);
		padding-right: calc(50% - 65px); 
	}
	.banner-button:hover img 
	{
		transform: rotate(2deg); 
	}
	.banner-button h3 
	{
		margin: 0; 
	}
		.banner-button h3 a 
		{
			width: 100%; 
		}
	.banner-button h4 
	{
		margin: 10px 0 0 0;
		height: 50px; 
	}
		.banner-button h4 a:link 
		{
			color: #009ace; 
		}
		.banner-button h4 a:hover 
		{
			transition: 0.2s;
			color: #009ace; 
		}
		.banner-button h4 a 
		{
			width: 100%;
			height: 100%;
			display: inline-block; 
		}

.innovations-wrapper 
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(700px, 1fr));
	grid-gap: 25px; 
}

.reviews-box 
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(80px, 135px));
	justify-content: center;
	grid-gap: 15px; 
}
	.reviews-box img 
	{
		height: auto;
		width: 100%;
		object-fit: cover;
		object-position: center; 
	}

/**
 * PUBLICATIONS
 */
.publications 
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	grid-gap: 15px;
	text-align: center; 
}
	.publications h4 
	{
		color: #425363; 
	}
	.publications img 
	{
		max-width: 240px; 
	}
	.publications > a 
	{
		padding: 15px; 
	}
		.publications > a:hover 
		{
			box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
			transform: scale(1.1); 
		}

.brands-col 
{
	box-shadow: none;
	position: relative;
	overflow-x: hidden; 
}
	.brands-col h2 
	{
		vertical-align: middle;
		color: #009ace;
		line-height: 1.5em;
		font-weight: 400;
		width: 85%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%); 
	}
	.brands-col .video-a 
	{
		height: 260px;
		margin: 0 auto;
		display: block;
		overflow: hidden; 
	}
		.brands-col .video-a video 
		{
			margin: 0 auto;
			max-width: 100%; 
		}
	.brands-col #cpx-main, .brands-col #xpur-main 
	{
		display: block; 
	}
	.brands-col #cpx-main-sm, .brands-col #xpur-main-sm 
	{
		display: none; 
	}

#pagehead, #page-header 
{
	display: flex;
	align-items: center;
	flex-direction: columns;
	justify-content: center;
	margin-bottom: 50px;
	text-align: center;
	min-height: 400px; 
}
	#pagehead .page-title, #page-header .page-title 
	{
		color: #fff;
		font-size: 48px;
		line-height: 1;
		max-width: 960px; 
	}

.dashed-row 
{
	padding: 40px 0px;
	border-top: 3px dashed #1b365d; 
}

.sensit-container 
{
	margin-top: 115px !important; 
}

.step1-color 
{
	color: #0f99d6 !important; 
}

.step2-color 
{
	color: #c5168c !important; 
}

.step3-color 
{
	color: #b1b3b5 !important; 
}

.prod-header 
{
	width: 100%;
	max-width: 900px; 
}

@media only screen and (max-width: 960px) 
{
	.prod-header .prod-header-wrap, #prod-header .prod-header-wrap 
	{
		flex-direction: column; 
	}
		.prod-header .prod-header-wrap .prod-img, #prod-header .prod-header-wrap .prod-img 
		{
			margin-right: 0;
			margin-bottom: 50px; 
		}
		.prod-header .prod-header-wrap .prod-info, #prod-header .prod-header-wrap .prod-info 
		{
			display: flex;
			align-items: center;
			flex-direction: column; 
		} 
		}
.prod-header, #prod-header, .product-header 
{
	background: #eee;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 50px;
	text-align: left;
	min-height: 465px;
	max-width: 100%;
	width: 100%; 
}
	.prod-header a:link, #prod-header a:link, .product-header a:link 
	{
		color: #FFF; 
	}
	.prod-header a:hover, #prod-header a:hover, .product-header a:hover 
	{
		transition: 0.2s;
		color: #FFF; 
	}
	.prod-header .prod-header-wrap, #prod-header .prod-header-wrap, .product-header .prod-header-wrap 
	{
		background: rgba(255, 255, 255, 0.8);
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 50px;
		max-width: 100%; 
	}
		.prod-header .prod-header-wrap .prod-img, #prod-header .prod-header-wrap .prod-img, .product-header .prod-header-wrap .prod-img 
		{
			margin-right: 15px;
			height: auto;
			max-width: 300px; 
		}
		.prod-header .prod-header-wrap .prod-info, #prod-header .prod-header-wrap .prod-info, .product-header .prod-header-wrap .prod-info 
		{
			max-width: 700px; 
		}
			.prod-header .prod-header-wrap .prod-info .prod-logo, #prod-header .prod-header-wrap .prod-info .prod-logo, .product-header .prod-header-wrap .prod-info .prod-logo 
			{
				width: 100%;
				max-width: 500px; 
			}
			.prod-header .prod-header-wrap .prod-info .prod-desc, #prod-header .prod-header-wrap .prod-info .prod-desc, .product-header .prod-header-wrap .prod-info .prod-desc 
			{
				font-size: 18px;
				margin: 1em 0;
				text-transform: uppercase; 
			}
			.prod-header .prod-header-wrap .prod-info .prod-slogan, #prod-header .prod-header-wrap .prod-info .prod-slogan, .product-header .prod-header-wrap .prod-info .prod-slogan 
			{
				margin-bottom: 1em; 
			}

@media only screen and (max-width: 1000px) 
{
	.prod-header, #prod-header, .product-header 
	{
		padding: 25px; 
	} 
	}
#ingre-div 
{
	line-height: 2; 
}
	#ingre-div a:link 
	{
		color: #FFF; 
	}
	#ingre-div a:hover 
	{
		transition: 0.2s;
		color: #FFF; 
	}
	#ingre-div a.learn-more 
	{
		background-color: #009ace;
		position: relative;
		transition: 0.5s;
		padding: 4px 8px 4px 6px;
		margin-left: 5px;
		font-weight: 400; 
	}
		#ingre-div a.learn-more:hover 
		{
			top: -0.1em;
			opacity: 0.5; 
		}

#prod-avail 
{
	text-align: center; 
}
	#prod-avail img 
	{
		width: 290px;
		max-height: 70px;
		margin-bottom: 20px; 
	}

blockquote p.says 
{
	font-size: 16px;
	text-align: left;
	padding: 0 0 10px 20px;
	position: relative; 
}

blockquote p.says:before, blockquote p.says:after 
{
	content: ' ”';
	font-size: 32px;
	font-family: "Helvetica", Arial, sans-serif;
	color: #134977;
	font-weight: bold;
	vertical-align: top;
	line-height: 0.8; 
}

blockquote p.says:before 
{
	content: '“';
	position: absolute;
	left: 0;
	top: -2px; 
}

/**
 * === == === == === == === == ===
 * ARTICLES
 * === == === == === == === == ===
 **/
.col-articles ol 
{
	font-size: 12px;
	line-height: 1.5em;
	padding: 0 10px 0 20px; 
}
	.col-articles ol a:link 
	{
		color: #FFF; 
	}
	.col-articles ol a:hover 
	{
		transition: 0.2s;
		color: #FFF; 
	}

/*
 * MEDIA QUERIES
 */
@media only screen and (max-width: 699px) 
{
	.feat-title 
	{
		font-size: 24px; 
	}

	.home-protocols 
	{
		grid-template-columns: 1fr; 
	}

	.innovations-wrapper 
	{
		grid-template-columns: 1fr; 
	}

	.col-2 
	{
		width: 100%;
		margin-right: 0;
		float: left;
		margin-right: 0; 
	}
		.col-2:last-child 
		{
			margin-top: 12px; 
		}
		.exp-row .col-2:last-child 
		{
			margin-top: 0px; 
		}

	.col-3 
	{
		width: 100%;
		margin-right: 0;
		float: left; 
	}

	.brands-col 
	{
		box-shadow: none; 
	}
		.brands-col #cpx-main, .brands-col #xpur-main 
		{
			display: none; 
		}
		.brands-col #cpx-main-sm, .brands-col #xpur-main-sm 
		{
			display: block;
			margin: 0 auto; 
		}

	.exp-row, .help-row, .brands-row 
	{
		height: 100%; 
	}

	.banner-button 
	{
		-webkit-clip-path: none;
		clip-path: none;
		height: 221px; 
	}

	.feat-row .sm-row,
	.feat-row2 .sm-row,
	.feat-row3 .sm-row,
	.feat-row4 .sm-row 
	{
		height: 260px;
		margin-bottom: 0; 
	}
	.feat-row .col-2,
	.feat-row2 .col-2,
	.feat-row3 .col-2,
	.feat-row4 .col-2 
	{
		box-shadow: none; 
	}
		.feat-row .col-2:last-child,
		.feat-row2 .col-2:last-child,
		.feat-row3 .col-2:last-child,
		.feat-row4 .col-2:last-child 
		{
			padding-top: 10px; 
		}
			.feat-row .col-2:last-child h2, .feat-row .col-2:last-child h3, .feat-row .col-2:last-child h4,
			.feat-row2 .col-2:last-child h2,
			.feat-row2 .col-2:last-child h3,
			.feat-row2 .col-2:last-child h4,
			.feat-row3 .col-2:last-child h2,
			.feat-row3 .col-2:last-child h3,
			.feat-row3 .col-2:last-child h4,
			.feat-row4 .col-2:last-child h2,
			.feat-row4 .col-2:last-child h3,
			.feat-row4 .col-2:last-child h4 
			{
				text-align: center; 
			}

	.feat-col 
	{
		padding: 15px 9vw; 
	}
		.feat-col:first-child 
		{
			display: none; 
		}
		.feat-col h3 
		{
			padding-top: 0px; 
		}
		.feat-col img.feat-logo 
		{
			padding-top: 0px;
			margin: 0 auto; 
		}
		.feat-col ul 
		{
			padding-left: 45px; 
		}
		.feat-col .disc-cpx 
		{
			font-size: 18px;
			margin: 10px 0; 
		}

	.feat-button 
	{
		text-align: center; 
	}

	.feat-logo 
	{
		margin: 20px auto;
		display: block;
		padding: 0 10px; 
	}

	.page-container #header 
	{
		height: 100%;
		background-size: 55% 55%; 
	}
		.page-container #header h1 
		{
			display: block;
			font-size: 28px;
			padding: 30px 10px 0 10px; 
		}
		.page-container #header .feat-button 
		{
			margin: 5px 0; 
		}
		.page-container #header .col-1 
		{
			height: 100%; 
		}

	#header 
	{
		height: auto;
		background-size: 55% 55%; 
	}
		#header .sm-row-long .col-2 h1, #header .sm-row-long .col-2 h2, #header .sm-row-long .col-2 h4, #header .sm-row-long .col-2 h4 a 
		{
			text-align: center; 
		}
		#header h1 
		{
			display: block;
			font-size: 28px;
			padding: 30px 10px 0 10px;
			margin-bottom: 30px; 
		}
		#header .feat-button 
		{
			margin: 5px 0; 
		}
		#header .col-1 
		{
			height: 100%; 
		}
			#header .col-1.consumer-head 
			{
				min-height: 575px; 
			}
			#header .col-1.sitemap-head 
			{
				height: 100%; 
			}

	.banner-big 
	{
		display: none !important; 
	}

	.banner-btn 
	{
		display: block; 
	}

	.sumome-contactform-pullouttab 
	{
		display: none; 
	} 
	}
.cpx-container h2 
{
	font-family: 'Signika' !important;
	color: #015da8; 
}
.cpx-container .sm-row-long .col-2 img 
{
	margin-top: 20px; 
}

#cpx-header 
{
	margin-top: 100px;
	max-height: 465px;
	height: 100%; 
}
	#cpx-header img 
	{
		max-height: 100%;
		margin: 0 auto; 
	}

/**
 *
 * FORMS
 *
 */
._form select 
{
	border-radius: 4px;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	border: 1px solid #b0b6bb;
	padding: 10px 15px;
	max-width: 100%; 
}
._form ._form_element 
{
	position: relative; 
}
	._form ._form_element ._row:first-child 
	{
		margin-bottom: 10px; 
	}
	._form ._form_element ._row ._form-label 
	{
		position: inherit;
		background: inherit;
		padding: 0;
		transform: initial;
		left: inherit; 
	}
	._form ._form_element:first-child 
	{
		margin-top: 25px; 
	}
	._form ._form_element:last-child 
	{
		margin-bottom: 0; 
	}

._form fieldset 
{
	padding: 0;
	margin: 0; 
}
._form input 
{
	border-radius: 0px;
	margin: 0;
	padding: 10px 15px;
	color: #394856;
	margin-bottom: 10px; 
}
._form textarea 
{
	width: 100%;
	resize: none;
	padding: 10px 15px;
	height: 150px;
	overflow-y: scroll;
	border-color: #cccccc;
	margin-bottom: 10px; 
}
._form button 
{
	border: 0px;
	color: #FFF;
	padding: 8px 10px;
	text-shadow: none;
	background-color: #1b365d;
	border-radius: 0px;
	margin: 15px auto;
	width: 250px;
	font-weight: 500; 
}
	._form button:hover 
	{
		background-color: #264d85;
		cursor: pointer;
		transition: 0.25s;
		transform: translate3d(0, -2px, 2px); 
	}
._form ._error-inner 
{
	border: 1px solid #ff0000;
	padding: 10px; 
}
	._form ._error-inner:before 
	{
		background-color: #ff0000;
		border-radius: 100%;
		content: "!";
		display: inline-block;
		text-align: center;
		vertical-align: middle;
		padding: 10px;
		margin-right: 10px;
		color: #fff;
		font-weight: bold;
		width: 47px;
		height: auto; 
	}
._form ._form-thank-you 
{
	background-color: #00ff00;
	color: #fff;
	font-size: 2em;
	text-align: center;
	font-weight: bold;
	padding: 50px; 
}

._form-content ._form_element ._field-wrapper input[type="text"] 
{
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #b0b6bb;
	border-radius: 4px;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	font-family: "Helvetica Neue", Arial, sans-serif;
	color: #394856;
	font-size: 16px;
	line-height: 1.5; 
}

fieldset 
{
	border: none;
	border-width: 0; 
}
	fieldset .col-1 .titlerow 
	{
		margin-bottom: 0; 
	}
	fieldset h3 
	{
		padding: 0 10px 0 10px; 
	}

.thanks 
{
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	height: calc(100vh - 75px); 
}
	.thanks p 
	{
		font-size: 2.4rem; 
	}
	.thanks .logo-container .logo 
	{
		max-height: 150px; 
	}
	.thanks .logo-container:hover 
	{
		transform: scale(1.1); 
	}

.mobile 
{
	display: none;
	margin: 0 auto; 
}

@media only screen and (max-width: 600px) 
{
	.desktop 
	{
		display: none; 
	}

	.mobile 
	{
		display: block; 
	} 
	}
/**
 * MISC
 */
.big-cite 
{
	background: #1b365d;
	color: #fff;
	font-size: 36px;
	line-height: 1; 
}

.section-subtitle 
{
	color: #009ace; 
}



/**
 ===
 # BUTTONS
 ===
**/
.button__buy 
{
	background-color: #ec008b;
	border: 0.1rem solid #ec008b;
	color: #FFF;
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 900;
	margin-right: 1.5rem;
	padding: 1rem 2rem; 
}
	.button__buy .fas 
	{
		margin-right: 1.5rem; 
	}
	.button__buy:hover 
	{
		background-color: transparent;
		color: #ec008b;
		transform: scale(1.05); 
	}
		.button__buy:hover .fas 
		{
			transform: rotate(6deg); 
		}
		.button__buy:hover:visited 
		{
			color: #ec008b; 
		}
	.button__buy:active 
	{
		color: #ff6dc3; 
	}
	.button__buy:visited 
	{
		color: #FFF; 
	}

.button__cta, .button__cta--large 
{
	background-color: #009ace;
	border: 0.1rem solid #009ace;
	color: #FFF;
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 900;
	margin-right: 1.5rem;
	padding: 1rem 2rem;
	position: relative;
	z-index: 2; 
}
	.button__cta .fas, .button__cta--large .fas 
	{
		margin-right: 1.5rem;
		transition: all 100ms ease-in-out; 
	}
	.button__cta:hover, .button__cta--large:hover 
	{
		background-color: transparent;
		color: #009ace;
		transform: scale(1.05); 
	}
		.button__cta:hover .fas, .button__cta--large:hover .fas 
		{
			transform: rotate(6deg); 
		}
		.button__cta:hover:visited, .button__cta--large:hover:visited 
		{
			color: #009ace; 
		}
	.button__cta:active, .button__cta--large:active 
	{
		color: #4fd2ff; 
	}
	.button__cta:visited, .button__cta--large:visited 
	{
		color: #FFF; 
	}
	.button__cta--large 
	{
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding-bottom: 20px;
		padding-top: 20px;
		text-align: center; 
	}
		.button__cta--large i 
		{
			font-size: .8em;
			font-weight: 400; 
		}
		.button__cta--large:hover 
		{
			background-color: #4fd2ff;
			border-color: #4fd2ff; 
		}

.button__ems 
{
	border: 1px solid #e1221a;
	color: #e1221a !important;
	display: inline-block;
	margin-right: 25px;
	padding: 20px 40px;
	text-transform: uppercase; 
}
	.button__ems:after 
	{
		content: "→"; 
	}
	.button__ems:hover 
	{
		background-color: #e1221a;
		border-color: #e1221a;
		color: #fff !important; 
	}

.cta 
{
	background-color: #009ace;
	margin-bottom: 0; 
}
	.cta.row__small 
	{
		background-color: unset;
		margin-bottom: 75px; 
	}
	.cta .grid-2, .cta .grid-3 
	{
		grid-gap: 0px !important;
		column-gap: 25px; 
	}

.cta__buy 
{
	padding: 100px 0; 
}
	.cta__buy h3.cta-title 
	{
		color: #425363;
		font-size: 4.8rem;
		font-style: italic;
		font-weight: 100;
		line-height: 1.4;
		margin-top: 0; 
	}

.display-buy-btn 
{
	display: inline-flex;
	color: #fff !important;
	background-color: #ec008b;
	font-size: 20px;
	margin-bottom: 5px;
	padding: 10px 20px;
	height: 40px;
	font-weight: 900;
	border-radius: 3px; 
}
	.display-buy-btn svg 
	{
		margin-right: 10px;
		width: 20px; 
	}
	.display-buy-btn:hover 
	{
		background-color: #ff20a3;
		transition: 0.25s;
		transform: translate3d(0, -2px, 2px); 
	}
	.display-buy-btn:after 
	{
		content: "»";
		margin-left: 10px; 
	}

.signupbutton 
{
	border: 0px;
	color: #FFF;
	padding: 8px 10px;
	text-shadow: none;
	background-color: #009ace;
	border-radius: 0px;
	margin: 0 auto;
	width: 150px;
	font-weight: 500; 
}
	.signupbutton:hover 
	{
		background-color: #02bfff;
		transition: 0.25s;
		transform: translate3d(0, -2px, 2px); 
	}

.banner-button-prod 
{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 25px;
	text-align: center; 
}
	.banner-button-prod a:link 
	{
		color: #FFF; 
	}
	.banner-button-prod a:hover 
	{
		transition: 0.2s;
		color: #FFF; 
	}
	.banner-button-prod:hover 
	{
		filter: drop-shadow(0 5px 3px rgba(0, 0, 0, 0.25)); 
	}
	.banner-button-prod img 
	{
		margin-bottom: 25px;
		padding-left: calc(50% - 65px);
		padding-right: calc(50% - 65px);
		transition: all ease-in-out 200ms; 
	}
	.banner-button-prod:hover img 
	{
		transform: rotate(6deg); 
	}
	.banner-button-prod h3 
	{
		margin: 0; 
	}
		.banner-button-prod h3 a 
		{
			width: 100%;
			height: 100%;
			display: inline-block; 
		}
	.banner-button-prod h4 a:link 
	{
		color: #FFF; 
	}
	.banner-button-prod h4 a:hover 
	{
		transition: 0.2s;
		color: #FFF; 
	}
	.banner-button-prod h4 a 
	{
		width: 100%;
		height: 100%;
		display: inline-block; 
	}

@media only screen and (max-width: 639px) 
{
	.banner-button-prod 
	{
		margin-bottom: 25px; 
	}
		.banner-button-prod:last-child 
		{
			margin-bottom: 0; 
		} 
		}
.button 
{
	display: inline-block;
	color: #000;
	text-transform: uppercase;
	position: relative;
	border: 1px solid white;
	padding: 10px 20px;
	overflow: hidden; 
}
	.button::before 
	{
		content: " ";
		background: #fff;
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		height: 100%;
		width: 100%;
		transition: all ease-in-out 100ms; 
	}
	.button:hover 
	{
		color: #fff; 
	}
		.button:hover::before 
		{
			top: -100%; 
		}





#references, #featured-publications 
{
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1;
	text-transform: uppercase; 
}
	#references summary, #featured-publications summary 
	{
		display: inline-block;
		cursor: pointer !important;
		position: relative; 
	}
		#references summary::-webkit-details-marker, #featured-publications summary::-webkit-details-marker 
		{
			display: none; 
		}
		#references summary .section-title:before, #featured-publications summary .section-title:before 
		{
			background: #1b365d;
			content: "+";
			color: #fff;
			margin-right: 15px;
			padding: 0 10px; 
		}
	#references ul, #references ol, #featured-publications ul, #featured-publications ol 
	{
		padding-left: 15px; 
	}
		#references ul li, #references ol li, #featured-publications ul li, #featured-publications ol li 
		{
			margin-bottom: 12px; 
		}

#featured-publications wrap 
{
	display: grid;
	grid-gap: 25px;
	grid-template-columns: repeat(3, 1fr); 
}
#featured-publications .ref 
{
	background-color: #111111;
	position: relative;
	min-height: 300px; 
}
	#featured-publications .ref-thumbnail 
	{
		object-fit: cover;
		opacity: .4;
		position: relative;
		z-index: 1;
		transition: .2s;
		height: 300px;
		width: 100%; 
	}
	#featured-publications .ref-title 
	{
		color: #FFF;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
		margin: 0;
		opacity: 1;
		padding: 15px;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
		text-align: center;
		transition: .2s;
		height: 100%;
		width: 100%; 
	}
	#featured-publications .ref:hover .ref-thumbnail 
	{
		opacity: 1; 
	}
	#featured-publications .ref:hover .ref-title 
	{
		opacity: 0; 
	}

.row__full-width[style~="background-image:"] 
{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	z-index: 1; 
}
	.row__full-width[style~="background-image:"]:after 
	{
		background-color: rgba(255, 255, 255, 0.65);
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
		height: 100%;
		width: 100%; 
	}
	.row__full-width[style~="background-image:"] > * 
	{
		position: relative;
		z-index: 3; 
	}

/*
 * THEMES
 */
.dark 
{
	background-color: #111111; 
}

/*
 * TABLE
 */
.table-grid 
{
	display: grid;
	max-width: 960px; 
}
	.table-grid > * 
	{
		display: grid;
		grid-template-columns: 1.5fr;
		grid-auto-columns: 1fr;
		grid-auto-flow: column; 
	}
		.table-grid > * * 
		{
			display: flex;
			align-items: center;
			padding: 10px; 
		}
		.table-grid > * span 
		{
			padding: 10px; 
		}
			.table-grid > * span * 
			{
				padding: 0; 
			}
		.table-grid > * sup 
		{
			display: initial;
			padding: 0; 
		}
		.table-grid > *:first-child 
		{
			background: #009ace;
			color: #fff;
			align-items: center; 
		}
		.table-grid > *:nth-child(2n) 
		{
			background: #eee; 
		}

.video-wrap-2 
{
	margin: 0 auto;
	max-width: 442.969px;
	margin-bottom: 20px; 
}

.video-wrap 
{
	display: block;
	margin: 0 auto;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	text-align: center;
	height: 0;
	width: 100%;
	max-width: 960px; 
}

.video-wrap iframe 
{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	max-width: 960px; 
}


/**
 ===
 # MISC
 ===
**/
#___gcse_0,
.jVGvNT,
.gsc-adBlock 
{
	display: none !important; 
}








