*,
::after,
::before {
    box-sizing: border-box;
}

img {
    max-width: 100%;
}

.container {
    max-width: 1316px;
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}

.container--full-width {
    max-width: none;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.clearfix {
    display: flex;
    flex-wrap: wrap;
}

.col {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    /*flex-basis: 0;
    flex-grow: 1;*/
    max-width: 100%;
}

.col-1 {
    /*flex: 0 0 8.333333%;*/
    max-width: 8.333333%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-2 {
    /*flex: 0 0 16.666667%;*/
    max-width: 16.666667%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-3 {
    /*flex: 0 0 25%;*/
    max-width: 25%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-4 {
    /*flex: 0 0 33.333333%;*/
    max-width: 33.333333%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-5 {
    /*flex: 0 0 41.666667%;*/
    max-width: 41.666667%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-6 {
    /*flex: 0 0 50%;*/
    max-width: 50%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-7 {
    /*flex: 0 0 58.333333%;*/
    max-width: 58.333333%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-8 {
    /*flex: 0 0 66.666667%;*/
    max-width: 66.666667%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-9 {
    /*flex: 0 0 75%;*/
    max-width: 75%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-10 {
    /*flex: 0 0 83.333333%;*/
    max-width: 83.333333%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-11 {
    /*flex: 0 0 91.666667%;*/
    max-width: 91.666667%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.col-12 {
    /*flex: 0 0 100%;*/
    max-width: 100%;
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.no-padding {
    padding: 0 !important;
}

.padding--r-30 {
    padding-right: 30px !important;
}

.no-margin--left {
    margin-left: 0px !important;
}

.d-flex {
    display: flex;
}

.d-flex--wrap {
    flex-wrap: wrap;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-end {
    justify-content: flex-end;
}

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

.justify-content-between {
    justify-content: space-between;
}

.justify-content-around {
    justify-content: space-around;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-md-11 {
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
        position: relative;
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }
    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
        position: relative;
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media only screen and (max-width: 767px) {
    .col {
        max-width: 90%;
        margin: 0 auto;
    }
    .col-xs-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }
    .col-xs-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }
}