.cal {
  position: fixed;
  top: 15%;
  right: 20px;
  font-size: 2rem;
  z-index: 9999;
  cursor: pointer;

  /* Dark background */
  background-color: rgba(0, 0, 0, 0.7); /* semi-transparent black */
  padding: 2px;
  border-radius: 15%; /* circular shape */
  box-shadow: 0 4px 8px rgba(0,0,0,0.3); /* subtle shadow */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Animate the icon */
.cal i {
  display: inline-block; 
  animation: pulse 3s infinite;
  color: #ffc107; /* icon color */
}

/* Smooth zoom */
@keyframes pulse {
  0%   { transform: scale(.5); }
  25%  { transform: scale(1); }
  50%  { transform: scale(1.5); }
  75%  { transform: scale(2); }
  100% { transform: scale(2.5); }
}