.button2 {
  display: inline-block;
  -webkit-tap-highlight-color: transparent;
  transition: all 0.2s ease-in;
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: #ffd800;
  padding: 1em 1.5em;
  cursor: pointer;
  font-size: 18px;
  border-radius: 0.4em;
  background: #1a1a18;
  border: 1px solid #e8e8e8;
  box-shadow: 4px 4px 10px #181907, -6px -6px 12px #ffffff;
  font-family: inherit;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.button2:active {
  color: #1a1a18;
  background: #ffd800; /* or darker shade */
  box-shadow: inset 4px 4px 12px #c5c5c5, inset -4px -4px 12px #ffffff;
}

.button2:focus {
  outline: none;
}

.button2:focus-visible {
  outline: none;
  box-shadow: 4px 4px 10px #c5c5c5, -6px -6px 12px #ffffff, 0 0 0 3px #ffd800;
}

.button2:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scaleY(1) scaleX(1.25);
  top: 100%;
  width: 140%;
  height: 180%;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.button2:after {
  content: "";
  position: absolute;
  left: 55%;
  transform: translateX(-50%) scaleY(1) scaleX(1.45);
  top: 180%;
  width: 160%;
  height: 190%;
  background-color: #ffd800;
  border-radius: 50%;
  display: block;
  transition: all 0.2s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.button2:hover {
  color: #1a1a18;
  border: 1px solid #1a1a18;
  box-shadow: 4px 4px 10px #c5c5c5, -6px -6px 12px #ffffff;
}

.button2:hover:before {
  top: -35%;
  background-color: #1a1a18;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

.button2:hover:after {
  top: -45%;
  background-color: #ffd800;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}
