.container,
[class*=" columns-"],
[class^="columns-"] {
	margin: 0 auto!important;
	width: 100%;
}

.container:before,
.container:after,
[class*=" columns-"]:before,
[class*=" columns-"]:after,
[class^="columns-"]:before,
[class^="columns-"]:after {
	content: ' ';
	display: table;
}

.container:after,
[class*=" columns-"]:after,
[class^="columns-"]:after {
	clear: both;
}

.container,
[class*=" columns-"],
[class^="columns-"] {
	*zoom: 1;
}

/**
 * All Children of a columns get floated
 */
[class*=" columns-"] > *,
[class^="columns-"] > * {
	width: 100%;
	float: left;
}


/*--------------------------------------------------------------
	Two columns
--------------------------------------------------------------*/
@media only screen and ( min-width: 560px ) {
	.columns-2 > .expanded:not(:nth-child(2n)) ~ .expanded,
	.columns-2 > * {
		width: 50%;
	}

	.columns-2 > .expanded:not(:nth-child(2n)) {
		width: 100%;
	}

	.columns-2:not(.noclear) > :nth-child(2n+1) {
		clear: left;
	}

	/**
	 * After the first expanded we need to redo the clears due to selectivizr
	 * and ie7/8 not liking:
     *		.columns-X > .expanded:not(:nth-child(Xn)) ~ :nth-child(Xn)
	 * this is a little more convoluted than I'd like.
	 */
	.columns-2 > .expanded:not(:nth-child(2n)) ~ * {
		clear: none;
	}

	.columns-2:not(.noclear) > .expanded:nth-child(2n+1) ~ :nth-child(2n)	{
		clear: left;
	}

	.columns-2.orphan-expand > .expanded:nth-child(2n+1) ~ :last-child:nth-child(2n),
	.columns-2.orphan-expand > :last-child:nth-child(2n+1) {
		width: 100%;
	}

	.columns-2.orphan-expand > .expanded:nth-child(2n+1) ~ :last-child:nth-child(2n+1) {
		width: 50%;
	}
}


/*--------------------------------------------------------------
	Three columns
--------------------------------------------------------------*/
@media only screen and ( min-width: 560px ) and ( max-width: 799px ) {
	.columns-3 > .expanded:not(:nth-child(2n)) ~ .expanded,
	.columns-3 > * {
		width: 50%;
	}

	.columns-3 > .expanded:not(:nth-child(2n)) {
		width: 100%;
	}

	.columns-3:not(.noclear) > :nth-child(2n+1) {
		clear: left;
	}

	.columns-3 > .expanded:not(:nth-child(2n)) ~ * {
		clear: none;
	}

	.columns-3:not(.noclear) > .expanded:nth-child(2n+1) ~ :nth-child(2n)	{
		clear: left;
	}

	.columns-3.orphan-expand > .expanded:nth-child(2n+1) ~ :last-child:nth-child(2n),
	.columns-3.orphan-expand > :last-child:nth-child(2n+1) {
		width: 100%;
	}

	.columns-3.orphan-expand > .expanded:nth-child(2n+1) ~ :last-child:nth-child(2n+1) {
		width: 50%;
	}
}


@media only screen and ( min-width: 800px ) {
	.columns-3 > .expanded:not(:nth-child(3n)) ~ .expanded,
	.columns-3 > * {
		width: 33.333%;
	}

	.columns-3 > .expanded:not(:nth-child(3n)) {
		width: 66.666%;
	}

	.columns-3:not(.noclear) > :nth-child(3n+1) {
		clear: left;
	}

	.columns-3 > .expanded:not(:nth-child(3n)) ~ * {
		clear: none;
	}

	.columns-3:not(.noclear) > .expanded:nth-child(3n+1) ~ :nth-child(3n),
	.columns-3:not(.noclear) > .expanded:nth-child(3n+2) ~ :nth-child(3n)	{
		clear: left;
	}

	.columns-3.orphan-expand > .expanded:nth-child(3n+1) ~ :last-child:nth-child(3n),
	.columns-3.orphan-expand > .expanded:nth-child(3n+2) ~ :last-child:nth-child(3n),
	.columns-3.orphan-expand > :last-child:nth-child(3n+1) {
		width: 100%;
	}

	.columns-3.orphan-expand > .expanded:nth-child(3n+1) ~ :last-child:nth-child(3n+1),
	.columns-3.orphan-expand > .expanded:nth-child(3n+2) ~ :last-child:nth-child(3n+1),
	.columns-3.orphan-expand > :last-child:nth-child(3n+2) {
		width: 66.666%;
	}

	.columns-3.orphan-expand > .expanded:nth-child(3n+1) ~ :last-child:nth-child(3n+2),
	.columns-3.orphan-expand > .expanded:nth-child(3n+2) ~ :last-child:nth-child(3n+2) {
		width: 33.333%;
	}
}

/*--------------------------------------------------------------
	Four columns
--------------------------------------------------------------*/
@media only screen and ( min-width:560px ) and ( max-width:749px ) {
	.columns-4 > .expanded:not(:nth-child(2n)) ~ .expanded,
	.columns-4 > * {
		width: 50%;
	}

	.columns-4 > .expanded:not(:nth-child(2n)) {
		width: 100%;
	}

	.columns-4:not(.noclear) > :nth-child(2n+1) {
		clear: left;
	}

	.columns-4 > .expanded:not(:nth-child(2n)) ~ * {
		clear: none;
	}

	.columns-4:not(.noclear) > .expanded:nth-child(2n+1) ~ :nth-child(2n)	{
		clear: left;
	}

	.columns-4.orphan-expand > .expanded:nth-child(2n+1) ~ :last-child:nth-child(2n),
	.columns-4.orphan-expand > :last-child:nth-child(2n+1) {
		width: 100%;
	}

	.columns-4.orphan-expand > .expanded:nth-child(2n+1) ~ :last-child:nth-child(2n+1) {
		width: 50%;
	}
}


@media only screen and ( min-width: 750px ) {
	.columns-4 > .expanded:not(:nth-child(4n)) ~ .expanded,
	.columns-4 > * {
		width: 25%;
	}

	.columns-4 > .expanded:not(:nth-child(4n)) {
		width: 50%;
	}

	.columns-4:not(.noclear) > :nth-child(4n+1) {
		clear: left;
	}

	.columns-4 > .expanded:not(:nth-child(4n)) ~ * {
		clear: none;
	}

	.columns-4:not(.noclear) > .expanded:nth-child(4n+1) ~ :nth-child(4n),
	.columns-4:not(.noclear) > .expanded:nth-child(4n+2) ~ :nth-child(4n),
	.columns-4:not(.noclear) > .expanded:nth-child(4n+3) ~ :nth-child(4n) {
		clear: left;
	}

	.columns-4.orphan-expand > .expanded:nth-child(4n+3) ~ :last-child:nth-child(4n+2),
	.columns-4.orphan-expand > .expanded:nth-child(4n+2) ~ :last-child:nth-child(4n+2),
	.columns-4.orphan-expand > .expanded:nth-child(4n+1) ~ :last-child:nth-child(4n+2),
	.columns-4.orphan-expand > :last-child:nth-child(4n+3) {
		width: 50%;
	}

	.columns-4.orphan-expand > .expanded:nth-child(4n+3) ~ :last-child:nth-child(4n+1),
	.columns-4.orphan-expand > .expanded:nth-child(4n+2) ~ :last-child:nth-child(4n+1),
	.columns-4.orphan-expand > .expanded:nth-child(4n+1) ~ :last-child:nth-child(4n+1),
	.columns-4.orphan-expand > :last-child:nth-child(4n+2) {
		width: 75%;
	}

	.columns-4.orphan-expand > .expanded:nth-child(4n+3) ~ :last-child:nth-child(4n),
	.columns-4.orphan-expand > .expanded:nth-child(4n+2) ~ :last-child:nth-child(4n),
	.columns-4.orphan-expand > .expanded:nth-child(4n+1) ~ :last-child:nth-child(4n),
	.columns-4.orphan-expand > :last-child:nth-child(4n+1) {
		width: 100%;
	}

	.columns-4.orphan-expand > .expanded:nth-child(4n+3) ~ :last-child:nth-child(4n+3),
	.columns-4.orphan-expand > .expanded:nth-child(4n+2) ~ :last-child:nth-child(4n+3),
	.columns-4.orphan-expand > .expanded:nth-child(4n+1) ~ :last-child:nth-child(4n+3) {
		width: 25%;
	}
}


/*--------------------------------------------------------------
	Five columns
--------------------------------------------------------------*/
@media only screen and ( min-width: 480px ) and ( max-width: 649px ) {
	.columns-5 > .expanded:not(:nth-child(2n)) ~ .expanded,
	.columns-5 > * {
		width: 50%;
	}

	.columns-5 > .expanded:not(:nth-child(2n)) {
		width: 100%;
	}

	.columns-5:not(.noclear) > :nth-child(2n+1) {
		clear: left;
	}

	.columns-5 > .expanded:not(:nth-child(2n)) ~ * {
		clear: none;
	}

	.columns-5:not(.noclear) > .expanded:nth-child(2n+1) ~ :nth-child(2n)	{
		clear: left;
	}
}


@media only screen and ( min-width: 650px ) and ( max-width: 799px ) {
	.columns-5 > .expanded:not(:nth-child(4n)) ~ .expanded,
	.columns-5 > * {
		width: 25%;
	}

	.columns-5 > .expanded:not(:nth-child(4n)) {
		width: 50%;
	}

	.columns-5:not(.noclear) > :nth-child(4n+1) {
		clear: left;
	}

	.columns-5 > .expanded:not(:nth-child(4n)) ~ * {
		clear: none;
	}

	.columns-5:not(.noclear) > .expanded:nth-child(4n+1) ~ :nth-child(4n),
	.columns-5:not(.noclear) > .expanded:nth-child(4n+2) ~ :nth-child(4n),
	.columns-5:not(.noclear) > .expanded:nth-child(4n+3) ~ :nth-child(4n) {
		clear: left;
	}
}

@media only screen and ( min-width: 800px ) {
	.columns-5 > .expanded:not(:nth-child(5n)) ~ .expanded,
	.columns-5 > * {
		width: 20%;
	}

	.columns-5 > .expanded:not(:nth-child(5n)) {
		width: 40%;
	}

	.columns-5:not(.noclear) > :nth-child(5n+1) {
		clear: left;
	}

	.columns-5 > .expanded:not(:nth-child(5n)) ~ * {
		clear: none;
	}

	.columns-5:not(.noclear) > .expanded:nth-child(5n+1) ~ :nth-child(5n),
	.columns-5:not(.noclear) > .expanded:nth-child(5n+2) ~ :nth-child(5n),
	.columns-5:not(.noclear) > .expanded:nth-child(5n+3) ~ :nth-child(5n),
	.columns-5:not(.noclear) > .expanded:nth-child(5n+4) ~ :nth-child(5n) {
		clear: left;
	}
}


/*--------------------------------------------------------------
	Six columns
--------------------------------------------------------------*/
@media only screen and ( min-width: 320px ) and ( max-width: 499px ) {
	.columns-6 > .expanded:not(:nth-child(2n)) ~ .expanded,
	.columns-6 > * {
		width: 50%;
	}

	.columns-6 > .expanded:not(:nth-child(2n)) {
		width: 100%;
	}

	.columns-6:not(.noclear) > :nth-child(2n+1) {
		clear: left;
	}

	.columns-6 > .expanded:not(:nth-child(2n)) ~ * {
		clear: none;
	}

	.columns-6:not(.noclear) > .expanded:nth-child(2n+1) ~ :nth-child(2n)	{
		clear: left;
	}
}


@media only screen and ( min-width: 500px ) and ( max-width: 699px ) {
	.columns-6 > .expanded:not(:nth-child(4n)) ~ .expanded,
	.columns-6 > * {
		width: 25%;
	}

	.columns-6 > .expanded:not(:nth-child(4n)) {
		width: 50%;
	}

	.columns-6:not(.noclear) > :nth-child(4n+1) {
		clear: left;
	}

	.columns-6 > .expanded:not(:nth-child(4n)) ~ * {
		clear: none;
	}

	.columns-6:not(.noclear) > .expanded:nth-child(4n+1) ~ :nth-child(4n),
	.columns-6:not(.noclear) > .expanded:nth-child(4n+2) ~ :nth-child(4n),
	.columns-6:not(.noclear) > .expanded:nth-child(4n+3) ~ :nth-child(4n) {
		clear: left;
	}
}

@media only screen and ( min-width: 700px ) {
	.columns-6 > .expanded:not(:nth-child(6n)) ~ .expanded,
	.columns-6 > * {
		width: 16.666%;
	}

	.columns-6 > .expanded:not(:nth-child(6n)) {
		width: 33.333%;
	}

	.columns-6:not(.noclear) > :nth-child(6n+1) {
		clear: left;
	}

	.columns-6 > .expanded:not(:nth-child(6n)) ~ * {
		clear: none;
	}

	.columns-6:not(.noclear) > .expanded:nth-child(6n+1) ~ :nth-child(6n),
	.columns-6:not(.noclear) > .expanded:nth-child(6n+2) ~ :nth-child(6n),
	.columns-6:not(.noclear) > .expanded:nth-child(6n+3) ~ :nth-child(6n),
	.columns-6:not(.noclear) > .expanded:nth-child(6n+3) ~ :nth-child(6n),
	.columns-6:not(.noclear) > .expanded:nth-child(6n+4) ~ :nth-child(6n) {
		clear: left;
	}
}

/*--------------------------------------------------------------
	Mixed width columns
--------------------------------------------------------------*/
[class^="column-"],
[class*=" column-"] {
	width: 100%;
	margin: 0;
}

.column-full {
	float: none;
}

.column-nofloat {
	float: none!important;
}

@media only screen and (min-width: 340px) {
	.column-one-quarter,
	.column-two-thirds .column-one-third {
		width: 50%;
		float: left;
	}
	.column-one-quarter:nth-of-type(2n+1):not(.noclear) ,
	.column-two-thirds .column-one-third:nth-of-type(2n+1):not(.noclear)  {
		clear: left;
	}
}

@media only screen and (min-width: 500px) {
	.column-one-third {
		width: 50%;
		float: left;
	}
	.column-two-thirds {
		width: 100%;
	}
	.column-two-thirds .column-one-third {
		width: 33.3333%;
	}
	.column-two-thirds + .column-one-third,
	.column-one-third + .column-two-thirds {
		width: 100%;
	}
	.column-one-quarter {
		width: 50%;
		float: left;
	}
	.column-half {
		width: 100%;
	}
	.column-three-quarters {
		width: 100%;
	}
	.column-two-thirds .column-one-third:nth-of-type(2n+1) {
		clear: none;
	}

	.column-one-quarter:nth-of-type(2n+1):not(.noclear) ,
	[class^="column-"] .column-one-quarter:nth-of-type(4n+1):not(.noclear) ,
	[class*=" column-"] .column-one-quarter:nth-of-type(4n+1):not(.noclear)  {
		clear: left;
	}
	.column-right {
		float: right;
	}
}

@media only screen and (min-width: 640px) {
	.column-one-third {
		float: left;
		width: 50%;
	}
	.column-full {
		float: none;
		width: auto;
	}
	[class*=" column-"] .column-one-quarter:nth-of-type(2n+1),
	[class^="column-"] .column-one-quarter:nth-of-type(2n+1) {
		clear: none;
	}
	[class^="column-"] .column-one-quarter,
	[class*=" column-"] .column-one-quarter {
		width: 25%;
	}
	.column-right {
		float: right;
	}
}

@media only screen and (min-width: 500px) and (max-width: 900px) {
	.column-make-half {
		width: 50%;
	}
	.column-make-half .column-half {
		width: 100%;
	}
}

@media only screen and (min-width: 800px) {
	.column-two-thirds + .column-one-third,
	.column-one-third {
		width: 33.3333%;
	}
	.column-one-third + .column-two-thirds,
	.column-two-thirds {
		width: 66.6666%;
		float: left;
	}
	.column-one-quarter {
		width: 25%;
	}
	.column-half {
		width: 50%;
		float: left;
	}
	.column-three-quarters {
		width: 75%;
	}
	.column-one-quarter:nth-of-type(2n+1) {
		clear: none;
	}
	.column-one-quarter:nth-of-type(4n+1):not(.noclear) ,
	.column-one-third:nth-of-type(3n+1):not(.noclear)  {
		clear: left;
	}

	.column-right {
		float: right;
	}
}
