/****** Red corner ribbon ******/

.ribbon-red {
  position: absolute;
  left: -5px; top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 75px; height: 75px;
  text-align: right;
}
.ribbon-red span {
  font-size: 0.9em;
  font-family: "Abel", sans-serif;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  text-shadow:0 1px 1px #000;
  line-height: 20px;
  -webkit-transform: rotate(-45deg);
  -moz-transform:    rotate(-45deg);
  -o-transform:      rotate(-45deg);
  -ms-transform:     rotate(-45deg);
  transform: rotate(-45deg);
  width: 100px;
  display: block;
  background: #79A70A;
  background: linear-gradient(#F70505 0%, #8F0808 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px; left: -21px;
}
.ribbon-red span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid #8F0808;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #8F0808;
}
.ribbon-red span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #8F0808;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #8F0808;
}

/****** Geen corner ribbon ******/

.ribbon-green {
  position: absolute;
  left: -5px; top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 75px; height: 75px;
  text-align: right;
}
.ribbon-green span {
  font-size: 0.9em;
  font-family: "Abel", sans-serif;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  text-shadow:0 1px 1px #000;
  line-height: 20px;
  -webkit-transform: rotate(-45deg);
  -moz-transform:    rotate(-45deg);
  -o-transform:      rotate(-45deg);
  -ms-transform:     rotate(-45deg);
  transform: rotate(-45deg);
  width: 100px;
  display: block;
  background: #79A70A;
  background: linear-gradient(#80B73D 0%, #547728 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px; left: -21px;
}
.ribbon-green span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid #547728;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #547728;
}
.ribbon-green span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #547728;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #547728;
}

/****** Blue hard corner ribbon ******/

.ribbon-blue-hard {
  position: absolute;
  left: -5px; top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 75px; height: 75px;
  text-align: right;
}
.ribbon-blue-hard span {
  font-size: 0.9em;
  font-family: "Abel", sans-serif;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  text-shadow:0 1px 1px #000;
  line-height: 20px;
  -webkit-transform: rotate(-45deg);
  -moz-transform:    rotate(-45deg);
  -o-transform:      rotate(-45deg);
  -ms-transform:     rotate(-45deg);
  transform: rotate(-45deg);
  width: 100px;
  display: block;
  background: #79A70A;
  background: linear-gradient(#42A5D4 0%, #24769D 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 19px; left: -21px;
}
.ribbon-blue-hard span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid #24769D;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #24769D;
}
.ribbon-blue-hard span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #24769D;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #24769D;
}

/****** Blue light corner ribbon ******/

.ribbon-blue-light {
  position: absolute;
  right: -14px; top: -14px;
  z-index: 1;
  overflow: hidden;
  width: 13.1em;
  height: 13.1em;
  text-align: right;
}
.ribbon-blue-light span {
  font-size: 0.9em;
  font-family: "Abel", sans-serif;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  text-shadow:0 1px 1px #000;
  line-height: 20px;
  -webkit-transform: rotate(45deg);
  -moz-transform:    rotate(45deg);
  -o-transform:      rotate(45deg);
  -ms-transform:     rotate(45deg);
  transform: rotate(45deg);
  width: 11.38em;
  display: block;
  background: #79A70A;
  background: linear-gradient(#05EFF7 0%, #087F8F 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 3.23em;
  right: -1.6em;
}
.ribbon-blue-light span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid #087F8F;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #087F8F;
}
.ribbon-blue-light span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #087F8F;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #087F8F;
}

/****** Orange corner ribbon ******/

.ribbon-orange {
  position: absolute;
  left: -10px; top: -10px;
  z-index: 1;
  overflow: hidden;
  width: 13.1em;
  height: 13.1em;
  text-align: right;
}
.ribbon-orange span {
  font-size: 0.9em;
  font-family: "Abel", sans-serif;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  text-shadow:0 1px 1px #000;
  line-height: 20px;
  -webkit-transform: rotate(-45deg);
  -moz-transform:    rotate(-45deg);
  -o-transform:      rotate(-45deg);
  -ms-transform:     rotate(-45deg);
  transform: rotate(-45deg);
  width: 11.98em;
  display: block;
  background: #79A70A;
  background: linear-gradient(#F79E05 0%, #F2AF3A 100%);
  box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 3.23em;
  left: -1.9em;
}
.ribbon-orange span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid #F2AF3A;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #F2AF3A;
}
.ribbon-orange span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #F2AF3A;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #F2AF3A;
}