:host {
    cursor: pointer;
    margin: 5px 0;

    &:focus {
        background: rgba(255,255,255,.05);
        border-radius: 5px;
    }

    &:active {
        background: rgba(255,255,255,.1);
        border-radius: 3px;
    }

    &[disabled] {
        opacity: 0.5;
    }

    display: flex;
    flex-direction: row;
    align-items: center;

    .off {
        color: rgba(0, 0, 0, .5);
    }

    .icon {
        position: relative;
        flex: none;
        width: 14px;
        height: 14px;

        i {
            position: absolute;
            left: 0;
            top: -2px;
            transition: 0.25s opacity;
            display: block;
            font-size: 18px;
        }

        i.on, &.active i.off {
            opacity: 0;
        }

        i.off, &.active i.on {
            opacity: 1;
        }
    }

    .text {
        flex: auto;
        margin-left: 8px;
    }
}
