/* Flex Grid & Auto Sizing */
[class*='flx'][class*='-grd'] {
	flex-wrap: wrap;
	position: relative;
	width: calc(var(--full) + var(--grd-sp));
	left: calc(var(--grd-sp) * -.5);
	margin-top:  calc( var(--grd-sp) * -.5);
	margin-bottom:  calc( var(--grd-sp) * -.5);
}

[class*='flx'][class*='-grd'] > li {
	margin: calc((var(--grd-sp) - 0.111rem) * .5);
	flex: 1 1 auto;
}

[class*='flx'][class*='-grd'] > li.fit {
	flex: 0 1 auto;
}

[class*='flx'][class*='-grd'] > li.full {
	max-width: calc(var(--full) - var(--grd-sp));
}

[class*='flx'][class*='-grd'] > li.half {
	max-width: calc(var(--half) - var(--grd-sp));
}

[class*='flx'][class*='-grd'] > li.third {
	max-width: calc(var(--third) - var(--grd-sp));
}

[class*='flx'][class*='-grd'] > li.fourth {
	max-width: calc(var(--fourth) - var(--grd-sp));
}

[class*='flx'][class*='-grd'] > li.fifth {
	max-width: calc(var(--fifth) - var(--grd-sp));
}

[class*='flx'][class*='-grd'] > li.sixth {
	max-width: calc(var(--sixth) - var(--grd-sp));
}

[class*='flx'][class*='-grd'] > li.seventh {
	max-width: calc(var(--seventh) - var(--grd-sp));
}

/* Catch All Sizes */
[class*="ato-sz"][class*='flx'] > li {
	width: var(--seventh);
}

[class*="ato-sz"][class*='flx'][class*='-grd'] > li {
	width: calc(var(--seventh) - var(--grd-sp));
}

/* 2 Items */
[class*="ato-sz"][class*="flx-"] > li:nth-last-of-type(2n):first-of-type,
[class*="ato-sz"][class*="flx-"] > li:nth-last-of-type(2n):first-of-type ~ li {
	width: var(--half);
}

[class*="ato-sz"][class*="flx-"][class*='-grd'] > li:nth-last-of-type(2n):first-of-type,
[class*="ato-sz"][class*="flx-"][class*='-grd'] > li:nth-last-of-type(2n):first-of-type ~ li {
	width: calc(var(--half) - var(--grd-sp));
}

/* 4 Items */
@media screen and (min-width: 1025px) {
	
	[class*="ato-sz"][class*='flx'][class*="mx-4"] > li {
		width: var(--fourth);
	}
	
	[class*="ato-sz"][class*='flx'][class*='-grd'][class*="mx-4"] > li {
		width: calc(var(--fourth) - var(--grd-sp));
	}
	
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-3"]) > li:nth-last-of-type(4n - 2):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-3"]) > li:nth-last-of-type(4n - 2):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-3"]) > li:nth-last-of-type(4n - 1):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-3"]) > li:nth-last-of-type(4n - 1):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-3"]) > li:nth-last-of-type(4n):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-3"]) > li:nth-last-of-type(4n):first-of-type ~ li {
		width: var(--fourth);
	}

	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-3"]) > li:nth-last-of-type(4n - 2):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-3"]) > li:nth-last-of-type(4n - 2):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-3"]) > li:nth-last-of-type(4n - 1):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-3"]) > li:nth-last-of-type(4n - 1):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-3"]) > li:nth-last-of-type(4n):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-3"]) > li:nth-last-of-type(4n):first-of-type ~ li {
		width: calc(var(--fourth) - var(--grd-sp));
	}

}

/* 3 & 5 Items */
@media screen and (min-width: 1281px) {
	
	[class*="ato-sz"][class*='flx'][class*="mx-3"] > li {
		width: var(--third);
	}

	[class*="ato-sz"][class*='flx'][class*='-grd'][class*="mx-3"] > li {
		width: calc(var(--third) - var(--grd-sp));
	}
	
	[class*="ato-sz"][class*="flx-"] > li:nth-last-of-type(3n - 1):first-of-type,
	[class*="ato-sz"][class*="flx-"] > li:nth-last-of-type(3n - 1):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"] > li:nth-last-of-type(3n):first-of-type,
	[class*="ato-sz"][class*="flx-"] > li:nth-last-of-type(3n):first-of-type ~ li {
		width: var(--third);
	}

	[class*="ato-sz"][class*="flx-"][class*='-grd'] > li:nth-last-of-type(3n - 1):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd'] > li:nth-last-of-type(3n - 1):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"][class*='-grd'] > li:nth-last-of-type(3n):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd'] > li:nth-last-of-type(3n):first-of-type ~ li {
		width: calc(var(--third) - var(--grd-sp));
	}
	
	[class*="ato-sz"][class*='flx'][class*="mx-5"] > li {
		width: var(--fifth);
	}

	[class*="ato-sz"][class*='flx'][class*='-grd'][class*="mx-5"] > li {
		width: calc(var(--fifth) - var(--grd-sp));
	}
	
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n - 2):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n - 2):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n - 1):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n - 1):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n):first-of-type ~ li {
		width: var(--fifth);
	}

	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n - 2):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n - 2):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n - 1):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n - 1):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(5n):first-of-type ~ li {
		width: calc(var(--fifth) - var(--grd-sp));
	}

}

/* 6 Items */
@media screen and (min-width: 1601px) {

	[class*="ato-sz"][class*="flx-"]:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n - 2):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n - 2):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n - 1):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n - 1):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n):first-of-type,
	[class*="ato-sz"][class*="flx-"]:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n):first-of-type ~ li {
		width: var(--sixth);
	}

	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n - 2):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n - 2):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n - 1):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n - 1):first-of-type ~ li,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n):first-of-type,
	[class*="ato-sz"][class*="flx-"][class*='-grd']:not([class*="mx-5"]):not([class*="mx-4"]):not([class*="mx-3"]) > li:nth-last-of-type(6n):first-of-type ~ li {
		width: calc(var(--sixth) - var(--grd-sp));
	}

}

/* 1600px Responsive */
@media screen and (max-width: 1600px) {

	[class*="ato-sz"][class*='flx'] > li {
		width: var(--fifth);
	}
	
	[class*="ato-sz"][class*='flx'][class*='-grd'] > li {
		width: calc(var(--fifth) - var(--grd-sp));
	}
	
}

/* 1440px Responsive */
@media screen and (max-width: 1440px) {

	[class*="ato-sz"][class*='flx'] > li {
		width: var(--fourth);
	}
	
	[class*="ato-sz"][class*='flx'][class*='-grd'] > li {
		width: calc(var(--fourth) - var(--grd-sp));
	}

}

/* 1280px Responsive */
@media screen and (max-width: 1280px) {

	[class*='flx'][class*="-blk-1280"][class*="-grd"] {
		width: var(--full) !important;
		left: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	[class*='flx'][class*="-blk-1280"][class*="-grd"] > li:not(#_) {
		max-width: none;
		width: var(--full);
		margin-left: 0;
		margin-right: 0;
	}
	
	[class*="ato-sz"][class*='flx'] > li {
		width: var(--third);
	}
	
	[class*="ato-sz"][class*='flx'][class*='-grd'] > li {
		width: calc(var(--third) - var(--grd-sp));
	}

}

/* 1024px Responsive */
@media screen and (max-width: 1024px) {

	[class*='flx'][class*="-blk-1024"][class*="-grd"] {
		width: var(--full) !important;
		left: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	[class*='flx'][class*="-blk-1024"][class*="-grd"] > li:not(#_) {
		max-width: none;
		width: var(--full);
		margin-left: 0;
		margin-right: 0;
	}
	
	[class*="ato-sz"][class*='flx'] > li {
		width: var(--half);
	}
	
	[class*="ato-sz"][class*='flx'][class*='-grd'] > li {
		width: calc(var(--half) - var(--grd-sp));
	}

	.cls-gp-1024 > *:first-child,
	.cls-gp-1024 > .cms-repeater-placeholder:first-child ~ *:nth-child(2) {
		margin-top: 0 !important;
	}
	
	.cls-gp-1024 > *:last-child,
	.cls-gp-1024 > .cms-repeater-placeholder ~ *:nth-last-child(2) {
		margin-bottom: 0 !important;
	}	
	
	.cls-gp-all-1024 > * {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

}

/* 800px Responsive */
@media screen and (max-width: 800px) {

	[class*='flx'][class*="-blk-800"][class*="-grd"],
	[class*='-sml'][class*='flx'][class*="-blk-800"][class*="-grd"] {
		width: var(--full) !important;
		left: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	[class*='flx'][class*="-blk-800"][class*="-grd"] > li:not(#_) {
		max-width: none;
		width: var(--full);
		margin-left: 0;
		margin-right: 0;
	}

	[class*="ato-sz"][class*="flx-"] > li:not(#_) {
		width: var(--half);
	}
	
	[class*="ato-sz"][class*="flx-"][class*='-grd'] > li:not(#_) {
		width: calc(var(--half) - var(--grd-sp));
	}	

	.cls-gp-800 > *:first-child,
	.cls-gp-800 > .cms-repeater-placeholder:first-child ~ *:nth-child(2) {
		margin-top: 0 !important;
	}
	
	.cls-gp-800 > *:last-child,
	.cls-gp-800 > .cms-repeater-placeholder ~ *:nth-last-child(2) {
		margin-bottom: 0 !important;
	}

}

/* 500px Responsive */
@media screen and (max-width: 500px) {

	[class*='flx'][class*="-blk-500"][class*="-grd"],
	[class*='-sml'][class*='flx'][class*="-blk-500"][class*="-grd"] {
		width: var(--full) !important;
		left: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	[class*='flx'][class*="-blk-500"][class*="-grd"] > li:not(#_) {
		max-width: none;
		width: var(--full);
		margin-left: 0;
		margin-right: 0;
	}

	.cls-gp-500 > *:first-child,
	.cls-gp-500 > .cms-repeater-placeholder:first-child ~ *:nth-child(2) {
		margin-top: 0 !important;
	}
	
	.cls-gp-500 > *:last-child,
	.cls-gp-500 > .cms-repeater-placeholder ~ *:nth-last-child(2) {
		margin-bottom: 0 !important;
	}	

}

/* 380px Responsive */
@media screen and (max-width: 380px) {

	[class*='flx'][class*="-blk-380"][class*="-grd"] {
		width: var(--full) !important;
		left: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	
	[class*='flx'][class*="-blk-380"][class*="-grd"] > li:not(#_) {
		max-width: none;
		width: var(--full);
		margin-left: 0;
		margin-right: 0;
	}

}