@charset "UTF-8";
/******************************************************************
Site Name: PSG Biotech Interphex 2025
Stylesheet: Main Stylesheet
******************************************************************/
@import "../css/bootstrap.min.css";
/******************************************************************
SCSS Variables
******************************************************************/
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans-VariableFont_YTLC.ttf");
  font-weight: 300 400 500 600 700 800;
  font-style: normal;
}
@font-face {
  font-family: "Nunito Sans";
  src: url("../fonts/NunitoSans-Italic-VariableFont_YTLC.ttf");
  font-weight: 300 400 500 600 700 800;
  font-style: italic;
}
/******************************************************************
Forms
******************************************************************/
/***** Hubspot Contact Forms *****/
fieldset {
  max-width: 100% !important;
}

fieldset > div {
  margin-bottom: 12px !important;
}

fieldset label {
  font-size: 16px;
}

.hs-form h3, .hbspt-form h3, .cta-content h3 {
  margin-top: 24px;
}

.hs-form ul.inputs-list, .hbspt-form ul.inputs-list, .cta-content ul.inputs-list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}

.hs-form ul.inputs-list li.hs-form-booleancheckbox, .hbspt-form ul.inputs-list li.hs-form-booleancheckbox, .cta-content ul.inputs-list li.hs-form-booleancheckbox {
  margin: 0;
}

.hs-form ul.inputs-list li.hs-form-booleancheckbox input, .hbspt-form ul.inputs-list li.hs-form-booleancheckbox input, .cta-content ul.inputs-list li.hs-form-booleancheckbox input {
  margin-right: 10px;
}

.hs-form ul.inputs-list li.hs-form-radio input, .hbspt-form ul.inputs-list li.hs-form-radio input, .cta-content ul.inputs-list li.hs-form-radio input {
  margin-right: 10px;
}

.hs-form select:not(.primary), .hs-form input[type=text], .hs-form input[type=email], .hs-form input[type=tel], .hs-form input[type=number], .hs-form textarea, .hbspt-form select:not(.primary), .hbspt-form input[type=text], .hbspt-form input[type=email], .hbspt-form input[type=tel], .hbspt-form input[type=number], .hbspt-form textarea, .cta-content select:not(.primary), .cta-content input[type=text], .cta-content input[type=email], .cta-content input[type=tel], .cta-content input[type=number], .cta-content textarea {
  display: block;
  width: 100% !important;
  height: 44px;
  background-color: #fff;
  background-image: none;
  background-clip: padding-box;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  color: #495057;
  padding: 0.375rem 0.75rem;
  border: 1px solid #C7CCD1;
  border-radius: 0;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

.hs-form select:not(.primary), .hbspt-form select:not(.primary), .cta-content select:not(.primary) {
  width: calc(50% - 90px);
  margin-bottom: 5px;
}

.hs-form textarea, .hbspt-form textarea, .cta-content textarea {
  height: 150px;
}

.hs-form .hs-dependent-field > div, .hbspt-form .hs-dependent-field > div, .cta-content .hs-dependent-field > div {
  padding-top: 12px;
}

.hs-form .hs-dependent-field > div:first-of-type, .hbspt-form .hs-dependent-field > div:first-of-type, .cta-content .hs-dependent-field > div:first-of-type {
  padding: 0;
}

.hs-form .legal-consent-container ul, .hbspt-form .legal-consent-container ul, .cta-content .legal-consent-container ul {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}

.hs-form .legal-consent-container ul li label, .hbspt-form .legal-consent-container ul li label, .cta-content .legal-consent-container ul li label {
  position: relative;
  font-size: 14px;
  font-weight: 500;
}

.hs-form .legal-consent-container ul li label input, .hbspt-form .legal-consent-container ul li label input, .cta-content .legal-consent-container ul li label input {
  top: 5px;
  position: absolute;
}

.hs-form .legal-consent-container ul li label span, .hbspt-form .legal-consent-container ul li label span, .cta-content .legal-consent-container ul li label span {
  display: inline-block;
  padding-left: 24px;
  margin: 0;
}

.hs-form .legal-consent-container ul li label span p, .hbspt-form .legal-consent-container ul li label span p, .cta-content .legal-consent-container ul li label span p {
  font-size: 14px !important;
}

.hs-form ul.hs-error-msgs, .hbspt-form ul.hs-error-msgs, .cta-content ul.hs-error-msgs {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}

.hs-form ul.hs-error-msgs li, .hbspt-form ul.hs-error-msgs li, .cta-content ul.hs-error-msgs li {
  margin: 0 !important;
}

.hs-form ul.hs-error-msgs label, .hbspt-form ul.hs-error-msgs label, .cta-content ul.hs-error-msgs label {
  font-size: 14px;
  color: #c70e23;
  margin-bottom: 0;
}

.hs-form .hs-recaptcha, .hbspt-form .hs-recaptcha, .cta-content .hs-recaptcha {
  margin-bottom: 24px;
}

.hs-form .hs-recaptcha .grecaptcha-badge, .hbspt-form .hs-recaptcha .grecaptcha-badge, .cta-content .hs-recaptcha .grecaptcha-badge {
  box-shadow: #C7CCD1 0px 0px 1px !important;
}

.hs-form input[type=submit], .hbspt-form input[type=submit], .cta-content input[type=submit] {
  background-color: #004A8C;
  font-family: "proxima-nova", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff !important;
  margin: 0 15px 24px 0;
  padding: 10px 24px;
  border-radius: 0;
  border-color: transparent;
  transition: background-color 0.24s ease-in-out;
  white-space: normal;
}

.hs-form input[type=submit]:hover, .hs-form input[type=submit]:active, .hs-form input[type=submit]:focus, .hs-form input[type=submit]:active:hover, .hs-form input[type=submit]:active:focus, .hbspt-form input[type=submit]:hover, .hbspt-form input[type=submit]:active, .hbspt-form input[type=submit]:focus, .hbspt-form input[type=submit]:active:hover, .hbspt-form input[type=submit]:active:focus, .cta-content input[type=submit]:hover, .cta-content input[type=submit]:active, .cta-content input[type=submit]:focus, .cta-content input[type=submit]:active:hover, .cta-content input[type=submit]:active:focus {
  color: #fff !important;
  background-color: #103370;
  border-color: transparent;
}

.hbspt-form .field {
  margin-bottom: 24px;
}

.hbspt-form .field.hs-fieldtype-booleancheckbox {
  margin: 0;
}

.hbspt-form input[type=submit] {
  margin: 0;
}

.cta-content input[type=text] {
  height: 40px;
}

.cta-content select:not(.primary) {
  height: 40px;
}

.form-group.repair-kit {
  margin-bottom: 40px;
  overflow: hidden;
}

.form-group.repair-kit label {
  display: block;
}

.form-group.repair-kit input[type=text] {
  float: left;
  max-width: 300px;
  height: 44px;
  margin-right: 15px;
  margin-bottom: 12px;
}

.form-group.repair-kit input[type=button] {
  float: left;
}

/******************************************************************
Base Stylesheet
******************************************************************/
/*****************************************
** Base Styling 
*****************************************/
body {
  font-family: "Nunito Sans", Helvetica, Arial, sans-serif;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background-color: #f4f4f4;
  transition: background-color 0.24s ease-in-out;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Nunito Sans", Helvetica, Arial, sans-serif;
  font-weight: 500;
  color: #333333;
  line-height: 1.2;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 1.5vw;
}
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
  white-space: nowrap;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: #006499;
  border-bottom: solid 1px transparent;
  transition: color 0.24s ease-in-out, border-color 0.24s ease-in-out;
}
h1 a:hover, h1 a:active, h1 a:focus, h1 a:active:hover, h1 a:active:focus, h2 a:hover, h2 a:active, h2 a:focus, h2 a:active:hover, h2 a:active:focus, h3 a:hover, h3 a:active, h3 a:focus, h3 a:active:hover, h3 a:active:focus, h4 a:hover, h4 a:active, h4 a:focus, h4 a:active:hover, h4 a:active:focus, h5 a:hover, h5 a:active, h5 a:focus, h5 a:active:hover, h5 a:active:focus, h6 a:hover, h6 a:active, h6 a:focus, h6 a:active:hover, h6 a:active:focus {
  text-decoration: none;
  color: #002133;
  border-color: #002133;
}

h1 {
  font-size: 3.5vw;
}
h1 span, h1 .subtitle {
  display: block;
  font-size: 2vw;
}
h1 span sup, h1 .subtitle sup {
  font-size: 55%;
  top: -0.75em;
  margin-left: 0.2em;
}

h2 {
  font-size: 2vw;
}

h3 {
  font-size: 1.75vw;
}

h4 {
  font-size: 1vw;
}

.link {
  cursor: pointer;
}

img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  border: none;
}

p, li {
  font-size: 1.2vw;
  line-height: 1.5;
}
p a, li a {
  color: #006499;
  border-bottom: solid 1px transparent;
  transition: color 0.24s ease-in-out, border-color 0.24s ease-in-out;
}
p a:hover, p a:active, p a:focus, p a:active:hover, p a:active:focus, li a:hover, li a:active, li a:focus, li a:active:hover, li a:active:focus {
  color: #002133;
  text-decoration: none;
  border-color: #002133;
}

p {
  margin-bottom: 2vw;
}
p.larger {
  margin: 0;
}

.centered {
  text-align: center;
}

/*****************************************
** SVG Container + Functionality
*****************************************/
.svg-wrapper {
  width: 100vw;
  height: 100vh;
}

.svg-container {
  display: block;
  position: relative;
  margin: auto;
  max-width: 1920px;
  max-height: 1080px;
  box-shadow: 0 0 12px 0px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}

/** Loading Screen **/
#cover {
  background: url(../images/loading.svg) no-repeat scroll center center #FFF;
  position: absolute;
  width: 100vw;
  height: 100vh;
  z-index: 100;
}

.overlay {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(57, 62, 62, 0.75);
  z-index: 14;
}

/*
 * Header
 */
#ipd-header {
  background: url(../images/header.png) center no-repeat;
  background-size: 101%;
  position: absolute;
  top: 0;
  width: 100%;
  padding: 0 0 13% 0;
  z-index: 11;
}
#ipd-header .emblem {
  position: absolute;
  width: 7%;
  top: 7%;
  left: 2%;
  display: none;
}
#ipd-header h1 {
  position: absolute;
  top: 18%;
  left: 11%;
  color: #008DA5;
  display: none;
}
#ipd-header .btn-swap {
  display: none;
}
#ipd-header .btn-swap.show + .js-btn {
  display: none;
}
#ipd-header .show {
  display: block;
}
#ipd-header #logo {
  position: absolute;
  width: 8%;
  top: 7%;
  right: 2%;
}
#ipd-header [id^=btn_genetherapy] {
  position: absolute;
  width: 4.75%;
  top: 10%;
  right: 28.5%;
}
#ipd-header [id^=btn_lab] {
  position: absolute;
  width: 4.75%;
  top: 10%;
  right: 23%;
}
#ipd-header [id^=btn_upstream] {
  position: absolute;
  width: 4.75%;
  top: 10%;
  right: 17.5%;
}
#ipd-header [id^=btn_downstream] {
  position: absolute;
  width: 4.75%;
  top: 10%;
  right: 12%;
}

/*
 * Drawer
 */
#btn_product-selector_header {
  position: absolute;
  width: 5%;
  top: 13%;
  left: 58%;
}

#drawer {
  background: url(../images/drawer.png) top center no-repeat;
  background-size: 101%;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 0%;
  padding: 6% 0 0 0;
  z-index: 11;
  transition: height 0.5s ease-in-out;
}
#drawer #btn_product-selector {
  position: absolute;
  width: 5%;
  top: 32%;
  right: 18.75%;
  transition: top 0.5s ease-in-out;
}
#drawer.open {
  height: 75%;
}
#drawer.open #btn_product-selector {
  top: 2%;
}

/*
 * Brand Banner
 */
.brand-banner {
  position: absolute;
  bottom: 0px;
  width: 100%;
  height: 11%;
  z-index: 15;
}
.brand-banner .logo {
  height: 85%;
  padding: 0.7vw;
  width: 25%;
}
.brand-banner .logo img {
  height: 100%;
}
.brand-banner .nav-links {
  position: absolute;
  right: 1vw;
  bottom: 0;
}
.brand-banner .nav-links button {
  font-size: 1.05vw;
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  background-color: #006499;
  border: 0;
  padding: 0.4vw 1vw;
  display: block;
}

#btnFullscreen {
  position: absolute;
  display: block;
  right: 0.1vw;
  bottom: 0.1vw;
  color: #008DA5;
  padding: 7px 10px 5px;
  border-radius: 100px;
}

.brand-banner-bglayer {
  position: absolute;
  background: rgba(255, 255, 255, 0.6);
  bottom: 0px;
  border-bottom: 0.5vw solid #006499;
  width: 100%;
  height: 11%;
  z-index: 10;
}

/*
 * Default Screen Options
 */
.screen {
  position: absolute;
  top: 0vw;
  left: 0vw;
  right: 0vw;
  bottom: 0vw;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 0;
  transition: 0.2s all ease;
}
.screen.popup {
  background: rgba(57, 62, 62, 0.75);
  transition: none;
}
.screen.popup [class*=back].close {
  position: absolute;
  top: 8%;
  left: 92%;
  z-index: 16;
  opacity: 1;
  transition: 0.2s opacity ease;
}
.screen.popup [class*=back].close img {
  width: 40%;
}
.screen.popup [class*=back].close:hover {
  opacity: 0.75;
}
.screen.popup .wrapper {
  position: absolute;
  top: 3vw;
  left: 3vw;
  right: 3vw;
  bottom: 3vw;
  width: calc(100% - 6vw);
  height: calc(100% - 6vw);
  background: #fff;
}
.screen.popup .wrapper .sidebar {
  display: flex;
  padding-top: 3%;
  padding-left: 2.6%;
}
.screen.popup .wrapper .sidebar .nav-wrapper {
  width: 75%;
}
.screen.popup .wrapper .sidebar h2 {
  font-size: 1.5vw;
  font-weight: 800;
}
.screen.popup .wrapper .sidebar h2, .screen.popup .wrapper .sidebar li, .screen.popup .wrapper .sidebar span {
  color: #fff;
}
.screen.popup .wrapper .sidebar ul {
  padding: 0;
  position: absolute;
  top: 35%;
  width: 100%;
}
.screen.popup .wrapper .sidebar ul li {
  font-size: 1vw;
  font-weight: 600;
  list-style: none;
  line-height: 1.5;
  margin-bottom: 15%;
}
.screen.popup .wrapper .sidebar ul li.current:before {
  content: "◆";
  position: absolute;
  margin-top: -2.5%;
  left: -7%;
  font-size: 1.5vw;
}
.screen.popup .wrapper .sidebar .back-app {
  position: absolute;
  font-weight: 800;
  text-transform: uppercase;
  top: 93%;
  left: 7%;
}
.screen .wrapper {
  width: 100%;
  height: 100%;
}
.screen.hide #index-title.title {
  display: block !important;
}
.screen.hide .callout, .screen.hide .box-modal, .screen.hide .title {
  display: none !important;
}
.screen.in-progress .replay-index-btn, .screen.in-progress .toggle-callout {
  pointer-events: none !important;
  background-color: #627b92 !important;
}
.screen.active {
  opacity: 1;
  z-index: 10;
}
.screen.active.popup {
  z-index: 15;
}
.screen.active .callout {
  display: block;
}
.screen.active .callout.embedded {
  display: inline-block;
  border-bottom: 2px solid #006499;
  color: #006499;
}
.screen .category-textbox {
  position: absolute;
  top: 92%;
  left: 20%;
  max-width: 80%;
  width: auto;
  color: #333333;
  z-index: 15;
}
.screen .category-textbox .title {
  font-size: 1.5vw;
  margin-bottom: 0.2vw;
  color: #333333;
}
.screen .category-textbox p {
  font-size: 1.3vw;
  margin-bottom: 0px;
}
.screen .box-modal {
  width: 75%;
}

/*
 * Pop Ups
 */
.box-modal {
  z-index: 10;
  background: #fff; /* The Fallback */
  background: rgba(255, 255, 255, 0.8);
  padding: 1.7vw;
}
.box-modal ul {
  margin: 0;
  padding: 0 0 0 2vw;
}
.box-modal ul li {
  margin: 1vw 0;
}
.box-modal .row {
  display: flex;
  align-items: center;
}

/*
 * Videos
 */
.video-container {
  display: none;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}
.video-container #video-player {
  width: 100%;
  z-index: 0;
}
.video-container.play {
  display: block;
}

#replay,
.replay-index {
  position: absolute;
  padding: 1vw;
  z-index: 11;
}
#replay .replay-btn i,
#replay .replay-index-btn i,
.replay-index .replay-btn i,
.replay-index .replay-index-btn i {
  margin-left: 7px;
}
#replay.active,
.replay-index.active {
  display: block;
}

#replay {
  display: none;
  top: 1vw;
  right: 1vw;
}

.replay-index {
  display: block;
  top: 0vw;
  right: 0vw;
}
.replay-index.disable {
  display: none;
}

.toggle-box-modal {
  position: absolute;
  padding: 1vw;
  z-index: 11;
  display: block;
  top: 0vw;
  right: 0vw;
}
.toggle-box-modal .toggle-box-modal-btn i {
  margin-left: 7px;
}

.hide-box-modal .box-modal {
  display: none;
}

/*
 * Toggles & Back Buttons
 */
.js-btn {
  cursor: pointer;
}

.toggle-callout {
  position: absolute;
  top: 10%;
  left: 95%;
  padding: 0.6vw 1vw !important;
}
.toggle-callout.disable {
  display: none;
}

#back {
  display: none;
  position: absolute;
  top: 1vw;
  left: 1vw;
  z-index: 10;
}
#back .back-btn {
  padding: 0.5vw 1vw;
  font-size: 1.5vw;
}
#back.active {
  display: block;
}

/*
 * Pulse Options
 */
.pulse {
  width: 48px;
  height: 48px;
  text-indent: -9999px;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: #6DCFF6 0 7px 20px;
  transition: background-color 0.24s ease-in-out;
  z-index: 25;
}
.pulse:not(.disabled):hover, .pulse:not(.disabled):active, .pulse:not(.disabled):focus, .pulse:not(.disabled):active:hover, .pulse:not(.disabled):active:focus {
  background-color: #006499;
}
.pulse.pulse-close {
  background: #006499 url("../images/icon_close.svg") no-repeat center center;
  background-size: 16px;
}
.pulse:hover, .pulse:active, .pulse:focus, .pulse:active:hover, .pulse:active:focus {
  background-color: #004366;
  animation: none;
}
.pulse.text-label {
  text-indent: 0px;
  width: auto !important;
  height: auto !important;
  border-radius: 100px;
  font-size: 1.2vw;
  padding: 0.6vw 1.5vw;
  color: #fff;
  font-weight: bold;
  background: rgba(0, 141, 165, 0.8);
  border: #fff 1px solid;
}
.pulse.text-label.reversed {
  border: 0.2vw solid #006499;
  color: #006499;
  background-color: transparent;
  padding: 0.4vw 1.5vw;
}
.pulse.product-button:hover, .pulse.product-button:active, .pulse.product-button:focus, .pulse.product-button:active:hover, .pulse.product-button:active:focus {
  background-color: #006499;
  text-decoration: none;
}
.pulse:not(.text-label) {
  background: #006499 url("../images/icon_plus.svg") no-repeat center center;
  background-size: 16px;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
  }
  70% {
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}
/*****************************************
** SVG Styling + Touchpoints/Modals
*****************************************/
/*
 * Major Customization
 */
svg {
  max-width: 1920px;
  max-height: 1080px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}
svg.contained {
  height: 100%;
}
svg.intro {
  background-image: url("../images/Clean-Room_DownStream_Layout.jpg");
  transition: background-image 0.2s ease-in-out;
}
svg.upstream {
  background-image: url("../images/Clean-Room_UpStream_Layout.jpg");
  transition: background-image 0.2s ease-in-out;
}
svg.processdev, svg.lab {
  background-image: url("../images/Clean-Room_ProcessDev_Layout.jpg");
  transition: background-image 0.2s ease-in-out;
}
svg.genetherapy {
  background-image: url("../images/Clean-Room_Cell_Gene_Therapy_Layout.jpg");
  transition: background-image 0.2s ease-in-out;
}

#intro-callout {
  position: absolute;
  top: calc(50% - 2vw);
  left: calc(50% - 4.25vw);
  padding: 1vw 1.5vw 1vw 1.75vw;
  font-size: 2vw;
}

#index-screen #index-title {
  max-width: 36%;
}

.back {
  position: absolute;
  top: 0%;
  left: 0%;
}

.row.products {
  align-items: center;
  justify-content: center;
  height: 90%;
  margin: 0vw 1vw;
}
.row.products .product {
  background-color: rgba(0, 141, 165, 0.8);
  border: #fff 1px solid;
  box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-align: center;
  padding: 2vw;
  font-weight: bold;
}
.row.products img {
  width: 100%;
}

.row.product-feature,
.row.application-feature {
  align-items: stretch;
  justify-content: space-between;
  height: 100%;
  margin: 0;
}
.row.product-feature h3,
.row.application-feature h3 {
  color: #008DA5;
  text-transform: none;
}
.row.product-feature p,
.row.application-feature p {
  font-size: 1vw;
  margin-bottom: 1.25vw;
}
.row.product-feature p + h3,
.row.application-feature p + h3 {
  margin-top: 2.25vw;
}

.row.product-feature > .col-9,
.row.application-feature > .col-9 {
  max-height: 100%;
  height: 100%;
}

.row.application-feature .content-wrapper {
  height: 100%;
}
.row.application-feature .content-wrapper > .col-7 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 3vw 0 5vw;
}
.row.application-feature .content-wrapper > .col-7 img {
  max-height: 30%;
  margin: 3vw auto 3vw;
}
.row.application-feature .content-wrapper > .col-5:before {
  content: "";
  background: #ADBABB;
  position: absolute;
  top: 5%;
  left: 0;
  height: 90%;
  width: 1px;
}
.row.application-feature .content-wrapper > .col-5 .row.app-product-wrapper {
  width: 94%;
  margin-left: 2%;
  align-items: center;
}
.row.application-feature .content-wrapper > .col-5 .row.app-product-wrapper:first-child {
  margin-top: 20%;
}
.row.application-feature .content-wrapper > .col-5 .row.app-product-wrapper:not(:first-child) {
  margin-top: 6%;
}
.row.application-feature .content-wrapper > .col-5 .row.app-product-wrapper h4 {
  color: #7C8687;
  font-weight: 700;
  text-transform: none;
  margin-bottom: 3%;
}
.row.application-feature .content-wrapper > .col-5 .row.app-product-wrapper h4 + span {
  color: #008DA5;
  font-weight: 800;
  font-size: 0.8vw;
}
.row.application-feature .content-wrapper > .col-5 .row.app-product-wrapper h4 + span i {
  margin-left: 1%;
}

.row.product-feature .sidebar ul > li {
  width: 70%;
}
.row.product-feature .sidebar ul > li.current:before {
  margin-top: -2.75% !important;
  left: -8% !important;
}
.row.product-feature .content-wrapper {
  padding-top: 6%;
}
.row.product-feature .content-wrapper [class*=product] img {
  width: 90%;
}
.row.product-feature .content-wrapper .product-image {
  display: flex;
  align-items: center;
}
.row.product-feature .content-wrapper .product-image img {
  margin: auto;
}
.row.product-feature .content-wrapper .product-content {
  padding: 2% 4%;
}
.row.product-feature .content-wrapper .product-content ol {
  width: 98%;
  -moz-columns: 2;
  columns: 2;
  -moz-column-gap: 7%;
  column-gap: 7%;
  list-style: none;
  counter-reset: li-counter;
}
.row.product-feature .content-wrapper .product-content ol li {
  counter-increment: li-counter;
  font-size: 0.9vw;
  margin-bottom: 4%;
  -moz-column-break-inside: avoid;
  break-inside: avoid-column;
}
.row.product-feature .content-wrapper .product-content ol li strong {
  color: #008DA5;
  font-weight: 800;
}
.row.product-feature .content-wrapper .product-content ol li::before {
  content: counter(li-counter);
  color: #fff;
  font-weight: 800;
  width: 2vw;
  max-width: 40px;
  height: 2vw;
  max-height: 40px;
  background: #008DA5;
  border-radius: 100vw;
  display: block;
  text-align: center;
  padding: 0.3vw;
  position: absolute;
  margin-top: -0.5%;
  margin-left: -3.5%;
}

#quattroflow-product,
#sumoflo-product,
#flosu-product,
#clampon-product {
  background-image: url(../images/bg-sidebar-product.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#chromatography-app,
#g-chromatography-app {
  background-image: url(../images/bg-sidebar-app-chromatography.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#inlinebuffer-app {
  background-image: url(../images/bg-sidebar-app-inlinebuffer.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#tff-app,
#g-tff-app {
  background-image: url(../images/bg-sidebar-app-tff.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#virusfiltration-app,
#p-virusfiltration-app {
  background-image: url(../images/bg-sidebar-app-virusfiltration.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#bioreactor-app,
#g-bioreactor-app {
  background-image: url(../images/bg-sidebar-app-bioreactor.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#centrifuge-app,
#p-centrifuge-app {
  background-image: url(../images/bg-sidebar-app-centrifugation.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#depthfiltration-app,
#p-depthfiltration-app,
#g-depthfiltration-app {
  background-image: url(../images/bg-sidebar-app-depthfiltration.png);
  background-repeat: no-repeat;
  background-size: contain;
}

/*
 * Callout Locations
 */
#callout-d-quattroflow {
  position: absolute;
  top: 82%;
  left: 13%;
}

#callout-u-quattroflow {
  position: absolute;
  top: 82%;
  left: 54.5%;
}

#callout-p-quattroflow {
  position: absolute;
  top: 82%;
  left: 33.5%;
}

#callout-g-quattroflow {
  position: absolute;
  top: 82%;
  left: 33.5%;
}

#callout-d-sumoflo {
  position: absolute;
  top: 82%;
  left: 33%;
}

#callout-u-sumoflo {
  position: absolute;
  top: 82%;
  left: 33%;
}

#callout-p-sumoflo {
  position: absolute;
  top: 82%;
  left: 75%;
}

#callout-g-sumoflo {
  position: absolute;
  top: 82%;
  left: 75%;
}

#callout-d-flosu {
  position: absolute;
  top: 82%;
  left: 55.5%;
}

#callout-u-flosu {
  position: absolute;
  top: 82%;
  left: 14%;
}

#callout-p-flosu {
  position: absolute;
  top: 82%;
  left: 55.5%;
}

#callout-g-flosu {
  position: absolute;
  top: 82%;
  left: 14%;
}

#callout-d-clampon {
  position: absolute;
  top: 82%;
  left: 75.5%;
}

#callout-u-clampon {
  position: absolute;
  top: 82%;
  left: 75.5%;
}

#callout-p-clampon {
  position: absolute;
  top: 82%;
  left: 13.5%;
}

#callout-g-clampon {
  position: absolute;
  top: 82%;
  left: 55%;
}

#callout-chromatography {
  position: absolute;
  top: 54.5%;
  left: 24%;
}

#callout-g-chromatography {
  position: absolute;
  top: 53%;
  left: 43%;
}

#callout-inlinebuffer {
  position: absolute;
  top: 33%;
  left: 41.5%;
}

#callout-tff {
  position: absolute;
  top: 31%;
  left: 70%;
}

#callout-g-tff {
  position: absolute;
  top: 37%;
  left: 32%;
}

#callout-virusfiltration {
  position: absolute;
  top: 34%;
  left: 10%;
}

#callout-p-virusfiltration {
  position: absolute;
  top: 38%;
  left: 50.5%;
}

#callout-bioreactor {
  position: absolute;
  top: 32%;
  left: 21%;
}

#callout-g-bioreactor {
  position: absolute;
  top: 53%;
  left: 29%;
}

#callout-centrifuge {
  position: absolute;
  top: 41%;
  left: 38%;
}

#callout-p-centrifuge {
  position: absolute;
  top: 37%;
  left: 21%;
}

#callout-depthfiltration {
  position: absolute;
  top: 34%;
  left: 50%;
}

#callout-p-depthfiltration {
  position: absolute;
  top: 43%;
  left: 78%;
}

#callout-g-depthfiltration {
  position: absolute;
  top: 43%;
  left: 72%;
}

#callout-d-upstreamdoor {
  position: absolute;
  top: 28%;
  left: 61%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-u-genetherapydoor {
  position: absolute;
  top: 28%;
  left: 61%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-p-upstreamdoor {
  position: absolute;
  top: 28%;
  left: 61%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-g-processdoor {
  position: absolute;
  top: 28%;
  left: 61%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-d-processdoor {
  position: absolute;
  top: 28%;
  left: 89%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-u-downstreamdoor {
  position: absolute;
  top: 28%;
  left: 89%;
  width: 8vw !important;
  max-width: 155px;
  height: 21vw !important;
  max-height: 400px;
  border-radius: 0;
  opacity: 0;
}

#callout-p-genetherapydoor {
  position: absolute;
  top: 28%;
  left: 89%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-g-upstreamdoor {
  position: absolute;
  top: 28%;
  left: 89%;
  width: 8vw !important;
  max-width: 155px;
  height: 21vw !important;
  max-height: 400px;
  border-radius: 0;
  opacity: 0;
}

#callout-d-genetherapydoor {
  position: absolute;
  top: 28%;
  left: 1%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-u-processdoor {
  position: absolute;
  top: 28%;
  left: 1%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-p-downstreamdoor {
  position: absolute;
  top: 28%;
  left: 1%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

#callout-g-downstreamdoor {
  position: absolute;
  top: 28%;
  left: 1%;
  width: 8vw !important;
  max-width: 155px;
  height: 18vw !important;
  max-height: 350px;
  border-radius: 0;
  opacity: 0;
}

/* PRODUCT SELECTOR */
.product-selector h2 {
  color: #008DA5;
  font-weight: 400;
  font-size: 40px;
  text-align: center;
}

.product-selector #gauge {
  max-height: 375px;
}

.product-selector .owl-stage {
  align-items: center;
  display: flex;
}

.product-selector .large-12.columns {
  width: 100%;
}

.product-selector .filter-wrap label {
  font-weight: 100;
}

.product-selector .filter-wrap select {
  padding: 5px 10px;
  border: #616e6e 1px solid;
}

.product-selector .filter-flowrange-container,
.product-selector .filter-product-container {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 30px;
}

.product-selector .filter-flowrange-container > div,
.product-selector .filter-product-container > div {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  align-content: center;
  gap: 5px;
}

.product-selector .filter-flowrange-container label,
.product-selector .filter-product-container label {
  margin-bottom: 0 !important;
  margin-top: 2px;
}

.product-selector [name=filter-product].qf {
  border-left: #5c9db3 10px solid;
}

.product-selector [name=filter-product].qb {
  border-left: #65c4d5 10px solid;
}

.product-selector [name=filter-product].biopro {
  border-left: #616e6e 10px solid;
}

.product-selector [name=filter-product].sumoflo {
  border-left: #9d9fa2 10px solid;
}

.product-selector .filter-flowrange-container h6,
.product-selector .filter-product-container h6 {
  margin-bottom: 2px !important;
}

.product-selector .filters {
  display: flex;
  justify-content: flex-end;
  gap: 30px;
  flex-wrap: wrap-reverse;
  padding-bottom: 20px;
}

.product-selector .owl-carousel .owl-item.center img {
  padding: 5px;
  /*border: 2px dotted #d5d5d5;*/
}

.product-selector .owl-item:not(.center) {
  padding: 20px;
  opacity: 0.5;
}

.product-selector .owl-item:not(.center) p {
  visibility: hidden;
}

.product-selector p.flowmax {
  display: inline-flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-content: center;
  align-items: center;
  margin-bottom: 0;
  color: #818b8b;
  font-size: 20px;
}

.product-selector p.flowmin {
  display: none;
}

.product-selector p.title a,
.product-selector p.title span {
  font-size: 20px;
  padding: 5px 30px;
  color: #fff;
  border-radius: 200px;
  display: block;
}

.product-selector [data-type=sumoflo] p.title a,
.product-selector [data-type=sumoflo] p.title span {
  background-color: #9d9fa2;
}

.product-selector [data-type=qb] p.title a,
.product-selector [data-type=qb] p.title span {
  background-color: #65c4d5;
}

.product-selector [data-type=qf] p.title a,
.product-selector [data-type=qf] p.title span {
  background-color: #5c9db3;
}

.product-selector [data-type=biopro] p.title a,
.product-selector [data-type=biopro] p.title span {
  background-color: #616e6e;
}

.product-selector .owl-button button,
.product-selector .owl-button button:hover,
.product-selector .owl-button button:active {
  border-radius: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 25px;
  font-weight: bold;
  color: #616E6E;
  padding: 0 15px;
  cursor: pointer;
}

.product-selector .owl-button span {
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 100;
}

.product-selector .buttons-wrap {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
}

@media screen and (max-width: 768px) {
  .product-selector .buttons-wrap {
    flex-wrap: wrap;
    width: 100%;
    justify-content: center !important;
  }
  .product-selector .filters {
    justify-content: center !important;
  }
  .product-selector p.title a,
  .product-selector p.title span,
  .product-selector p.flowmax {
    font-size: 14px !important;
    padding: 5px 5px !important;
  }
}
.product-selector .owl-drag {
  pointer: grab;
}

.product-selector .owl-drag.owl-grab {
  pointer: grabbing;
}

.product-selector-wrapper {
  justify-content: center;
  margin-top: 2%;
}

.product-selector .item {
  text-align: center;
}

@media only screen and (min-aspect-ratio: 16/9) {
  /******************************************************************
  Base Stylesheet
  ******************************************************************/
  /*****************************************
  ** Base Styling 
  *****************************************/
  body {
    width: 100vw;
    height: 100vh;
  }
  h1, h2, h3, h4, h5, h6 {
    margin-bottom: 2.5vh;
  }
  h1 {
    font-size: 6.5vh;
  }
  h1 span, h1 .subtitle {
    font-size: 4vh;
  }
  h2 {
    font-size: 4vh;
  }
  h3 {
    font-size: 2.75vh;
  }
  h4 {
    font-size: 2vh;
  }
  p, li {
    font-size: 1.2vh;
  }
  p {
    margin-bottom: 4vh;
  }
  /*
   * Brand Banner
   */
  .brand-banner .logo {
    padding: 1.4vh;
  }
  .brand-banner .nav-links {
    right: 2vh;
  }
  .brand-banner .nav-links button {
    font-size: 2.1vh;
    padding: 0.8vh 2vh;
  }
  #btnFullscreen {
    right: 0.2vh;
    bottom: 0.2vh;
  }
  /*
   * Default Screen Options
   */
  .screen.popup .wrapper {
    position: absolute;
    top: 6vh;
    left: 6vh;
    right: 6vh;
    bottom: 6vh;
    width: calc(100% - 12vh);
    height: calc(100% - 12vh);
    background: #fff;
  }
  .screen.popup .wrapper .sidebar h2 {
    font-size: 3vh;
  }
  .screen.popup .wrapper .sidebar ul li {
    font-size: 2vh;
  }
  .screen.popup .wrapper .sidebar ul li.current:before {
    font-size: 3vh;
  }
  .screen .category-textbox .title {
    font-size: 3vh;
    margin-bottom: 0.4vh;
  }
  .screen .category-textbox p {
    font-size: 2.6vh;
  }
  /*
   * Pop Ups
   */
  .box-modal {
    padding: 3.4vh;
  }
  .box-modal ul {
    padding: 0 0 0 4vh;
  }
  .box-modal ul li {
    margin: 2vh 0;
  }
  #replay,
  .replay-index {
    padding: 2vh;
  }
  #replay {
    top: 1vh;
    right: 1vh;
  }
  .toggle-callout {
    padding: 1.2vh 2vh !important;
  }
  #back {
    top: 2vh;
    left: 2vh;
  }
  #back .back-btn {
    padding: 1vh 2vh;
    font-size: 3vh;
  }
  /*
   * Pulse Options
   */
  .pulse.text-label {
    font-size: 2vh;
    padding: 1.2vh 3vh;
  }
  .pulse.text-label.reversed {
    border: 0.4vh solid #006499;
    padding: 0.8vh 3vh;
  }
  #intro-callout {
    top: calc(50% - 4vh);
    left: calc(50% - 8.5vh);
    padding: 2vh 3vh 2vh 3.5vh;
    font-size: 4vh;
  }
  .row.products {
    margin: 0vh 2vh;
  }
  .row.products .product {
    padding: 4vh;
  }
  .row.product-feature p,
  .row.application-feature p {
    font-size: 2vh;
    margin-bottom: 2.5vh;
  }
  .row.product-feature p + h3,
  .row.application-feature p + h3 {
    margin-top: 4.5vh;
  }
  .row.application-feature .content-wrapper > .col-7 {
    padding: 0 6vh 0 10vh;
  }
  .row.application-feature .content-wrapper > .col-7 img {
    margin: 6vh auto 6vh;
  }
  .row.application-feature .content-wrapper > .col-5 .row.app-product-wrapper h4 + span {
    font-size: 1.6vh;
  }
  .row.product-feature .content-wrapper .product-content ol li {
    font-size: 1.8vh;
  }
  .row.product-feature .content-wrapper .product-content ol li::before {
    width: 4vh;
    height: 4vh;
    border-radius: 200vh;
    padding: 0.6vh;
  }
}
@media only screen and (min-width: 576px) {
  /******************************************************************
  Mobile Landscape Stylesheet
  ******************************************************************/
}
@media only screen and (min-width: 768px) {
  /******************************************************************
  Tablet Stylesheet
  ******************************************************************/
}
@media only screen and (min-width: 992px) {
  /******************************************************************
  Bootstrap Medium Stylesheet
  ******************************************************************/
}
@media only screen and (min-width: 1200px) {
  /******************************************************************
  Bootstrap Large Stylesheet
  ******************************************************************/
}
@media only screen and (min-width: 1575px) {
  /******************************************************************
  Bootstrap Large Stylesheet
  ******************************************************************/
}
@media only screen and (min-width: 1920px) and (max-aspect-ratio: 16/9) {
  /******************************************************************
  Bootstrap Large Stylesheet
  ******************************************************************/
  h1 {
    font-size: 70px;
  }
  h1 span, h1 .subtitle {
    font-size: 35px;
  }
  h3 {
    font-size: 33px;
  }
  h4 {
    font-size: 18px;
  }
  p, li {
    font-size: 30px;
  }
  .screen .title {
    padding: 15px;
  }
  .pulse.text-label {
    font-size: 19px;
    padding: 9px 30px;
  }
  .pulse.text-label.reversed {
    border-width: 3px;
    padding: 7px 30px;
  }
  #toggle-callout,
  #back .back-btn {
    padding: 10px 20px;
    font-size: 30px;
  }
  .box-modal ul {
    padding: 0 0 0 40px;
  }
  .box-modal ul li {
    margin: 20px 0;
  }
  .screen .category-textbox .title {
    font-size: 26px;
    margin-bottom: 5px;
    padding: 0px;
  }
  .screen .category-textbox p {
    font-size: 20px;
    margin-bottom: 0px;
  }
  .row.products {
    margin: 0 15px;
  }
  .row.products .product {
    padding: 30px;
  }
  .row.product-feature {
    margin: 0;
  }
  .row.product-feature .text-area {
    padding: 30px;
  }
  .row.product-feature .text-area h1 {
    font-size: 46px;
    margin-bottom: 15px;
    padding: 0px;
  }
  .row.product-feature .text-area h2 {
    font-size: 36px;
    margin-bottom: 18px;
  }
  .row.product-feature .text-area p, .row.product-feature .text-area li {
    font-size: 25px;
  }
  .row.product-feature .content-wrapper .product-content ol li {
    font-size: 17px;
  }
  .screen.popup .wrapper .sidebar h2 {
    font-size: 29px;
  }
  .screen.popup .wrapper .sidebar ul li {
    font-size: 19px;
  }
  .row.product-feature p, .row.application-feature p {
    font-size: 19px;
  }
  .row.application-feature .content-wrapper > .col-5 .row.app-product-wrapper h4 + span {
    font-size: 17px;
  }
  .screen.popup .wrapper .sidebar ul li.current:before {
    font-size: 30px;
  }
  .row.application-feature .content-wrapper > .col-7 {
    padding: 0 3.5em 0 6em;
  }
}
