@charset "UTF-8";


main>.product-page {
     padding-bottom: 8.75rem;
     padding-top: calc(var(--header-height) + 5em);
}

main>.product-page.coming-soon {
     padding-top: calc(var(--header-height) + 6em);
}

main>.product-page.coming-soon .page-tag {
     left: 0;
     position: absolute;
     top: var(--header-height);
}

main>.product-page #product-top {
     padding: 0 1.5rem;
     position: relative;
     z-index: 1;
}

main>.product-page #product-top .wrap {
     align-content: stretch;
     align-items: stretch;
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     justify-content: space-between;
     margin: 0 auto;
     max-width: 75.437em;
}

main>.product-page #product-top .product-images {
     max-width: 33%;
     width: 100%;
}

main>.product-page #product-top .product-images img {
     display: block;
     max-width: 100%;
     transition: none;
}

main>.product-page #product-top .product-images .main-image {
     background: #fff;
     border-radius: var(--border-radius);
     box-shadow: 50px 50px 100px 0 rgba(0, 0, 0, 0.15);
     cursor: pointer;
     display: block;
     overflow: hidden;
     padding-bottom: 100%;
     position: relative;
}

main>.product-page #product-top .product-images .main-image:before {
     background: url(/images/products/zoom.svg) no-repeat center;
     bottom: 0;
     content: "";
     display: block;
     height: 2.875rem;
     pointer-events: none;
     position: absolute;
     right: 0;
     width: 2.875rem;
     z-index: 1;
}

main>.product-page #product-top .product-images .main-image img {
     display: block;
     height: auto;
     left: 50%;
     position: absolute;
     top: 50%;
     transform: translate(-50%, -50%);
     width: 100%;
}

main>.product-page #product-top .product-images .main-image img[src*="jpg"],
main>.product-page #product-top .product-images .main-image img[src*="png"] {
     height: 100%;
     object-fit: cover;
     object-position: center;
     width: 100%;
}

@media all and (-ms-high-contrast:none), (-ms-high-contrast:active) {

     main>.product-page #product-top .product-images .main-image img[src*="jpg"],
     main>.product-page #product-top .product-images .main-image img[src*="png"] {
          height: auto;
          width: auto;
     }
}

main>.product-page #product-top .product-images .main-image img[src*="svg"] {
     width: calc(100% - 3rem);
}

/* Product Page - Main Photo Thumbnails ------------------------------ */
main>.product-page #product-top .product-photos {
     align-items: start;
     display: grid;
     gap: 0.5625rem;
     grid-template-columns: minmax(0, 1fr) 2.5rem;
}

main>.product-page #product-top .product-images .thumbnails {
     align-content: flex-start;
     align-items: center;
     display: flex;
     flex-direction: column;
     flex-wrap: nowrap;
     gap: 0.5625rem;
     justify-content: flex-start;
     margin-top: 0;
     position: relative;
     text-align: center;
     z-index: 2;
}

main>.product-page #product-top .product-images .thumbnails .thumb {
     align-content: center;
     align-items: center;
     background: #fff;
     border: 1px solid #C1C6C8;
     cursor: pointer;
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     height: 2.5rem;
     justify-content: center;
     position: relative;
     transition: ease all 200ms;
     width: 2.5rem;
}

main>.product-page #product-top .product-images .thumbnails .thumb.on,
main>.product-page #product-top .product-images .thumbnails .thumb:is(:hover, :focus-visible) {
     border-color: var(--grey);
}

main>.product-page #product-top .product-images .thumbnails .thumb img {
     opacity: 0.75;
     transition: ease all 200ms;
}

main>.product-page #product-top .product-images .thumbnails .thumb.on img,
main>.product-page #product-top .product-images .thumbnails .thumb:is(:hover, :focus-visible) img {
     opacity: 1;
}

main>.product-page #product-top .product-images .thumbnails .thumb.has-video:is(:hover, :focus-visible):after {
     background-color: rgba(0, 17, 47, 0.25);
}

main>.product-page #product-top .product-images .thumbnails .thumb img {
     height: auto;
     max-height: 100%;
     max-width: 100%;
     width: auto;
}

main>.product-page #product-top .product-images .thumbnails .tooltip {
     background: #fff;
     box-shadow: 0 0.25rem 0.625rem 0 rgba(0, 0, 0, 0.125);
     color: var(--dark-grey);
     font-size: 0.75rem;
     left: 50%;
     line-height: 1em;
     opacity: 0;
     padding: 0.5em 1em;
     pointer-events: none;
     position: absolute;
     top: 0.3125rem;
     transform: translate(-50%, calc(-100% - 0.3125rem));
     transition: 200ms ease all;
     white-space: nowrap;
}

main>.product-page #product-top .product-images .thumbnails .thumb:is(:hover, :focus-visible) .tooltip {
     opacity: 1;
     top: 0;
}

main>.product-page #product-top .product-images .thumbnails .thumb img:not([src*="svg"]) {
     height: 100%;
     left: 0;
     object-fit: cover;
     object-position: center;
     position: absolute;
     top: 0;
     width: 100%;
}

main>.product-page #product-top .product-images .thumbnails .thumb img[src*="svg"] {
     height: 100%;
     object-fit: cover;
     object-position: center;
     padding: 0.3125rem;
     width: 100%;
}

@media all and (-ms-high-contrast:none), (-ms-high-contrast:active) {
     main>.product-page #product-top .product-images .thumbnails .thumb img:not([src*="svg"]) {
          height: auto;
          max-height: 100%;
          max-width: 100%;
          width: auto;
     }
}

main>.product-page #product-top .product-images .button-container {
     margin-top: 1em;
     padding-right: 3.125em;
}

main>.product-page #product-top .product-images .button-container .button {
     font-size: 0.875em;
     text-align: center;
     text-transform: uppercase;
     width: 100%;
}

.optional-wysiwyg-ribbon {
     clear: both;
     padding: clamp(1.25rem, -1.635rem + 6.15vw, 3.75rem) clamp(1.25rem, 0.385rem + 1.85vw, 2rem) clamp(1.25rem, 0.385rem + 1.85vw, 2rem);
}

.optional-wysiwyg-ribbon .wrap {
     margin: 0 auto;
     max-width: 56.5em;
}

/* video popover: product-page */
.stick-on-scroll {
     top: var(--small-header-height);
}

#video-popover {
     padding: 2em;
}

main>.product-page #product-top .product-info {
     max-width: 63%;
     position: relative;
     width: 100%;
}

main>.product-page #product-top .product-info .breadcrumb {
     font-family: Helvetica Neue, Helvetica, sans-serif;
     font-size: 0.75rem;
     position: absolute;
     top: -2.0625rem;
}

main>.product-page #product-top .product-info h1 {
     font-size: 3.65rem;
     margin-bottom: 0.125em;
     position: relative;
}

main>.product-page #product-top .product-info .small-title {
     color: var(--dark-grey);
}

main>.product-page #product-top .product-info .logos {
     align-content: center;
     align-items: center;
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     justify-content: flex-start;
     margin: 2.1875rem 0 0.5em;
}

main>.product-page #product-top .product-info .logos .certification {
     margin: 0 2em 1em 0;
     max-width: 7.875rem;
}

main>.product-page #product-top .product-info .logos .certification a {
     display: block;
}

main>.product-page #product-top .product-info .logos .certification a:is(:hover, :focus-visible) {
     filter: brightness(0);
     opacity: 0.5;
}

main>.product-page #product-top .product-info .logos .certification img {
     display: block;
     height: auto;
     max-height: 2.5rem;
     max-width: 100%;
     width: auto;
}

main>.product-page #product-top .product-info .intro {
     font-size: 18px;
     font-weight: 500;
}

main>.product-page #product-top .product-info .show-more {
     color: #0032A0;
     cursor: pointer;
     font-size: 0.875rem;
     font-weight: 700;
     letter-spacing: 0;
     transition: ease all 200ms;
}

main>.product-page #product-top .product-info .show-more:is(:hover, :focus-visible) {
     color: var(--bright-blue);
}

main>.product-page #product-top .actions {
     margin: 1.5rem auto 0;
     max-width: 75.437em;
}

main>.product-page #product-top .actions .primary {
     width: 30%;
}

main>.product-page #product-top .actions .primary .button {
     align-content: center;
     align-items: center;
     display: flex;
     justify-content: center;
     min-height: 3.4375rem;
     padding: 0.75rem 1rem;
     text-align: center;
     text-transform: uppercase;
     width: 100%;
}

main>.product-page #product-top .actions .secondary .tabs {
     align-content: stretch;
     align-items: stretch;
     display: flex;
}

main>.product-page #product-top .actions .secondary .tabs button {
     align-content: center;
     align-items: center;
     background: var(--Q-Tran-blue);
     border: 0;
     border-bottom-left-radius: 0;
     border-bottom-right-radius: 0;
     display: flex;
     flex-direction: column;
     flex-wrap: nowrap;
     font-size: 1rem;
     justify-content: center;
     margin-right: 1px;
     padding: 0.875rem 1.5rem;
     text-align: center;
}

main>.product-page #product-top .actions .secondary .tabs button:after {
     background: #fff;
     border: 0;
     bottom: 0px;
     content: "";
     display: block;
     height: 1px;
     left: 1px;
     margin: 0;
     opacity: 0;
     overflow: hidden;
     padding: 0;
     position: absolute;
     transition: ease all 200ms;
     width: calc(100% - 2px);
}

main>.product-page #product-top .actions .secondary .tabs button.on {
     background: #fff;
     border: 0;
     box-shadow: inset 0 0 0 1px var(--Q-Tran-blue);
     color: var(--dark-grey);
     position: relative;
}

main>.product-page #product-top .actions .secondary .tabs button.on:after {
     opacity: 1;
}

main>.product-page #product-top .actions .secondary .tabbed-content-container {
     background: #fff;
     border: 1px solid var(--Q-Tran-blue);
     margin-top: -1px;
     padding: 1rem 2rem;
}

.product-page .product-project-gallery {
     padding: calc(var(--small-header-height) + 1em) 1.5rem 0;
}

main>.product-page .product-nav {
     background: #fff;
     border-bottom: 1px solid var(--light-greige);
     border-top: 1px solid var(--light-greige);
     margin-top: 5rem;
     padding: var(--padding) 1em;
     /* position: sticky;
     top: 3.8125rem; */
     z-index: 2;
}

main>.product-page #project-gallery+.product-nav {
     margin-top: 3em;
}

main>.product-page .product-nav .wrap {
     align-content: center;
     align-items: center;
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     justify-content: flex-start;
     margin: 0 auto;
     max-width: 75.4375rem;
}

main>.product-page .product-nav .title {
     margin-right: var(--padding);
     white-space: nowrap;
}

main>.product-page .product-nav .product-name {
     color: var(--dark-grey);
     font-size: 1.3125rem;
     font-weight: 700;
     letter-spacing: -0.0206rem;
}

main>.product-page .product-nav .scroll-links {
     align-content: center;
     align-items: center;
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     justify-content: flex-start;
}

main>.product-page .product-nav .scroll-links .scroll-button {
     box-shadow: inset 0 0 0 1px #C1C6C8;
     color: #101820;
     display: inline-block;
     font-size: 0.9rem;
     font-weight: 700;
     margin-right: 1.375rem;
     padding: 0.35em 3.625rem 0.35em 1rem;
     position: relative;
}

main>.product-page .product-nav .scroll-links .scroll-button:is(:hover, :focus-visible) {
     box-shadow: inset 0 0 0 1px #0032A0;
}

main>.product-page .product-nav .scroll-links .scroll-button:after {
     border: 1px solid #0032A0;
     content: "";
     display: block;
     height: 100%;
     position: absolute;
     right: 0;
     top: 0;
     width: 2.375rem;
}

main>.product-page .product-nav .scroll-links .scroll-button:before {
     background: url(/images/button-arrow-down.svg) no-repeat center;
     content: "";
     display: block;
     height: 2.375rem;
     position: absolute;
     right: 0;
     top: 0;
     width: 2.375rem;
}

main>.product-page .product-ribbons {
     overflow: hidden;
     position: relative;
}

main>.product-page .product-ribbon {
     padding-top: 5rem;
     position: relative;
}

main>.product-page .product-ribbon .wrap {
     background: #fff;
     margin: 0 auto;
     max-width: 75.5625rem;
     overflow: visible;
     padding: 2.75rem var(--padding);
     position: relative;
     z-index: 1;
}

main>.product-page .product-ribbon .wrap:before {
     background: #fff;
     content: "";
     display: block;
     height: 100%;
     position: absolute;
     top: 0;
     width: 100vw;
}

main>.product-page .product-ribbon:nth-child(odd) .wrap {
     border-radius: var(--border-radius) 0 0 var(--border-radius);
}

main>.product-page .product-ribbon:nth-child(odd) .wrap:before {
     left: 100%;
}

main>.product-page .product-ribbon:nth-child(even) .wrap {
     border-radius: 0 var(--border-radius) var(--border-radius) 0;
}

main>.product-page .product-ribbon:nth-child(even) .wrap:before {
     right: 100%;
}

main>.product-page .product-ribbon:nth-child(even):after {
     height: 13.0625rem;
     right: 0;
     width: calc(50% + 2.375rem);
}

main>.product-page .product-ribbon:nth-child(odd):after {
     height: 13.0625rem;
     left: 0;
     width: calc(50% - 18.75rem);
}

main>.product-page .icon-links {
     columns: 2;
}

main>.product-page .icon-links li {
     display: inline-block;
     width: 100%;
}

main>.product-page .icon-links a {
     display: block;
     font-weight: 500;
     padding: 0.25em 1em 0.25em 2em;
     position: relative;
}

main>.product-page .icon-links a:is(:hover, :focus-visible) {
     background: var(--bright-blue);
     color: #fff;
}

main>.product-page .icon-links a:before {
     content: "";
     display: block;
     height: 1em;
     left: 0.5em;
     position: absolute;
     top: 0.625em;
     transition: ease all 200ms;
     width: 1em;
}

main>.product-page .icon-links a:hover:before {
     filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
     opacity: 0.5;
}

main>.product-page .icon-links a.pdf:before {
     background: url(/images/icon-link-pdf.svg) no-repeat center;
}

main>.product-page .icon-links a.file:before {
     background: url(/images/icon-link-file.svg) no-repeat center;
}

main>.product-page .icon-links a.three-d:before {
     background: url(/images/icon-link-3d.svg) no-repeat center;
}

main>.product-page .product-ribbon .video-wrapper {
     align-content: stretch;
     align-items: stretch;
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     justify-content: flex-start;
}

main>.product-page .product-ribbon .video-wrapper .video {
     width: calc(50% - 1.25rem);
}

main>.product-page .product-ribbon .video-wrapper .video:nth-child(even) {
     margin-left: 2.5rem;
}

main>.product-page .product-ribbon .video-wrapper .video:nth-child(n+3) {
     margin-top: 2.5rem;
}

main>.product-page .product-ribbon .table-overflow {
     overflow: auto;
}

main>.product-page .product-ribbon .table-overflow.scroll:before,
main>.product-page .product-ribbon .table-overflow.scroll:after {
     content: "";
     display: block;
}

main>.product-page #technical-downloads table {
     width: 100%;
}

main>.product-page #technical-downloads table+table {
     margin-top: 2em;
}

main>.product-page #technical-downloads table tr:nth-child(2n+1) {
     background: var(--lightest-greige);
}

main>.product-page #technical-downloads table tr th {
     font-size: 1.125rem;
}

main>.product-page #technical-downloads .tech-info-image {
     align-content: stretch;
     align-items: stretch;
     display: flex;
     flex-direction: row;
     flex-wrap: nowrap;
     justify-content: flex-start;
     margin-bottom: 2rem;
}

main>.product-page #technical-downloads .tech-info-image>* {
     flex: 1 1 auto;
     position: relative;
     width: 50%;
}

main>.product-page #technical-downloads .tech-info-image>*:before {
     content: "";
     display: block;
     height: calc(100% - 3.75rem);
     pointer-events: none;
     position: absolute;
     top: var(--padding);
     width: calc(100% - var(--padding));
}

main>.product-page #technical-downloads .tech-info-image .tech-content {
     order: 2;
     padding: 3.75rem 3.75rem 3.75rem var(--padding);
}

main>.product-page #technical-downloads .tech-info-image .tech-content:before {
     border: 2px solid var(--Q-Tran-blue);
     border-left: 0;
     right: var(--padding);
}

main>.product-page #technical-downloads .tech-info-image .tech-image {
     background-position: center;
     background-size: cover;
     order: 1;
     padding-bottom: 25%;
}

main>.product-page #technical-downloads .tech-info-image .tech-image:before {
     border: 2px solid #fff;
     border-right: 0;
     left: var(--padding);
}

main>.product-page #technical-downloads .tech-info-image:nth-child(odd) .tech-content {
     order: 1;
     padding: 3.75rem var(--padding) 3.75rem 3.75rem;
}

main>.product-page #technical-downloads .tech-info-image:nth-child(odd) .tech-content:before {
     border: 2px solid var(--Q-Tran-blue);
     border-right: 0;
     left: var(--padding);
     right: auto;
}

main>.product-page #technical-downloads .tech-info-image:nth-child(odd) .tech-image {
     order: 2;
}

main>.product-page #technical-downloads .tech-info-image:nth-child(odd) .tech-image:before {
     border: 2px solid #fff;
     border-left: 0;
     left: auto;
     right: var(--padding);
}

main>.product-page #technical-downloads .tech-info-image.blue {
     background: var(--Q-Tran-blue);
}

main>.product-page #technical-downloads .tech-info-image.blue .tech-content {
     color: #fff;
}

main>.product-page #technical-downloads .tech-info-image.blue .tech-content:before {
     border-color: #fff;
}

main>.product-page #technical-downloads .tech-info-image.blue .tech-content h3 {
     color: #fff;
}

main>.product-page #technical-downloads .tech-info-image.blue .tech-content ul li:before {
     background-image: url(/images/bullet-white.svg);
}

main>.product-page #technical-downloads .tech-info-image.blue .tech-image:before {
     border-color: #fff;
}

main>.product-page #technical-downloads .tech-info-image .tech-image:only-child {
     padding-bottom: 40%;
}

main>.product-page #technical-downloads .tech-info-image .tech-image:only-child:before {
     border: 2px solid #fff;
     left: var(--padding);
     right: var(--padding);
     width: calc(100% - 3.75rem);
}

main>.product-page #compatible-products .product-list {
     display: grid;
     gap: 1em;
     grid-template-columns: 1fr 72.625em 1fr;
}

main>.product-page #compatible-products .products-wrapper {
     grid-column: 2;
     grid-row: 1;
     min-width: 0;
     padding: 0 var(--padding) 2.75rem;
     position: relative;
     width: 100%;
}

main>.product-page #compatible-products ul.products {
     display: grid;
     gap: 1.5em;
     grid-template-columns: repeat(auto-fill, minmax(min(13.75em, 100%), 1fr));
}

main>.product-page #compatible-products ul.products .product {
     margin: 0;
     width: 100%;
}

main>.product-page #compatible-products .sidebar {
     width: 100%;
}

main>.product-page #compatible-products .sidebar .filters {
     max-width: 18.75rem;
     padding-left: 1.125rem;
}

main>#product-actions {
     display: flex;
     flex-direction: column;
     gap: 1px;
     position: fixed;
     right: 0;
     top: 10.8125rem;
     transition: ease all 200ms;
     z-index: 2;
}

main>#product-actions.slide {
     transform: translateX(10em);
}

.management main>#product-actions {
     top: 13rem;
}

.management2 main>#product-actions {
     top: 15.1875rem;
}

main>#product-actions :is(.button, button) {
     align-content: center;
     align-items: center;
     border-bottom-right-radius: 0;
     border-top-right-radius: 0;
     display: flex;
     font-size: 0.875em;
     height: 3.125rem;
     justify-content: flex-start;
     line-height: 1em;
     padding: 0 1em 0 0;
     text-align: left;
     text-transform: uppercase;
     white-space: nowrap;
}

main>#product-actions> :is(button.with-icon, .button.with-icon):before {
     border: 0;
     content: "";
     display: block;
     height: auto;
     height: 3.125rem;
     left: auto;
     position: relative;
     width: 3.125rem;
}

main>#product-actions.slide> :is(button.with-icon, .button.with-icon):is(:hover, :focus-within) {
     transform: translateX(calc(-100% + 3.5em));
}

main>#product-actions :is(.button.compare-product, button.compare-product):before {
     background: url(/images/icons/button-icon-compare-product-v2.svg) no-repeat center / contain;
}

main>#product-actions :is(.button.request-info, button.request-info):before {
     background: url(/images/icons/button-icon-request-info-v2.svg) no-repeat center / contain;
}

main>#product-actions :is(.button.find-a-rep, button.find-a-rep):before {
     background: url(/images/icons/button-icon-find-a-rep-v2.svg) no-repeat center / contain;
}

main>#product-actions :is(.button.newsletter-signup, button.newsletter-signup):before {
     background: url(/images/icons/button-icon-newsletter-signup-v2.svg) no-repeat center / contain;
}

/* 1440px */
@media screen and (max-width: 90em) {
     main > .product-page #compatible-products .product-list {
          grid-template-columns: auto 1fr;
     }
}
