<h1>Hotspot Experiments</h1>

<div class="btn_band_dark" align="center">
  <div class="btn_container">
    <button class="pulse-button-light"></button>
  </div>
  <h3>Hover pulse (light)</h3>
</div>

<div class="btn_band_light" align="center">
  <div class="btn_container">
    <button class="pulse-button-dark"></button>
  </div>
  <h4>Hover pulse (dark)</h4>
</div>

<div class="btn_band_dark" style="background-color: #9b9b9b;" align="center">
  <div class="btn_container">
    <button class="pulse-button-grow"></button>
  </div>
  <h3>Hover grow</h3>
</div>

<div class="btn_band_dark" style="background-color: #7f7f7f;" align="center">
  <div class="btn_container">
    <button class="pulse-button-shrink"></button>
  </div>
  <h3>Hover shrink</h3>
</div>

<div class="btn_band_dark" style="background-color: #2d2d2d;" align="center">
  <div class="btn_container">
    <button class="hvr-radial-out"></button>
  </div>
  <h3>Radial-out fill</h3>
</div>

<div class="btn_band_dark" style="background-color: #d9d9d9;" align="center">
  <div class="btn_container">
    <button class="hvr-reveal"></button>
  </div>
  <h4>Border reveal</h4>
</div>

<div class="btn_band_dark" style="background-color: #9b9b9b;" align="center">
  <div class="btn_container">
    <button class="hvr-outline-out"></button>
  </div>
  <h4>border outline out</h4>
</div>
html,body{
  background-color:#d9d9d9;
}

h1 {
  font-family: sans-serif;
  text-align: center;
  color: #2d2d2d;
  text-transform: uppercase;
}

h3 {
  font-family: sans-serif;
  font-weight: normal;
  font-size: 12px;
  text-transform: uppercase;
  text-align: center;
  color: #dddddd;
}

h4 {
  font-family: sans-serif;
  font-weight: normal;
  font-size: 12px;
  text-transform: uppercase;
  text-align: center;
  color: #2d2d2d;
}

.btn_band_dark {
  align: center;
  padding-top: 40px;
  padding-bottom: 30px;
  background-color: #2d2d2d;
}

.btn_band_light {
  align: center;
  padding-top: 40px;
  padding-bottom: 30px;
  background-color: #d9d9d9;
}

.btn_container {
  width: 100px;
  height: 100%;
  margin: 0 auto;
}

.pulse-button-light {
  position: relative;
  width: 40px;
  height: 40px;
  border: none;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
  border-radius: 50%;
/*  background-color: #e84c3d;*/
  background-color: rgba(255, 255, 255, .7);
  border: 2px solid #333333;
  background-size:cover;
  background-repeat: no-repeat;
  cursor: pointer;
}
.pulse-button-light:hover {
  -webkit-animation: pulse 1s cubic-bezier(0.10, 0, 0, 1);
  -moz-animation: pulse 1s  cubic-bezier(0.10, 0, 0, 1);
  -ms-animation: pulse 1s cubic-bezier(0.10, 0, 0, 1);
  animation: pulse 1s cubic-bezier(0.10, 0, 0, 1);
}

@-webkit-keyframes pulse {to {box-shadow: 0 0 0 12px rgba(45, 45, 45, 0);}}
@-moz-keyframes pulse {to {box-shadow: 0 0 0 12px rgba(45, 45, 45, 0);}}
@-ms-keyframes pulse {to {box-shadow: 0 0 0 12px rgba(45, 45, 45, 0);}}
@keyframes pulse {to {box-shadow: 0 0 0 12px rgba(45, 45, 45, 0);}}

.pulse-button-dark {
  position: relative;
  width: 40px;
  height: 40px;
  border: none;
  box-shadow: 0 0 0 0 rgba(45, 45, 45, 0.7);
  border-radius: 50%;
/*  background-color: #e84c3d;*/
  background-color: rgba(255, 255, 255, .7);
  border: 2px solid #333333;
  background-size:cover;
  background-repeat: no-repeat;
  cursor: pointer;
}
.pulse-button-dark:hover {
  -webkit-animation: pulse 1s cubic-bezier(0.10, 0, 0, 1);
  -moz-animation: pulse 1s  cubic-bezier(0.10, 0, 0, 1);
  -ms-animation: pulse 1s cubic-bezier(0.10, 0, 0, 1);
  animation: pulse 1s cubic-bezier(0.10, 0, 0, 1);
}

.pulse-button-grow {
  position: relative;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .7);
  border: 2px solid #333333;
  box-shadow: 0 2px 5px rgba(0,0,0,.25);
  transition: transform .1s linear, opacity .1s linear, box-shadow .1s linear;
  cursor: -webkit-pointer;
}
.pulse-button-grow:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,.50);
  transform: scale(1.2,1.2);
}

.pulse-button-shrink {
  position: relative;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .7);
  border: 2px solid #333333;
  box-shadow: 0 2px 5px rgba(0,0,0,.25);
  transition: transform .1s linear, opacity .1s linear, box-shadow .1s linear;
  cursor: -webkit-pointer;
}
.pulse-button-shrink:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,.50);
  transform: scale(.8,.8);
}

.hvr-radial-out {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .7);
  border: 2px solid #333333;
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  overflow: hidden;
  background: #e1e1e1;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  box-shadow: 0 2px 5px rgba(0,0,0,.25);
}
.hvr-radial-out:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2098d1;
  border-radius: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-radial-out:hover, .hvr-radial-out:focus, .hvr-radial-out:active {
  color: white;
}
.hvr-radial-out:hover:before, .hvr-radial-out:focus:before, .hvr-radial-out:active:before {
  -webkit-transform: scale(2);
  transform: scale(2);
}

.hvr-reveal {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .7);
  border: 2px solid #333333;
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0,0,0,.25);
}
.hvr-reveal:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-color: #2098d1;
  border-style: solid;
  border-width: 0;
  border-radius: 50%;
  -webkit-transition-property: border-width;
  transition-property: border-width;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-reveal:hover:before, .hvr-reveal:focus:before, .hvr-reveal:active:before {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  border-width: 4px;
  border-radius: 50%;
}

.hvr-outline-out {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 1);
  border: 2px solid #333333;
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 2px 5px rgba(0,0,0,.25);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
}
.hvr-outline-out:before {
  content: '';
  position: absolute;
  border: #ffffff solid 4px;
  border-radius: 50%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: top, right, bottom, left;
  transition-property: top, right, bottom, left;
}
.hvr-outline-out:hover:before, .hvr-outline-out:focus:before, .hvr-outline-out:active:before {
  top: -10px;
  right: -10px;
  bottom: -10px;
  left: -10px;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.