
body {
  background-color: #080808;
}

.teaser-element-container {
  --teaser__icon__color: #e6e6e6;
  margin-bottom: 40px;
  width: 100%;
  height: calc(100% - 40px);
  padding: 35px 30px;
  position: relative;
  border-radius: 12px;
  background-color: #101010;
  transition: background 0.45s;
}
.teaser-element-container .icon {
  width: 36px;
  height: 36px;
  margin-bottom: 20px;
}
.teaser-element-container .icon svg {
  width: 100%;
  height: 100%;
}
.teaser-element-container h3 {
  font-family: "Clash Display", sans-serif;
  font-size: 28px;
  line-height: 36px;
  margin-bottom: 22px;
  color: #e6e6e6;
}
.teaser-element-container p {
  width: 85%;
  font-family: "Satoshi", sans-serif;
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
  color: #e6e6e6;
}
.teaser-element-container::before {
  content: "";
  display: block;
  height: calc(100% + 2px);
  width: calc(100% + 2px);
  border-radius: 12px;
  inset: -1px;
  position: absolute;
  z-index: -2;
  right: -1px;
  top: -1px;
  bottom: -1px;
  left: -1px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  transition: background 0.2s;
  will-change: background;
  contain: size;
  background: radial-gradient(300px circle at var(--x__mouse__coordinate) var(--y__mouse__coordinate), #fff 0, #f3fefe 50%, transparent 100%);
}
.teaser-element-container:hover {
  background-color: #1a1a1a;
}


.emboss {
  --embossSize: 3px;
  filter: drop-shadow(0px calc(var(--embossSize) * -1) 0px hsla(0,0%,100%,0.75))
          drop-shadow(calc(var(--embossSize) * -1) 0px 0px hsla(0,0%,100%,0.75))
          drop-shadow(var(--embossSize) 0px 0px hsla(0,0%,25%,0.125))
          drop-shadow(0px var(--embossSize) 0px hsla(0,0%,25%,0.125))
          drop-shadow(var(--embossSize) var(--embossSize) 0px hsla(0,0%,25%,0.375));
}


.notched--container {
  width: 100%;
  height: 12em;
  text-align: center;
  margin-bottom: 5%;
}

.notched--outer {
  width: 100%; height: 100%;
  background-color: #89715b;
  /* Notched Corners */
  --notchSize: 16px;
  clip-path: polygon(
    /* Top left */
    0% var(--notchSize), 
    var(--notchSize) var(--notchSize), 
    var(--notchSize) 0%, 
    /* Top right */
    calc(100% - var(--notchSize)) 0%, 
    calc(100% - var(--notchSize)) var(--notchSize), 
    100% var(--notchSize), 
    /* Bottom right */
    100% calc(100% - var(--notchSize)), 
    calc(100% - var(--notchSize)) calc(100% - var(--notchSize)),
    calc(100% - var(--notchSize)) 100%,
    /* Bottom left */
    var(--notchSize) 100%, 
    var(--notchSize) calc(100% - var(--notchSize)),
    0 calc(100% - var(--notchSize)) 
  );
}

.notched--inner {
  position: absolute;
  background-color: Bisque;
  /* Inset border size */
  --borderSize: 5px;
  top: var(--borderSize); bottom: var(--borderSize);
  left: var(--borderSize); right: var(--borderSize);
  /* Inherit clip-path from .notched--outer */
  clip-path: inherit;
  background-image: url("data:image/svg+xml,<svg id='patternId' width='100%' height='100%' opacity='0.25' xmlns='http://www.w3.org/2000/svg'><defs><pattern id='a' patternUnits='userSpaceOnUse' width='20' height='20' patternTransform='scale(0.25) rotate(30)'><rect x='0' y='0' width='100%' height='100%' fill='hsla(0, 0%, 100%, 0)'/><path d='M0 0h10v10H0z'  stroke-width='1' stroke='none' fill='hsla(0, 0%, 0%, 0.25)'/><path d='M10 10h10v10H10z'  stroke-width='1' stroke='none' fill='hsla(0, 0%, 0%, 0.125)'/></pattern></defs><rect width='800%' height='800%' transform='translate(0,0)' fill='url(%23a)'/></svg>");
}

.listWrap {
  margin: 10px;
}
.listWrap .list {
  margin: 10px 0 30px;
  border-left: 2px solid white;
}
.listWrap .heading {
  width: 100%;
  padding: 0 0 5px;
  display: flex;
  box-sizing: border-box;
  font-weight: 600;
  line-height: 1.2;
}
.listWrap .heading::after {
  min-height: 40px;
  border-bottom: 2px solid white;
  border-radius: 0 0 0 6px;
  flex-grow: 1;
  box-sizing: border-box;
  content: "";
  transform: skew(45deg, 0deg);
  transform-origin: bottom right;
}
.listWrap .heading .title {
  min-width: 180px;
  padding: 16px 20px 0 15px;
  background: transparent linear-gradient(to bottom, white, white) no-repeat
    left top / 100% 2px;
  font-weight: 600;
}
.listWrap .heading .curve {
  margin: 0 37px 0 -10px;
  padding: 0 20px;
  border-top: 2px solid white;
  border-bottom: 2.5px solid black;
  border-right: 3px solid white;
  border-radius: 0 12px 0 0;
  transform: skew(45deg, 0deg);
  transform-origin: top left;
  box-sizing: border-box;
  content: "";
}
.listWrap .content {
  padding: 10px;
  line-height: 1.6;
}
