
/* common */
.ribbon {
    /* width: 150px;
    height: 150px; */
    width: 100px;
    height: 100px;
    overflow: hidden;
    position: absolute;
    z-index:10;
  }
  .ribbon::before,
  .ribbon::after {
    position: absolute;
    z-index: -1;
    content: '';
    display: block;
    /* border: 5px solid #2980b9; */
    border: 5px solid #9e6003;
  }
  .ribbon span {
    position: absolute;
    display: block;
    /* width: 225px;
    padding: 15px 0; */
    width: 155px;
    padding: 2px 0;
    /* background-color: #3498db; */
    background-color: #fb9600;
    box-shadow: 0 5px 10px rgba(0,0,0,.1);
    /* color: #fff; */
    color: #000;
    /* font: 700 18px/1 'Lato', sans-serif; */
    font: 700 14px/1 'Lato', sans-serif;
    text-shadow: 0 1px 1px rgba(0,0,0,.2);
    text-transform: uppercase;
    text-align: center;
  }
  .ribbon.small {
    width: 60px;
    height: 60px;
  }
  .ribbon.small span {
    width: 110px;
    font: 700 11px/1 'Lato', sans-serif;
    margin-top:5px;
  }
  
  /* top left*/
  .ribbon-top-left {
    top: -10px;
    left: -10px;
  }
  .ribbon-top-left::before,
  .ribbon-top-left::after {
    border-top-color: transparent;
    border-left-color: transparent;
  }
  .ribbon-top-left::before {
    top: 0;
    right: 0;
  }
  .ribbon-top-left::after {
    bottom: 0;
    left: 0;
  }
  .ribbon-top-left span {
    right: -25px;
    top: 30px;
    transform: rotate(-45deg);
  }
  .ribbon.small.ribbon-top-left span {
    right: -20px;
    top: 12px !important;
    transform: rotate(-45deg);
  }
  
  /* top right*/
  .ribbon-top-right {
    top: -10px;
    right: -10px;
  }
  .ribbon-top-right::before,
  .ribbon-top-right::after {
    border-top-color: transparent;
    border-right-color: transparent;
  }
  .ribbon-top-right::before {
    top: 0;
    left: 0;
  }
  .ribbon-top-right::after {
    bottom: 0;
    right: 0;
  }
  .ribbon-top-right span {
    left: -25px;
    top: 30px;
    transform: rotate(45deg);
  }
  
  /* bottom left*/
  .ribbon-bottom-left {
    bottom: -10px;
    left: -10px;
  }
  .ribbon-bottom-left::before,
  .ribbon-bottom-left::after {
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  .ribbon-bottom-left::before {
    bottom: 0;
    right: 0;
  }
  .ribbon-bottom-left::after {
    top: 0;
    left: 0;
  }
  .ribbon-bottom-left span {
    right: -25px;
    bottom: 30px;
    transform: rotate(225deg);
  }
  
  /* bottom right*/
  .ribbon-bottom-right {
    bottom: -10px;
    right: -10px;
  }
  .ribbon-bottom-right::before,
  .ribbon-bottom-right::after {
    border-bottom-color: transparent;
    border-right-color: transparent;
  }
  .ribbon-bottom-right::before {
    bottom: 0;
    left: 0;
  }
  .ribbon-bottom-right::after {
    top: 0;
    right: 0;
  }
  .ribbon-bottom-right span {
    left: -25px;
    bottom: 30px;
    transform: rotate(-225deg);
  }


  .ribbonWrap {
    --f: 15px; /* control the folded part*/
    --r: 20px; /* control the ribbon shape */
    
    position: absolute;
    background: #FA6900;
    border-bottom: var(--f) solid #0005;
    border-left: var(--r) solid #0000;
    clip-path: 
      polygon(0 0,100% 0,100% calc(100% - var(--f)),calc(100% - var(--f)) 100%,
        calc(100% - var(--f)) calc(100% - var(--f)),0 calc(100% - var(--f)),
        var(--r) calc(50% - var(--f)/2));
    right: calc(-1*var(--f));
  }