.col {
	padding: 1em 0;
}

.col.centered {
	align-self: center;
}

.col:empty {
   padding: 0;
}

.col:last-child > :last-child,.col:last-child > :last-child > img {
	margin-bottom: 0;
}

.col.tight {
	padding: 0;
}

.col.tight > h2:first-child,.col.tight > h3:first-child {
	margin-top: 0.5rem;
}

.col.tight > h4:first-child,.col.tight > h5:first-child {
	margin: 0.5rem 0;
}

.col.tight > p:first-child,.col.tight > ul:first-child {
	margin-top: 0;
}

.col.tight > p:only-child,.col.tight > ul:only-child {
	margin: 0;
}

.col > div.flex-grid-25-75,.col > div.flex-grid-34-66,.flex-grid-55-45,.col > div.flex-grid-golden-ratio,.col > div.flex-grid-halves,.col > div.flex-grid-quarters,.col > div.flex-grid-thirds {
	padding: 0;
}

.col:first-child,.col.wide {
	padding-top: 0;
}

.col.top-col > div,.content-container div.col.top-col > div {
	padding-bottom: 1.5rem;
}

.col.wide > .flex-grid-halves {
	padding: 0;
}

.content-container .flex-grid-25-75,.content-container .flex-grid-thirds.tryptic {
	max-width: 1000px;
}

.content-container .flex-grid-25-75 > .col:last-child > :last-child,.content-container .flex-grid-thirds.tryptic > .col:last-child > :last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.content-container .flex-grid-25-75 > .col > p:first-child,.content-container .flex-grid-thirds.tryptic > .col > p:first-child {
	margin-top: 0;
}

.flex-grid-25-75,.flex-grid-34-66,.flex-grid-55-45,.flex-grid-golden-ratio,.flex-grid-halves,.flex-grid-quarters,.flex-grid-thirds {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex-grid-25-75.content-container,.flex-grid-34-66.content-container,.flex-grid-55-45.content-container,.flex-grid-golden-ratio.content-container,.flex-grid-halves.content-container,.flex-grid-quarters.content-container,.flex-grid-thirds.content-container {
	padding: 0;
}

.flex-grid-25-75 > .col,.flex-grid-34-66 > .col,.flex-grid-55-45 > .col,.flex-grid-golden-ratio > .col,.flex-grid-halves > .col,.flex-grid-quarters > .col,.flex-grid-sidebar > .col,.flex-grid-thirds > .col {
	box-sizing: border-box;
	width: 100%;
}

.flex-grid-25-75 > .col.tight,.flex-grid-34-66 > .col.tight,.flex-grid-55-45 > .col.tight,.flex-grid-golden-ratio > .col.tight,.flex-grid-halves > .col.tight,.flex-grid-quarters > .col.tight,.flex-grid-sidebar > .col.tight,.flex-grid-thirds > .col.tight {
	padding-right: 0;
	padding-left: 0;
}

.flex-grid-25-75 > h2,.flex-grid-34-66 > h2,.flex-grid-55-45 > h2,.flex-grid-golden-ratio > h2,.flex-grid-halves > h2,.flex-grid-quarters > h2,.flex-grid-sidebar > h2,.flex-grid-thirds > h2,
.flex-grid-25-75 > h3,.flex-grid-34-66 > h3,.flex-grid-55-45 > h3,.flex-grid-golden-ratio > h3,.flex-grid-halves > h3,.flex-grid-quarters > h3,.flex-grid-sidebar > h3,.flex-grid-thirds > h3 {
	width: 100%;
}


.flex-grid-golden-ratio.content-container > .col:first-child,.flex-grid-halves.content-container > .col:first-child,.flex-grid-quarters.content-container > .col:first-child,.flex-grid-sidebar.content-container > .col:first-child,.flex-grid-thirds.content-container > .col:first-child {
	margin-top: 0;
}

.flex-grid-golden-ratio.content-container > .col > div,.flex-grid-halves.content-container > .col > div,.flex-grid-quarters.content-container > .col > div,.flex-grid-sidebar.content-container > .col > div,.flex-grid-thirds.content-container > .col > div {
	padding: 0;
}

.flex-grid-sidebar {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex-grid-sidebar > .col.narrow {
	box-sizing: border-box;
	width: 100%;
	padding: 1.75rem 1.75rem 0;
}

.flex-grid-sidebar > .col.wide {
	box-sizing: border-box;
	width: 100%;
	padding: 0 1.75rem;	
}

.flex-grid-sidebar > .col.wide .full-width {
	width: calc(100% + 3.5rem);
	margin: 0 -1.75rem;
}

.flex-grid-sidebar div.col.tight:nth-child(1) {
	margin-bottom: 0;
}

.flex-grid-sidebar div.col.tight:nth-child(2) {
	margin-top: 0;	
}

.flex-grid-sidebar.left-nav {
	justify-content: center;
}

.flex-grid-sidebar.left-nav > .col.wide > :first-child,.flex-grid-sidebar > .content-container > :first-child,.full-width > h1 + .content-container > :first-child {
	margin-top: 2.5rem;
}

.flex-grid-sidebar.left-nav > .col.wide > h2:first-child,.flex-grid-sidebar > .content-container > h2:first-child,.full-width > h1 + .content-container > h2:first-child,
.flex-grid-sidebar.left-nav > .col.wide > h3:first-child,.flex-grid-sidebar > .content-container > h3:first-child,.full-width > h1 + .content-container > h3:first-child {
	margin-top: 2rem;
}

.flex-grid-sidebar.left-nav > #left-nav.col.narrow {
	display: none;
	padding: 0;
}

.flex-grid-sidebar div.col.tight {
	padding: 0;
}

.flex-grid-thirds.tryptic {
	flex-flow: row wrap;
	justify-content: space-around;
	max-width: 1150px;
}

.flex-grid-thirds.tryptic > .col {
	width: 100%;
	min-width: 150px;
	padding: 1.5rem 0;
	text-align: center;
}

.flex-grid-thirds.tryptic > .col > p {
	padding: 0 0.25rem;
}

.flex-grid-thirds.tryptic > .col img {
	margin: 0 auto 0.5rem;
}

main > .col {
	padding: 0;
}

main > div.golden-ratio-container {
	width: 100%;
	box-sizing: border-box;
	padding: 0 1.75rem;
}

@media (min-width: 450px) {
	.col.top-col > div > p:first-child {
		margin-top: 0.25rem;
	}
	
	div.golden-ratio-container {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	
	div.golden-ratio-container .col > div {
		box-sizing: border-box;
		width: 87.5%;
		margin: 0 auto;
	}
	
	.flex-grid-25-75 > .col.tight,.flex-grid-34-66 > .col.tight,.flex-grid-55-45 > .col.tight,.flex-grid-golden-ratio > .col.tight,.flex-grid-halves > .col.tight,.flex-grid-quarters > .col.tight,.flex-grid-sidebar > .col.tight,.flex-grid-thirds > .col.tight {
	padding: 0;
}
	
	.flex-grid-sidebar > .col.wide .full-width {
		width: auto;
		margin: 0;
	}
	
	.flex-grid-thirds.tryptic > .col > p {
		padding: 0 1rem;
	}
}

@media (min-width: 650px) {
	.flex-grid-quarters > .col,.flex-grid-thirds > .col {
		box-sizing: border-box;
    	width: 45%;
		padding: 1.5em 1rem;
	}
	
	.flex-grid-quarters.full > .col,.flex-grid-thirds.full > .col {
		width: 50%;
	}
	
	.flex-grid-sidebar.left-nav > .col.wide > :first-child,.flex-grid-sidebar > .content-container > :first-child,.full-width > h1 + .content-container > :first-child {
		margin-top: 2.75rem;
	}
	
	.flex-grid-thirds.tryptic > .col {
		width: 33.3%;
		padding: 1rem 1.25rem;
	}
	
	.flex-grid-thirds.tryptic > .col img {
		margin: 0 auto 0.75rem;
	}
}

@media (min-width: 800px) {
	div.golden-ratio-container {
		width: 100%;
		max-width: 1250px;
		margin: 0 auto;
	}
	
	div.golden-ratio-container .col > div {
		width: 87.5%;
	}
	
	.flex-grid-25-75 + h2,.flex-grid-34-66 + h2,.flex-grid-55-45 + h2,.flex-grid-golden-ratio + h2,.flex-grid-halves + h2,.flex-grid-quarters + h2,.flex-grid-sidebar + h2,.flex-grid-thirds + h2,
	.flex-grid-25-75 + h3,.flex-grid-34-66 + h3,.flex-grid-55-45 + h3,.flex-grid-golden-ratio + h3,.flex-grid-halves + h3,.flex-grid-quarters + h3,.flex-grid-sidebar + h3,.flex-grid-thirds + h3 {
		margin-top: 2rem;
	}
	
	.flex-grid-halves > .col.narrow {
		min-width: 350px;
	}
	
	.flex-grid-halves.small > .col {
		width: 47.5%;
		min-width: 0;
		padding: 0;
	}
	
	.flex-grid-sidebar > .col.narrow,.flex-grid-sidebar.left-nav > #left-nav.col.narrow {
		display: block;
		width: 250px;
		padding: 2rem 1.25rem 0 1.75rem;
	}
	
	.flex-grid-sidebar > .col.narrow.third {
		width: 33.33%
	}
	
	.flex-grid-sidebar > .col.wide {
		width: calc(100% - 300px);
		max-width: 950px;
		padding: 0 1.75rem 0 1.25rem;
	}
	
	.flex-grid-sidebar.left-nav > .col.wide {
		width: calc(100% - 250px);
		max-width: 1000px;
	}
	
	.flex-grid-sidebar.left-nav > .col.wide > h2:first-child,.flex-grid-sidebar > .content-container > h2:first-child,.full-width > h1 + .content-container > h2:first-child,
	.flex-grid-sidebar.left-nav > .col.wide > h3:first-child,.flex-grid-sidebar > .content-container > h3:first-child,.full-width > h1 + .content-container > h3:first-child {
		margin-top: 2.75rem;
	}
	
	main > div.golden-ratio-container {
		padding: 0;
	}
}

@media (min-width: 1000px) {
	.col {
		padding: 0;
	}
	
	.col.narrow > img {
		max-width: 95%;
	}
	
	.flex-grid-25-75 > .col.padding.narrow,.flex-grid-34-66 > .col.padding.narrow,.flex-grid-55-45 > .col.padding.narrow,.flex-grid-golden-ratio > .col.padding.narrow,.flex-grid-halves > .col.padding,.flex-grid-quarters > .col.padding,.flex-grid-sidebar > .col.padding.narrow,.flex-grid-thirds > .col.padding.narrow {
		padding: 5vmin;
	}
	
	.flex-grid-25-75 > .col.padding.wide,.flex-grid-34-66 > .col.padding.wide,.flex-grid-55-45 > .col.padding.wide,.flex-grid-golden-ratio > .col.padding.wide,.flex-grid-sidebar > .col.padding.wide,.flex-grid-thirds > .col.padding.wide {
		padding: 5vmin;
	}
	
	.flex-grid-25-75 > .col.padding-left.narrow,.flex-grid-34-66 > .col.padding-left.narrow,.flex-grid-55-45 > .col.padding-left.narrow,.flex-grid-golden-ratio > .col.padding-left.narrow,.flex-grid-sidebar > .col.padding-left.narrow,.flex-grid-thirds > .col.padding-left.narrow {
		padding-left: 5vmin;
	}
	
	.flex-grid-25-75 > .col.padding-left.wide,.flex-grid-34-66 > .col.padding-left.wide,.flex-grid-55-45 > .col.padding-left.wide,.flex-grid-golden-ratio > .col.padding-left.wide,.flex-grid-sidebar > .col.padding-left.wide,.flex-grid-thirds > .col.padding-left.wide {
		padding-left: 5vmin;
	}
	
	.flex-grid-25-75 > .col.padding-left-right.narrow,.flex-grid-34-66 > .col.padding-left-right.narrow,.flex-grid-55-45 > .col.padding-left-right.narrow,flex-grid-golden-ratio.padding-left.wide > .col.padding-left-right.narrow,.flex-grid-sidebar > .col.padding-left-right.narrow,.flex-grid-thirds > .col.padding-left-right.narrow {
		padding: 0 5vmin;
	}
	
	.flex-grid-25-75 > .col.padding-left-right.wide,.flex-grid-34-66 > .col.padding-left-right.wide,.flex-grid-55-45 > .col.padding-left-right.wide,.flex-grid-golden-ratio > .col.padding-left-right.wide,.flex-grid-sidebar > .col.padding-left-right.wide,.flex-grid-thirds > .col.padding-left-right.wide {
		padding: 0 5vmin;
	}
	
	.flex-grid-25-75 > .col.padding-right.narrow,.flex-grid-34-66 > .col.padding-right.narrow,.flex-grid-55-45 > .col.padding-right.narrow,.flex-grid-golden-ratio > .col.padding-right.narrow,.flex-grid-sidebar > .col.padding-right.narrow,.flex-grid-thirds > .col.padding-right.narrow {
		padding-right: 5vmin;
	}
	
	.flex-grid-25-75 > .col.padding-right.wide,.flex-grid-34-66 > .col.padding-right.wide,.flex-grid-55-45 > .col.padding-right.wide,.flex-grid-golden-ratio > .col.padding-right.wide,.flex-grid-sidebar > .col.padding-right.wide,.flex-grid-thirds > .col.padding-right.wide {
		padding-right: 5vmin;
	}
	
	.col.top-col > div,.content-container .col.top-col > div {
		padding: 2.5rem 1.75rem 1.5rem;
	}
	
	.content-container .flex-grid-25-75 > .col > p:first-child,.content-container .flex-grid-thirds.tryptic > .col > p:first-child {
		margin-top: 1rem;
	}
	
	.flex-grid-25-75 > .col.narrow {
		width: 24%;
	}
	
	.flex-grid-25-75 > .col.wide {
		width: 75%;
	}
	
	.flex-grid-34-66 > .col.narrow {
		width: 33%;
	}
	
	.flex-grid-34-66 > .col.wide {
		width: 66%;
	}
	
	.flex-grid-55-45 > .col.narrow {
		width: 44%;
	}
	
	.flex-grid-55-45 > .col.wide {
		width: 55%;
	}
	
	.flex-grid-golden-ratio > .col.narrow {
		width: 38.2%;
	}
	
	.flex-grid-golden-ratio > .col.wide {
		width: 61.8%;
	}
	
	.flex-grid-golden-ratio > .col.wide,.flex-grid-golden-ratio > .col.wide.tight {
		padding: 0 2rem 0 0;
	}
	
	.flex-grid-golden-ratio > .col.wide.right,.flex-grid-golden-ratio > .col.wide.right.tight {
		padding: 0 0 0 2rem;
	}
	
	.flex-grid-halves > .col,.flex-grid-sidebar > .col.wide .flex-grid-halves .col.full-width {
		width: 47.5%;
	}
	
	.flex-grid-thirds > .col {
		width: 30%;
	}
	
	.flex-grid-thirds.full > .col {
		width: 33.3%;
	}
	
	.flex-grid-halves > .col {
		min-width: 0;
	}
	
	.flex-grid-quarters > .col {
		width: 20%;
	}
	
	.flex-grid-quarters.full > .col {
		width: 25%;
	}
}

@media (min-width: 1150px) {
	div.golden-ratio-container {
		width: 87.5%;
	}
	
	div.golden-ratio-container .col > div {
		margin: 0;
	}
}

@media (min-width: 1350px) {
	.flex-grid-sidebar > .col.narrow,.flex-grid-sidebar.left-nav > #left-nav.col.narrow {
		padding-left: 0;
	}
	
	.flex-grid-thirds.tryptic > .col {
		padding: 1.66rem 1rem;
	}
}