.btnCB {
  display: block;
  position: relative;
  width: 56px;
  height: 56px;
  margin: 0;
  overflow: hidden;
  outline: none;
  background-color: transparent;
  border: 0;
}
  
.btnCB:before,
.btnCB:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  inset: 7px;
}
  
.btnCB:before {
  border: 4px solid #F0EEEF;
  transition: opacity .4s cubic-bezier(.77, 0, .175, 1) 80ms, transform .5s cubic-bezier(.455, .03, .515, .955) 80ms;
}
  
.btnCB:after {
  border: 4px solid #96daf0;
  transform: scale(1.3);
  transition: opacity .4s cubic-bezier(.165, .84, .44, 1), transform .5s cubic-bezier(.25, .46, .45, .94);
  opacity: 0;
}
  
.btnCB:hover:before,
.btnCB:focus:before {
  opacity: 0;
  transform: scale(0.7);
  transition: opacity .4s cubic-bezier(.165, .84, .44, 1), transform .5s cubic-bezier(.25, .46, .45, .94);
}
  
.btnCB:hover:after,
.btnCB:focus:after {
  opacity: 1;
  transform: scale(1);
  transition: opacity .4s cubic-bezier(.77, 0, .175, 1) 80ms, transform .5s cubic-bezier(.455, .03, .515, .955) 80ms;
}
  
.button-box {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}
  
.button-elem {
  display: block;
  width: 20px;
  height: 20px;
  margin: 17px 18px 0 18px;
  transform: rotate(180deg);
  fill: #F0EEEF;
}
  
.btnCB:hover .button-box,
.btnCB:focus .button-box {
  transition: .4s;
  transform: translateX(-56px);
}