.button {
  letter-spacing: 0.1rem;
  background: transparent;
  border: none;
  font-size: 1.5rem;
  position: relative;
  text-decoration: none;
  padding: 0.3rem;
  width: 12rem;
  text-align: center;
  box-shadow: -0.07rem 1.6rem 0.68rem -0.12rem rgba(15, 15, 15, 0.2);
  box-shadow: inset 0 0 0 1px #e0c351;
}

.googleIcon {
  font-size: 1.5rem;
  vertical-align: middle;
}

.buttontext {
  display: block;
  background-color: transparent;
  color: #e0c351;
  font-weight: bold;
  padding: 0.2rem;
  text-shadow: 0.13rem 0.13rem 0.25rem rgba(0, 0, 0, 0.3);
  text-shadow: 2rem #d8ae54;
  transition: color 500ms ease, background-color 500ms ease;
}

.button:hover:not(.no-hover) .buttontext,
.button:focus:not(.no-hover) .buttontext {
  color: #000;
  background-color: rgba(224, 195, 81, 0.9);
}

/* Deco layout */
.buttondeco {
  position: absolute;
}

.buttondeco--v {
  top: -0.4rem;
  bottom: -0.4rem;
  left: 0;
  right: 0;
}

.buttondeco--h {
  left: -0.4rem;
  right: -0.4rem;
  top: 0;
  bottom: 0;
}

.button__ornament-top-bottom,
.button__ornament-left-right {
  position: absolute;
  top: 1rem;
  right: 0;
  bottom: 0;
  left: 0;
}

/* Ornament bars */
.buttondeco_topbottom::before,
.buttondeco_topbottom::after,
.buttondeco_leftright::before,
.buttondeco_leftright::after {
  content: '';
  position: absolute;
  background-color: #e0c351;
  transition: transform 400ms cubic-bezier(0.54, 0.06, 0.39, 0.96);
}

/* Top/Bottom */
.buttondeco_topbottom::before,
.buttondeco_topbottom::after {
  height: 0.03rem;
  left: 0;
  right: 0;
}

.buttondeco_topbottom::before {
  top: 0;
}

.buttondeco_topbottom::after {
  bottom: 0;
}

/* Left/Right */
.buttondeco_leftright::before,
.buttondeco_leftright::after {
  width: 0.03rem;
  top: 0;
  bottom: 0;
}

.buttondeco_leftright::before {
  left: 0;
}

.buttondeco_leftright::after {
  right: 0;
}

/* Hover animation: only when not disabled */
.button:not(.no-hover):hover .buttondeco_topbottom::before,
.button:not(.no-hover):focus .buttondeco_topbottom::before,
.button:not(.no-hover):hover .buttondeco_topbottom::after,
.button:not(.no-hover):focus .buttondeco_topbottom::after {
  transform: scale(0, 1);
}

.button:not(.no-hover):hover .buttondeco_leftright::before,
.button:not(.no-hover):focus .buttondeco_leftright::before,
.button:not(.no-hover):hover .buttondeco_leftright::after,
.button:not(.no-hover):focus .buttondeco_leftright::after {
  transform: scale(1, 0);
}

/* Reset to default after playback finishes */
.button[data-active="true"] .buttondeco_topbottom::before,
.button[data-active="true"] .buttondeco_topbottom::after,
.button[data-active="true"] .buttondeco_leftright::before,
.button[data-active="true"] .buttondeco_leftright::after {
  transform: scale(1, 1);
}