/* common */
.ui-dialog {
  position: relative;
  top: inherit;
  border: none;
}

.ui-dialog .ui-dialog-content {
  position: absolute;
  border: 0.1rem solid #e7e7e7;
  padding: 2rem;
  background: #FFFFFF;
  /* overflow: inherit; remove for the scroll from menu */
}

.ui-widget {
  font-family: Lato;
}

.ui-widget.ui-widget-content {
  border: inherit;
}

.page-wrapper>.breadcrumbs {
  /* margin-bottom: 0; fait bugger la fiche produit */
}

/** popin */
.modal-popup.modal-slide._inner-scroll .modal-inner-wrap {
  /* max-height: inherit; fait bugger la popin d ajout au panier */
}

/*******************************************/
@media only screen and (max-width: 767px) {
  .ui-dialog {
    position: absolute;
    width: 100%;
    left: 0;
  }

  .ui-dialog .ui-dialog-content {
    position: absolute;
    border: none;
    padding: 0;
  }

  .header .block-customer-login-content {
    border: 0.1rem solid #e7e7e7;
    padding: 2rem;
  }

  .breadcrumbs+.page-main {
    padding-top: 0;
  }

  /** popin */
  .modal-popup.modal-slide._inner-scroll .modal-inner-wrap {
    height: auto;
  }
}

/* red */
/* ivory */
/* button */
/* body font color */
/* field required */
/* grey */
/* cta pink */
/* cta white */
/* light blue */
/* orange */
/* title red */
/* title purple */
/* title red */
.d-none {
  display: none !important;
}

.banner.cycle {
  width: 100%;
  max-width: 128rem;
  margin: 0 auto;
  text-align: center;
}

.banner.cycle .banner-title {
  margin: 1.6rem auto 1rem;
}

.banner.cycle .banner-title .h2 {
  font-size: 2.3rem;
  font-weight: 600;
  margin: 0 auto;
  padding: 0;
}

.banner.cycle .banner-title .h2 strong {
  font-weight: 900;
}

.banner.cycle .items {
  display: block;
}

.banner.cycle .items .item {
  max-width: 30rem;
}

.banner.cycle .items .item-title {
  display: block;
  margin: 0 auto 1.2rem;
  font-size: 1.4rem;
}

.banner.cycle .items .item .picture {
  margin: 0 auto 1rem;
  display: block;
}

.banner.cycle .items .item .picture:hover {
  cursor: pointer;
}

.banner.cycle .items .item .actions {
  margin: 0 auto;
}

.banner.cycle .items .item .actions .underline-red {
  font-weight: 600;
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 0 0 0.3rem;
}

.banner.cycle .items .item .actions .underline-red:after {
  display: block;
  content: " ";
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 3px;
  transform: scaleY(1);
  background: #ff1940;
}

.banner.cycle .items .item .actions .underline-red:hover:after {
  transform: scaleY(0);
}

/*******************************************/
@media only screen and (min-width: 768px) {
  .banner.cycle .banner-title {
    margin: 1.6rem auto 2.4rem;
  }

  .banner.cycle .banner-title .h2 {
    font-size: 2.8rem;
  }

  .banner.cycle .items {
    display: flex;
    align-items: start;
    justify-content: space-evenly;
  }

  .banner.cycle .items.x2 .item {
    flex-basis: 48%;
  }

  .banner.cycle .items.x3 .item {
    flex-basis: 33%;
  }

  .banner.cycle .items.x4 .item {
    flex-basis: 22%;
  }

  .banner.cycle .items .item {
    max-width: inherit;
    margin: 0 auto 1.6rem;
  }

  .banner.cycle .items .item-title {
    font-size: 1.7rem;
  }
}