:root {
    --light: #15ece1;
    --dark: #111111;
    --ball: 20px;
    --top: 8px;
    --margin: 8px;
  }
  
  .checkbox {
    display: none;
    visibility: hidden;
    opacity: 0;
    width: 0;
    height: 0;
  }
  
  .toggle {
    display: block;
    position: relative;
    width: 70px;
    height: 40px;
    cursor: pointer;
    transition: all 0.7s ease-out;
  }
  
  .slider {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: var(--dark);
    transition: all 0.5s ease-out;
    border-radius: 30px;
    border: 2px solid var(--light);
  }
  
  .slider::after {
    position: absolute;
    content: '';
    width: var(--ball);
    height: var(--ball);
    background-color: var(--light);
    border-radius: 70px;
    top: var(--top);
    right: var(--margin);
    transition: all 0.5s ease-out;
  }
  
  .checkbox:checked + .slider {
    background-color: var(--light);
    border: 2px solid var(--dark);
  }
  
  .checkbox:checked + .slider::after {
    right: calc(100% - var(--margin));
    transform: translateX(100%);
  }
  
  .checkbox:checked + .slider::after {
    content: '';
    position: absolute;
    background-color: var(--dark);
  }
  
  .sun::after,
  .moon::after {
    content: '';
    position: absolute;
    top: var(--top);
    width: var(--ball);
    height: var(--ball);
  }
  
  .moon::after {
    background-image: url('moon.svg');
    left: var(--margin);
  }
  
  .sun::after {
    background-image: url('sun.svg');
    right: var(--margin);
  }