.slick-slider {
  position: relative;
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}
.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0
}
.slick-list:focus {
  outline: none
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}
.slick-slider .slick-list,
.slick-slider .slick-track {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block
}
.slick-track:after,
.slick-track:before {
  display: table;
  content: ''
}
.slick-track:after {
  clear: both
}
.slick-loading .slick-track {
  visibility: hidden
}
.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px
}
[dir='rtl'] .slick-slide {
  float: right
}
.slick-slide img {
  display: block
}
.slick-slide.slick-loading img {
  display: none
}
.slick-slide.dragging img {
  pointer-events: none
}
.slick-initialized .slick-slide {
  display: block
}
.slick-loading .slick-slide {
  visibility: hidden
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}
.slick-arrow.slick-hidden {
  display: none
}
:root {
  --visage-carousel-arrow-width: 48px;
  --visage-carousel-arrow-height: var(--visage-carousel-arrow-width);
  --visage-carousel-arrow-offset: calc(var(--visage-carousel-arrow-width) / 2);
  --visage-carousel-arrow-icon-offset: 14px;
  --visage-carousel-arrow-transform: translateY(calc(-50% - 2px));
  --visage-carousel-dot-width: 8px;
  --visage-carousel-dot-active-width: 12px
}
@media only screen and (max-width: 1023px) {
  :root {
    --visage-carousel-arrow-offset: calc(calc(var(--visage-carousel-arrow-width) / 2) - calc(16px / 2))
  }
}
.carousel {
  position: relative;
  display: block;
  box-sizing: border-box;
  margin: var(--visage-carousel-margin, 0);
  min-height: var(--visage-carousel-arrow-height);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}
.carousel .carousel-slide {
  display: none
}
.carousel.slick-initialized .carousel-slide {
  display: block
}
.carousel .slick-list,
.carousel .slick-track {
  transform: translate3d(0, 0, 0)
}
.carousel .slick-list {
  position: relative;
  z-index: 1;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0
}
.carousel .slick-list.dragging {
  cursor: pointer
}
.carousel .slick-list:focus {
  outline: none
}
.carousel .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: flex
}
.slick-loading .carousel .slick-track {
  visibility: hidden
}
.carousel .slick-track:after,
.carousel .slick-track:before {
  display: table;
  content: " "
}
.carousel .slick-track:after {
  clear: both
}
.carousel .slick-slide {
  height: auto
}
.carousel.slick-initialized .slick-slide {
  display: flex;
  align-items: stretch
}
.carousel .slick-slide > div:not(.carousel-slide) {
  width: 100%
}
.carousel .carousel-slide {
  display: none;
  position: relative;
  float: left;
  height: 100%;
  min-height: 1px
}
.carousel .carousel-slide:focus {
  outline: none
}
.carousel .carousel-slide:focus:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: inset 0 0 2px 2px #000;
  pointer-events: none
}
.carousel .carousel-slide img {
  display: block
}
.carousel .carousel-slide.slick-loading img {
  display: none
}
.carousel .carousel-slide.dragging img {
  pointer-events: none
}
.slick-initialized .carousel .carousel-slide {
  display: block
}
.slick-loading .carousel .carousel-slide {
  visibility: hidden
}
.slick-vertical .carousel .carousel-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}
.carousel[data-carousel-is-nav] .carousel-slide {
  cursor: pointer
}
.slick-vertical .slick-track {
  display: block
}
.carousel .slick-next,
.carousel .slick-prev {
  position: absolute;
  top: var(--visage-carousel-arrow-top, 50%);
  z-index: 2;
  display: block;
  height: var(--visage-carousel-arrow-height);
  width: var(--visage-carousel-arrow-width);
  padding: 0;
  margin: 0;
  background: var(--visage-carousel-arrow-background, #fff);
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
  border: none;
  border-radius: var(--visage-carousel-arrow-border-radius, 50%);
  box-shadow: var(--visage-carousel-arrow-box-shadow, var(--visage-depth-1-box-shadow));
  outline: none;
  transform: var(--visage-carousel-arrow-transform, translateY(-50%))
}
.carousel .slick-next:focus:before,
.carousel .slick-next:hover:before,
.carousel .slick-prev:focus:before,
.carousel .slick-prev:hover:before {
  opacity: 1
}
.carousel .slick-next.slick-disabled,
.carousel .slick-prev.slick-disabled {
  visibility: hidden
}
.carousel .slick-next:before,
.carousel .slick-prev:before {
  position: absolute;
  content: " ";
  display: block;
  width: 20px;
  height: 20px;
  position: relative;
  background-size: auto auto;
  background-position: center;
  background-repeat: no-repeat;
  filter: var(--visage-icon-filter-dark-grey);
  filter: var(--visage-carousel-arrow-icon-filter, var(--visage-icon-filter-black));
  left: var(--visage-carousel-arrow-icon-offset);
  top: 0
}
.carousel .slick-next:hover:before,
.carousel .slick-prev:hover:before {
  filter: var(--visage-carousel-arrow-icon-filter-hover, var(--visage-icon-filter-black))
}
.carousel .slick-next:after,
.carousel .slick-prev:after {
  display: none
}
.carousel .slick-next:focus,
.carousel .slick-prev:focus {
  outline: none;
  filter: drop-shadow(0 0 2px #000)
}
.carousel .slick-prev {
  left: var(--visage-carousel-prev-left, calc(-1 * var(--visage-carousel-arrow-offset)));
  right: var(--visage-carousel-prev-right, auto);
  transform: var(--visage-carousel-prev-transform, var(--visage-carousel-arrow-transform))
}
.carousel .slick-prev:before {
  background-image: var(--visage-carousel-arrow-icon-url-left, var(--visage-icon-url-chevron-l))
}
.carousel .slick-next {
  left: var(--visage-carousel-next-left, auto);
  right: var(--visage-carousel-next-right, calc(-1 * var(--visage-carousel-arrow-offset)));
  transform: var(--visage-carousel-next-transform, var(--visage-carousel-arrow-transform))
}
.carousel .slick-next:before {
  background-image: var(--visage-carousel-arrow-icon-url-right, var(--visage-icon-url-chevron-r))
}
.carousel.slick-loading .slick-list {
  background: #fff url(../images/spinner.gif) center center no-repeat
}
.carousel-dots {
  --visage-carousel-margin: 0 0 32px 0
}
.carousel-dots .slick-dots {
  position: absolute;
  top: var(--visage-carousel-dots-top, auto);
  bottom: var(--visage-carousel-dots-bottom, -32px);
  left: var(--visage-carousel-dots-left, auto);
  right: var(--visage-carousel-dots-right, auto);
  width: var(--visage-carousel-dots-width, 100%);
  height: var(--visage-carousel-dots-height, auto);
  margin: 0;
  padding: 0;
  color: var(--visage-carousel-dots-font-color, var(--visage-font-base-color));
  font-size: var(--visage-carousel-dots-font-size, inherit);
  font-weight: var(--visage-carousel-dots-font-weight, normal);
  background: var(--visage-carousel-dots-background, none);
  border-width: var(--visage-carousel-dots-border-width, 0);
  border-style: solid;
  border-color: var(--visage-carousel-dots-border-color, transparent);
  border-radius: var(--visage-carousel-dots-border-radius, 0);
  list-style: none;
  text-align: center;
  box-shadow: var(--visage-carousel-dots-box-shadow, none);
  transform: var(--visage-carousel-dots-transform, none)
}
.carousel-dots .slick-dots li {
  display: inline-block;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  cursor: pointer
}
.carousel-dots .slick-dots button {
  display: block;
  text-align: center;
  padding: calc(calc(24px - var(--visage-carousel-dot-width)) / 2);
  margin: 0;
  background: transparent;
  border: 0;
  outline: 0;
  cursor: pointer;
  font-size: 0;
  line-height: 0;
  color: transparent
}
.carousel-dots .slick-dots button::before {
  content: " ";
  display: inline-block;
  width: var(--visage-carousel-dot-width);
  height: var(--visage-carousel-dot-width);
  vertical-align: middle;
  background: var(--visage-carousel-dot-background, #d6dce0);
  border-radius: 50%;
  border: 0;
  outline: 0;
  box-shadow: var(--visage-carousel-dot-box-shadow, var(--visage-depth-1-box-shadow))
}
.carousel-dots .slick-dots li.slick-active button {
  padding: calc(calc(24px - var(--visage-carousel-dot-active-width)) / 2)
}
.carousel-dots .slick-dots li.slick-active button::before {
  width: var(--visage-carousel-dot-active-width);
  height: var(--visage-carousel-dot-active-width);
  background: var(--visage-carousel-dot-active-background, #6b7276)
}
.carousel-dots.carousel-dots-inset .slick-dots {
  bottom: 12px;
  z-index: 2
}
.carousel-dots.carousel-dots-inset .slick-dots button::before {
  box-shadow: none
}
.carousel-dots.carousel-dots-inset .slick-dots li.slick-active button::before {
  background: #fff
}
.carousel-dots.carousel-dots-fraction {
  --visage-carousel-dots-top: 50%;
  --visage-carousel-dots-bottom: auto;
  --visage-carousel-dots-right: 64px;
  --visage-carousel-dots-width: 148px;
  --visage-carousel-dots-height: 56px;
  --visage-carousel-dots-font-size: var(--visage-text-size-5);
  --visage-carousel-dots-font-weight: bold;
  --visage-carousel-dots-background: #fff;
  --visage-carousel-dots-border-radius: 28px;
  --visage-carousel-dots-box-shadow: var(--visage-depth-1-box-shadow);
  --visage-carousel-dots-transform: translateY(-50%);
  --visage-carousel-arrow-background: none;
  --visage-carousel-arrow-box-shadow: none;
  --visage-carousel-prev-left: auto;
  --visage-carousel-prev-right: 148px;
  --visage-carousel-next-right: 80px;
  counter-reset: carouselDotNumbers
}
@media only screen and (max-width: 767px) {
  .carousel-dots.carousel-dots-fraction {
    --visage-carousel-margin: 0 0 56px 0;
    --visage-carousel-dots-top: auto;
    --vsiage-carousel-dots-bottom: -56px;
    --visage-carousel-dots-left: 50%;
    --visage-carousel-dots-background: none;
    --visage-carousel-dots-box-shadow: none;
    --visage-carousel-dots-transform: translateX(-50%);
    --visage-carousel-arrow-top: 100%;
    --visage-carousel-arrow-offset: 0;
    --visage-carousel-prev-left: 50%;
    --visage-carousel-prev-right: auto;
    --visage-carousel-prev-transform: translateX(-63px) translateY(2px);
    --visage-carousel-next-left: 50%;
    --visage-carousel-next-right: auto;
    --visage-carousel-next-transform: translateX(10px) translateY(2px)
  }
}
.carousel-dots.carousel-dots-fraction .slick-dots {
  z-index: 2
}
.carousel-dots.carousel-dots-fraction .slick-dots li {
  margin: 0
}
.carousel-dots.carousel-dots-fraction .slick-dots button {
  padding: 0;
  font-size: 0;
  color: transparent
}
.carousel-dots.carousel-dots-fraction .slick-dots button::before {
  width: auto;
  height: auto;
  color: transparent;
  background: transparent
}
.carousel-dots.carousel-dots-fraction .slick-dots.slick-dots li.slick-active button {
  width: auto;
  padding: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1em
}
.carousel-dots.carousel-dots-fraction .slick-dots.slick-dots li.slick-active button::before {
  width: auto;
  height: auto;
  background-color: transparent
}
.carousel-dots.carousel-dots-fraction .slick-dots li button::after {
  content: " ";
  line-height: var(--visage-carousel-dots-height);
  counter-increment: carouselDotNumbers
}
.carousel-dots.carousel-dots-fraction .slick-dots::after {
  content: "/" counter(carouselDotNumbers);
  color: inherit;
  font-size: inherit;
  font-weight: inherit
}
.carousel-dots.carousel-dots-fraction .slick-next,
.carousel-dots.carousel-dots-fraction .slick-prev {
  z-index: 3
}
.carousel.carousel-zoom .slick-slide {
  transform: scale(0.9);
  transition: all 300ms ease 0s
}
.carousel.carousel-zoom .slick-slide.slick-current {
  transform: scale(1);
  transition: all 300ms ease 0s
}
.carousel.carousel-grid-gutters .slick-list {
  margin: 0 calc(-1 * var(--visage-grid-gutter))
}
.carousel.carousel-grid-gutters .slick-slide {
  padding: 0 var(--visage-grid-gutter)
}
.carousel.carousel.carousel-skin-full {
  --visage-carousel-arrow-background: rgba(255, 255, 255, 0.85);
  --visage-carousel-arrow-offset: 8px
}
.carousel.carousel.carousel-skin-full.carousel-grid-gutters {
  overflow: hidden
}
@media only screen and (min-width: 768px) {
  .carousel.carousel-xs-only {
    display: inline-block;
    min-height: 0
  }
  .carousel.carousel-xs-only .slick-list {
    display: inline-block!important;
    overflow: visible!important
  }
  .carousel.carousel-xs-only .slick-track {
    display: inline-block!important;
    left: 0!important;
    width: auto!important
  }
  .carousel.carousel-xs-only .carousel-slide {
    width: auto!important;
    padding: 0;
    float: none;
    display: inline-block
  }
  .carousel.carousel-xs-only .slick-cloned {
    display: none
  }
}
.carousel.carousel-skin-product-tiles {
  margin: 0
}
.carousel.carousel-skin-product-tiles .carousel-slide {
  vertical-align: top
}
.carousel.carousel-skin-product-tiles .slick-next,
.carousel.carousel-skin-product-tiles .slick-prev {
  display: none!important
}
@media only screen and (max-width: 767px) {
  .carousel.carousel-skin-product-tiles .carousel-slide {
    width: auto!important
  }
  .carousel.carousel-skin-product-tiles [class^="col-"] {
    margin-left: 0;
    margin-right: 6vw;
    width: 60vw
  }
  .carousel.carousel-skin-product-tiles .standard-product-tile-image {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto
  }
}
.carousel-tabs {
  display: flex
}
.carousel-tabs .carousel-tab {
  margin: 10px 10px 0 0;
  cursor: pointer
}
.carousel-tabs .carousel-tab[aria-checked="true"] {
  border: 2px solid --visage-color-selected
}