/******************************************************************************/
/******************************************************************************/
/******************************************************************************/
/*        					  MEDIA COMPONENT START         				                  */
/******************************************************************************/
/******************************************************************************/
/******************************************************************************/

.media {
  display: block;
  background-color: rgba(var(--color-text-regular), 0.1);
  position: relative;
  overflow: hidden;
}

.media--transparent {
  background-color: transparent;
}

.media > *:not(.zoom):not(.deferred-media-poster-button),
.media model-viewer {
  display: block;
  max-width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.media > img {
  object-fit: cover;
  object-position: center center;
  transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.media--square {
  padding-bottom: 100%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--landscape {
  padding-bottom: 66.6%;
}

.media--cropped {
  padding-bottom: 56%;
}

.media--16-9 {
  padding-bottom: 56.25%;
}

.media--circle {
  padding-bottom: 100%;
  border-radius: 50%;
}

.media.media--hover-effect > img + img {
  opacity: 0;
}

@media screen and (min-width: 990px) {
  .media--cropped {
    padding-bottom: 63%;
  }
}

deferred-media {
  display: block;
}

/******************************************************************************/
/******************************************************************************/
/******************************************************************************/
/*        					  MEDIA COMPONENT END         					  */
/******************************************************************************/
/******************************************************************************/
/******************************************************************************/

/******************************************************************************/
/******************************************************************************/
/******************************************************************************/
/*        					  CARD COMPONENT START         					                  */
/******************************************************************************/
/******************************************************************************/
/******************************************************************************/

/* For non-Aerosmith themes need hide price and align text in a different way */
.section-wrapper[data-section-setting-show-price="no"] .product-card-wrapper .price-block{
  display: none;
}
.section-wrapper[data-section-setting-text-align="left"] .product-card-wrapper{
    text-align: left;
}
.section-wrapper[data-section-setting-text-align="center"] .product-card-wrapper{
    text-align: center;
}
.section-wrapper[data-section-setting-text-align="right"] .product-card-wrapper{
    text-align: right;
}

.card-wrapper {
  color: inherit;
  height: 100%;
  position: relative;
  text-decoration: none;
}

/* Reset bootstrap default card style */
.card{
	background-color: transparent;
	border: var(--card-border-width) solid rgba(var(--color-text-heading),var(--card-border-opacity));
  /* Bootstrap default card flex direction is 'column' which messes things up */
  flex-direction: row;
}

.card {
  text-decoration: none;
}

.card:not(.ratio) {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card--card {
  height: 100%;
}

.card--card,
.card--standard .card__inner {
  border-radius: var(--card-corner-radius);
  border: var(--card-border-width) solid rgba(var(--color-text-regular), var(--card-border-opacity));
  position: relative;
  box-sizing: border-box;
}

.card--card:after,
.card--standard .card__inner:after {
  content: '';
  position: absolute;
  width: calc(var(--card-border-width) * 2 + 100%);
  height: calc(var(--card-border-width) * 2 + 100%);
  top: calc(var(--card-border-width) * -1);
  left: calc(var(--card-border-width) * -1);
  z-index: -1;
  border-radius: var(--card-corner-radius);
}

.card .card__inner .card__media {
  overflow: hidden;
  /* Fix for Safari border bug on hover */
  z-index: 0;
  border-radius: calc(var(--card-corner-radius) - var(--card-border-width) - var(--card-image-padding));
}

.card--card .card__inner .card__media {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.card--standard.card--text {
  background-color: transparent;
}

.card__media,
.card .media {
  bottom: 0;
  position: absolute;
  top: 0;
}

.card .media {
  width: 100%;
}

.card__media {
  margin: var(--card-image-padding);
  width: calc(100% - 2 * var(--card-image-padding));
}

.card--standard .card__media {
  margin: var(--card-image-padding);
}

.card__inner {
  width: 100%;
}

.card--media .card__inner .card__content {
  padding: calc(var(--card-image-padding) + 0.625rem);
  position: relative;
}

.card__content {
  display: grid;
  grid-template-rows: minmax(0,1fr) max-content minmax(0,1fr);
  padding: 0.625rem;
  width: 100%;
  flex-grow: 1;
}

.card__content--auto-margins {
  grid-template-rows: minmax(0,auto) max-content minmax(0,auto);
}

.card__information {
  grid-row-start: 2;
  padding: 0.812rem 0.625rem;
}

.card:not(.ratio) > .card__content {
  grid-template-rows: max-content minmax(0,1fr) max-content auto;
}

@media screen and (min-width: 750px) {
  .card__information {
    padding-bottom: 1.0625rem;
    padding-top: 1.0625rem;
  }
}

.card-badge {
  align-self: flex-end;
  grid-row-start: 3;
  justify-self: flex-start;
}

.card-badge[data-badge-position="top-left"],
.card-badge[data-badge-position="top-right"] {
  align-self: flex-start;
  grid-row-start: 1;
}

.card-badge[data-badge-position="top-right"],
.card-badge[data-badge-position="bottom-right"] {
  justify-self: flex-end;
}

.card > .card__content > .card-badge {
  margin: 0.8125rem;
}

.card__media .media img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
  width: 100%;
}

.card__inner:not(.ratio) > .card__content {
  height: 100%;
}

.card__heading {
  margin-top: 0;
  margin-bottom: 0;
}

.card__heading:last-child {
  margin-bottom: 0;
}

.card--card.card--media > .card__content {
  margin-top: calc(0rem - var(--card-image-padding));
}

.card--standard.card--text a::after,
.card--card .card__heading a::after {
  bottom: calc(var(--card-border-width) * -1);
  left: calc(var(--card-border-width) * -1);
  right: calc(var(--card-border-width) * -1);
  top: calc(var(--card-border-width) * -1);
}

.card__heading a::after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.card__heading a:after {
  outline-offset: 0.1875rem;
}

.card__heading a:focus:after {
  box-shadow: 0 0 0 0.1875rem rgb(var(--color-section-background)), 0 0 0.5rem 0.4rem rgba(var(--color-text-regular), 0.3);
  outline: 0.2rem solid rgba(var(--color-text-regular), 0.5);
}

.card__heading a:focus-visible:after {
  box-shadow: 0 0 0 0.1875rem rgb(var(--color-section-background)), 0 0 0.5rem 0.4rem rgba(var(--color-text-regular), 0.3);
  outline: 0.125rem solid rgba(var(--color-text-regular), 0.5);
}

.card__heading a:focus:not(:focus-visible):after {
  box-shadow: none;
  outline: 0;
}

.card__heading a:focus {
  box-shadow: none;
  outline: 0;
}

@media screen and (min-width: 990px) {
  .card .media.media--hover-effect > img:only-child,
  .card-wrapper .media.media--hover-effect > img:only-child,
  .blog-post-list-block .media.media--hover-effect img {
    transition: transform var(--duration-long) ease;
  }

  .card:hover .media.media--hover-effect > img:first-child:only-child,
  .card-wrapper:hover .media.media--hover-effect > img:first-child:only-child,
  .blog-post-list-block .media.media--hover-effect:hover img {
    transform: scale(1.03);
  }

  .card-wrapper:hover
    .media.media--hover-effect
    > img:first-child:not(:only-child) {
    opacity: 0;
  }

  .card-wrapper:hover .media.media--hover-effect > img + img {
    opacity: 1;
    transition: transform var(--duration-long) ease;
    transform: scale(1.03);
  }

  .underline-links-hover:hover a {
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
  }
}

.card--standard.card--media .card__inner .card__information,
.card--standard.card--text > .card__content .card__heading,
.card--standard > .card__content .card-badge,
.card--standard.card--text.article-card > .card__content .card__information,
.card--standard > .card__content .card__caption {
  display: none;
}

.card--standard > .card__content {
  padding: 0;
}

.card--standard > .card__content .card__information {
  padding-left: 0;
  padding-right: 0;
}

.card--card.card--media .card__inner .card__information,
.card--card.card--text .card__inner,
.card--card.card--media > .card__content .card-badge {
  display: none;
}

.card--extend-height {
  height: 100%;
}

.card--extend-height.card--standard.card--text,
.card--extend-height.card--media {
  display: flex;
  flex-direction: column;
}

.card--extend-height.card--standard.card--text .card__inner,
.card--extend-height.card--media .card__inner {
  flex-grow: 1;
}

.card .icon-wrap {
  margin-left: 0.5rem;
  white-space: nowrap;
  transition: transform var(--duration-short) ease;
  overflow: hidden;
}

.card-information > * + * {
  margin-top: 0.3125rem;
}

.card-information {
  width: 100%;
}

.card-information > * {
  line-height: calc(1 + 0.4 / 1);
  color: rgb(var(--color-text-regular));
}

.card-information > .price {
  color: rgb(var(--color-text-regular));
}

.card-information > .rating {
  margin-top: 0.25rem;
}

.card-information
  > *:not(.visually-hidden:first-child)
  + *:not(.rating) {
  margin-top: 0.4375rem;
}

.card-information .caption {
  letter-spacing: 0.0437rem;
}

.card-article-info {
  margin-top: 0.625rem;
}

/* Show price details on hover start */

.card.show-product-details-on-hover > .card__content,
.card.show-product-details-on-hover .card__inner .card-badge{
  display: none;
}

.card.show-product-details-on-hover:hover .card__inner .card__information,
.card.show-product-details-on-hover:hover .card__inner .card-badge{
  display: block;
}

.card .hover-background{
  visibility: hidden;
  pointer-events: none;
  border-radius: calc(var(--card-corner-radius) - var(--card-border-width) - var(--card-image-padding));
}

.card.show-product-details-on-hover:hover .hover-background{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    visibility: visible;
}

.card.show-product-details-on-hover .card__inner .card__information,
.card.show-product-details-on-hover .card__inner .card-badge{
  z-index: 100;
}

.card.show-product-details-on-hover .card__inner .card__information *{
  color: inherit;
}

.card.show-product-details-on-hover .card__inner .card__information a:hover{
  text-decoration: none;
}

.card.show-product-details-on-hover .name-price-separator{
  height: 1px;
  width: 24px;
  margin: 0 auto;
  margin-top: 8px;
  margin-bottom: 8px;
}

/* Show product details on hover end */

/******************************************************************************/
/******************************************************************************/
/******************************************************************************/
/*        					  CARD COMPONENT END         					  */
/******************************************************************************/
/******************************************************************************/
/******************************************************************************/

/******************************************************************************/
/******************************************************************************/
/******************************************************************************/
/*        			 DEFERRED MEDIA COMPONENT START         				              */
/******************************************************************************/
/******************************************************************************/
/******************************************************************************/

.deferred-media-poster {
  background-color: transparent;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.media > .deferred-media-poster {
  display: flex;
  align-items: center;
  justify-content: center;
}

.deferred-media-poster img {
  width: auto;
  max-width: 100%;
  height: 100%;
}

.deferred-media {
  overflow: hidden;
}

.deferred-media:not([loaded]) template {
  z-index: -1;
}

.deferred-media[loaded] > .deferred-media-poster {
  display: none;
}

.deferred-media-poster:focus-visible {
  outline: none;
  box-shadow: 0 0 0 var(--media-border-width) rgba(var(--color-text-regular), var(--media-border-opacity)), 0 0 0 calc(var(--media-border-width) + 0.3rem) rgb(var(--color-section-background)),0 0 0 calc(var(--media-border-width) + 0.5rem) rgba(var(--color-text-regular),.5);
  border-radius: calc(var(--media-radius) - var(--media-border-width));
}

.deferred-media-poster:focus {
  outline: none;
  box-shadow: 0 0 0 var(--media-border-width) rgba(var(--color-text-regular), var(--media-border-opacity)), 0 0 0 calc(var(--media-border-width) + 0.3rem) rgb(var(--color-section-background)),0 0 0 calc(var(--media-border-width) + 0.5rem) rgba(var(--color-text-regular),.5);
  border-radius: calc(var(--media-radius) - var(--media-border-width));
}

.deferred-media-poster:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}

.deferred-media-poster-button {
  background-color: rgb(var(--color-section-background));
  border: 0.1rem solid rgba(var(--color-text-regular), 0.1);
  border-radius: 50%;
  color: rgb(var(--color-text-regular));
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.2rem;
  width: 6.2rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: transform var(--duration-short) ease, color var(--duration-short) ease;
  z-index: 1;
}

.deferred-media-poster-button:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

.deferred-media-poster-button .icon {
  width: 2rem;
  height: 2rem;
}

.deferred-media-poster-button .icon-play {
  margin-left: 0.2rem;
}

/******************************************************************************/
/******************************************************************************/
/******************************************************************************/
/*        			 DEFERRED MEDIA COMPONENT END         				  	            */
/******************************************************************************/
/******************************************************************************/
/******************************************************************************/
