/* HTML: <div class="ribbon">Your text content</div> */
.ribbonLab1 {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  opacity: 0.85;
}

.ribbonLab1 {
  --r: .8em;
  /* control the cutout */
  position: absolute;
  bottom: 55px;
  border-block: .5em solid #0000;
  padding-inline: .5em calc(var(--r) + .25em);
  line-height: 1.6;
  clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%, calc(100% - var(--r)) calc(100% - .25em), 100% 50%, calc(100% - var(--r)) .25em);
  background:
    radial-gradient(.2em 50% at left, #000a, #0000) border-box,
    #12ae8f padding-box;
  /* the color  */
  width: fit-content;
}

.ribbonLab2 {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  opacity: 0.85;
}

.ribbonLab2 {
  --r: .8em;
  /* control the cutout */
  position: absolute;
  bottom: 30px;
  border-block: .5em solid #0000;
  padding-inline: .5em calc(var(--r) + .25em);
  line-height: 1.6;
  clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%, calc(100% - var(--r)) calc(100% - .25em), 100% 50%, calc(100% - var(--r)) .25em);
  background:
    radial-gradient(.2em 50% at left, #000a, #0000) border-box,
    #12ae8f padding-box;
  /* the color  */
  width: fit-content;
}

.ribbonLab3 {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  opacity: 0.85;
}

.ribbonLab3 {
  --r: .8em;
  /* control the cutout */
  position: absolute;
  bottom: 5px;
  border-block: .5em solid #0000;
  padding-inline: .5em calc(var(--r) + .25em);
  line-height: 1.6;
  clip-path: polygon(100% 0, 0 0, 0 100%, 100% 100%, calc(100% - var(--r)) calc(100% - .25em), 100% 50%, calc(100% - var(--r)) .25em);
  background:
    radial-gradient(.2em 50% at left, #000a, #0000) border-box,
    #12ae8f padding-box;
  /* the color  */
  width: fit-content;
}



/* --------- TOP SELLER RED --------------- */


.ribbonred {
  position: absolute;
  right: -5px;
  top: -5px;
  z-index: 101;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbonred span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 100px;
  display: block;
  background: #a70a0a;
  /* background: linear-gradient(#c9330d 0%, #a70a0a 100%); */
  background: linear-gradient(180deg, #c4492a 0%, #a70a0a 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px;
  right: -21px;
}

.ribbonred span::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid #a70a0a;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #a70a0a;
}

.ribbonred span::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #a70a0a;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #a70a0a;
}

/* ---------------------------- */
.ribbonredBottom {
  position: absolute;
  right: -5px;
  bottom: -5px;
  z-index: 101;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbonredBottom span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  width: 100px;
  display: block;
  background: #a70a0a;
  background: linear-gradient(#c9330d 0%, #a70a0a 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  bottom: 19px;
  right: -21px;
}

.ribbonredBottom span::before {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 100%;
  z-index: -1;
  border-left: 3px solid #a70a0a;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #a70a0a;
}

.ribbonredBottom span::after {
  content: "";
  position: absolute;
  right: 0px;
  bottom: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #a70a0a;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #a70a0a;
}

/* ---------------------------- */
.ribbonredLeft {
  position: absolute;
  left: -5px;
  top: -5px;
  z-index: +1;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbonredLeft span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  width: 100px;
  display: block;
  background: #a70a0a;
  background: linear-gradient(#c9330d 0%, #a70a0a 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px;
  left: -21px;
}


.ribbonredBottomLeft {
  position: absolute;
  left: -5px;
  bottom: -5px;
  z-index: +1;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbonredBottomLeft span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 100px;
  display: block;
  background: #a70a0a;
  background: linear-gradient(#c9330d 0%, #a70a0a 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  bottom: 19px;
  left: -21px;
}


/* --------- ribbon yelolow --------------- */


.ribbonyellow {
  position: absolute;
  right: -5px;
  top: -5px;
  z-index: 101;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbonyellow span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 100px;
  display: block;
  background: #d9c300;
  background: linear-gradient(#f0d800 0%, #d9c300 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px;
  right: -21px;
}

.ribbonyellow span::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid #d9c300;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #d9c300;
}

.ribbonyellow span::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #d9c300;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #d9c300;
}

/* ---------------------------- */
.ribbonyellowBottom {
  position: absolute;
  right: -5px;
  bottom: -5px;
  z-index: 101;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbonyellowBottom span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  width: 100px;
  display: block;
  background: #d9c300;
  background: linear-gradient(#f0d800 0%, #d9c300 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  bottom: 19px;
  right: -21px;
}

.ribbonyellowBottom span::before {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 100%;
  z-index: -1;
  border-left: 3px solid #d9c300;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #d9c300;
}

.ribbonyellowBottom span::after {
  content: "";
  position: absolute;
  right: 0px;
  bottom: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #d9c300;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #d9c300;
}

/* ---------------------------- */
.ribbonyellowLeft {
  position: absolute;
  left: -5px;
  top: -5px;
  z-index: +1;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbonyellowLeft span {
  font-size: 12px;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.62);
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  width: 100px;
  display: block;
  background: #f0d800;
  /* background: linear-gradient(#f0d800 0%, #d9c300 100%); */
  background: linear-gradient(180deg, #FFD700 0%, #FFA500 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px;
  left: -21px;
}

.ribbonyellowLeft span::before {
  content: "";
  position: absolute;
  left: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid #d9c300;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #d9c300;
}

.ribbonyellowLeft span::after {
  content: "";
  position: absolute;
  right: 0px;
  top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #d9c300;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #d9c300;
}


.ribbonyellowBottomLeft {
  position: absolute;
  left: -5px;
  bottom: -5px;
  z-index: +1;
  overflow: hidden;
  width: 75px;
  height: 75px;
  text-align: right;
}

.ribbonyellowBottomLeft span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  width: 100px;
  display: block;
  background: #d9c300;
  background: linear-gradient(#f0d800 0%, #d9c300 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  bottom: 19px;
  left: -21px;
}