#darkmode-toggle + label {
    width:50px;
    height:20px;
    position: relative;
    display: block;
    background: #ebebeb;
    border-radius: 20px;
    box-shadow: inset 0px 5px 15px rgba(0,0,0,0.4), inset 0px -5px 15px rgba(255,255,255,0.4);
    cursor: pointer;
  }

  #darkmode-toggle + label:after {
    content: "";
    width:20px;
    height: 20px;
    position: absolute;
    top:0px;
    left:0px;
    background: linear-gradient(180deg,#ffcc89,#d8860b);
    border-radius: 10px;
    box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
  }
  #darkmode-toggle {
    width: 0;
    height: 0;
    visibility: hidden;
  }

  #darkmode-toggle:checked + label {
    background: #242424;
  }
  #darkmode-toggle:checked + label:after {
    left:50px;
    transform: translateX(-100%);
    background: linear-gradient(180deg,#777,#3a3a3a);
  }
  #darkmode-toggle + label, #darkmode-toggle + label:after {
    transition: 0.3s
  }

  #darkmode-toggle + label:active:after{
    width: 50px;
  }

  .background {
    width:50px;
    height: 20px;
    background: #fff;
    z-index: -1;
    position: absolute;
    transition: 0.3s;
  }

  #darkmode-toggle:checked + label + .background {
    background:#242424;
  }

  #darkmode-toggle + label svg {
    position: absolute;
    width: 20px;
    top:2px;
    z-index: 100;
  }
  #darkmode-toggle + label svg.sun {
    left:0px;
    fill:#fff;
    transition: 0.3s;
  }
  #darkmode-toggle + label svg.moon {
    left:30px;
    fill:#7e7e7e;
    transition: 0.3s;
  }
  #darkmode-toggle:checked + label svg.sun {
    fill:#7e7e7e;
  }
  #darkmode-toggle:checked + label svg.moon {
    fill:#fff;
  }