@charset "UTF-8";
/* Web Solutions 4.0 Compatible */




/* Haffer - Bold */
@font-face {
    font-family: 'Haffer';
    src: url('/includes/fonts/Haffer-Bold.woff2') format('woff2'),
        url('/includes/fonts/Haffer-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
/* Haffer - Semi-Bold */
@font-face {
    font-family: 'Haffer';
    src: url('/includes/fonts/Haffer-SemiBold.woff2') format('woff2'),
        url('/includes/fonts/Haffer-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
/* Haffer - Regular */
@font-face {
    font-family: 'Haffer';
    src: url('/includes/fonts/Haffer-Regular.woff2') format('woff2'),
        url('/includes/fonts/Haffer-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
/* Haffer - Light */
@font-face {
    font-family: 'Haffer';
    src: url('/includes/fonts/Haffer-Light.woff2') format('woff2'),
        url('/includes/fonts/Haffer-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}



:root {
	--Q-Tran-blue: #1E22AA;
	--bright-blue: #145fff;
	--dark-blue: #00024B;
	--yellow: #FBE122;
	--light-grey: #666666;
	--grey: #4a4a4a;
	--dark-grey: #2D2A26;

	--lightest-greige: #F7F5F0;
	--light-greige: #E8E6DF;
	--greige: #D6D2C4;
	--red: #F9423A;
	--sustainable-green: #2a4534;

	--haffer: 'Haffer', sans-serif;
}


html {
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

.sr-only {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	-webkit-clip-path: inset(50%) !important;
		clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	white-space: nowrap !important;
}


body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: none;
	font-variant-ligatures: none;
    margin: 0;
    padding: 0;
}

img {
	border: 0
}

ul {
	padding-left: 0
}

ul li {
	list-style: none
}

html, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, hr {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit
}

table {
	border-collapse: collapse
}

td, th {
	empty-cells: show;
	vertical-align: top;
	text-align: left
}

body {
	background: #fff;
}

#accessibleNavigation {
    background: #fff;
    border-radius: var(--border-radius);
    color: #000;
    display: flex;
    gap: 1em;
    left: 1rem;
    padding: 1em;
    position: absolute;
    top: -1000px;
    z-index: 10;
}

#accessibleNavigation:focus-within {
	top:1rem;
	box-shadow: 0 0 0 999vh rgba(0,0,0,0.75);
}

iframe[src="/management/login/persistSession.aspx"] {
	display: none
}

/*page widths*/
main, body>footer, #alertApp {
	width: 100%;
	display: block;
}

/* text */
body, .text, input, button, select, textarea {
	font-family: var(--haffer);
	line-height: 1.6875;
	color: #000000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.text {
	font-size: 1rem
}

.text-suisse {
    color: var(--dark-grey);
    font-size: 0.75rem;
    font-weight:700;
    text-transform: uppercase;
}

.grid .text-suisse {
	margin-bottom: 1.375rem;
}

a {
	color: var(--Q-Tran-blue);
	text-decoration: none
}

a:hover, a:active {
	color: var(--dark-blue)
}

.icon-link {
    display: inline-block;
    font-weight: 600;
    padding:0.5em 1.5em;
    position: relative;
}

.icon-link:after {
    content:"";
    margin-left: 0.5rem;
    padding-left: 1.125rem;
}

.icon-link.arrow,
.icon-link.play {
	background: var(--dark-grey);
	border-radius: 20em;
	color: #fff;
	line-height: inherit;
	transition: all cubic-bezier( 0.55, 0.54, 0.08, 1 ) 0.3s;
}

.icon-link.arrow:after {
    background: url(/images/link-arrow-yellow.svg) no-repeat center;
	filter: brightness(100);
	transition: filter ease 0.1s, margin cubic-bezier( 0.55, 0.54, 0.08, 1 ) 0.3s;
}

.icon-link.play:after {
	filter: brightness(100);
	transition: filter ease 0.1s, margin cubic-bezier( 0.55, 0.54, 0.08, 1 ) 0.3s;
}

.icon-link.arrow-down:after {
    background: url(/images/link-arrow-down-yellow.svg) no-repeat center;
}

.icon-link.play:after {
    background: url(/images/link-play-yellow.svg) no-repeat center;
}


p,h1,h2,h3,h4,hr,.content ul,.contentEditor ul,blockquote,dd,ol {
	margin-top: 0;
	margin-bottom: 1rem
}

h1, h2, h3, h4, h5, h6, #hero .heading, th {
	color: #000000;
	font-weight: 700;
	line-height: 120%;
}

#hero .heading {
	display: block;
}

p + h2, p + h3, p + h4, p + h5, p + h6, ul + h2, ul + h3, ul + h4, ul + h5, ul + h6 {
	margin-top: 1.5rem;
}

dt {
	color: var(--dark-grey)
}

.textColor {
	color: #0032A0
}

.blue-heading :is(h1, h2, h3) {
	color: var(--Q-Tran-blue);
}

em, i, q, cite, .italic {
	font-style: italic
}

b, strong {
	font-weight: 700
}

u {
	text-decoration: none
}

hr {
	border: 0;
	border-top: 1px solid rgba(0,0,0,0.125);
	margin: 2em 0;
	padding-top: 1px
}

p {
	font-size: 1em
}
p[style*=raleway] {
	font-family: var(--haffer) !important;
}

.intro {
	font-size: 1.25em;
	font-weight: 600;
	color: #101820;
	line-height: 1.875rem;
}

.small-heading {
	color: #000;
    font-weight: 600;
    line-height: 1.25em;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.caption .small-heading {
    margin:0;
}

.small-heading:only-child {
    margin-bottom: 0;
}

.small-text {
	color:#000;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
}

.small-title {
	display: block;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.75rem;
	color: var(--grey);
}


sup, sub {
	font-size: .6em;
	line-height: .6em;
	vertical-align: baseline;
	position: relative
}

sup {
	bottom: 1ex
}

sub {
	top: .5ex
}

/* MAIN ------------------------------ */

.white-bg {
	background-color: #fff;
}

.greige-bg {
	background-color: var(--greige);
}

.light-greige-bg {
	background-color: var(--light-greige);
}

.blue-bg {
	background-color: var(--Q-Tran-blue);
}

.green-bg {
	background-color: var(--sustainable-green);
}

.menu {
	cursor: pointer
}

main, .mceContentBody {
	background: #fff
}

.contentEditor {
	background: #fff;
	min-width: 100%;
}

/* sidenav */
#sidenav {
	width: 100%;
	overflow: hidden;
	margin: 0 0 3rem
}

#sidenav ul {
	padding: 0
}

#sidenav li {
	height: 1%;
	overflow: hidden
}

#sidenav li a {
	padding: .5em .25rem;
	font-weight: 700;
	line-height: 1.1em;
	display: block;
	color: var(--grey);
	letter-spacing: -0.3px;
}

#sidenav li a:hover, #sidenav li a:active {
	background-color: rgba(0,0,0,0.05)
}

#sidenav li.on>a {
	color: #0032A0
}

/* t2 */
#sidenav li.on ul {
}

#sidenav li.on ul li {
}

#sidenav li.on ul li a {
	padding: .3em .5rem .3em 2rem;
	background-image: url(/images/sidenav-bullet.svg);
	background-repeat: no-repeat;
	background-position: 1.25rem 0.625rem;
	font-size: .9em;
	color: var(--Q-Tran-blue-blue);
	font-weight: 400;
	letter-spacing: 0;
}

#sidenav li ul li.on>a {
	color: var(--dark-blue);
}

/* t3 */
#sidenav li ul li.on ul {
	padding-bottom: .5em;
	border: 0
}

#sidenav li ul li.on ul li {
	border: 0
}

#sidenav li ul li.on ul li a {
	padding-left: 1rem;
	font-size: .8em;
	color: #666
}

#sidenav li ul li ul li a:hover, #sidenav li ul li ul li a:active, #sidenav li ul li ul li.on>a {
	color: #000;
	background: #e5e5e5;
}

/* content */
.content {
	word-wrap: break-word
}

.content .photoright, .content .photoleft {
	max-width: 50%;
	height: auto
}

.content .photoright img,.content .photoleft img {
	max-width: 100%;
	height: auto;
	margin: 0;
	float: none
}

.content img.phototreatment {
	max-width: 50%;
	height: auto
}

.content figure.phototreatment {
	width: 100%;
	text-align: center
}

.content figure.phototreatment img {
	max-width: 100%;
	width: auto;
	height: auto
}

img.phototreatment,img.photoright,img.photoleft,.photoright img,.photoleft img {
	max-width: 100%;
	height: auto
}

.photoright {
	float: right;
	clear: right
}

.photoleft {
	float: left;
	clear: left
}

figcaption {
	font-size: 0.875rem;
	color: var(--grey);
}

.muted {
	opacity: 0.5;
	filter: alpha(opacity=50)
}

.content .highlight {
	background: #fff;
}

small, .textSm {
	font-size: .8em
}

.content table {
	width: 100%
}

.content > div:has(iframe[src*=vimeo]) {
    margin-bottom: 2em;
}

.content iframe[src*=vimeo] {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width:100%;
}

blockquote {
	color: #101820;
	line-height: 1.5625em;
	padding: 1.5em 0
}

blockquote footer {
	margin-top: 0.25rem;
	font-family: Helvetica Neue, Helvetica,sans-serif;
	font-size: 0.875rem;
	color: var(--grey);
	line-height: 1.5625rem;
}

.interior main #content .byline {
	display: block;
	font-size: 0.875rem;
	font-style: italic;
	color: var(--grey);
	margin-bottom: 1rem
}

.interior main #content .blog-comments-and-tags {
	margin-top: 3rem
}

.shareIcons {
	display: inline-block;
	position: relative;
	overflow: auto
}

.shareIcons a {
	display: block;
	background-color: var(--bright-blue);
	float: left;
	margin: 0 .5em 1em 0;
	height: 20px;
	width: 20px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: .2em;
	-webkit-box-shadow: inset 0px -2px 0px 0px rgba(0, 0, 0, .2);
	box-shadow: inset 0px -2px 0px 0px rgba(0, 0, 0, .2)
}

.shareIcons a:hover {
	background-color: #0032A0
}

.shareFacebook {
	background-image: url(../../images/icons/64x64/facebook.png)
}

.shareTwitter {
	background-image: url(../../images/icons/64x64/twitter.png)
}

.shareLinkedin {
	background-image: url(../../images/icons/64x64/linkedin.png)
}

.shareGoogle {
	background-image: url(../../images/icons/64x64/google-plus.png)
}

/* list */
.content ol {
	margin-left: 2em
}

.content ol ol li {
	list-style: lower-alpha
}

.content ul li {
	padding-left: 2em;
	position: relative;
}

.content ul li+li {
	margin-top: 0.25em
}

.content ul li:before {
	content: "";
	display: block;
	width: 1em;
	height: 1em;
	position: absolute;
	top: 0.375rem;
	left: 0.75rem;
	background: url(/images/bullet.svg) no-repeat center
}

.content ul li ul li:before {
	opacity: .5
}

/* addon classes */
.clearFloats {
	clear: both
}

.nobr {
	white-space: nowrap
}

.twoCol, .threeCol, .resCol {
	-webkit-column-rule: 1px outset rgba(0,0,0,.15);
	column-rule: 1px outset rgba(0,0,0,.15);
	-webkit-column-gap: 2em;
	column-gap: 2em;
}

.req {
	color: #c00
}

.textIcon {
	background: #999;
	background-color: rgba(0,0,0,.2);
	font-size: .8em;
	line-height: 1em;
	display: inline-block;
	padding: .2em .4em;
	border-radius: .5em;
	color: #fff
}

.textIcon:hover {
	background: #666;
	background-color: rgba(0,0,0,.4);
	color: #fff
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

.videoContainer {
	width: 100%;
	height: 0;
	line-height: 0;
	position: relative;
	padding-top: 56.25%;
	/* 16:9 */
}

.video-list .videoContainer {
	background-size: cover;
	background-position: center
}

.videoContainer.ratio-4-3 {
	padding-top: 75%;
	/* 4:3 full-frame */
}

.videoContainer iframe {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	border: 0
}

/* forms */
input, button, select, textarea, .wsManagementLogin input[type="text"].wsFormBox, .wsManagementLogin input[type="password"].wsFormBox {
	font-size: 1rem;
	line-height: 1.2em
}

input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], textarea, select, input[type="button"], input[type="submit"], input[type="reset"] {
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	font-size: 1rem
}

.wsManagementLogin input[type="text"].wsFormBox, .wsManagementLogin input[type="password"].wsFormBox, input[type="text"], input[type="password"], input[type="tel"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], textarea, select {
	border: 1px solid var(--greige);
	background-color: #fff;
	transition: ease all 200ms;
	padding: 0.5em;
	box-shadow: none;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="tel"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, textarea:focus, select:focus {
	border-color: var(--grey)
}

textarea {
	display: block;
}

main > .find-a-rep .top .search-wrap .select-wrapper select:focus-visible {
	outline: 2px solid #000;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
	input[type="search"]::-webkit-search-decoration {
		-webkit-appearance:none
	}

	input[type="search"] {
		padding-right: 0
	}
}

select option {
	padding: 0 .2em
}

button, .button, input[type=submit], input[type=button], .arrow-button {
    background: var(--Q-Tran-blue);
	border: 0;
    border-radius: 0.25rem;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    line-height: 1em;
    padding: 1.125em 1.5em;
    position: relative;
}

.arrow-button .textColor {
	color:inherit;
}

:is(button, .button, .arrow-button)::after {
    background: url(/images/link-arrow-yellow.svg) no-repeat center;
    content: "";
    margin-left: 0.5em;
    padding-left: 1.0625rem;
    transition: ease all 200ms;
}

:is(button.back, .button.back)::after {
	display:none;
}

:is(button.back, .button.back)::before {
	background: url(/images/link-arrow-back-yellow.svg) no-repeat center;
    content: "";
    margin-right: 0.5em;
    padding-right: 1.0625rem;
    transition: ease all 200ms;
}

.button.white, button.white {
	color: var(--Q-Tran-blue);
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
	border: 1px solid var(--light-greige);
	background: #fff;
}

:is(button.white, .button.white)::after {
    background: url(/images/link-arrow-blue.svg) no-repeat center;
    content: "";
    margin-left: 0.5em;
    padding-left: 1.0625rem;
    transition: ease all 200ms;
}

:is(button, .button, button.white, .button.white, input[type=submit], input[type=button], .content .arrow-button):is(:hover, :focus-visible) {
    background: var(--dark-blue);
    color: #fff;
}

:is(button, .button, button.white, .button.white, .arrow-button):is(:hover, :focus-visible):after {
    margin-left: 1em;
}

:is(button.back, .button.back):is(:hover, :focus-visible):before {
    margin-right: 1em;
}

:is(button.white, .button.white):is(:hover, :focus-visible):after,
:is(button.white, .button.white).active:after {
    filter: brightness(100);
}


button.icon-button, .button.icon-button {
    border: 0;
    border-right: 1px solid #0032A0;
}

button.plus span, .button.plus span {
	background: url(/images/button-plus.svg) no-repeat center
}

button.icon-button span, .button.icon-button span {
	left: -0.5rem;
	right: auto
}

button.icon-button.phone span, .button.icon-button.phone span {
	background: url(/images/button-phone.svg) no-repeat center
}

button.icon-button.mail span, .button.icon-button.mail span {
	background: url(/images/button-mail.svg) no-repeat center
}


button.icon-button:before, .button.icon-button:before {
	border-left: 1px solid #0032A0;
	border-right: 0
}

button.icon-button:after, .button.icon-button:after {
	border-left: 1px solid #0032A0;
	border-right: 0
}

button img {
	height: 1em;
	width: auto;
	vertical-align: top
}

.button.blue, button.blue, a.wsReturnToButton {
	padding: 0.75em 1.25em;
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0;
	border: 1px solid #0032A0;
	background: #0032A0;
	color: #fff
}

.button.blue.arrow:after, button.blue.arrow:after {
	content: "";
	display: inline;
	margin-left: 0.5em;
	position: relative;
	padding-left: 1em;
	border: 0;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	background: url(/images/button-arrow-white.svg) no-repeat center
}

.button.blue:hover, button.blue:hover, a.wsReturnToButton:hover {
	color: #fff;
	border-color: var(--dark-blue);
	background: var(--dark-blue)
}

.button.white:before, button.white:before, .button.blue:not(.arrow, .with-icon):before, button.blue:not(.arrow, .with-icon):before, .button.blue:not(.arrow):after, button.blue:not(.arrow):after {
	display: none
}

.about-page .value-points .video button#play:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	background: url(/images/icons/play.svg) no-repeat center;
}

label.sort-by {
    cursor: pointer;
    display: inline-block;
    font-size: 0.875rem;
    height: 2.125rem;
    position: relative;
}

label.sort-by span {
    display: block;
    font-weight: 600;
    left: 1rem;
    line-height: 2.125rem;
    position: absolute;
	pointer-events: none;
    top:0;
}

label.sort-by select {
    background: #FFFFFF url(/images/sort-label-select-arrow.svg) no-repeat center right;
    border: 1px solid var(--greige);
    font-size: 0.875rem;
    height: 2.125rem;
    padding: 0 2.5rem 0 4.5rem;
}

.wsReturnToButton a:before, 
.wsReturnToButton a:after, 
a.wsReturnToButton:after, 
a.wsReturnToButton:before {
	display: none
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input.bulky, .bulky {
	padding: .4em .6em;
	font-size: 1.2em
}

.formTable, .formTable table {
	width: 100%
}

.formTable input[type="text"], 
.formTable input[type="password"], 
.formTable input[type="tel"], 
.formTable input[type="number"], 
.formTable input[type="email"], 
.formTable input[type="url"], 
.formTable input[type="search"], 
.formTable textarea,
.formTable select {
	width: 100%
}

.formTable select {
	background-image: url(/images/select-arrow.svg);
	background-position: calc(100% - 0.5em) 50%;
	background-repeat: no-repeat;
}

.formTable table td,.formTable table td:first-child {
	padding-bottom: 0
}

.formTable.right td:first-child {
	text-align: right;
	width: 1%
}

.formTable.right td {
	width: auto
}

.subjClass {
	display: none !important;
}

#Captcha label {
	padding-left: 0
}

td.right, th.right {
	text-align: right
}

.wsNew {
	display: inline-block;
	font-size: .7em;
	line-height: 1.5em;
	height: 1.5em;
	padding: 0 .3em;
	margin: .3em 0;
	background-color: #FFC700;
	overflow: visible;
	vertical-align: top;
	color: #fff;
	font-style: italic
}

.formEdit select, .formBuilder select {
	width: 40%;
}

.text-align-center {
	text-align: center;
}
.text-align-right {
	text-align: right;
}
.text-align-left {
	text-align: left;
}

.full-height {
	overflow: hidden;
}

.grid .icon-link.arrow {
	margin-top: 0.5em;
}

.grid-ribbon .image {
    overflow: hidden;
    position: relative;
}

.grid-ribbon .image img {
    height: 100%;
    left:0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top:0;
    width: 100%;
}

.play-pause-buttons button {
	font-size: 0;
	padding: 1.5rem;
	position: absolute;
	line-height: 0;
	opacity: .6;
	background-color: rgb(0,0,0);
	border: 2px solid #000
}

.play-pause-buttons button:hover, .play-pause-buttons button:focus, .play-pause-buttons button:active {opacity: 1; background-color: #0032A0;}
.play-pause-buttons {
	position: absolute;
	top: calc(100% - 3.25em);
	left: calc(100% - 3.25em);
	z-index: 1;
}

.play-pause-buttons button:after {content: none;}
.play-pause-buttons #pauseRotator:before, .play-pause-buttons #playRotator:before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	height: 1.25rem;
	width: 1.25rem;
	position: absolute;
	display: block;
	top: 50%;
	right: 50%;
	left: auto;
	transform: translate(50%, -50%);
	border: 0;
}

.play-pause-buttons #playRotator {display: none;}
.play-pause-buttons #pauseRotator:before {background-image: url(/images/pause.svg);}
.play-pause-buttons #playRotator:before {background-image: url(/images/play.svg);}


/* pagination */
#pagination {
	display: flex;
	justify-content: center;
	margin-top: 3.75em;
}

#pagination .wrapper {
	background: #FFFFFF;
	border: 1px solid #D6D2C4;
	border-radius: 1.5625em;
	display: flex;
	justify-content: center;
}

#pagination .wrapper > * {
	display: block;
	padding: 0 0.5em;
	min-width: 3.125em;
	text-align: center;
	color: var(--Q-Tran-blue);
	font-weight: 700;
	line-height: 3.125em;
	flex-shrink: 0;
}

#pagination .wrapper > .on {
	color: var(--dark-grey);
	pointer-events: none;
	background: #F3F2F0;
}

#pagination .wrapper > *:is(:hover, :focus-visible) {
	color: var(--dark-grey);
}

#pagination .prev {
	background: url(/images/pagination-prev.svg) no-repeat center;
}

#pagination .next {
	background: url(/images/pagination-next.svg) no-repeat center;
}

#pagination :is(.prev, .next):not(.diabled):is(:hover, :focus-visible) {
	filter: brightness(0);
}

#pagination .disabled {
	pointer-events: none;
	filter: grayscale(1);
	opacity: 0.4;
}

.pagination {
	font-size: .95em;
	text-align: right
}

main > .product-category .product-list .pagination a {
	margin: 0.1875rem;
	width: 2.5rem;
	height: 2.5rem;
	display: inline-block;
	color: var(--bright-blue);
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--bright-blue);
	text-align: center;
	line-height: 2.5rem;
	font-size: 1.25rem
}

main > .product-category .product-list .pagination a:hover {
	background: var(--Q-Tran-blue);
	color: #fff;
	border-color: var(--Q-Tran-blue)
}

main > .product-category .product-list .pagination a.on {
	background: var(--bright-blue);
	color: #fff;
	box-shadow: inset 0 0 0 1px var(--bright-blue)
}

.breadcrumb a {
	font-size: 0.75rem;
	color: var(--light-grey);
	display: inline-block
}

.breadcrumb a:after {
	content: "\00A0\00A0\203A\00A0";
}

.breadcrumb a:hover {
	color: var(--Q-Tran-blue);
}

/* page header */
.pageHeader {
	width: 100%;
	height: auto;
	margin-bottom: 2em
}

/* alert */
#alertApp {
	background: var(--yellow);
	cursor: pointer;
	position: relative;
	width: 100%;
	padding: .5rem 2.5rem;
	z-index: 1;
}

#alertApp:not(.alertStatic):hover {
	background: #F4CE08;
}

#alertApp.alertStatic {
	cursor: default;
}

#alertApp h1 {
	color: #0032A0;
	font-size: .9375rem;
	line-height: 1.25rem;
	margin: 0 auto;
	padding: .1875rem .3125rem;
	text-align: center;
}

#alertApp:hover h1,#alertApp.expand h1 {
	color: #0032A0;
}

#alertApp #alertDesc {
	height: 0;
	overflow: hidden;
}

#alertApp p {
	color: var(--dark-grey);
	font-size: .9375rem;
	line-height: 1.5;
	margin: 0;
	padding: .5rem 0 .75rem;
	position: relative;
	text-align: center;
	z-index: 1;
}

/* management overrides */
#wysiwygBody {
	background: #fff
}

/* management table */
hr+.manage {
	margin-top: -1em
}

.manage {
	border-bottom: 1px solid rgba(0,0,0,.2);
	width: 100%;
	line-height: 1.3em
}

.manage th {
	border-bottom: 1px solid rgba(0,0,0,.2);
	text-align: left
}

.manage th.right {
	text-align: right
}

.manage th.sort {
	cursor: pointer
}

.manage th.sort img {
	margin-left: 5px
}

.manage th img {
	position: relative;
	bottom: -2px
}

.manage td,.manage th {
	padding: 5px 5px 5px 0
}

.manage td:first-child {
	padding-left: .8em
}

.manage img.preload {
	display: none;
	position: absolute;
	z-index: 9900;
	top: 0;
	border: solid 1px #fff
}

.manage td.icons img {
	margin-left: 5px;
	position: relative;
	bottom: -2px
}

.manage td:first-child.icons img {
	margin-left: 0
}

.manage td:first-child.icons {
	padding-left: 3px;
	padding-right: 3px
}

.manage td:nth-child(2) {
	overflow-wrap: break-word;
	word-wrap: break-word;
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.manage td.icons a:first-child img {
	margin-left: 0
}

.manage td.icons input {
	position: relative;
	bottom: 2px;
	margin-left: 5px
}

.manage .hidden {
	font-style: italic;
	color: #900
}

.manageButton {
	text-align: right;
	padding: 10px 0
}

.alternate tbody tr:nth-child(even), .even {
	background: #fff
}

.alternate tbody tr:nth-child(odd), .odd {
	background: var(--light-greige)
}

.manage+hr, .manage+.manageLinks+hr {
	margin-top: 50px
}

.manageLinks {
	margin-top: 10px
}

.manageLinks a {
	white-space: nowrap
}

.content p.manageLinks a {
	padding: 0.75em 1.25em;
	display: inline-block;
	line-height: 1em;
	font-size: 0.875em;
	font-weight: 600;
}

.manageLinks a img {
	position: relative;
	bottom: -2px
}

.manageLinks button {
	margin-left: 5px
}

.manageButtons {
	text-align: right;
	padding: 10px 0
}

.wsReturnToButton {
	float: right;
	margin-left: 0.25em;
	font-size: 0.875em
}

.manage.rightFirstChild td:first-child {
	text-align: right
}

.sortRow th {
	cursor: pointer
}

.manageEllipsis {
	width: 200px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: inline-block
}


.blue-ribbon h2 {
	color: var(--Q-Tran-blue);
}

.blue-ribbon h2 a {
	color: var(--dark-blue);
}

.blue-ribbon :is(.icon-link.arrow) {
	background: var(--Q-Tran-blue);
}

.blue-ribbon :is(.icon-link.arrow):is(:hover, :focus-visible) {
	background: var(--dark-blue);
}

#welcome {
	background: #fff;
}

#welcome.blue {
	background: var(--light-greige);
}

.background-video-container {
	position: relative;
	overflow: hidden
}

.landing-page-image .background-video-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden
}

.background-video-container video {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	object-fit: cover;
}

.background-video-container video::-webkit-media-controls {
	display: none !important;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
	.background-video-container video {
		height: auto;
		width: auto;
		min-width: 100%;
		min-width: 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%)
	}
}

.technical-table td, main > .product-page #technical-downloads table tr th, main > .product-page #technical-downloads table tr td {
	padding: 0.35rem 1rem;
	line-height: 1.5rem
}

.technical-table td:first-child, main > .product-page #technical-downloads table tr th:first-child {
	font-weight: 700;
	white-space: nowrap;
	font-family: Helvetica Neue, Helvetica,sans-serif;
	color: var(--dark-grey)
}

main > .product-page #technical-downloads table tr td:first-child {
	font-weight: 700;
	white-space: nowrap;
	font-family: Helvetica Neue, Helvetica,sans-serif;
	color: var(--dark-grey)
}

main > .technical-downloads .download-list .technical-downloads-wrapper .icon-links a:before {
    content: "";
    display: block;
    height: 1em;
    position: absolute;
    transition: ease all 200ms;
    width: 1em;
}

main > .technical-downloads .download-list .technical-downloads-wrapper .icon-links a.pdf:before {
    background: url(/images/icon-link-pdf.svg) no-repeat center / contain;
}

main > .technical-downloads .download-list .technical-downloads-wrapper .icon-links a.file:before {
    background: url(/images/icon-link-file.svg) no-repeat center / contain;
}

main > .technical-downloads .download-list .technical-downloads-wrapper .icon-links a.three-d:before {
    background: url(/images/icon-link-3d.svg) no-repeat center / contain;
}

main > .technical-downloads .download-list .technical-downloads-wrapper .icon-links a.external-link:before {
    background: url(/images/icon-link-external-link.svg) no-repeat center / contain;
}

main > .technical-downloads .download-list .technical-downloads-wrapper .icon-links a.right-arrow:before {
    background: url(/images/icon-link-right-arrow.svg) no-repeat center / contain;
}

#compatibility .table-overflow + .table-overflow {
	padding-top: 3em;
	margin-top: 3em;
	border-top: 1px solid #c1c6c8;
}

#compatibility .table-overflow table {
	width: 100%;
	font-size: 0.875rem;
	color: var(--dark-grey);
	letter-spacing: 0;
	line-height: 1.25rem;
}

#compatibility .table-overflow table tbody tr:nth-child(even) {
	background: var(--light-greige)
}

#compatibility .table-overflow table th {
	padding: 1em 0.25rem;
	background: #fff;
	font-size: 0.875rem;
	text-align: center;
	font-weight: 700
}

#compatibility .table-overflow table th .button {
	display: block;
	padding: 0.75em;
	letter-spacing: 0;
	font-size: 1rem;
	text-transform: none;
	text-align: center;
	border: 1px solid #0032A0
}

#compatibility .table-overflow table th .button:hover {
	background: var(--bright-blue);
	border-color: var(--bright-blue);
	color: #fff
}

#compatibility .table-overflow table th .button:before, #compatibility .table-overflow table th .button:after {
	display: none;
}

#compatibility .table-overflow table td {
	padding: 0.25rem 0.125rem;
	font-size: 0.75rem;
	position: relative;
	min-width: 1.25rem;
	text-align: center;
}

#compatibility .table-overflow table td:first-child {
	width: 6.25rem
}

#compatibility .table-overflow table td:first-child, #compatibility .table-overflow table td:first-child a {
	font-weight: 700;
	text-align: left;
	color: var(--dark-grey);
}

#compatibility .table-overflow table td:first-child a:hover {
	color: var(--bright-blue)
}

#compatibility .table-overflow table td span {
	display: block;
}

#compatibility .table-overflow table td span:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#compatibility .table-overflow table td span.green-square:before {
	background: url(/images/products/compatibility-chart-square.svg) no-repeat center
}

#compatibility .table-overflow table td span.green-diamond:before {
	background: url(/images/products/compatibility-chart-diamond.svg) no-repeat center
}

#compatibility .table-overflow table td span.green-check:before {
	background: url(/images/products/compatibility-chart-check.svg) no-repeat center
}

#compatibility .table-overflow table td span.green-dot:before {
	background: url(/images/products/compatibility-chart-dot.svg) no-repeat center
}

#compatibility .table-overflow table td span.red-x:before {
	background: url(/images/products/compatibility-chart-x.svg) no-repeat center
}

#compatibility .legend {
	padding: 2em 0 0 11.5%;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

#compatibility .table-overflow.scroll .legend {
	padding: 2em 0 0;
	min-width: 63.4375rem
}

#compatibility .legend .option {
	width: 33%;
	display: block;
	font-size: 0.875rem;
	color: var(--dark-grey);
	letter-spacing: 0;
	line-height: 1.25rem;
}

#compatibility .legend .option span {
	display: inline-block;
	vertical-align: text-bottom;
	width: 1.25rem;
	height: 1.25rem
}

#compatibility .legend .option span.green-square {
	background: url(/images/products/compatibility-chart-square.svg) no-repeat center
}

#compatibility .legend .option span.green-diamond {
	background: url(/images/products/compatibility-chart-diamond.svg) no-repeat center
}

#compatibility .legend .option span.green-check {
	background: url(/images/products/compatibility-chart-check.svg) no-repeat center
}

#compatibility .legend .option span.green-dot {
	background: url(/images/products/compatibility-chart-dot.svg) no-repeat center
}

#compatibility .legend .option span.red-x {
	background: url(/images/products/compatibility-chart-x.svg) no-repeat center
}


/* video popover: product page */
main > .product-page #product-top .product-images .thumbnails .thumb.has-video {
	position: relative;
}

main > .product-page #product-top .product-images .thumbnails .thumb.has-video:after {
	content: "";
	display: block;
	top:0; 
	left:0;
	width: 100%;
	height: 100%;
	background: rgba(0,17,47,0.50) url(/images/thumbnail-play.svg) no-repeat center / 40% auto;
	position: absolute;
	transition: ease all 200ms;
}

#video-popover {
	align-content: center;
	align-items: center;
	background: rgba(12,22,34,.95);
	display: flex;
	height: 100%;
	justify-content: center;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 3;	
}

#video-popover.active {
	opacity: 1;
	pointer-events: all;
	transition: ease all 200ms;
}

#video-popover .close {
	display: block;
	padding: 0;
	border: 0;
	position: fixed;
	right: 30px;
	top: 30px;
	z-index: 10060;
	margin-top: -14px;
	margin-right: -14px;
	height: 44px;
	width: 44px;
	line-height: 44px;
	font-family: Arial, Baskerville, monospace;
	color: #fff;
	font-size: 3rem;
}

#video-popover .close:is(:hover, :focus-visible) {
	opacity: 0.7;
}

#video-popover .close:before,
#video-popover .close:after {
	display: none;
}

#video-popover .popover-wrapper {
	max-height: calc(100vh - 2rem);
	max-width: 70rem;
	overflow: auto;
	position: relative;
	width: 100%;
	z-index: 2;
}

#video-popover .mask {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  }

.content .personal-motto, .team-member .personal-motto {
	padding: 1em;
	border-left: 4px solid #D9E1E2;
	border-bottom: 4px solid #D9E1E2;
	color: #101820;
}

.content .personal-motto strong, .team-member .personal-motto strong {
	color: #0032A0
}

.twoFactorTable.wsManagementLogin {
	margin: 1.875rem 0 3.75rem
}

.twoFactorTable.wsManagementLogin td:first-child {
	text-align: left
}

#content #Feedback ul li:before {
	display: none
}

main > .video-resources .category .video-wrapper .video .videoContainer {
	margin-bottom: 0.5em
}

main > .video-resources .three-col-wrapper .sidebar-filters .search-videos {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-end;
	-ms-flex-line-pack: end;
	align-content: flex-end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
}

main > .video-resources .three-col-wrapper .sidebar-filters .search-videos input[type=text] {
	width: calc(100% - 3.25rem);
	height: 2.5rem;
	padding: 0 .5em;
	background: #fff;
	border: 1px solid #0032a0;
	font-size: .875rem;
	color: #4c585d
}

main > .video-resources .three-col-wrapper .sidebar-filters .search-videos input[type=text]:focus {
	border-color: #2065ff
}

main > .video-resources .three-col-wrapper .sidebar-filters .search-videos input[type=submit] {
	width: 2.9375rem;
	height: 2.5rem;
	border: 1px solid #0032a0;
	background: url(/images/blog/blog-search.svg) no-repeat center #0032a0
}

main > .video-resources .three-col-wrapper .sidebar-filters .search-videos input[type=submit]:hover {
	border-color: #2065ff;
	background-color: #2065ff
}

main > .video-resources .three-col-wrapper .sidebar-filters .search-videos label {
	display: block;
	font-weight: 700;
	margin: 0 0 .5em;
}

main > .video-resources .three-col-wrapper .sidebar-filters .search-videos label>span {
	display: block;
	font-size: .9em;
	font-weight: 400;
	line-height: 1.3;
}

main > .video-resources .sidebar-filters .filter-group ul li label {
	color: var(--grey);
}

#hero .hero-slider.srcset-slider .slick-slide div img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
.play-pause-video {
    background: var(--Q-Tran-blue);
	box-shadow: 0 0 0 1px var(--Q-Tran-blue);
	border: 0;
    border-radius: 50%;
    height: 2.5rem;
    padding: 0;
    position: absolute;
    width: 2.5rem;
    z-index: 8;
}
.play-pause-video:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-image: url(../../images/icons/circle-pause.svg);
}
.play-pause-video.is-paused:before {
	background-image: url(../../images/icons/circle-play.svg);
}
.play-pause-video:after {
	content: none;
}
  

.content .products .product {
	padding:0;
}

.content .products .product:before {
	display: none;
}

main > .blog .top {
	padding: 0
}

main > .blog .top .wrap {
	position: relative;
	padding: 0;
	z-index: 1;
}

main > .blog .top h1 {
	margin: 0;
	line-height: 1em
}

main > .blog .intro-text .wrap {
	margin: 0 auto;
	padding: 0 1.5rem 3em;
}

main > .blog .bottom .blog-articles .article-conatiner ul, section.videos ul {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

main > .blog .bottom .blog-articles .article-conatiner ul li, section.videos ul li {
	line-height: 1.125em;
	text-align: left
}

main > .blog .bottom .blog-articles .article-conatiner ul li.featured, main > .blog .bottom .blog-articles .article-conatiner ul li:first-child {
	width: 100%
}

main > .blog .bottom .blog-articles .article-conatiner ul li article a {
	display: block;
	position: relative;
}

main > .blog .bottom .blog-articles .article-conatiner ul li article .blog-image {
	margin-bottom: 0.75em;
	position: relative;
	z-index: 1;
	padding-bottom: 52.976190476%;
	background-size: cover;
	background-position: center;
	border-radius: var(--border-radius);
}

main > .blog .bottom .blog-articles .article-conatiner ul li article .blog-image:before {
	content: "";
	transition: ease all 200ms;
	z-index: 1;
	position: absolute;
	opacity: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #101820;
	border-radius: var(--border-radius);
}

main > .blog .bottom .blog-articles .article-conatiner ul li article .blog-image .time-to-read {
	position: absolute;
	z-index: 2;
	bottom: 0.3125rem;
	left: 0.5rem;
	font-size: 0.6875rem;
	color: #FFFFFF;
	letter-spacing: 0;
}

main > .blog .bottom .blog-articles .article-conatiner ul li article .blog-image .time-to-read:after {
	content: "";
	padding-left: 1.0625rem;
	margin-left: 0.5em;
	background: url(/images/blog/white-arrow.svg) no-repeat center
}

main > .blog .bottom .blog-articles .article-conatiner ul li article h1 {
	margin: 0;
	position: relative;
	z-index: 2;
	line-height: 1em;
	color: #101820;
}

main > .blog .bottom .blog-articles .article-conatiner ul li article time, section.videos ul li time {
	font-weight: 700;
	display: block;
	font-size: 0.6875rem;
	color: var(--light-grey);
	text-transform: uppercase;
}

main .videos-container :is(h2, h3) {
	text-align: left;
}

main .videos-container span.featured-video {
	font-size: 12px;
	font-weight: 700;
	text-align: left;
	text-transform: uppercase;
	display: block;
	margin-top: 1.125rem;
}

main .videos-container h2 {
	font-size: 2.1875rem;
	font-weight: 700;
	color: #1B2734;
}

main .videos-container .videos h2 {
	font-size: 1.875rem;
	font-weight: 700;
	color: #2065FF;
	margin-bottom: 1.875rem;
}

main .videos h3 {
	font-weight: 700;
	font-size: 1rem;
	color: #1B2734;
	margin-top: .5rem;
}

main .videos-container hr {
	margin: 2.8125rem 0;
}

main .video-resources .videos-container .videos {
	border-bottom: 1px solid #C1C6C8;
	margin-bottom: 3.75rem;
}

main .videos-container .videos + hr {
	margin: 0 0 3.75rem 0;
}

.interior main > .blog h1 span {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
}

.interior main > .blog .videos h2, main > .interior-videos .videos h2 {
	color: #1B2734;
}

.blog .videos .blog-image:after {
	content: "";
	background: url(/images/icons/play.svg) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	width: 3.5625rem;
	height: 2rem;
}

main > .blog .blog-single-post .bottom .blog-post > article > header {
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid #C1C6C8
}

main > .blog .blog-single-post .bottom .blog-post > article > header h1 {
	line-height: 1em;
	margin-bottom: 0.75rem
}

main > .blog .blog-single-post .bottom .blog-post > article > header .details .byline {
	font-weight: 600;
	font-size: 0.6875rem;
	color: var(--light-grey);
	text-transform: uppercase;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

main > .blog .blog-single-post .bottom .blog-post > article > header .details .byline span {
	display: inline-block;
}

main > .blog .blog-single-post .bottom .blog-post > article > header .details .byline .time-to-read:before {
	content: "";
	padding-left: 0.75rem;
	margin-right: 0.5em;
	background: url(/images/blog/time-to-read-clock.svg) no-repeat center left
}

main > .blog .blog-single-post .bottom .blog-post > article .social-links {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

main > .blog .blog-single-post .bottom .blog-post > article .social-links a {
	width: 2.125rem;
	height: 1.5rem
}

main > .blog .blog-single-post .bottom .blog-post > article .social-links a:hover {
	opacity: 0.5
}

main > .blog .blog-single-post .bottom .blog-post > article .social-links .facebook {
	background: url(/images/blog/social-facebook.svg) no-repeat center
}

main > .blog .blog-single-post .bottom .blog-post > article .social-links .twitter {
	background: url(/images/blog/social-twitter.svg) no-repeat center
}

main > .blog .blog-single-post .bottom .blog-post > article .social-links .instagram {
	background: url(/images/blog/social-instagram.svg) no-repeat center
}

main > .blog .blog-single-post .bottom .blog-post > article .social-links .linkedin {
	background: url(/images/blog/social-linkedin.svg) no-repeat center
}

main > .blog .blog-single-post .bottom .blog-post > article .content img:not(.photo-right):not(.photoleft) {
	max-width: 100%;
	height: auto
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors {
	clear: both;
	margin-top: 2em;
	width: 100%;
	float: left;
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors h2 {
	font-size: 0.6875rem;
	line-height: 1em;
	color: var(--grey);
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors .author {
	margin-top: 0.875rem;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors .author .author-image {
	width: 12%;
	min-width: 12%;
	padding-bottom: 12%;
	border-radius: 50%;
	background-size: cover;
	background-position: center
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors .author .brief {
	width: 88%;
	padding: 0.5rem 1.125rem 0
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors .author .brief:only-child {
	padding-left: 0
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors .author .brief h3 {
	margin: 0;
	color: #101820;
	line-height: 1em
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors .author .brief .position {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.8125rem;
	color: var(--grey);
	letter-spacing: 0;
}

main > .blog .blog-single-post .bottom .blog-post > article > .about-the-authors .author .brief p {
	font-size: 0.8125rem;
	margin: 0;
	color: var(--grey);
	letter-spacing: 0;
	line-height: 1.1875rem;
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments {
	float: left;
	clear: both;
	width: 100%;
	margin-top: 2.5rem;
	padding-top: 1.5625rem;
	border-top: 1px solid #C1C6C8;
	font-size: 0.8125rem;
	color: var(--grey);
	letter-spacing: 0;
	line-height: 1.375rem;
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comments-header {
	margin-bottom: 1.875rem;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments h2 {
	font-size: 0.75rem;
	line-height: 1em;
	color: var(--grey);
	margin: 0
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments h2 span {
	color: #0032A0
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments input, main > .blog .blog-single-post .bottom .blog-post > article > #comments textarea {
	margin-bottom: 0.75rem;
	outline: none;
	width: 100%;
	font-size: 0.8125rem;
	color: var(--grey);
	letter-spacing: 0;
	line-height: 1.375rem;
	background: #fff;
	border: 1px solid var(--greige);
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments input:focus, main > .blog .blog-single-post .bottom .blog-post > article > #comments textarea:focus {
	border-color: #C1C6C8
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments input {
	height: 2.75rem;
	padding: 0 1rem
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments textarea {
	height: 2.75rem;
	max-width: 100%;
	min-width: 100%;
	transition: ease all 400ms;
	overflow: hidden;
	line-height: 2.75rem;
	padding: 0 1rem;
	appearance: none
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments textarea.active {
	height: 7.1875rem;
	line-height: 1.125rem;
	padding: 0.75rem 1rem
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments label {
	font-weight: 600;
	font-size: 0.6875rem;
	color: #101820;
	letter-spacing: 0;
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments button {
	font-size: 0.875rem;
	text-transform: none;
	padding: 0 2em;
	line-height: 2.75rem
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments button.reply {
	padding: 0;
	border: 0;
	background: none;
	line-height: 1em;
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments button.reply:hover {
	color: var(--bright-blue);
	background: none
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .more-form-fields {
	display: none;
	margin-bottom: 3.625rem
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive {
	margin-top: 1.375rem;
	line-height: 1.125rem;
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row {
	padding: 1.5em 1.125em;
	background: #fff;
	border: 1px solid var(--greige);
	border-left: 3px solid #D9E1E2
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row + .comment-row {
	border-top: 0
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row .comment.reply {
	padding-left: 2.5rem
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row .comment header {
	margin-bottom: 0.35em;
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row .comment header h1 {
	font-size: 0.8125rem;
	margin: 0;
	display: inline-block;
	color: var(--grey)
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row .comment header time:before {
	content: "|";
	margin: 0 0.5em
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row .reply {
	font-size: 0.75rem;
	margin-bottom: 1em
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row .add-a-comment {
	display: none
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .comment-archive .comment-row .add-a-comment .more-form-fields {
	margin: 0
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .load-more-comments {
	margin-top: 1.25rem;
}

main > .blog .blog-single-post .bottom .blog-post > article > #comments .load-more-comments button {
	width: 100%
}

main > .blog .bottom .blog-sidebar .title {
	display: block;
	font-weight: 600;
	line-height: 1em;
	font-size: 1rem;
	color: var(--grey);
	letter-spacing: -0.25px;
}

main > .blog .bottom .blog-sidebar form:not(.filters) {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-end;
	-ms-flex-line-pack: end;
	align-content: flex-end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
}

main > .blog .bottom .blog-sidebar form:not(.filters) .title {
	margin: 0
}

main > .blog .bottom .blog-sidebar label {
	display: block
}

main > .blog .bottom .blog-sidebar input:not([type="checkbox"]) {
	margin-top: 0.65em;
}

main > .blog .bottom .blog-sidebar input:not([type="submit"]):not([type="checkbox"]) {
	width: calc(100% - 3.25rem);
	height: 2.5rem;
	padding: 0 0.5em;
	background: #FFFFFF;
	border: 1px solid #0032A0;
	border-radius: var(--border-radius);
	font-size: 0.875rem;
	color: var(--grey);
}

main > .blog .bottom .blog-sidebar input[type="submit"] {
	width: 2.9375rem;
	height: 2.5rem;
	border: 1px solid #0032A0;
	border-radius: var(--border-radius);
}

main > .blog .bottom .blog-sidebar ::-webkit-input-placeholder {
	color: var(--grey);
	opacity: 1
}

main > .blog .bottom .blog-sidebar ::-moz-placeholder {
	color: var(--grey);
	opacity: 1
}

main > .blog .bottom .blog-sidebar :-ms-input-placeholder {
	color: var(--grey);
	opacity: 1
}

main > .blog .bottom .blog-sidebar :-moz-placeholder {
	color: var(--grey);
	opacity: 1
}

main > .blog .bottom .blog-sidebar #blog-search-form input[type="submit"] {
	background: url(/images/blog/blog-search.svg) no-repeat center #0032A0
}

main > .blog .bottom .blog-sidebar #blog-subscribe p {
	font-size: 0.875rem;
	line-height: 1.35em;
	margin: 0
}

main > .blog .bottom .blog-sidebar #blog-subscribe .title {
	margin-bottom: 0.4em;
}

main > .blog .bottom .blog-sidebar #blog-subscribe input[type="submit"] {
	background: url(/images/blog/blog-subscribe.svg) no-repeat center #0032A0
}

main > .blog .bottom .blog-sidebar #blog-subscribe label {
	font-size: 0.8125rem;
	color: var(--grey);
	letter-spacing: 0;
	line-height: 0.875rem;
}

main > .blog .bottom .blog-sidebar .title {
	margin-bottom: 0.5em
}

main > .blog .bottom .blog-sidebar .app-download-links {
	margin-top: 0.725rem;
	text-align: center;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	justify-content: center;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
}

main > .blog .bottom .blog-sidebar .app-download-links div {
	display: block;
	max-width: 12em;
	padding: 1em;
}

main > .blog .bottom .blog-sidebar .app-download-links div > img {
	background: #fff;
  	border-radius: var(--border-radius);
	padding: 0.5em;
}

main > .blog .bottom .blog-sidebar .app-download-links a {
	display: block;
	width: 100%;
	color: #0032a0;
	font-weight: 700;
	font-size: 0.6875rem;
}

main > .blog .bottom .blog-sidebar .app-download-links img {
	margin: 0 0 .25rem;
	max-width: 100%;
}

main > .blog .bottom .blog-sidebar .app-download-links a + a {
	margin-left: 0.5em
}

main > .blog .bottom .blog-sidebar .app-download-links a img {
	display: block;
	margin: 0 auto 0.5em
}

main > .blog .bottom .blog-sidebar ul {
	margin: 0;
}

main > .blog .bottom .blog-sidebar ul li {
	font-size: 0.875rem;
	color: var(--dark-grey);
	letter-spacing: 0;
}

main > .blog .bottom .blog-sidebar ul li + li {
	margin-top: 0.125em
}

main > .blog .bottom .blog-sidebar ul li label {
	position: relative;
	cursor: pointer;
	padding-left: 1.5em
}

main > .blog .bottom .blog-sidebar ul li label.on {
	color: var(--bright-blue)
}

main > .blog .bottom .blog-sidebar ul li input {
	position: absolute;
	left: 0.25em;
	top: 0.375rem;
	margin: 0
}

main > .blog .bottom .blog-sidebar ul li a {
	color: var(--Q-Tran-blue);
}

main > .blog .bottom .blog-sidebar ul li a:hover {
	color: var(--dark-blue);
}

main .search-brochures {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	width: 100%;
}

main .search-brochures label {
    color: var(--grey);
    display: block;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.25px;
    line-height: 1em;
}

main .search-brochures input[type=search] {
    background: #FFFFFF;
    border: 1px solid #0032A0;
	border-radius: var(--border-radius);
    color: var(--grey);
    font-size: 0.875rem;
    height: 2.5rem;
	margin-top: 0.65em;
    padding: 0 0.5em;
    width: calc(100% - 3.25rem);
}

main .search-brochures input[type=submit] {
    background: url(/images/blog/blog-search.svg) no-repeat center #0032A0;
    border: 1px solid #0032A0;
	border-radius: var(--border-radius);
    height: 2.5rem;
    width: 2.9375rem;
}

main .apps-landing-page .bottom {
	padding-bottom: 3em
}

main .apps-landing-page .bottom #appList {
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

main .apps-landing-page .bottom #appList li {
	line-height: 1.125em;
	text-align: left;
	border: 1px solid var(--greige);
	border-radius: var(--border-radius);
	overflow: hidden;
}

main .apps-landing-page .bottom #appList li a {
	background: #fff;
	display: block;
	position: relative;
}

main .apps-landing-page .bottom #appList li a .blog-image {
	position: relative;
	z-index: 1;
	padding-bottom: 52.976190476%;
	background-size: cover;
	background-position: center;
}

main .apps-landing-page .bottom #appList li a .blog-image:before {
	content: "";
	transition: ease all 200ms;
	z-index: 1;
	position: absolute;
	opacity: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: #101820;
}

main .apps-landing-page .bottom #appList li a .category-title {
	padding: 1.5rem;
	transition: ease all 200ms;
	background: var(--bright-blue)
}

main .apps-landing-page .bottom #appList li a .category-brief {
	padding: 1.5rem;
	transition: ease all 200ms;
	background: var(--light-greige)
}

main .apps-landing-page .bottom #appList li a:hover .category-brief {
	box-shadow: inset 0 1px 0 0 rgba(255,255,255,0.125);
	background: var(--Q-Tran-blue);
	color: #fff
}

main .apps-landing-page .bottom #appList li a .category-brief p {
	margin: 0;
	color: var(--dark-grey)
}

main .apps-landing-page .bottom #appList li a:hover .category-brief p {
	color: #fff
}

main .apps-landing-page .bottom #appList li a:hover .category-title {
	background: var(--Q-Tran-blue)
}

main .apps-landing-page .bottom #appList li a .category-title .small-title {
	letter-spacing: 0;
	color: #ececec
}

main .apps-landing-page .bottom #appList li a .category-title h2 {
	margin: 0;
	position: relative;
	z-index: 2;
	line-height: 1em;
	color: #ffffff;
	padding-right: 2rem
}

main .apps-landing-page .bottom #appList li a:hover .category-title h2 {
	color: #fff
}

main .apps-landing-page .bottom #appList li a .category-title h2:after {
	content: "";
	display: block;
	width: 2.375rem;
	min-width: 2.375rem;
	height: 2.375rem;
	border: 1px solid #0032A0;
	background: url(/images/button-arrow.svg) no-repeat center;
	position: absolute;
	top: -3px;
	right: 0;
	filter: invert(99%) sepia(47%) saturate(0%) hue-rotate(226deg) brightness(109%) contrast(100%);
}

main .apps-landing-page .bottom #appList li .app-download-links {
	margin-top: 0.725rem;
	text-align: center;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	justify-content: center;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
}

main .apps-landing-page .bottom #appList li .app-download-links div {
	display: block;
	max-width: 10em;
	width: 50%;
	padding: 1em;
}

main .apps-landing-page .bottom #appList li .app-download-links a {
	display: block;
	width: 100%;
	color: #0032a0;
	font-weight: 700;
	font-size: 0.6875rem;
}

main .apps-landing-page .bottom #appList li .app-download-links img {
	margin: 0 0 .25rem;
	max-width: 100%;
}

main .apps-landing-page .bottom #appList li .app-download-links a:hover {
	border-color: var(--bright-blue);
	transform: translateY(-2px);
	box-shadow: 0 5px 10px 0 #D4E0FB;
}

main .apps-landing-page .bottom #appList li .app-download-links a + a {
	margin-left: 0.5em
}

main .apps-landing-page .bottom #appList li .app-download-links a img {
	display: block;
	margin: 0 auto 0.5em
}

ul.products .product a .category-image img {
	width: 100%;
	height: auto;
	display: block;
}








/* HOMEPAGE ------------------------------ */
#featured-items {
    position: relative;
    text-align: center;
}

#featured-items .heading {
    align-items: flex-end;
    display: flex;
    flex: 1 1 auto;
	flex-wrap: wrap;
    justify-content: center;
	min-height: 10vh;
	padding-top: 1em;
}

:is(.about-us, .landing-page) #featured-items #rotator:not(.slick-initialized) + .rotator-controls,
:is(.about-us, .landing-page) #testimonials #testimonial-rotator:not(.slick-initialized) + .rotator-controls {
    display: none;
}

#featured-items #rotator {
    flex: 1 1 auto;
}

#featured-items .heading h2 {
    margin-bottom: 0;
}

#instagram-feed {
	overflow: visible;
	width: 100%;
}

#instagram-feed:before,
#instagram-feed:after,
#instagram-feed .crt-logo {
	display: none;
}

#instagram-feed .crt-grid-post[aria-label*=Powered],
#instagram-feed .crt-grid-post[aria-label*=Curator] {
	display: none;
}

#table-comparison {
    color: #fff;
    text-align: center;
}

#table-comparison .wrap {
    margin: 0 auto;
    max-width: 90em;
}

#table-comparison .heading {
    height:auto !important
}

#table-comparison h2 {
    color:#fff;
    margin: 0;
}

#table-comparison h2:after {
    border-top: 0.1563rem solid var(--red);
    content: "";
    display: block;
    margin:  1em auto;
    transition: ease all 1s;
    transition-delay: 1s;
    width: 0;
}

#table-comparison .play h2:after {
    width: 100%;
}

#table-comparison h3 {
    color: #fff;
    font-size: clamp(1.125em, 1.034em + 0.45vw, 1.375em);
    margin: 0;
    text-transform: uppercase;
}

#table-comparison h3 a {
    color: #fff;
}

#table-comparison figure {
    margin: 0;
	padding: 0 1em;
}

#table-comparison .row > ul > li {
    font-size: clamp(1em, 0.955em + 0.23vw, 1.125em);
}

#table-comparison .row > ul > li li {
    font-size: 0.875em;
}

#table-comparison .row > ul > li li a {
    color:#fff;
}



/* PRODUCT CONFIGURATOR LANDING PAGE ------------------------------ */
.landing-page #product-configurators {
    background: var(--red);
    color: #fff;
    text-align: center;
}

.landing-page #product-configurators {
    background: var(--red);
    color: #fff;
    text-align: center;
}

.landing-page #how-it-works + #testimonials {
    background: var(--greige);
}

.configurator-links {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1rem, 0.682rem + 1.59vw, 1.875rem);
    justify-content: center;
    margin: clamp(1.875rem, 1.239rem + 3.18vw, 3.625rem) auto 0;
    max-width: 73.125em;
}

.configurator-links a {
    align-items: center;
    border-radius: var(--border-radius);
    color:#fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    padding: 1em;
}

.configurator-links .icon {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 1em;
    max-width: 75%;
    position: relative;
    width: 100%;
}

.configurator-links .icon img {
    height: auto;
    max-width: 100%;
}

.configurator-links h3 {
    color: #fff;
    font-size: 1.125em;
    text-transform: uppercase;
}

.configurator-links p {
    margin: 0;
    line-height: 1.25em;
}

.how-it-works-steps {
    counter-reset: numbered-steps;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.how-it-works-steps li {
    counter-increment: numbered-steps;
    font-size: 1.125em;
    line-height: 1.35em;
    margin: 0;
    max-width: 15.75em;
    padding: 0;
}

.how-it-works-steps li .icon {
    align-items: center;
    aspect-ratio: 2/1;
    display: flex;
    justify-content: center;
    margin-bottom: 2em;
    position: relative;
}

.how-it-works-steps li .icon img {
    height: auto;
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    width: auto;
}
.how-it-works-steps li span:before {
    color: var(--Q-Tran-blue);
    content: counter(numbered-steps)".";
    display: block;
    font-size: clamp(1.5rem, 0.977rem + 2.61vw, 2.938rem);
    font-weight: 700;
    margin-bottom: 0.35em;
}


/* ABOUT PAGE & LANDING PAGE ------------------------------ */

:is(.about-us, .landing-page) .image-value-points {
	margin: 0;
}

:is(.about-us, .landing-page) #featured-items .image-value-points {
	margin: 40px auto;
}

:is(.about-us, .landing-page) .image-value-points li {
	align-items: center;
    display: flex;
    flex-direction: column;
}

:is(.about-us, .landing-page) .image-value-points .icon-container {
    align-content: center;
    align-items: center;
    display: flex;
    justify-content: center;
}

:is(.about-us, .landing-page) .image-value-points .icon-container img {
    height: 100%;
    max-width: 100%;
    width: auto;
}

:is(.about-us, .landing-page) #featured-items .image-value-points .icon-container {
    align-items: flex-end;
    display: flex;
    height: auto;
    justify-content: center;
    margin-bottom: 1em;
	min-height: 10rem;
	width: 100%;
}

:is(.about-us, .landing-page) #featured-items .image-value-points .icon-container img {
    display: block;
    height: auto;
    max-height: 10rem;
    max-width: 10rem;
    width: auto;
}

:is(.about-us, .landing-page) .image-value-points span {
	display: block;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem); /* 16 - 18px */
	line-height: 1.25em;
}

:is(.about-us, .landing-page) #featured-items .image-value-points .heading {
    display: block;
    margin-bottom: 1rem;
    min-height: 0;
    padding: 0;
	flex: 0 0 auto;
}

:is(.about-us, .landing-page) #featured-items .image-value-points span:not(.icon-link) {
    color: var(--Q-Tran-blue);
}


:is(.about-us, .landing-page) .image-value-points.large span {
	color: var(--Q-Tran-blue);
}

:is(.about-us, .landing-page) .image-value-points .heading {
	color: var(--Q-Tran-blue);
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem); /* 18 - 24px */
	font-weight:700;
	line-height: 1.25em;
}

:is(.about-us, .landing-page) #qtl-promise {
    background: var(--Q-Tran-blue);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

:is(.about-us, .landing-page) #qtl-promise .wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
}


:is(.about-us, .landing-page) #qtl-promise h2 {
	color: #fff;
	margin: 0;
}

:is(.about-us, .landing-page) #qtl-promise .red-line {
	display: flex;
	justify-content: center;
	position: relative;
	height: 2.9375rem;
	width: 100%;
}

:is(.about-us, .landing-page) #qtl-promise .red-line:before {
    border-top: 0.1563rem solid var(--red);
    content: "";
    display: block;
    left: 0;
    opacity: 1;
    position: absolute;
    position: relative;
    transform: none;
    transition: ease all 1s;
    transition-delay: 3s;
    width: 0;
	z-index: 1;
	top: calc(50% - 1px);
}

:is(.about-us, .landing-page) #qtl-promise .red-line.play:before {
	width: 100%;
}

:is(.about-us, .landing-page) #qtl-promise .handshake {
    align-items: center;
    display: flex;
    height: 2.9375rem;
    justify-content: center;
    position: absolute;
    width: 4.75rem;
}

:is(.about-us, .landing-page) #qtl-promise :is(.hand-left, .hand-right) {
	position: absolute;
    width: 3.8125rem; 
	height: 3.0625rem;
	transition: all 1.5s cubic-bezier( 0.79, 0.33, 0.13, 0.98 );
	transition-delay: 0.5s;
	opacity: 0;
}

:is(.about-us, .landing-page) #qtl-promise :is(.hand-left, .hand-right):before {
	background: var(--Q-Tran-blue);
	content: "";
	position: absolute;
    width: 100%; 
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	transition-delay: 1.5s;
}

:is(.about-us, .landing-page) #qtl-promise .play :is(.hand-left, .hand-right):before {
	opacity: 1;
}

:is(.about-us, .landing-page) #qtl-promise .play :is(.hand-left, .hand-right) {
	opacity: 1;
}

:is(.about-us, .landing-page) #qtl-promise .hand-left {
	background: url(/images/icons/blue-handshake_blue-hand-left.svg) no-repeat center;
	left:-80px;
}

:is(.about-us, .landing-page) #qtl-promise .play .hand-left {
	left:-15px;
}

:is(.about-us, .landing-page) #qtl-promise .hand-right {
	background: url(/images/icons/blue-handshake_blue-hand-right.svg) no-repeat center;
	right: -80px;
}

:is(.about-us, .landing-page) #qtl-promise .play .hand-right {
	right: -15px;
}

:is(.about-us, .landing-page) #qtl-promise .complete {
    background: url(/images/icons/blue-handshake.svg) no-repeat center / contain;
    content: "";
    display: block;
    width: 100%;
	height: 100%;
    position: absolute;
	top: 0;
	left:0;
	opacity: 0;
	z-index: 2;
}

:is(.about-us, .landing-page) #qtl-promise .complete {
    animation: handshake-complete 2s cubic-bezier(0.79, 0.33, 0.07, 0.98);
    animation-delay: 2s;
    animation-duration: 1s;
    animation-play-state: paused;
    background: url(/images/icons/blue-handshake.svg) no-repeat center;
    content: "";
    display: block;
    height: 60px;
    left: 50%;
    opacity: 0;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition-delay: 1.5s;
    width: 120px;
}

:is(.about-us, .landing-page) #qtl-promise .play .complete {
	animation-play-state: running;
	opacity: 1;
}

:is(.about-us, .landing-page) #qtl-promise .handshake:before,
:is(.about-us, .landing-page) #qtl-promise .handshake:after {
    content: "";
    display: block;
    height: 18px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 100px;
	opacity: 0;
}

:is(.about-us, .landing-page) #qtl-promise .play .handshake:before,
:is(.about-us, .landing-page) #qtl-promise .play .handshake:after {
    animation-play-state: running;
}

:is(.about-us, .landing-page) #qtl-promise .handshake:before {
	background: url(/images/icons/blue-handshake_hand-shake-complete-top.svg) no-repeat center top;
    animation: handshake-top-lines 0.5s ease;
    animation-delay: 1.5s;
    animation-duration: 1s;
    animation-play-state: paused;
	top: -20px;
}

:is(.about-us, .landing-page) #qtl-promise .handshake:after {
	background: url(/images/icons/blue-handshake_hand-shake-complete-bottom.svg) no-repeat center bottom;
    animation: handshake-bottom-lines 0.5s ease;
    animation-delay: 1.5s;
    animation-duration: 1s;
    animation-play-state: paused;
	bottom: -22px;
}

@keyframes handshake-top-lines {
	0% {
		opacity: 0;
		top: -20px;
	}
	50% {
		opacity: 0.5;
	}
	100% {
		opacity: 0;
		top: -25px;
	}
}

@keyframes handshake-bottom-lines {
	0% {
		opacity: 0;
		bottom: -28px;
	}
	50% {
		opacity: 0.5;
	}
	100% {
		opacity: 0;
		bottom: -33px;
	}
}

@keyframes handshake-complete {
	0% {
		top: 50%;
	}
	25% {
		top:70%;
	}
	50% {
		top:30%;
	}
	75% {
		top:70%;
	}
	100% {
		top:50%;
	}
}

:is(.about-us, .landing-page) #qtl-promise p {
	font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
}

:is(.about-us, .landing-page) #qtl-promise p:last-child {
	margin: 0;
}

:is(.about-us, .landing-page) .content-over-image {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

:is(.about-us, .landing-page) .content-over-image .background-image,
:is(.about-us, .landing-page) .content-over-image .background-image img {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

:is(.about-us, .landing-page) .content-over-image .background-image:after {
    background: linear-gradient(0deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.70) 84%);
    content:"";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

:is(.about-us, .landing-page) .content-over-image .wrap {
	max-width: 71.5625rem;
	position: relative;
	z-index: 2;
}

:is(.about-us, .landing-page) .content-over-image .wrap p {
	color:#fff;
	font-weight: 700;
	font-size:clamp(1.5rem, 0.977rem + 2.61vw, 2.938rem); /* 24 - 47px */
	line-height: 1.25em;
	margin: 0;
}

:is(.about-us, .landing-page) #testimonials h2 {
    margin-bottom: 1rem;
}

:is(.about-us, .landing-page) #testimonial-rotator {
	color:#fff;
	font-weight: 700;
	font-size:clamp(1.5rem, 0.977rem + 2.61vw, 2.938rem); /* 24 - 47px */
	line-height: 1.25em;
	margin: 40px 0;
}

:is(.about-us, .landing-page) #testimonials #testimonial-rotator:not(.slick-initialized) {
    display: flex;
}


.testimonial-block {
    align-items: flex-start;
    color:#101820;
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    font-weight: 400;
    gap: 1.25rem;
    line-height: 1.45em;
    text-align: left;
}

.testimonial-block img {
    aspect-ratio: 440 / 233;
    border-radius: var(--border-radius);
    display: block;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.testimonial-block .title {
    color: var(--Q-Tran-blue);
    display: block;
    font-size: clamp(1.25rem, -1.563rem + 3.13vw, 1.563rem);
    font-weight: 600;
    line-height: 1.1em;
    width: 100%;
}

.testimonial-block .title + p {
    margin-top: -0.75em;
}

.testimonial-block .blockquote,
.testimonial-block blockquote {
    /* background: url(/images/blue-quotes.svg) no-repeat 0.625rem 0; */
    background: none;
    float: none;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.45em;;
    margin: 0;
    max-width: 100%;
    /* padding: 0 1.25rem 0 2.5rem; */
    padding: 0;
    text-align: left;
}

.testimonial-block p,
.testimonial-block footer {
	text-align: left;
}

.testimonial-block .blockquote p:last-child,
.testimonial-block blockquote p:last-child {
    margin: 0;
}

.testimonial-block > p:last-of-type {
    margin-bottom: 0;
}

.testimonial-block .blockquote .footer,
.testimonial-block blockquote footer {
    color: var(--Q-Tran-blue);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25em;
    margin: 0;
}

.testimonial-block blockquote .icon-link {
    margin-top: 1em;
}

:is(.about-us, .landing-page) #our-values {
    background: var(--greige);
}

:is(.about-us, .landing-page) #our-values .wrap {
    max-width: 100vw;
}

:is(.about-us, .landing-page) #our-values h2 {
    border-bottom: 0.1563rem solid var(--red);
    padding-bottom: 0.5em;
}

:is(.about-us, .landing-page) #contact h2 {
    text-align: center;
}

:is(.about-us, .landing-page) #contact h2 span {
    display: block;
}

:is(.about-us, .landing-page) #contact h3 {
    text-align: center;
}

:is(.about-us, .landing-page) #contact h3 em {
    display: block;
    font-weight: 400;
}

:is(.about-us, .landing-page) #contact form > *:last-child {
    display: flex;
    justify-content: center;
}

:is(.about-us, .landing-page) #featured-items .value-points {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.875rem;
    text-align: center;
}

:is(.about-us, .landing-page) #featured-items .value-points {
	line-height: 1.25em;
}

:is(.about-us, .landing-page) #featured-items .value-points .image-container {
    align-items: flex-end;
    display: flex;
    justify-content: center;
    margin-bottom: 1em;
}

:is(.about-us, .landing-page) #featured-items .value-points .image-container img {
    display: block;
    height: auto;
    max-height: 10rem;
    max-width: 10rem;
    width: auto;
}

.image-blocks {
	display: flex;
	gap: 1.875rem;
	margin-top: clamp(1.875rem, 1.239rem + 3.18vw, 3.625rem);
}

.image-blocks .image-container {
    aspect-ratio: 1/1;
    border-radius: var(--border-radius);
    margin: 0 auto 1.25em;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.image-blocks .image-container img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;left: 0;
    width: 100%;
}

.image-blocks :is(h2, h3),
:is(.about-us, .landing-page) .image-blocks  :is(h2, h3) {
    text-transform: uppercase;
	font-size: 1.25em;
	font-weight: 600;
	color: var(--dark-grey);
	margin-bottom: 0.25em;
}

.image-blocks p {
	font-size: 0.875rem;
	line-height: 1.25rem;
}

#lighting-applications {
	color: #fff;
}

#lighting-applications h2 {
	color: #fff;
}

#lighting-applications .blue-links {
    display: flex;
    flex-wrap: wrap;
    gap:clamp(1rem, 0.682rem + 1.59vw, 1.875rem);
    justify-content: center;
    margin: clamp(1.875rem, 1.239rem + 3.18vw, 3.625rem) 0 0;
}

#lighting-applications .blue-links a {
    align-items: center;
    aspect-ratio: 1.1;
    background: var(--Q-Tran-blue);
    border-radius: var(--border-radius);
    color:#fff;
    display: flex;
    flex-direction: column;
    font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
    font-weight: 600;
    gap: 1em;
    justify-content: center;
}

#lighting-applications.green-bg .blue-links a {
    background: var(--sustainable-green);
}

#lighting-applications .blue-links a .icon-container {
    aspect-ratio: 1/1;
    max-width: 8.75rem;
    /*opacity: 0.4;*/
    overflow: hidden;
    position: relative;
	transition: all 200ms ease;
    width: 100%;
}

#lighting-applications .blue-links a .icon-container img {
    height: 100%;
    object-fit: contain;
    object-position: center;
    position: absolute;
    top: 0;left: 0;
    width: 100%;
}

#lighting-applications .blue-links a span:after {
    content: "";
	padding-left: 1.125rem;
	background: url(/images/link-arrow-yellow.svg) no-repeat center;
	margin-left: 0.5rem;
	transition: 200ms;
}

.about-page .top .wrap .text-container :is(h1, .heading-1) {
	font-weight: 700;
}

.about-page .top .wrap .text-container .heading-1 {
	flex-wrap: wrap;
}

.about-page .top .wrap .text-container .heading-1,
.about-page .top .wrap .text-container .heading-1 span {
	color: var(--Q-Tran-blue);
	display: flex;
	text-transform: uppercase;
}

.about-page .top .wrap .text-container .heading-1 span:last-child {
	font-weight: 400;
}

.about-page .top .wrap .text-container .heading-1 span span {
	font-size: 0.5em;
	font-weight: 400;
	position: relative;
	top: -0.25em;
}

.about-page .image-and-text-callouts .wrap ul li .image img {
	aspect-ratio: 552 / 356;
	object-fit: cover;
}

.about-page .image-and-text-callouts .wrap :is(ul, .callouts) {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 1fr;
}

.about-page .image-and-text-callouts .wrap :is(ul, .callouts) :is(li, .callout) {
    background: #fff;
    border: 1px solid var(--greige);
    border-radius: var(--border-radius);
}

.about-page .image-and-text-callouts .wrap .callouts .callout {
    display: flex;
	flex-direction: column;
	height: 100%;
}

.about-page .image-and-text-callouts .wrap :is(ul, .callouts) :is(li, .callout) .image {
	background: var(--dark-blue);
    border-radius: calc(var(--border-radius) - 1px) calc(var(--border-radius) - 1px) 0 0;
	aspect-ratio: 16/9;
    overflow: hidden;
    position: relative;
}

.about-page .image-and-text-callouts .wrap :is(ul, .callouts) :is(li, .callout) .image img {
    display: block;
    height: 100%;
	object-fit: cover;
	object-position: center;
    width: 100%;
	will-change: transform;
    transition: 3s cubic-bezier( 0.55, 0.54, 0.08, 1 );
}

.about-page .image-and-text-callouts .wrap a:is(:hover, :focus-visible) .image img {
    transform: scale(1.25);
}

.about-page .image-and-text-callouts .wrap .callouts .callout-content,
.about-page .image-and-text-callouts .wrap ul li p {
    padding: 1rem 0.875rem;
}

.about-page .image-and-text-callouts .wrap .callouts:last-child {
	padding-bottom: 4em;
}

.about-page .image-and-text-callouts .wrap .callouts .callout-content {
	align-items: flex-start;
    display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.about-page .image-and-text-callouts .wrap .callouts .callout-content h3 {
    color: var(--Q-Tran-blue);
}

.about-page .image-and-text-callouts .wrap .callouts .callout-content .sub-title{
	color: var(--grey);
    display: block;
	font-weight: 700;
	font-size: 1.125rem;
	margin: -1rem 0 10px;
}

.about-page .image-and-text-callouts .wrap .callouts .callout-content > .button {
    margin-top: auto;
}

.about-page .image-and-text-callouts .wrap :is(ul, .callouts) :is(li, .callout) p {
	color: var(--dark-grey);
    line-height: 1.5em;
	margin-bottom: 1.5em;
}

.about-page .image-and-text-callouts .wrap .callouts a:is(:hover, :focus-visible) .callout-content :is(button, .button, button.white, .button.white, input[type="submit"], input[type="button"], .content .arrow-button) {
	background: var(--dark-blue);
	color: #fff;
}

.about-page .image-and-text-callouts .wrap .callouts :is(:hover, :focus-visible) .callout-content :is(button, .button, button.white, .button.white, input[type="submit"], input[type="button"], .content .arrow-button):after {
	margin-left: 1em;
}

#timeline .skip-link {
	position: absolute;
	z-index: 1;
	bottom: 1em;
	opacity: 0;
	pointer-events: none;
}

#timeline .skip-link.show {
	opacity: 1;
	pointer-events: all;
	transition: ease all 1s;
	transition-delay: 4.5s;
}

#timeline .skip-link .button {
	display: flex;
	justify-content: center;
	align-items: center;
	gap:1em;
}

#timeline .skip-link .button:after {
	height: 1em;
	width: 2em;
	margin:0 -1em;
}

#timeline .skip-link.up {
	left:1em;
}

#timeline .skip-link.up span {
	order:2;
}

#timeline .skip-link.up .button:after {
	order:1;
	transform: rotate(-90deg);
}

#timeline .skip-link.down {
	right:1em;
}

#timeline .skip-link.down .button:after {
	transform: rotate(90deg);
}

.team-header {
	background-color: #fff;
	background-position: center;
	background-size: cover;
	text-align: center;
	position: relative;
}

.team-header .toggle-buttons {
	position: absolute;
	bottom:0;
	transform: translateY(50%);
	width: 100%;
	display: flex;
	justify-content: center;
}

.team-header .toggle-buttons button:after {
	display: none;
}

.team-header .toggle-buttons.active button.active {
	background: var(--Q-Tran-blue);
	color:#fff;
	transform: scale(1.1);
}

.team-header .toggle-buttons.active button {
	transform: scale(0.9);
}

.team-container {
    border-top: 1px solid var(--red);
}

.team-members li .member-info h2 {
    color: var(--dark-grey);
    font-size: 1.375rem;
    line-height: 1em;
    margin-bottom: 0.125em;
}

.team-members li .member-info .position {
    color: var(--light-grey);
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0;
    line-height: 1.25em;
    margin-bottom: 0.875em;
	text-transform: uppercase;
}

.team-members li .member-info p {
    color: var(--grey);
    font-size: 0.875rem;
    line-height: 1.5em;
    margin: 0;
}

.team-members li .contact-links {
    align-content: center;
    align-items: center;
    border-top: 1px solid var(--greige);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0.5em 0.875em;
}

.team-members li .contact-links a {
    color: var(--light-grey);
    display: inline-block;
    font-size: 0.75rem;
	text-transform: uppercase;
    padding-left: 1.25em;
}

.team-members li .contact-links a:is(:hover, :focus-visible) {
    color: var(--bright-blue);
}

.team-members li .contact-links a.phone {
    background: url(/images/link-icon-phone.svg) no-repeat center left;
    margin-right: 1em;
}

.team-members li .contact-links a.email {
    background: url(/images/link-icon-email.svg) no-repeat center left;
}



/* GRID RIBBONS ------------------------------ */

/* Media */
.grid .media {
    height: 100%;
    left:0;
    position: absolute;
    top:0;
    width: 100%;
    z-index: 1;
}

.grid .media :is(.video, .image) {
    height: 100%;
    left:0;
    overflow: hidden;
    position: absolute;
    top:0;
    width: 100%;
}

.grid .media .video :is(video, iframe) {
	border:0;
    height: auto;
    left:50%;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top:50%;
    transform: translate(-50%, -50%);
    width: auto;
}
.grid .media .image img {
    height: auto;
    height: 100%;
    left:0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top:0;
    width: 100%;
}

/* hero rotator */
.grid .media :is(.slick-slider, .slick-list, .slick-track, .slick-slide, .slick-slide div) {
    height: 100% !important;
    left:0 !important;
    position: absolute !important;
    top:0 !important;
    width: 100% !important;
	z-index: 1;
}

#hero.grid.module-header .imageGrow img {
    transform: none;
}

.grid .media .slick-autoplay-toggle-button {
	display: none;
}

/* video header */
.grid.video-header:after {
    background: #000;
    content: "";
    display: block;
    inset: 0;
    opacity: 0.5;
    pointer-events: none;
    position: absolute;
    transition: ease all 200ms;
    z-index: 2;
}

.grid.video-header.playing:after {
    opacity: 0;
}

.grid.video-header .center {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.75em;
    text-align: center;
    transition: ease all 200ms;
    width: 100%;
    z-index: 3;
}

.grid.video-header.playing .center {
    opacity: 0;
    pointer-events: none;
}

.grid.video-header .featured-video-title {
    color: #fff;
    font-weight:700;
    line-height: 1em;
	margin: 0;
}

.grid.video-header p {
    color: #fff;
}

.grid.video-header .additional-links {
    display: flex;
  	gap: 1.4375rem;
}

.grid.video-header .icon-link {
	box-shadow: 0 2px 50px 10px rgba(0,0,0,0.50);
}

.grid.video-header .background-image {
    height: 100%;
    left:0;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    position: absolute;
    top:0;
    width: 100%;
}

#video {
    background: rgba(0,0,0,.9);
    height: 100%;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: ease all 200ms;
    width: 100%;
    z-index: 99;
}

body.video-active {
    overflow: hidden;
}

.video-active #video {
    opacity: 1;
    pointer-events: all;
}

#video .mask {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1;
}

#video .close {
    color: #fff;
    cursor: pointer;
    font-size: 3em;
    line-height: 1em;
    padding: 0 1rem;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    transition: ease all 200ms;
    z-index: 1;
}

#video .close:hover {
    opacity: .5;
}

.management #video .close {
    top: 2.1875rem;
}

#video .center {
    align-content: center;
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    padding: 3rem 1em;
    position: relative;
    width: 100%;
    z-index: 2;
}

#video .center .videoWrapper {
    align-content: center;
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: relative;
    width: 100%;
}

#video .center .videoWrapper video,
#video .center .videoWrapper iframe {
    border: 1px solid #333;
    display: block;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}


/* Ribbon Content and Captions */
.grid :is(.ribbon-content, .caption) {
    display: flex;
    flex-direction: column;
    z-index: 3;
}

.caption.top-left,
.caption.bottom-left,
.grid .ribbon-content.text-align-left  {
	align-items: flex-start;
}

.caption.top-right,
.caption.bottom-right,
.grid .ribbon-content.text-align-right  {
	align-items: flex-end;
}

.grid .ribbon-content.text-align-center  {
	align-items: center;
}

.grid:has(.media) :is(.caption, .ribbon-content) {
    position: relative;
    z-index: 3;
	transition: ease all 200ms;
}

.caption.with-border {
    padding: 0.25rem 0.75rem;
	border-left: 1px solid var(--red);
}

.caption.with-border[class*=right] {
	border-left:0;
	border-right: 1px solid var(--red);
}

.caption.with-border .text-suisse {
    margin:0;
}

.grid .caption p {
	margin:0;
}

.grid .ribbon-content {
    align-items: flex-start;
}

.grid .ribbon-content.text-align-right {
    align-items: flex-end;
}

.grid .subtext {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap:0.5em 2em;
}

.grid .subtext strong:empty {
	display: none;
}

.grid .subtext .icon-link.arrow {
	margin-top: 0;
}


/* Gradient Overlays */

.grid:has(.gradient.greige) .caption {
	overflow: visible;
}

.grid:has(.gradient.greige) .caption span {
	position: relative;
	z-index: 2;
}

.grid:has(.caption) .gradient + .media:before {
    content:"";
    display: block;
    height: 50%;
    opacity: 0.6;
    position: absolute;
    width: 50%;
    z-index: 3;
}
.grid:has(.caption.top-left) .gradient + .media:before {
    left:0;
    top: 0;
}
.grid:has(.caption.top-right) .gradient + .media:before {
    right:0;
    top: 0;
}
.grid:has(.caption.bottom-left) .gradient + .media:before {
    left:0;
    bottom: 0;
}
.grid:has(.caption.bottom-right) .gradient + .media:before {
    right:0;
    bottom: 0;
}
.grid:has(.caption.top-left) .gradient.greige + .media:before {background-image: linear-gradient(153deg, #E8E6DF 16%, rgba(246,246,246,0.40) 33%, rgba(221,221,221,0.00) 45%, rgba(0,0,0,0.00) 45%);}
.grid:has(.caption.top-left) .gradient.white + .media:before {background-image: linear-gradient(153deg, rgba(255,255,255,0.8) 16%, rgba(255,255,255,0.40) 33%, rgba(255,255,255,0.00) 45%, rgba(0,0,0,0.00) 45%);}
.grid:has(.caption.top-left) .gradient.black + .media:before {background-image: linear-gradient(153deg, rgba(0,0,0,0.8) 16%, rgba(0,0,0,0.40) 33%, rgba(0,0,0,0.00) 45%, rgba(0,0,0,0.00) 45%);}
.grid:has(.caption.top-right) .gradient.greige + .media:before {background-image: linear-gradient(223deg, #E8E6DF 16%, rgba(246,246,246,0.40) 33%, rgba(221,221,221,0.00) 40%, rgba(0,0,0,0.00) 40%);}
.grid:has(.caption.top-right) .gradient.white + .media:before {background-image: linear-gradient(223deg, rgba(255,255,255,0.8) 16%, rgba(255,255,255,0.40) 33%, rgba(255,255,255,0.00) 40%, rgba(0,0,0,0.00) 40%);}
.grid:has(.caption.top-right) .gradient.black + .media:before {background-image: linear-gradient(223deg, rgba(0,0,0,0.8) 16%, rgba(0,0,0,0.40) 33%, rgba(0,0,0,0.00) 40%, rgba(0,0,0,0.00) 40%);}
.grid:has(.caption.bottom-left) .gradient.greige + .media:before {background-image: linear-gradient(34deg, #E8E6DF 16%, rgba(246,246,246,0.40) 33%, rgba(221,221,221,0.00) 45%, rgba(0,0,0,0.00) 45%);}
.grid:has(.caption.bottom-left) .gradient.white + .media:before {background-image: linear-gradient(34deg, rgba(255,255,255,0.8) 16%, rgba(255,255,255,0.40) 33%, rgba(255,255,255,0.00) 45%, rgba(0,0,0,0.00) 45%);}
.grid:has(.caption.bottom-left) .gradient.black + .media:before {background-image: linear-gradient(34deg, rgba(0,0,0,0.8) 16%, rgba(0,0,0,0.40) 33%, rgba(0,0,0,0.00) 45%, rgba(0,0,0,0.00) 45%);}
.grid:has(.caption.bottom-right) .gradient.greige + .media:before {background-image: linear-gradient(326deg, #E8E6DF 16%, rgba(246,246,246,0.40) 33%, rgba(221,221,221,0.00) 45%, rgba(0,0,0,0.00) 45%);}
.grid:has(.caption.bottom-right) .gradient.white + .media:before {background-image: linear-gradient(326deg, rgba(255,255,255,0.8) 16%, rgba(255,255,255,0.40) 33%, rgba(255,255,255,0.00) 45%, rgba(0,0,0,0.00) 45%);}
.grid:has(.caption.bottom-right) .gradient.black + .media:before {background-image: linear-gradient(326deg, rgba(0,0,0,0.8) 16%, rgba(0,0,0,0.40) 33%, rgba(0,0,0,0.00) 45%, rgba(0,0,0,0.00) 45%);}



/* DARK RIBBON ------------------------------ */
.dark-ribbon {
    position: relative;
}

.dark-ribbon:before {
    background: linear-gradient(0deg, rgba(0,0,0,0.00) 0, rgba(0,0,0,0.60) 100%);
    content: "";
    display: block;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2;
}

.dark-ribbon:has(.caption.bottom-left, .caption.bottom-right):after {
    background: linear-gradient(180deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.60) 100%);
    content: "";
    display: block;
    height: calc(var(--header-height) + 5em);
    left: 0;
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 1;
}

.dark-ribbon :is(.caption.bottom-left, .caption.bottom-right) {
    position: relative;
    z-index: 3;
}



/* TIMELINE ------------------------------ */
#timeline #timeline-wrapper {
	display: flex;
	overflow-x: scroll;
	overflow-y: hidden;
	scrollbar-width: none;
	align-content: stretch;
	align-items: stretch;
	justify-content: stretch;
}

body:not(.MAC) #timeline #timeline-wrapper {
	scroll-behavior: smooth;
}

#timeline #timeline-wrapper::-webkit-scrollbar {
	display: none;
}



/* COOKIE NOTIFICATION ------------------------------ */
#cookie-notification {
    background:#1B2734;
    bottom:0;
    box-shadow: 0 -20px 20px 0 #fff, 0 -100px 100px 0 rgba(255,255,255,0.5);
    color:#fff;
    left:0;
    padding: 2em;
    position: fixed;
    width:100%;
    z-index:999;
}

#cookie-notification .wrap {
    margin: 0 auto;
    max-width: 68.75em;
}

#cookie-notification span {
	color:#fff;
	display: block;
    margin:0;
}

#cookie-notification span a {
    color:#fff;
    text-decoration: underline;
    text-decoration-color: var(--yellow);
	display: inline-block;
}

#cookie-notification span a:is(:hover,:focus) {
    text-decoration-color: var(--bright-blue);
}

#cookie-notification button {
    border: 1px solid rgba(255,255,255,0.125);
	margin-left:1em;
}

main > .sub-category .landing-page-image #image-fader,
main > .sub-category .landing-page-image #image-fader .slick-list,
main > .sub-category .landing-page-image #image-fader .slick-track {
    height: 100%;
    left:0;
    overflow: hidden;
    position: absolute;
    top:0;
    width: 100%;
}

main > .sub-category .landing-page-image #image-fader .slick-slide > div {
    height: 100%;
    position: relative;
}

main > .sub-category .landing-page-image #image-fader .slick-slide img {
    height: 100%;
    left:0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top:0;
    width: 100%;
}

main > .sub-category .landing-page-image #image-fader .slick-dots {
	background: linear-gradient(180deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.50) 100%);
	position: absolute; 
	bottom:0;
	left:0;
	width: 100%;
	margin:0;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.25rem;
	gap:0.625rem;
}

main > .sub-category .landing-page-image #image-fader .slick-dots li {
	display: inline-block
}

main > .sub-category .landing-page-image #image-fader .slick-dots button {
    background:#fff;
    border:0;
    border-radius: 50%;
    box-shadow:0 0 0 1px #D9E1E2;
    display: block;
    height: 0.5rem;
    overflow:hidden;
    padding:0;
    text-indent: -62.5rem;
    width: 0.5rem;
}

main > .sub-category .landing-page-image #image-fader .slick-dots button:before,
main > .sub-category .landing-page-image #image-fader .slick-dots button:after {
	display: none;
}

main > .sub-category .landing-page-image #image-fader .slick-dots .slick-active button {
	background: var(--Q-Tran-blue); 
}

main > .sub-category .landing-page-image .play-pause-buttons {
    left: calc(100% - 2.125rem);
    top: calc(100% - 2.125rem);
}

main > .sub-category .landing-page-image .play-pause-buttons button {
    height: 2.125rem;
    padding: 0;
    width: 2.125rem;
}

main > .sub-category .landing-page-image .play-pause-buttons #pauseRotator::before, 
main > .sub-category .landing-page-image .play-pause-buttons #playRotator::before { 
    background-size: 75% auto;
}

main > .sub-category #product-examples {
	background: #fff;
	text-align: center;
	margin:3em 0;
}

main > .sub-category #product-examples .wrap {
	position: relative;
}

main > .sub-category #product-examples h2 {
	margin-bottom: 1em;
	text-transform: uppercase;
}

main > .sub-category #product-examples .slide {
    line-height: 1.1875rem;
    padding: 0 0.75rem;
    text-align: left;
}

main > .sub-category #product-examples .slide .example-image {
    aspect-ratio: 16/11;
    border-radius: var(--border-radius);
    margin-bottom: 0.625rem;
    overflow: hidden;
    position: relative;
}

main > .sub-category #product-examples .slide .example-image img {
    height: 100%;
    left:0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top:0;
    width: 100%;
}

main > .sub-category #product-examples .slide .title {
    color: var(--Q-Tran-blue);
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    text-align: left;
}

main > .sub-category #product-examples .slick-arrow {
    position: absolute;
	top:0;
	height: 100%;
	border: 0;
	text-indent: -99999vw;
}

main > .sub-category #product-examples .slick-arrow:before,
main > .sub-category #product-examples .slick-arrow:after {
    display: none;
}

main > .sub-category #product-examples .slick-prev {
    background: url(/images/icons/slick-prev.svg) no-repeat center;
	left:0;
}

main > .sub-category #product-examples .slick-next {
    background: url(/images/icons/slick-next.svg) no-repeat center;
    right:0;
}


/* LC Products Login Section ------------------------------ */
.content .lc-customer-info {
	display: flex;
	flex-wrap: wrap;
}

.content .lc-customer-info li:empty {
	display: none;
}

.content .account-login {
    background:#fff;
    box-shadow: 0 40px 100px 0 rgba(0,0,0,0.15);
    margin: 2.5em auto;
    max-width: 30.5em;
    padding: 2em;
}






/* Filters ------------------------------ */

main #filter-options .selected-filters {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}

main #filter-options .selected-filters > * {
    background: var(--greige);
    border: 0;
    color: var(--dark-grey);
    display: flex;
    font-size: 0.875rem;
    font-weight: 400;
    gap:0.25em;
    letter-spacing: 0;
    line-height: 1em;
    margin: 0;
    padding: 0.625rem 0.9375rem;
    text-align: left;
    text-transform: none;
}

main #filter-options .selected-filters > *:is(:hover, :focus-visible) {
    background: none;
    box-shadow: inset 0 0 0 1px var(--greige);
}

main #filter-options .selected-filters > *:before {
    display: none;
}

main #filter-options .selected-filters > *:after {
    background: url(/images/remove-filter.svg) no-repeat center;
    border: 0;
    bottom: auto;
    display: inline;
    left: auto;
    margin-left: 0.5em;
    padding-right: 1em;
    position: relative;
}

main #filter-options .selected-filters .clear-all {
    background: none;
    text-decoration: underline;
}

main #filter-options .selected-filters .clear-all:before {
    display: none;
}

main #filter-options .selected-filters .clear-all:after {
    display: none;
}

.filters .filter-group label.on {
	color: var(--bright-blue);
}





/* Page Bottom (blog, case studies, portfolio, video gallery) ------------------------------ */
.page-bottom .page-bottom-header {
    padding: var(--padding);
}

.page-bottom .page-bottom-header h1 {
    margin: 0;
    text-align: center;
    text-transform: uppercase;
}

.page-bottom .page-bottom-sidebar .container {
	display: flex;
	flex-direction: column;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#search-form, #blog-subscribe) {
	position: relative;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#search-form, #blog-subscribe) :is([type=text], [type=email]) {
	width: 100%;
	background: #FFFFFF;
	border: 1px solid #D6D2C4;
	border-radius: 1.5625em;
	height: 3.125em;
	padding: 0 2.875em 0 1.4375em;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#search-form, #blog-subscribe) ::-webkit-input-placeholder {
	font-weight: 700;
	color: var(--Q-Tran-blue);
	opacity: 1;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#search-form, #blog-subscribe) ::-moz-placeholder {
	font-weight: 700;
	color: var(--Q-Tran-blue);
	opacity: 1;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#search-form, #blog-subscribe) :-ms-input-placeholder {
	font-weight: 700;
	color: var(--Q-Tran-blue);
	opacity: 1;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#search-form, #blog-subscribe) :-moz-placeholder {
	font-weight: 700;
	color: var(--Q-Tran-blue);
	opacity: 1;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#search-form, #blog-subscribe) [type=submit] {
    height: 3.125em;
    padding:0;
    position: absolute;
    right: 0;
    top: 0;
    width: 3.5em;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#search-form) [type=submit] {
    background: url(/images/modules/sidebar-search.svg) no-repeat center;
}

:is(.page-bottom-sidebar, .article-sidebar) :is(#blog-subscribe) [type=submit] {
    background: url(/images/modules/sidebar-paper-plane.svg) no-repeat center;
}

.page-bottom #photo-gallery .main-image .image-container {
    border-radius:var(--border-radius);
    cursor:zoom-in;
    overflow:hidden;
    position:relative;
}

.page-bottom #photo-gallery .main-image .image-container video {
    display: block;
}

.page-bottom #photo-gallery .main-image .image-container #playVideo {
    align-items: center;
    aspect-ratio: 16/9;
    background:  none;
    border-radius: var(--border-radius);
    display: flex;
    justify-content: center;
    max-width: 100%;
    width: 100vw;
    z-index: 1;
}

.page-bottom #photo-gallery .main-image .image-container #playVideo:is(:hover, :focus-visible) {
    background: rgba(0,0,0,0.5);
}

.page-bottom #photo-gallery .main-image .image-container #playVideo:after {
    aspect-ratio: 1/1;
    background: #fff url(/images/icons/PlayButton.svg) no-repeat center / contain;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.75), 0 0 30px 0 rgba(255,255,255,0.5);
    border-radius: 50%;
    display: block;
    filter: none;
    margin: 0;
    max-width: 4.75em;
    min-width: 2em;
    transition: ease all 200ms;
    width: 55%;
}

.page-bottom #photo-gallery .main-image .image-container #playVideo + img {
    height: 100%;
    inset: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    width: 100%;
}

.page-bottom #photo-gallery .main-image .image-container:before {
    background:#fff url(/images/landing/portfolio-zoom.svg) no-repeat center;
    bottom:0;
    content:"";
    display:block;
    height:2.4375rem;
    position:absolute;
    right:0;
    transition:ease all 200ms;
    width:2.4375rem;
    z-index:1;
}

.page-bottom #photo-gallery .thumbnails .thumb {
    aspect-ratio:1/1;
    border-radius:calc(var(--border-radius)/2);
    cursor:pointer;
    overflow:hidden;
    position:relative;
    transition:ease all 200ms;
}


.page-bottom #photo-gallery .thumbnails .video .playVideo {
    align-items: center;
    background:  none;
    border-radius: var(--border-radius);
    display: flex;
    inset:0;
    justify-content: center;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.page-bottom #photo-gallery .thumbnails .video .playVideo:is(:hover, :focus-visible) {
    background: rgba(0,0,0,0.5);
}

.page-bottom #photo-gallery .thumbnails .video .playVideo:after {
    aspect-ratio: 1/1;
    background: #fff url(/images/icons/PlayButton.svg) no-repeat center / contain;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.75), 0 0 30px 0 rgba(255,255,255,0.5);
    border-radius: 50%;
    display: block;
    margin: 0;
    max-width: 3.75em;
    min-width: 2em;
    transition: ease all 200ms;
    width: 55%;
}

.page-bottom #photo-gallery .thumbnails .video .playVideo:is(:hover, :focus-visible):after {
    box-shadow: inset 0 0 0 1px #fff, 0 0 60px 0 rgba(255,255,255,0.75);
}


.page-bottom #photo-gallery .thumbnails .thumb img {
    bottom: 0;
    display:block;
    height:100%;
    left: 0;
    object-fit:cover;
    object-position:center;
    opacity:.4;
    position:absolute;
    right: 0;
    top:0;
    transition:ease all 200ms;
    width:100%;
}

.page-bottom #photo-gallery .thumbnails .thumb.on img {
    opacity:1;
}

#image-popover {
    align-content:center;
    align-items:center;
    background:rgba(0,0,0,.85);
    cursor:zoom-out;
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    height:100%;
    justify-content:center;
    left:0;
    opacity:0;
    padding:1em;
    pointer-events:none;
    position:fixed;
    top:0;
    transition:ease all 200ms;
    width:100%; 
    z-index:99999;
}

#image-popover.image-popover-on {
    opacity:1;  
    pointer-events:all;
}

#image-popover .center {
    display:inline-block;   
    position:relative;
}

#image-popover .center img {
    display:block;
    max-height:85vh;    
    max-width:85vw;
}

#image-popover .center img[src*=svg] {
    background:#fff;
    height:90em;
    max-height:60vh;
    max-width:75vw; 
    padding:1em;
}

@media all and (-ms-high-contrast:none),(-ms-high-contrast:active) {
    #image-popover .center img[src*=svg] {
      margin:0 auto;
    }
}

.page-bottom #brief {
    color: var(--dark-grey);
    width: 100%;
}

.page-bottom #brief:first-child {
    text-align: center;
}

.page-bottom #brief .wrap {
    margin: 0 auto;
    max-width: 56.875rem;
}

.page-bottom #brief .tags {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25em 2.5em;
    justify-content: flex-start;
    margin-bottom: var(--padding);
}

.page-bottom #brief .tags > div {
    font-size: 0.875em;
}

.page-bottom #brief .description {
    text-align: left;
}

.page-bottom #products-used > h2 {
    overflow: hidden;
    text-align: center;
}

.page-bottom #products-used > h2:before {
    border-top: 1px solid var(--red);
    content: '';
    display: inline-block;
    margin-left: calc(-100vw - 1rem);
    margin-right: 1rem;
    vertical-align: middle;
    width: 100vw;
}

.page-bottom #products-used > h2:after {
    border-top: 1px solid var(--red);
    content: '';
    display: inline-block;
    margin-left: 1rem;
    margin-right: calc(-100vw - 1rem);
    vertical-align: middle;
    width: 100vw;
}

.page-bottom #products-used ul.products .product .compare,
.page-bottom #products-used ul.products .product .product-info .view-details {
	display: none;
}

.image-nav {
    display: flex;
}

.image-nav > a {
    aspect-ratio: 690/485;
    border-radius: var(--border-radius);
    display: block;
    overflow: hidden;
    position: relative;
    width: 50%;
}

.image-nav.videos-nav > a {
    aspect-ratio: 690/388;
}

.image-nav > a:before {
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    transition: ease all 200ms;
    width: 100%;
    z-index: 1;
}

.image-nav > a img {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
}

.image-nav div {
    color: #fff;
    display: flex;
    flex-direction: column;
    position: absolute;
    z-index: 2;
	gap:0.6875rem;
}

.image-nav .next div {
     text-align: right;
 }

.image-nav div span {
     display: block;
	 line-height: 1em;
 }

.image-nav .prev span:first-child:before {
     background: url(/images/icons/image-nav-prev.svg) no-repeat center / contain;
     content:"";
     margin-right: 0.5625em;
     padding-left: 1em;
	 transition: ease all 200ms;
 }

.image-nav .next span:first-child:after {
    background: url(/images/icons/image-nav-next.svg) no-repeat center / contain;
    content:"";
    margin-left: 0.5625em;
    padding-left: 1em;
    transition: ease all 200ms;
}

.image-nav span:last-child {
     font-weight: 700;
 }

 .article-layout .image-nav {
    margin: 2em 0;
    padding:0;
    width: 100%;
}

.article-layout .image-nav > a {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.article-layout .image-nav div {
    bottom: auto;
    left: auto;
    position: relative;
    right: auto;
}




/* Flex Block (blog, case studies, portfolio, video gallery) ------------------------------ */
.flex-block {
    display: flex;
    flex-direction: column;
}

.flex-block .image {
    aspect-ratio: 523/278;
	background-size: cover;
	background-position: center;
    border-radius: 0.375em;
    overflow: hidden;
    position: relative;
    width: 100%;
	transition: ease all 200ms;
}

.multi-column-layout.brochure-list .flex-block .image {
    aspect-ratio: 639/827;
}

.flex-block .image:before {
    content:"";
    display: block;
    inset: 0 0 0 0;
    position: absolute;
    transition: ease all 200ms;
}

.video-list .flex-block .image:before {
	inset: unset;
    content: "";
	background: url(/images/icons/play.svg) no-repeat center / contain;
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	width: 3.5625rem;
	height: 2rem;
	opacity: 1;
}

.flex-block .image .time-to-read {
    bottom: 1em;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 600;
    position: absolute;
    transition: all cubic-bezier( 0.55, 0.54, 0.08, 1 ) 0.3s;
    z-index: 1;
}

.flex-block .image .time-to-read:after {
    background: url(/images/link-arrow-white.svg) no-repeat center right / 0.6875rem auto;
    content:"";
    margin-left:0.5rem;
    padding-right: 0.6875rem;
}

.flex-block :is(h1, h2, .title){
    color: var(--Q-Tran-blue);
    display: block;
    font-weight: 600;
    line-height: 1.1em;
    margin:0;
}

.flex-block .text-suisse {
    line-height: 1.6875rem;
	color: var(--grey);
}

.flex-block p {
    color: var(--grey);
	line-height: 1.25em;
}




/* Form Layout (/contact, /sample-request) ------------------------------ */
.form-layout .wrap {
    margin: 0 auto;
    max-width: 63.25em;
}

.form-layout .flex {
    display: flex;
    justify-content: space-between;
	gap: 2em;
}

.form-layout h1 {
    color: var(--Q-Tran-blue);
    margin-bottom: 2.125rem;
    text-align: center;
}

.form-layout :is(h1, h2 span):not(.req):before {
    background: url(/images/icons/contact-title-left.svg) no-repeat center / contain;
    content: "";
    padding-left: 1em;
}

.form-layout :is(h1, h2 span):not(.req):after {
    background: url(/images/icons/contact-title-right.svg) no-repeat center / contain;
    content: "";
    padding-right: 1em;
}

.form-layout h1 .logo {
    aspect-ratio: 1/1;
    background: url(/images/QTL.svg) no-repeat center / contain;
    color: transparent;
    display: inline-block;
    vertical-align: middle;
}

.form-layout h2 {
    color: var(--Q-Tran-blue);
}

.form-layout :is(input, select, textarea):not([type=checkbox], [type=radio], [type=submit]) {
    border-radius:1.4375rem;
	padding-left: 1em;
	padding-right: 1em;
}

.form-layout :is(.button, [type=submit]) {
	border-radius: 10em;
	display: flex;
	justify-content: space-between;
	padding-left: 1.5em;
	padding-right: 1.5em;
	gap: 1em;
	min-width: 10.625rem;
}

.form-layout :is(.button, [type=submit]):after {
    background-image: url(/images/link-arrow-red.svg);
    height: 1em;
    width: 1em;
}

.form-layout .additional-info {
    text-align: center;
}

.form-layout .additional-info a:not(.button) {
    display: block;
}

.form-layout .additional-info a:is([href*="tel"], [href*="mailto"], [href*="maps"], [href*="goo.gl"]):before {
	content:"";
	padding-left: 1em;
	margin-right:0.25em;
}

.form-layout .additional-info [href*="tel"]:before {
	background: url(/images/icons/outline-icon-phone.svg) no-repeat center / contain;
}

.form-layout .additional-info [href*="mailto"]:before {
	background: url(/images/icons/outline-icon-email.svg) no-repeat center / contain;
}

.form-layout .additional-info a:is([href*="maps"], [href*="goo.gl"]):before {
	background: url(/images/icons/outline-icon-address.svg) no-repeat center / contain;
}

.form-layout .captcha {
	display: flex;
  	justify-content: center;
}






/* Article Layout (single blog, single case study) ------------------------------ */
.article-layout .article header {
	padding-bottom: 1.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid rgba(0,0,0,0.125);
}

.article-layout .article header h1 {
	line-height: 1em;
	margin-bottom: 0.75rem
}

.article-layout .article header .blog-image {
    border-radius: var(--border-radius);
    margin-bottom: 1em;
    overflow: hidden;
    position: relative;
}

.article-layout .article header .blog-image #playVideo {
    align-items: center;
    background: none;
    border-radius: var(--border-radius);
    display: flex;
    inset:0;
    justify-content: center;
    position: absolute;
}

.article-layout .article header .blog-image #playVideo:is(:hover, :focus-visible) {
    background: rgba(0,0,0,0.5);
}

.article-layout .article header .blog-image #playVideo:after {
    aspect-ratio: 1/1;
    background: #fff url(/images/icons/PlayButton.svg) no-repeat center / contain;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.75), 0 0 30px 0 rgba(255,255,255,0.5);
    border-radius: 50%;
    display: block;
    filter: none;
    margin: 0;
    transition: ease all 200ms;
    width: 4.5em;
}

.article-layout .article header .blog-image #playVideo:is(:hover, :focus-visible):after {
    box-shadow: inset 0 0 0 1px #fff, 0 0 60px 0 rgba(255,255,255,0.75);
}

.article-layout .article header .blog-image img {
	display: block;
    width: 100%;
}

.article-layout .article header .tags {
    display: grid;
    font-weight: 400;
    gap: 0.25em 2.5em;
    grid-template-columns: repeat(auto-fit, minmax(min(15.625rem, 100%), 1fr));
    padding-top: 1.5rem;
  margin-top: 1.5rem;
  border-top: 1px solid rgba(0,0,0,0.125);
    text-transform: none;
}

.article-layout .article header .tags > div b {
	text-transform: uppercase;
}

.article-layout .article header .text-suisse {
    color: var(--grey);
}

.article-layout .article header .details {
    align-content: center;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.article-layout .article header .byline {
    align-content: center;
    align-items: center;
    color: var(--light-grey);
    display: flex;
    flex-wrap: wrap;
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
}

.article-layout .article header .byline > *:not(:last-child):after {
    color:#c1c6c8;
    content:"|";
    font-weight:400;
    margin:0 .75em;
}

.article-layout .article header .byline span {
    display: inline-block;
}

.article-layout .article header .byline .time-to-read:before {
    background: url(/images/blog/time-to-read-clock.svg) no-repeat center left;
    content: "";
    margin-right: .5em;
    padding-left: .75rem;
}

.article-layout .article header .byline .time-to-read:before {
    background: url(/images/blog/time-to-read-clock.svg) no-repeat center left;
    content: "";
    margin-right: 0.5em;
    padding-left: 0.75rem;
}

.article-layout .article header .social-links {
    align-items: center;
    display: flex;
    justify-content: flex-end;
}

.article-layout .article header .social-links a {
    height: 1.5rem;
    width: 2.125rem;
}

.article-layout .article header .social-links .facebook {
	background: url(/images/blog/social-facebook.svg) no-repeat center
}

.article-layout .article header .social-links .twitter {
	background: url(/images/blog/social-twitter.svg) no-repeat center
}

.article-layout .article header .social-links .instagram {
	background: url(/images/blog/social-instagram.svg) no-repeat center
}

.article-layout .article header .social-links .linkedin {
	background: url(/images/blog/social-linkedin.svg) no-repeat center
}

.article-layout .article header .social-links .email {
	background: url(/images/blog/email.svg) no-repeat center
}

.article-layout .article header .social-links .print {
	background: url(/images/blog/print.svg) no-repeat center
}

.article-layout .article .content img:not(.photo-right):not(.photoleft) {
	max-width: 100%;
	height: auto
}

.article-layout .article-sidebar {
	text-align: center;
}

.article-layout .article-sidebar .title {
    color: var(--dark-grey);
    display: block;
    font-weight: 600;
    line-height: 1.5625em;
    margin-bottom: 0.5625em;
}

.article-layout .article-sidebar .extra-info {
    display: block;
    font-size: 0.875em;
    line-height: 1.25em;
    margin-bottom: 1em;
}

.article-layout .article-sidebar .sidebar-group + .sidebar-group {
    border-top: 1px solid var(--greige);
    margin-top: 1.9375em;
    padding-top: 1.9375em;
}

.article-layout .article-sidebar #products-rotator {
    overflow: hidden;
    position: relative;
}

.article-layout .article-sidebar #products-rotator:not(:has(li:nth-child(2))) {
    padding:0;
}

.article-layout .article-sidebar #products-rotator:not(:has(li:nth-child(2))) [data-glide-el=controls] {
    display: none;
}

.article-layout .article-sidebar #products-rotator [data-glide-el=track] {
    overflow: hidden;
}

.article-layout .article-sidebar #products-rotator [data-glide-el=controls] button:not(.play-pause) {
    position: absolute;
	height: 100%;
	top: 0;
	padding:0;
}

.article-layout .article-sidebar #products-rotator [data-glide-el=controls] button:after {
    display: none;
}

.article-layout .article-sidebar #products-rotator :is(button[data-glide-dir="<"], button[data-glide-dir="|<"]) {
    background: url(/images/products-mini-rotator-prev.svg) no-repeat center;
    left:0;
}

.article-layout .article-sidebar #products-rotator :is(button[data-glide-dir=">"], button[data-glide-dir="|>"]) {
    background: url(/images/products-mini-rotator-next.svg) no-repeat center;
    right:0;
}

.article-layout .article-sidebar #products-rotator .play-pause {
	background: var(--Q-Tran-blue);
	box-shadow: 0 0 0 1px var(--greige);
	border: 0;
	border-radius: 50%;
	height: 2.5rem;
	margin:0.5em 0 2px;
	padding: 0;
	width: 2.5rem;
	z-index: 8;    
}

.article-layout .article-sidebar #products-rotator .play-pause:before {
    background-image: url(../../images/icons/circle-pause.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.article-layout .article-sidebar #products-rotator .play-pause.paused {
	box-shadow: 0 0 0 1px var(--Q-Tran-blue);
}

.article-layout .article-sidebar #products-rotator .play-pause.paused:before {
    background-image: url(../../images/icons/circle-play.svg);
}

.article-layout .article-sidebar .products {
	flex-wrap: nowrap;
}

.article-layout .article-sidebar .products .product {
    margin: 0;
    text-align: left;
    width: 100%;
}

.article-layout .article-sidebar .products .product:is(:hover, :focus-visible) {
    box-shadow: none;
}

.article-layout .article-sidebar .products .product .product-image {
    margin-bottom: 1.25em;
}

.article-layout .article-sidebar .products .product .product-info {
    padding:0 1.125rem 1.125rem;
}

.article-layout .article-sidebar .products .product .product-info h2 {
    font-size: 1em;
}

.article-layout .article-sidebar .products .product.category .product-info {
	padding-bottom: 0.5rem;
}

.article-layout .article-sidebar .products .product.category .product-info .view-details {
	display: none;
}

.article-layout .article-sidebar .button {
    display: block;
    width: 100%;
}

.article-layout .article-sidebar .flex-block .image {
    margin-bottom: 0.5625em;
}

.article-layout .article-sidebar .flex-block .image:before {
    display: none;
}

.article-layout .article-sidebar .flex-block :is(h1, h2, .title) {
    font-size: 0.875em;
}

.article-layout #content img {
    border-radius: var(--border-radius);
    border: 0;
    padding: 0;
}





/* CALCULATORS ------------------------------ */

.landing .calculators .top {
    text-align: center;
}

.landing #calculatorWrapper h1 {
    text-transform: uppercase;
}

.landing .calculators .top h1 span {
    display: block;
    font-size: 0.5217391304347826em;
}

.calculator-blocks {
    display: flex;
    flex-direction: column;
    gap:1.5625em;
}

.calculator-block {
	background: #FFFFFF;
	border-radius: 0.375em;	
}

.calculator-block fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.calculator-block .block-header {
    align-items: center;
	background:#fff;
    border-bottom: 1px solid #D1D5DC;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1em;
    justify-content: space-between;
	margin-bottom: 1.25em;
    min-height: 2.625em;
    width: 100%;
}

.calculator-block .block-header span {
    color: #000;
    font-size: 1.0625em;
    font-weight: 700;
    text-transform: uppercase;
}

.calculator-block .block-header button {
    background: none;
    color: var(--Q-Tran-blue);
    font-size: 0.8125em;
    font-weight: 600;
    line-height: 1.5625rem;
    padding: 0;
}

.calculator-block .block-header button.underline-button {
    color: #000;
}

.calculator-block .block-header button:after {
    background: url(/images/change.svg) no-repeat center;
    padding-left: 1em;
    transform: none;
}

.calculator-block .block-header button:is(:hover, :focus-visible) {
    background: none;
	color: var(--bright-blue);
}

.calculator-block .block-header button:is(:hover, :focus-visible):after {
    margin-left: 0.5em;
}

.calculator-block .product-options {
    display: flex;
    flex-wrap:wrap;
}

.calculator-block .product-options + p {
    margin-top: 1.5em;
}

.calculator-block .product-options .single-option {
    align-content: stretch;
    align-items: stretch;
    background: #FFFFFF;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 2.5em;
    padding:0.625em;
    position: relative;
    text-align: center;
    width: 7.0625em;
}

.calculator-block .product-options .single-option:has(img[src=""]),
.calculator-block .product-options .single-option:has(span:nth-child(2)) {
    justify-content: center;
}

.calculator-block .product-options .single-option.selected {
	border: 2px solid var(--Q-Tran-blue);
    border-radius: 0.4375em;
}

.calculator-block .product-options .single-option input {
    appearance: none;
    border: 1px solid #E4E7EB;
    border-radius: 0.4375em;
	cursor: pointer;
    height: 100%;
    left: 0;
    margin:0;
	outline:none;
    position: absolute;
    top: 0;
    width: 100%;
	z-index: 1;
}

.calculator-block .product-options .single-option input:focus-visible {
    outline:2px solid var(--bright-blue);
}

.calculator-block .product-options .single-option input:checked {
    border-color: var(--Q-Tran-blue);
    border-width: 2px;
	cursor: default;
}

.calculator-block .product-options .single-option input:checked:before {
    display:  none;
}

.calculator-block .product-options .single-option input:is(:hover, :focus-visible):not(:checked) {
    border-color: var(--Q-Tran-blue);
}

.calculator-block .product-options .single-option img {
    border-radius: 0.375em;
    margin-bottom: 0.5625em;
    object-fit: contain;
    object-position: center;
    position: relative;
    width: 100%;
}

.calculator-block .product-options .single-option img[src=""] {
	display: none;
}

.calculator-block .product-options .single-option span {
    color: #000;
    display: block;
    font-size: 0.75em;
    line-height:  1.125em;
    position: relative;
    text-transform: uppercase;
}

.calculator-block .product-options .single-option span > span {
    display: block;
    font-size: 0.875em;
    line-height: 1.35em;
    margin-top: 0.65em;
    text-transform: none;
}

.calculator-block .product-options .single-option span > span:empty {
    display: none;
}

.calculator-block .small-button {
    cursor: pointer;
	display: inline-block;
    font-weight: 600;
	padding:0;
    position: relative;
    text-transform: uppercase;
}

.calculator-block .small-button:after {
    display: none;
}

.calculator-block .small-button span {
    border-radius: 0.35em;
    display: inline-block;
	font-size: 0.875em;
    padding: 0 1em;
	line-height: 2.5625rem;
}

.calculator-block .radio input:checked {
    background: var(--Q-Tran-blue);
    border-color: var(--Q-Tran-blue);
}

.calculator-block .radio input + span {
    color: #000;
    font-size: 0.75em;
    font-weight:400;
    line-height: 1.125em;
    position: relative;
    text-transform: uppercase;
    z-index: 1;
}

.calculator-block .radio input:checked + span,
.calculator-block .radio input:checked + span span {
	color: #fff;
}

.calculator-block .small-button input {
    appearance: none;
	opacity: 0;
    height: 100%;
    left:0;
    margin:0;
    padding:0;
    position: absolute;
    top:0;
    width: 100%;
}

.calculator-block .underline-button {
    background: none;
    color: #000;
    font-size: 0.875em;
    line-height: 1.6875;
    padding: 0.125em 0.8em;
    text-decoration: underline;
	font-weight: 400;
}

.calculator-block .underline-button:is(:hover, :focus-visible) {
    background: none;
    color: #000;
    text-decoration-color: var(--bright-blue);
}

.calculator-block .underline-button:after {
    display: none;
}

.calculator-block .help-text {
    font-size: 0.875em;
	color:#000;
	line-height: 1.25em;
	padding: 0.25em 0.9em;
	position: relative;
}

.calculator-block .help-text:before {
    background: var(--Q-Tran-blue);
    border-radius: 0.125rem;
    content:"";
    display: block;
    height: 100%;
    left:0;
    position: absolute;
    top:0;
    width: 0.25rem;
}

.calculator-block .help-link {
    background: var(--Q-Tran-blue);
    border: 1px solid var(--Q-Tran-blue);
    border-radius: 50%;
    color:#fff;
    display: inline-block;
    font-size: 0.875em;
    font-weight: 700;
    height: 1rem;
    line-height: 1.125em;
    text-align: center;
    width: 1rem;
}

.calculator-block.last-step p {
    font-size: 0.875em;
}

.calculator-block .answers {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1.25em;
}

.calculator-block .answers > div {
    background:#fff;
    border-radius: 0.35em;
    box-shadow: inset 0 0 0 1px var(--red);
    color: #000;
    display: inline-block;
    font-size: 0.875em;
    line-height: 1.25em;
    padding: 0.875em 1.25em;
}

.calculator-block .answers > div .number {
	display: inline;
    font-weight: 700;
}

.landing .calculators .related-items .flex-block :is(h1, h2, .title)  {
    font-size: 1em;
}

.landing .calculators .related-items .flex-block time  {
    font-size: 0.75em;
}

.landing .calculator-block .submit .input {
    display: flex;
    gap: 0.5em;
}

.landing .calculator-block .submit input {
	height: 2.5625em;
}

.landing .calculator-block .toggle-answers {
	background: #d1d5dc;
	padding: 3px;
	border-radius: 10em;
    display: flex;
	height: 2.5625rem;
	position: relative;
}

.landing .calculator-block .toggle-answers:before {
	content:"";
	display: block;
	background:#fff;
	border-radius: 10em;
	height: calc(100% - 6px);
	position: absolute;
	top: 0.1875em;
	left: 0.1875em;
	width: 6.25em;
	box-shadow: 0 4px 10px 0 rgba(0,0,0,0.25);
	transition: ease all 200ms;
}

.landing .calculator-block .toggle-answers[data-attribute=optimize]:before {
	left: 0.1875em;
	right: auto;
	width: 5.8125em;
}

.landing .calculator-block .toggle-answers[data-attribute=exact]:before {
	left: calc(100% - 4.75em);
	width: 4.5625em;
}

.landing .calculator-block .toggle-answers button {
    background: none;
	color:#000;
	padding: 0 1em;
	position: relative;
	z-index: 2;
}

.landing .calculator-block .toggle-answers button:after {
    display: none;
}

.calculator-block .submit .popover-helper {
	display: flex;
	justify-content: center;
	gap: 1.25em;
	align-items: center;
}

.landing .calculators .sidebar .calculator-block {
	background: #FFFFFF;
	border: 1px solid var(--greige);
	text-align: center;
}

.landing .calculators .sidebar .calculator-block .product-options {
	justify-content: center;
}

.landing .calculators .sidebar .calculator-block .button {
	border-radius: 3em;
	font-size: 0.75em;
	margin: 1em auto 0;
}

.calculator-wrapper .comparison-image {
	margin-top:2em
}

.calculator-wrapper .comparison-image img {
    display: block;
    height:auto;
    max-width: 100%;
}

/* Sidebar Rotators */
.landing .calculators .related-items > div {
    display: flex;
    flex-direction: column;
    gap: 1.5625em;
}

.calculators .related-item .rotator {
    overflow: hidden;
    position: relative;
    padding: 0 1em;
}

.calculators .related-item .rotator:not(:has(article:nth-child(2))) {
    padding:0;
}

.calculators .related-item .rotator:not(:has(article:nth-child(2))) [data-glide-el=controls] {
    display: none;
}

.calculators .related-item .rotator [data-glide-el=track] {
    overflow: hidden;
}

.calculators .related-item .rotator .glide__slides {
    align-content: stretch;
    align-items: stretch;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 0;
}

.calculators .related-item .rotator .glide__slides article {
    width: 100%;
}

.calculators .related-item .rotator [data-glide-el=controls] {
    display: flex;
    justify-content: center;
    margin-top: 0.5em;
}

.calculators .related-item .rotator [data-glide-el=controls] button:not(.play-pause) {
    height: 100%;
    opacity: 0.5;
    padding:0;
    position: absolute;
    top: 0;
    width: 1em;
}

.calculators .related-item .rotator [data-glide-el=controls] button:after {
    display: none;
}

.calculators .related-item .rotator :is(button[data-glide-dir="<"], button[data-glide-dir="|<"]) {
    background: url(/images/products-mini-rotator-prev.svg) no-repeat 0 2.8125em;
    left:0;
}

.calculators .related-item .rotator :is(button[data-glide-dir=">"], button[data-glide-dir="|>"]) {
    background: url(/images/products-mini-rotator-next.svg) no-repeat 100% 2.8125em;
    right:0;
}

.calculators .related-item .rotator .play-pause {
	background: var(--Q-Tran-blue);
	box-shadow: 0 0 0 1px var(--greige);
	border: 0;
	border-radius: 50%;
	height: 2.5rem;
	margin:0.5em 0 2px;
	padding: 0;
	width: 2.5rem;
	z-index: 8;    
}

.calculators .related-item .rotator .play-pause:before {
    background-image: url(../../images/icons/circle-pause.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.calculators .related-item .rotator .play-pause.paused {
	box-shadow: 0 0 0 1px var(--Q-Tran-blue);
}

.calculators .related-item .rotator .play-pause.paused:before {
    background-image: url(../../images/icons/circle-play.svg);
}


/* Product Page Calculator */
#product-top .calculator-blocks {
    gap:1em;
}

#product-top .calculator-wrapper h2 {
    align-items: center;
    display: flex;
    gap: 1em;
    justify-content: space-between;
}

#product-top .calculator-wrapper h2 button {
    background: none;
    color: #000;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 2.75rem;
    padding: 0 0.5rem;
}

#product-top .calculator-wrapper h2 button:is(:hover, :focus-visible) {
	background: none;
	color: var(--bright-blue);
}

#product-top .calculator-wrapper h2 button:after {
	display: none;
}

#product-top .calculator-block .submit {
    display: flex;
    gap:1.25em;
}

#product-top .calculator-block .input .help-text {
    margin-top: 1.45em;
}

#product-top .calculator-block .answer {
	align-items: center;
}

#product-top .calculator-block .answer div:not(.number) {
    color: #000;
    font-size: 0.875em;
    line-height: 1.25em;
    padding: 0.25em 0 0;
}

#product-top .button-container {
    display: flex;
    flex-wrap:wrap;
    gap: 0.5em;
    justify-content: center;
}

#product-top .button-container:empty {
    display: none;
}

#product-top .button-container > * {
    background: #fff;
    border-radius: 0.25rem;
    color: var(--Q-Tran-blue);
    display: flex;
    flex-direction: column;
    font-weight: 600;
    gap:1em;
	justify-content: center;
    padding: 1.125em 1.5em;
    text-align: center;
    width: calc(50% - 0.5em);
	flex: 1 1 auto;
}

#product-top .button-container > *:is(:hover, :focus-visible, .active) {
    background: var(--Q-Tran-blue);
    color: #fff;
}

#product-top .button-container .icon {
    align-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin:0 auto;
    max-width: 8.0625rem;
    min-height: 2.75em;
    position: relative;
    width: 100%;
}

#product-top .toggleCalculator svg {
    transform: scale(0.9);
}

#product-top .voltage-drop-calculator svg {
    max-height: 2.5rem;
	width: auto;
    transform: scale(0.65);
    overflow: visible;
}

#product-top .voltage-drop-calculator svg #circle-bottom{
    max-height: 2.5rem;
	width: auto;
    transform: scale(0.65);
    overflow: visible;
}

#product-top .button-container svg .outline {
    fill: none;
    stroke: var(--red);
    stroke-miterlimit: 10;
    stroke-width: 2px;
}

#product-top .button-container svg .fill {
    fill: #fff;
    stroke-width: 0px;
	transition: ease all 200ms;
}

#product-top .button-container :is(:hover, :focus-visible, .active) svg .fill {
    fill: var(--Q-Tran-blue);
}

#product-top .button-container span {
	display: block;
	line-height: 1.125em;
    font-size: 0.875em;
	text-transform: none;
}

#product-top .button-container > *:after {
	display: none;
}


/* calculator popover */
dialog.calculator-popover {
    align-content: center;
    align-items: center;
    background: rgba(0,0,0,0.80);
    border: 0;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    margin: 0;
    min-height: 100%;
    min-width: 100%;
    opacity: 0;
    padding: 1em;
    pointer-events: none;
    position: fixed;
    top: 0;
    transition: ease all 200ms;
    width: 100%;
    z-index: 10;
}

dialog.calculator-popover[open] {
    opacity: 1;
    pointer-events: all;
}

dialog.calculator-popover .center {
    background:#fff;
    border-radius: 0.375em;
    max-height: calc(100vh - 4em);
    max-width: 71.375em;
    overflow: auto;
    position: relative;
    z-index: 2;
}

dialog.calculator-popover .block-header {
    position: sticky;
    top: 0;
    z-index: 2;
}

dialog.calculator-popover .close {
    background: none;
    color:#000;
    font-size: 2.5em;
    font-weight: 400;
    line-height: 2.75rem;
    padding: 0 0.5rem;
}

dialog.calculator-popover#optimizedVsExact .close {
    position: absolute;
    right: 0.25em;
    top: 0.25em;
}

dialog.calculator-popover#optimizedVsExact .close:is(:hover, :focus-visible) {
    background: none;
    color: var(--bright-blue);
}

dialog.calculator-popover .close:after {
    display: none;
}

dialog.calculator-popover .popover-mask {
    cursor: default;
    height: 100%;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1;
}

dialog.calculator-popover .figure-container figure {
	display: flex;
	flex-direction: column;
	align-items: center;
    margin:0;
    padding:0;
    text-align: center;
}

dialog.calculator-popover .figure-container figure h2 {
    margin:0;
}

dialog.calculator-popover .figure-container img {
    height: auto;
    max-width: 100%;
}







/* VOLTAGE DROP CALCULATOR ------------------------------ */
.voltage-drop-calculator .top {
    margin-bottom: 2.25em;
    text-align:center;
}

.voltage-drop-calculator .intro {
    font-weight: 400;
}

.voltage-drop-calculator .power-supply-options  {
    display: grid;
    gap: 0.625em;
    padding: 0 1em;
    position: relative;
    z-index: 1;
}

.voltage-drop-calculator .power-supply-options > * {
    background: #FFFFFF;
    border-radius: var(--border-radius);
	display: flex;
	flex-direction: column;
    padding: 1em 1.875em 1.875em;
}

.voltage-drop-calculator .power-supply-options > .product-option {
    position: relative;
	z-index: 1;
}

.voltage-drop-calculator .power-supply-options > .disabled {
    opacity: 0.3;
	pointer-events: none;
}

.voltage-drop-calculator .power-supply-options .title {
    align-items: center;
    border-bottom: 1px solid #D1D5DC;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.0625em;
    font-weight: 700;
    gap: 0.5em 1em;
    justify-content: space-between;
    letter-spacing: 0;
    line-height: 2.625rem;
    margin-bottom: 1.375rem;
    text-transform: uppercase;
}

.voltage-drop-calculator .power-supply-options .title button {
    background: none;
    color: var(--Q-Tran-blue);
    font-size: 0.8125em;
    font-weight: 600;
    line-height: 1.5625rem;
    padding: 0;
}

.voltage-drop-calculator .power-supply-options .title button:is(:hover, :focus-visible) {
	background: none;
	color: var(--bright-blue);
}

.voltage-drop-calculator .power-supply-options .title button::after {
	background: url(/images/change.svg) no-repeat center;
	padding-left: 1em;
	transform: none;
}

.voltage-drop-calculator .power-supply-options .title button:is(:hover, :focus-visible)::after {
	margin-left: 0.5em;
}

.voltage-drop-calculator .power-supply-options :is(input, select) {
    background: url(/images/select-arrow-red.svg) no-repeat center right;
    border: 1px solid var(--greige);
    border-radius: 0.375em;
	cursor: pointer;
    height: 3.125em;
    padding: 0 2.5em 0 1em;
    width: 100%;
}

.voltage-drop-calculator .power-supply-options .help-text {
    color: var(--grey);
    font-size: 0.875em;
    font-style: italic;
    left:0;
    line-height: 3.125rem;
    opacity: 0;
    padding: 0 2.5rem 0 1rem;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
}

.voltage-drop-calculator .power-supply-options .active .help-text {
    opacity: 1;
}

.voltage-drop-calculator .power-supply-options .has-value .help-text {
    opacity: 0;
}

.voltage-drop-calculator .power-supply-options select.placeholder {
  color: var(--Q-Tran-blue);
  font-weight: 600;
}

.voltage-drop-calculator .power-supply-options .disabled select.placeholder {
  color: #fff;
}

.voltage-drop-calculator .power-supply-options select[disabled] {
  background:#fff;
  color: #000;
  cursor: auto;
  font-weight: 400;
  opacity: 1;
}

.voltage-drop-calculator .power-supply-options ::-webkit-input-placeholder {
	color: var(--Q-Tran-blue);
	font-weight: 600;
	opacity: 1;
}

.voltage-drop-calculator .power-supply-options ::-moz-placeholder {
	color: var(--Q-Tran-blue);
	font-weight: 600;
	opacity: 1;
}

.voltage-drop-calculator .power-supply-options :-ms-input-placeholder {
	color: var(--Q-Tran-blue);
	font-weight: 600;
	opacity: 1;
}

.voltage-drop-calculator .power-supply-options :-moz-placeholder {
	color: var(--Q-Tran-blue);
	font-weight: 600;
	opacity: 1;
}

.voltage-drop-calculator .power-supply-options .active ::-webkit-input-placeholder {
	opacity: 0;
}

.voltage-drop-calculator .power-supply-options .active ::-moz-placeholder {
	opacity: 0;
}

.voltage-drop-calculator .power-supply-options .active :-ms-input-placeholder {
	opacity: 0;
}

.voltage-drop-calculator .power-supply-options .active :-moz-placeholder {
	opacity: 0;
}

.voltage-drop-calculator .autocomplete-wrapper {
	position: relative;
}

.voltage-drop-calculator .autocomplete-wrapper.active input {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.voltage-drop-calculator #autoCompleteList {
    align-content: stretch;
    align-items: stretch;
    background: #fff;
    border: 1px solid var(--greige);
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    border-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
    margin: 0;
    max-height: 19.375em;
    opacity: 0;
    overflow: auto;
    padding: 0.3125em;
    pointer-events: none;
    position: absolute;
    width: 100%;
}

.voltage-drop-calculator .active #autoCompleteList {
	opacity: 1;
	pointer-events: all;
}

.voltage-drop-calculator #autoCompleteList li {
    border-radius: 0.125em;
	cursor: pointer;
    padding: 0.25em 1em;
}

.voltage-drop-calculator #autoCompleteList li:is(:hover, :focus-visible) {
   background: rgba(0,0,0,0.08);
}

.voltage-drop-calculator .products .product {
   margin:0; width: 100%;
}

.voltage-drop-calculator .products .product .product-info:after {
   content:"View Product";
   font-weight: 600;
   color: var(--Q-Tran-blue);
   padding-right: 1em;
   background: url(/images/link-arrow-blue.svg) no-repeat center right;
   max-width: 7.8125rem;
   margin-top: 1em;
}

.voltage-drop-calculator .table.disabled {
   display: none;
}

.voltage-drop-calculator .power-supply-options .table table {
    border-bottom: 1px solid #D1D5DC;
	margin-bottom: 2em;
}

.voltage-drop-calculator .power-supply-options .table-title {
    display: block;
	margin: 0 0 0.25em;
}

.voltage-drop-calculator .power-supply-options .table .download-results {
    align-content: center;
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    padding:1em;
}

.voltage-drop-calculator .power-supply-options .table  .icon-link {
    background: var(--Q-Tran-blue);
}

.power-supply-related-items {
	padding: 0 1em 5em;
}

.power-supply-related-items .related {
	margin-bottom: 4em;
}

.power-supply-related-items .related h2 {
	position: relative;
	overflow: hidden;
}

.power-supply-related-items .related h2:after {
	content:"";
	width: 100%;
	margin-left: 0.35em;
	position: absolute;
	border-top: 1px solid var(--red);
	top:50%;
}




/* CONTENT WYSIWYG TEMPLATES ------------------------------ */
.content .full-width-image-rounded {
    clear: both;
    width: 100%;
	margin:2.5em 0;
}

.content .full-width-image-rounded img {
    border-radius: var(--border-radius);
    display: block;
    width: 100%;
}

.content .image-and-text-content-section {
    background:#fff;
    border-radius: var(--border-radius);
    clear: both;
    display: flex;
    margin: 2.5em 0;
    overflow: hidden;
    width: 100%;
}

.article-layout .image-and-text-content-section {
    background: var(--light-greige);
}

.content .image-and-text-content-section .section-image {
    overflow: hidden;
    position: relative;
}

.content .image-and-text-content-section .section-image img,
.article-layout .article #content .image-and-text-content-section img:not(.photo-right):not(.photoleft) {
    border-radius: 0;
    display: block;
	width: 100%;
}


.content .image-and-text-content-section .section-content {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:2em;
}

.content .image-and-text-content-section .section-content > *:last-child {
    margin-bottom: 0;
}

.content .centered-button {
    margin: 2.5em 0;
    text-align: center;
}

.content .side-by-side-ctas {
    display: flex;
    justify-content: space-between;
	text-align: center;
	margin: 2.5em 0;
	clear: both;
	width: 100%;
}

.content .side-by-side-ctas > * {
    display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    justify-content: space-between;
	gap: 1em;
}

.content .side-by-side-ctas * {
    margin: 0;
}














/* FOOTER ------------------------------ */
body>footer {
    background: #181818;
    color: #FFFFFF;
    font-size: 0.875rem;
    line-height: 1.375rem;
    position: relative;
    z-index: 2;
}

body>footer >div:not(:last-child) {
    border-bottom: 1px solid var(--red);
}

body>footer .small-title {
    color:var(--greige);
}

body>footer .line-break {
    width:100%;
}

body>footer a {
    color: #fff;
}

body>footer a:hover, footer a:active {
    color: #ccc;
}

body>footer a.on, footer .on>a {
    color: #fff;
    text-decoration: none;
}

body>footer .important-links {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
	gap: 0.375rem;
}

body>footer .important-links a {
	padding:0 0 0.125em;
}

body>footer .important-links a.icon-link {
	background: none;
	box-shadow: none;
}

body>footer .important-links a.icon-link:is(:hover, :focus-visible) {
	background: none;
	box-shadow: none;
	color: var(--greige);
}

body>footer .important-links a.icon-link:before {
	border-color: var(--greige);
}

body>footer .important-links a.icon-link:after {
	background: url(/images/link-arrow-greige.svg) no-repeat center right;
}

body>footer .important-links a.icon-link:is(:hover, :focus-visible):after {
	margin-left: 0.5rem;
}


body>footer .social-links {
	display: flex;
	flex-wrap:wrap;
	justify-content: space-around;
}

body>footer .social-links a {
	width: 2.5rem;
	display: inline-block;
	height: 2.5rem
}

body>footer .social-links .facebook {
	background: url(/images/social-facebook.svg) no-repeat center
}

body>footer .social-links .twitter {
	background: url(/images/social-twitter.svg) no-repeat center
}

body>footer .social-links .instagram {
	background: url(/images/social-instagram.svg) no-repeat center
}

body>footer .social-links .linkedin {
	background: url(/images/social-linkedin.svg) no-repeat center
}

body>footer .social-links .youtube {
	background: url(/images/social-youtube.svg) no-repeat center
}

body>footer .social-links .vimeo {
	background: url(/images/social-vimeo.svg) no-repeat center
}

body>footer .copyright {
	font-size: 0.75rem;
}

body>footer .copyright a {
	padding: 1.0625rem 0.125rem;
}

body>footer .copyright a+span:before {
    content: "|";
    margin: 0 0.75em;
}




/* TRANSITIONS ------------------------------ */
a, a *,button,.button,input[type="button"],input[type="submit"],.rsFullscreenBtn,#alertApp,#alertApp span,#alertDesc,#navContainer li,.hamburger, h2#form-expand {
	-webkit-transition: all 200ms ease;
	transition: all 200ms ease
}

input:focus, select:focus, textarea:focus {
	-webkit-transition: background-color 150ms ease;
	transition: background-color 150ms ease
}

.stop-transitions * {
  transition: none !important;
}








/* ANIMATIONS ------------------------------ */
@media screen and (prefers-reduced-motion: no-preference) {


	/* Slide-In Caption -------*/
	.caption .caption-border {

	}

	@keyframes draw-caption-line {
		0% {transform: translateX(-100%)}
		100% {transform: translateX(101%)}
	}
	
	@keyframes slide-out-caption {
		0% {transform: translateX(0)}
		100% {transform: translateX(200%)}
	}

	:is(
		.imageGrow, 
		.zoomInLeft,
		.zoomInRight,
		.zoomInUp,
		.zoomInDown, 
		.zoomOutLeft,
		.zoomOutRight,
		.zoomOutUp,
		.zoomOutDown) img, 
		#hero.module-header :is(.imageGrow, .animate) {
        transition: 8s cubic-bezier( 0.55, 0.54, 0.08, 1 );
        will-change: transform;
    }

	.imageGrow img, 
	#hero.module-header .imageGrow {
        transform-origin: center;
    }

	/* zoomIn */
	.zoomInLeft img, 
	#hero.module-header .zoomInLeft {
        transform-origin: center left;
    }
	.zoomInRight img, 
	#hero.module-header .zoomInRight {
        transform-origin: center right;
    }
	.zoomInUp img, 
	#hero.module-header .zoomInUp {
        transform-origin: center top;
    }
	.zoomInDown img, 
	#hero.module-header .zoomInDown {
        transform-origin: center bottom;
    }
	:is(.imageGrow, 
		.zoomInLeft,
		.zoomInRight,
		.zoomInUp,
		.zoomInDown).play img,
	#hero.module-header :is(.imageGrow, .animate).play img {
		transform: scale(125%);
	}

	/* zoomOut */
	:is(.zoomOutLeft,
		.zoomOutRight,
		.zoomOutUp,
		.zoomOutDown) img,
	#hero.module-header :is(
		.zoomOutLeft,
		.zoomOutRight,
		.zoomOutUp,
		.zoomOutDown) {
		transform: scale(125%);
	}
	.zoomOutLeft img, 
	#hero.module-header .zoomOutLeft {
        transform-origin: center left;
    }
	.zoomOutRight img, 
	#hero.module-header .zoomOutRight {
        transform-origin: center right;
    }
	.zoomOutUp img, 
	#hero.module-header .zoomOutUp {
        transform-origin: center top;
    }
	.zoomOutDown img, 
	#hero.module-header .zoomOutDown {
        transform-origin: center bottom;
    }
	:is(.zoomOutLeft,
		.zoomOutRight,
		.zoomOutUp,
		.zoomOutDown).play img,
	#hero.module-header :is(
		.zoomOutLeft,
		.zoomOutRight,
		.zoomOutUp,
		.zoomOutDown).play {
		transform: scale(100%);
	}

	/* pan */
	.panLeft img, #hero.module-header .panLeft {
		transform: scale(120%);
	}
		.panLeft.play img, #hero.module-header .panLeft.play {animation: forwards panLeft 8s cubic-bezier( 0.55, 0.54, 0.08, 1 );}
		@keyframes panLeft { 0% {left: -10%;} 100% {left: 10%;} }		
		
	.panRight img, #hero.module-header .panRight {
		transform: scale(120%);
    }
		.panRight.play img, #hero.module-header .panRight.play {animation: forwards panRight 8s cubic-bezier( 0.55, 0.54, 0.08, 1 );}
		@keyframes panRight { 0% {left: 10%;} 100% {left: -10%;} }

	.panUp img,	#hero.module-header .panUp {
		transform: scale(120%);
    }
		.panUp.play img, #hero.module-header .panUp.play {animation: forwards panUp 8s cubic-bezier( 0.55, 0.54, 0.08, 1 );}
		@keyframes panUp { 0% {left: 0; top:-10%} 100% {left: 0; top: 10%} }

	.panDown img, #hero.module-header .panDown {
		transform: scale(120%);
    }
		.panDown.play img, #hero.module-header .panDown.play {animation: forwards panDown 8s cubic-bezier( 0.55, 0.54, 0.08, 1 );}
		@keyframes panDown { 0% {left: 0; top:10%} 100% {left: 0; top: -10%} }



	.delay-1 {transition-delay: 1s;}
	.delay-2 {transition-delay: 1.25s;}
	.delay-3 {transition-delay: 1.5s;}
	.delay-4 {transition-delay: 1.75s;}
	.delay-5 {transition-delay: 2s;}

	#tinymce .fadeIn {
		opacity: 1;
		transform: translateY(0);
	}

}







/* FORM ERRORS ------------------------------ */
.form-error {
	color: #ee0000;
}

fieldset label:first-of-type input:focus {
	outline: 1px solid #ee0000;
}

.formError {
	background-color: Black;
	border: 0;
	padding: 5px 10px;
	color: #fff;
	display: none;
	margin: 0 0 2px;
	z-index: 9999;
	border-radius: 10px;
	-moz-box-shadow: 0 2px 2px #333;
	-webkit-box-shadow: 0 2px 2px #333;
}

.formError p {
	margin: 0;
	font-size: .9em;
}

.formError em {
	border: 10px solid;
	border-color: Black transparent transparent;
	bottom: -17px;
	display: block;
	height: 0;
	left: 40px;
	position: absolute;
	width: 0;
}

@media screen and (max-width:600px) {
	.about-page .image-and-text-callouts .wrap :is(ul, .callouts) {
		grid-template-columns: 1fr;
	}	
}

/* IE */
@media screen and (-ms-high-contrast:active), (-ms-high-contrast:none) {
	#hero .hero-slider .slick-slide div {
		overflow: hidden;
	}

	#hero .hero-slider.srcset-slider .slick-slide div img {
		position: absolute;
		top: 50%;
		right: 50%;
		left: auto;
		transform: translate(50%, -50%);
		min-width: 100%;
		min-height: 100%;
		width: auto !important;
		height: auto;
	}
}
