/* On/Off FlipSwitch https://proto.io/freebies/onoff/ */ :root { --slider-enabled-bg: hsl(165, 45%, 84%); --slider-enabled-border: hsl(165, 45%, 82%); --slider-enabled-circle: hsl(171, 96%, 37%); } .onoffswitch { position: relative; margin: 1ex 0; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; } .onoffswitch input { -webkit-appearance: none; -moz-appearance: none; pointer-events: none; position: absolute; top: -8px; bottom: -10px; left: -10px; width: calc(100% + 12px); } #message-box .onoffswitch input { top: -6px; left: -6px; bottom: 0; height: calc(100% + 12px); } .onoffswitch span { display: block; overflow: hidden; cursor: pointer; height: 12px; padding: 0; line-height: 12px; border: 1px solid var(--gray-lightness-84); border-radius: 12px; background-color: var(--gray-lightness-87); box-shadow: inset 2px 2px 4px var(--black-alpha-15); } .onoffswitch span::before { content: ""; display: block; width: 18px; height: 18px; margin: -3px; background: var(--gray-lightness-92); position: absolute; top: 0; bottom: 0; right: 46px; border-radius: 18px; box-shadow: 0 3px 13px 0 var(--black-alpha-45); } .onoffswitch input:checked + span { background-color: var(--slider-enabled-bg); } .onoffswitch input:checked + span, .onoffswitch input:checked + span::before { border-color: var(--slider-enabled-border); } .onoffswitch input:checked + span .onoffswitch-inner { margin-left: 0; } .onoffswitch input:checked + span::before { right: 0; background-color: #04BA9F; box-shadow: 3px 6px 18px 0 var(--black-alpha-25); }