<a href="tel: 8 888 888 88 88" rel="nofollow" class="btn-call">
<div class="btn-call__ico">
<i class="fas fa-phone-alt"></i>
</div>
</a>
* {
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
background-color: #ccc;
}
/* btn-call */
.btn-call {
background: #38a3fd;
border: 2px solid #38a3fd;
border-radius: 50%;
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3);
cursor: pointer;
height: 60px;
width: 60px;
text-align: center;
position: fixed;
right: 50px;
bottom: 50px;
z-index: 999;
transition: .3s;
animation: hoverWave linear 1s infinite;
animation: hoverWave linear 1s infinite;
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
}
.btn-call__ico {
display: flex;
justify-content: center;
align-items: center;
animation: 1200ms ease 0s normal none 1 running shake;
animation-iteration-count: infinite;
animation: 1200ms ease 0s normal none 1 running shake;
animation-iteration-count: infinite;
color: white;
font-size: 30px;
padding-top: 5px;
transition: .3s all;
}
.btn-call:hover {
background-color: #fff;
}
.btn-call:hover .btn-call__ico {
color: #38a3fd;
}
@-webkit-keyframes hoverWave {
0% {
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 0 rgba(56, 163, 253, 0.2), 0 0 0 0 rgba(56, 163, 253, 0.2)
}
40% {
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 15px rgba(56, 163, 253, 0.2), 0 0 0 0 rgba(56, 163, 253, 0.2)
}
80% {
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 30px rgba(56, 163, 253, 0), 0 0 0 26.7px rgba(56, 163, 253, 0.067)
}
100% {
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 30px rgba(56, 163, 253, 0), 0 0 0 40px rgba(56, 163, 253, 0.0)
}
}
@keyframes hoverWave {
0% {
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 0 rgba(56, 163, 253, 0.2), 0 0 0 0 rgba(56, 163, 253, 0.2)
}
40% {
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 15px rgba(56, 163, 253, 0.2), 0 0 0 0 rgba(56, 163, 253, 0.2)
}
80% {
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 30px rgba(56, 163, 253, 0), 0 0 0 26.7px rgba(56, 163, 253, 0.067)
}
100% {
box-shadow: 0 8px 10px rgba(56, 163, 253, 0.3), 0 0 0 30px rgba(56, 163, 253, 0), 0 0 0 40px rgba(56, 163, 253, 0.0)
}
}
/* animations icon */
@keyframes shake {
0% {
transform: rotateZ(0deg);
transform: rotateZ(0deg);
transform: rotateZ(0deg);
}
10% {
transform: rotateZ(-30deg);
transform: rotateZ(-30deg);
transform: rotateZ(-30deg);
}
20% {
transform: rotateZ(15deg);
transform: rotateZ(15deg);
transform: rotateZ(15deg);
}
30% {
transform: rotateZ(-10deg);
transform: rotateZ(-10deg);
transform: rotateZ(-10deg);
}
40% {
transform: rotateZ(7.5deg);
transform: rotateZ(7.5deg);
transform: rotateZ(7.5deg);
}
50% {
transform: rotateZ(-6deg);
transform: rotateZ(-6deg);
transform: rotateZ(-6deg);
}
60% {
transform: rotateZ(5deg);
transform: rotateZ(5deg);
transform: rotateZ(5deg);
}
70% {
transform: rotateZ(-4.28571deg);
transform: rotateZ(-4.28571deg);
transform: rotateZ(-4.28571deg);
}
80% {
transform: rotateZ(3.75deg);
transform: rotateZ(3.75deg);
transform: rotateZ(3.75deg);
}
90% {
transform: rotateZ(-3.33333deg);
transform: rotateZ(-3.33333deg);
transform: rotateZ(-3.33333deg);
}
100% {
transform: rotateZ(0deg);
transform: rotateZ(0deg);
transform: rotateZ(0deg);
}
}
@-webkit-keyframes shake {
0% {
transform: rotateZ(0deg);
transform: rotateZ(0deg);
transform: rotateZ(0deg);
}
10% {
transform: rotateZ(-30deg);
transform: rotateZ(-30deg);
transform: rotateZ(-30deg);
}
20% {
transform: rotateZ(15deg);
transform: rotateZ(15deg);
transform: rotateZ(15deg);
}
30% {
transform: rotateZ(-10deg);
transform: rotateZ(-10deg);
transform: rotateZ(-10deg);
}
40% {
transform: rotateZ(7.5deg);
transform: rotateZ(7.5deg);
transform: rotateZ(7.5deg);
}
50% {
transform: rotateZ(-6deg);
transform: rotateZ(-6deg);
transform: rotateZ(-6deg);
}
60% {
transform: rotateZ(5deg);
transform: rotateZ(5deg);
transform: rotateZ(5deg);
}
70% {
transform: rotateZ(-4.28571deg);
transform: rotateZ(-4.28571deg);
transform: rotateZ(-4.28571deg);
}
80% {
transform: rotateZ(3.75deg);
transform: rotateZ(3.75deg);
transform: rotateZ(3.75deg);
}
90% {
transform: rotateZ(-3.33333deg);
transform: rotateZ(-3.33333deg);
transform: rotateZ(-3.33333deg);
}
100% {
transform: rotateZ(0deg);
transform: rotateZ(0deg);
transform: rotateZ(0deg);
}
}
This Pen doesn't use any external JavaScript resources.