.button_container {
  width: 100%;
  margin: 0 auto;
}

.button_su {
  overflow: hidden;
  position: relative;
  display: inline-block;
  border-radius: 48px;
}

.black-color .button_su a{
	color: var(--black);
}

.white-color .button_su a{
	color: var(--white);
}

.black-color .button_su:hover a{
	color: var(--white);
}

.white-color .button_su:hover a{
	color: var(--black);
}

.su_button_circle {
  background-color: red;
  border-radius: 1000px;
  position: absolute;
  left: 0;
  top: 0;
  width: 0px;
  height: 0px;
  margin-left: 0px;
  margin-top: 0px;
  pointer-events: none;
  /*animation-timing-function: ease-in-out; */
}

.button_su_inner {
    display: inline-block;
    background: transparent;
    color: var(--black);
    /*font-size: 15px;*/
    text-align: center;
    border-radius: 48px;
    border: 1px solid var(--black);
    transition: 400ms;
    text-decoration: none;
    z-index: 10;
	/*text-transform: uppercase;*/
}

.black-color .button_su_inner {
    color: var(--black);
    border: 1px solid var(--black);
}

.white-color .button_su_inner {
    color: var(--white);
    border: 1px solid var(--white);
}

.small-btn .button_su_inner {
    padding: 8px 16px;
	font-weight: normal;
	font-size: 15px;
}

.medium-btn .button_su_inner {
    padding: 16px 40px;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 15px;
}

.large-btn .button_su_inner {
    padding: 28px 58px;
	font-weight: bold;
	font-size: 20px;
}

.button_text_container {
  position: relative;
  z-index: 10;
}

.black-color .explode-circle {
  animation: explode-black 0.5s forwards;
}

.white-color .explode-circle {
  animation: explode-white 0.5s forwards;
}

.black-color .desplode-circle {
  animation: desplode-black 0.5s forwards;
}

.white-color .desplode-circle {
  animation: desplode-white 0.5s forwards;
}

@keyframes explode-black {
  0% {
    width: 0px;
    height: 0px;
    margin-left: 0px;
    margin-top: 0px;
    background-color: rgba(0, 0, 0, 0.2);
  }
  100% {
    width: 400px;
    height: 400px;
    margin-left: -200px;
    margin-top: -200px;
    background-color: rgba(0, 0, 0, 1);
  }
}

@keyframes desplode-black {
  0% {
    width: 400px;
    height: 400px;
    margin-left: -200px;
    margin-top: -200px;
    background-color: rgba(0, 0, 0, 1);
  }
  100% {
    width: 0px;
    height: 0px;
    margin-left: 0px;
    margin-top: 0px;
    background-color: rgba(0, 0, 0, 0.6);
  }
}

@keyframes explode-white {
  0% {
    width: 0px;
    height: 0px;
    margin-left: 0px;
    margin-top: 0px;
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    width: 400px;
    height: 400px;
    margin-left: -200px;
    margin-top: -200px;
    background-color: rgba(255, 255, 255, 1);
  }
}

@keyframes desplode-white {
  0% {
    width: 400px;
    height: 400px;
    margin-left: -200px;
    margin-top: -200px;
    background-color: rgba(255, 255, 255, 1);
  }
  100% {
    width: 0px;
    height: 0px;
    margin-left: 0px;
    margin-top: 0px;
    background-color: rgba(255, 255, 255, 0.6);
  }
}
