/* Grid System */
/* Simple to use grid setup */

.fg-grid-container {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-direction: row;
    flex-wrap: wrap;
    flex: 0 1 auto;
    align-items: center;
    box-sizing: border-box;
    margin: 5px 0px;
}

.fg-grid-container--no-margin {
    margin: 0px;
}

.fg-grid-container--small-padding > .fg-grid-cell {
    padding: 5px;
}

.fg-grid-container--no-padding > .fg-grid-cell {
    padding: 0px;
}

.fg-grid-container--no-padding-t > .fg-grid-cell {
    padding-top: 0px;
}

.fg-grid-container--no-margin-t > .fg-grid-cell {
    margin-top: 0px;
}

.fg-grid-container--neg-margin-t > .fg-grid-cell {
    margin-top: -10px;
}

.fg-grid-container--no-pad-firstlast .fg-grid-cell:first-child {
 padding-left: 0px;
}
.fg-grid-container--no-pad-firstlast .fg-grid-cell:last-child {
    padding-right: 0px;
}

.fg-grid-container--no-margin-t {
    margin-top: 0px;
}

.fg-grid-container--full {
    justify-content: space-between;
}

.fg-grid-container--stretch {
    align-items: stretch;
}

.fg-grid-container--padding {
    padding: 10px 0px;
}

.fg-grid-container--column {
    flex-direction: column;
}

.fg-grid-cell {
    box-sizing: border-box;
    flex-grow: 1;
    flex-basis: 0;
    min-width: 0;
    max-width: 100%;
    padding: 10px;
}

.fg-grid-cell--no-padding {
    padding: 0px;
}

.fg-grid-cell--no-padding-t {
    padding-top: 0px;
}

.fg-grid-cell--no-padding-b {
    padding-bottom: 0px;
}

.fg-grid-cell--no-padding-l {
    padding-left: 0px;
}

.fg-grid-cell--no-padding-r {
    padding-right: 0px;
}

.fg-grid-cell--no-padding-y {
    padding-top: 0px;
    padding-bottom: 0px;
}

.fg-grid-cell--no-padding-x {
    padding-left: 0px;
    padding-right: 0px;
}

/* setting a fixed with on a grid-cell */
.fg-grid-cell--fixed {
    flex: initial;
}

.fg-grid-cell--flexgrow-2 {
    flex-grow: 2;
}

.fg-grid-cell--flexgrow-3 {
    flex-grow: 3;
}

/* aligning grid cell to the top of container */
.fg-grid-cell--align-top {
    align-self: flex-start;
}

/* aligning grid cell to the center of container - this is the default */
.fg-grid-cell--align-center {
    align-self: center;
}

/* aligning grid cell to the bottom of container */
.fg-grid-cell--align-bottom {
    align-self: flex-end;
}

.fg-grid-cell--top {
    align-self: flex-start;
}

.fg-grid-cell--center {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.fg-grid-cell--bottom {
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
}

.fg-grid-cell--left {
    text-align: left;
}

.fg-grid-cell--middle {
    text-align: center;
}

.fg-grid-cell--right {
    text-align: right;
}

.fg-grid-cell--right-way {
    justify-content: flex-end;
}

/* grid cell widths */
/* one of eight columns */
.fg-col-1 {
    flex-basis: 12.5%;
    max-width: 12.5%;
}
/* 2 eights of a column - one 4th */
.fg-col-2 {
    flex-basis: 25%;
    max-width: 25%;
}

.fg-col-3 {
    flex-basis: 33.3333%;
    max-width: 33.3333%;
}

.fg-col-4, .fg-col-half {
    flex-basis: 50%;
    max-width: 50%;
}

.fg-col-5 {
    flex-basis: 66.6666%;
    max-width: 66.6666%;
}

.fg-col-6 {
    flex-basis: 75%;
    max-width: 75%;
}

.fg-col-7 {
    flex-basis: 87.5%;
    max-width: 87.5%;
}

.fg-col-8, .fg-col-full {
    flex-basis: 100%;
    max-width: 100%;
}

.fg-col-width-xxs {
    max-width: 100px;
}
.fg-col-width-xs {
    max-width: 120px;
}
.fg-col-width-s {
    max-width: 180px;
}
.fg-col-width-m {
    max-width: 220px;
}
.fg-col-width-lg {
    max-width: 260px;
 }

/* temporary */
.fg-col-width-sm {
    max-width: 200px;
}

.fg-col-width-85 {
    width: 85px;
}

/* For divs next to each other, that don't take the full width */
.fg-container {
    display: flex;
    align-items: center;
}

@media only screen and (max-width: 480px) {
    .fg-col-sm {
        flex: 100%;
        max-width: 100%;
    }
}

@media only screen and (max-width: 620px) {
    .fg-col-md {
        flex: 100%;
        max-width: 100%;
    }
}

@media only screen and (max-width: 800px) {
    .fg-col-lg {
        flex: 100%;
        max-width: 100%;
    }
}


/* check this out https://flexgridlite.elliotdahl.com/ */