	
@import url('https://fonts.obormot.net?fonts=GaramondPremierPro,ProximaNova');

p {
	margin: 6px;
}

html {
	box-sizing: border-box;
}
*, *::before, *::after {
	box-sizing: inherit;
}

body {
	max-width: 1600px;
	position: relative;
	padding: 120px 0 120px 0;
	display: table;

	margin: 20px auto;
}
#contentColumn {
	float: left;
	width: 100%;
	margin-left: 250px;
	max-width: calc(100% - (250px + 200px));
	padding: 10px 10px calc(50px + 2 * 10px) 10px;
	background-color: transparent;
}
#contentColumn::before {
	content: "";
	position: absolute;
	height: calc(100% - (120px + 120px));
	width: calc(100% - (250px + 200px));
	top: 120px;
	left: 250px;
	z-index: 0;
}
#content {
	overflow: auto;
	position: relative;
	z-index: 1;
}
#contentHeader {
	overflow: auto;
	position: relative;
	z-index: 1;
	margin-bottom: 10px;
}
#contentFooter {
	overflow: hidden;
	position: absolute;
	bottom: calc(120px + 10px);
	width: calc(100% - (250px + 200px + 2 * 10px));
	height: 50px;
	z-index: 1;
}
#header {
	position: absolute;
	top: 0px;
	left: 0px;
	height: 120px;
	width: 100%;
	padding: 10px;
}
#footer {
	position: absolute;
	bottom: 0px;
	left: 0px;
	height: 120px;
	width: 100%;
	padding: 10px;
}
#headerTopSection {
	overflow: hidden;
	height: calc((100% - 10px)/2);
	margin-bottom: 10px;
}
#headerBottomSection {
	overflow: hidden;
	height: calc((100% - 10px)/2);
}
#headerLeft {
	float: left;
	width: calc(250px - 10px);
	height: 100%;
	margin-right: 10px;
}
#headerRight {
	float: right;
	width: calc(200px - 10px);
	height: 100%;
	margin-left: 10px;
}
#footerTopSection {
	overflow: hidden;
	height: calc((100% - 10px)/2);
	margin-bottom: 10px;
}
#footerBottomSection {
	overflow: hidden;
	height: calc((100% - 10px)/2);
}
#leftColumn {
	width: 250px;
	float: left;
	margin-left: calc(-1 * (100% - 200px));
	padding: 10px 10px calc(50px + 2 * 10px) 10px;
}
#leftColumn::before {
	content: "";
	position: absolute;
	left: 0px;
	top: 120px;
	bottom: 120px;
	width: 250px;
}
#rightColumn {
	width: 200px;
	float: left;
	padding: 10px 10px calc(50px + 2 * 10px) 10px;
}
#rightColumn::before {
	content: "";
	position: absolute;
	right: 0px;
	top: 120px;
	bottom: 120px;
	width: 200px;
	padding: 10px;
}
#leftColumnHeader {
	overflow: auto;
	position: relative;
	z-index: 1;
	margin-bottom: 10px;
}
#leftColumnContent {
	position: relative;
	z-index: 1;
	overflow: auto;
}
#leftColumnFooter {
	overflow: hidden;
	position: absolute;
	z-index: 1;
	bottom: calc(120px + 10px);
	width: calc(250px - 2 * 10px);
	height: 50px;
}
#rightColumnHeader {
	overflow: auto;
	position: relative;
	z-index: 1;
	margin-bottom: 10px;
}
#rightColumnContent {
	overflow: hidden;
	height: 100%;
	position: relative;
	z-index: 1;
}
#rightColumnFooter {
	overflow: hidden;
	position: absolute;
	bottom: calc(120px + 10px);
	width: calc(200px - 2 * 10px);
	height: 50px;
}
