.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    width: 100%;
}

.wrap {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.flex--align-center {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.flex--center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.flex--space-around {
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flex--space-between {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex--column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.flex--end {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.col-1 {
    max-width: 400px;
    margin: 0 10px;
}

.col-1--fix {
    width: 400px;
    margin: 10px;
}

.col-2 {
    max-width: 620px;
    margin: 0 10px;
}

.col-50 {
    width: 50%;
}

.col-50-padding {
    width: 50%;
    padding: 50px;
}

.col-100 {
    width: 100%;
}

.col-100-padding {
    width: 100%;
    padding: 50px;
}

.first {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
}

@media screen and (max-width: 760px) {
    .flex {
        display: block;
    }
    .flex-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .first {
        -webkit-box-ordinal-group: 101;
        -webkit-order: 100;
        -ms-flex-order: 100;
        order: 100;
    }
    .col-1 {
        max-width: 80%;
        margin: 0px 20px;
    }
    
    .col-50 {
        width: 100vw;
    }
    
}

@media screen and (max-width: 420px) {
    
    .col-1--fix {
        width: 100%;
        margin: 20px;
    }
    
}