.flex {
    display: flex;
    flex-direction: row;
}

.flex-column {
    display: flex;
    flex-direction: column;
}

.flex-row-reverse {
    display: flex;
    flex-direction: row-reverse;
}

.flex-column-reverse {
    display: flex;
    flex-direction: column-reverse;
}

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

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

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

.flex-1 {
    flex: 1 1 0%;
}
.flex-1-0-100 {
    flex: 1 0 100%;
}
.flex-1-1-25 {
    flex: 1 1 25%;
}
.flex-1-1-50 {
    flex: 1 1 50%;
}
.flex-1-1-60 {
    flex: 1 1 60%;
}
.flex-auto {
    flex: 1 1 auto;
}

.flex-initial {
    flex: 0 1 auto;
}

.flex-none {
    flex: none;
}

.flex-static {
    flex: 1 0 none;
}

.flex-order-0 {
    order: 0;
}

.flex-order-1 {
    order: 1;
}

.flex-order-2 {
    order: 2;
}

.flex-order-3 {
    order: 3;
}

.flex-order-4 {
    order: 4;
}

.flex-order-5 {
    order: 5;
}

.flex-order-6 {
    order: 6;
}

.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;
}

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

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

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

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

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

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

.align-content-evenly {
    align-content: space-evenly;
}

.align-items-stretch {
    align-items: stretch;
}

.align-items-start {
    align-items: flex-start;
}

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

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

.align-items-baseline {
    align-items: baseline;
}

.align-self-auto {
    align-self: auto;
}

.align-self-start {
    align-self: flex-start;
}

.align-self-end {
    align-self: flex-end;
}

.align-self-center {
    align-self: center;
}

.align-self-stretch {
    align-self: stretch;
}

.align-self-baseline {
    align-self: baseline;
}

.vertical-align-baseline {
    vertical-align: baseline;
}

.vertical-align-top {
    vertical-align: top;
}

.vertical-align-middle {
    vertical-align: middle;
}

.vertical-align-bottom {
    vertical-align: bottom;
}

.vertical-align-text-top {
    vertical-align: text-top;
}

.vertical-align-text-bottom {
    vertical-align: text-bottom;
}

.vertical-align-sub {
    vertical-align: sub;
}

.vertical-align-super {
    vertical-align: super;
}

@media screen and (min-width: 576px) {
    .sm\:vertical-align-baseline {
        vertical-align: baseline;
    }
    .sm\:vertical-align-top {
        vertical-align: top;
    }
    .sm\:vertical-align-middle {
        vertical-align: middle;
    }
    .sm\:vertical-align-bottom {
        vertical-align: bottom;
    }
    .sm\:vertical-align-text-top {
        vertical-align: text-top;
    }
    .sm\:vertical-align-text-bottom {
        vertical-align: text-bottom;
    }
    .sm\:vertical-align-sub {
        vertical-align: sub;
    }
    .sm\:vertical-align-super {
        vertical-align: super;
    }
}
@media screen and (min-width: 852px) {
    .md\:vertical-align-baseline {
        vertical-align: baseline;
    }
    .md\:vertical-align-top {
        vertical-align: top;
    }
    .md\:vertical-align-middle {
        vertical-align: middle;
    }
    .md\:vertical-align-bottom {
        vertical-align: bottom;
    }
    .md\:vertical-align-text-top {
        vertical-align: text-top;
    }
    .md\:vertical-align-text-bottom {
        vertical-align: text-bottom;
    }
    .md\:vertical-align-sub {
        vertical-align: sub;
    }
    .md\:vertical-align-super {
        vertical-align: super;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:vertical-align-baseline {
        vertical-align: baseline;
    }
    .lg\:vertical-align-top {
        vertical-align: top;
    }
    .lg\:vertical-align-middle {
        vertical-align: middle;
    }
    .lg\:vertical-align-bottom {
        vertical-align: bottom;
    }
    .lg\:vertical-align-text-top {
        vertical-align: text-top;
    }
    .lg\:vertical-align-text-bottom {
        vertical-align: text-bottom;
    }
    .lg\:vertical-align-sub {
        vertical-align: sub;
    }
    .lg\:vertical-align-super {
        vertical-align: super;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:vertical-align-baseline {
        vertical-align: baseline;
    }
    .xl\:vertical-align-top {
        vertical-align: top;
    }
    .xl\:vertical-align-middle {
        vertical-align: middle;
    }
    .xl\:vertical-align-bottom {
        vertical-align: bottom;
    }
    .xl\:vertical-align-text-top {
        vertical-align: text-top;
    }
    .xl\:vertical-align-text-bottom {
        vertical-align: text-bottom;
    }
    .xl\:vertical-align-sub {
        vertical-align: sub;
    }
    .xl\:vertical-align-super {
        vertical-align: super;
    }
}

@media screen and (min-width: 576px) {
    .sm\:flex {
        display: flex;
        flex-direction: row;
    }
    .sm\:flex-row-reverse {
        display: flex;
        flex-direction: row-reverse;
    }
    .sm\:flex-column {
        display: flex;
        flex-direction: column;
    }
    .sm\:flex-column-reverse {
        display: flex;
        flex-direction: column-reverse;
    }
}
@media screen and (min-width: 852px) {
    .md\:flex {
        display: flex;
        flex-direction: row;
    }
    .md\:flex-row-reverse {
        display: flex;
        flex-direction: row-reverse;
    }
    .md\:flex-column {
        display: flex;
        flex-direction: column;
    }
    .md\:flex-column-reverse {
        display: flex;
        flex-direction: column-reverse;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:flex {
        display: flex;
        flex-direction: row;
    }
    .lg\:flex-row-reverse {
        display: flex;
        flex-direction: row-reverse;
    }
    .lg\:flex-column {
        display: flex;
        flex-direction: column;
    }
    .lg\:flex-column-reverse {
        display: flex;
        flex-direction: column-reverse;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:flex {
        display: flex;
        flex-direction: row;
    }
    .xl\:flex-row-reverse {
        display: flex;
        flex-direction: row-reverse;
    }
    .xl\:flex-column {
        display: flex;
        flex-direction: column;
    }
    .xl\:flex-column-reverse {
        display: flex;
        flex-direction: column-reverse;
    }
}

@media screen and (min-width: 576px) {
    .sm\:flex-wrap {
        display: flex;
        flex-wrap: wrap;
    }
    .sm\:flex-wrap-reverse {
        display: flex;
        flex-wrap: wrap-reverse;
    }
    .sm\:flex-nowrap {
        display: flex;
        flex-wrap: nowrap;
    }
}
@media screen and (min-width: 852px) {
    .md\:flex-wrap {
        display: flex;
        flex-wrap: wrap;
    }
    .md\:flex-wrap-reverse {
        display: flex;
        flex-wrap: wrap-reverse;
    }
    .md\:flex-nowrap {
        display: flex;
        flex-wrap: nowrap;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:flex-wrap {
        display: flex;
        flex-wrap: wrap;
    }
    .lg\:flex-wrap-reverse {
        display: flex;
        flex-wrap: wrap-reverse;
    }
    .lg\:flex-nowrap {
        display: flex;
        flex-wrap: nowrap;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:flex-wrap {
        display: flex;
        flex-wrap: wrap;
    }
    .xl\:flex-wrap-reverse {
        display: flex;
        flex-wrap: wrap-reverse;
    }
    .xl\:flex-nowrap {
        display: flex;
        flex-wrap: nowrap;
    }
}

@media screen and (min-width: 576px) {
    .sm\:justify-content-start {
        justify-content: flex-start;
    }
    .sm\:justify-content-end {
        justify-content: flex-end;
    }
    .sm\:justify-content-center {
        justify-content: center;
    }
    .sm\:justify-content-between {
        justify-content: space-between;
    }
    .sm\:justify-content-around {
        justify-content: space-around;
    }
    .sm\:justify-content-evenly {
        justify-content: space-evenly;
    }
}
@media screen and (min-width: 852px) {
    .md\:justify-content-start {
        justify-content: flex-start;
    }
    .md\:justify-content-end {
        justify-content: flex-end;
    }
    .md\:justify-content-center {
        justify-content: center;
    }
    .md\:justify-content-between {
        justify-content: space-between;
    }
    .md\:justify-content-around {
        justify-content: space-around;
    }
    .md\:justify-content-evenly {
        justify-content: space-evenly;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:justify-content-start {
        justify-content: flex-start;
    }
    .lg\:justify-content-end {
        justify-content: flex-end;
    }
    .lg\:justify-content-center {
        justify-content: center;
    }
    .lg\:justify-content-between {
        justify-content: space-between;
    }
    .lg\:justify-content-around {
        justify-content: space-around;
    }
    .lg\:justify-content-evenly {
        justify-content: space-evenly;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:justify-content-start {
        justify-content: flex-start;
    }
    .xl\:justify-content-end {
        justify-content: flex-end;
    }
    .xl\:justify-content-center {
        justify-content: center;
    }
    .xl\:justify-content-between {
        justify-content: space-between;
    }
    .xl\:justify-content-around {
        justify-content: space-around;
    }
    .xl\:justify-content-evenly {
        justify-content: space-evenly;
    }
}

@media screen and (min-width: 576px) {
    .sm\:align-content-start {
        align-content: flex-start;
    }
    .sm\:align-content-end {
        align-content: flex-end;
    }
    .sm\:align-content-center {
        align-content: center;
    }
    .sm\:align-content-between {
        align-content: space-between;
    }
    .sm\:align-content-around {
        align-content: space-around;
    }
    .sm\:align-content-evenly {
        align-content: space-evenly;
    }
}
@media screen and (min-width: 852px) {
    .md\:align-content-start {
        align-content: flex-start;
    }
    .md\:align-content-end {
        align-content: flex-end;
    }
    .md\:align-content-center {
        align-content: center;
    }
    .md\:align-content-between {
        align-content: space-between;
    }
    .md\:align-content-around {
        align-content: space-around;
    }
    .md\:align-content-evenly {
        align-content: space-evenly;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:align-content-start {
        align-content: flex-start;
    }
    .lg\:align-content-end {
        align-content: flex-end;
    }
    .lg\:align-content-center {
        align-content: center;
    }
    .lg\:align-content-between {
        align-content: space-between;
    }
    .lg\:align-content-around {
        align-content: space-around;
    }
    .lg\:align-content-evenly {
        align-content: space-evenly;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:align-content-start {
        align-content: flex-start;
    }
    .xl\:align-content-end {
        align-content: flex-end;
    }
    .xl\:align-content-center {
        align-content: center;
    }
    .xl\:align-content-between {
        align-content: space-between;
    }
    .xl\:align-content-around {
        align-content: space-around;
    }
    .xl\:align-content-evenly {
        align-content: space-evenly;
    }
}

@media screen and (min-width: 576px) {
    .sm\:align-items-stretch {
        align-items: stretch;
    }
    .sm\:align-items-start {
        align-items: flex-start;
    }
    .sm\:align-items-center {
        align-items: center;
    }
    .sm\:align-items-end {
        align-items: flex-end;
    }
    .sm\:align-items-baseline {
        align-items: baseline;
    }
}
@media screen and (min-width: 852px) {
    .md\:align-items-stretch {
        align-items: stretch;
    }
    .md\:align-items-start {
        align-items: flex-start;
    }
    .md\:align-items-center {
        align-items: center;
    }
    .md\:align-items-end {
        align-items: flex-end;
    }
    .md\:align-items-baseline {
        align-items: baseline;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:align-items-stretch {
        align-items: stretch;
    }
    .lg\:align-items-start {
        align-items: flex-start;
    }
    .lg\:align-items-center {
        align-items: center;
    }
    .lg\:align-items-end {
        align-items: flex-end;
    }
    .lg\:align-items-baseline {
        align-items: baseline;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:align-items-stretch {
        align-items: stretch;
    }
    .xl\:align-items-start {
        align-items: flex-start;
    }
    .xl\:align-items-center {
        align-items: center;
    }
    .xl\:align-items-end {
        align-items: flex-end;
    }
    .xl\:align-items-baseline {
        align-items: baseline;
    }
}

@media screen and (min-width: 576px) {
    .sm\:align-self-auto {
        align-self: auto;
    }
    .sm\:align-self-start {
        align-self: flex-start;
    }
    .sm\:align-self-end {
        align-self: flex-end;
    }
    .sm\:align-self-center {
        align-self: center;
    }
    .sm\:align-self-stretch {
        align-self: stretch;
    }
    .sm\:align-self-baseline {
        align-self: baseline;
    }
}
@media screen and (min-width: 852px) {
    .md\:align-self-auto {
        align-self: auto;
    }
    .md\:align-self-start {
        align-self: flex-start;
    }
    .md\:align-self-end {
        align-self: flex-end;
    }
    .md\:align-self-center {
        align-self: center;
    }
    .md\:align-self-stretch {
        align-self: stretch;
    }
    .md\:align-self-baseline {
        align-self: baseline;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:align-self-auto {
        align-self: auto;
    }
    .lg\:align-self-start {
        align-self: flex-start;
    }
    .lg\:align-self-end {
        align-self: flex-end;
    }
    .lg\:align-self-center {
        align-self: center;
    }
    .lg\:align-self-stretch {
        align-self: stretch;
    }
    .lg\:align-self-baseline {
        align-self: baseline;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:align-self-auto {
        align-self: auto;
    }
    .xl\:align-self-start {
        align-self: flex-start;
    }
    .xl\:align-self-end {
        align-self: flex-end;
    }
    .xl\:align-self-center {
        align-self: center;
    }
    .xl\:align-self-stretch {
        align-self: stretch;
    }
    .xl\:align-self-baseline {
        align-self: baseline;
    }
}

@media screen and (min-width: 576px) {
    .sm\:flex-order-0 {
        order: 0;
    }
    .sm\:flex-order-1 {
        order: 1;
    }
    .sm\:flex-order-2 {
        order: 2;
    }
    .sm\:flex-order-3 {
        order: 3;
    }
    .sm\:flex-order-4 {
        order: 4;
    }
    .sm\:flex-order-5 {
        order: 5;
    }
    .sm\:flex-order-6 {
        order: 6;
    }
}
@media screen and (min-width: 852px) {
    .md\:flex-order-0 {
        order: 0;
    }
    .md\:flex-order-1 {
        order: 1;
    }
    .md\:flex-order-2 {
        order: 2;
    }
    .md\:flex-order-3 {
        order: 3;
    }
    .md\:flex-order-4 {
        order: 4;
    }
    .md\:flex-order-5 {
        order: 5;
    }
    .md\:flex-order-6 {
        order: 6;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:flex-order-0 {
        order: 0;
    }
    .lg\:flex-order-1 {
        order: 1;
    }
    .lg\:flex-order-2 {
        order: 2;
    }
    .lg\:flex-order-3 {
        order: 3;
    }
    .lg\:flex-order-4 {
        order: 4;
    }
    .lg\:flex-order-5 {
        order: 5;
    }
    .lg\:flex-order-6 {
        order: 6;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:flex-order-0 {
        order: 0;
    }
    .xl\:flex-order-1 {
        order: 1;
    }
    .xl\:flex-order-2 {
        order: 2;
    }
    .xl\:flex-order-3 {
        order: 3;
    }
    .xl\:flex-order-4 {
        order: 4;
    }
    .xl\:flex-order-5 {
        order: 5;
    }
    .xl\:flex-order-6 {
        order: 6;
    }
}


@media screen and (min-width: 576px) {
    .sm\:flex-1 {
        flex: 1 1 0%;
    }
    .sm\:flex-auto {
        flex: 1 1 auto;
    }
    .sm\:flex-initial {
        flex: 0 1 auto;
    }
    .sm\:flex-none {
        flex: none;
    }
}
@media screen and (min-width: 852px) {
    .md\:flex-1 {
        flex: 1 1 0%;
    }
    .md\:flex-auto {
        flex: 1 1 auto;
    }
    .md\:flex-initial {
        flex: 0 1 auto;
    }
    .md\:flex-none {
        flex: none;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:flex-1 {
        flex: 1 1 0%;
    }
    .lg\:flex-auto {
        flex: 1 1 auto;
    }
    .lg\:flex-initial {
        flex: 0 1 auto;
    }
    .lg\:flex-none {
        flex: none;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:flex-1 {
        flex: 1 1 0%;
    }
    .xl\:flex-auto {
        flex: 1 1 auto;
    }
    .xl\:flex-initial {
        flex: 0 1 auto;
    }
    .xl\:flex-none {
        flex: none;
    }
}
.flex-grow-0 {flex-grow: 0;}
.flex-grow-1 {flex-grow: 1;}
.flex-grow-2 {flex-grow: 2;}
.flex-grow-3 {flex-grow: 3;}

@media screen and (min-width: 576px) {
    .sm\:flex-grow-0 {flex-grow: 0;}
    .sm\:flex-grow-1 {flex-grow: 1;}
    .sm\:flex-grow-2 {flex-grow: 2;}
    .sm\:flex-grow-3 {flex-grow: 3;}
}
@media screen and (min-width: 852px) {
    .md\:flex-grow-0 {flex-grow: 0;}
    .md\:flex-grow-1 {flex-grow: 1;}
    .md\:flex-grow-2 {flex-grow: 2;}
    .md\:flex-grow-3 {flex-grow: 3;}
}
@media screen and (min-width: 1180px) {
    .lg\:flex-grow-0 {flex-grow: 0;}
    .lg\:flex-grow-1 {flex-grow: 1;}
    .lg\:flex-grow-2 {flex-grow: 2;}
    .lg\:flex-grow-3 {flex-grow: 3;}
}
@media screen and (min-width: 1340px) {
    .xl\:flex-grow-0 {flex-grow: 0;}
    .xl\:flex-grow-1 {flex-grow: 1;}
    .xl\:flex-grow-2 {flex-grow: 2;}
    .xl\:flex-grow-3 {flex-grow: 3;}
}
.flex-shrink-0 {
    flex-shrink: 0;
}

.flex-shrink-1 {
    flex-shrink: 1;
}

@media screen and (min-width: 576px) {
    .sm\:flex-shrink-0 {
        flex-shrink: 0;
    }
    .sm\:flex-shrink-1 {
        flex-shrink: 1;
    }
}
@media screen and (min-width: 852px) {
    .md\:flex-shrink-0 {
        flex-shrink: 0;
    }
    .md\:flex-shrink-1 {
        flex-shrink: 1;
    }
}
@media screen and (min-width: 1180px) {
    .lg\:flex-shrink-0 {
        flex-shrink: 0;
    }
    .lg\:flex-shrink-1 {
        flex-shrink: 1;
    }
}
@media screen and (min-width: 1340px) {
    .xl\:flex-shrink-0 {
        flex-shrink: 0;
    }
    .xl\:flex-shrink-1 {
        flex-shrink: 1;
    }
}