.common-checkbox {
    position: relative;
    padding: 0.25rem;

    display: flex;
    align-items: center;
    cursor: pointer;

    input {
        margin-right: 0.5rem;
    }
}

.common-checkbox.menu-item-checkbox {
    padding: 0;

    input {
        margin-right: 0.75rem;

        // This is matching the size of semantic ui icons
        width: 18.875px;
        height: 16px;
    }
}

.common-checkbox.toggle {
    input {
        opacity: 0;
        width: 3rem;
        height: 1.5rem;
        position: absolute;
        left: 0;
        top: 0;
    }

    label {
        position: relative;
        padding-left: 4rem;

        &::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 3rem;
            height: 1.5rem;
            background-color: var(--pxt-neutral-background2);
            border-radius: 500rem;
            transition: background-color 0.2s ease-in-out;
            border: 1px solid var(--pxt-neutral-stencil2);
        }

        &::after {
            background: var(--pxt-neutral-background1) linear-gradient(transparent, var(--pxt-neutral-alpha10));
            position: absolute;
            content: "";
            opacity: 1;
            border: none;
            width: 1.5rem;
            height: 1.5rem;
            top: 0;
            left: 0;
            border-radius: 500rem;
            border: 1px solid var(--pxt-neutral-foreground2);
            transition: background .3s ease, left .3s ease;
        }
    }

    input:checked~label {
        &::before {
            background-color: var(--pxt-primary-background);
        }

        &::after {
            left: 1.5rem;
        }
    }
}

.common-checkbox:focus-within {
    outline: @checkboxFocusOutline;
    border-radius: 0.2em;
}

#profile-email-checkbox {
    width: 2rem;
}

/****************************************************
 *                 High Contrast                    *
 ****************************************************/

.high-contrast {
    .common-checkbox:hover,
    .common-checkbox:focus-within {
        outline: @highContrastFocusOutline;
    }
}