:root {
	--text_colour:#fff;
	--accent_colour:var(--blue);
}

main {
	text-align: center;
	position: relative;
	z-index:2;
	float:left;
	clear:left;
	width:100%;
}

	main p,
	main li {
		font-size:1.6em;
	}

		main p a,
		main li a
		main td a {
			color:var(--blue);
		}

.default {
	padding:0 5%;
}

.hero {
	padding:8% 5% 2.5%;
}

.intro {
	background-color:var(--dblue2);
	padding:7.5% 5%;
	position: relative;
}

	.intro h2,
	.default h2,
	.default h3,
	.default h4,
	.default h5,
	.default h6 {
		color:var(--blue);
		font-size:3em;
		font-weight:Bold;
		line-height: 1;
	}

	.default h3 {
		font-size:2.5em;
	}

	.default h4 {
		font-size:2em;
	}

	.default h5 {
		font-size:1.5em;
	}

	.default h6 {
		font-size:1em;
	}

.about p {
	font-size:2em;
}

.hero h1 {
	font-size:8em;
	font-weight: 300;
	text-transform: uppercase;
	display:inline-block;
	margin:0 auto;
	line-height:1.1;
	filter:drop-shadow(0px 0.2em 0.1em #000);
}

.show-type {
	margin-bottom:5%;
}

	main .show-type-title {
		font-size:4em;
	}

	.shows {
		margin-bottom:3rem;
	}

	main .month-title {
		color:var(--blue);
		margin:0 0 0.5em 0;
		font-size:2.5em;
	}

.show-type {
	clear:both;
	width:min(100%,900px);
	margin-inline:auto;
}

.diff {
	border-radius:1rem;
	padding:2rem;
}

	.diff .shows:last-of-type {
		margin-bottom:0;
	}

.venue {
	display:grid;
	grid-template-columns: 4fr 1.5fr;
	grid-gap:5%;
	text-align: left;
	margin-bottom:2px;
	background-color:#0004;
	border-radius:0.25rem;
	padding:1.5em;
}

	.venue:last-of-type {
		/* border-bottom:0; */
	}

	.venue .date {
		font-size:1.2em;
		margin-bottom:0;
		color:var(--accent_colour);
	}

		.venue .date .time {
			color:#fff;
		}

	.venue .location {
		float:left;
		margin-bottom:0;
		font-size:2em;
		line-height: 1;
		font-weight:bold;
	}

		h4.month-title,
		.show-type .desc * {
			color:var(--text_colour);
		}

		.desc p {
			font-size:1.6rem;
		}

		.desc *:last-child {
			margin-bottom:0;
		}

		.diff .show-type-title {
			margin-bottom:0.5em;
		}

		.venue .city {
			color:var(--accent_colour);
		}

		.show-type-title {
			color:var(--text_colour);
			font-weight:Bold;
		}

		h4.month-title {
			margin-bottom:2rem;
		}

	main .venue .contact-info {
		float:left;
		clear:left;
		font-size:1.2em;
		margin:0;
		color:#fff;
	}

	main .contact-info a {
		color:#fff;
	}

	.buy {
		display:grid;
	}

		.buy a {
			float:left;
			cleaR:left;
			width:100%;
			text-align: center;
			background-color:var(--accent_colour);
			color:#fff;
			border-radius: 10em;
			text-transform: uppercase;
			letter-spacing: 0.075em;
			font-size:1.2em;
			font-weight: bold;
			padding:0.9em 2em;
			text-decoration: none;
			align-self:center;
		}

			.buy a.available:hover {
				box-shadow:0 0 3em var(--text_colour);
				background-color:#fff;
				color:var(--blue);
			}

			.buy a.soon,
			.buy a.soon:hover,
			.buy a.sold-out,
			.buy a.sold-out:hover {
				background-color:#666;
			}

				.buy a p.lastfew,
				.buy a p.singleseats {
					color:#fff;
					background-color:inherit;
					border-radius:100em;
					display:inline-block;
					padding:0.2em 1em;
					font-size:0.8em;
					margin:0 5px;
					line-height: 1;
					text-align: center;
					width:auto;
				}

			.buy a.tl-orange,
			.buy a.tl-orange:hover p {
				background-color:orange;
			}
			.buy a.tl-red,
			.buy a.tl-red:hover p {
				background-color:red;
			}
			
			.buy a.add {
				margin-top:0.5em;
			}

			.sold-out p {
				margin:0;
				font-size:1em;
			}

.Red {
	background-color: rgba(63, 18, 18, 0.4);
	--bgc1:rgba(63, 18, 18, 0.2);
	--bgc2:rgba(63, 18, 18, 0.5);
}

.Orange {
	background-color: rgba(142, 79, 34, 0.4);
	--bgc1:rgba(142, 79, 34, 0.2);
	--bgc2:rgba(142, 79, 34, 0.5);
}

.Yellow {
	background-color: rgba(142, 125, 34, 0.4);
	--bgc1:rgba(142, 125, 34, 0.2);
	--bgc2:rgba(142, 125, 34, 0.5);
}

.Green {
	background-color: rgba(83, 142, 34, 0.4);
	--bgc1:rgba(83, 142, 34, 0.2);
	--bgc2:rgba(83, 142, 34, 0.5);
}

.Blue {
	background-color: rgba(34, 132, 142, 0.4);
	--bgc1:rgba(34, 132, 142, 0.2);
	--bgc2:rgba(34, 132, 142, 0.5);
}

.Purple {
	background-color: rgba(83, 34, 142, 0.4);
	--bgc1:rgba(83, 34, 142, 0.2);
	--bgc2:rgba(83, 34, 142, 0.5);
}

.Red,
.Orange,
.Yellow,
.Green
.Blue
.Purple {
	padding:0.75em;
}

.bg_glow {
	animation-name: bg_glow;
	animation-duration: 1.5s;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-timing-function: ease-in-out;
}

.venue.bg_glow:nth-of-type(3n+1){
	animation-delay: 0s;
}

.venue.bg_glow:nth-of-type(3n+2){
	animation-delay: 0.25s;
}

.venue.bg_glow:nth-of-type(3n+2){
	animation-delay: 0.5s;
}

@keyframes bg_glow {
	0%{
		background-color:var(--bgc1);
	}
	100%{
		background-color:var(--bgc2);
	}
}

.two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap:5%;
}

.three-col {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap:2.5em;
}

	.about .text {
		align-self: center;
		text-align: left;
	}

	.news-list-item {
		text-decoration: none;
		border-bottom:2px dotted #ffffff30;
		margin-bottom:6em;
		padding-bottom:3em;
	}

		.news-list-item .two-col {
			grid-template-columns: 1fr 3fr;
			text-align: left;
		}

		.news-list-item:last-of-type {
			border-bottom:0;
		}

		.news-list-item .text {
			align-self: center;
		}

			.news-list-item h2 {
				color:var(--blue);
				font-size:4em;
				margin-bottom:0.25em;
				font-weight:Bold;
				float:left;
				clear:left;
			}

			.news-list-item .red-btn {
				padding:0.75em 3em;
				margin-top:1em;
				font-size:1.2em;
			}

			.news {
				padding:0 5%;
			}
		
			.news .two-col {
				grid-template-columns: 1fr 2fr;
				text-align:left;
			}

				.thumbnail,
				.news-img img {
					border-radius:100em;
					width:100%;
				}

			.news h1 {
				font-size:4em;
				font-weight:bold;
				color:var(--blue);
				margin-bottom:0.5em;
				width:100%;
			}

			.datelink a {
				float:left;
				clear:none;
				margin-right:1em;
				font-size:1.4em;
				line-height: 1;
				color:var(--blue);
			}

			.datelink p {
				clear:none;
				float:left;
				line-height: 1;
				font-size:1.6em;
				margin:0;
			}


.pager-nav,
.pager-nav ul{
	float:left;
	Clear:left;
	width:100%;
	text-align: center;
	padding:0;
	margin:0;
}

.pager-nav {
	margin-bottom:5%;
}

	.pager-nav ul li {
		display:inline-block;
		padding:0;
		margin:0;
	}
	
		main .pager-nav ul li a {
			display:block;
			border:1px solid #fff;
			border-radius:10em;
			padding:0.5em 1em;
			color:#fff;
			text-decoration: none;
			margin:0.25em;
		}
		
			main .pager-nav ul li a:hover,
			main .pager-nav ul li.active a{
				background-color:var(--blue);
			}
	
.media,
.news-list {
	padding:0 5% 0;
}

.gallery {
	display:grid;
	grid-template-columns: repeat(5,1fr);
	grid-gap:1em;
	margin-bottom:5em;
}

.gallery a {
	border-radius: 0.25em;
	overflow: hidden;
	transition: all 0.25s ease;
}

	.gallery a img {
		display:block;
		width:100%;
	}
	
	.gallery a:hover {
		box-shadow:0 0.5em 2em var(--blue);
		margin-top:-0.5em;
		margin-bottom:0.5em;
	}

	main .gal li,
	main .gal ul {
		margin:0;
		padding:0;
		background:none;
	}

		main .gal a {
			width:100%;
			height:80vh;
			background:none;
		} 

		main .gal a img {
			width:100%;
			height:100%;
			object-fit: contain;
			background:none;
		}

	.thumb-box {
		margin-top:1em;
	}

	.thumbs {
		display:grid;
		grid-template-columns: repeat(10,1fr);
		grid-gap:0.5em;
		list-style: none;
	}

		.thumbs img {
			width:100%;
		}

.videos {
	margin-bottom:10%;
	display:grid;
	grid-template-columns: 1fr 1fr;
	grid-gap:2em;
}
	.videos h3 {
		font-size:3.5em;
		font-weight: 300;
		margin-bottom:0.5em;
		width:100%;
		text-align:center;
		line-height: 1;
	}

	.videos .TextformatterVideoEmbed {
		margin:0 !important;
		box-shadow: 0 10px 30px var(--lblue),0 10px 30px var(--blue);
        animation-name: pulse_glow;
		animation-duration: 1.5s;
		animation-iteration-count: infinite;
		animation-direction: alternate;
		animation-timing-function: ease-in-out;
	}

	video {
		float:left;
		clear:left;
		width:100%;
		margin-bottom:2.5em;
	}
	
	.backto {
		float:left;
		display:inline;
		font-size:1.3em;
		color:var(--blue);
		margin-bottom:2em;
		background-color:var(--dblue);
		border-radius:10em;
		border:1px solid var(--blue);
		text-decoration: none;
		padding:0.5em 1em;
	}

		.backto:hover {
			color:#fff;
			border:1px solid #fff;
		}

main .contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 5em;
	margin-bottom:5em;
}

	.contactform {
		display:block;
		width:500px;
		max-width:100%;
		margin:0 auto;
		padding:2.5em;
		background-color:#0005;
		box-shadow: 0 0 30px var(--blue);
		border-radius: 0.5em;
	}

	input,textarea,label {
		float:left;
		clear:left;
		width:100%;
		text-align: left;
		font-size:1.2em;
		margin-bottom:0.75em;
	}

	input,
	textarea {
		border-radius:0.5em;
		padding:0.75em;
		color:#fff;
		background-color:#fff2;
		border:1px solid #fff5;
	}

	label {
		margin-bottom:0.25em;
	}

	.submit {
		background-color:var(--blue);
		border-radius:100em;
		color:#fff;
		text-align: center;
		width:200px;
		float:right;
		margin-top:1em;
		margin-bottom:0;
		cursor: pointer;
		text-transform: uppercase;
		font-weight:bold;
		border:0;
	}

		.submit:hover {
			background-color:#fff;
			color:var(--blue);
		}

		.errortext {
			color:red;
		}

	.contact .social a {
		width:5em;
	}

.embed {
	margin-top:3rem;
}

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

	.venue {
		margin:0 0 0.75em 0;
		width:100%;
	}

	.people {
		grid-template-columns: repeat(3,1fr);
	}
}

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

	.hero {
		padding-bottom:5%;
	}

	.hero h1 {
		font-size:4em;
	}

	main,
	main.media {
		padding-top:50px;
	}

	.default {
		padding:50px 5% 5%;
	}

	.videos {
		grid-template-columns: 1fr;
	}

		.TextformatterVideoEmbed {
			margin-bottom:5em;
		}

	.gallery {
		grid-gap:1em;
	}

		.thumbs {
			grid-template-columns: repeat(6,1fr);
		}

	.venue {
		grid-template-columns:2fr 1fr;
	}

	.contactform{
		width:100%;
	}

	.diff {
		padding:1rem;
	}
}


@media screen and (max-width:849px) {
	.venue .contact-info {
		clear:left;
		margin:0;
		font-size:1em;
	}

	.people {
		padding:5% 0;
	}

		.person {
			grid-template-columns: 1fr 1fr;
			grid-gap:2em;
		}

	main .contact {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width:699px) {
	.gallery {
		grid-template-columns: repeat(3,1fr);
	}

	.member {
		grid-template-columns: 1fr;
	}

	main .gal a {
		height:60vh;
	}
}

@media screen and (max-width:599px) {
	.about .two-col {
		grid-template-columns: 1fr;
		margin-bottom:10%;
	}

		.about .text {
			text-align: center;
		}


	.venue {
		grid-template-columns: 1fr;
	}
}

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

	main p,
    main li,
    main td {
      font-size:2em;
    }

    .gallery {
		grid-template-columns: repeat(2,1fr);
	}
	
	.person {
		grid-template-columns: 1fr;
	}
}

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

	.venue .date {
		font-size:1.1em;
	}

	.venue .location {
		font-size:1.6em;
	}

	.buy a {
		font-size:1em;
	}
}