svg:not(:root) {
  overflow: hidden;
}
.button {
  -webkit-font-smoothing: antialiased;
  /* background-color: #222; */
  border: none;
  color: #fff;
  display: inline-block;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  
  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;
}

/* purple */
.default.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.purple:hover + .button--bubble__effect-container .circle {
  background: #f31aef;
}
.button--bubble.purple:hover + .button--bubble__effect-container .button {
  background: #f31aef;
}

/* white */
.white.button--bubble__container a{
  color: #000 !important;
}
.white.button--bubble__container .effect-button {
    position: absolute;
    width: 50%;
    height: 25%;
    top: 50%;
    left: 25%;
    z-index: 1;
    transform: translateY(-50%);
    background: #fff;
    color: #000 !important;
    transition: background 0.1s ease-out;
    border-radius: 10px;
    border: 2px solid #000;
}
.button--bubble.white:hover + .button--bubble__effect-container .circle {
  color: #000;
  background: #5e5d5d;
}
.button--bubble.white:hover + .button--bubble__effect-container .button {
  background: #fff;
}

/* yellow */
.yellow.button--bubble__container .effect-button {
    position: absolute;
    width: 50%;
    height: 25%;
    top: 50%;
    left: 25%;
    z-index: 1;
    transform: translateY(-50%);
    background: #FBC02E;
    color: #fff !important;
    transition: background 0.1s ease-out;
    border-radius: 10px;
}
.button--bubble.yellow:hover + .button--bubble__effect-container .circle {
  color: #fff;
  background: #FBC02E;
}
.button--bubble.yellow:hover + .button--bubble__effect-container .button {
  background: #FBC02E;
}


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

.button--bubble.dark-gray:hover + .button--bubble__effect-container .circle {
  color: #fff;
  background: #212529;
}
.button--bubble.dark-gray:hover + .button--bubble__effect-container .button {
  background: #212529;
}

.button--bubble.white:hover + .button--bubble__effect-container a {
  color: #000;
  background: #fff !important;
}



.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: #222; */
  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: #222;
  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;
}


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