.container, .container:after, .row, .row:after, .u-cf {
    box-sizing: border-box;
}

.container {
    margin: 0 auto;
    padding: 0 1.4rem;
    max-width: 1280px;
}

.container:after,
.row:after,
.u-cf {
    content: "";
    display: table;
    clear: both;
}

.row {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    margin-right: -0.7rem;
    margin-left: -0.7rem;
}

.row.align-middle {
    align-items: center;
}

.row.align-bottom {
    align-items: flex-end;
}

.row.align-left {
    justify-content: flex-start;
}

.row.align-center {
    justify-content: center;
}

.row.align-right {
    justify-content: flex-end;
}

[class*='col-xs'], [class*='col-sm'], [class*='col-md'], [class*='col-lg'], [class*='col-xl'] {
    width: 100%;
    padding: 0 0.7rem;
    box-sizing: border-box;
}

.col-xs-1 {
    -webkit-flex-basis: 8.333%;    
    flex-basis: 8.333%;
    max-width: 8.333%;
}

.col-xs-2 {
    -webkit-flex-basis: 16.667%;    
    flex-basis: 16.667%;
    max-width: 16.667%;
}

.col-xs-3 {
    -webkit-flex-basis: 25%;    
    flex-basis: 25%;
    max-width: 25%;
}

.col-xs-4 {
    -webkit-flex-basis: 33.333%;    
    flex-basis: 33.333%;
    max-width: 33.333%;
}

.col-xs-5 {
    -webkit-flex-basis: 41.667%;
    flex-basis: 41.667%;
    max-width: 41.667%;
}

.col-xs-6 {
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
    max-width: 50%;
}

.col-xs-7 {
    -webkit-flex-basis: 58.333%;
    flex-basis: 58.333%;
    max-width: 58.333%;
}

.col-xs-8 {
    -webkit-flex-basis: 66.667%;
    flex-basis: 66.667%;
    max-width: 66.667%;
}

.col-xs-9 {
    -webkit-flex-basis: 75%;
    flex-basis: 75%;
    max-width: 75%;
}

.col-xs-10 {
    -webkit-flex-basis: 83.333%;
    flex-basis: 83.333%;
    max-width: 83.333%;
}

.col-xs-11 {
    -webkit-flex-basis: 91.667%;
    flex-basis: 91.667%;
    max-width: 91.667%;
}

.col-xs-12 {
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    max-width: 100%;
}

@media (min-width: 320px) {
    .col-sm-1 {
        -webkit-flex-basis: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%;
    }
    .col-sm-2 {
        -webkit-flex-basis: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%;
    }
    .col-sm-3 {
        -webkit-flex-basis: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }
    .col-sm-4 {
        -webkit-flex-basis: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%;
    }
    .col-sm-5 {
        -webkit-flex-basis: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%;
    }
    .col-sm-6 {
        -webkit-flex-basis: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }
    .col-sm-7 {
        -webkit-flex-basis: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%;
    }
    .col-sm-8 {
        -webkit-flex-basis: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%;
    }
    .col-sm-9 {
        -webkit-flex-basis: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }
    .col-sm-10 {
        -webkit-flex-basis: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%;
    }
    .col-sm-11 {
        -webkit-flex-basis: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%;
    }
    .col-sm-12 {
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .col-md-1 {
        -webkit-flex-basis: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%;
    }
    .col-md-2 {
        -webkit-flex-basis: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%;
    }
    .col-md-3 {
        -webkit-flex-basis: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }
    .col-md-4 {
        -webkit-flex-basis: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%;
    }
    .col-md-5 {
        -webkit-flex-basis: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%;
    }
    .col-md-6 {
        -webkit-flex-basis: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }
    .col-md-7 {
        -webkit-flex-basis: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%;
    }
    .col-md-8 {
        -webkit-flex-basis: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%;
    }
    .col-md-9 {
        -webkit-flex-basis: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }
    .col-md-10 {
        -webkit-flex-basis: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%;
    }
    .col-md-11 {
        -webkit-flex-basis: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%;
    }
    .col-md-12 {
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
}

@media (min-width: 1025px) {
    .col-lg-1 {
        -webkit-flex-basis: 8.333%;
        flex-basis: 8.333%;
        max-width: 8.333%;
    }
    .col-lg-2 {
        -webkit-flex-basis: 16.667%;
        flex-basis: 16.667%;
        max-width: 16.667%;
    }
    .col-lg-3 {
        -webkit-flex-basis: 25%;
        flex-basis: 25%;
        max-width: 25%;
    }
    .col-lg-4 {
        -webkit-flex-basis: 33.333%;
        flex-basis: 33.333%;
        max-width: 33.333%;
    }
    .col-lg-5 {
        -webkit-flex-basis: 41.667%;
        flex-basis: 41.667%;
        max-width: 41.667%;
    }
    .col-lg-6 {
        -webkit-flex-basis: 50%;
        flex-basis: 50%;
        max-width: 50%;
    }
    .col-lg-7 {
        -webkit-flex-basis: 58.333%;
        flex-basis: 58.333%;
        max-width: 58.333%;
    }
    .col-lg-8 {
        -webkit-flex-basis: 66.667%;
        flex-basis: 66.667%;
        max-width: 66.667%;
    }
    .col-lg-9 {
        -webkit-flex-basis: 75%;
        flex-basis: 75%;
        max-width: 75%;
    }
    .col-lg-10 {
        -webkit-flex-basis: 83.333%;
        flex-basis: 83.333%;
        max-width: 83.333%;
    }
    .col-lg-11 {
        -webkit-flex-basis: 91.667%;
        flex-basis: 91.667%;
        max-width: 91.667%;
    }
    .col-lg-12 {
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
}