* {

  box-sizing: border-box;

}


div {
  display: contents;
  /*height: 100%;*/
  -webkit-animation: hue-rotate 10s linear infinite;
  animation: hue-rotate 10s linear infinite;
 margin: 20px;
}



.button {
  -webkit-font-smoothing: antialiased;
  background-color: #222;
  border: none;
  color: #fff;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 100;
  text-decoration: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  letter-spacing: 1px;
  color: white;
  padding: 20px 40px;
  text-transform: uppercase;
  transition: all 0.1s ease-out;
}

.button:hover {
  background-color: #90feb5;
  color: #fff;
}

.button:active {
  transform: scale(0.95);
}

.button--bubble {
  position: relative;
  z-index: 2;
  color: white;
  background: none;
}

.button--bubble:hover {
  background: none;
}

.button--bubble:hover + .button--bubble__effect-container .circle {
  background: #8b15a6;
}

.button--bubble:hover + .button--bubble__effect-container .button {
  /* background: #8b15a6; */
  /* color: var(--bs-btn-hover-color);
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color); */
}

.button--bubble:active + .button--bubble__effect-container {
  transform: scale(0.95);
}

.button--bubble__container {
  position: relative;
  display: inline-block;
}

.button--bubble__container .effect-button {
  position: absolute;
  width: 50%;
  height: 25%;
  top: 50%;
  left: 25%;
  z-index: 1;
  transform: translateY(-50%);
  background: #8B15A6;
  color:#fff !important;
  transition: background 0.1s ease-out;
  border-radius: 10px;
}


.button--bubble__container.transparent .effect-button {
  background: #fff ;
  color:#000 !important;
  border-radius: 10px;
}

.button--bubble__container.gray .effect-button {
  background: #424649 ;
  color:#000 !important;
  border-radius: 10px;
}

.button--bubble__container.yellow .effect-button {

  background: #FBC02D ;
  color:#000 !important;
  border-radius: 10px;
}

.button--bubble__container.transparent .effect-button {
  background: transparent;
}


.button--bubble__container a{
  color:#fff !important;
}

.button--bubble__container.transparent a{
  color:#fff !important;
}

.button--bubble__container.transparent a:hover{
  color:#000 !important;
}

.button--bubble__container2 .effect-button {
position: absolute;
width: 50%;
height: 25%;
top: 50%;
left: 25%;
z-index: 1;
transform: translateY(-50%);
background: transparent;
transition: background 0.1s ease-out;
}



.button--bubble__effect-container {
  position: absolute;
  display: block;
  width: 200%;
  height: 400%;
  top: -150%;
  left: -50%;
  filter: url("#goo");
  transition: all 0.1s ease-out;
  pointer-events: none;
}

.button--bubble__effect-container .circle {
  position: absolute;
  width: 25px;
  height: 25px;
  border-radius: 15px;
  background: #8B15A6;
  transition: background 0.1s ease-out;
}

.button--bubble__effect-container.white .circle {
  position: absolute;
  width: 25px;
  height: 25px;
  border-radius: 15px;
  background: #fff !important;
  transition: background 0.1s ease-out;
}

.button--bubble__effect-container.gray .circle {
  position: absolute;
  width: 25px;
  height: 25px;
  border-radius: 15px;
  background: #424649 !important;
  transition: background 0.1s ease-out;
}

.button--bubble__effect-container.yellow .circle {
  position: absolute;
  width: 25px;
  height: 25px;
  border-radius: 15px;
  background: #FBC02D !important;
  transition: background 0.1s ease-out;
}

.button--bubble__effect-container .circle.top-left {
  top: 40%;
  left: 27%;
}

.button--bubble__effect-container .circle.bottom-right {
  bottom: 40%;
  right: 27%;
}



.goo {
  position: absolute;
  visibility: hidden;
  width: 1px;
  height: 1px;
}



html, body {
  width: 100%;
  height: 100%;
  text-align: center;

}



.button--bubble__container {
  top: 50%;
  margin-top: -25px;

}

/* @-webkit-keyframes hue-rotate {
  from {
    -moz-filter: hue-rotate(0);
    -ms-filter: hue-rotate(0);
    filter: hue-rotate(0);
  }

  to {
    -moz-filter: hue-rotate(360deg);
    -ms-filter: hue-rotate(360deg);
    filter: hue-rotate(360deg);
  }

} */



/* @keyframes hue-rotate {
  from {
    -moz-filter: hue-rotate(0);
    -ms-filter: hue-rotate(0);
    filter: hue-rotate(0);
  }

  to {
    -moz-filter: hue-rotate(360deg);
    -ms-filter: hue-rotate(360deg);
    filter: hue-rotate(360deg);
  }
} */
