/* ================================
Colors
===================================
Text - #222
h1 -h6 - #475161 Dark Blue
Devider line - #ff614c - Orange Red
Buttons and Box - #bfdc36 - Luminate Green
#ebe8d8 - Beige
LIMS - #1d9cd7
=================================*/

/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

html, button, input, select, textarea {
	color: #222;
}

html {
	font-size: 1em;
	line-height: 1.4;
}

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

/*@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');*/

body {
	font: 300 16px/26px "Roboto", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	color: #475161;
	font-weight: 700;
}

strong, b {
	font-weight: 600 !important;
}

a:focus {
	outline: none !important;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

audio, canvas, img, video {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

.browsehappy {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}

/* Start Sticky/Fixed navbar ============================================= */

#navbar {
	background-color: #fff;
	border-bottom: 1px solid #ff614c;
	max-width: 1280px;
	overflow: inherit;
	padding: 29px 0; /* Large padding which will shrink on scroll (using JS) */
	position: fixed; /* Sticky/fixed navbar */
	top: 0; /* At the top */
	transition: 0.4s; /* Adds a transition effect when the padding is decreased */
	width: 100%;
	z-index: 99;
}

#navbar #LogoImg {
	float: left;
	height: 72px;
	margin-right: 5px;
	transition: 0.4s;
}

#navbar-right {
	float: right;
}

#navbar-right ul {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

#navbar-right a {
	border-bottom: 2px solid transparent;
	color: black;
	float: left;
	font-size: 14px;
	font-weight: bold;
	line-height: 25px;
	padding: 2px 5px 0;
	text-align: center;
	text-decoration: none;
}

#navbar-right a:hover {
	background-color: #bfdc36;
	text-decoration: none;
}

#navbar-right a:visited {
	color: inherit;
}

#navbar-right li.active a {
	font-weight: 600;
}

#navbar-right .nav-active {
	background-color: #ebe8b8;
	cursor: default;
}

#navbar-right .nav-active:hover {
	background-color: #ebe8b8;
}

@media screen and (max-width: 1075px) {
	#navbar {
		padding: 10px 0 !important;
		width: calc(100% - 20px); /* Use !important to make sure that JavaScript doesn't override the padding on small screens */
	}
	
	#navbar a {
		display: block;
		float: none;
		text-align: left;
	}
	
	#navbar-right {
		float: none;
	}
	
	#navbar-right ul li {
		display: none;
	}
	
	#navbar-right ul li:last-child {
		display: block;
	}
}
/* End Sticky/Fixed navbar ============================================= */ 

/* Start Fullscreen Overlay Navigation ================================= */

.overlay {
	height: 0%;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #bfdc36;
	overflow-x: hidden;
	overflow-y: auto; /*overlay;*/
	transition: .5s;
}

.overlay .closebtn {
	color: #222;
	position: absolute;
	top: 10px;
	right: 13px;
	font-size: 35px;
	text-decoration: none;
}

.overlay .closebtn:hover, .overlay .closebtn:focus {
	background-color: transparent;
}

.menu-top {
	font-size: 24px !important;
	font-weight: 500;
	line-height: 27px !important;
	margin: 0 !important;
}

.overlay a:hover, .overlay a:focus {
	background-color: #a3be21;
	color: #fff !important;
}

.overlay-content {
	font-size: 1em;
	padding: 0 2.5%;
	position: relative;
	text-align: left;
	top: 5%;
	width: calc(100vw - 5%);
}

.overlay-content span {
	padding-left: 5px;
}

.first, .second, .third {
	padding-bottom: 3em;
	width: 100%;
}

.first a, .second a, .third a {
	clear: left;
	color: #222 !important;
	display: block;
	line-height: 1.2;
	margin: 7px 0 7px 0;
	padding: 3px;
	text-decoration: none;
	transition: 0.3s;
	border-bottom: 1px solid #999;
}

.first .active, .second .active, .third .active, .first .active:hover, .second .active:hover, .third .active:hover {
	background-color: #ebe8b8;
	color: #222 !important;
	cursor: default;
}

.overlay-content .submenu {
	margin-bottom: 1.5em;
	padding-left: 20px;
}

.contact-info {
	margin: 10px 0 0;
	padding-left: 3px;
}

.contact-info p {
	font-size: 15px;
	line-height: 1.4;
	margin: 10px 0;
}

.contact-info span {
	display: inline-block;
	line-height: 1.2;
	width: 60px;
	padding: 0;
	font-weight: 600;
}

.contact-info a {
	display: inline-block !important;
	font-size: 15px;
	margin: 0 !important;
}

.contact-info .company-name {
	font-weight: 500;
}

.contact-info .social {
	margin: 0 0 3px 60px;
}

.contact-info .social a:hover {
	background-color: transparent;
}

@media only screen and (min-width: 999px) {
	.overlay-content {
		top: 10%;
		font-size: 1.2em;
	}
	
	.first, .second {
		float: left;
		width: 50%;
	}
	
	.third {
		float: left;
		width: 22%;
	}
}
/* End Fullscreen Overlay Navigation ================================= */

/* Start <aside> ============================================= */

aside {
	display: none;
}

.button-wrapper {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 1em;
}

.button-wrapper .button {
	min-width: 150px;
	padding: 10px 15px;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	transition: background-color, .2s;
	line-height: 20px;
	font-size: 16px;
	font-weight: 500;
	font-family: sans-serif;
	color: #fff;
	background-color: #2baae1;
	text-decoration: none;
	margin: 0 2px 2px 0;
	cursor: pointer;
}

.button-wrapper .button:hover {
	background-color: #1d97cb;
}

.button-wrapper #myBtn {
	text-align: left;
	border: none;
}

.button-wrapper img {
	padding-right: 3px;
}

header {
	margin-bottom: 1em;
	font-size: 1.25em;
}

.header {
	line-height: 0.8;
	margin: 0;
	padding-bottom: 8px;
}

.subheader {
	font-size: 1em;
	font-weight: 400;
	line-height: 1.1;
	margin: 0;
	text-transform: uppercase;
}

.side-nav {
	display: none;
}
/* End <aside> ============================================= */

.container {
	margin: 0 auto;
	width: calc(100% - 20px);
	max-width: 1280px;
	padding: 0 10px;
}

.main-container {
	position: relative;
	top: 100px;
}

.main {
	padding: 0 0 30px;
}

.main article h1 {
	border-bottom: 1px solid #ffbbb2;
	font-size: 2.5em;
	font-weight: 300;
	line-height: 1;
	margin: 0 0 .375em;
	padding: .5em 0;
}

.main article h3 {
	border-bottom: 1px solid #aaa;
}

.main article h3:first-child {
	margin-top: 0;
}

.main article ul, .main article ol {
	border: 1px solid #bfdc36;
	clear: both;
	margin: 0;
	padding: 10px 10px 10px 30px;
}

.main article ol li {
	padding-bottom: .5em;
}

.main article ul li {
	line-height: 1.4;
	padding-bottom: .5em;
}

.main article ul li:last-child {
	padding-bottom: 0;
}

.main article ul li ul {
	padding-bottom: 0;
}

section {
	border-top: 1px solid #ffbbb2;
	margin-top: -1px;
	margin-bottom: 2em;
	overflow: hidden;
}

section a {
	padding: 0 5px;
	color: #2baae1;
	text-decoration: none;
	border-bottom: 1px solid #2baae1;
}

section a:hover {
	background-color: #ebe8b8;
	color: #222;
	border-bottom-color: transparent;
	transition: ease-in-out 0.2s;
}

section img {
	margin-bottom: 1em;
}

.full-width {
	width: 100%;
	height: auto;
}

.more-info {
	clear: both;
	margin: 10px 0;
	overflow: hidden;
}

.more-info a {
	float: right;
	font-size: .875em;
}

/* PCI pages - prev/next buttons */

.pci-page-nav {
	border-top: 1px solid #999;
	margin: 1em 0 3em;
	padding-top: 1em;
	text-align: center;
}

.pci-page-nav a {
	background-color: #bfdc36;
	border: 1px solid #bfdc36;
	color: #000;
	font-size: .85em;
	padding: 5px 10px;
	text-decoration: none;
}

.pci-page-nav a:hover {
	background-color: #dbeb8d;
	transition: .2s;
}

.next::after {
	content: "";
	width: 0;
	height: 0;
	float: right;
	position: relative;
	right: 0;
	top: 0;
	border-top: 13px solid transparent;
	border-left: 15px solid #bfdc36;
	border-bottom: 14px solid transparent;
}

.next:hover {
	border-right-color: #dbeb8d;
}

.next:hover::after {
	border-left: 15px solid #dbeb8d;
	transition: .2s;
}

.prev::after {
	content: "";
	width: 0;
	height: 0;
	float: left;
	position: relative;
	right: 0;
	top: 0;
	border-top: 13px solid transparent;
	border-right: 15px solid #bfdc36;
	border-bottom: 14px solid transparent;
}

.prev:hover {
	border-left-color: #dbeb8d;
}

.prev:hover::after {
	border-right: 15px solid #dbeb8d;
	transition: .2s;
}

/* Footer ============================================================= */

.footer-container {
	background-color: #fff;
	border-top: 4px double #ff614c;
	font-size: .75em;
	margin-top: 10px;
	padding: 10px 0 0;
}

.footer-container p {
	line-height: 1.4;
	margin: 0;
}

.footer-container a {
	padding: 0 3px;
	color: #2baae1;
	text-decoration: none;
	border-bottom: 1px solid #2baae1;
}

.footer-container a:hover {
	background-color: #ebe8b8;
	color: #222;
	border-bottom-color: transparent;
	transition: ease-in-out 0.2s;
}

.company, .address, .contacts, .social, .copyright {
	margin-bottom: 3px;
}

.company {
	font-weight: bold;
}

.contacts span {
	display: inline-block;
	margin-right: 10px;
}

.contacts b {
	color: #555;
	display: inline-block;
	font-size: 1.2em;
	font-variant-caps: all-petite-caps;
	font-weight: 500;
	line-height: 1;
	padding-right: 5px;
}

.social a {
	display: inline-block;
	margin: 5px 0 0 !important;
	border-bottom: none;
	width: 48px;
	height: 48px;
}

.social a:hover {
	background-color: unset;
}

.social a img {
	width: 20px;
}

.falims li, .relims li, .chlims li, .pciam li, .pci li, .cfr li, .quartz li {
	list-style: none;
}

.falims li::before, .relims li::before, .chlims li::before, .pciam li::before, .pci li::before, .cfr li::before, .quartz li::before {
	content: "▲";
	font-size: 12px;
	margin-left: -20px;
	padding-right: 7px;
	position: relative;
	top: -1px;
}

.falims li::before {
	color: #C0528C;
}

.relims li::before {
	color: #E0A844;
}

.chlims li::before {
	color: #A2C14B;
}

.pciam li::before {
	color: #7D2B8B;
}

.pci li::before {
	color: #CF4044;
}

.cfr li::before {
	color: #5BA69C;
}

.quartz li::before {
	color: #2A55A0;
}

.hero-static {
	margin-top: 5px;
}

.hero-static img {
	width: 100%;
	height: auto;
}

.side-nav a.quartz-publication {
	background-color: #bfdc36;
	border: none;
	padding: 5px 5px 5px 1em;
}
.side-nav a.quartz-publication:hover {
	background-color: #dbeb8d;
	border: none;
}

a span.open-in-new {
	background: transparent url('../img/open_in_new_19dp_222222_wght400.svg') no-repeat left 2px;
	display: inline-block;
	width: 19px;
	transition: 0.3s;
}

a:hover span.open-in-new {
	background: transparent url('../img/open_in_new_19dp_FFFFFF_wght400.svg') no-repeat left 2px;
	display: inline-block;
	width: 19px;
	transition: 0.3s;
}

.side-nav a span.open-in-new {
	background: transparent url('../img/open_in_new_19dp_222222_wght400.svg') no-repeat left 5px;
	background-size: 17px;
}
.side-nav a:hover span.open-in-new {
	background: transparent url('../img/open_in_new_19dp_222222_wght400.svg') no-repeat left 5px;
	background-size: 17px;
}

.active:hover span.open-in-new {
	background: transparent url('../img/open_in_new_19dp_222222_wght400.svg') no-repeat left 2px;
	width: 19px;
}

/* The Modal (background) */
.modal {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 100; /* Sit on top */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.8); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
	background-color: #fefefe;
	margin: 100px auto; /* 15% from the top and centered */
	padding: 20px;
	border: 1px solid #888;
	width: 80%; /* Could be more or less, depending on screen size */
	max-width: 600px;
	height: calc(100% - 202px);
}

.modal-content img {
	max-width: 240px;
}

/* The Close Button */
.close {
	/*color: #aaa;
	float: right;
	font-size: 28px;
	font-weight: bold;*/
	background-color: #111;
	border: 0 none;
	border-radius: 4px;
	transition: all 0.23s ease-in-out 0s;
	color: #FFFFFF;
	cursor: pointer;
	display: inline-block;
	font-size: 28px;
	font-weight: bold;
	height: 22px;
	line-height: 19px;
	margin: 0;
	padding: 0 12px;
	text-align: center;
	text-decoration: none;
	vertical-align: top;
	white-space: nowrap;
	width: fit-content;
	width: -moz-fit-content;
	float: right;
}

.close:hover,
.close:focus {
	color: #fff;
	background-color: #666;
	text-decoration: none;
	cursor: pointer;
}



/* ALL: IE Fixes =================================================== */

.ie7 .title {
	padding-top: 20px;
}

@media screen and (min-width: 1920px) {
	.container, #navbar {
		width: 1800px;
	}
}

@media screen and (min-width: 1300px) and (max-width: 1919px) {
	.container, #navbar {
		width: calc(100vw - 100px);
	}
}

@media screen and (min-width: 1000px) and (max-width: 1299px) {
	.container, #navbar {
		width: calc(100vw - 80px);
	}
}

@media screen and (min-width: 700px) and (max-width: 999px) {
	.container, #navbar {
		width: calc(100vw - 48px);
	}
}

@media screen and (min-width: 500px) and (max-width: 699px) {
	.container, #navbar {
		width: calc(100vw - 32px);
	}
}

@media only screen and (min-width: 480px) {
	/* IE Fixes ======================================== */
	
	nav ul li {
		display: inline;
		padding-left: 24px;
	}
	
	.oldie nav a {
		margin: 0 0.7%;
	}
}

@media only screen and (min-width: 1075px) {
	footer {
		column-count: 2;
	}
	
	.overlay .closebtn {
		top: 30px;
		right: 48px;
	}

	/* Hide Dropdowns by Default */
	
	#navbar-right ul ul#subnav-container,
	#navbar-right ul ul#subnav-container2 {
		background-color: #bfdc36;
		display: none;
		position: absolute;
		top: 57px; /* the height of the main nav */
		border: 1px solid #fff;
		z-index: 1000;
	}
	
	#navbar-right ul ul#subnav-container3 {
		background-color: #bfdc36;
		display: none;
		position: absolute;
		top: 57px; /* the height of the main nav */
		right: 0;
		border: 1px solid #fff;
		z-index: 1000;
	}
	
	#navbar-right ul ul li {
		width: auto!important;
		float: none!important;
		display: list-item!important;
		position: relative!important;
		border-top: 1px solid #fff;
		padding: 0;
	}
	
	#navbar-right ul ul li:hover {
		background-color: #dbeb8d;
		transition: .3s;
	}
	
	#navbar-right ul ul li:first-child {
		border: none;
	}
	
	#navbar-right ul ul li a {
		border: none;
		display: block;
		float: none;
		font-weight: 400;
		line-height: 30px;
		padding: 0 10px;
		text-align: left;
	}
	
	#navbar-right ul ul li a:hover {
		background-color: #dbeb8d;
		border-bottom: none;
		transition: .3s;
	}
	
	#navbar-right ul ul li.lims a {
		background-color: #83cde6;
	}
	
	#navbar-right ul ul li.lims a:hover {
		background-color: #bbe4f2;
		border-bottom: none;
		transition: .3s;
	}

	/* Display Dropdowns on Hover */
	
	#navbar-right ul li:hover > ul {
		display: inherit!important;
	}
	
	aside {
		background: #fff;
		margin-bottom: 15px;
	}
	
	.main {
		padding-top: 17px;
	}
	
	.main aside {
		float: left;
		width: 340px;
		padding: 20px 0 0;
		position: sticky;
		top: 70px;
	}
	
	.header {
		padding: 16px 0 23px;
		font-size: 1.45em;
	}
	
	.button-wrapper .button {
		width: 100%;
		padding: 10px 15px;
		justify-content: center;
		align-items: center;
		border-radius: 5px;
		transition: background-color, .2s;
		line-height: 20px;
		font-size: 16px;
		font-weight: 500;
		font-family: sans-serif;
		color: #fff;
		background-color: #2baae1;
		text-decoration: none;
		margin: 0 2px 2px 0;
	}
	
	.button-wrapper .button:hover {
		background-color: #1d97cb;
	}
	
	.side-nav {
		display: block;
		font-size: 14px;
		margin-top: 1em;
	}
	
	.side-nav a {
		border: 1px solid #ccc;
		border-top: none;
		color: #000;
		display: block;
		padding: 0px 0 0px 1em;
		text-decoration: none;
	}
	
	.side-nav a:hover {
		background-color: #eee;
	}
	
	.side-nav a.active {
		background-color: #737373;
		border-color: #737373;
		color: #fff;
		cursor: default;
		font-weight: 500;
	}
	
	.side-nav a.active:after {
		content: "";
		width: 0;
		height: 0;
		float: right;
		position: relative;
		right: -15px;
		top: 0px;
		border-top: 14px solid transparent;
		border-left: 14px solid #737373;
		border-bottom: 13px solid transparent;
	}
	
	.main article {
		float: left;
		padding-left: 40px;
		width: calc(100% - 380px);
	}
	
	section div p:first-child {
		margin-top: 0;
	}
	
	.full-width {
		width: auto;
		height: auto;
	}
	
	#pc-based-sems, #light-microscopes, #other-imaging-instruments, #workstation-pcs {
		overflow: hidden;
		padding-top: 67px;
	}
	
	.col2-left {
		float: left;
		margin-right: 25px;
		width: calc(100% - 300px);
	}
	
	.col2-right {
		float: left;
		width: 275px;
	}
	
	.col2-right img {
		width: 275px;
		height: auto;
	}
	
	.right-img {
		width: 275px;
		height: auto;
		margin-left: 2em;
		float: right;
	}
	
	.col2 {
		clear: both;
		column-count: 2;
		column-gap: 2.5em;
	}
	
	.col3 {
		grid-column-gap: 1em;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.col3 .product-box {
		display: grid;
		grid-template-rows: 244px 1fr auto;
		justify-items: start;
	}
	
	.footer-container {
		clear: both;
		padding-left: 380px;
	}
	
	.half-width-left {
		float: left;
		padding-right: 1em;
		width: calc(50% - 1em);
	}
	
	.half-width-right {
		float: left;
		padding-left: 1em;
		width: calc(50% - 1em);
	}
	
	.half-width-left img, .half-width-right img {
		width: 100%;
	}
	
	.break-after {
		padding-bottom: 0em !important;
	}
	
	.menu-top {
		margin: 0 30px 0 0 !important;
	}
	
	.first a, .second a, .third a {
		margin: 7px 30px 7px 0;
	}
	
	.main-container {
		position: relative;
		top: 113px;
	}
	
	.hero-static {
		margin-top: 29px;
	}
	
	.social a {
		width: unset;
		height: unset;
		margin: 0 !important;
	}
	
	.modal-content img {
		max-width: unset;
	}
}	

@media only screen and (min-width: 1300px) {
	.col-3 {
		clear: both;
		padding-left: calc(410px + 2em);
	}
}

/* ==========================================================================
Helper classes
========================================================================== */

.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
	text-indent: -9999px;
}

.ir:before {
	content: "";
	display: block;
	width: 0;
	height: 150%;
}

.hidden {
	display: none !important;
	visibility: hidden;
}

/*.visuallyhidden {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}*/

.invisible {
	visibility: hidden;
}

.clearfix:before, .clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

.noBorder {
	border: none !important;
}

.column-break {
	break-after: column;
}

/* ==========================================================================
Print styles
========================================================================== */

@media print {
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
		font-size: 10pt;
	}
	
	.noPrint {
		display: none;
	}
	
	a, a:visited {
		text-decoration: underline;
	}
	
	a[href]:after {
		content: " (" attr(href) ")";
	}
	
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
		content: "";
	}
	
	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	
	thead {
		display: table-header-group;
	}
	
	tr, img {
		page-break-inside: avoid;
	}
	
	img {
		max-width: 100% !important;
	}
	
	@page {
	margin: 0.5cm;
	}
	
	p, h2, h3 {
		orphans: 3;
		widows: 3;
	}
	
	h2, h3 {
		page-break-after: avoid;
	}
	
	.main-container {
		position: unset;
	}
	
	#navbar {
		position: unset;
		display: block;
		overflow: hidden;
		padding: 0 0 18px;
	}
	.main aside {
		display: block;
		padding-top: 8pt;
		position: unset;
		text-align: left;
	}
}

/* Position the image container (needed to position the left and right arrows) */

.container-hero {
	position: relative;
}

/* Hide the images by default */

.mySlides {
	position: absolute;
	top: -350px;
	overflow: hidden;
	height: 350px;
	width: 100%;
}

.mySlides div {
	padding: 25px;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 100;
	color: #fff;
	width: calc(50% - 50px);
	background-color: rgba(0,0,0,0.65);
}

.mySlides img {
	height: 350px;
}

/* Add a pointer when hovering over the thumbnail images */

.cursor {
	cursor: pointer;
}

.numbertext {
	color: #f2f2f2;
	font-size: 12px;
	padding: 8px 12px;
	position: absolute;
	top: 0;
}

/* Container for image text */

.caption-container {
	text-align: center;
	background-color: #222;
	padding: 2px 16px;
	color: white;
}

.row2 {
	padding: 20px 0 0;
}

/* Six columns side by side */

.column {
	width: 23.5%;
	float: left;
	padding-right: 2%;
}

.column:last-child {
	padding: 0;
}

.column img {
	height: 30px;
}

