/** Shopify CDN: Minification failed

Line 120:86 Expected ":"
Line 428:4 Expected identifier but found "1.25rem"

**/
/*

Please add any custom CSS code in here, it will be easier to transfer if updating themes.

We highly recommend labelling changes, or App installs, so these can also be updated or removed as needed.

cyan: #0eabd9
royal: #2e2892
red: #d73c2c

*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@900&display=swap');

.cyan {color:#0eabd9 !important}
.royal {color:#2e2892 !important}
.red {color:#d73c2c !important}
.white {color:#ffffff !important}

.bg-cyan {background-color:#0eabd9 !important}
.bg-royal {background-color:#2e2892 !important}
.bg-red {background-color:#d73c2c !important}
.bg-grey {background-color:#414042 !important}


/* -- header -- */
.header-wrapper.stuck .sticky-header-wrapper {padding:0}

/*.sticky-header-menu*/ .main-navigation-wrapper {width:800px}

@media only screen and (max-width: 1280px) {  
  .main-navigation-wrapper>ul.nav>li {padding:0 6px}
  .main-navigation-wrapper>ul.nav>li>a {font-size:0.65rem}
}


@media only screen and (max-width: 991px) {
  .sticky-header-menu .main-navigation-wrapper {width:440px}
  .sticky-header-menu .nav-pills>li {padding:0 6px}
  .sticky-header-menu .main-navigation-wrapper>ul.nav>li>a {font-size:0.65rem}
  .sticky-header-menu .sticky-header-icons {min-width:none}
 
  .portal-link-bar {display:none}
}


@media only screen and (min-width: 992px) {
.header-wrapper .site-header__logo {position:absolute; left:12px; top:13px;}
.header-menu-wrapper {position:absolute; left:50%; top:15px;-ms-transform: translateX(-50%); transform: translateX(-50%);}
body.announcement-yes .header-wrapper .site-header__logo, body.announcement-yes .header-menu-wrapper {top:53px}
  
.header-wrapper.stuck .site-header__logo {top:12px !important;}

.portal-link-bar {display:block;position:absolute; right:12px; top:12px; font-weight:normal !important; text-align:right; font-size:85%; width:120px}


}

/* icon only
.header-icons ul li a.usa span, .sticky-header-icon a.usa span {text-align:inherit !important; display:block; text-indent:-9999px; width:32px; height:24px; background:url(icon-usa.svg) 0 0 no-repeat;background-size: contain;}
*/

.header-icons ul li a.usa span, .sticky-header-icon a.usa span {text-align:inherit !important; display:block; width:110px; height:24px; background:url(icon-usa.svg) 0 0 no-repeat;background-size: contain; line-height:24px;padding-left:30px}

.sticky-header-icon a.usa span {margin-top:4px}
.mobile-menu li.usa span {display: inline-block;
text-indent: -9999px;
width: 24px;
height: 24px;
background: url(icon-usa.svg) center center no-repeat;
background-size: contain;
margin: 0 10px -6px 0;
position: relative;}

.header-wrapper.stuck a.usa {font-size:12px; color:#2d2791;white-space: nowrap; padding-right:12px; display:block}

/* -- custom layout (household dis) styles -- */


body.custom-layout #main > .container {max-width:none !important; padding:0}
body.custom-layout .header-wrapper {margin-bottom:0 !important}

body.custom-layout section {margin:0; padding:48px 0}
body.custom-layout .homepage-section--slideshow-wrapper section {padding:0 !important}

body.custom-layout footer {margin-top:0 !important}

body.custom-layout article.page {padding-bottom:0}
body.custom-layout .text-on-image-container .col-md-12 {padding:0}
body.custom-layout .text-on-image-container .hero:before {display:none}

body.custom-layout .prefooter_1-1 h4 /* left column of 2-col section */ {line-height:1.75; margin:0}

h2.xlarge {font-size:66px; line-height:1}

@media only screen and (max-width: 1300px) {
h2.xlarge {font-size:48px; line-height:1}
}

@media only screen and (max-width: 767px) {
  h2 {font-size:1.5rem}
  h2.xlarge {font-size:2rem; line-height:1}
  h3, h4  {font-size:1.25rem}
  
  .prefooter_2-1 h2, .prefooter_2-2 h2 {font-size:1.15rem}
  
 body section {padding-top:30px !important; padding-bottom:30px !important}
 body section.slider-section--image--slideshow, body section.block-type-2 {padding:0 !important}
}

.col-inner {padding:0 18px 36px 18px; position:relative}

.block-4col-icons .col-inner{padding-left:100px; padding-right:15%}
.block-4col-icons .col-inner img {position:absolute; left:0; top:0; width:75px; height 75px;}

@media only screen and (max-width: 767px) {
  .block-4col-icons .col-inner{padding-right:0%}
}

body.template-index .raw--html {padding:72px 0 76px 0%;color:#fff}

@media only screen and (max-width: 767px) {
body.template-index .raw--html {padding:48px 5%;}
}



/* -- custom layout (science) styles -- */
@media only screen and (min-width: 768px) {
  .block-type-2 {padding:0 !important}
.block-type-4 {padding:64px 0 48px 0 !important}
.block-type-5 {padding:72px 0 36px 0 !important}
.block-type-6 {padding:48px 0 72px 0 !important}
}

ul.ingredients, ul.ingredients ul, ul.ingredients li {list-style:none; padding:0; margin:0;display:block;}

ul.ingredients {margin-top:36px;}
ul.ingredients li {color:#ffffff;}
ul.ingredients li strong.row-head {color:#2e2892; display:block; width:30%; float:left}
ul.ingredients li ul {display:block; width:60%; float:left}
ul.ingredients li ul li {display:block; width:50%; float:left}

ul.ingredients > li:first-child {background:rgba(255,255,255,0.3);padding:20px; }
ul.ingredients > li:nth-child(2) {background:rgba(255,255,255,0.2);padding:20px;}
ul.ingredients > li:nth-child(3) {background:rgba(255,255,255,0.1);padding:20px 20px 0px 20px;}
ul.ingredients > li:nth-child(4) {background:rgba(255,255,255,0.1);padding:0px 20px 0px 20px;}
ul.ingredients > li:nth-child(5) {background:rgba(255,255,255,0.1);padding:0px 20px 20px 20px;}

@media only screen and (max-width: 767px) {
ul.ingredients li strong.row-head, ul.ingredients li ul {width:100%;}
  
.page-width_ {padding:0 6%}
}


ul.linklist-block8, ul.linklist-block8 li {list-style:none; padding:0; margin:0;display:block;}
ul.linklist-block8 li {margin-bottom:18px;}
ul.linklist-block8 li a {color:#fff; line-height:1; text-decoration:none; font-weight:bold}
ul.linklist-block8 li a:hover {text-decoration:underline}

@media only screen and (min-width: 992px) {
ul.linklist-block8 li a {font-size:22px;}
}

ol.highlight {
  counter-reset: my-awesome-counter;
  list-style: none;
  padding: 5px 0 0 40px;
}
ol.highlight li {
  margin: 0 0 0.5rem 0;
  counter-increment: my-awesome-counter;
  position: relative;
  font-size:80%;
  line-height:1; min-height:40px;
}
ol.highlight li::before {
  content: counter(my-awesome-counter);
  color: #ffffff;
  position: absolute;
  --size: 32px;
  left: calc(-1 * var(--size) - 10px);
  line-height: var(--size);
  width: var(--size);
  height: var(--size);
  top: -20%;
  background: transparent;
  border-radius: 50%;
  text-align: center;
  border:1px solid #fff;
}


/* -- home sections and blocks -- */

.slider-caption h1 {font-size:36px; line-height:0.9; margin-bottom:10px}
.slider-caption h3 {font-size:14px; margin-bottom:10px}



.slideshow--full-screen, .slideshow--full-screen ul.slides li {height:80vh}

.slideshow-image-overlay::after {background-image: none !important;background-color:rgba(0,0,0,0.2)}

.padding-0 {padding:0 !important}
.feature-row__inner {min-height:300px;}

@media only screen and (min-width: 992px) {
  .slider-caption h1 {font-size:60px; line-height:0.9; margin-bottom:20px}
.slider-caption h3 {font-size:18px; margin-bottom:20px}
  
.feature-row__inner {min-height:550px;}

}

.text-col--inner {padding:36px 24px; max-width:600px; margin: 0 auto;}

@media only screen and (min-width: 1440px) {
   .slider-caption h1 {font-size:80px; line-height:0.9; margin-bottom:20px}
.slider-caption h3 {font-size:30px; margin-bottom:20px}
}

@media only screen and (min-width: 768px) {
  span.br {display:block; width:100%; height:1px}
}

@media only screen and (max-width: 768px) {
.slideshow-mobile-image-content {
margin: 0;
width: 100%;
}

 .slider-caption {padding:0 24px}
}


/* -- default page heading -- */

header .title-bar h1 {color:#2e2892; font-weight:900 !important}

@media only screen and (min-width: 992px) {
header .title-bar {padding:48px 0}
header .title-bar h1 {font-size:48px; line-height:1;}
}

.title-bar h1 {color:#2e2892; font-weight:900 !important}



/* --  faq page -- */

h2.faq-section-title {color:#2e2892; font-weight:900; padding-bottom:24px; border-bottom:1px solid #eee; margin: 0 0 24px 0 !important; line-height:1}

.faq-wrapper {margin-bottom:40px;}
.faq-wrapper .faq-question, .faq-wrapper .faq-answer {position:relative; padding-left:40px;}
.faq-wrapper span {position:absolute; top:0; left:0; color:#2e2892;}
.faq-wrapper span, .faq-wrapper h3 {font-size:24px; line-height:1; font-weight:900}
.faq-wrapper h3 {color:#0eabd9}


/* -- testimonials page -- */

.reviews h3 {display:block; text-align:center; color:#0eabd9; clear:both}
.reviews ul, .reviews ul li {list-style:none; padding:0; margin:0}
.reviews ul {margin-bottom:40px}
.reviews ul li {width:29%; margin:20px 2% 48px 2%;padding-top:48px; float:left; text-align:center; background:url(five-stars.svg) center 10px no-repeat; background-size:100px auto}
.reviews ul li * {display: block; width:100%;}
.reviews ul li strong {color:#2e2892; font-size:105%; line-height:1; margin-bottom:12px}
.reviews ul li em {font-style:normal; margin-top:12px; font-size:90%}

@media only screen and (min-width: 768px) {
  .reviews ul li:nth-child(4), .reviews ul li:nth-child(7), .reviews ul li:nth-child(10) {clear:both}
}

@media only screen and (max-width: 767px) {
  .reviews ul li {width:46%}
  .reviews ul li:nth-child(3), .reviews ul li:nth-child(5), .reviews ul li:nth-child(7), .reviews ul li:nth-child(9) {clear:both;}
}

@media only screen and (max-width: 600px) {
  .reviews ul li {width:100%; margin-left:0; margin-right:0}
}
  
/* -- general styling and overrides -- */
  
.btn {border-radius:3px;border:2px solid #2e2892; font-weight:700 !important}
.btn-royal {background:#2e2892}
.btn-stroke {color:#fff; border:2px solid #fff; background:transparent !important}

.container-narrow {max-width:900px !important}
.container-wide {max-width:1550px !important; margin:0 auto; padding:32px;}

.bg-is-dark a {color:#fff; text-decoration:underline;}

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe,
.videoWrapper object,
.videoWrapper embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Announcement Bar */
.notification-bar__message p {
  font-weight:bold;
  font-size:1rem;
}


/* Navigation */

.main-navigation-wrapper .mega-menu--dropdown-wrapper>a, .main-navigation-wrapper>ul.nav>li>a {
    letter-spacing: 0px;
	font-size:0.9rem;
}

.sticky-header-menu #main-navigation-wrapper a, .sticky-header-menu a {
	color: #2e2892;
}

/* Footer */

@media only screen and (max-width: 767px) {
.footer-alignment--left .footer-article, .footer-alignment--left .links-footer li, .footer-alignment--left h3 {text-align:center !important}
  .footer-alignment--left .footer-article {padding-right:0 !important}
}

.ae-social {margin-top:32px;text-align:center}
.ae-social .sm-icons, .ae-social .sm-icons li {display:inline-block; float:none}

@media only screen and (min-width: 768px) {
#shopify-section-footer .ae-social {text-align:left}
}


/* Upsell */
.upsell__holder {border:1px solid #0eabd9; padding:18px; position:relative}
.upsell__holder {
  margin-top: 2em;
  text-align: center;
}

.upsell__holder__title {
  color:#0eabd9;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.8rem;
  display: block;
  margin-bottom: 0;
  text-transform: uppercase;
  position:absolute; left:0; top:-10px; width:100%;
}

.upsell__holder__title span {display:inline-block; padding:0 12px; background:#fff} 


.upsell {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
}

.upsell__image {
  width: 90px;
  height: 90px;
  margin-right: 10px;
}
.upsell__image > a {
  display: block;
  transition: opacity 0.3s;
}
.upsell__image > a:hover {
  opacity: 0.7;
}

.upsell__image__inner {
  display: block;
  width: 90px;
  height: 90px;
}

.upsell__content {
  display: flex;
  flex-direction: column;
  min-height: 90px;
  justify-content: space-between;
}

.upsell__title,
.upsell__variant-title,
.upsell__price {
  margin-top: 0;
  margin-bottom: 4px;
}

.upsell__title {
  font-weight: bold;
  
  font-size: 1rem;
  color: #333;
}
@media (min-width: 480px) {
  .upsell__title {
    font-size: 1.5rem );
  }
}
@media (min-width: 1400px) {
  .upsell__title {
    1.25rem;
  }
}

.upsell__price {
  font-size: 0.9rem;
  color: #666;
}
.upsell__price .old-price {
  margin-left: 8px;
  text-decoration: line-through;
}
.upsell__price .unit {
  color: #666;
}

.upsell__btn {
 margin:10px 0 0 0; padding: 0.5em 1em; font-weight:bold; font-size:0.8rem; letter-spacing:1px; text-transform:uppercase; max-width:150px 
}
.upsell__btn:disabled {
  opacity: 1;
}
.upsell__btn .svg-loader circle {
  stroke: var(--bg);
}
.upsell__btn .svg-loader circle ~ circle {
  stroke: var(--primary);
}

.upsell__out-of-stock {
  margin: 0;
}

  
/* BONES */
.clearboth{clear:both;display:block;font-size:0px;height:0px;line-height:0;width:100%;}

.vertical-container {
    position: relative
}
.vertical-center {
    margin: 0;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}


.space10 {
	height: 10px
}
.space20 {
	height: 20px
}
.space30 {
	height: 30px
}
.space40 {
	height: 40px
}
.space50 {
	height: 50px
}
.space60 {
	height: 60px
}
.space70 {
	height: 70px
}
.space80 {
	height: 80px
}
.space90 {
	height: 90px
}
.space100 {
	height: 100px
}


.last-col {
	float: right;
	padding-right: 0 !important;
}

.is-hidden, .hide {display:none}

/*
Mobile Grid Styles
These are the widths for the mobile grid.
There are four types, but you can add or customize
them however you see fit.
*/
@media (max-width: 767px) {
.m-hide {display:none}
.m-all {
	float: left;
	padding-right: 0.75em;
	width: 100%;
	padding-right: 0;
}

.m-1of2 {
	float: left;
	padding-right: 0.75em;
	width: 50%;
}
.m-1of3 {
	float: left;
	padding-right: 0.75em;
	width: 33.33%;
}
.m-2of3 {
	float: left;
	padding-right: 0.75em;
	width: 66.66%;
}
.m-1of4 {
	float: left;
	padding-right: 0.75em;
	width: 25%;
}
.m-3of4 {
	float: left;
	padding-right: 0.75em;
	width: 75%;
}
.m-1of5 {
	float: left;
	padding-right: 0.75em;
	width: 20%;
}
.m-2of5 {
	float: left;
	padding-right: 0.75em;
	width: 40%;
}
.m-3of5 {
	float: left;
	padding-right: 0.75em;
	width: 60%;
}
.m-4of5 {
	float: left;
	padding-right: 0.75em;
	width: 80%;
}
.m-right {float:right !important}
.m-left {float:left !important}
}

/* Portrait tablet to landscape */
@media (min-width: 768px) and (max-width: 1029px) {
	.t-hide {display:none}
.t-all {
	float: left;
	padding-right: 0.75em;
	width: 100%;
	padding-right: 0;
}

.t-1of2 {
	float: left;
	padding-right: 0.75em;
	width: 50%;
}
.t-1of3 {
	float: left;
	padding-right: 0.75em;
	width: 33.33%;
}
.t-2of3 {
	float: left;
	padding-right: 0.75em;
	width: 66.66%;
}
.t-1of4 {
	float: left;
	padding-right: 0.75em;
	width: 25%;
}
.t-3of4 {
	float: left;
	padding-right: 0.75em;
	width: 75%;
}
.t-1of5 {
	float: left;
	padding-right: 0.75em;
	width: 20%;
}
.t-2of5 {
	float: left;
	padding-right: 0.75em;
	width: 40%;
}
.t-3of5 {
	float: left;
	padding-right: 0.75em;
	width: 60%;
}
.t-4of5 {
	float: left;
	padding-right: 0.75em;
	width: 80%;
}
.t-right {float:right !important}
.t-left {float:left !important}
}


/* Contact Page */

#contact-form .btn {
  text-align:left;
  background-color:#2e2892;
  color:#fff;
}

.contact-form label {
    font-weight: bold;
	color:#2e2892;
}

/* Footer */

.footer-alignment--left .footer-article {
      padding-right: 15%;
    font-size: 0.9rem;
    line-height: 1.9rem;
}

.links-footer ul li {
    list-style-type: none;
    font-size: 0.9rem;
    font-weight: 700;
}

.links-footer ul li a:hover {
    list-style-type: none;
    font-size: 0.9rem;
    font-weight: 700;
    color:rgb(250,250,250,0.5);
}

/* Products Pages */

.product-description-header.reviews-enabled {
    margin-bottom: 10px;
    color: #2E2892;
    font-size: 2.1rem;
    line-height: 2.4rem;
  padding-top:10px;
}

.product-page--pricing .product-page--pricing--variant-price {
    font-size: 1.6rem;
    font-weight: 700;
}

.quantity-controls__outer label {
    display: none !important;
}

.quantity-selector {
    font-weight: 700;
  font-size:1.1rem;
}

.quantity-controls button {
    font-weight: 700;
    font-size:1rem;
}

.quantity-controls {
    display: flex;
    border: 2px solid #2E2892;
}

button#purchase {
    background-color: #2E2892;
  	color:#fff;
  	border: 0px;
  border-radius:0px;
  margin-bottom:8px;
}

button#purchase:hover {
background: var(--button-background-hover-color);
}

.secondary-button {
    box-shadow: 0px;
}

.shopify-payment-button .shopify-payment-button__button {
  margin-top:4px;
  background-color:#0eabd9;
}

@media screen and (min-width: 769px) {
.product-page--thumb-slider.no-arrows.horizontal { padding: 20px 0 40px 0 !important;}
}


.entry-content table {margin:12px 0 36px 0}

.entry-content table td, .entry-content table th, .table td, .table th, table td, table th {
  border-bottom: 1px solid #ddd;}

.entry-content table tr td:first-child {width:120px}


/* Erik Edits May 2021 */

.main-navigation-wrapper .nav {
    margin: 3px 15px !important;
}

/* POPUP v2 */
.popup--close-btn {outline:none}
.popup--center {bottom:auto; top:50% !important; margin:-100px 0 0 0px;webkit-box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.2);box-shadow: 0px 5px 15px 5px rgba(0,0,0,0.2);}
.popup--center .type-subheading {font-size:32px;margin-top: 16px !important;}
.popup--center .popup--main-text {font-size:22px}
.popup--center .popup-container {background:#2e2892 !important}
.popup-container .popup--close-btn {background:transparent !important}
  .popup-container .popup--close-btn svg {stroke:#fff !important}
  .popup--center .popup--main-text, .popup-container .popup--close-btn {color:#fff !important}

@media only screen and (min-width: 768px) {
  .popup--center {left:50%; right:auto; bottom:auto; top:50% !important; margin:-150px 0 0 -300px;}
}

@media only screen and (max-width: 767px) {
  .popup--center .type-subheading {margin-top: 24px !important;}
  .popup--center {left:5%; width:90%; }
  .popup--center .popup-container, .popup-container .popup--close-btn {background:#2e2892 !important}

  
}

