html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

/* bottom color */
.button .bottom {
  background-color: #4e1cae;
}
.button * {
  border-radius: 7px;
}
/* border color  */
.button .top {
  border: 2px solid white;
}
/* text color */
.button .top .label {
  color: white;
}
/* background color hover */
.button:hover .bottom {
  /* background-color: #f3f3f3; */
  background-color: white;
}
.button:active .bottom {
  background-color: #4e1cae;
}

/* text color hover */
.button:hover .top .label {
  /* color: #2acdc1; */
  color: #4e1cae;
}

/* border on hover */
/* .button-border {
  background-color: #4e1cae;
} */

.button:hover .top {
  border: 2px #4e1cae solid;
}

.button:active .top {
  border: 2px solid white;
}

.button:active .top .label {
  color: white;
}

.button {
  display: inline-block;
  text-decoration: none;
  position: relative;
  margin-top: 40px;
  border-radius: 7px;
}

.button .bottom {
  position: absolute;
  left: 7px;
  top: 7px;
  width: 100%;
  height: 100%;
  display: block;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  border-radius: 7px;
}

.button .top {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 20px 30px 18px 30px;
  border-radius: 7px;
}

.top {
  /* not sure */
  /* border: 2px solid red; */
}

.button .top .label {
  font-family: sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 110%;
  letter-spacing: 2px;
  text-align: center;
  text-transform: uppercase;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.top .label {
  /* not sure */
  /* color: #fff; */
}

.button:hover .bottom {
  left: 0;
  top: 0;
}

.button:hover .top .label {
  /* text color hover */
  /* color: #2acdc1; */
}

.button-border {
  position: absolute;
  border-radius: 7px;
  /* border on hover */
  /* background-color: #2acdc1; */
  -webkit-transition: all 0.25s ease-out;
  -moz-transition: all 0.25s ease-out;
  -o-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
}

.button:hover .top .button-border-left,
.button:hover .top .button-border-right {
  height: calc(100% - 6px);
}

.button:hover .top .button-border-top,
.button:hover .top .button-border-bottom {
  width: calc(100% - 6px);
}

.button-border-left {
  left: -2px;
  bottom: 3px;
  width: 2px;
  height: 0;
}

.button-border-top {
  left: 3px;
  top: -2px;
  width: 0;
  height: 2px;
}

.button-border-right {
  right: -2px;
  top: 3px;
  width: 2px;
  height: 0;
}

.button-border-bottom {
  right: 3px;
  bottom: -2px;
  width: 0;
  height: 2px;
}
