/*=============================================================================
  CAROUSEL BLOCK
  * Used as a wrapper for Swiper carousels
=============================================================================*/

/*
.carousel-container .swiper-carousel.is-mixed .carousel__image-wrapper img:not(.image__rod):not(.image__apparel) {
  transform: translate(0, -50%);
  top: 50%;
  position: absolute;
}
*/

.carousel__slide-wrapper {
  position: relative;
  height: 100%;
  padding-bottom: var(--spacing-06);
  background-color: var(--color-surface-primary);
}

.carousel__slide-wrapper:not(.no-link) a:hover,
.carousel__slide-wrapper:not(.no-link) a:active,
.carousel__slide-wrapper:not(.no-link) a:focus {
  border: var(--border-weight-01) solid var(--color-border-card-hover);
  box-shadow: var(--box-shadow-black);
}

.carousel__slide-wrapper a {
  display: block;
  position: relative;
  height: 100%;
  width: calc(100% - 2px);
  left: 1px;
  top: 1px;
  padding: var(--spacing-03);
  border: var(--border-weight-01) solid var(--color-border-card-default);
  border-radius: var(--border-radius-md);
}

.carousel__slide-wrapper.is-mixed a {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.carousel__image-wrapper {
  display: block;
  margin: 0 auto var(--spacing-04);
}

.carousel__image-wrapper a {
  display: block;
}

/*
.carousel__image-wrapper img:not(.image__rod):not(.image__apparel) {
  display: block;
  width: 112px;
  margin: auto;
}
*/

.carousel__image-wrapper .is-shoe {
  padding: 32.5px 0;
}

@media (min-width: 576px) {
  .carousel_wrap {
    margin: 0 18px var(--spacing-06);
  }

  .carousel_wrap-cell:last-child {
    padding: 0 18px 0 0;
  }
}

@media (min-width: 768px) {
  .carousel_wrap {
    margin: 0 var(--spacing-06) var(--spacing-06);
  }

  .carousel_wrap-cell:last-child {
    padding: 0 var(--spacing-06) 0 0;
  }
}

.has-lgcells.swiper-carousel {
  width: 1200px;
  max-width: 1200px;
  padding: 0 var(--spacing-12);
}

.has-lgcells .carousel_wrap-cell {
  padding: 0 var(--spacing-06) 0 0;
}

.has-lgcells .carousel__slide-wrapper {
  width: 258px;
  min-width: 258px;
}

.has-lgcells .carousel__image-wrapper {
  position: relative;
  min-height: 280px;
}

.has-lgcells .carousel__image-wrapper img {
  width: 210px;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: 0;
  right: 0;
}

.has-lgcells .carousel__image-wrapper .is-shoe {
  padding: 54px 0;
}

.carousel__info-wrapper {
  display: block;
  position: relative;
}

.carousel__info-wrapper:focus,
.carousel__info-wrapper:hover,
.carousel__info-wrapper:active {
  color: var(--color-text-primary-dark);
}

.carousel__info-wrapper:visited {
  color: var(--color-text-primary-dark);
}

.carousel__info-flag {
  font: var(--text-flag);
  padding-bottom: var(--spacing-01);
  color: var(--color-text-primary-dark);
}

.carousel__info-flag.preorder,
.carousel__info-flag.comingsoon {
  color: var(--color-text-flag-preorder);
}

.carousel__info-flag.topseller {
  color: var(--color-text-flag-bestseller);
}

.carousel__info-flag.new {
  color: var(--color-text-flag-new);
}

.carousel__info-flag.sale {
  color: var(--color-text-flag-promo);
}

.carousel__info-options {
  font: var(--text-body-xs-compact);
  color: var(--color-text-primary-dark);
  margin-bottom: var(--spacing-02);
  padding-bottom: var(--spacing-02);
  border-bottom: var(--border-weight-01) solid var(--color-border-primary);
}

.carousel__info-name {
  font: var(--text-product-name-lg);
  color: var(--color-text-primary-dark);
  word-break: break-word;
  padding-bottom: var(--spacing-01);
}

.carousel__info-subline {
  font: var(--text-product-type-lg);
  color: var(--color-text-secondary);
  word-break: break-word;
  padding-bottom: var(--spacing-01);
}

.carousel__info-price {
  font: var(--text-price-md);
  color: var(--color-text-price-primary);
  text-decoration: none;
  padding-bottom: var(--spacing-01);
}

.carousel__info-price.is-sale {
  color: var(--color-text-price-promo);
}

.carousel__pros .carousel__slide-wrapper a {
  padding: var(--spacing-03);
}

.carousel__pros .carousel__image-wrapper img {
  width: 100%;
  aspect-ratio: var(--image-pro);
}

.carousel__pros .carousel__info-name {
  font: var(--text-title-md);
}

.carousel__pros .carousel__info-subline {
  font: var(--text-body-sm-compact);
  padding-bottom: var(--spacing-01);
}

section .multi_blk-wrap.swiper-carousel {
  padding-bottom: var(--spacing-06);
}

/* Swiper Carousel */
.swiper-carousel {
  padding: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
}

.swiper-slide {
  width: auto;
  height: auto;
}

.swiper .carousel__slide-wrapper {
  width: auto;
}

.swiper .carousel__image-wrapper {
  position: relative;
  display: block;
  margin: 0 auto;
  margin-bottom: var(--spacing-04);
}

.swiper.carousel__pros {
  padding-bottom: 1px;
}

.swiper .carousel__image-wrapper.is-rod {
  aspect-ratio: var(--image-apparel);
}

.swiper .carousel__image-wrapper.is-rod img {
  aspect-ratio: var(--image-rod);
  width: auto;
  height: 100%;
}

.swiper .carousel__image-wrapper.is-apparel img {
  aspect-ratio: var(--image-apparel);
}

.swiper .carousel__image-wrapper.is-lure img {
  aspect-ratio: var(--image-bait);
}

.swiper .carousel__image-wrapper.is-hardgood img {
  aspect-ratio: var(--image-hard-good);
}

.swiper .carousel__image-wrapper.is-undefined img {
  aspect-ratio: var(--image-undefined);
}

.s-controls_wrapper {
  position: relative;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin-bottom: var(--spacing-06);
}

.s-controls_wrapper .s-controls {
  height: 28px;
  width: 100%;
  position: relative;
}

.s-controls_wrapper .shop-all_wrapper {
  position: relative;
  width: auto;
  margin-left: var(--spacing-04);
  text-align: left;
  margin-top: -2px;
}

.s-controls_wrapper .shop-all_wrapper .shop-all_link {
  font: var(--text-link-md);
  color: var(--color-text-primary-dark);
  white-space: normal;
  text-decoration: underline;
}

.s-controls_wrapper .shop-all_wrapper .shop-all_link:hover,
.s-controls_wrapper .shop-all_wrapper .shop-all_link:focus,
.s-controls_wrapper .shop-all_wrapper .shop-all_link:active {
  text-decoration: none;
  color: var(--color-text-link-hover);
}

.swiper-button-prev,
.swiper-button-next {
  background-color: var(--color-surface-primary);
  border: var(--border-weight-01) solid var(--color-border-primary);
  padding: var(--spacing-03);
  border-radius: var(--border-radius-sm);
  top: 6px;
  display: none;
}

.swiper-button-prev:not(.swiper-button-disabled):hover,
.swiper-button-next:not(.swiper-button-disabled):hover {
  background-color: var(--color-surface-primary-inverse);
  border: var(--border-weight-01) solid var(--color-brand-secondary-01);
  color: var(--color-brand-text-on-secondary);
  transition: 0.3s;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  width: 100%;
}

.swiper.article {
  margin-bottom: 0;
}

.swiper.is-sm .carousel__info-wrapper {
  padding: 0 var(--spacing-04) var(--spacing-04);
}

.product-info .swiper-carousel {
  padding: 0;
}

.product-info__section .swiper {
  padding-bottom: var(--spacing-06);
}

@media (min-width: 768px) {
  .s-controls_wrapper .shop-all_wrapper .shop-all_link {
    white-space: nowrap;
  }
}

@media (min-width: 992px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: flex;
  }

  .swiper-horizontal > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-horizontal {
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }

  :root {
    --swiper-scrollbar-sides-offset: 40px;
  }
}

/* ======================================================================
LEGACY CAROUSEL

We need to keep this to support older versions of the carousel that are
being used in areas like the learning center, email builder, etc.
====================================================================== */

.carousel_wrap,
.prodcarousel_container {
  overflow: hidden;
}

.prodcarousel,
.product_carousel {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-scrollbar: none;
  overflow: auto;
  overflow-x: auto;
  overflow-y: -moz-hidden-unscrollable;
}

.prodcarousel::-webkit-scrollbar,
.product_carousel::-webkit-scrollbar {
  display: none;
}

/* List + cells */
.prodcarousel_wrap {
  display: flex;
  width: 100%;
  position: relative;
  margin: 1.5rem 12px 0;
  padding: 0;
  white-space: nowrap;
  list-style-type: none;
}

.no-header .prodcarousel_wrap {
  margin-top: 1.5rem;
}

.profile_card.no-carousel .prodcarousel_wrap {
  justify-content: normal;
}

.prodcarousel_wrap-cell {
  padding: 0 16px 0 0;
}

.prodcarousel_wrap-cell:last-child {
  padding: 0 12px 0 0;
}

.profile_card .prodcarousel_wrap-cell {
  text-align: center;
}

.profile_card .prodcarousel_wrap-cell:not(:last-child) {
  padding: 0;
}

.sw-listcarousel-inner .prodcarousel_wrap-cell {
  display: inline-block;
  float: left;
}

.prodcarousel_wrap_wrap-cell:last-child {
  padding: 0 12px 0 0;
}

.prodcarousel_wrap-cell-inner {
  position: relative;
  width: 189px;
  height: 100%;
  border: 1px solid #e4e4e4;
  border-radius: 3px;
  background: #fff;
  white-space: normal;
}

.profile_card .prodcarousel_wrap-cell-inner {
  border-right: 1px solid transparent;
  border-radius: 0;
}

.profile_card .prodcarousel_wrap-cell:last-child .prodcarousel_wrap-cell-inner {
  border-right: 1px solid #e4e4e4;
}

.prodcarousel_wrap-cell-inner:not(.no-link):hover,
.prodcarousel_wrap-cell-inner:not(.no-link):focus,
.profile_card .prodcarousel_wrap-cell:last-child .prodcarousel_wrap-cell-inner:hover,
.profile_card .prodcarousel_wrap-cell:last-child .prodcarousel_wrap-cell-inner:focus {
  border: 1px solid #000;
}

.prodcarousel_wrap-cell-inner a,
.profile_wrap {
  display: block;
  height: 100%;
  padding: 16px;
  text-decoration: none;
}

.profile_wrap {
  display: block;
  height: 100%;
  padding: var(--spacing-04);
  padding-bottom: var(--spacing-06);
  text-decoration: none;
}

.prodcarousel_wrap-cell-inner-imgwrap {
  display: block;
  margin: 0 auto 1rem;
  min-height: 150px;
}

.prodcarousel_wrap-cell-inner-imgwrap.custom-thumb {
  min-height: 0;
}

.prodcarousel_wrap-cell-inner-imgwrap a {
  display: block;
}

.prodcarousel_wrap-cell-inner-imgwrap img {
  display: block;
  width: 112px;
  margin: auto;
}

.prodcarousel_wrap-cell-inner-imgwrap .is-shoe {
  padding: 32.5px 0;
}

.prodcarousel_wrap-cell-inner a:focus .cattable-wrap-cell-info-name,
.prodcarousel_wrap-cell-inner a:hover .cattable-wrap-cell-info-name,
.prodcarousel_wrap-cell-inner a:focus .cattable-wrap-cell-info-sub,
.prodcarousel_wrap-cell-inner a:hover .cattable-wrap-cell-info-sub {
  text-decoration: underline;
}

.is-sm .prodcarousel_wrap-cell-inner {
  width: 130px;
}

.is-sm .prodcarousel_wrap-cell-inner a {
  padding: 0;
}

.is-sm .prodcarousel_wrap-cell-inner-imgwrap img {
  width: 128px;
}

.profile_card .cattable-wrap-cell-info {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.profile_card .prodcarousel_wrap-cell-inner-imgwrap {
  flex: 0 0 auto;
}

.profile_card .cattable-wrap-cell-info h4 {
  flex: 0 0 auto;
  margin: 0;
  line-height: 1.33334;
  font-size: 1.125rem;
  font-weight: 700;
}

.profile_card .cattable-wrap-cell-info p {
  flex: 1 0 auto;
  margin: 1rem 0;
  line-height: 1.29;
  font-size: 0.875rem;
  color: #757575;
}

.profile_card .cattable-wrap-cell-info span {
  line-height: 1.5;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: underline;
}

.profile_card .prodcarousel_wrap-cell-inner a:focus .cattable-wrap-cell-info span,
.profile_card .prodcarousel_wrap-cell-inner a:hover .cattable-wrap-cell-info span {
  text-decoration: none;
}

.is-sm .cattable-wrap-cell-info {
  padding: 0 16px 16px;
}

.is-sm .cattable-wrap-cell-info-sub {
  font-size: 0.75rem;
}

.sw-listcarousel {
  position: relative;
}

.sw-listcarousel-inner-wrap {
  display: block;
  position: relative;
  overflow: hidden;
}

.sw-listcarousel-inner {
  position: relative;
  height: 100%;
}

.sw-listcarousel-arrow-box {
  position: absolute;
  top: 24px;
  height: calc(100% - 24px);
  width: 66px;
  cursor: pointer;
  background: #fff;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.sw-listcarousel-left-arrow {
  left: -66px;
}

.sw-listcarousel-right-arrow {
  right: -66px;
}

.sw-listcarousel-arrow-icon {
  position: absolute;
  background-image: url('https://img.runningwarehouse.com/graphics-resizer/site/icons/arrows.svg');
  background-size: 32px 384px;
  height: 32px;
  width: 32px;
  top: 50%;
  margin-top: -16px;
  right: 16px;
}

.sw-listcarousel-left-arrow .sw-listcarousel-arrow-icon {
  background-position: 0 -192px;
}

.sw-listcarousel-right-arrow .sw-listcarousel-arrow-icon {
  background-position: 0 -224px;
}

.sw-listcarousel-left-arrow:hover .sw-listcarousel-arrow-icon,
.sw-listcarousel-left-arrow:focus .sw-listcarousel-arrow-icon {
  background-position: 0 -64px;
}

.sw-listcarousel-right-arrow:hover .sw-listcarousel-arrow-icon,
.sw-listcarousel-right-arrow:focus .sw-listcarousel-arrow-icon {
  background-position: 0 -96px;
}

@media screen and (min-width: 576px) {
  .prodcarousel_wrap {
    margin: 1.5rem 18px 0;
  }
  .prodcarousel_wrap-cell:last-child {
    padding: 0 18px 0 0;
  }
}

@media screen and (min-width: 768px) {
  .prodcarousel_wrap {
    margin: 1.5rem 24px 0;
  }
  .prodcarousel_wrap-cell:last-child {
    padding: 0 24px 0 0;
  }
}

@media screen and (min-width: 975px) {
  .prodcarousel,
  .product_carousel {
    width: 936px;
    max-width: 936px;
    padding: 0 66px;
    overflow: inherit;
  }

  .prodcarousel.is-sm {
    width: 878px;
    max-width: initial;
  }

  .product_info-text .prodcarousel.no-carousel {
    margin: 0;
    padding: 0 24px;
  }

  .profile_card.prodcarousel {
    width: 889px;
    max-width: 889px;
  }

  .prodcarousel_wrap {
    margin: 1.5rem 0 0;
  }

  .profile_card.no-carousel .prodcarousel_wrap {
    justify-content: center;
  }

  .profile_card .prodcarousel_wrap-cell:last-child {
    padding: 0;
  }

  .is-sm .prodcarousel_wrap-cell {
    padding-right: 24px;
  }
}

@media (min-width: 1431px) {
  .prodcarousel.is-sm {
    width: 1186px;
  }
}

.has-lgcells.prodcarousel {
  width: 1200px;
  max-width: 1200px;
  padding: 0 48px;
}

.has-lgcells.profile_card.prodcarousel {
  width: 1129px;
  max-width: 1129px;
}

.has-lgcells .prodcarousel_wrap-cell {
  padding: 0 24px 0 0;
}

.has-lgcells .prodcarousel_wrap-cell-inner {
  width: 258px;
  min-width: 258px;
}

.has-lgcells .prodcarousel_wrap-cell-inner-imgwrap {
  min-height: 280px;
}

.has-lgcells .prodcarousel_wrap-cell-inner-imgwrap.custom-thumb {
  min-height: 0;
}

.has-lgcells .prodcarousel_wrap-cell-inner-imgwrap img {
  width: 210px;
}

.has-lgcells .prodcarousel_wrap-cell-inner-imgwrap .is-shoe {
  padding: 61px 0;
}

.has-lgcells .sw-listcarousel-arrow-box {
  width: 48px;
}

.has-lgcells .sw-listcarousel-left-arrow {
  left: -48px;
}

.has-lgcells .sw-listcarousel-right-arrow {
  right: -48px;
}

.has-lgcells .sw-listcarousel-right-arrow .sw-listcarousel-arrow-icon {
  right: 0;
}

.prodcarousel_wrap-cell-inner.ordering_promo .promo_orderform {
  display: block;
  height: 100%;
  padding: 16px;
}

.prodcarousel.promo_carousel .prodcarousel_wrap-cell-inner.ordering_promo {
  text-align: center;
}

.prodcarousel.promo_carousel .cart_swag-img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  margin-right: 0;      
  min-height: 150px;    
}

.prodcarousel.promo_carousel .cart_swag-img img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
}

.has-lgcells .prodcarousel.promo_carousel .cart_swag-img {
  min-height: 280px;
}

.prodcarousel.promo_carousel .details {
  white-space: normal;
  text-align: center;
  margin: 0 auto;
}

.prodcarousel.promo_carousel .details .cf {
  display: flex;
  justify-content: center;
}
