
@font-face {
	font-family: 'Leodis Requiem Logo Font';
	src: url("/static/logoFont.ttf") format("truetype"),
	     url("/static/logoFont.woff") format("woff");
}

@font-face {
	font-family: 'Leodis Requiem Heading Font';
	src: 
	/* url("/static/headingFont.ttf") format("truetype"), */
	     url("/static/headingFont.woff") format("woff");
}

* {
	margin: 0;
	padding: 0;
	font-family: sans-serif;
}

html {
	height: 100%;	
	overflow-x: hidden;
	overflow-y: scroll;
}

body {
	height: calc(100vh - 80px);
	z-index: -100;
	background-image: url('/static/siteBackgroundShading'),
					url('/static/siteBackground');
	background-repeat: no-repeat, repeat;
	background-attachment: fixed, fixed;
	background-position: 0 0, 0 0;
	background-size:  100% 100%, 1000px 1000px;
	margin-top: 80px;
}

.clear {
	clear: both;
}

h1 {
    color: #fff;
	text-align: center;
	font-size: 45px;
	font-family: 'Leodis Requiem Heading Font';
	font-weight: normal;
}

label {
	display: block;
	width: 80%;
	margin: 0px auto 5px auto;
	color: #999;
}

input[type="text"],
input[type="password"],
input[type="file"],
textarea {
	display: block;
	width: calc(80% - 20px);
	margin: 0px auto 20px auto;
	font-size: 20px;
	line-height: 20px;
	padding: 10px 10px;
	border: 1px solid #666;
	background-color: rgba(0,0,0,0.2);
	color: #ddd;
	-webkit-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	-moz-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
}


input:disabled,
textarea:disabled {
	background-color: rgba(180, 180, 180, 0.2);
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="file"]:focus,
textarea:focus {
	border-color: #600;
    outline: none !important;
}

textarea {
	color: #ddd;
	resize: none;
	min-height: 260px;
	-webkit-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	-moz-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
}

input.error,
textarea.error {
	background-color: rgba(128, 0, 0, 0.25);
}





input[type="file"] {
	padding: 0;
	padding-right: 10px;
}

input[type="file"]::-ms-browse {
	width: 130px;
	height: 45px;
	margin-right: 10px;
	font-size: 20px;
	line-height: 20px;
	font-weight: bold;
	background-color: #555;
	color: #ddd;
	border: 1px solid #666;
	-webkit-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	-moz-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
  }
  
  input[type="file"]::-webkit-file-upload-button {
	width: 130px;
	height: 45px;
	margin-right: 10px;
	font-size: 20px;
	line-height: 20px;
	font-weight: bold;
	background-color: #555;
	color: #ddd;
	border: 1px solid #666;
	-webkit-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	-moz-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
  }
  
  input[type="file"]::file-selector-button {
	width: 130px;
	height: 45px;
	margin-right: 10px;
	font-size: 20px;
	line-height: 20px;
	font-weight: bold;
	background-color: #555;
	color: #ddd;
	border: 1px solid #666;
	-webkit-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	-moz-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
  }
  
  input[type="file"]::-ms-browse:hover {
	outline: none;
	cursor: pointer;
	background-color: #600;
	border: 1px solid #600;
  }
  
  input[type="file"]::-webkit-file-upload-button:hover {
	outline: none;
	cursor: pointer;
	background-color: #600;
	border: 1px solid #600;
  }
  
  input[type="file"]::file-selector-button:hover {
	outline: none;
	cursor: pointer;
	background-color: #600;
	border: 1px solid #600;
  }








input[type="checkbox"]{
    -moz-appearance: none;
    height: 0;
    width: 0;
    margin-right: 45px;
}

input[type="checkbox"]:hover,
input[type="checkbox"]:focus {
    border: none;
    outline: none;
}

input[type="checkbox"]:before {
    content: " ";
    display: block;
    width: 20px;
    height: 20px;
    padding-left: 15px;
    padding-right: 9px;
    padding-top: 13px;
    padding-bottom: 11px;
	font-size: 20px;
    color: #ddd;
	line-height: 20px;
	font-weight: bold;
	border: 1px solid #666;
	-webkit-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	-moz-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
}

input[type="checkbox"]:checked:before{
    content: "✓";
}

input[type="checkbox"]:focus:before {
	outline: none;
	cursor: pointer;
	border: 1px solid #600;
}

input[type="submit"] {
	width: 100px;
	height: 50px;
	font-size: 20px;
	line-height: 20px;
	font-weight: bold;
	background-color: #555;
	color: #ddd;
	border: 1px solid #666;
	-webkit-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	-moz-box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
	box-shadow: inset 0px 0px 15px 0px rgba(0,0,0,1);
}

input[type="submit"]:hover,
input[type="submit"]:focus {
	outline: none;
	cursor: pointer;
	background-color: #600;
	border: 1px solid #600;
}

button:active {
	background-color: #400;
}






.content-box {
	max-width: 1000px;
    padding-top: 20px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    margin: 0 auto;
}

.content-box-main {
	min-height: calc(100% - 100px);
}

.content-box-border-and-shadow {
	width: 100%;
    margin: 0 auto;
    border: 3px solid #222;
    -webkit-box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
    -moz-box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
    box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
}

.content-box-background {
	padding: 10px;
	color: #aaa;
	font-size: 18px;
    -webkit-box-shadow: inset 0px 0px 50px 5px rgba(0,0,0,1);
    -moz-box-shadow: inset 0px 0px 50px 5px rgba(0,0,0,1);
    box-shadow: inset 0px 0px 50px 5px rgba(0,0,0,1);
    background-color: #252525;
    background-image: url('/static/contentBackground');
    background-repeat: repeat;
    background-attachment: scroll;
    background-position: 0 0;
    background-size: auto;
}

.content-box-background.content-box-watermark {
    background-image: url('/static/contentBackground'),
					  url('/static/watermark');
    background-repeat: repeat, no-repeat;
    background-attachment: scroll, scroll;
    background-position: 0 0, 50% 100px;
    background-size: auto, 30%;
}

.content-box p {
	color: #aaa;
	font-size: 18px;
	margin-bottom: 15px;
}

.content-box a,
.content-box a:link,
.content-box a:visited,
.content-box a:hover,
.content-box a:active {
	color: #ccc;
	font-weight: bold;
}

.content-box-main.content-box {
	display: flex;
}

.content-box-main .content-box-border-and-shadow {
	display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.content-box-main .content-box-background {
    flex-grow: 1;
}



.error-box,
div.error-box,
p.error-box {
	max-width: calc(80% - 20px);
	min-width: calc(80% - 20px);
	margin: 10px auto;
	padding: 20px 10px;
	color: #fcc;
	text-align: center;
	border: #800000 1px solid;
	background-color: rgba(128, 0, 0, 0.25);
}

.error-box ul {
	text-align: left;
    margin-left: 30px;
}

.notice-box,
div.notice-box,
p.notice-box {
	max-width: calc(80% - 20px);
	min-width: calc(80% - 20px);
	margin: 10px auto;
	padding: 20px 10px;
	border: #000080 1px solid;
	background-color: rgba(0, 0, 128, 0.25);
}

.notice-box,
div.notice-box,
p.notice-box,
.notice-box p {
	color: #ccf;
	text-align: center;
}



footer {
	font-family: sans-serif;
	font-size: 12px;
	color: #888;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 10px;
}

header {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
}

header a,
header a:link,
header a:visited,
header a:hover,
header a:active {
	display: block;
	font-family: 'Leodis Requiem Heading Font';
	text-decoration: none;
	color: #fff;
	cursor: pointer;
}

#logo-container {
	background-color: #000;
	top: 0;
	z-index: 101;
	position: fixed;
    border-bottom: 1px solid #333;
}

#logo,
#logo:link,
#logo:visited,
#logo:hover,
#logo:active {
    font-family: 'Leodis Requiem Logo Font';
    text-transform: lowercase;
    font-size: 75px;
    line-height: 75px;
    margin-top: 3px;
    margin-bottom: 15px;
    margin-left: 15px;
    margin-right: 0px;
}

nav {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	height: 55px;
}

nav a,
nav a:link,
nav a:visited,
nav a:hover,
nav a:active {
	padding-top: 18px;
	padding-bottom: 17px; 
	padding-left: 10px;
	padding-right: 10px;
  font-size: 20px;
	line-height: 20px;
  text-align: center;
}

nav a:hover {
	cursor: pointer;
	background-color: #600;
}

nav a:active {
	background-color: transparent;
}

#nav-container {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	background-color: #000;
	width: 100%;
	height: 55px;
	top: 0;
	z-index: 100;
	position: fixed;
    border-bottom: 1px solid #333;
}

/* bevel effect between the taller logo and the shorter nav bar*/
#nav-container:before {
    content: '';
    position: fixed;
    width: 75px;
    height: 50px;
    top: 27px;
    left: 165px;
    background: #000;
    transform: rotate(-30deg);
    border-bottom: 1px solid #333;
}


#nav-button,
#nav-button:link,
#nav-button:visited,
#nav-button:hover,
#nav-button:active {
	padding-top: 12px;
	padding-bottom: 7px; 
	padding-left: 12px;
	padding-right: 12px;
  text-align: center;
}

#nav-button-path {
	fill: #fff;
}

#nav-button-checkbox,
#nav-button {
	display: none;
}

#nav-button-path {
	fill: #fff;
}

#nav-social {
	height: 55px;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;

}
	
#nav-social a,
#nav-social a:link,
#nav-social a:visited,
#nav-social a:hover,
#nav-social a:active {
	padding-top: 7px;
	padding-bottom: 8px; 
	background-color: transparent;
}

#nav-social a img {
	height: 40px;
}

#nav-social a:hover {
	background-color: #600;
}

@media screen and (max-width: 1080px) {

	#logo,
	#logo:link,
	#logo:visited,
	#logo:hover,
	#logo:active {
		font-size: 60px;
		line-height: 60px;
		margin-top: 3px;
		margin-bottom: 15px;
		margin-left: 15px;
		margin-right: 0px;
	}
	
	/* bevel effect between the taller logo and the shorter nav bar*/
	#nav-container:before {
		width: 48px;
		height: 20px;
		top: 48px;
		left: 139px;
	}
}

@media screen and (max-width: 820px) {
	

	label#nav-button {
		display: block;
		cursor: pointer;
		width: auto;
		margin: 0;
		padding-top: 12px;
		padding-bottom: 7px; 
		padding-left: 12px;
		padding-right: 12px;
		text-align: center;
	}
	
	label#nav-button:hover,
	#nav-button-checkbox:checked + label#nav-button {
		background-color: #600;
	}
	
	nav {
		display: none;	
	}
	
	#nav-button-checkbox:checked + label#nav-button + nav {
		display: block;
		position: fixed;
		top: 55px;
		right: 0;
		width: 35%;
		min-width: 225px;
		max-width: 250px;
		height: 310px;
		background-color: #000;
	}
	
	#nav-button-checkbox:checked + label#nav-button + nav a,
	#nav-button-checkbox:checked + label#nav-button + nav a:link,
	#nav-button-checkbox:checked + label#nav-button + nav a:visited,
	#nav-button-checkbox:checked + label#nav-button + nav a:hover,
	#nav-button-checkbox:checked + label#nav-button + nav a:active {
		padding-top: 10px;
		padding-bottom: 10px; 
		padding-left: 10px;
		padding-right: 10px;
		font-size: 20px;
		line-height: 20px;
		text-align: center;
		background-color: transparent;
	}

	#nav-button-checkbox:checked + label#nav-button + nav a:hover {
		cursor: pointer;
		background-color: #600;
	}

	#nav-button-checkbox:checked + label#nav-button + nav a:active {
		background-color: transparent;
	}

	#nav-social {
    	height: auto;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
	}
	
	#nav-social a,
	#nav-social a:link,
	#nav-social a:visited,
	#nav-social a:hover,
	#nav-social a:active {
		padding-top: 10px;
		padding-bottom: 0px; 
	}

	#nav-social a img {
		height: 50px;
	}
	
}


#home-banner {
	width: 100%;
	padding-top: 10px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
}

#home-banner h1 {
	display: block;
	/* max-width: 500px; */
	max-height: 400px;
}

#home-banner img {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 500px) {

	#home-banner h1 {
		max-width: 80vw;
	}
}



#welcome-box {
	max-width: 600px;
	min-height: 120px;
	margin: 0 auto;
	padding: 0 10px 10px 10px;
}

#welcome-box-border-and-shadow {
	width: 100%;
    margin: 0 auto;
    border: 3px solid #6d6d6d;
	background-color: #333;
    -webkit-box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
    -moz-box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
    box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
    background-image: url('/static/contentBackground');
    background-repeat: repeat;
    background-attachment: scroll;
    background-position: 0 0;
    background-size: auto;
}

#welcome-box-background {
	padding: 10px;
	color: #ffffff;
	font-size: 18px;
    -webkit-box-shadow: inset 0px 0px 50px 5px rgba(0,0,0,1);
    -moz-box-shadow: inset 0px 0px 50px 5px rgba(0,0,0,1);
    box-shadow: inset 0px 0px 50px 5px rgba(0,0,0,1);
    background-color: rgba(89, 89, 89, 0.4);
}

#welcome-box p {
	background-color: transparent;
	width: calc(100% - 10px);
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 5px;
	margin-right: 5px;
	min-height: 20px;
	text-align: center;
	font-size: 21px;
	line-height: 24px;
	font-family: 'Leodis Requiem Heading Font';
	text-transform: uppercase;
	color: #ffffff;
	text-shadow: 0px 1px 1px #000;
}

@media screen and (max-width: 500px) {

	#welcome-box p {
		font-size: 18px;
		line-height: 20px;
		font-weight: bold;
	}
}


#not-found-message {
	text-align: center;
	margin: 20px auto;
}














#lineup-pic {
	display: block;
	margin: 10px auto;
    width: 90%;
    max-width: 512px;
}




.news-item {
	max-width: 100%;
	margin-bottom: 30px;
	padding: 10px;
}

.news-item:last-child {
	margin-bottom: 0;
}

.news-item hr {
	width: 80%;
	margin: 5px auto 0px auto;
	border: 1px solid #444;
}

.news-item:last-child hr {
	display: none;
	margin: 0;
}

.news-header {
	color: #ddd;
	font-family: 'Leodis Requiem Heading Font';
	font-weight: normal;
	font-size: 30px;
}

.news-item p {
	color: #aaa;
	font-size: 18px;
	margin-bottom: 15px;
}

.news-item p.news-date {
	color: #666;
	text-align: right;
}

.news-image img {
    -webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.6);
    -moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.6);
    box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.6);
}

.news-image .news-image-caption {
	color: #666;
	font-style: italic;
}

#no-news {
	text-align: center;
	margin-top: 20px;
}

@media screen and (max-width: 650px) {

	.news-image {
		width: 100%;
		margin: 0 auto;
	}
	
	.news-image.default-news-image {
		display: none;
	}
	
	.news-image img {
		width: auto;
		max-width: 90%;
		max-height: 300px;
		display: block;
		margin: 0px auto 10px auto;
	}
	
	.news-image .news-image-caption {
		max-width: 90%;
		text-align: center;
	}
}

@media screen and (min-width: 650px) {

	.news-header {
		display: block;
		float: left;
		width: calc(100% - 120px);
		margin-bottom: 15px;
	}

	.news-date {
		display: block;
		float: right;
		width: 120px;
		margin-top: 23px;
		margin-bottom: 15px;
	}
	
	.news-item:nth-child(even) .news-image {
		float: left;
		margin-right: 15px;
	}

	.news-item:nth-child(odd) .news-image {
		float: right;
		margin-left: 15px;
	}
	
	.news-image {
		width: 30%;
	}

	.news-image.default-news-image {
		width: 15%;
	}
	
	.news-image img {
		width: 100%;
		display: block;
		margin-bottom: 5px;
	}
	
	.news-image .news-image-caption {
		width: 100%;
		display: block;
		margin-bottom: 15px;
	}
}



p.about-page-paragraph {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

img.about-page-image {
	display: block;
	width: 60%;
	margin: 20px auto;
    -webkit-box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
    -moz-box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
    box-shadow: 0px 10px 15px 4px rgba(0,0,0,0.6);
}









.lineup {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
}


.lineupDay {
	width: 35%;
	margin-bottom: 50px;
}

.lineupVenue {
	font-family: 'Leodis Requiem Heading Font';
	width: 100%;
	text-align: center;
	color: #aaa;
	margin-top: 15px;
	margin-bottom: 30px;
}


.lineupDay h2 {
	font-family: 'Leodis Requiem Heading Font';
	font-weight: bold;
	text-align: center;
	color: #aaa;
}

.lineupDay h3 {
	font-family: 'Leodis Requiem Heading Font';
	font-weight: bold;
	text-align: center;
	color: #aaa;
}

.lineupDay img {
	display: block;
	max-width: 90%;
	max-height: 50px;
	margin: 10px auto 15px auto;
}

.lineupDay img.tallLogo  {
	max-height: 150px;
	margin: 10px auto 15px auto;
}

.lineupDay p {
	font-family: 'Leodis Requiem Heading Font';
	font-size: 22px;
	text-transform: uppercase;
	text-align: center;
	color: #fff;
}

.lineupDay p.djLine {
	font-size: 20px;
	text-transform: none;
}

.lineupDay span.host {
	font-family: 'Leodis Requiem Heading Font';
	font-size: 22px;
	text-transform: uppercase;
}

.lineupDay p.lineupNote {
	margin-top: -15px;
	font-size: 18px;
	text-transform: none;
}


@media screen and (max-width: 600px) {
	.lineupDay {
		width: 100%;
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
}





.venues-venue-name {
	font-family: 'Leodis Requiem Heading Font';
	font-size: 32px;
	text-transform: uppercase;
	font-weight: normal;
	color: #fff;
	margin-top: 10px;
	margin-left: 10px;
}

.venues-venue-info + .venues-venue-name {
	margin-top: 50px;
}

.venues-venue-info {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 15px;
}

.venues-venue-description {
	max-width: calc(50% - 50px);
	margin-top: 10px;
	margin-left: 25px;
	margin-right: 25px;
	margin-bottom: 10px;
}

.venues-venue-description a {
	display: inline-block;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.venues-venue-map {
	/* width: calc(50% - 15px); */
	text-align: right;
	margin-right: 15px;
}

.venues-venue-map iframe {
	width: 425px;
	max-width: 425px;
}

@media screen and (max-width: 800px) {
	.venues-venue-info {
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
	}

	.venues-venue-description {
		max-width: calc(max(70%, 100% - 50px));
	}

	.venues-venue-map {
		margin: 15px auto;
	}
}


@media screen and (max-width: 520px) {

	.venues-venue-map iframe {
		max-width: calc(100% - 15px);
	}
}




#schedule-clashfinder-link {
	display: block;
	margin-top: 30px;
	margin-left: 10px;
}


.schedule-day {
	margin-left: 10px;
	margin-top: 50px;
}

.schedule-day + .schedule-day {
	margin-top: 80px;
}

.schedule-date {
	font-family: 'Leodis Requiem Heading Font';
	font-size: 32px;
	text-transform: uppercase;
	font-weight: normal;
	color: #fff;
}

.schedule-venue {
	font-family: 'Leodis Requiem Heading Font';
	font-size: 24px;
	text-transform: uppercase;
	font-weight: normal;
	color: #fff;
	margin-top: 40px;
	margin-left: 20px;
}

.schedule-date + .schedule-venue {
	margin-top: 10px;
}

.schedule-day p {
	margin-left: 20px;
}

.schedule-times {
	margin: 20px auto;
	width: calc(100% - 30px);
	border-spacing: 5px;
	border-collapse: separate;
}

.schedule-times th {
	text-decoration: underline;
}
.schedule-times th,
.schedule-times td {
	font-size: 25px;
	text-align: left;
}

@media screen and (max-width: 700px) {
	.schedule-times {
		width: calc(100% - 20px);
		border-spacing: 10px;
	}
	.schedule-times th,
	.schedule-times td {
		font-size: 18px;
	}
}