﻿:root {
    --theme-toggle-scale-factor: 7;
}

.themeToggleLabel {
    position: relative;
    margin: 1.5rem;
    width: calc(400px / var(--theme-toggle-scale-factor));
    height: calc(180px / var(--theme-toggle-scale-factor));
    display: block;
    /*background: #d9d9d9;*/
    border-radius: 100px;
    cursor: pointer;
    box-shadow: inset 0px 5px 15px rgba(0,0,0,0.3), inset 0px -5px 15px rgba(255,255,255,0.3);
}
    .themeToggleLabel:after {
        content: '';
        position: absolute;
        height: calc(160px / var(--theme-toggle-scale-factor));
        width: calc(160px / var(--theme-toggle-scale-factor));
        background: #f2f2f2;
        border-radius: 100px;
        top: calc(10px / var(--theme-toggle-scale-factor));
        left: calc(10px / var(--theme-toggle-scale-factor));
        transition: 0.5s;
        box-shadow: 0 calc(5px / var(--theme-toggle-scale-factor)) calc(10px / var(--theme-toggle-scale-factor)) rgba(0,0,0,0.2);
    }
/* Describes the animation once the input is checked */
.themeToggleInput:checked ~ .themeToggleLabel:after {
    left: calc(390px / var(--theme-toggle-scale-factor));
    transform: translateX(-100%);
    background: linear-gradient(180deg,#777,#3a3a3a);
}

.themeToggleInput:checked ~ .themeToggleLabel {
    background: #242424;
}

.themeToggleInput:checked + .themeToggleLabel {
    background: #242424;
}

.themeToggleInput {
    display: none;
}
