html {
	overflow-y: scroll;
}

body, th, td, input, select, textarea {
	font-family: Alegreya, serif;
}

h1, h2, h3, h4, h5 {
	font-family: 'Caveat', cursive;
	font-weight: normal;
	position: relative;
}

h1 { 
	font-weight: bold;
}

.bg-canvas {
	position: absolute;
	z-index: -1;
	width: 0;
	height: 0;
}

body {
	display: flex;
	flex-direction: column;
}

.header,
.footer { 
	margin: 0 auto 0 auto;
}

.header {
	padding-left: 36px;
}

.page {
	margin: 0 auto 0 auto;
}

.header > *,
.footer > * {
}

.page > * {
}

h1 a.social-jump {
	position: absolute;
	top: 6px;
	right: 36px;
	font-size: 32px; 
}

/*
	HOME PAGE ========================================================================================================================
*/
.tHDHome h1 {
	font-size: 48px;
}

.tHDHome h1 a.social-jump {
	font-size: 48px; 
}

/*
	CONTROLS ========================================================================================================================
*/
.carousel-container {
	position: relative;
	display: table-caption;
}

.carousel {
	display: flex;
	flex-direction: row;
	align-items: center;
	position: relative;
}

.carousel .panel img {
	max-height: 82vh;
  	max-width: 85vw;
}

.carousel-controls {
	background: #eaeaea;
	cursor: pointer;
	padding: 10px 0 5px 0;
}

.carousel-controls i {
	font-size: 36px;
}

.carousel-controls:hover {
	background: #aaaaaa;
}

.carousel h2 {
	position: relative;
}

.carousel h2 .sharing {
	position: absolute;
	top: 0;
	right: 0;
}

.carousel-mobile-footer {
	display: none;	
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.carousel-mobile-footer .carousel-controls {
	padding: 5px 10px 5px 10px;
}

.carousel-mobile-footer .carousel-controls:first-child {
	margin-right: 5px;
}

.carousel-waiting,
.empty-carousel {
	font-family: 'Caveat', cursive;
  font-weight: normal;
	font-size: 24px;
}

.carousel-controls.disabled {
	background: #f5f5f5;
	color: #ffffff;
	cursor: default;
}

.carousel-controls.disabled:hover {
	background: #f5f5f5;
}

.carousel-primary-panel-text {
	position: absolute;
  width: 200px;
  top: 40px;
  right: -220px;
	text-align: left;
}


/*	
	========================================================================================================================
	========================================================================================================================
	========================================================================================================================	
*/
@media screen and (max-width:1500px) {
	.carousel-primary-panel-text {
		position: relative;
		width: auto;
		top: inherit;
		right: inherit;
		margin: 36px;
	}
}

@media screen and (max-width:1080px) {
	.tHDHome h1 {
		font-size: 32px;
		margin-bottom: 0;
	}
	
	.carousel h2 .sharing {
		top: -40px;
	}
}

@media screen and (max-width:600px) {
	.carousel .carousel-controls { 
		display: none;
	}
	
	.carousel-mobile-footer {
		display: flex;
	}
	
	.carousel-primary-panel-text {
		padding-left: 0;
		padding-right: 0;
	}
	
	h2 {
		font-size: 20px;
	}
	
	.header {
		padding-left: 0;
		padding-right: 0;
	}
}

@media screen and (max-width:480px) {
	body {
		padding: 5px;
	}
		
	.carousel-container {
		position: relative;
		display: inherit;
	}

	.carousel .panel img {
		max-width: 100%;
	}
}
	
@media screen and (max-height:240px) {
	body, html {
		height: auto;
	}
	
	.carousel .panel img {
		max-width: 100%;
		max-height: none;
	}
}