.fe-checkboxgroup {
    overflow: auto;
	margin: 6px 0;
	padding: 0;
	list-style: none;
}

.fe-checkboxgroup li {
    clear: left;
    /*border: 1px solid #fff;*/
}

.fe-checkboxgroup input {
	float: left;
    margin: .8em;
}

.fe-checkboxgroup label {
    display: block;
    height: 100%;
    padding: .5rem;
    cursor: pointer;
}

.fe-checkboxgroup label:hover {
    background-color: #fff;
}

@media (min-width: 580px) {
    .fe-checkboxgroup li {
        border-top-width: 0;
        border-left-width: 0;
    }

    .fe-checkboxgroup-has-columns {
        display: flex;
        flex-wrap: wrap;
    }

    .fe-checkboxgroup-has-columns li:nth-child(odd) {
        border-left-width: 1px;
    }

    .fe-checkboxgroup-has-columns li:nth-child(1),
    .fe-checkboxgroup-has-columns li:nth-child(2) {
        border-top-width: 1px;
    }

    .fe-checkboxgroup-has-columns li {
        float: left;
    }

    .fe-checkboxgroup-columns-2 li {
        width: 50%;
    }

    .fe-checkboxgroup-columns-2 li:nth-child(2n+3) {
        clear: left;
    }

    .fe-checkboxgroup-columns-3 li {
        width: 33.3%;
    }

    .fe-checkboxgroup-columns-3 li:nth-child(3n+4) {
        clear: left;
    }

    .fe-checkboxgroup-columns-4 li {
        width: 25%;
    }

    .fe-checkboxgroup-columns-4 li:nth-child(4n+5) {
        clear: left;
    }

    .fe-checkboxgroup-columns-5 li {
        width: 20%;
    }

    .fe-checkboxgroup-columns-5 li:nth-child(5n+6) {
        clear: left;
    }
}

/** Other */

.fe-checkboxgroup .other {
    display: block;
    margin-left: 22px;
    white-space: normal !important;
}

.fe-checkboxgroup .other label {
    display: inline;
    margin-left: 0;
}

.fe-checkboxgroup .other input {
    display: inline;
    float: none;
    margin-bottom: -3px;
    font-size: 1em;
    vertical-align: bottom;
}

.fe-checkboxgroup .other label + label {
    margin-left: 0;
}