*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
	background-color: #000;
	color:#ddd;
	font-family: Arial, sans-serif;
	font-size:20px;
	line-height:28px;
	margin: 0;
	padding:0;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

.clear {
	clear:both;
}

.float-left {
	float:left;
	margin:0 15px 15px 0;
	max-width:40%;
}

.hidden {
	display: none;
}

hr {
	border-bottom: 1px solid #666;
	border-top: none;
	margin:25px 0;
}

.spacer {
	clear:both;
	margin-bottom:40px;
}

#content-wrap p img,
#content-wrap a > img {
	max-width:100%;
	height:auto;
}

img.full-width {
	width:100%;
	height:auto;
}

img.right,
img.left {
	width:40%;
	height:auto;
}

img.right {
	float:right;
	margin:0 0 15px 15px;
}

img.left {
	float:left;
	margin:0 15px 15px 0;
}

img.clickable {
	cursor:pointer;
}

h1,h2,h3 {
	font-family: "Rye", serif;
	margin: 0 0 25px 0;
	line-height:1.2em;
	font-weight:400;
	color:#fff;
}

h1 {font-size: 1.7em;}
h2 {font-size: 1.3em;}
h3 {font-size: 1.1em;}

p.big {
	font-size: 1.2em;
	line-height:1.3em;
}

a, 
a:active, 
a:focus {
	color:#8cb3f5;
	text-decoration: none;
}
a:hover {
	color:#c5daff;
	text-decoration: underline;
}
a:focus {
	outline: thin dotted #666; 
	outline-offset: -2px;
}
a:visited {
	color:#918cf5;
}

#page {
	background-image:url('../../images/bg.jpg');
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;
	background-attachment:fixed;
	position:relative;
	padding: 15px;
	min-height:900px;
}

#header {
	position: sticky;
	width:auto;
	height:60px;
	top:0;
	left:0;
	margin: -15px -15px 0 -15px;
	padding:15px 25px;
	z-index: 2;
	background-color: rgba(0,0,0,0.8);
}

#header.logo-hidden {
	border-bottom: 1px solid #666;
}

#hdr-contact {
	line-height:1;
}

#hdr-text-logo {
	display:none;
	position:absolute;
	right:25px;
	top:15px;
	margin:0;
	margin-left:10px;
	text-decoration:none;
}

#hdr-text-logo,
#footer-text-logo {
	font-family: "Rye", serif;
	font-weight: 400;
	font-size:30px;
	line-height:30px;
	color:#fff;
}

#footer-text-logo {
	font-size:22px;
}

.logo-hidden #hdr-text-logo {
	display:block;
}

#email-link {
	position:absolute;
	left:25px;
	top:18px;
	display:inline-block;
	height:30px;
	color:#ddd;
	text-decoration:none;
}

#email-link img {
	height:100%;
	width:auto;
	vertical-align:middle;
	margin-right:5px;
	margin-top:-3px;
}

#logo {
	position:absolute;
	top:20px;
	left:70%;
	width:25%;
}

#logo img {
	color:#fff;
	width:100%;
	height:auto;
}

#logo span {
	display:block;
	width:100%;
	text-align:center;
	font-weight:bold;
	margin-top:-20px;
	padding-left:3%;
	font-family: "Rye", serif;
	font-weight: 400;
	font-size:28px;
	line-height:28px;
}

#email-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M2 4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2H2zm0 2h20v.01L12 13 2 6.01V6zm0 2.03L8.5 12 2 15.97V8.03zM15.5 12L22 8.03v7.94L15.5 12z"/></svg>');
    background-size: cover;
}

#content-wrap {
	width: 100%;
	padding:30% 0 15px 0;
	text-align: center;
}

#content {
	position:relative;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}

.content-block {
	padding:50px 25px;
	margin:0 0 50px 0;
	background-color:rgba(0, 0, 0, 0.6);
	border-radius: 20px;
}

.content-block > *:last-child {
	margin-bottom:0;
}

.video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	max-width: 100%;
	background: #000;
	margin:0 0 25px 0;
}

.video.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

#bio-section img {
	margin-bottom:25px;
}

img.bio-image {
	width:25%;
}

#footer {
	text-align:center;
	padding:25px;
	margin:0 -15px -15px -15px;
	background: rgba(0,0,0,0.5);
	box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.8), inset 0 0 100px rgba(0, 0, 0, 0.8), inset 0 0 200px rgba(0, 0, 0, 0.8);
}

/* swiper stuff */

.swiper-pagination {
	bottom:-5px !important;
}

.swiper-pagination-bullet {
	width:15px;
	height:15px;
	background:#ccc;
	opacity: 0.5;
}
.swiper-pagination-bullet-active {
	background:#8ea1ff;
	opacity: 1;
}

@media all and (max-width:2025px) {
	#content-wrap {
		padding-top:50%;
	}
}

@media all and (max-width:1800px) {
	#logo span {
		font-size:22px;
		line-height:22px;
	}
}


@media all and (max-width:1350px) {
	#logo span {
		font-size:18px;
		line-height:18px;
	}
}

@media all and (max-width:1200px) {
	#logo span {
		font-size:16px;
		line-height:16px;
	}
}

@media all and (max-width:1000px) {
	
	#hdr-text-logo {
		font-size:24px;
		line-height:24px;
		top: 18px;
	}

	#logo {
		width:30%;
		left:67%;
	}

	.content-block {
		padding:25px;
	}

}

@media all and (max-width:725px) {
	#hdr-text-logo {
		font-size:23px;
		line-height:23px;
	}
}

@media all and (max-width:690px) {
	#hdr-text-logo {
		font-size:22px;
		line-height:22px;
	}
}

@media all and (max-width:675px) {

	#hdr-text-logo span {
		display:none;
	}
	
	.content-block {
		padding:15px;
	}

	img.right,
	img.left {
		display:block;
		float:none;
		margin:0 0 15px 0;
		width:100%;
	}

}

@media all and (max-width:600px) {

	h1 {font-size: 1.4em;}
	h2 {font-size: 1.2em;}
	h3 {font-size: 1.1em;}

	p.big {
		font-size: 1.1em;
	}

	#logo {
		background-color: rgba(0, 0, 0, 0.7);
		border-radius: 10px;
		padding: 10px;
		top:0;
		left:auto;
		right:10px;
		width:40%;
	}
}

@media all and (max-width:500px) {

	#page {
		background-position: right top;
		background-size: 175% auto;
	}

	#hdr-text-logo {
		left:15px;
	}

	#logo {
		top: 15px;
		right: 15px;
		width: 200px;
	}

	#logo span {
		font-size:20px;
		line-height:20px;
	}

	.logo-hidden #email-link {
		left:auto;
		right:25px;
	}
	
	.logo-hidden #email-link span {
		display:none;
	}


	#content-wrap {
		padding:300px 0 100px 0;
	}

}

@media all and (max-width:385px) {

	#email-link span {
		display:none;
	}

}

@media all and (max-width:350px) {

	#page {
        background-position: center top;
	}

	#email-link {
		right:25px;
	}

	#header {
		border-bottom: 1px solid #999;
	}

	.content-block {
		margin:0 -10px 30px -10px;
	}

}