:root {
  --bg: #000000;     
  --color-icon: #535c68;  
  --social-icon1: #535c68;
  --social-icon2: #3b5999;
  --social-icon3: #3283ee;
  --social-icon4: #cd201f;
  --social-icon5: #00FFFF	;  
}

* {
  margin: 0;
  padding: 0;  
}

section {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;  
  background: var(--bg);
  z-index: -10;
}

.icon-list {
  width: 100%;
  max-width: 50rem;
  padding: 0 1.5rem;
  display: flex;
  justify-content: space-between;
}

.icon-item {
  list-style: none
}

.icon-link {  
  display: inline-flex;
  font-size: 3rem;  
  text-decoration: none;  
  color: var(--color-icon);
  width: 6rem;
  height: 6rem;   
  transition: .5s linear;
  position: relative;
  z-index: 1;
  margin: auto
}

.icon-link:hover {
  color: #fff;
}

.icon-link i {
  margin: auto;    
}

.icon-link::before {  
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 6rem;
  height: 6rem;
  background: #000;
  border-radius: 50%;
  z-index: -1;
  transform: scale(0);
  transition: 0.3s cubic-bezier(.95, .32, .37, 1.21);
}
  
.icon-link:hover::before {  
  transform: scale(1);
}

.icon-item:nth-child(1) a:hover:before { 
  background: var(--social-icon1); 
}

.icon-item:nth-child(2) a:hover:before { 
  background: var(--social-icon2); 
}

.icon-item:nth-child(3) a:hover:before { 
  background: var(--social-icon3); 
}

.icon-item:nth-child(4) a:hover:before { 
  background: var(--social-icon4); 
}

.icon-item:nth-child(5) a:hover:before { 
  background: var(--social-icon5); 
}