.cat{
    margin: 4px;
    background-color: transparent;
    border-radius: 4px;
    border: 1px solid #000;
    overflow: hidden;
    width: 100%;
}

.cat label {
    float: left; line-height: 3.0em;
    width: 100%; height: 3.0em;
}

.cat label span {
    text-align: center;
    padding: 3px 0;
    display: block;
}

.cat label input {
    position: absolute;
    display: none;
    color: #000 !important;
}
/* selects all of the text within the input element and changes the color of the text */
.cat label input + span{color: #000;}


/* This will declare how a selected input will look giving generic properties */
.cat input:checked + span {
    color: #ffffff;
    text-shadow: 0 0  6px rgba(0, 0, 0, 0.8);
}


/*
This following statements selects each category individually that contains an input element that is a checkbox and is checked (or selected) and chabges the background color of the span element.
*/
.lid input:checked + span{background-color: #82D44E;}