.white {
  background-color: #ffffff; }

.white-text {
  color: #ffffff; }

.black {
  background-color: #000000; }

.black-text {
  color: #000000; }

.black-highlight {
  background-color: #3e3e3e; }

.black-highlight-text {
  color: #3e3e3e; }

.strike-through {
  text-decoration: line-through; }

.dark-grey {
  background-color: #2d2d2d; }

.dark-grey-text {
  color: #2d2d2d; }

.light-grey {
  background-color: #939393; }

.light-grey-text {
  color: #939393; }

.lightish-grey {
  background-color: #d6d6d6; }

.lightish-grey-text {
  color: #d6d6d6; }

.lighter-grey {
  background-color: #f3f3f3; }

.lighter-grey-text {
  color: #f3f3f3; }

.lightest-grey {
  background-color: #efefef; }

.lightest-grey-text {
  color: #efefef; }

.shadow-grey {
  background-color: #d3d3d3; }

.shadow-grey-text {
  color: #d3d3d3; }

.green {
  background-color: #376e26; }

.green-text {
  color: #376e26; }

.light-green {
  background-color: #4a9035; }

.light-green-text {
  color: #4a9035; }

.light-blue {
  background-color: #E7E9F1; }

.light-blue-text {
  color: #E7E9F1; }

.dark-blue {
  background-color: #293b6e; }

.dark-blue-text {
  color: #293b6e; }

.blue-highlight {
  background-color: #4a67b3; }

.red {
  background-color: #dc0423; }

.red-text {
  color: #dc0423; }

.yellow {
  background-color: #ffff00; }

.yellow::before {
  background-color: #ffff00; }

.yellow::marker {
  background-color: #ffff00; }

.update-highlight {
  background-color: #ffff00;
  display: inline !important; }

.update-highlight:before {
  background-color: #ffff00;
  display: inline !important; }

.consumerlab-blue {
  background-color: #1C449B; }

.consumerlab-blue-text {
  color: #1C449B; }

.passedTest {
  background-color: rgba(74, 144, 53, 0.3); }

.failedTest {
  background-color: rgba(220, 4, 35, 0.3); }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-none {
  float: none !important; }

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important; }
  .float-sm-right {
    float: right !important; }
  .float-sm-none {
    float: none !important; } }

@media (min-width: 768px) {
  .float-md-left {
    float: left !important; }
  .float-md-right {
    float: right !important; }
  .float-md-none {
    float: none !important; } }

@media (min-width: 992px) {
  .float-lg-left {
    float: left !important; }
  .float-lg-right {
    float: right !important; }
  .float-lg-none {
    float: none !important; } }

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important; }
  .float-xl-right {
    float: right !important; }
  .float-xl-none {
    float: none !important; } }

.w-25 {
  width: 25% !important; }

.w-50 {
  width: 50% !important; }

.w-75 {
  width: 75% !important; }

.w-100 {
  width: 100% !important; }

.w-auto {
  width: auto !important; }

.h-25 {
  height: 25% !important; }

.h-50 {
  height: 50% !important; }

.h-75 {
  height: 75% !important; }

.h-100 {
  height: 100% !important; }

.h-auto {
  height: auto !important; }

.mw-100 {
  max-width: 100% !important; }

.mh-100 {
  max-height: 100% !important; }

.min-vw-100 {
  min-width: 100vw !important; }

.min-vh-100 {
  min-height: 100vh !important; }

.vw-100 {
  width: 100vw !important; }

.vh-100 {
  height: 100vh !important; }

.carousel {
  position: relative; }

.carousel.pointer-event {
  touch-action: pan-y; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner::after {
    display: block;
    clear: both;
    content: ""; }

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out; }
  @media screen and (prefers-reduced-motion: reduce) {
    .carousel-item {
      transition: none; } }
.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block; }

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  transform: translateX(100%); }

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  transform: translateX(-100%); }

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none; }

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1; }

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: 0s 0.6s opacity; }
  @media screen and (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-left,
    .carousel-fade .active.carousel-item-right {
      transition: none; } }
.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  color: #ffffff;
  text-align: center;
  opacity: 1;
  transition: opacity 0.15s ease; }
  @media screen and (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
      transition: none; } }
  .carousel-control-prev:hover, .carousel-control-prev:focus,
  .carousel-control-next:hover,
  .carousel-control-next:focus {
    color: #ffffff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

.carousel-control-prev {
  left: 0; }

.carousel-control-next {
  right: 0; }

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: transparent no-repeat center center;
  background-size: 100% 100%; }

.carousel-control-prev-icon {
  background-image: none; }

.carousel-control-next-icon {
  background-image: none; }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 10px;
  margin-left: 10px;
  list-style: none; }
  .carousel-indicators li {
    box-sizing: content-box;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #ffffff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    transition: opacity 0.6s ease; }
    @media screen and (prefers-reduced-motion: reduce) {
      .carousel-indicators li {
        transition: none; } }
  .carousel-indicators .active {
    opacity: 1; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #ffffff;
  text-align: center; }

.home .content-wrapper {
  display: flex;
  flex-direction: column; }

.home .footer .cta-subscription {
  display: none; }

.home h2 {
  font-size: 1.5rem;
  font-weight: 400;
  margin: 1rem 0 2rem 0;
  padding: 0; }
  .home h2 a {
    color: #2d2d2d; }

.home .hero {
  background-color: #1C449B; }
  .home .hero .container {
    max-width: 1240px; }
  .home .hero .carousel {
    min-height: 31rem; }
    .home .hero .carousel .carousel-item h2 {
      color: #ffffff;
      font-size: 1.5rem;
      font-weight: 500;
      margin: 1rem 4rem;
      opacity: 0;
      transition-property: opacity;
      transition-duration: 0.5s;
      text-align: center; }
    .home .hero .carousel .carousel-item img {
      border-radius: 10px; }
    .home .hero .carousel .carousel-item.active h2 {
      opacity: 1; }
    .home .hero .carousel .carousel-item.active.carousel-item-left h2,
    .home .hero .carousel .carousel-item.active.carousel-item-right h2 {
      opacity: 0; }
    .home .hero .carousel .carousel-control-prev,
    .home .hero .carousel .carousel-control-next {
      top: 29rem; }
  .home .hero .trustpilot-widget {
    margin-bottom: 1rem; }

.home .tagline {
  background-color: #1C449B;
  padding: 2rem 0;
  display: flex;
  justify-content: center;
  align-items: center; }
  .home .tagline h1 {
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    margin: 0;
    padding: 0; }

.home .product-updates {
  border-bottom: 1px solid #d6d6d6; }

.home .showcase {
  border-bottom: 1px solid #d6d6d6; }

.home .sidebar {
  padding: 1.5rem 0 1rem 1.5rem; }
  .home .sidebar h2 {
    line-height: 1;
    margin: 0 0 .8em 0; }
  .home .sidebar h3 {
    font-weight: normal;
    font-size: 1.25rem;
    margin: 0.25rem 0; }
  .home .sidebar p {
    font-size: 1.1rem; }
  .home .sidebar ul {
    list-style: none;
    margin: .5rem 0 0 0;
    padding: 0; }
  .home .sidebar li {
    line-height: 1.2;
    margin: 1.25em 0; }
  .home .sidebar a {
    color: #000000;
    font-weight: bold; }
  .home .sidebar a:hover {
    color: #1C449B;
    text-decoration: none; }

.home .press {
  -webkit-box-shadow: inset 0 10px 10px 0 #f3f3f3;
  -moz-box-shadow: inset 0 10px 10px 0 #f3f3f3;
  box-shadow: inset 0 10px 10px 0 #f3f3f3;
  padding: 1.5rem; }

.home .recommendations {
  background-color: #e5e4e1;
  padding: 1rem; }
  .home .recommendations h3 {
    font-size: 1.5rem;
    font-weight: normal;
    text-align: center;
    margin: 0 0 1rem 0; }
  .home .recommendations a {
    margin: 0 auto;
    padding: 0.75em 3em; }

.home .recent {
  border-right: 1px solid #d3d3d3;
  padding: 1.2rem 2rem 2rem 0; }
  .home .recent .continue-button {
    display: inline-block;
    margin-top: 1rem; }

.home .area-container .area-header {
  border-bottom: 1px solid #d6d6d6; }
  .home .area-container .area-header.unbordered {
    border-bottom: none; }
  .home .area-container .area-header .area-header-items {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 1rem;
    padding-bottom: 1rem; }
    .home .area-container .area-header .area-header-items h2 {
      font-size: 1.5rem;
      font-weight: 500;
      margin: 1rem 0;
      padding: 0; }

.home .area-container .area-content {
  padding-top: 1rem; }

.home .popular-this-week {
  padding-top: 1.2rem; }
  .home .popular-this-week .popular-this-week-item {
    display: block;
    color: #000000;
    margin-bottom: 2rem; }
    .home .popular-this-week .popular-this-week-item h3 {
      font-size: 1.2rem;
      margin-bottom: 0.25rem; }
    .home .popular-this-week .popular-this-week-item p {
      margin: 0; }
    .home .popular-this-week .popular-this-week-item:hover h3 {
      color: #1C449B; }

.home .upcoming .upcoming-notifications {
  font-weight: 500;
  margin-bottom: 1rem; }

.home .upcoming .upcoming-reviews {
  list-style: none;
  margin: 0;
  padding: 0; }
  .home .upcoming .upcoming-reviews li {
    margin: 0;
    padding: 1rem 0;
    font-weight: 500;
    border-bottom: 1px solid #d6d6d6; }
    .home .upcoming .upcoming-reviews li:last-child {
      border-bottom: none; }

.home .clinical-updates ul, .home .recalls-and-warnings ul {
  list-style: none;
  margin: .75rem 0 1rem 0;
  padding: 0; }
  .home .clinical-updates ul a, .home .recalls-and-warnings ul a {
    color: #2d2d2d;
    display: block;
    text-decoration: none;
    padding: .25rem 0 1rem 0; }
  .home .clinical-updates ul a:hover, .home .recalls-and-warnings ul a:hover {
    color: #1C449B; }
  .home .clinical-updates ul p.date, .home .recalls-and-warnings ul p.date {
    color: #939393;
    font-size: .75rem;
    margin: 0 0;
    text-transform: uppercase; }
  .home .clinical-updates ul h3, .home .recalls-and-warnings ul h3 {
    font-size: 1.25rem;
    font-weight: 500;
    margin: 0.2rem 0 0.2rem 0; }

.home .clinical-updates .continue-button, .home .recalls-and-warnings .continue-button {
  display: inline-block;
  margin-bottom: 1rem; }

.home .benefits-cta {
  background-color: #1C449B;
  border-bottom: 1px solid #16367C;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center; }
  .home .benefits-cta h2 {
    font-size: 2rem;
    font-weight: 500;
    color: #ffffff;
    text-align: center;
    margin: 0;
    padding: 0;
    max-width: 50rem; }
  .home .benefits-cta .cta-button {
    margin: 2rem 0;
    padding: 0.5em 5em; }
  .home .benefits-cta .benefit-list {
    display: flex;
    margin-top: 1rem; }
    .home .benefits-cta .benefit-list .benefit {
      display: flex;
      flex-direction: column;
      align-items: top;
      justify-content: top;
      color: #ffffff;
      padding: 0 1rem;
      max-width: 15rem; }
      .home .benefits-cta .benefit-list .benefit img {
        display: block;
        margin: 0 auto 2rem auto;
        height: auto;
        width: 5rem;
        filter: invert(1); }
      .home .benefits-cta .benefit-list .benefit h3 {
        font-weight: 400;
        font-size: 1rem;
        margin: 0;
        padding: 0;
        text-align: center; }

@media (min-width: 992px) {
  .home .sidebar.topic, .home .sidebar.upcoming {
    border-bottom: 1px solid #d3d3d3; } }

@media (max-width: 1199.98px) {
  .home .hero .carousel {
    min-height: 24rem; }
    .home .hero .carousel .carousel-control-prev,
    .home .hero .carousel .carousel-control-next {
      top: 8rem; } }

@media (max-width: 991.98px) {
  .home h2 {
    font-size: 2rem;
    font-weight: 500; }
  .home .hero {
    padding: 0; }
    .home .hero .container .carousel {
      min-height: 30rem; }
      .home .hero .container .carousel .carousel-item h2 {
        text-align: center;
        padding: 0 1rem;
        font-size: 1.65rem; }
      .home .hero .container .carousel .carousel-item h4 {
        text-align: center;
        padding: 0 2rem; }
      .home .hero .container .carousel .carousel-item img {
        border-radius: 0; }
      .home .hero .container .carousel .carousel-control-prev,
      .home .hero .container .carousel .carousel-control-next {
        top: 10rem; }
  .home .recent {
    border-bottom: 1px solid #d3d3d3;
    border-right: none;
    padding-right: 0; }
  .home .recommendations {
    padding: 1rem 0; }
    .home .recommendations h3 {
      margin: 0 0 1rem 0;
      line-height: 1.4;
      font-weight: 300; }
      .home .recommendations h3 strong {
        font-weight: 500; }
  .home .sidebar {
    padding-left: 1rem; }
    .home .sidebar ul li {
      font-size: 1.35rem; }
  .home .clinical-updates {
    border-right: none; }
  .home .clinical-updates,
  .home .recalls-and-warnings {
    padding: 2rem 1rem 1rem 1rem; }
    .home .clinical-updates ul,
    .home .recalls-and-warnings ul {
      margin: 1rem 0 0 0; }
      .home .clinical-updates ul h3,
      .home .recalls-and-warnings ul h3 {
        font-size: 1.15rem;
        font-weight: bold; }
  .home .social-buttons a {
    display: block;
    margin: 1rem 0;
    font-size: 1.5rem; }
    .home .social-buttons a .fab {
      margin-right: 1rem; } }

@media (max-width: 767.98px) {
  .home .hero .container .carousel {
    min-height: 25.5rem; }
    .home .hero .container .carousel .carousel-control-prev,
    .home .hero .container .carousel .carousel-control-next {
      top: 6rem; } }

@media (max-width: 575.98px) {
  .home .hero .container .carousel {
    min-height: 24rem; }
    .home .hero .container .carousel .carousel-item h2 {
      font-size: 1.35rem; }
    .home .hero .container .carousel .carousel-control-prev,
    .home .hero .container .carousel .carousel-control-next {
      top: 4rem; }
  .home .tagline {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important; } }

@media (max-width: 500px) {
  .home .hero .container .carousel {
    min-height: 22rem; } }

@media (max-width: 450px) {
  .home .hero .container .carousel {
    min-height: 20.5rem; } }

@media (max-width: 399.98px) {
  .home .hero .container .carousel {
    min-height: 18.75rem; }
    .home .hero .container .carousel .carousel-item h2 {
      font-size: 1.25rem; } }

@media (min-width: 576px) and (max-width: 991.98px) {
  .tagline {
    padding-top: 2.5rem !important;
    padding-bottom: 1.5rem !important; } }
