.custom-btn {
  width: 130px;
  height: 40px;
  color: #fff;
  border-radius: 5px;
  padding: 10px 25px;
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  /* box-shadow: inset 2px 2px 2px 0px rgba(255,255,255,.2),
              7px 7px 20px 0px rgba(0,0,0,.2),
              4px 4px 5px 0px rgba(0,0,0,.1); */
  outline: none;
  border: none;
}

.btn-7 {
  background: #2563eb;   /* solid Tailwind blue-600 */
  line-height: 42px;
  padding: 0;
  border: none;
}

.btn-7 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
}

/* animated borders */
.btn-7:before,
.btn-7:after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  background: #000000;
  /* box-shadow: -7px -7px 20px 0px rgba(255,255,255,.2),
              -4px -4px 5px 0px rgba(255,255,255,.2),
              7px 7px 20px 0px rgba(0,0,0,.3),
              4px 4px 5px 0px rgba(0,0,0,.2); */
  transition: all 0.3s ease;
}

.btn-7:before {
  height: 0%;
  width: 2px;
}

.btn-7:after {
  width: 0%;
  height: 2px;
}

.btn-7:hover {
  color: #000000;   /* text turns blue */
  background: transparent;
}

.btn-7:hover:before {
  height: 100%;
}

.btn-7:hover:after {
  width: 100%;
}

.btn-7 span:before,
.btn-7 span:after {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  background: #000000;
  /* box-shadow: -7px -7px 20px 0px rgba(255,255,255,.2),
              -4px -4px 5px 0px rgba(255,255,255,.2),
              7px 7px 20px 0px rgba(0,0,0,.3),
              4px 4px 5px 0px rgba(0,0,0,.2); */
  transition: all 0.3s ease;
}

.btn-7 span:before {
  width: 2px;
  height: 0%;
}

.btn-7 span:after {
  height: 2px;
  width: 0%;
}

.btn-7 span:hover:before {
  height: 100%;
}

.btn-7 span:hover:after {
  width: 100%;
}
