/*============================================================================
  Grid Setup
    1. Allow the grid system to be used on lists.
    2. Remove any margins and paddings that might affect the grid system.
    3. Apply a negative `margin-left` to negate the columns' gutters.
==============================================================================*/
.grid,
.grid--rev,
.grid-uniform {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-left: -8px;
	margin-right: -8px;
}

.grid__item {
	min-height: 1px;
	vertical-align: top;
	box-sizing: border-box;
	padding-left: 8px;
	padding-right: 8px;
}

/*============================================================================
  Reversed grids allow you to structure your source in the opposite
  order to how your rendered layout will appear.
==============================================================================*/
.grid--rev {
	direction: rtl;
	text-align: left;
	flex-direction: row-reverse;
}

.grid--rev > .grid__item {
	direction: ltr;
	text-align: left;
}

/*============================================================================
  WIDTHS
    - Create width classes, prefixed by the specified namespace.
==============================================================================*/
/*================ Helper show/hide classes around our breakpoints ================*/
/*================ Our regular, non-responsive width and helper classes ================*/
/** Whole */
.one-whole {
	flex: 0 0 100%;
}

/* Halves */
.one-half {
	flex: 0 1 50%;
}

/* Thirds */
.one-third {
	flex: 0 1 33.333%;
}

.two-thirds {
	flex: 0 1 66.666%;
}

/* Quarters */
.one-quarter {
	flex: 0 1 25%;
}

.two-quarters {
	flex: 0 1 50%;
}

.three-quarters {
	flex: 0 1 75%;
}

/* Fifths */
.one-fifth {
	flex: 0 1 20%;
}

.two-fifths {
	flex: 0 1 40%;
}

.three-fifths {
	flex: 0 1 60%;
}

.four-fifths {
	flex: 0 1 80%;
}

/* Sixths */
.one-sixth {
	flex: 0 1 16.666%;
}

.two-sixths {
	flex: 0 1 33.333%;
}

.three-sixths {
	flex: 0 1 50%;
}

.four-sixths {
	flex: 0 1 66.666%;
}

.five-sixths {
	flex: 0 1 83.333%;
}

/* Eighths */
.one-eighth {
	flex: 0 1 12.5%;
}

.two-eighths {
	flex: 0 1 25%;
}

.three-eighths {
	flex: 0 1 37.5%;
}

.four-eighths {
	flex: 0 1 50%;
}

.five-eighths {
	flex: 0 1 62.5%;
}

.six-eighths {
	flex: 0 1 75%;
}

.seven-eighths {
	flex: 0 1 87.5%;
}

/* Tenths */
.one-tenth {
	flex: 0 1 10%;
}

.two-tenths {
	flex: 0 1 20%;
}

.three-tenths {
	flex: 0 1 30%;
}

.four-tenths {
	flex: 0 1 40%;
}

.five-tenths {
	flex: 0 1 50%;
}

.six-tenths {
	flex: 0 1 60%;
}

.seven-tenths {
	flex: 0 1 70%;
}

.eight-tenths {
	flex: 0 1 80%;
}

.nine-tenths {
	flex: 0 1 90%;
}

/* Twelfths */
.one-twelfth {
	flex: 0 1 8.333%;
}

.two-twelfths {
	flex: 0 1 16.666%;
}

.three-twelfths {
	flex: 0 1 25%;
}

.four-twelfths {
	flex: 0 1 33.333%;
}

.five-twelfths {
	flex: 0 1 41.666%;
}

.six-twelfths {
	flex: 0 1 50%;
}

.seven-twelfths {
	flex: 0 1 58.333%;
}

.eight-twelfths {
	flex: 0 1 66.666%;
}

.nine-twelfths {
	flex: 0 1 75%;
}

.ten-twelfths {
	flex: 0 1 83.333%;
}

.eleven-twelfths {
	flex: 0 1 91.666%;
}

/*================ Our responsive classes, if we have enabled them ================*/
@media only screen and (max-width: 768px) {
  	/* Whole */
	.small--one-whole {
		flex: 0 0 100%;
	}
  	/* Halves */
	.small--one-half {
		flex: 0 1 50%;
	}
  	/* Thirds */
	.small--one-third {
		flex: 0 1 33.333%;
	}

	.small--two-thirds {
		flex: 0 1 66.666%;
	}
  	/* Quarters */
	.small--one-quarter {
		flex: 0 1 25%;
	}

	.small--two-quarters {
		flex: 0 1 50%;
	}

	.small--three-quarters {
		flex: 0 1 75%;
	}
  	/* Fifths */
	.small--one-fifth {
		flex: 0 1 20%;
	}

	.small--two-fifths {
		flex: 0 1 40%;
	}

	.small--three-fifths {
		flex: 0 1 60%;
	}

	.small--four-fifths {
		flex: 0 1 80%;
	}
  	/* Sixths */
	.small--one-sixth {
		flex: 0 1 16.666%;
	}

	.small--two-sixths {
		flex: 0 1 33.333%;
	}

	.small--three-sixths {
		flex: 0 1 50%;
	}

	.small--four-sixths {
		flex: 0 1 66.666%;
	}

	.small--five-sixths {
		flex: 0 1 83.333%;
	}
  	/* Eighths */
	.small--one-eighth {
		flex: 0 1 12.5%;
	}

	.small--two-eighths {
		flex: 0 1 25%;
		width: 25%;
	}

	.small--three-eighths {
		flex: 0 1 37.5%;
	}

	.small--four-eighths {
		flex: 0 1 50%;
	}

	.small--five-eighths {
		flex: 0 1 62.5%;
	}

	.small--six-eighths {
		flex: 0 1 75%;
	}

	.small--seven-eighths {
		flex: 0 1 87.5%;
	}
  	/* Tenths */
	.small--one-tenth {
		flex: 0 1 10%;
	}

	.small--two-tenths {
		flex: 0 1 20%;
	}

	.small--three-tenths {
		flex: 0 1 30%;
	}

	.small--four-tenths {
		flex: 0 1 40%;
	}

	.small--five-tenths {
		flex: 0 1 50%;
	}

	.small--six-tenths {
		flex: 0 1 60%;
	}

	.small--seven-tenths {
		flex: 0 1 70%;
	}

	.small--eight-tenths {
		flex: 0 1 80%;
	}

	.small--nine-tenths {
		flex: 0 1 90%;
	}
  	/* Twelfths */
	.small--one-twelfth {
		flex: 0 1 8.333%;
	}

	.small--two-twelfths {
		flex: 0 1 16.666%;
	}

	.small--three-twelfths {
		flex: 0 1 25%;
	}

	.small--four-twelfths {
		flex: 0 1 33.333%;
	}

	.small--five-twelfths {
		flex: 0 1 41.666%;
	}

	.small--six-twelfths {
		flex: 0 1 50%;
	}

	.small--seven-twelfths {
		flex: 0 1 58.333%;
	}

	.small--eight-twelfths {
		flex: 0 1 66.666%;
	}

	.small--nine-twelfths {
		flex: 0 1 75%;
	}

	.small--ten-twelfths {
		flex: 0 1 83.333%;
	}

	.small--eleven-twelfths {
		flex: 0 1 91.666%;
	}

	.small--show {
		display: block !important;
	}

	.small--hide {
		display: none !important;
	}

	.small--text-left {
		text-align: left !important;
	}

	.small--text-right {
		text-align: right !important;
	}

	.small--text-center {
		text-align: center !important;
	}

	.small--left {
		float: left !important;
	}

	.small--right {
		float: right !important;
	}

	.small--align--flex-start {
		align-items: flex-start;
	}

	.small--align--flex-center {
		align-items: center;
	}

	.small--align--flex-end {
		align-items: flex-end;
	}

	.small--flex-start {
		justify-content: flex-start;
	}

	.small--flex-space {
		justify-content: space-between;
	}

	.small--flex-center {
		justify-content: center;
	}

	.small--flex-even {
		justify-content: space-evenly;
	}

	.small--flex-end {
		justify-content: flex-end;
	}
}

@media only screen and (min-width: 769px) and (max-width: 991px) {
  	/* Whole */
	.medium--one-whole {
		flex: 0 0 100%;
	}
  	/* Halves */
	.medium--one-half {
		flex: 0 1 50%;
	}
  	/* Thirds */
	.medium--one-third {
		flex: 0 1 33.333%;
	}

	.medium--two-thirds {
		flex: 0 1 66.666%;
	}
  	/* Quarters */
	.medium--one-quarter {
		flex: 0 1 25%;
	}

	.medium--two-quarters {
		flex: 0 1 50%;
	}

	.medium--three-quarters {
		flex: 0 1 75%;
	}
  	/* Fifths */
	.medium--one-fifth {
		flex: 0 1 20%;
	}

	.medium--two-fifths {
		flex: 0 1 40%;
	}

	.medium--three-fifths {
		flex: 0 1 60%;
	}

	.medium--four-fifths {
		flex: 0 1 80%;
	}
  	/* Sixths */
	.medium--one-sixth {
		flex: 0 1 16.666%;
	}

	.medium--two-sixths {
		flex: 0 1 33.333%;
	}

	.medium--three-sixths {
		flex: 0 1 50%;
	}

	.medium--four-sixths {
		flex: 0 1 66.666%;
	}

	.medium--five-sixths {
		flex: 0 1 83.333%;
	}
  	/* Eighths */
	.medium--one-eighth {
		flex: 0 1 12.5%;
	}

	.medium--two-eighths {
		flex: 0 1 25%;
	}

	.medium--three-eighths {
		flex: 0 1 37.5%;
	}

	.medium--four-eighths {
		flex: 0 1 50%;
	}

	.medium--five-eighths {
		flex: 0 1 62.5%;
	}

	.medium--six-eighths {
		flex: 0 1 75%;
	}

	.medium--seven-eighths {
		flex: 0 1 87.5%;
	}
  	/* Tenths */
	.medium--one-tenth {
		flex: 0 1 10%;
	}

	.medium--two-tenths {
		flex: 0 1 20%;
	}

	.medium--three-tenths {
		flex: 0 1 30%;
	}

	.medium--four-tenths {
		flex: 0 1 40%;
	}

	.medium--five-tenths {
		flex: 0 1 50%;
	}

	.medium--six-tenths {
		flex: 0 1 60%;
	}

	.medium--seven-tenths {
		flex: 0 1 70%;
	}

	.medium--eight-tenths {
		flex: 0 1 80%;
	}

	.medium--nine-tenths {
		flex: 0 1 90%;
	}
  	/* Twelfths */
	.medium--one-twelfth {
		flex: 0 1 8.333%;
	}

	.medium--two-twelfths {
		flex: 0 1 16.666%;
	}

	.medium--three-twelfths {
		flex: 0 1 25%;
	}

	.medium--four-twelfths {
		flex: 0 1 33.333%;
	}

	.medium--five-twelfths {
		flex: 0 1 41.666%;
	}

	.medium--six-twelfths {
		flex: 0 1 50%;
	}

	.medium--seven-twelfths {
		flex: 0 1 58.333%;
	}

	.medium--eight-twelfths {
		flex: 0 1 66.666%;
	}

	.medium--nine-twelfths {
		flex: 0 1 75%;
	}

	.medium--ten-twelfths {
		flex: 0 1 83.333%;
	}

	.medium--eleven-twelfths {
		flex: 0 1 91.666%;
	}

	.medium--show {
		display: block !important;
	}

	.medium--hide {
		display: none !important;
	}

	.medium--text-left {
		text-align: left !important;
	}

	.medium--text-right {
		text-align: right !important;
	}

	.medium--text-center {
		text-align: center !important;
	}

	.medium--left {
		float: left !important;
	}

	.medium--right {
		float: right !important;
	}

	.medium--align--flex-start {
		align-items: flex-start;
	}

	.medium--align--flex-center {
		align-items: center;
	}

	.medium--align--flex-end {
		align-items: flex-end;
	}

	.medium--flex-start {
		justify-content: flex-start;
	}

	.medium--flex-space {
		justify-content: space-between;
	}

	.medium--flex-center {
		justify-content: center;
	}

	.medium--flex-even {
		justify-content: space-evenly;
	}

	.medium--flex-end {
		justify-content: flex-end;
	}
}

@media screen and (min-width: 992px) {
  	/** Whole */
	.large--one-whole {
		flex: 0 0 100%;
	}

  	/* Halves */
	.large--one-half {
		flex: 0 1 50%;
	}

  	/* Thirds */
	.large--one-third {
		flex: 0 1 33.333%;
	}

	.large--two-thirds {
		flex: 0 1 66.666%;
	}

  	/* Quarters */
	.large--one-quarter {
		flex: 0 1 25%;
	}

	.large--two-quarters {
		flex: 0 1 50%;
	}

	.large--three-quarters {
		flex: 0 1 75%;
	}

  	/* Fifths */
	.large--one-fifth {
		flex: 0 1 20%;
	}

	.large--two-fifths {
		flex: 0 1 40%;
	}

	.large--three-fifths {
		flex: 0 1 60%;
	}

	.large--four-fifths {
		flex: 0 1 80%;
	}

  	/* Sixths */
	.large--one-sixth {
		flex: 0 1 16.666%;
	}

	.large--two-sixths {
		flex: 0 1 33.333%;
	}

	.large--three-sixths {
		flex: 0 1 50%;
	}

	.large--four-sixths {
		flex: 0 1 66.666%;
	}

	.large--five-sixths {
		flex: 0 1 83.333%;
	}

  	/* Eighths */
	.large--one-eighth {
		flex: 0 1 12.5%;
	}

	.large--two-eighths {
		flex: 0 1 25%;
	}

	.large--three-eighths {
		flex: 0 1 37.5%;
	}

	.large--four-eighths {
		flex: 0 1 50%;
	}

	.large--five-eighths {
		flex: 0 1 62.5%;
	}

	.large--six-eighths {
		flex: 0 1 75%;
	}

	.large--seven-eighths {
		flex: 0 1 87.5%;
	}

    /* Tenths */
	.large--one-tenth {
		flex: 0 1 10%;
	}

	.large--two-tenths {
		flex: 0 1 20%;
	}

	.large--three-tenths {
		flex: 0 1 30%;
	}

	.large--four-tenths {
		flex: 0 1 40%;
	}

	.large--five-tenths {
		flex: 0 1 50%;
	}

	.large--six-tenths {
		flex: 0 1 60%;
	}

	.large--seven-tenths {
		flex: 0 1 70%;
	}

	.large--eight-tenths {
		flex: 0 1 80%;
	}

	.large--nine-tenths {
		flex: 0 1 90%;
	}
  /* Twelfths */
	.large--one-twelfth {
		flex: 0 1 8.333%;
	}

	.large--two-twelfths {
		flex: 0 1 16.666%;
	}

	.large--three-twelfths {
		flex: 0 1 25%;
	}

	.large--four-twelfths {
		flex: 0 1 33.333%;
	}

	.large--five-twelfths {
		flex: 0 1 41.666%;
	}

	.large--six-twelfths {
		flex: 0 1 50%;
	}

	.large--seven-twelfths {
		flex: 0 1 58.333%;
	}

	.large--eight-twelfths {
		flex: 0 1 66.666%;
	}

	.large--nine-twelfths {
		flex: 0 1 75%;
	}

	.large--ten-twelfths {
		flex: 0 1 83.333%;
	}

	.large--eleven-twelfths {
		flex: 0 1 91.666%;
	}

	.large--show {
		display: block !important;
	}

	.large--hide {
		display: none !important;
	}

	.large--text-left {
		text-align: left !important;
	}

	.large--text-right {
		text-align: right !important;
	}

	.large--text-center {
		text-align: center !important;
	}

	.large--left {
		float: left !important;
	}

	.large--right {
		float: right !important;
	}

	.large--align--flex-start {
		align-items: flex-start;
	}

	.large--align--flex-center {
		align-items: center;
	}

	.large--align--flex-end {
		align-items: flex-end;
	}

	.large--flex-start {
		justify-content: flex-start;
	}

	.large--flex-space {
		justify-content: space-between;
	}

	.large--flex-center {
		justify-content: center;
	}

	.large--flex-even {
		justify-content: space-evenly;
	}

	.large--flex-end {
		justify-content: flex-end;
	}
}
