/* Flex Grid */

.flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;

    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;

    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
            justify-content: space-between;

       -ms-flex-line-pack: stretch;
    -webkit-align-content: stretch;
            align-content: stretch;

         -ms-flex-align: stretch;
    -webkit-align-items: stretch;
            align-items: stretch;
}

    .flex.flex-inline {
        display: -ms-inline-flexbox;
        display: -webkit-inline-flex;
                display: inline-flex;
    }

.flex.flex-column {
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
}

.flex.flex-nowrap {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
}

.flex.flex-justify-start {
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
            justify-content: flex-start;
}

.flex.flex-justify-center {
    -webkit-justify-content: center;
            justify-content: center;
              -ms-flex-pack: center;
}

.flex.flex-justify-between {
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
            justify-content: space-between;
}

.flex.flex-justify-around {
    -ms-flex-pack: distribute;
    -webkit-justify-content: space-around;
            justify-content: space-around;
}

.flex.flex-justify-end {
    -webkit-justify-content: flex-end;
            justify-content: flex-end;
                   -ms-flex-pack: end;
}

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

.flex.flex-align-center {
    -webkit-align-items: center;
         -ms-flex-align: center;
            align-items: center;
}

.flex.flex-align-stretch {
    -webkit-align-items: stretch;
         -ms-flex-align: stretch;
            align-items: stretch;
}

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

@media (max-width: 767px) {
	.mobile-flex {
	    display: -webkit-flex;
	    display: -ms-flexbox;
	    display: flex;

	    -webkit-flex-direction: row;
	        -ms-flex-direction: row;
	            flex-direction: row;

	    -webkit-flex-wrap: wrap;
	        -ms-flex-wrap: wrap;
	            flex-wrap: wrap;

	    -ms-flex-pack: justify;
	    -webkit-justify-content: space-between;
	            justify-content: space-between;

	       -ms-flex-line-pack: stretch;
	    -webkit-align-content: stretch;
	            align-content: stretch;

	         -ms-flex-align: stretch;
	    -webkit-align-items: stretch;
	            align-items: stretch;
	}

	.flex.mobile-flex-column,
	.mobile-flex.mobile-flex-column {
	    -webkit-flex-direction: column;
	        -ms-flex-direction: column;
	            flex-direction: column;
	}

	.flex.mobile-flex-wrap,
	.mobile-flex.mobile-flex-wrap {
	    -webkit-flex-wrap: wrap;
	        -ms-flex-wrap: wrap;
	            flex-wrap: wrap;
	}

	.flex.mobile-flex-justify-start,
	.mobile-flex.mobile-flex-justify-start {
	    -ms-flex-pack: start;
	    -webkit-justify-content: flex-start;
	            justify-content: flex-start;
	}

	.flex.mobile-flex-justify-center,
	.mobile-flex.mobile-flex-justify-center {
	    -webkit-justify-content: center;
	            justify-content: center;
	              -ms-flex-pack: center;
	}

	.flex.mobile-flex-justify-between,
	.mobile-flex.mobile-flex-justify-between {
	    -ms-flex-pack: justify;
	    -webkit-justify-content: space-between;
	            justify-content: space-between;
	}

	.flex.mobile-flex-justify-around,
	.mobile-flex.mobile-flex-justify-around {
	    -ms-flex-pack: distribute;
	    -webkit-justify-content: space-around;
	            justify-content: space-around;
	}

	.flex.mobile-flex-justify-end,
	.mobile-flex.mobile-flex-justify-end {
	    -webkit-justify-content: flex-end;
	            justify-content: flex-end;
	                   -ms-flex-pack: end;
	}

	.flex.mobile-flex-align-start,
	.mobile-flex.mobile-flex-align-start {
	    -ms-flex-align: start;
	    -webkit-align-items: flex-start;
	            align-items: flex-start;
	}

	.flex.mobile-flex-align-center,
	.mobile-flex.mobile-flex-align-center {
	    -webkit-align-items: center;
	         -ms-flex-align: center;
	            align-items: center;
	}

	.flex.mobile-flex-align-stretch,
	.mobile-flex.mobile-flex-align-stretch {
	    -webkit-align-items: stretch;
	         -ms-flex-align: stretch;
	            align-items: stretch;
	}

	.flex.mobile-flex-align-end,
	.mobile-flex.mobile-flex-align-end {
	    -ms-flex-align: end;
	    -webkit-align-items: flex-end;
	            align-items: flex-end;
	}
}
