.corner-overflow {
  overflow: hidden;
}

.corner-ribbon {
  width: 200px;
  background: #e43;
  position: absolute;
  top: 25px;
  left: -50px;
  text-align: center;
  line-height: 50px;
  letter-spacing: 1px;
  color: #f0f0f0;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.corner-ribbon.sticky {
  position: fixed;
}

.corner-ribbon.shadow {
  box-shadow: 0 0 3px rgba(0,0,0,.3);
}

.corner-ribbon.top-left {
  top: 25px;
  left: -50px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.corner-ribbon.top-right {
  top: 25px;
  right: -50px;
  left: auto;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.corner-ribbon.bottom-left {
  top: auto;
  bottom: 25px;
  left: -50px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.corner-ribbon.bottom-right {
  top: auto;
  right: -50px;
  bottom: 25px;
  left: auto;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.corner-ribbon.white {
  background: #f0f0f0;
  color: #555;
}

.corner-ribbon.black {
  background: #333;
}

.corner-ribbon.grey {
  background: #999;
}

.corner-ribbon.blue {
  background: #39d;
}

.corner-ribbon.green {
  background: #2c7;
}

.corner-ribbon.turquoise {
  background: #1b9;
}

.corner-ribbon.purple {
  background: #95b;
}

.corner-ribbon.red {
  background: #e43;
}

.corner-ribbon.orange {
  background: #e82;
}

.corner-ribbon.yellow {
  background: #ec0;
}

.corner:before {
  right: 100%;
}

.corner:after {
  left: 100%;
}

.corner-red {
  height: 23px;
  margin: 5px;
  padding: 0;
  font-size: 18px;
  color: white;
  padding: 0em;
  position: absolute;
  top: -3px;
  right: -5px;
  transform: translateX(30%) translateY(0%) rotate(45deg);
  transform-origin: top left;
  background: red;
}

.corner-red:before, .corner-red:after {
  content: '';
  position: absolute;
  top: 0;
  margin: 0 -1px;
  width: 200%;
  height: 100%;
  background: red;
}

.corner-yellow {
  height: 23px;
  margin: 5px;
  padding: 0;
  font-size: 18px;
  color: rgb(255,8,8);
  padding: 0em;
  position: absolute;
  top: -3px;
  right: -5px;
  transform: translateX(30%) translateY(0%) rotate(45deg);
  transform-origin: top left;
  background: yellow;
}

.corner-yellow:before, .corner-yellow:after {
  content: '';
  position: absolute;
  top: 0;
  margin: 0 -1px;
  width: 200%;
  height: 100%;
  background: yellow;
}

.corner-green {
  height: 23px;
  margin: 5px;
  padding: 0;
  font-size: 18px;
  color: white;
  padding: 0em;
  position: absolute;
  top: -3px;
  right: -5px;
  transform: translateX(30%) translateY(0%) rotate(45deg);
  transform-origin: top left;
  background: green;
}

.corner-green:before, .corner-green:after {
  content: '';
  position: absolute;
  top: 0;
  margin: 0 -1px;
  width: 200%;
  height: 100%;
  background: green;
}

.corner-blue {
  height: 23px;
  margin: 5px;
  padding: 0;
  font-size: 18px;
  color: white;
  padding: 0em;
  position: absolute;
  top: -3px;
  right: -5px;
  transform: translateX(30%) translateY(0%) rotate(45deg);
  transform-origin: top left;
  background: #001797;
}

.corner-blue:before, .corner-blue:after {
  content: '';
  position: absolute;
  top: 0;
  margin: 0 -1px;
  width: 200%;
  height: 100%;
  background: #001797;
}

