.toggle-switch { display: none; + .toggle-button { outline: 0; display: block; width: 4em; height: 2em; position: relative; cursor: pointer; user-select: none; margin: 0; &::selection { background: none; } &::after, &::before { position: relative; display: block; content: ''; width: 50%; height: 100%; } &::after { left: 0; } &::before { display: none; } } &:checked + .toggle-button::after { left: 50%; } &--light { + .toggle-button { background: #f0f0f0; border-radius: 2em; padding: 2px; transition: all 0.4s ease; &::after { border-radius: 50%; background: set-color(white, base); transition: all 0.2s ease; } } &:checked + .toggle-button { background: set-color(green, green5); } } }