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

body.slideNav {overflow: hidden}

h1, .heading-1, .product-page .content h2 {font-size: 2.25em; line-height: 1em;}


/* header */
body>header {background: #00283A; padding-bottom: 2.5rem; position: relative; width: 100%; z-index: 11}
body>header:before{content: "";opacity: 0; z-index: 3;background-color: #000;display: block;position: fixed;left:100vw;top:0;width:100vw;height:100vh;-webkit-transition:left 0ms ease 200ms, opacity 200ms ease;transition:left 0ms ease 200ms, opacity 200ms ease}
body.slideNav>header:before{left:0;opacity: .85;-webkit-transition:left 0ms ease 0ms, opacity 200ms ease;transition:left 0ms ease 0ms, opacity 200ms ease}

#brand {display: block; height:3.25rem; float: left; width: 12.125em; padding:0.75em 0 0.75em 0.5em}
#brand img {display: block; margin: 0 auto;max-width:100%; height: auto}
#navContainer{position: fixed;left: 100%; top:0; overflow: auto; padding-bottom:3em; height: 100%; bottom:0;width: 80%;background: #005E88;z-index:99;-webkit-transition: left 200ms ease;transition: left 200ms ease}
.slideNav #navContainer{left: 20%;}
#navContainer nav{display: inline}
#navContainer ul{display: block;float: left;width: 100%;margin: 0;padding-left: 0}
#navContainer > a {border-top: 1px solid rgba(255,255,255,0.125)}
#navContainer li{display:block; border-top: 1px solid rgba(255,255,255,0.125); float: left;width: 100%; position: relative}
#navContainer a, #navContainer .menu{color:#fff;font-size: 0.875rem; line-height:2.5rem;padding:0 1rem;display:block;float: left;width: 100%}
#navContainer #mainnav > ul > li:nth-child(2),
#navContainer #mainnav > ul > li:nth-child(3),
#navContainer #mainnav > ul > li:nth-child(4) {display: none}
#navContainer #mainnav > ul > li > a {padding-right: 3rem}
#navContainer #mainnav > ul > li > ul > li > ul a {padding-left: 3rem; line-height: 1.25em; font-size: 0.75rem}
#navContainer li.on a{background-color:#2B95C5;color: #fff}
#navContainer .menu {border-top: 1px solid rgba(255,255,255,0.125)}
#navContainer .menu span {float: right; font-size: 2em;line-height: 1.25;}
#navContainer li.open{background-color: rgba(0,0,0,0.25)}
#navContainer li li {border: 0}
#navContainer li>span{background-color: rgba(0,0,0,0.25); z-index: 2; border-radius: 50%; display: block; position: absolute; right: 0.5rem; top: .25em; height: 2rem; width: 2rem; text-align: center; -webkit-transition: transform .2s ease; -webkit-transition: -webkit-transform .2s ease; transition: -webkit-transform .2s ease; transition: transform .2s ease; transition: transform .2s ease, -webkit-transform .2s ease;}
#navContainer li>span:after{content: "";-webkit-transform: translate(50%, -50%) rotate(90deg);transform: translate(50%, -50%) rotate(90deg);position: absolute;right: 50%;top: 50%;-webkit-transition-duration: .25s;transition-duration: .25s;display: block;width: 14px;height: 2px;background: #fff;}
#navContainer li>span:before{content: ""; position: absolute; right: 50%; top: 50%; -webkit-transform: translate(50%, -50%); transform: translate(50%, -50%); display: block; width: 14px; height: 2px; background: #fff;}
   #navContainer li.open>span:before{-webkit-transform: translate(50%, -50%) rotate(90deg);transform: translate(50%, -50%) rotate(90deg);}
#navContainer li.open>span{-webkit-transform: rotate(90deg);transform: rotate(90deg); background: rgba(255,255,255,0.125)}
#navContainer ul ul {font-size: .8em; display: none}
#navContainer ul #megamenu {display: none}
#navContainer #megamenu ul {font-size: .8em; display: block}
#navContainer ul ul a {padding: 0.75em 3rem 0.75em 2rem; line-height: 1.25em}
#navContainer #ancillary > *:not(ul) {clear: both; overflow: auto; background: rgba(0,0,0,0.5); color: #fff;}
#navContainer #ancillary > .search {padding: 0.75rem 1rem;}
#navContainer #ancillary > .search .search-wrapper {position: relative; overflow: auto; background: #fff}
#navContainer #ancillary > .search label {text-transform: capitalize; display: block; font-size: 0.875rem; margin-bottom: 0.25em;}
#navContainer #ancillary > .search input {display: block; float: left; vertical-align: top}
#navContainer #ancillary > .search input[type="text"] {font-family: "Gotham Cond SSm A", "Gotham Cond SSm B", sans-serif; width: calc(100% - 2rem); height: 2rem; background: none; border: 0; padding:0 0.5rem; -webkit-transition: ease all 200ms; transition: ease all 200ms;}
#navContainer #ancillary > .search input[type="submit"] {width: 2rem; height: 2rem; background: url(/images/search.svg) no-repeat center; background-size:16px 16px; border: 0; padding:0}
#ancillary .search-wrapper>div{display: none;}
#navContainer #ancillary .icon-login:after {content: "Login";}
#navContainer #ancillary .icon-cart:after {content: "Cart";}
#ancillary .account > div > .icon-cart span {position: absolute; top: 50%; right: 1em; width: 1.75em; height: 1.75em; background: red; color: #fff; border-radius: 50%; font-size: 1em; line-height: 1.75em; font-weight: 600; font-family: "Gotham A", "Gotham B", sans-serif; text-align: center; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
#navContainer #ancillary .account a,
#navContainer #ancillary .phone a {position: relative; padding-left: 2.5rem; border-top: 1px solid rgba(255,255,255,0.1)}
#navContainer #ancillary .account svg {position: absolute; top:50%; left: 1rem; width:1.5em; -webkit-transform: translateY(-50%); transform: translateY(-50%)}
#navContainer #ancillary .account svg path {fill:#2B95C5}
#navContainer #ancillary .phone a {background: url(/images/icons/icon-phone.svg) no-repeat 1.14rem center}
#navContainer #ancillary > ul > li:first-child {display: none}

body>header .mobile-wrap {clear: both; position:absolute; top:3.25rem; left:0; width:100%; background: #007DB5; overflow: hidden}
body>header .mobile-wrap.fixed {position:fixed; top:0}
body>header .mobile-wrap #mobilenav{float: right;width: calc(100% - 4.38rem);text-align: center;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;}
body>header .mobile-wrap #mobilenav a,
body>header .mobile-wrap #mobilenav .menu,
body>header .mobile-wrap .account a{color: #fff; font-size: 0.875em; line-height: 2.5rem; height: 2.5rem; padding: 0;
    -ms-flex-order: 0;
    -webkit-box-ordinal-group: 1;
            order: 0;
    -ms-flex: 1 1 auto;
    -webkit-box-flex: 1;
            flex: 1 1 auto;
    -webkit-align-self: auto;
    -ms-flex-item-align: auto;
    align-self: auto;}
body>header .mobile-wrap #mobilenav *+* {border-left: 1px solid rgba(0,0,0,0.25)}
body>header .mobile-wrap #mobilenav .menu span {pointer-events: none; display: inline-block; height: 2.5rem; width: 0.75rem; margin-left:0.125em; vertical-align: top; background: url(/images/m/hamburger-white.svg) no-repeat center / 0.75rem auto}
body>header .mobile-wrap .account {display: block; float: left; width:4.38rem; background: rgba(0,0,0,0.25); padding:0 0.25em;}
   body>header .mobile-wrap .account a {display: block; position: relative; padding: 0; width:50%; float: left; text-align: center;}
   body>header .mobile-wrap .icon-cart span {position: absolute; top: 0.31rem; right: 0; width: 0.88rem; height: 0.88rem; background: red; color: #fff; border-radius: 50%; font-size: 0.63rem; line-height: 0.88rem; font-weight: 600; font-family: "Gotham A", "Gotham B", sans-serif;}
   body>header .mobile-wrap .account svg {vertical-align: middle; display: inline-block}
   body>header .mobile-wrap .account path {fill: #fff;}
   body>header .mobile-wrap .account a:hover path {fill: #fff;}
body>header aside.phone {position: absolute; top: 0; right: 0; line-height: 3.25rem}
body>header aside.phone a {padding: 0; color: #2B95C5; display: inline-block; font-size: 0.8em; padding: 0 1rem 0 1.125rem; background: url(/images/icons/icon-phone.svg) no-repeat center left}

#ancillary #cart-popover {display: none}
/* hamburger */
.hamburger{height: 2.625rem;width: 2.625rem;display: block;position: fixed;right: 0;top:0;z-index:2;opacity: 0;
        background: #fff url(/images/m/hamburger.svg) no-repeat center center;
        background-size: 65%;
}
.hamburger.on{opacity: .25}

/* shopping header */
body>header.shopping-header {position: relative}
body>header.shopping-header #brand {margin: 0 auto; float: none; padding: 0.75em 0}
body>header.shopping-header .cart-options {display: none; padding:0 1em 1em; text-align: center; width: 100%;}
body>header.shopping-header .cart-options ul {margin: 0;}
body>header.shopping-header .cart-options li {display: block; margin-bottom: 0.25em; vertical-align: middle;}
	body>header.shopping-header.stick .cart-options li {line-height: 2.75em}
body>header.shopping-header .cart-options li .button {display: block; line-height: 1em; font-family: "Gotham A", "Gotham B", sans-serif; font-size: 0.875em; font-weight: 500}

/* #alertApp, #alertApp.alertStatic:hover {background: #8A1538} */

#content {padding: 1em 1em 2em}
.content ul li::before {background-position: center left}
main > div > aside {padding: 2em 1em}
main > div > aside ul {margin: 0}
blockquote {margin: 2em 0}
#content img {height: auto; max-width: 100%;}
.product-page .product-image img {max-height: 10em; width: auto;}
.photoright{margin:0 0 .75em 1em;}
.photoleft{margin:0 1em .75em 0;}
.checklist #resources > :where(a, div) {margin-left: 0}
.twoCol, .threeCol, .resCol{
-webkit-columns: auto;
        columns: auto;
-webkit-column-width: 13em;
        column-width: 13em;}
.content ul li {padding-left: 1.5em;}
.formTable, .formTable table{width:100%;display: block}
.formTable tbody{display: block}
.formTable tr{display: block}
.formTable:not(.checkout-table) td{display: block;width:100% !important;padding: 0}
.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 select,
.formTable textarea{margin-bottom:1em; width:100% !important}
.formTable select {width: 100%; overflow: hidden}

.grid-mice {background: url(/images/bg-mice.svg) no-repeat calc(50% - 32.81em) 2.5em, url(/images/bg-grid.png) repeat; background-size: auto 100%, 6px 6px}

.home #search {padding: 3em 1em 6em; background: url(/images/bg-mice.svg) no-repeat calc(50% - 32.81em) 2.5em, url(/images/bg-grid.png) repeat; background-size: auto 100%, 6px 6px}
.home #search #large-search input[type="text"] {font-size: 0.9em}
.home #search #large-search input[type="submit"] {background-size: 1.5em 1.5em}

.CTA h2 {font-size: 2em}
.CTA a span:first-of-type {display: block; margin-bottom: 0.5rem}
.CTA br {display: none}

.interior > main {padding-top: 2.5rem}

.home #search #large-search {margin-bottom: 2em}
.home .featured-product {padding:3em 0 0;}
.home .featured-product .product-image {height: 10em; margin-bottom: 1em; text-align: center; position: relative; z-index: 1;}
.home .featured-product .product-image img {max-width: 20em; max-height: 100%; width:auto; height: auto}
.home .featured-product .product-bg {width: 100%; height: 100%; background-size: cover; background-position: center bottom; position: absolute; top: 0; left: 0;}
.home .featured-product .product-info {z-index: 2; text-align: center; padding: 2em 1em;}
.home .featured-product .product-info h2, #home-somno h2 {font-size: 2.5em}
.home .featured-product .product-info p, #home-somno p {font-size: 1.5em}
/* .home .featured-product.certified:before { display: block; position: absolute; z-index: 3; top: 1em; left:1em; content: ""; width: 6em; height: 6em; background: url(/images/seal.png) no-repeat center; background-size: 6em 6em;} */
.home .featured-product .secondary-image {display: none;}

.home #images .left, .home #images .right {display:none;}

#home-somno{
	padding:2em 1em;
	grid-template-columns: 100%;
	grid-template-areas:
		"heading"
		"flo-img"
		"flo-quote"
		"suite-img"
		"suite-quote"
		"somno-cta"
		;
	justify-content: stretch;
	text-align: center;
}
#home-somno img{
	max-width:auto;
	max-height:auto;
	max-width:40vmin;
	max-height:40vmin;
}
#home-somno-cta{margin-top:3rem}

.icon-links li+li,
.product-image-list li+li {margin-top: 2em}
.product-list {padding:3em 1.5em}

.bg-blue {padding: 3em 1.5em;}
.whats-new .block { padding: 2em 1em 3em}
.whats-new .block+.block {margin-top: 1em;}
.whats-new .block .button {margin-top: 0.5em}

.products .product-image-list.categories li {padding: 0}
.products .product-image-list.categories li:before {display: none}

.askAQuestion {right: 0.625rem; bottom:6.875rem}
.askAQuestion a {width: 2.5em; height: 2.5em; display: block; padding: 0; text-align: center; border-radius: 50%;}
.askAQuestion a::before {left:50%; margin:0; transform: translate(-50%, -50%)}
.askAQuestion a span {display: none;}

.modular-solutions,
#special-promotion {padding:3em 1em;}
#special-promotion .wrap .product-image {position: relative; margin: 0 auto 2em}
#special-promotion .wrap .product-image img {max-width: 100%; height:auto}
#special-promotion.seal .wrap .product-image::before {display: block;position: absolute;top: 1.5em;left: 0;content: "";width: 5em;height: 5em;background: url(/images/seal.png) no-repeat center;background-size: 5em 5em;}
#special-promotion .wrap .product-info {text-align: left; clear: both}

#dynamic-content {padding: 2em 1em}
#dynamic-content .content .photoright {position: relative; width: 100%; margin: 1em auto}


/* Video Gallery */
#video-gallery .video-gallery-bottom .category-filters {padding: 0 1rem; margin-bottom:1rem}
#video-gallery .video-gallery-bottom .category-filters .title {display: flex;justify-content: center;align-items: center;}
#video-gallery .video-gallery-bottom .category-filters .title button {margin-left:1rem; font-family: var(--gotham-condensed); font-weight:600; font-size:1.125rem; padding: 0 0.75em; line-height: 35px;}
#video-gallery .video-gallery-bottom .category-filters .filters {display: none}
#video-gallery .video-gallery-bottom .video-category {padding: 2rem 1rem 1rem; background-attachment: fixed}
#video-gallery .video-gallery-bottom .video-category h2 {font-size: 1.875rem; position: sticky; top: 40px; background: #fff; padding: 0.5rem 0;}
#video-gallery .video-gallery-bottom .video-category:nth-child(even) h2 {background: url(/images/bg-grid.png) repeat top left / 6px 6px; background-attachment: fixed}
#video-gallery .video-gallery-bottom .video-category .video-list .video {width:calc(50% - 0.5rem); margin-right:1rem}
#video-gallery .video-gallery-bottom .video-category .video-list .video:nth-child(even) {margin-right:0}
#video-gallery .video-gallery-bottom .video-category .video-list .video.featured {width: 100%;}


/* Rattus et al. Journal */
.rattus-et-al-journal h2 {
	font-size: 2em;
}

.rattus-et-al-journal .top:only-child {
        padding-bottom: 4em;
}

.rattus-et-al-journal .top .content > div:not(:last-child) {
        margin-bottom: 1.5em;
}

.rattus-et-al-journal .journal {
        padding: 1.25em 4.25em 1.25em 1.25em;
}

.rattus-et-al-journal .journal-filters {
        display: flex;
        flex-direction: column;
        margin-bottom: 1.5em;
        padding-top: 2.8125em;
        position: relative;
}

.rattus-et-al-journal .journal-filters > * {
        width: 100%;
}

.rattus-et-al-journal .journal-filters .title {
        position: absolute;
        top:0;
        width: calc(50% - 0.5em);
}

.rattus-et-al-journal .journal-filters .search .title {
        left:0;
}

.rattus-et-al-journal .journal-filters .filter-container .title {
        right:0;
}

.rattus-et-al-journal .journal-filters .title button {
        background: #E3F0F7;
        color: var(--dark-blue);
        font-family: var(--gotham-condensed);
        font-size:1.125rem;
        font-weight:600;
        line-height: 35px;
        padding: 0 0.75em;
        width: 100%;
}

.rattus-et-al-journal .journal-filters .title button.on {
        background: var(--dark-blue);
        color: #fff;
}

.rattus-et-al-journal .journal-filters .search-container,
.rattus-et-al-journal .journal-filters .filters {
        display: none;
}

.rattus-et-al-journal .journal-filters .search-container {
        margin-bottom: 1em;
}

.rattus-et-al-journal #article-archives {
        padding: 3em 1em;
}

.rattus-et-al-journal #submit-article {
        padding: 3em 1em 6em;
}

.rattus-et-al-journal #submit-article .checkboxes {
        flex-wrap:  wrap;
}

.rattus-et-al-journal #submit-article .checkboxes label {
        width: 50%;
}





/* PRODUCT CATEGORY PAGE - 'FEATURED PUBLICATIONS' RIBBON ------------------------------ */
#featured .wrap { padding-block: 2em; }
#featured article { margin: 0 0 2.5em; }
#featured h3 { font-size: 1.75em; }


.content .highlight {clear: both; padding: 1.25em; margin: 1.5em 0}

.content ul.product-image-list li {padding: 0; margin: 2em auto}
.content ul.product-image-list li:before {display: none}
.product-image-list .product-image {height: auto; max-width: 100%; margin-bottom: 0.25em}
.product-image-list .product-image img {max-height: 12em; position: relative; -webkit-transform: none; transform: none; top:auto; left:auto; height: auto; max-width: 12em; width:auto}
.product-image-list.related-featured .product-image img {max-height: 17em; max-width: 17em;}


.breadcrumb {font-size: 0.875em}

.product-page .product-info {margin-top: 0}
.product-page .product-image.icon:before {width:4em; height: 4em;}
.product-page .product-image.icon:after {width:4em; height: 4em;}
.product-page .configure-button {margin: 2em 0;}
.product-page .seekers {font-size: 0.8em; margin-top: 3rem}
.product-page .seekers a {padding: 1em 0.5em}
.product-page .down {display: none}
.product-page > *:not(.wrap) {padding: 2em 1em}
.product-page .block-heading {padding: 1em 1em 0;}
.checklist.arrows > li:not(#resources) {padding-right: 0}
.checklist #resources > .resource-list ul li {padding-left: 0}
.icon-title {overflow: auto; padding: 0.5em}
   a.icon-title {display: block; padding: 0; overflow: hidden}
.icon-title .icon {width: 3rem; height: 3rem}
.icon-title .heading-1,
.icon-title span,
.icon-title p {width: calc(100% - 3.5rem)}
.freeRightTemp {padding-left:4em; text-align:left;}
.product-table {margin-bottom: 1em}
.product-table th, .product-table tbody td {font-size:.85em; line-height: 1.3;}
.product-table > tbody > tr > td,
.product-table tfoot td {padding: 0.5em .5em}
.product-table.vaporizer-comparison th {vertical-align: bottom}
.product-table.vaporizer-comparison img {max-width: 5em; max-height: 5em;}
.product-table.tidal-volume-calculator tbody td {padding: 0.5em; width: 50%}
.product-table.tidal-volume-calculator tbody td:last-child {font-size: 1em}
.product-table.tidal-volume-calculator tbody td input {width: 4em; font-size: 1em}
.product-page .product-options {float:left; width:100%;}
.product-page .product-options .price-titles {display: none;}
.product-page .product-options .options .input-option {padding-left: 4.125rem; text-align: left}
.product-page .product-options .options > * {padding: 0.25em; position: relative}
.product-page .product-info .product-options label {
 -ms-flex-direction: column;
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
         flex-direction: column;
}
.product-page .product-info .product-options label .item-name, .product-page .product-info .product-options label .price, .product-page .product-info .product-options label .value, .product-page .product-info .product-options label .sku {float: left; width: 100%;}
.product-page .product-info .product-options label .price:before, .product-page .product-info .product-options label .value:before {color:#666; display: inline-block; font-size: 1rem; margin-right:.5em;}
.product-page .product-info .product-options label .price:before {content:"Your Price";}
.product-page .product-info .product-options label .value:before {content:"Value at";}

.product-page .product-options .options > .added .input-option,
.product-page .product-options .options > label .input-option {margin: -0.5em 0 0.25em}
.product-page .product-options .options .input-option .sale .sale-price {display: inline-block; margin-left: 0.125em}
.product-page .product-options .options .input-option .input-toggle,
.product-page .product-options .options .selected .input-option .input-toggle {background-position: center; width: 2.75rem; height: 2.75rem; right:1em; top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); position: absolute}
.product-page .product-options .options .input-option .input-toggle:after {display: none}
.product-page .product-info .product-options label .price {white-space: nowrap}
.product-page .product-options .add-product-to-cart {padding: 2em;}
.product-page .product-options .add-product-to-cart img {display: none}
.product-page .block + h2 {margin-top: 1em}
.product-page .bg-blue .wrap > *:not(h2) + * {margin-top: 3em}
.product-page .bg-blue aside .heading-1 {margin-top: 1em}
.product-page .cta-2 p {font-size: 1em; margin-top: 0.5em}
.product-page .block.accessories {padding: 2em 1em}
.product-page .accessories .product-link {margin: 2em 0; display: block}
.product-page .accessories .alternate {margin-top: 3em; width: 100%}
.product-page .accessories .alternate td {display: block; width:100%; text-align: center}
.product-page .accessories .alternate td:first-child {padding-top: 1em}
.product-page .accessories .alternate td:last-child {padding-bottom: 1em}
.product-page .product-info .add-to-cart {margin-bottom: 2em; overflow: auto; text-align: center;float: left;clear: both;position: relative;overflow: auto;width: 100%;}
.product-page #addToCartForm {display: block;position: relative;}
.product-page .button.packages {display: block; text-align: center;}

.product-page .add-product-to-cart .radio-options label {display: block}
.product-page .additional-options {text-align: center}
.product-page .additional-options label {display: block; margin: 0 0 0.5em}
.product-page .product-info .add-to-cart .product-number {float: left}
.product-page .product-info .add-to-cart .product-quantity {width: 100%; margin-bottom: 1em; text-align: center}
.product-page .product-info .add-to-cart .product-quantity span {display: block}
.product-page .product-info .add-to-cart .product-quantity input {max-width: 8em; margin-top: 0.25em}
.product-page .product-info .add-to-cart .product-price {display: block; width: 100%;}
        .product-page .product-info .add-to-cart.no-margin-bottom {overflow:hidden}
        .product-page .product-info .add-to-cart.no-margin-bottom .product-price {margin:0}
.product-page .product-info .add-to-cart .product-price:empty {display: none}
.saveForLater {display: block; margin-top: 1em;}
.product-page .product-info .add-to-cart button {width:100%}

.products.category.product-page .product-info .margin-top {margin-top: 2em}
.products.category.product-page .product-info .no-margin-top {margin-top: 0}
.products.category.product-page .product-info .no-margin-bottom {margin-bottom: 0}
.products.category.product-page .product-table.comparison th img {height: 3em}

.product-page .sticky-bottom-button {position: sticky; left:0; width: 100%; transition:ease all 200ms; margin-top:30px; padding: 0 1em 1em;position: -webkit-sticky;bottom: 0;background: #fff;}
.product-page .sticky-bottom-button.fixed {position: fixed; left:0; bottom:0; margin:0; z-index: 5;}
.product-page .sticky-bottom-button.hide {opacity:0; pointer-events: none;}
.product-page .sticky-bottom-button:before {content: "";display: block;position: absolute;top: -30px;width: 100%;left: 0;height: 30px; pointer-events: none; background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);}
.product-page .sticky-bottom-button button,
.product-page .sticky-bottom-button .button {display: block; width: 100%; text-align: center;}
.product-page .sticky-bottom-button button[disabled],
.product-page .sticky-bottom-button .button.disabled,
.product-page .sticky-bottom-button.disabled-style button,
.product-page .sticky-bottom-button.disabled-style .button {color: #000;background: #e5e9eb;}

.fade-out {opacity:1; transition:ease all 200ms}
.fade-out.animated {opacity:0}

.product-page > section.certified .wrap:before {
        background: url(/images/seal.png) no-repeat center / contain;
        content: "";
        display: block;
        height: 7em;
        margin-bottom: 1em;
        width: 7em;
    }

#Q-and-A button,
#reviews button {display: block; width: 100%; margin-bottom: 0.25em}
#reviews button {width: calc(100% - 2em);}
.productReviews .flex div:last-of-type a {float: none;}
#Q-and-A button:first-of-type, #reviews button:first-of-type, #reviews a.button {margin:2em auto;}
.ask-a-question, .write-a-review {border: none;}

.coda-kits td {display: block; width: 100%;}
.coda-kits td:first-of-type {padding-top:2em;}
.coda-kits td:last-of-type {border-bottom: 1px solid rgba(0,0,0,0.125); padding-bottom: 4em;}


#select-your-system .product-image-list a {padding: 1em 0.5em; overflow: auto}
#select-your-system .product-includes .product-checklist {padding: 1em 0.5em; overflow: auto}
#select-your-system .product-includes .product-checklist a.icon-title {margin-bottom: 1em}
#select-your-system .product-includes .product-checklist .checks > div {overflow: auto; padding: 0.25em; border-top: 1px dashed #E5E9EB}
#select-your-system .product-includes .product-checklist .checks > div::after {content: attr(data-attribute); display: block; float: left; max-width: calc(100% - 2.5em); padding: 0.5rem 0.5rem 0.5rem 3.25rem; font-size: 0.875em}
#select-your-system .product-includes .product-checklist .checks > div::before {display: block; float: right; position: relative; top: auto; left: auto; -webkit-transform:none; transform:none}

.product-page.type-c .product-image .main-image {margin-bottom: 1.5em}
.product-page .accessories .product-link img {max-width: 8.5em; max-height: 8.5em}
.award-winner+.award-winner  {margin-top: 1em}
.content .kgb-prizes {list-style: none; margin: 0; padding: 0; counter-reset: numbering-style;}
.content .kgb-prizes li {position: relative; padding: 2em 0 1em 3em}
.content .kgb-prizes li:before {position: absolute; left: 0; top: 1.19rem; content: counter(numbering-style); counter-increment: numbering-style; font-size: 3.5em; color: #8d0034; font-weight: 700; font-family: "Gotham A", "Gotham B", sans-serif;}
.content .kgb-prizes li strong {font-size: 1.5em; line-height: 1em; margin-bottom: 0.25em; color: #8d0034; display: block}
.content .kgb-prizes li a {font-weight:600}
.content .kgb-prizes li em {font-size: 0.875em; color: #666; margin-top: 0.25em; display: block}
.content .kgb-prizes li img {border-radius: 50%; max-width: 8em; height: auto; border: 4px solid #8d0034; display: none; margin-top: 1em}

.content .checkbox-list.species li input[type="checkbox"] {top: 0.5em}
.content .checkbox-list.species li span {display: block}

.icon-links li a {padding: 1.5em 1em; background: #FFFFFF;border: 1px solid rgba(138,21,56,0.30);border-radius: 8px;}
.icon-links li a:after {opacity: 1}
.home .icon-links li a span {display: none}
.checklist #resources {margin-top: 1.5em;}

#ConfigurePrice.price {text-align:center; width: 100%;}

#content .category-icons img{height:4em;width: auto;}

.tab .button {width:49%; padding: 0.7em 0; text-align: center}

.content .mobileTable th {display: none}
.content .mobileTable td {display: block; padding: 0.25em 1em; width: 100% !important}
.content .mobileTable td:before {content: attr(data-attribute); display: block; font-size: 0.75em; font-style: italic}
.content .mobileTable td:first-child {padding-top: 1em}
.content .mobileTable td:last-child {padding-bottom: 1em}

#popUp .popWrap {-webkit-transform: none;transform: none}

#contact-top {padding: 3em 1em}
#contact-top .clear-buttons > * {margin: 0.25em 0}
#entry-points {padding: 3em 1em}
#entry-points h2 {font-size: 2.25em}
#entry-points .support + .support {margin-top: 3em}
#entry-points .icon {margin-bottom: 1em}

.content .icon-list:before{left: .25em;}
.contact-form input,.contact-form select,.contact-form textarea,.contact-form form>label,.contact-form form>div {width:100%;display: block;float: left;}
.contact-form label, .contact-form input[type="submit"], .contact-form form>div{margin-top: 1rem;}
.contact-form input[name="City"]{width: 60%;}
.contact-form input[name="State"]{width: calc(40% - .75rem);margin-left: .75rem}
.international{clear: left;}
.international .threeCol{-webkit-columns:1;columns:1;}

#demo-list > .demo {margin: 0 0 1.5rem}

/* Buy More */
.buyMore.callout {margin: 2em 0;}
.buyMore.callout.promo .modules3 {margin-top: 2em;}
.buyMore.callout.promo .modules2 img {width:16.5em;}
.buyMore.modules2 img {width:16.5em;}
.buyMore .title {font-size:1.25em;}
.buyMore.callout .desc {margin-top:1em;}

/* SIGNAL */
/* .signal .flex .main-post {padding-right: 1rem;padding-left: 1rem;} */
        .signal .wrap .content svg, .signalBanner svg {
                padding-top: 1em;
                margin-bottom: 1em;
        }
	.signal .flex .main-post-image {margin-bottom: 1rem; width: 75%}
	.signal .flex .main-post-image, .signal .flex .main-post {width: 100%;}
        .signal .flex .main-post-image .main-image {text-align: center;}

	.signal #content .flex.flex-3 .secondary-post {margin: 0 1rem 2rem; display: block;}
        .signal .flex-3 {padding-top: 2rem;}
        .signal .secondary-post img {width: 100%;}

	.signal .flex.divided > *+* {padding-left: 0;}
	.tertiary-post-content {width: calc(50% - 1rem); margin-left: 1rem;}
	#content .tertiary-post img {width: calc(50% - 1rem);}
	.signal .tertiary-post {padding-bottom: 2rem;border-bottom: 1px solid rgba(0,0,0,0.2);}
	.signal .flex.flex-2.divided {border-bottom: 0; padding-top: 2rem;}
	.signal .news-sections a + a {
		margin: .5rem;
	}
        .tertiary-post-content p {margin-bottom: 0;}
        .signal .wrap .content svg, .signalBanner svg {max-width: 100%;}

/* CORONAVIRUS RESEARCH PRODUCTS & Product Packages */
.coronavirus #content {padding: 1em 0 0;}
.packages #content {padding: 0;}
.coronavirus .content > .wrap, .coronavirus-product-category > .wrap, .packages .content > .wrap, .packages .product-category > .wrap   {padding-left: 5vw; padding-right: 5vw;}
.coronavirus-product-category .content-left h2, .packages .product-category .content-left h2 {font-size: 2em;}
.coronavirus-product-category > .wrap, .packages .product-category > .wrap {flex-direction: column;}
.coronavirus-product-category .wrap ul li, .packages .product-category .wrap ul li {width: calc(50% - 0.5rem); padding-left: 0;}
.coronavirus-product-category .wrap ul li:nth-of-type(odd), .packages .product-category .wrap ul li:nth-of-type(odd) {margin-left: 0;}
.coronavirus-product-category .wrap ul li:nth-of-type(n+3), .packages .product-category .wrap ul li:nth-of-type(n+3) {margin-top: 1rem;}
#content .coronavirus-product-category .wrap ul li img, .packages #content .product-category .wrap ul li img {height: 9.4375rem; width: auto;}
#content .coronavirus-product-category .wrap ul li img.small-img, .packages #content .product-category .wrap ul li img.small-img {max-width: 40%;}
.covid-update, .packages-update {background-position: 65% 90%;}
.coronavirus-product-category .wrap ul li a, .packages .product-category .wrap ul li a {padding: 1.5rem 1rem;}
.covid-update > .wrap > .covid-update-content, .packages-update > .wrap > .packages-update-content {width: 100%;background: rgba(0,0,0,.6);padding: 5.5rem 5vw;}
.covid-update.top h1, .covid-update.top p, .packages-update.top h1, .packages-update.top p {color: #fff;}

.packages nav {padding: 1em;}
.packages nav a {display: block;}
.packages nav a:before {display: none;}

.mobile-flex-wrapper {display: -ms-flexbox;display: -webkit-flex;display: flex;-webkit-flex-direction: column;-ms-flex-direction: column;flex-direction: column;-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: stretch;-ms-flex-line-pack: stretch;align-content: stretch;-webkit-align-items: stretch;-ms-flex-align: stretch;align-items: stretch;}
.mobile-flex-wrapper .mobile-flex-order-1 {order:1}
.mobile-flex-wrapper .mobile-flex-order-2 {order:2}
.mobile-flex-wrapper .mobile-flex-order-3 {order:3}
.mobile-flex-wrapper .mobile-flex-order-4 {order:4}
.mobile-flex-wrapper .mobile-flex-order-5 {order:5}
        .mobile-flex-wrapper .mobile-flex-order-5.sticky-bottom-button {padding-left:0; padding-right:0}
.mobile-flex-wrapper .mobile-flex-order-6 {order:6}
.mobile-flex-wrapper .mobile-flex-order-7 {order:7}
.mobile-flex-wrapper .mobile-flex-order-8 {order:8}
.mobile-flex-wrapper .mobile-flex-order-9 {order:9}
.mobile-flex-wrapper .mobile-flex-order-10 {order:10}

.customer-account-info {padding:1.5em 1em; margin:2em 0; box-shadow: 0 5px 20px rgba(0,0,0,0.125); border-radius: 5px; padding: 1.5em;}
.customer-account-info .account-options {margin-top:1em; line-height:5px}
.customer-account-info .account-options p {margin:0}
.customer-account-info .account-options .button {font-size: 0.875rem; line-height:1em; display: block; text-align: center;}

.order-list table {border:0}
.order-list tr th {display: none}
.order-list tr {display: block; margin:0 0 1em; padding:1em; border:1px solid #ccc; width: 100%; float:left; text-align:left !important}
.order-list tr td {display: block; padding:0; border:0; width: 100%; float:left; text-align:left !important}
.order-list tr td:before {content:attr(data-attribute); font-size:0.875rem; display: inline-block; width:69px; color:#666}

/* Cart */
#content .checkout .left .items span, #content .checkout .left .items .remove, #content .checkout .left .items .saveForLater {display: inline-block !important;}
#content .checkout .left .items .remove, #content .checkout .left .items .saveForLater {margin: 0.25em}

.checkout-process.user-sign-in main {padding-top: 0;}
.checkout-process.user-sign-in .sign-in-options > * {padding: 2rem 1.4375rem; width:100%}
.checkout-process.user-sign-in .sign-in-options > *+* {margin-top: 2rem}
.checkout-process.user-sign-in .sign-in-options h2 {font-size: 1.75rem; margin-bottom: 0.5em}
.checkout-process.user-sign-in .sign-in-options .account p {margin-bottom:0.5em}

#content .checkout-table.guest-checkout {width:100%}
#content .checkout-table.guest-checkout input {margin:0}
#content .checkout-table.guest-checkout td {padding: 0 0 0.5em}
#content .checkout-table.guest-checkout td,
#content .checkout-table.guest-checkout.location-selector tr {float: left; width:100%; padding-right:0}
#content .checkout-table.guest-checkout.location-selector tr,
#content .checkout-table.guest-checkout.location-selector td {padding:0}
#content .checkout-table.guest-checkout.location-selector td:last-child {padding-bottom:0.5em}
#content .checkout-table.guest-checkout.location-selector td select,
#content .checkout-table.guest-checkout.location-selector td input {width:100%}
#content .checkout-table.guest-checkout td[colspan="2"] {width:100%; display: block}
#content .checkout-table.guest-checkout td td {float:left}

.contact-form > div:first-child .scroll-links {
        margin-bottom: 2em;
}

#find-a-distributor {clear: both;padding: 3rem 1rem;margin-top: 3em;margin-left: -1rem;margin-right: -1rem;background: url(/images/bg-grid.png) repeat top left / 6px 6px;border: 1px solid #E9F3FB;float: left;width: calc(100% + 2rem);}
#find-a-distributor .toggle-buttons button {display: none}
#find-a-distributor .find-by-location form {display: flex; align-content: flex-end; align-items:flex-end; justify-content: space-between;}
#find-a-distributor .find-by-location form label {width:calc(100% - 3.75rem); float:left; display: block;}
#find-a-distributor .find-by-location form input {width:100%; padding:0 1em; height:2.5rem}
#find-a-distributor .find-by-location form button {padding:0 1em; line-height:2.5rem;}
#find-a-distributor .find-by-location-results {margin-top:4rem;}
#find-a-distributor .find-by-location-results h3 span {display: block; font-family:"Gotham Cond SSm A", "Gotham Cond SSm B", "Arial Narrow", sans-serif; font-size:1.625rem; color:var(--red)}
#find-a-distributor .find-by-location-results h3 strong {display: block}
#find-a-distributor .find-by-map {display: none}
#find-a-distributor .find-by-map figure {margin:0}
#find-a-distributor .find-by-map .map-results {margin:1rem 0 4rem; display: grid; grid-template-rows: 1fr 1fr 1fr 1fr;grid-template-columns: 1fr 1fr 1fr 1fr;}
#find-a-distributor .find-by-map .map-results section {padding: 2rem}
#find-a-distributor .find-by-map .map-results section:not(:target):hover {background:none}
#find-a-distributor .find-by-map .all-other-locations {text-align: center;}
#find-a-distributor .find-by-map .all-other-locations .button {margin-top:1em}

#find-vaporizer-services {
        clear: both;
        padding: 3rem 0;
}

.toggle-buttons .sub-heading {
        text-align: left;
}

#find-vaporizer-services .contact-block {
        padding: 1.5em 1em 2em;
}

.showing-live-chat #cookies {padding-bottom:6.25rem}


/* footer */
body>footer {text-align: center}
body>footer .fatFooter nav ul {margin-bottom: 1em}
body>footer .EmailSignup {margin: 1.75em auto}

body>footer .wrap{
	display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
            align-items: stretch;
}
#web-solutions{margin-top: 1em;
 -ms-flex-order: 1;
 -webkit-box-ordinal-group: 2;
         order: 1;
}
body>footer .wrap nav a+span:before {content: "|"; margin: 0 0.5em}

#cookies button {display: block; margin:1em auto 0;}

.desktopOnly {display: none !important;}


/* PUBLICATIONS LANDING PAGE ------------------------------ */
.publications .wrap {
	padding-inline: 1em;
}

#intro { padding-block: 2.5em 1em; }
#intro article { margin: 0 0 2em; }

#intro article .image {margin: 0 0 1em;}

#intro time {
  display: block;
  font-size: .875em;
  margin: 0 0 .1875em;
}

#intro h3 {
  font-size: 1.1875em;
}

/* PUBLICATIONS ***** */
#publications h2 { font-size: 1.5em; }

#publications .filters {
	background-position: right center;
  padding-block: 2em;
}

#publications form>div:nth-child(-n+2) { margin: 0 0 2em; }

#publications :where(th, td) { padding: .5em .5em }

#publications :is(thead th:first-of-type, tbody tr>td:first-of-type) { padding-left: 1em; }
#publications :is(thead th:last-of-type, tbody tr>td:last-of-type) { padding-right: 1em;}


/* MEDIA QUERIES ------------------------------ */
/* 500 */
@media (max-width: 31.25em) {
        #content .tertiary-post img {
                width: 85%;
                margin: 0 1rem 1rem;
        }
        .tertiary-post-content {
                width: 100%;
                padding-right: 1rem;
        }

        .coronavirus-product-category .wrap ul li {width: 100%; padding-left: 0;}
        .coronavirus-product-category .wrap ul li + li {margin-top: 1rem; margin-left: 0;}

}





