/*---------------------------------------------------------
  RESPONSIVE MIXINS
---------------------------------------------------------*/
html {
  box-sizing: border-box;
  font-size: 16px;
  height: 100%;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body, h1, h2, h3, h4, h5, h6, p, ol, ul {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
}

body {
  font-family: "Ubuntu", Helvetica, Arial, sans-serif;
}

.page-text .text-wrapper::after {
  content: "";
  display: table;
  clear: both;
}

.page-text .text-wrapper h2 {
  font-size: 20px;
  line-height: 25px;
  color: #333333;
  margin-bottom: 20px;
  font-weight: 400;
}

.page-text .text-wrapper h2 br {
  display: none;
}

@media (min-width: 65em) {
  .page-text .text-wrapper h2 {
    margin-bottom: 36px;
    font-size: 30px;
    line-height: 36px;
  }
  .page-text .text-wrapper h2 br {
    display: block;
  }
}

.page-text .text-wrapper h3 {
  font-size: 20px;
  line-height: 24px;
  margin-bottom: 10px;
  color: #333333;
  font-style: italic;
}

@media (min-width: 65em) {
  .page-text .text-wrapper h3 {
    font-size: 30px;
    line-height: 40px;
    margin-bottom: 15px;
  }
}

.page-text .text-wrapper .brand {
  font-style: italic;
}

.page-text .text-wrapper p {
  color: #666666;
  font-size: 15px;
  line-height: 18px;
  margin-bottom: 35px;
}

@media (min-width: 65em) {
  .page-text .text-wrapper p {
    font-size: 16px;
    line-height: 25px;
  }
}

.page-text .text-wrapper ul {
  list-style-type: none;
  margin-bottom: 35px;
}

.page-text .text-wrapper ul li {
  padding-left: 14px;
  position: relative;
  color: #666666;
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 18px;
}

@media (min-width: 65em) {
  .page-text .text-wrapper ul li {
    font-size: 16px;
    line-height: 25px;
  }
}

.page-text .text-wrapper ul li::before {
  content: "\2022";
  position: absolute;
  left: 0;
  top: 0;
  color: #3c5dab;
}

.page-text .text-wrapper .sitemap-list {
  list-style-type: none;
}

.page-text .text-wrapper .sitemap-list li {
  margin: 10px 0 10px 20px;
  padding-left: 14px;
  position: relative;
}

.page-text .text-wrapper .sitemap-list li .sub-list {
  padding-left: 0;
  margin-bottom: 0;
}

.page-text .text-wrapper .sitemap-list li .sub-list li {
  margin-left: 30px;
}

.page-text .text-wrapper .sitemap-list li::before {
  display: none;
  padding: 0;
}

.page-text .text-wrapper .sitemap-list li a {
  text-decoration: none;
  color: #3c5dab;
  font-size: 16px;
  transition: color 0.15s cubic-bezier(0, 0, 0.17, 0.93), background-color 0.15s cubic-bezier(0, 0, 0.17, 0.93);
}

.page-text .text-wrapper .sitemap-list li a:hover {
  color: #333;
}

.page-text .aligncenter {
  display: block;
  margin: 0 auto;
}

.page-text .floatright {
  float: right;
  margin: 0 0 40px 50px;
}

.columns-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 48em) {
  .columns-wrapper {
    flex-direction: row;
  }
}

@media (min-width: 48em) {
  .columns-wrapper .column {
    flex: 0 1 calc((100% - (24px * 2)) / 3);
  }
}

.button-wrapper {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  justify-content: center;
}

.button {
  display: inline-block;
  text-decoration: none;
  color: white;
  text-align: center;
  transition: color 0.15s cubic-bezier(0, 0, 0.17, 0.93), background-color 0.15s cubic-bezier(0, 0, 0.17, 0.93);
  background: #333333;
  padding: 18px 25px;
  font-weight: bold;
  border: 0;
  font-size: 14px;
  line-height: 22px;
}

@media (min-width: 65em) {
  .button {
    font-size: 16px;
    line-height: 24px;
  }
}

.button:hover {
  background: #3c5dab;
}

.button .brand {
  font-style: italic;
}

.home-text-intro .text-wrapper {
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
}

@media (min-width: 65em) {
  .home-text-intro .text-wrapper {
    padding-top: 60px;
    padding-bottom: 55px;
  }
}

.home-text-intro .text-wrapper p {
  font-size: 16px;
  line-height: 24px;
  color: #333333;
}

@media (min-width: 65em) {
  .home-text-intro .text-wrapper p {
    font-size: 24px;
    line-height: 36px;
  }
}

.home-text-intro .text-wrapper .brand {
  font-style: italic;
  font-weight: bold;
  color: #425ea6;
}

.home-columns {
  background: #ecedf1;
}

.home-columns .home-columns-wrapper {
  padding-top: 40px;
  padding-bottom: 75px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

@media (min-width: 65em) {
  .home-columns .home-columns-wrapper {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.home-columns .home-column {
  padding-top: 210px;
  background-size: 180px 180px;
  background-repeat: no-repeat;
  background-position: center top;
}

@media (min-width: 65em) {
  .home-columns .home-column {
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 275px;
    background-size: 245px 245px;
  }
}

.home-columns .home-column.help {
  background-image: url("../images/home-column-left.png");
  margin-bottom: 60px;
}

@media (min-width: 65em) {
  .home-columns .home-column.help {
    margin-bottom: 0;
  }
}

.home-columns .home-column.portfolio {
  background-image: url("../images/home-column-right.png");
}

.home-columns h2 {
  line-height: 28px;
  color: #425ea6;
  text-align: center;
  font-weight: bold;
  margin-bottom: 15px;
  font-size: 24px;
  letter-spacing: -1px;
}

@media (min-width: 65em) {
  .home-columns h2 {
    font-size: 30px;
    line-height: 30px;
  }
}

.home-columns h2 span {
  font-style: italic;
}

.home-columns p {
  color: #333333;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 65em) {
  .home-columns p {
    font-size: 24px;
    line-height: 30px;
  }
}

.home-columns p span {
  font-style: italic;
}

.home-buttons {
  padding-top: 62px;
}

.home-buttons .home-buttons-wrapper {
  margin: 0 auto 40px;
  width: 396px;
  max-width: 100%;
}

.home-buttons .home-buttons-wrapper .button {
  width: 100%;
  margin-bottom: 15px;
  padding: 9px 20px;
  font-weight: normal;
  font-size: 14px;
  line-height: 22px;
}

@media (min-width: 65em) {
  .home-buttons .home-buttons-wrapper .button {
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 25px;
  }
}

.button-wrapper {
  margin-bottom: 55px;
}

.products-and-pipeline .product-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
}

@media (min-width: 65em) {
  .products-and-pipeline .product-wrapper {
    flex-direction: row;
    justify-content: space-between;
  }
}

.products-and-pipeline .product-wrapper.product-left .product-text {
  order: 2;
}

.products-and-pipeline .product-wrapper.product-left .product-thumb {
  order: 1;
}

.products-and-pipeline .product-wrapper .product-text {
  flex: 1;
  order: 2;
}

@media (min-width: 65em) {
  .products-and-pipeline .product-wrapper .product-text {
    flex: 0 1 474px;
    order: 1;
  }
}

.products-and-pipeline .product-wrapper .product-thumb {
  flex: 1;
  order: 1;
  margin-bottom: 30px;
}

@media (min-width: 65em) {
  .products-and-pipeline .product-wrapper .product-thumb {
    order: 2;
    flex: 0 1 444px;
    margin-bottom: 0;
  }
}

.products-and-pipeline .text-wrapper .products-pipeline-title {
  margin-bottom: 40px;
}

@media (min-width: 65em) {
  .products-and-pipeline .text-wrapper .products-pipeline-title {
    margin-bottom: 110px;
  }
}

.page-text .text-wrapper {
  padding-top: 50px;
  padding-bottom: 50px;
  border-bottom: 1px solid #ecedf0;
  background-repeat: no-repeat;
}

@media (min-width: 65em) {
  .page-text .text-wrapper {
    padding-top: 90px;
    padding-bottom: 80px;
  }
}

.page-text.image-right .text-wrapper {
  background-position: right bottom;
  padding-right: 0;
  padding-bottom: 400px;
  background-size: 80% auto;
}

@media (min-width: 34em) {
  .page-text.image-right .text-wrapper {
    background-size: auto 400px;
  }
}

@media (min-width: 48em) {
  .page-text.image-right .text-wrapper {
    padding-right: 350px;
    padding-bottom: 0;
  }
}

@media (min-width: 65em) {
  .page-text.image-right .text-wrapper {
    padding-right: 560px;
    padding-bottom: 0;
    background-size: auto;
  }
}

.page-text.image-left .text-wrapper {
  background-position: left bottom;
  padding-left: 0;
  padding-bottom: 400px;
  background-size: 80% auto;
}

@media (min-width: 34em) {
  .page-text.image-left .text-wrapper {
    background-size: auto 400px;
  }
}

@media (min-width: 48em) {
  .page-text.image-left .text-wrapper {
    padding-left: 420px;
    padding-bottom: 0;
  }
}

@media (min-width: 65em) {
  .page-text.image-left .text-wrapper {
    padding-left: 500px;
    padding-bottom: 0;
    background-size: auto;
  }
}

.page-text.bg-top-right .text-wrapper {
  background-position: center top;
  background-size: auto 300px;
  padding-top: 300px;
  padding-bottom: 40px;
}

@media (min-width: 48em) {
  .page-text.bg-top-right .text-wrapper {
    padding-top: 25px;
    padding-bottom: 80px;
    background-position: right top;
  }
}

@media (min-width: 65em) {
  .page-text.bg-top-right .text-wrapper {
    background-size: auto;
  }
}

.page-text.bg-top-left .text-wrapper {
  background-position: center 40px;
  background-size: auto 420px;
  padding-top: 380px;
  padding-bottom: 40px;
}

@media (min-width: 48em) {
  .page-text.bg-top-left .text-wrapper {
    background-position: left 30px;
    background-size: auto;
    padding-top: 60px;
    padding-bottom: 40px;
  }
}

@media (min-width: 65em) {
  .page-text.bg-top-left .text-wrapper {
    background-size: auto;
    padding-top: 100px;
    background-position: left 80px;
  }
}

.page-text.page-intro .text-wrapper {
  border: 0;
  padding-bottom: 0;
}

.partner-list {
  background: #ecedf0;
  padding-top: 64px;
  padding-bottom: 64px;
}

.partner-list .partner-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin-left: -16px;
  margin-right: -16px;
}

.partner-list .partner-card {
  padding: 5px;
  flex: 1 1 50%;
}

@media (min-width: 48em) {
  .partner-list .partner-card {
    padding: 16px;
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.partner-list .partner-card img {
  width: 100%;
}

.contact-form-columns {
  padding-top: 50px;
  padding-bottom: 100px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
}

@media (min-width: 65em) {
  .contact-form-columns {
    justify-content: space-between;
    padding-top: 100px;
  }
}

.contact-form-columns h2 {
  color: #333;
  flex: 1 0 100%;
  margin-bottom: 20px;
  display: block;
  font-size: 20px;
  font-weight: 400;
  line-height: 25px;
}

@media (min-width: 65em) {
  .contact-form-columns h2 {
    font-size: 30px;
    line-height: 36px;
    margin-bottom: 40px;
  }
}

.contact-form-columns .contact-left {
  flex: 1 1 100%;
  width: auto;
  margin-bottom: 80px;
}

@media (min-width: 65em) {
  .contact-form-columns .contact-left {
    flex: 0 0 50%;
    margin-bottom: 0;
  }
}

.contact-form-columns .contact-right {
  flex: 0 1 auto;
}

@media (min-width: 65em) {
  .contact-form-columns .contact-right {
    padding-left: 60px;
    flex: 0 1 50%;
    max-width: 50%;
  }
}

.contact-form-columns label {
  margin-bottom: 10px;
  display: block;
  font-size: 16px;
  color: #666;
  line-height: 1.5em;
}

.contact-form-columns label .required {
  color: #ab3f3c;
  font-size: 14px;
  line-height: 16px;
}

.contact-form-columns input[type="text"],
.contact-form-columns input[type="email"],
.contact-form-columns input[type="number"],
.contact-form-columns input[type="tel"],
.contact-form-columns input[type="textarea"] {
  width: 100%;
  margin: 0 0 20px 0;
  padding: 5px 10px;
  display: block;
  line-height: 30px;
  border: 1px solid #d5d5d6;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  height: 40px;
}

.contact-form-columns .email-dropdown {
  margin-bottom: 20px;
}

.contact-form-columns .s-filter {
  display: none;
}

.contact-form-columns textarea[type="textarea"] {
  width: 100%;
  margin: 0 0 30px 0;
  padding: 5px 10px;
  display: block;
  line-height: 30px;
  border: 1px solid #d5d5d6;
  min-height: 140px;
  max-width: 100%;
  min-width: 100%;
  resize: vertical;
}

.contact-form-columns .contact-form-submit {
  min-width: 220px;
  cursor: pointer;
  font-weight: 500;
  font-size: 14px;
  padding: 10px 25px;
}

.contact-form-columns .contact-right-columns {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

@media (min-width: 48em) {
  .contact-form-columns .contact-right-columns {
    flex-direction: row;
  }
}

.contact-form-columns .contact-right-columns:first-child {
  padding-bottom: 50px;
  border-bottom: 2px solid #ecedf0;
  margin-bottom: 50px;
}

@media (min-width: 48em) {
  .contact-form-columns .contact-right-columns:first-child {
    padding-bottom: 5px;
    margin-bottom: 7px;
  }
}

.contact-form-columns .contact-right-text {
  padding-right: 15px;
}

.contact-form-columns .contact-right-text h3 {
  font-weight: 400;
  margin-bottom: 15px;
  font-size: 20px;
}

.contact-form-columns .contact-right-text p {
  font-size: 16px;
  line-height: 1.5em;
  color: #666;
  margin-bottom: 30px;
}

@media (min-width: 48em) {
  .contact-form-columns .contact-right-text p {
    margin-bottom: 0;
  }
}

.contact-form-columns .contact-right-text a {
  text-decoration: none;
  color: #3c5dab;
}

#form-general {
  width: 100%;
}

.company .company-columns {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  padding-bottom: 30px;
}

.company .company-columns .main-column {
  padding-right: 0;
  flex: 0 1 auto;
}

@media (min-width: 48em) {
  .company .company-columns .main-column {
    padding-right: 50px;
  }
}

.company .company-columns .nav-column {
  padding-top: 90px;
  flex: 0 0 196px;
  display: none;
}

@media (min-width: 48em) {
  .company .company-columns .nav-column {
    display: block;
  }
}

.company .company-columns .nav-column a {
  padding: 8px 0;
  display: block;
  color: #333;
  background: #ecedf0;
  transition: color 0.15s cubic-bezier(0, 0, 0.17, 0.93), background-color 0.15s cubic-bezier(0, 0, 0.17, 0.93);
  font-size: 15px;
  text-align: center;
  text-decoration: none;
  margin-bottom: 10px;
  line-height: 1.5em;
}

.company .company-columns .nav-column a:hover, .company .company-columns .nav-column a.current {
  background: #3c5dab;
  color: white;
}

.company.board-of-directors .text-wrapper {
  padding-bottom: 20px;
  padding-top: 50px;
}

.company.board-of-directors .text-wrapper:first-child {
  padding-top: 90px;
}

.company.board-of-directors .text-wrapper:last-child {
  border: 0;
}

.company.management .management-text {
  padding-bottom: 20px;
  padding-top: 50px;
}

.company.management .management-text:first-child {
  padding-top: 90px;
}

.company.management .management-text:last-child {
  border: 0;
}

.company.management .management-text h2 {
  margin-bottom: 5px;
  text-align: center;
}

@media (min-width: 48em) {
  .company.management .management-text h2 {
    text-align: left;
  }
}

.company.management .management-text .job-title {
  font-style: italic;
  color: #333;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
}

@media (min-width: 48em) {
  .company.management .management-text .job-title {
    text-align: left;
    font-size: 20px;
  }
}

.company.management .management-text .floatright {
  float: none;
  margin: 0 auto 40px;
  display: block;
  width: 130px;
}

@media (min-width: 48em) {
  .company.management .management-text .floatright {
    float: right;
    width: auto;
    margin: 40px 50px;
  }
}

.company.medical-advisors .text-wrapper {
  padding-bottom: 20px;
  padding-top: 90px;
}

.company.medical-advisors .adv-outer-flex-grid {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}

.company.medical-advisors .adv-inner-flex-grid {
  flex-direction: column;
  flex: 0 1 100%;
}

@media (min-width: 34em) {
  .company.medical-advisors .adv-inner-flex-grid {
    flex: 0 1 50%;
  }
}

@media (min-width: 48em) {
  .company.medical-advisors .adv-inner-flex-grid {
    flex: 0 1 33%;
  }
}

.company.medical-advisors .advisors-list {
  padding-top: 50px;
}

.company.medical-advisors .adv-col {
  padding-bottom: 2rem;
  height: 5rem;
  color: #666;
  line-height: 1.5em;
}

.company.medical-advisors .company-columns {
  padding-bottom: 100px;
}

.company.strategic-advisors .text-wrapper {
  padding-bottom: 20px;
  padding-top: 50px;
}

.company.strategic-advisors .text-wrapper:first-child {
  padding-top: 90px;
}

.company.strategic-advisors .text-wrapper:last-child {
  border: 0;
}

.company.careers .text-wrapper {
  border: 0;
  padding-top: 0;
  padding-bottom: 30px;
}

.company.careers .text-wrapper:first-child {
  padding-top: 90px;
}

.news .news-title {
  margin-bottom: 40px;
  color: #333;
  font-size: 1.25rem;
  line-height: 1.5625rem;
  font-weight: 400;
  padding-top: 45px;
  padding-bottom: 25px;
  border-bottom: 1px solid #ecedf0;
}

@media (min-width: 65em) {
  .news .news-title {
    font-size: 30px;
    line-height: 35px;
    padding-top: 100px;
    padding-bottom: 45px;
  }
}

.news .form-column h3 {
  margin-bottom: 30px;
  font-size: 20px;
  line-height: 24px;
  color: #333;
  font-weight: 400;
}

.news .form-column p {
  color: #666;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  margin-bottom: 1em;
}

.news .text-wrapper.article-text h2 {
  margin-bottom: 10px;
}

.news .text-wrapper.article-text h3 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-style: normal;
  margin-bottom: 40px;
}

.news .text-wrapper.article-text a {
  color: #3c5dab;
  text-decoration: none;
}

#form-newsletter {
  width: 100%;
}

#form-newsletter label {
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 24px;
  color: #666;
  display: block;
}

#form-newsletter .required {
  font-size: 14px;
  line-height: 16px;
  color: #ab3f3c;
}

#form-newsletter input {
  min-height: 40px;
  width: 100%;
  margin: 0 0 20px 0;
  padding: 5px 10px;
  display: block;
  line-height: 30px;
  border: 1px solid #d5d5d6;
  font: 400 16px / 24px "Ubuntu", Helvetica, sans-serif;
}

#form-newsletter .s-filter {
  display: none;
}

#form-newsletter .button {
  cursor: pointer;
  width: 100%;
  font-size: 15px;
  line-height: 24px;
  padding: 10px 25px;
  margin: 10px 0;
}

.news-archive-nav-wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  border-bottom: 1px solid #ecedf0;
  flex-wrap: wrap;
}

.news-archive-nav-wrapper .news-nav-trigger {
  font-size: 12px;
  line-height: 18px;
  padding: 5px 10px;
  margin: 0 0 -1px;
  border: 1px solid transparent;
  border-top: 2px solid transparent;
  text-align: center;
  font-weight: bold;
  color: #bbb;
  cursor: pointer;
}

@media (min-width: 48em) {
  .news-archive-nav-wrapper .news-nav-trigger {
    padding: 10px 20px;
  }
}

@media (min-width: 65em) {
  .news-archive-nav-wrapper .news-nav-trigger {
    font-size: 16px;
    line-height: 24px;
    padding: 15px 25px;
  }
}

.news-archive-nav-wrapper .news-nav-trigger.active, .news-archive-nav-wrapper .news-nav-trigger:hover {
  color: #333;
}

.news-archive-nav-wrapper .news-nav-trigger.active {
  border: 1px solid #ddd;
  border-top: 2px solid #3c5dab;
  border-bottom: 1px solid #fff;
}

.news-list {
  display: none;
  padding-top: 40px;
  padding-top: 25px;
}

.news-list.active {
  display: block;
}

.news-columns {
  display: flex;
  flex-direction: column;
  padding-bottom: 120px;
}

@media (min-width: 65em) {
  .news-columns {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.news-columns .main-column {
  flex: 1 1 100%;
  margin-bottom: 80px;
}

@media (min-width: 65em) {
  .news-columns .main-column {
    margin-bottom: 0;
    padding-right: 50px;
  }
}

.news-columns .form-column {
  flex: 1 1 100%;
}

@media (min-width: 48em) {
  .news-columns .form-column {
    flex: 1 0 218px;
    max-width: 50%;
  }
}

.news-articles li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 50px;
  flex-wrap: wrap;
}

@media (min-width: 48em) {
  .news-articles li {
    flex-wrap: nowrap;
  }
}

.news-articles li:last-child {
  margin-bottom: 0;
}

.news-articles .date {
  font-size: 16px;
  line-height: 24px;
  color: #666;
  flex: 1 1 100%;
  margin-right: 30px;
}

@media (min-width: 48em) {
  .news-articles .date {
    flex: 0 0 100px;
  }
}

.news-articles h4 {
  flex: 1 1 auto;
}

.news-articles h4 a {
  text-decoration: none;
  color: #3c5dab;
  transition: color 0.15s cubic-bezier(0, 0, 0.17, 0.93), background-color 0.15s cubic-bezier(0, 0, 0.17, 0.93);
  font-size: 16px;
  line-height: 24px;
}

.news-articles h4 a:hover {
  color: #333;
}

.privacy-policy .page-text .text-wrapper h3 {
  margin-bottom: 40px;
  color: #333;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-style: normal;
  font-weight: 700;
}

.privacy-policy .indent {
  padding-left: 30px;
}

.privacy-policy .underline {
  text-decoration: underline;
  font-weight: 700;
}

body {
  background: white;
  height: 100%;
}

.container {
  margin: 0 auto;
  padding-left: 26px;
  padding-right: 26px;
}

@media (min-width: 48em) {
  .container {
    max-width: 980px;
  }
}

@media (min-width: 65em) {
  .container {
    max-width: 1024px;
    padding-left: 0;
    padding-right: 0;
  }
}

.main-header .logo {
  display: block;
  width: 96px;
}

.main-header .container {
  height: 80px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 65em) {
  .main-header .container {
    height: 120px;
  }
}

.safety-info {
  padding-bottom: 25px;
}

.safety-info .summary {
  font-size: 12px;
  color: #666666;
  line-height: 16px;
}

.safety-info .summary a {
  color: #666666;
}

.main-footer {
  background: #333;
}

.main-footer .footer-top {
  border-bottom: 1px solid #5c5c5c;
  padding: 80px 0;
}

.main-footer .footer-top .container {
  max-width: 1200px;
}

.main-footer .footer-bottom {
  min-height: 150px;
  padding: 50px 0;
}

.main-footer .footer-bottom .container {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  padding-left: 32px;
  padding-right: 32px;
}

@media (min-width: 34em) {
  .main-footer .footer-bottom .container {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    text-align: left;
  }
}

.main-footer .footer-bottom .legal-text {
  margin-top: 5px;
  font-size: 13px;
  line-height: 16px;
  color: #adadad;
}

.main-footer .footer-bottom .footer-secondary-nav {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 7px;
}

.main-footer .footer-bottom .footer-secondary-nav a {
  color: white;
  text-decoration: none;
  font: 400 14px/25px "Ubuntu", Helvetica, Arial, sans-serif;
  transition: color 0.15s cubic-bezier(0, 0, 0.17, 0.93), background-color 0.15s cubic-bezier(0, 0, 0.17, 0.93);
}

.main-footer .footer-bottom .footer-secondary-nav a:hover {
  color: #d6d6d6;
}

.main-footer .footer-columns {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}

@media (min-width: 65em) {
  .main-footer .footer-columns {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.main-footer .footer-column {
  flex: 1 1 auto;
}

@media (min-width: 65em) {
  .main-footer .footer-column {
    padding: 0 10px;
    margin: 0 1.5%;
  }
}

.main-footer .footer-column:first-child {
  margin-left: 0;
  padding-left: 0;
}

.main-footer .footer-column:last-child {
  margin-right: 0;
  padding-right: 0;
}

@media (min-width: 65em) {
  .main-footer .footer-column:last-child {
    width: 125px;
  }
}

.main-footer .white-text {
  color: white;
}

.main-footer .italic a {
  font-style: italic;
}

.main-footer .list-footer-nav {
  margin: 0 0 30px 0;
  font: 400 15px/18px "Ubuntu", Helvetica, sans-serif;
  list-style: none;
  text-align: center;
  color: #939fd2;
}

@media (min-width: 65em) {
  .main-footer .list-footer-nav {
    text-align: left;
  }
}

.main-footer .list-footer-nav li {
  margin: 20px 0;
}

.main-footer .list-footer-nav li a {
  color: #d6d6d6;
  text-decoration: none;
  transition: color 0.15s cubic-bezier(0, 0, 0.17, 0.93), background-color 0.15s cubic-bezier(0, 0, 0.17, 0.93);
}

.main-footer .list-footer-nav li a:hover {
  color: white;
}

.main-footer .list-footer-nav li:first-child {
  padding: 0 0 5px 0;
  min-height: 50px;
}

.main-footer .list-footer-nav li:first-child a {
  color: white;
  font-weight: bold;
  text-decoration: none;
}

#footer-logo {
  margin-bottom: 30px;
}

@media (min-width: 34em) {
  #footer-logo {
    margin-bottom: 0;
  }
}

.main-navigation {
  display: none;
}

.main-navigation .brand {
  font-style: italic;
}

.main-navigation > ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.main-navigation > ul > li {
  padding: 0 15px;
  text-align: center;
}

.main-navigation > ul > li.current-item a {
  color: #3c5dab;
  text-align: center;
}

.main-navigation a {
  color: #333;
  text-decoration: none;
  transition: color 0.3s cubic-bezier(0.52, 0, 0.48, 1);
  position: relative;
  padding-bottom: 6px;
  font-size: 16px;
  display: block;
}

.main-navigation a::before {
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  visibility: hidden;
  content: "";
  transition: all 0.3s cubic-bezier(0.52, 0, 0.48, 1);
  transform: scaleX(0);
  background-color: #3c5dab;
}

.main-navigation a:hover {
  color: #3c5dab;
}

.main-navigation a:hover::before {
  visibility: visible;
  transform: scaleX(0.67);
}

@media (min-width: 65em) {
  .main-navigation {
    display: block;
  }
}

#canvas-wrapper {
  width: 100%;
  max-width: 100%;
  background: black;
  overflow: hidden;
}

#canvas-wrapper .wrap {
  width: 100%;
  transition: margin-left 0.5s cubic-bezier(0, 0, 0.17, 0.93);
  background: white;
  position: relative;
}

.mobile-nav-wrapper {
  background: #333;
  z-index: 0;
  height: auto;
  right: -320px;
  top: 0;
  bottom: 0;
  width: 320px;
  position: absolute;
}

@media (min-width: 65em) {
  .mobile-nav-wrapper {
    display: none;
  }
}

.mobile-nav-content {
  background: #333;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 50px 0 0 30px;
}

.mobile-nav > ul > li {
  margin: 20px 0;
  display: block;
}

.mobile-nav > ul > li > a {
  color: white;
  font-size: .9375rem;
  line-height: 1rem;
  text-decoration: none;
}

.mobile-nav > ul .submenu {
  margin: 20px 0 30px 20px;
}

.mobile-nav > ul .submenu li {
  margin: 10px 0;
}

.mobile-nav > ul .submenu a {
  text-decoration: none;
  font-size: .8125rem;
  line-height: .875rem;
  color: #d6d6d6;
}

.mobile-nav-close {
  width: 32px;
  height: 32px;
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
}

.mobile-nav-close span {
  background: white;
  width: 100%;
  height: 4px;
  display: block;
  position: absolute;
  top: calc(50% - 2px);
}

.mobile-nav-close span:first-child {
  transform: rotate(45deg);
}

.mobile-nav-close span:last-child {
  transform: rotate(-45deg);
}

.mobile-nav-open {
  width: 25px;
  height: 20px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.mobile-nav-open span {
  display: block;
  width: 100%;
  height: 4px;
  background: #333333;
}

@media (min-width: 65em) {
  .mobile-nav-open {
    display: none;
  }
}

.mobile-menu-active .mobile-nav-open {
  display: none;
}

.mobile-menu-active .wrap {
  margin-left: -320px;
}

.home-banner {
  height: 550px;
  background: #ecedf1;
  background-repeat: no-repeat;
  background-position: -40px bottom;
  background-size: auto;
  background-image: url("../images/home-banner-1-mobile.jpg");
  background-size: 190%;
}

@media (min-width: 48em) {
  .home-banner {
    height: 600px;
    background-image: url("../images/home-banner-3.jpg");
    background-position: center bottom;
    background-size: auto;
  }
}

.home-banner .container {
  height: 100%;
  position: relative;
}

.home-banner .text-wrapper {
  position: static;
  padding-top: 40px;
  text-align: left;
  padding-right: 50px;
}

.home-banner .text-wrapper br {
  display: none;
}

.home-banner .text-wrapper p {
  font-size: 14px;
  line-height: 22px;
  padding-right: 50px;
}

@media (min-width: 34em) {
  .home-banner .text-wrapper p {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 48em) {
  .home-banner .text-wrapper p {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (min-width: 65em) {
  .home-banner .text-wrapper p {
    font-size: 24px;
    line-height: 30px;
  }
}

.home-banner .text-wrapper h1 {
  color: #333333;
  font-size: 22px;
  font-weight: 400;
  line-height: 30px;
  margin-bottom: 30px;
}

@media (min-width: 34em) {
  .home-banner .text-wrapper h1 {
    font-size: 27px;
  }
}

@media (min-width: 48em) {
  .home-banner .text-wrapper h1 {
    font-size: 32px;
    line-height: 40px;
  }
}

@media (min-width: 65em) {
  .home-banner .text-wrapper h1 {
    font-size: 42px;
    line-height: 50px;
  }
}

@media (min-width: 34em) {
  .home-banner .text-wrapper {
    padding-right: 200px;
  }
}

@media (min-width: 48em) {
  .home-banner .text-wrapper {
    padding-right: 0;
    position: absolute;
    text-align: left;
    left: 0;
    padding-top: 0;
    padding-left: 26px;
    padding-right: 26px;
    top: 68px;
    width: 500px;
  }
}

@media (min-width: 65em) {
  .home-banner .text-wrapper {
    width: 620px;
    padding-left: 0;
    padding-right: 0;
  }
  .home-banner .text-wrapper br {
    display: block;
  }
}

.home-banner .home-carousel {
  width: 288px;
  height: 234px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: translateX(13%);
  margin: 0 auto;
  overflow: hidden;
}

@media (min-width: 34em) {
  .home-banner .home-carousel {
    width: 360px;
    height: 292px;
  }
}

@media (min-width: 48em) {
  .home-banner .home-carousel {
    right: 200px;
    left: auto;
  }
}

@media (min-width: 65em) {
  .home-banner .home-carousel {
    right: 211px;
    transform: none;
  }
}

.sub-header {
  min-height: 80px;
  text-align: left;
  background: #ecedf0 url(../images/banner-subhead.png) no-repeat;
  background-position: center;
  background-size: cover;
  padding-top: 20px;
  padding-bottom: 20px;
}

@media (min-width: 65em) {
  .sub-header {
    padding-bottom: 25px;
    padding-top: 25px;
  }
}

.sub-header h1 {
  font-size: 27px;
  font-weight: 400;
  line-height: 30px;
  color: #333333;
}

@media (min-width: 65em) {
  .sub-header h1 {
    font-size: 48px;
    line-height: 72px;
  }
}

.sub-header h1 .brand {
  font-style: italic;
}

.sub-header .breadcrumb {
  margin-bottom: 5px;
}

.sub-header .breadcrumb li {
  font-size: 14px;
  position: relative;
  padding-right: 10px;
  display: inline-block;
}

.sub-header .breadcrumb li::after {
  content: "/";
  position: absolute;
  right: 0;
  top: 0;
  color: #8d9fb2;
}

.sub-header .breadcrumb li:last-child::after {
  display: none;
}

.sub-header .breadcrumb a {
  text-decoration: none;
  color: #3c5dab;
}

.product-list {
  padding-top: 90px;
  padding-bottom: 75px;
}

.product-list h2 {
  font-size: 24px;
  line-height: 30px;
  color: #333333;
  margin-bottom: 36px;
  text-align: center;
}

@media (min-width: 48em) {
  .product-list h2 {
    font-size: 30px;
    line-height: 36px;
  }
}

.product-list .product-list-wrapper img {
  margin: 0 auto;
  display: block;
}
