html {
  font-size: 62.5%;
  font-family: "Poppins", sans-serif;
}
* {
  box-sizing: border-box;
}
:root {
  --color: #7b78f8;
  --shadow: rgba(123, 120, 248, 0.5) 0px 10px 20px 0px;
  --line: #ccc;
}
.ribbon {
  background-color: var(--color);
  width: 200px;
  height: 100px;
  border-radius: 4px;
  margin: 50px 10px;
  position: relative;
}
.ribbon:before {
  content: "";
  position: absolute;
  top: -20px;
  left: 20px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid transparent;
  border-bottom: 10px solid var(--color);
}
.ribbon2 {
  background-color: var(--color);
  width: 200px;
  height: 100px;
  border-radius: 4px;
  margin: 50px 10px;
  position: relative;
  box-shadow: var(--shadow);
}
.ribbon2:before {
  content: "";
  position: absolute;
  top: -8px;
  left: 20px;
  width: 20px;
  height: 20px;
  background-color: var(--color);
  border-radius: 4px;
  transform: rotate(45deg);
  box-shadow: var(--shadow);
  z-index: -1;
}

.ribbon3 {
  background-color: white;
  border: 1px solid var(--line);
  width: 200px;
  height: 100px;
  border-radius: 4px;
  margin: 50px 10px;
  position: relative;
}
.ribbon3:before,
.ribbon3:after {
  content: "";
  position: absolute;
  top: -8px;
  left: 20px;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1px solid var(--line);
  transform: rotate(45deg);
  z-index: -1;
}
.ribbon3:after {
  background-color: white;
  top: -7px;
  left: 21px;
  border: 0;
  z-index: 2;
}
