.grid,[class*="grid-"] {
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    margin-left:-10px;
    margin-right:-10px;
    margin-bottom:-20px !important
}

.grid>*,[class*="grid-"]>* {
    width:100%;
    max-width:100%
}

.grid>*,[class*="grid-"]>* {
    padding-left:10px;
    padding-right:10px
}

.grid>*,[class*="grid-"]>* {
    margin-bottom:20px !important
}

.grid.gap-base,.grid.gap-vert-base,.grid.gap-bottom-base,[class*="grid-"].gap-base,[class*="grid-"].gap-vert-base,[class*="grid-"].gap-bottom-base {
    margin-bottom:-10px !important
}

.grid.gap-line,.grid.gap-vert-line,.grid.gap-bottom-line,[class*="grid-"].gap-line,[class*="grid-"].gap-vert-line,[class*="grid-"].gap-bottom-line {
    margin-bottom:0px !important
}

.grid.gap-small,.grid.gap-vert-small,.grid.gap-bottom-small,[class*="grid-"].gap-small,[class*="grid-"].gap-vert-small,[class*="grid-"].gap-bottom-small {
    margin-bottom:10px !important
}

.grid.gap-medium,.grid.gap-vert-medium,.grid.gap-bottom-medium,[class*="grid-"].gap-medium,[class*="grid-"].gap-vert-medium,[class*="grid-"].gap-bottom-medium {
    margin-bottom:40px !important
}

.grid.gap-large,.grid.gap-vert-large,.grid.gap-bottom-large,[class*="grid-"].gap-large,[class*="grid-"].gap-vert-large,[class*="grid-"].gap-bottom-large {
    margin-bottom:60px !important
}

.grid.gap-none,.grid.gap-vert-none,.grid.gap-bottom-none,[class*="grid-"].gap-none,[class*="grid-"].gap-vert-none,[class*="grid-"].gap-bottom-none {
    margin-bottom:-20px !important
}

.grid-reverse {
    -webkit-flex-direction:row-reverse;
    -ms-flex-direction:row-reverse;
    flex-direction:row-reverse
}

.grid-row-equal-heights > * {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.grid-row-equal-heights > * > * {
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto
}

.grid-row-equal-heights > * > * {
    width: 100%
}

@media (min-width: 1200px) {
    .grid-row-equal-heights-at-extra-large > * {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .grid-row-equal-heights-at-extra-large > * > * {
        -webkit-box-flex: 0;
        -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto
    }

    .grid-row-equal-heights-at-extra-large > * > * {
        width: 100%
    }
}

.no-shrink {
    -webkit-flex-shrink:0 !important;
    -ms-flex-negative:0 !important;
    flex-shrink:0 !important
}

.grid-auto>*,.grid-flex>* {
    width:auto;
    max-width:100%
}

.grid-flex {
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:nowrap;
    -ms-flex-wrap:nowrap;
    flex-wrap:nowrap
}

.grid-extra-flex {
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:nowrap;
    -ms-flex-wrap:nowrap;
    flex-wrap:nowrap
}

.grid-1>* {
    width:100%;
    max-width:100%
}

.grid-2>* {
    width:50%;
    max-width:100%
}

.grid-3>* {
    width:33.33333%;
    max-width:100%
}

.grid-4>* {
    width:25%;
    max-width:100%
}

.grid-5>* {
    width:20%;
    max-width:100%
}

@media (min-width: 667px) {
    .one-half-at-small {
        width: 50%
    }
}

@media (min-width: 768px) {
    .one-half-at-medium {
        width: 50%
    }

    .one-fourth-at-medium {
        width: 25%
    }
}

@media (min-width: 1024px) {
    .one-half-at-large {
        width: 50%
    }

    .one-fourth-at-large {
        width: 25%
    }
}

.grid-space-none, .grid-col-space-none {
    margin-left: 0;
    margin-right: 0
}

.grid-space-none > * , .grid-col-space-none > * {
    padding-left: 0;
    padding-right: 0
}

.grid-space-none, .grid-row-space-none {
    margin-bottom: 0 !important
}

.grid-space-none > * , .grid-row-space-none > * {
    margin-bottom: 0 !important
}

@media (min-width: 667px) {
    .grid-space-line-at-small, .grid-col-space-line-at-small {
        margin-left: -10px;
        margin-right: -10px
    }

    .grid-space-line-at-small > * , .grid-col-space-line-at-small > * {
        padding-left: 10px;
        padding-right: 10px
    }
}

@media (min-width: 768px) {
    .grid-space-line-at-medium, .grid-col-space-line-at-medium {
        margin-left: -10px;
        margin-right: -10px
    }

    .grid-space-line-at-medium > * , .grid-col-space-line-at-medium > * {
        padding-left: 10px;
        padding-right: 10px
    }
}

@media (min-width: 1024px) {
    .grid-space-line-at-large, .grid-col-space-line-at-large {
        margin-left: -10px;
        margin-right: -10px
    }

    .grid-space-line-at-large > * , .grid-col-space-line-at-large > * {
        padding-left: 10px;
        padding-right: 10px
    }
}

@media (min-width: 1024px) {
    .grid-row-space-small-at-large {
        margin-bottom: -30px !important
    }

    .grid-row-space-small-at-large > * {
        margin-bottom: 30px !important
    }

    .grid-row-space-medium-at-large {
        margin-bottom: -60px !important
    }

    .grid-row-space-medium-at-large > * {
        margin-bottom: 60px !important
    }

    .grid-space-medium-at-large, .grid-row-space-medium-at-large {
        margin-bottom: -60px !important
    }

    .grid-space-medium-at-large > * , .grid-row-space-medium-at-large > * {
        margin-bottom: 60px !important
    }
}

.grid-align-left,.flex-align-left {
    display:-webkit-flex !important;
    display:-ms-flexbox !important;
    display:flex !important;
    -webkit-justify-content:flex-start !important;
    -ms-flex-pack:start !important;
    justify-content:flex-start !important
}

.grid-align-center,.flex-align-center {
    display:-webkit-flex !important;
    display:-ms-flexbox !important;
    display:flex !important;
    -webkit-justify-content:center !important;
    -ms-flex-pack:center !important;
    justify-content:center !important
}

.grid-align-right,.flex-align-right {
    display:-webkit-flex !important;
    display:-ms-flexbox !important;
    display:flex !important;
    -webkit-justify-content:flex-end !important;
    -ms-flex-pack:end !important;
    justify-content:flex-end !important
}

.grid-align-justify,.flex-align-justify {
    display:-webkit-flex !important;
    display:-ms-flexbox !important;
    display:flex !important;
    -webkit-justify-content:space-between !important;
    -ms-flex-pack:justify !important;
    justify-content:space-between !important
}

.grid-valign-top,.flex-valign-top {
    display:-webkit-flex !important;
    display:-ms-flexbox !important;
    display:flex !important;
    -webkit-align-content:flex-start !important;
    -ms-flex-line-pack:start !important;
    align-content:flex-start !important;
    -webkit-align-items:flex-start !important;
    -ms-flex-align:start !important;
    align-items:flex-start !important
}

.grid-valign-middle,.flex-valign-middle {
    display:-webkit-flex !important;
    display:-ms-flexbox !important;
    display:flex !important;
    -webkit-align-content:center !important;
    -ms-flex-line-pack:center !important;
    align-content:center !important;
    -webkit-align-items:center !important;
    -ms-flex-align:center !important;
    align-items:center !important
}

.grid-valign-bottom,.flex-valign-bottom {
    display:-webkit-flex !important;
    display:-ms-flexbox !important;
    display:flex !important;
    -webkit-align-content:flex-end !important;
    -ms-flex-line-pack:end !important;
    align-content:flex-end !important;
    -webkit-align-items:flex-end !important;
    -ms-flex-align:end !important;
    align-items:flex-end !important
}

.grid-valign-justify,.flex-valign-justify {
    display:-webkit-flex !important;
    display:-ms-flexbox !important;
    display:flex !important;
    -webkit-align-content:space-between !important;
    -ms-flex-line-pack:justify !important;
    align-content:space-between !important;
    -webkit-align-items:flex-start !important;
    -ms-flex-align:start !important;
    align-items:flex-start !important
}