#button-primary {
  white-space: nowrap;
  overflow: hidden;
  height: 58px;

  border-radius: 100px;
  color: #004C97;
  background-color: transparent;

  border: 1px solid #004C97;
  padding-left: 24px;

  text-decoration: none !important;
}

#button-primary, 
#button-primary svg,
#button-primary path,
#button-primary circle,
#button-primary .elementor-button-icon:before{
  transition-delay: 0s;
  transition-duration: 0.3s;
  transition-property: all;
  transition-timing-function: ease;
}

#button-primary > * {
  text-decoration: none !important;
}

#button-primary svg {
  z-index: 1;
}

#button-primary circle {
  fill: #004C97;
}

#button-primary path {
  fill: #D6E3FF;
}


#button-primary .elementor-button-text {
  z-index: 1;
}

#button-primary .elementor-button-icon {
  position: relative;
  z-index: 0;
}

#button-primary .elementor-button-icon:before {
  content: "";
  
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(100%);
  transform-origin: 50% 50%;
  width: 40px;
  height: 40px;
  background: #4377C4;
  border-radius: 100%;
  
  z-index: 0;
}

#button-primary:hover {
  color: #D6E3FF;
  border: 1px solid #4377C4;
}

#button-primary:hover svg {
  transform: rotate(45deg);
}

#button-primary:hover circle {
  fill: transparent;
}

#button-primary:hover .elementor-button-icon:before {
  transform: translate(-50%, -50%) scale(2000%);
}