.flex-container {
    display: flex;
    flex-wrap: wrap;

    max-width: 1200px;
    margin: 0 auto;

    align-items: start;
}
.flex-container.w-1440 {
    max-width: 1440px;
}
.flex-container.w-900 {
    max-width: 900px;
}
.flex-container.w-none {
    max-width: unset;
}
.flex-container > .column {
    flex-grow: 1;
    flex-shrink: 1;
    margin: 10px;
}
.flex-container > .column.col-1 {
    flex-basis: calc(100% / 12 - 20px);
    max-width: calc(100% / 12 - 20px);
}
.flex-container > .column.col-2 {
    flex-basis: calc(100% / 12 * 2 - 20px);
    max-width: calc(100% / 12 * 2 - 20px);
}
.flex-container > .column.col-3 {
    flex-basis: calc(100% / 12 * 3 - 20px);
    max-width: calc(100% / 12 * 3 - 20px);
}
.flex-container > .column.col-4 {
    flex-basis: calc(100% / 12 * 4 - 20px);
    max-width: calc(100% / 12 * 4 - 20px);
}
.flex-container > .column.col-5 {
    flex-basis: calc(100% / 12 * 5 - 20px);
    max-width: calc(100% / 12 * 5 - 20px);
}
.flex-container > .column.col-6 {
    flex-basis: calc(100% / 12 * 6 - 20px);
    max-width: calc(100% / 12 * 6 - 20px);
}
.flex-container > .column.col-7 {
    flex-basis: calc(100% / 12 * 7 - 20px);
    max-width: calc(100% / 12 * 7 - 20px);
}
.flex-container > .column.col-8 {
    flex-basis: calc(100% / 12 * 8 - 20px);
    max-width: calc(100% / 12 * 8 - 20px);
}
.flex-container > .column.col-9 {
    flex-basis: calc(100% / 12 * 9 - 20px);
    max-width: calc(100% / 12 * 9 - 20px);
}
.flex-container > .column.col-10 {
    flex-basis: calc(100% / 12 * 10 - 20px);
    max-width: calc(100% / 12 * 10 - 20px);
}
.flex-container > .column.col-11 {
    flex-basis: calc(100% / 12 * 11 - 20px);
    max-width: calc(100% / 12 * 11 - 20px);
}
.flex-container > .column.col-12 {
    flex-basis: calc(100% / 12 * 12 - 20px);
    max-width: calc(100% / 12 * 12 - 20px);
}
@media screen and (max-width: 767px) {
    .flex-container {
        padding-right: 10px;
        padding-left: 10px;
    }
    .flex-container > .column,
    .flex-container > .column.col-1,
    .flex-container > .column.col-2,
    .flex-container > .column.col-3,
    .flex-container > .column.col-4,
    .flex-container > .column.col-5,
    .flex-container > .column.col-6,
    .flex-container > .column.col-7,
    .flex-container > .column.col-8,
    .flex-container > .column.col-9,
    .flex-container > .column.col-10,
    .flex-container > .column.col-11,
    .flex-container > .column.col-12 {
        flex-basis: 100%;
        max-width: 100%;
        /*margin: 10px 0;*/
    }
    .flex-container > .column.m-col-1 {
        flex-basis: calc(100% / 12 - 20px);
        max-width: calc(100% / 12 - 20px);
    }
    .flex-container > .column.m-col-2 {
        flex-basis: calc(100% / 12 * 2 - 20px);
        max-width: calc(100% / 12 * 2 - 20px);
    }
    .flex-container > .column.m-col-3 {
        flex-basis: calc(100% / 12 * 3 - 20px);
        max-width: calc(100% / 12 * 3 - 20px);
    }
    .flex-container > .column.m-col-4 {
        flex-basis: calc(100% / 12 * 4 - 20px);
        max-width: calc(100% / 12 * 4 - 20px);
    }
    .flex-container > .column.m-col-5 {
        flex-basis: calc(100% / 12 * 5 - 20px);
        max-width: calc(100% / 12 * 5 - 20px);
    }
    .flex-container > .column.m-col-6 {
        flex-basis: calc(100% / 12 * 6 - 20px);
        max-width: calc(100% / 12 * 6 - 20px);
    }
    .flex-container > .column.m-col-7 {
        flex-basis: calc(100% / 12 * 7 - 20px);
        max-width: calc(100% / 12 * 7 - 20px);
    }
    .flex-container > .column.m-col-8 {
        flex-basis: calc(100% / 12 * 8 - 20px);
        max-width: calc(100% / 12 * 8 - 20px);
    }
    .flex-container > .column.m-col-9 {
        flex-basis: calc(100% / 12 * 9 - 20px);
        max-width: calc(100% / 12 * 9 - 20px);
    }
    .flex-container > .column.m-col-10 {
        flex-basis: calc(100% / 12 * 10 - 20px);
        max-width: calc(100% / 12 * 10 - 20px);
    }
    .flex-container > .column.m-col-11 {
        flex-basis: calc(100% / 12 * 11 - 20px);
        max-width: calc(100% / 12 * 11 - 20px);
    }
    .flex-container > .column.m-col-12 {
        flex-basis: calc(100% / 12 * 12 - 20px);
        max-width: calc(100% / 12 * 12 - 20px);
    }
}

.flex-jc-center {
    justify-content: center;
}
.flex-jc-end {
    justify-content: end;
}
.flex-jc-between {
    justify-content: space-between;
}
.flex-jc-around {
    justify-content: space-around;
}
.flex-ai-center {
    align-items: center;
}
.flex-ai-stretch {
    align-items: stretch;
}