@font-face {
	font-family: 'hnb';
    src: url('../fonts/hnb.woff2') format('woff2'),
         url('../fonts/hnb.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="hnb-"], [class*=" hnb-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'hnb' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.hnb-play:before {
	content: "\e903";
}
.hnb-pause:before {
	content: "\e902";
}

input, textarea {
	outline: 0;
}

#wrap {
	margin-top: 30px;
}

#main {
	padding: 0;
}

#opening {
	background: rgb(6,24,38);
	background: linear-gradient(180deg, rgba(6,24,38,1) 0%, rgba(30,131,197,1) 100%); 
	padding: 30px 100px;
}

#opening h1 {
	color: #eb1e98;
	text-align: center;
}

#play-about {
	display: flex;
	align-items: center;
}

#play-wrap {
	padding-right: 20px;
	font-size: 3em;
	position: relative;
}

#play-wrap a {
	top: -4px;
}

#play-wrap a:link,
#play-wrap a:visited,
#play-wrap a:active,
body.is_mobile #play-wrap a:link,
body.is_mobile #play-wrap a:visited,
body.is_mobile #play-wrap a:hover,
body.is_mobile #play-wrap a:active {
	text-decoration: none;
}

#play-wrap a:hover {

}

#play-about > div:last-child {
	flex: 1;
}

#upcoming-shows {
	padding: 80px 100px;
	text-align: center;
	position: relative;
}

#upcoming-shows::before,
#upcoming-shows::after {
	content: '';
	width: 100%;
	height: 27px;
	position: absolute;
	left: 0;
	opacity: .85;
	z-index: 2;
	top: 0;
	background: rgb(69,9,54);
	background: linear-gradient(180deg, rgba(69,9,54,1) 0%, rgba(2,14,21,1) 100%); 
}

#upcoming-shows::after {
	z-index: 3;
	top: auto;
	bottom: 0;
	background: rgb(69,9,54);
	background: linear-gradient(0deg, rgba(69,9,54,1) 0%, rgba(2,14,21,1) 100%); 
}

#events-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.event-wrap {
	position: relative;
	width: calc(33.3333% - 50px);
	box-sizing: border-box;
	margin-bottom: 60px;
}

.event {
	background-color: #ededed;
	padding: 10px;
	border: 2px solid #1e83c5;
	text-align: center;
	border-radius: 10px;
	color: #186091;
	font-family: lgf-black;
}

.event > div {
	line-height: 1.3em;
}

.city-state {
	font-size: .8em;
	margin-bottom: calc(-2.2em + 12px);
}

.event a {
	white-space: nowrap;
	top: 2.2em;
}

#all-shows a {
	padding-left: 100px;
	padding-right: 100px;
}

#all-shows a:link,
#all-shows a:visited,
body.is_mobile #all-shows a:link,
body.is_mobile #all-shows a:visited,
body.is_mobile #all-shows a:hover,
body.is_mobile #all-shows a:active {
	background-color: #1f83c4;
}

#all-shows a:hover,
#all-shows a:active {
	background-color: #7d1052;
}

#mailing-list-wrap {
	padding: 30px 100px;
	background-color: #1e82c4;
}

#mailing-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

#unsubscribe {
	font-size: .6em;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-family: lgf-black;
}

.submit button:after {
	transition: all .2s ease-in-out;
}

.submit button:hover:after,
.submit button.submitting:after {
	background-color: #f0292c;
}

.submit button.submitting {
	padding-right: 65px;
}

#success,
#error {
	display: none;
	opacity: 0;
	transition: opacity .5s ease-in-out;
	text-align: center;
}

#error {
	margin-bottom: 25px;
	text-align: left;
}

#error a:link,
#error a:visited {
	color: #f3f3f3;
	text-decoration: underline;
}

#error a:hover,
#error a:active {
	color: #3c1874;
}

#error > div,
#success > div {
	border-radius: 3px;
	padding: 15px 20px 14px;
	background-color: #18913e;
	color: #f3f3f3;
}

#error > div {
	background-color: #911a18;
}

.lds-dual-ring {
	display: block; /*inline-block*/;
	width: 30px; /*80px;*/
	height: 30px; /*80px;*/
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.lds-dual-ring:after {
	content: " ";
	display: block;
	width: 18px; /*64px;*/
	height: 18px; /*64px;*/
/*	margin: 8px;*/
	border-radius: 50%;
	border: 6px solid #f1ede4;
	border-color: #f1ede4 transparent #f1ede4 transparent;
	animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}


/* ===== MEDIA QUERIES ==== */

@media screen and (max-width: 1175px) {
	.event-wrap {
		width: calc(50% - 50px);
	}
}

@media screen and (max-width: 1080px) {
	#mailing-list > div:first-child {
		width: 100%;
		text-align: center;
	}
}

@media screen and (max-width: 950px) {
	#mailing-list {
		display: block;
		text-align: center;
	}
	
	#mailing-list > div:nth-of-type(2) {
		margin-top: 15px;
		margin-bottom: 15px;
	}
}

@media screen and (max-width: 840px) {
	.event-wrap {
		width: 100%;
	}
}

@media screen and (max-width: 750px) {
	#opening,
	#upcoming-shows,
	#mailing-list-wrap {
		padding-left: 22px;
		padding-right: 22px;
	}
}

@media screen and (max-width: 500px) {
	h1 {
		padding: 13px
	}
	
	#mailing-list input {
		width: 100%;
	}
	
	#play-about {
		display: block;
	}
	
	#play-wrap {
		padding-right: 0;
		text-align: center;
		padding-bottom: 10px;
	}
}