.themeSwitch { position: relative; display: inline-block; margin-bottom: calc(var(--spacer) * var(--line-height)); margin-left: auto; } .themeSwitch svg { width: 0.8rem; height: 0.8rem; margin-top: -0.05rem; fill: var(--brand-grey-light); } .themeSwitch svg:last-child { margin-top: -0.1rem; width: 0.7rem; height: 0.7rem; } .checkboxContainer { display: flex; align-items: center; } .checkboxFake { display: block; position: relative; width: calc(var(--switch-knob-size) * 2.5); height: calc(var(--switch-knob-size) + calc(var(--switch-knob-space) * 4)); border: 1px solid var(--brand-grey-light); border-radius: 15rem; margin-left: calc(var(--spacer) / 3); margin-right: calc(var(--spacer) / 3); } .checkboxFake::after { content: ''; position: absolute; top: var(--switch-knob-space); left: var(--switch-knob-space); width: var(--switch-knob-size); height: var(--switch-knob-size); background-color: var(--brand-grey-light); border-radius: 15rem; transition: transform 0.2s var(--easing); transform: translate3d(0, 0, 0); } .checkbox { position: relative; cursor: pointer; } .input:checked + .checkboxContainer .checkboxFake::after { transform: translate3d(100%, 0, 0); } .input, .label { width: 1px; height: 1px; border: 0; clip: rect(0 0 0 0); margin: -1px; overflow: hidden; padding: 0; position: absolute; }