@font-face {
	font-family: "Century School";
	src: url("../fonts/CenturySchoolbook.ttf") format("truetype");
}

@font-face {
	font-family: "Century School";
	src: url("../fonts/CenturySchoolbook-italic.ttf") format("truetype");
	font-style: italic;
}

@font-face {
	font-family: "Century School Light";
	src: url("../fonts/CenturySchoolbook-light-italic.ttf") format("truetype");
}

* {
	margin:0;
	padding: 0;

	scrollbar-color: black;
	scrollbar-width: thin;
}

html {
	font-family: "Century School", "Times New Roman", Times, serif;
}

body {
	transition:1s;
}

a {
	color:black;
	text-decoration: none;
}

h1 {
	text-align: center;
	text-transform: uppercase;
	font-weight: normal;
	font-size: 14pt;
	line-height: 44px;
}

p {
	font-size: 16pt;
	line-height: 19.5pt;
	padding-top: 15px;
	padding-bottom: 15px;
}

img {
	width:100%;
}


/*scrollbars*/
::-webkit-scrollbar {
    width: 1px;
}

::-webkit-scrollbar-thumb {
    background: black;
}

section.overlay {
	position: fixed;
	width:100%;
	height:100%;
	background-color: white;
	opacity: 0.6;
	pointer-events:none;
	transition:1s;
}

main#home section.overlay {
	opacity: 1;
}

/*THEME NAVIGATION*/

div.mobile-menu {
	display: none;
}

nav .theme-nav {
	z-index: 3;
	position: fixed;
	height:40px;
	width:calc(75% - 60px);
	left:30px;
	bottom:0px;
	border-top:1px solid black;
	transition:0.7s;
}

nav.basic .theme-nav#current {
	bottom:41px;
}

.theme-nav h1, .theme-nav .theme-item {
	line-height: 44px;
	float: left;
}

.theme-nav .theme-item {
	font-size: 16pt;
	width:250px;
}

.theme-nav#current .theme-item:first-of-type {
	padding-left: 50px;
}

.theme-nav#past .theme-item:first-of-type {
	padding-left: 53px;
}

nav a[aria-current="page"], footer li a em {
	font-style: italic;
	pointer-events: none;
}

.theme-nav .theme-item a:hover, footer li a:hover {
	font-style: italic;
}


nav.current .theme-nav#current {
	bottom: initial;
	top:0px;
	border-top: 0;
	border-bottom:1px solid black;
}

nav.past .theme-nav {
	bottom:initial;
	top:0;
	border-top: 0;
	border-bottom:1px solid black;
}

nav.past .theme-nav#past {
	top:41px;
}

div#home {
	position: fixed;
	line-height: 40px;
	left:10px;
	z-index: 4;
}

/*footer*/

footer {
	height:101px;
	border-top:1px solid black;
	width:calc(25% - 30px);
	position:fixed;
	bottom:0;
	right:30px;
}

footer li {
	font-size:18pt;
	list-style: none;
	line-height: 28px;
}

footer li:nth-of-type(2) {
	padding-top: 12px;
}

footer li a:hover {
	font-style: italic;
}

footer li#home_link {
	display: none;
}

/*CONTENT*/

main .content, main .events {
	display: block;
	float: left;
	position: relative;
	height: calc(100vh - 82px);
	overflow-y: scroll;
	overflow-x: hidden;
}

main .events {
	height: calc(100vh - 102px);
	overflow-y: hidden;
}

.content {
	width:calc(75% - 15px);
	margin-right:15px;
}

.content .column {
	width:calc(50% - 37px);
	float: left;
}

.content .column#column-left {
	padding-left:30px;
	padding-right:15px;
}

.content .column#column-right {
	padding-left:15px;
}

.content img {
	padding-top:10px;
	padding-bottom:10px;
	width: 90%;
	margin-left: 50%;
	transform: translateX(-50%);
}

.content a {
	text-decoration: underline;
}

.content h1 {
	line-height: normal;
	padding-top:18px;
	padding-bottom:18px;
}

h2 {
	font-weight: normal;
	font-size: 11pt;
	line-height:18px;
}

/*on current theme page*/

nav.current + main .content {
	margin-top:41px;
}

/*on page theme pages*/

nav.past + main .content {
	margin-top:82px;
}

/*EVENT COLUMN*/

.events {
	width:25%;
}

.event-column {
	width:calc(100% - 15px);
	margin-top:-4px;
	height:calc(100vh - 142px);
	overflow-y: scroll;
}

.event-column > * {
	margin-right:14px;
}

.events h1 {
	width: calc(100% - 30px);
}

.event-column h1 {
	width:100%;
	font-size:11pt;
}

.event-column h2 {
	text-align:center;
	border-bottom:1px solid black;
	margin-top:15px;
	margin-bottom:15px;
}

.events p {
	font-size: 11pt;
	padding-top: 10px;
	padding-bottom: 10px;
	line-height:17px;
}

.events a {
	font-style: italic;
}

span.separation {
	display: block;
	margin-top:15px;
	padding-bottom:15px;
    border-top: 1px solid black;
}

span.spacer {
    width: calc(100% - 30px);
    position: absolute;
    border-top: 1px solid black;
    margin-top:-4px;
}

/*HOME PAGE*/

main#home .content .column#column-left figure:first-of-type img {
	width:121px;
	float:left;
	padding:15px 10px 0px 0px;
	margin-left:auto;
	transform:initial;
}

/*SINGLE PAGE*/

.content .column#column-single {
	width:calc(100% - 44px);
	padding-left: 30px;
}

.content .column#column-single img {
	width:100%;
}
