/* Sections */
.section {
  width: 100%;
  position: relative;
}

.section.padding-top {
  padding-top: 8rem;
}

.section.padding-bottom {
  padding-bottom: 8rem;
}

.section-header {
  width: auto;
  margin-bottom: 2.5rem;
  text-align:center;
}

.section-header .small-header {
  font-size:1.6rem;
  font-family: Helvetica, sans-serif;
}
.wf-active .section-header .small-header {
  font-family: 'MinionPro-Regular';
}

.section-header h2,
.section-header h3 {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0;
  line-height: 1.1
}

.section-header h2 {
  display: inline-block;
  vertical-align: middle
}

.section-header a {
  vertical-align: middle;
  margin-left: 2em
}

@media screen and (max-width: 60em) {

  .section.padding-top {
    padding-top: 5rem;
  }

  .section.padding-bottom {
    padding-bottom: 5rem;
  }

  .section-header {
    position: relative;
    max-width: 85%;
    margin-left: auto; 
    margin-right: auto; 
  }

  .section-header .sep {
    display: none
  }

  .section-header .view-all {
    width: 80px;
    display: inline-block;
    position: absolute;
    top: -3px;
    right: 0
  }
}

.section--video,
.cta-blocks--contained {
  max-width: 1200px;
  margin: 0 auto;
}

.cta-block {
  padding: 0 1rem 2rem;
  position: relative;
}

.cta-block:hover .cta-block__image { /* NOTE: for cta blocks that dont have a second image, change opacity slightly */
  opacity: 0.7;
}

.cta-block.cta-block--has-hover:hover .cta-block__image { /* NOTE: dont change opacity for hover image cta blocks */
  opacity: 1;
}

.cta-block__image {
  width: 100%;
  padding-top: 125%;
  background-position: center center;
  background-size: 100%;
  margin-bottom: 0;
  background-repeat: no-repeat;
  position: relative;
  transition: .2s ease-in opacity;
}

.cta-block__image--square {
  padding-top: 100%;
}



.cta-block__image figcaption {
  position: absolute;
  bottom: 10%;
  text-align: center;
  width: 100%;
  z-index: 1;
  padding: 0 5%;
}

.cta-block__image figcaption.position--top-left,
.cta-block__image figcaption.position--top-center,
.cta-block__image figcaption.position--top-right {
  bottom: auto;
  top: 5%;
  text-align: center;
}

.cta-block__image figcaption.position--center-left,
.cta-block__image figcaption.position--center-center,
.cta-block__image figcaption.position--center-right {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}

.cta-block__image figcaption.position--bottom-left,
.cta-block__image figcaption.position--bottom-center,
.cta-block__image figcaption.position--bottom-right {
  top: auto;
  bottom: 5%;
  text-align: center;
}

.cta-block__image figcaption.position--top-left,
.cta-block__image figcaption.position--center-left,
.cta-block__image figcaption.position--bottom-left {
  text-align: left;
}


.cta-block__image figcaption.position--top-right,
.cta-block__image figcaption.position--center-right,
.cta-block__image figcaption.position--bottom-right {
  text-align: right;
}


.cta-block__header {
  font-size:3rem;
  text-transform: uppercase;
  font-weight: 600;
  color: #2b2b2b; /* NOTE: for A/B test. color: #fff OR #2b2b2b; */
}

.cta-block--has-hover:hover .cta-block__header {
  color: #2b2b2b;
}

.cta-block__subheader {
  font-size: 1.4rem;
}

.wf-active .cta-block__subheader {
  font-family: 'GT-Sectra-Fine-Book';
}

.cta-block__actions {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  justify-content: center;
  position: relative;
}

.cta-block__actions--hidden {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  bottom: 3rem;
  left: 2rem;
  right: 2rem;
}

.cta-block:hover .cta-block__actions--hidden {
  opacity: 1;
  pointer-events: all;
  transition: .2s ease-in opacity;
}

.btn.cta-block__action {
  margin-top: 1rem;
  width: calc(50% - 0.5rem);
  padding: 0;
}

.btn.cta-block__action + .btn.cta-block__action {
  margin-left: 1rem;
}

@media only screen and (max-width: 75em) {
  .btn.cta-block__action {
    font-size:1rem
  }
}

@media only screen and (max-width: 60em) {
  .cta-blocks {
    padding: 0 0.5rem 0.5rem;
  }

  .cta-block {
    padding: 0 0.5rem 0.5rem;
    margin-top: 0.5rem;
  }

  .cta-block.column--xs-6 {
    -ms-flex-preferred-size: 100%;
    -webkit-flex-basis: 100%;
    -moz-flex-basis: 100%;
    -ms-flex-basis: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }

  .cta-block__image {
    padding-top: 130%;
  }

  .cta-block__image--square {
    padding-top: 130%; /* 140% = 5x7 ratio */
    background-size: cover;
  /*padding-top: 100%;  OLD correct value for square, requested mobile has 5x7 layout for now */
  }

  .cta-block__image figcaption {
    bottom: 3%;
  }

  .cta-block__image--square figcaption {
    bottom: auto;
    top: 8%;
  }

  .cta-block__header {
    font-size: 2rem;
  }

  .cta-block__actions {
    flex-wrap: wrap;
  }

  .btn.cta-block__action {
    width:100%;
    margin-top: 0.5rem;
  }

  .cta-block__actions--hidden {
    opacity: 1;
    pointer-events: all;
    flex-wrap: nowrap;
  }

  .cta-block__actions--hidden .cta-block__action:first-child {
    margin-right: .5rem
  }

  .cta-block__title {
    font-size: 2rem;
    top: 8rem
  }

  .cta-block__title--sub {
    font-size: 3rem;
    top: 3rem
  }
}

.hero {
  position: relative;
}

.hero img {
  width: 100%
}

.hero__image {
  width: 100%;
  height: auto;
  background-size: cover;
  background-position: center;
}

.hero__heading {
  font-size: 4.8rem;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 3rem 2rem;
  text-align: center;
  font-weight: normal;
  letter-spacing: .04em
}

.hero__actions {
  position: absolute;
  bottom: 4rem;
  left: 0;
  right: 0;
  padding: 6rem 2rem;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center
}

.hero__action.btn {
  margin: 0 1%
}

.page-template .hero {
  margin: 3rem 0
}

@media screen and (max-width: 60em) {
  .hero__heading {
    font-size: 3.2rem
  }

  .hero__actions {
    top: 16rem;
    bottom: auto;
    padding: 3rem 1rem
  }
}

@media screen and (max-width: 40em) {
  .hero__action {
    margin: 0 1%;
    flex: 0 1 48%
  }

  .hero__action.btn {
    padding: 0 .5rem;
    font-size: 2rem;
    height: 50px;
    line-height: 44px
  }
}

.image-text-block {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -webkit-box-pack: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  -webkit-align-items: center;
  -webkit-box-align: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  padding: 3rem 0
}

#shopify-section-page-two-col--left .image-text-block {
  padding: 0;
}


.image-text-block .anchor-link {
  position: absolute;
  top: -12.6rem;
}

.image-text-block--reverse {
  -webkit-flex-direction: row-reverse;
  -moz-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse
}

.image-text-block__item {
  -webkit-box-flex: 0 0 47%;
  -moz-box-flex: 0 0 47%;
  -webkit-flex: 0 0 47%;
  -ms-flex: 0 0 47%;
  flex: 0 0 47%
}

#shopify-section-page-two-col--left .image-text-block__item {
  -webkit-box-flex: 0 0 75%;
  -moz-box-flex: 0 0 75%;
  -webkit-flex: 0 0 75%;
  -ms-flex: 0 0 75%;
  flex: 0 0 75%
}

.image-text-block__image img {
  display: block
}

.image-text-block__text {
  font-weight: normal;
  padding: 3rem;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
  justify-content: center;
  text-align:center;
}

#shopify-section-page-two-col--left .image-text-block__text {
  text-align: left;
}


.image-text-block__text h3 {
  font-weight: normal;
  font-size:3.2rem;
  margin-bottom: 3rem;
}

.image-text-block__text p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 0;
}
.wf-active .image-text-block__text p {
  font-family: 'GT-Sectra-Fine-Book';
}

.image-text-block__text .image-text-block__cta {
  margin-top: 4rem;
}

@media only screen and (max-width: 80em) {
  .image-text-block {
    padding: 0
  }

  .image-text-block__item {
    -webkit-box-flex: 0 0 50%;
    -moz-box-flex: 0 0 50%;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%
  }
}

@media only screen and (max-width: 60em) {
  .image-text-block {
    padding: 0 0 5rem 0;
  }

  #shopify-section-page-two-col--left .image-text-block {
    padding: 0;
  }

  .image-text-block .anchor-link {
    top: -10.6rem;
  }

  .image-text-block__item {
    -webkit-box-flex: 1 0 100% !important;
    -moz-box-flex: 1 0 100% !important;
    -webkit-flex: 1 0 100% !important;
    -ms-flex: 1 0 100% !important;
    flex: 1 0 100% !important;
  }

  .image-text-block__text {
    padding: 3rem 2rem;
  }

  .image-text-block--reverse {
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row
  }
}

.section--press {
  text-align: center;
}

.section--press .section-header {
  position: absolute;
  left: 50%;
  top: 4rem;
  transform: translateX(-50%);
  z-index: 10;
}

.press {
  text-align: center;
}

.press .press__slider {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative
}

.press .swiper-wrapper {
  align-items: stretch;
}

.press .press__slide {
  position:relative;
  max-height: 550px;
  /* padding: 16rem 0;
  height: auto;
  position: relative;
  transition: all 0.4s ease-in-out;
  display: flex;
  align-items: center; */
}

.press .press__slide::after {
  content:'';
  display: block;
  padding-top:100%;
}

.press .press__slide .press__slide-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.press .press__slide:nth-child(odd) {
  background: #e8e5e3;
}

.press .press__slide p {
  font-size: 3.6rem;
  line-height: 1.5;
  padding: 0 6rem;
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  box-sizing: border-box;
}
.wf-active .press .press__slide p {
  font-family: 'GT-Sectra-Display-Light';
}

.press .press__slide-header {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
}

.press .press__logo {
  max-height: 25px;
}

.press .forbes .press__logo,
.press .mens-health .press__logo,
.press .fast-company .press__logo {
  max-height: 20px;
}

.press .press__index {
  display: block;
  font-size: 1.2rem;
}
.wf-active .press .press__index {
  font-family: 'GT-Sectra-Fine-Book';
}


.press .press-slider__prev,
.press .press-slider__next {
  position: absolute;
  z-index: 250;
  bottom: 5.25rem;
  right: 50%;
  width: 12px;
}

.press .press-slider__prev.swiper-button-disabled,
.press .press-slider__next.swiper-button-disabled {
  opacity: 0.25;
}

.press .press-slider__prev {
  /* left: 0 */
  transform: translateX(-11.5rem);
}

.press .press-slider__next {
  /* right: 0 */
  transform: translateX(12rem);
}

@media screen and (max-width: 69em) {
  .press .press__slide p {
    font-size:2.8rem;
  }
}

@media screen and (max-width: 60em) {
  .press .press__slide-header {
    bottom: auto;
    top: 9rem;
  }

  .press .press__slide p {
    top: 57%;
    font-size:2.6rem;
  }

  .press .press__slide .press__slide-content .mobile-only {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 28.75em) {
  .press .press__slide p {
    padding: 0 2rem;
    line-height: 1.5;
    top:59%;
  }

  .press .press__slide::after {
    padding-top:130%;
  }
}

.rich-text {
  width: 90%;
  max-width: 1020px;
  margin: 0 auto 1.6rem auto;
  text-align: center;
}

#shopify-section-page-two-col--left .rich-text p {
  font-size: 1.85em;
}
.wf-active #shopify-section-page-two-col--left .rich-text p {
  font-family: 'GT-Sectra-Display-Light';
}

#shopify-section-page-two-col--left .rich-text p em {
  font-style: normal;
  color: #999;
  font-size: 0.5em;
  font-family: Helvetica, sans-serif;
}
.wf-active #shopify-section-page-two-col--left .rich-text p em {
  font-family: 'GT-Sectra-Fine-Book';
}

#shopify-section-page-two-col--left .rich-text .desktop-only {
  width: 75%;
  position: relative;
}

#shopify-section-page-two-col--left .rich-text .mobile-only {
  position: relative;
}

#shopify-section-page-two-col--left .rich-text .desktop-only:before,
#shopify-section-page-two-col--left .rich-text .mobile-only:before {
  content: ' ';
  position: absolute;
  width: 350px;
  height: 350px;
  bottom: -350px;
  z-index: 2;
  background: url(//cdn.shopify.com/s/files/1/0646/1285/t/126/assets/black-friday-stamp.png) no-repeat center center;
  left: 50%;
  transform: translateX(-50%);
  background-size: cover;
}

#shopify-section-page-two-col--left .rich-text .desktop-only:after,
#shopify-section-page-two-col--left .rich-text .mobile-only:after {
  content: ' ';
  position: absolute;
  width: 125%;
  height: 125%;
  left: -12.5%;
  top: -12.5%;
  border: 1px solid #000;
  z-index: -1;
}


#shopify-section-page-two-col--left .rich-text .mobile-only:after {
  width: 112.5%;
  left: -6.25%;
}

.wf-active .rich-text strong {
  font-family: "Plaak - 56-Ney-Heavy-205TF", Helvetica, sans-serif;
}

.rich-text p:last-child {
  margin-bottom: 0
}

.section--rich-text--small-text .section-header h2,
.section--rich-text--small-text .rich-text p {
  font-size: 2.5rem;
}

@media only screen and (max-width: 60em) {
  .rich-text {
    max-width: 85%;
    margin-bottom: 0
  }

  .page-two-col .column.left {
    margin-bottom: 18em;
  }

  #shopify-section-page-two-col--left .rich-text {
    max-width: inherit;
  }

  .section--rich-text .section-header h2 {
    font-size: 3.5rem;
  }

  .rich-text p {
    font-size: 2.5rem;
  }

  #shopify-section-page-two-col--left .rich-text .mobile-only:before {
    bottom: -320px;
  }

  #shopify-section-page-two-col--left .rich-text p {
    font-size: 1.3em;
  }

  #shopify-section-page-two-col--left .rich-text p strong {
    font-size: 2.5rem;
  }

  .section--rich-text--small-text .section-header h2,
  .section--rich-text--small-text .rich-text p {
    font-size: 2.5rem;
  }
}

@media only screen and (max-width: 30em) {
  .rich-text .btn {
    padding: 0 0.5em;
  }

  .rich-text .btn.fixed-width {
    padding: 0;
  }
}

.two-image {
  padding: 3rem 0;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -webkit-box-pack: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  flex-wrap: wrap
}

.two-image__item {
  position: relative;
  -webkit-box-flex: 0 0 47%;
  -moz-box-flex: 0 0 47%;
  -webkit-flex: 0 0 47%;
  -ms-flex: 0 0 47%;
  flex: 0 0 47%
}

.two-image__item img {
  display: block;
  width: 100%
}

.two-image__item-heading {
  position: absolute;
  top: 3rem;
  left: 0;
  right: 0;
  text-align: center;
  color: #fff;
  font-size: 3.2rem
}

.two-image__item-action {
  position: absolute;
  bottom: 3rem;
  left: 0;
  right: 0;
  text-align: center
}

@media only screen and (max-width: 80em) {
  .two-image__item {
    -webkit-box-flex: 1 1 50%;
    -moz-box-flex: 1 1 50%;
    -webkit-flex: 1 1 50%;
    -ms-flex: 1 1 50%;
    flex: 1 1 50%
  }
}

@media only screen and (max-width: 60em) {
  .two-image__item {
    -webkit-box-flex: 1 1 100%;
    -moz-box-flex: 1 1 100%;
    -webkit-flex: 1 1 100%;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%
  }
}

.three-image {
  padding: 3rem 0;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -webkit-box-pack: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  flex-wrap: wrap
}

.three-image__item {
  position: relative;
  -webkit-box-flex: 0 0 32%;
  -moz-box-flex: 0 0 32%;
  -webkit-flex: 0 0 32%;
  -ms-flex: 0 0 32%;
  flex: 0 0 32%
}

.three-image__item img {
  display: block;
  width: 100%
}

.three-image__item-heading {
  position: absolute;
  top: 3rem;
  left: 0;
  right: 0;
  text-align: center;
  color: #fff;
  font-size: 3.2rem
}

.three-image__item-action {
  position: absolute;
  bottom: 3rem;
  left: 0;
  right: 0;
  text-align: center
}

@media only screen and (max-width: 60em) {
  .three-image__item {
    -webkit-box-flex: 1 1 100%;
    -moz-box-flex: 1 1 100%;
    -webkit-flex: 1 1 100%;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
    margin-bottom: 1em
  }
}

.section--product-slider {
  padding-left: 0;
  padding-right: 0;
}

.section--product-slider .mobile-only {
  margin: 1em auto 0 !important;
  text-align: center;
}

.product-slider {
  overflow: hidden;
}

.product-slider__slider-container {
  position: relative;
  padding: 3rem 0 4rem;
}

.product-slider__slider-item a {
  border: none;
  display: block
}

.product-slider__slider-item h3 {
  text-align: center;
  opacity: 0
}

.product-slider__slider-item.swiper-slide-active h3 {
  opacity: 1
}

.product-slider__next {
  position: absolute;
  right: 50%;
  transform: translateX(160px);
  z-index: 1000;
  padding: 0.4rem
}

.product-slider__prev {
  position: absolute;
  left: 50%;
  transform: translateX(-160px);
  z-index: 1000;
  padding: 0.4rem
}

.product-slider__title {
  display: block;
  margin: 0 auto;
  width: 38rem;
  text-align: center;
  max-width: 100%
}

.product-slider__actions {
  text-align: center;
  margin-top: 4rem;
  padding: 0 1rem;
}


@media only screen and (max-width: 60em) {
  .section--product-slider .section-header h2 {
    margin-bottom: 1rem;
  }

  .product-slider__actions {
    margin-top:2rem;
  }
}
