.fe-checkboxgroup {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fe-checkboxgroup li {
    display: block;
    margin-bottom: .7em;
}

.fe-checkboxgroup .proFormCheckbox {
    position: absolute;
    height: 0;
    width: 0;
    opacity: 0;
    cursor: pointer;
}

.fe-checkboxgroup .proFormCheckbox + label {
    position: relative;
    display: block;
    padding-left: 2rem;
    line-height: 1.5rem;
}

.fe-checkboxgroup .proFormCheckbox + label::before,
.fe-checkboxgroup .proFormCheckbox + label::after {
    position: absolute;
    content: '';
}

.fe-checkboxgroup .proFormCheckbox + label::before {
    top: 0;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    background: rgba(15, 19, 51, 0.1);
}

.fe-checkboxgroup .proFormCheckbox:checked + label::before {
    background: var(--primaryBrandRegular);
}

.fe-checkboxgroup .proFormCheckbox:checked + label::after {
    top: 0.2rem;
    left: 0.3rem;
    width: 1rem;
    height: 1rem;
    background: url(../../../img/check-icon.svg) no-repeat center;
    background-size: contain;
}

@media (min-width: 580px) {
    .fe-checkboxgroup-has-columns {
        display: flex;
        flex-wrap: wrap;
        margin-left: -1.5rem;
    }

    .fe-checkboxgroup-has-columns li {
        margin-left: 1.5rem;
    }

    .fe-checkboxgroup-columns-2 li {
        flex-basis: calc(50% - 1.5rem);
    }

    .fe-checkboxgroup-columns-3 li {
        flex-basis: calc(33.33% - 1.5rem);
    }

    .fe-checkboxgroup-columns-4 li {
        flex-basis: calc(25% - 1.5rem);
    }

    .fe-checkboxgroup-columns-5 li {
        flex-basis: calc(20% - 1.5rem);
    }
}

.fe-checkboxgroup .other {
    display: block;
}

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

.fe-checkboxgroup .other input {
    display: inline;
    margin-bottom: -3px;
    vertical-align: bottom;
}
