/* Flex Classes */
.flex {
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-flex-wrap: nowrap;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.flex-2 {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.flex-3 {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.full-flex > * {
	-webkit-flex: 1 1 100%;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%;
}

.half-flex > * {
	-webkit-flex: 0 1 50%;
	-ms-flex: 0 1 50%;
	flex: 0 1 50%;
}

.half-flex > *:nth-child(even) {
	margin-left: 4%;
}

.third-flex > * {
	-webkit-flex: 1 1 33%;
	-ms-flex: 1 1 33%;
	flex: 1 1 33%;
	overflow: hidden;
}

.quarter-flex > * {
	-webkit-flex: 1 1 25%;
	-ms-flex: 1 1 25%;
	flex: 1 1 25%;
	overflow: hidden;
}

.full-flex-item {
	-webkit-flex: 1 0 100%;
	-ms-flex: 1 0 100%;
	flex: 1 0 100%;
}

.half-flex-item {
	-webkit-flex: 1 0 50%;
	-ms-flex: 1 0 50%;
	flex: 1 0 50%;
}

.third-flex-item {
	-webkit-flex: 1 1 30%;
	-ms-flex: 1 1 30%;
	flex: 1 1 30%;
}

.two-thirds-flex-item {
	-webkit-flex: 1 1 64%;
	-ms-flex: 1 1 64%;
	flex: 1 1 64%;
}

.children-content-align-center > * {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

[class|='flex'] > *, [class|=' flex'] > * {
	min-width: 25px;
	min-height: 25px;
}

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

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

.align-center {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
/* End Flex Classes */

/* IE Fallbacks */
.no-flexbox [class^='flex'], .no-flexbox [class*=' flex'] {
	display: table;
	width: 100%;
}

.no-flexbox [class^='flex'] > *, .no-flexbox [class*=' flex'] > * {
	display: table-cell;
	vertical-align: middle;
}

.no-flexbox .half-flex > * {
	width: 48%;
	vertical-align: top;
}

.no-flexbox .half-flex > *:nth-child(odd) {
	padding-right: 2%;
}

.no-flexbox .half-flex > *:nth-child(even) {
	padding-left: 2%;
}
/* End IE Fallbacks */

/* Responsive */
@media screen and (max-width:1150px) {
	.half-flex {
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.half-flex > * {
		-webkit-flex: 1 0 100%;
		-ms-flex: 1 0 100%;
		flex: 1 0 100%;
	}

	.half-flex > *:nth-child(even) {
		margin-top: 2em;
		margin-left: 0;
	}

	.no-flexbox [class^='flex'].half-flex, .no-flexbox [class*=' flex'].half-flex {
		display: block;
		width: 100%;
	}

	.no-flexbox [class^='flex'].half-flex > *, .no-flexbox [class*=' flex'].half-flex > * {
		display: block;
		width: 100%;
		padding: 0;
	}
}
/* End Responsive */
