.fields {
    width: 100%;
    -moz-display: flex;
    -webkit-display: flex;
    -ms-display: flex;
    display: flex;
    -moz-align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-align-items: flex-start;
    align-items: flex-start;
    -moz-flex-direction: row;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -moz-justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.fields .field {
    margin: 0; /* получаем от label*/
    text-align: left;
    box-sizing: content-box;
}

.fields .field .field {
    margin: 0;
}

.fields .field.full,
.fields .field.half,
.fields .field.third,
.fields .field.twothirds {

}
/*.field.half > .field.half, .field.third > .field.third, .field.half > .field.third, field.third > .field.half {
    margin: 0;
    padding: 0;
}*/

.fields .field.full {
    width: 100%;
}
.fields .field.half {
    width: calc(50% - 0.75em);
}
.fields .field.half + .field.half {
}

.fields .field.third {
    width: calc(33.333% - 1em);
}
.fields .field.third + .field.third {
}
.fields .field.third + .field.third + .field.third {
}

.fields .field.twothirds {
    width: calc(66.666% - 0.5em);
}

.fields .field.third + .field.twothirds {
}

.fields .field.twothirds + .field.third{
}

@media screen and (max-width: 800px) {
    .fields .half .half {
        width: 100% !important;
        padding: 0!important;
    }
}

@media screen and (max-width: 500px) {
    .fields .fields,
    .fields .field {
        width: 100% !important;
        padding: 0!important;
    }
}
input.needcheckdate,
input.needchecktime {
    text-align: center;
}