body {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  box-sizing: border-box;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(270deg, #cadad6, #fff, powderblue, lightyellow);
  background-size: 400% 400%;
  animation: bgAnimate 30s ease infinite; }

section {
  display: flex;
  margin: auto;
  width: 220px;
  height: 220px;
  position: relative; }

div {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.logo {
  width: 220px;
  border-radius: 50%;
  transition: all 1s;
  z-index: 1;
  fill: #222; }

.linkedin {
  width: 0;
  border-radius: 50%;
  transition: all 0.3s;
  z-index: 1;
  fill: turquoise;
  opacity: 0;
  background-color: #222222; }

.over .logo {
  width: 0;
  opacity: 0; }

.over .linkedin {
  width: 120px;
  opacity: 1; }
  .over .linkedin:hover {
    fill: linear-gradient(270deg, #cadad6, #fff, powderblue, lightyellow); }

a {
  display: block;
  background: rgba(34, 34, 34, 0.9);
  border-radius: 50%; }
  a:hover {
    transform: scale(1);
    animation: pulse 1.6s infinite; }

@keyframes bgAnimate {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }

@keyframes logoAnimateIn {
  0% {
    width: 100%; }
  100% {
    width: 0; } }

@keyframes logoAnimateOut {
  100% {
    width: 100%; }
  0% {
    width: 0; } }

@keyframes pulse {
  0% {
    transform: scale(1); }
  70% {
    transform: scale(0.8); }
  100% {
    transform: scale(1); } }
