.main {
	position:fixed;
	right:0;
	top:0;
	background-color:rgba(0,0,0,0.6);
	height:100%;
	border-left:1px solid var(--yellow);
	overflow-y: auto;
}

h1 {
	float:left;
	font-size:5.5em;
	font-weight:bold;
	color:#fff;
	letter-spacing: -0.075em;
	text-transform: uppercase;
	margin-bottom:0.5em;
	width:100%;
	text-align:center;
	line-height: 1;
	text-shadow: 0 0 10px rgba(0,0,0,0.75);
}

.main .ym {
	float:left;
	clear:left;
	width:100%;
	font-size:3.5em;
	margin-bottom:0.5em;
	text-transform: uppercase;
	letter-spacing: -0.075em;
	text-shadow: 0 0 10px rgba(0,0,0,0.75);
	font-weight:bold;
}

.shows {
	margin-bottom:1em;
}

.venue {
    float:left;
    clear:left;
    width:100%;
    margin-bottom:3px;
    padding:0.5em;
    background-color:rgba(0,0,0,0.85);
}

	.Red {
		background-color: rgba(85, 23, 23, 0.65);
	}

	.Orange {
		background-color: rgba(142, 79, 34, 0.65);
	}

	.Yellow {
		background-color: rgba(142, 125, 34, 0.65);
	}

	.Green {
		background-color: rgba(83, 142, 34, 0.65);
	}

	.Blue {
		background-color: rgba(34, 132, 142, 0.65);
	}

	.Purple {
		background-color: rgba(83, 34, 142, 0.65);
	}

    .venue-main {
        float:left;
        width:70%;
    }
    
        .venue-main h2 {
            color:#fff;
            font-size:2em;
            margin-bottom: 0;
            line-height: 1;
        }

        	.venue-main h2 span {
        		text-transform: uppercase;
        		color:var(--yellow);
        	}

			.venue-main h2 span.country {
				background-color: #fff;
				color: #333;
				padding: 0 0.2em;
				margin-right: .5em;
				border-radius: 0.1em;
				line-height: 1;
				font-size: 0.7em;
			}

			h2.extra {
				margin-bottom:0.25em;
			}
        
        .venue-main p {
            font-size:1.1em;
			margin-bottom:0;
        }
        
            .venue-main p span {
                color:var(--yellow);
            }
            
            .venue-main .small {
                font-size:1.1em;
            }

        .venue-date {
        	float:left;
        	margin-right:2em;
        	background-color:var(--yellow);
        	padding:0.5em;
        	border-radius: 0.25em;
        	color:#222;
        }

        	.venue-main .day {
        		float:left;
        		font-size:3em;
        		font-weight:300;
        		line-height:1;
        		padding:0;
        		text-align: center;
        		min-width:1.3em;
        	}

        	.my {
        		float:left;
        		text-align:center;
        		width:3em;
        	}

        		.main .month {
        			width:100%;
        			text-transform: uppercase;
        			letter-spacing: 0.15em;
        			font-weight: bold;
        			line-height:1.2;
        		}

        		.main .year {
        			width:100%;
        			line-height:1.4;
        		}
    
    .venue-buy {
        float:right;
        width:29%;
    }
    
        .venue-buy a {
            float:right;
            text-decoration: none;
            font-size:1.2em;
            padding:0.5em 0.8em;
            border-radius:0.2em;
            width:200px;
            text-align: center;
            margin-top:0.25em;
            max-width:100%;
            background-color:var(--yellow);
            color:#222;
        }
        
            .venue a:hover {
                background-color:#fff;
                color:#222;
                box-shadow: 0 0 5px rgba(254,211,59,1);
            }
            
            .venue-buy a.soon,
            .venue-buy a.sold-out{
                background-color:#888;
                /*border:1px solid #555;*/
                cursor: default;
                font-size:1.2em;
            }

            	.venue a.soon:hover,
            	.venue a.sold-out:hover {
            		
            	}
            
            .main p.lastfew {
                font-size:0.7em;
                margin:0;
                text-align: center;
				color:red;
            }

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

.gallery a {
	padding:0.25em;
	background-color:var(--yellow);
	box-shadow: 0px 0px 10px 0px #000;
	border-radius:0.5em;
}

	.gallery a img {
		display:block;
		width:100%;
		border-radius:0.5em;
	}

	.gallery a:nth-of-type(4n) {
		margin-right:0;
	}
	
	.gallery a:hover {
		background-color:#fff;
	}


.tabs {
    margin-bottom:2em;
    text-align:center;
}

.tabs a {
    display:inline-block;
    line-height: 1;
    background-color:#222;
    color:#fff;
    text-decoration: none;
    font-size: 1.6em;
    font-weight:300;
    padding:1em;
}

    .tabs a.active,
    .tabs a:hover {
        background-color:var(--yellow);
        color:#222;
    }

.people {
	display:grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap:1.5em;
}

.star-of-show {
	grid-template-columns: repeat(2,1fr);
	margin-bottom:5%;
}

.tab-content {
    display:none;
}

    .contents div:first-of-type {
        display:grid;
    }

.person {
	text-decoration: none;
	background-color:rgba(0,0,0,0.85);
	border:1px solid var(--yellow);
}

	.person .text {
		color:#333;
		padding:1em;
	}

	.person:nth-of-type(4n) {
		margin-right:0;
	}
	
	.person h2 {
		font-size:1.8em;
		margin-bottom:0.25em;
		color:var(--yellow);
	}
	
	.person p {
		margin-bottom:0;
		line-height:1;
		font-size:1.1em;
		color:#fff;
	}

	.person img {
		width:100%;
	}
	
	.person:hover {
		background-color:rgba(255,255,255,1);
	}

		.person:hover h2,
		.person:hover p {
			color:#222;
		}

		.person:hover {
			box-shadow: 0 0 5px rgba(254,211,59,1);
		}
	
.cast-photo {
	float:left;
	width:45%;
	border:1px solid var(--yellow);
	border-radius: 0.5em;
}

.cast-member .right {
	float:right;
	width:50%;
}

	.cast-member h2 {
		clear:left;
		font-size:4em;
		font-weight:300;
		margin-bottom:0.25em;
	}

	.cast-member .role {
		font-size: 1.8em;
		color:var(--yellow);
	}
	
	.backto {
		float:left;
		width:100%;
		font-size:1.3em;
		color:var(--yellow);
		margin-bottom:2em;
	}

/* Store */

.type {
	margin-bottom:3em;
}

	.type > h3 {
		font-size:3em;
		font-weight:300;
	}

	.product {
		background-color:#fff;
		margin-bottom:1em;
	}

		.product .image {
			float:left;
			width:25%;
			background-color:#fff;
			padding:2em;
		}

		.product .text {
			float:right;
			width:75%;
			padding:2%;
			background-color:#222
		}

			.product .text h2 {
				color:var(--yellow);
				margin-bottom:0.5em;
				font-weight:300;
			}

			.product .text p {
				font-size:1.2em;
			}

			.product .links {
				margin-top:1.5em;
				margin-bottom:2em;
			}

			.product .links a {
				background-color:var(--yellow);
				color:#222;
				padding:1em 2em;
				margin-right:1em;
				border-radius: 0.2em;
				text-decoration: none;
			}

				.product .links a:hover {
					background-color:#fff;
					color:#222;
					box-shadow: 0 0 5px rgba(254,211,59,1);
				}

.default p,
.default h2,
.default h3,
.default h4,
.default h5,
.default h6 {
	text-align: center;
}

.default h2,
.default h3,
.default h4,
.default h5,
.default h6 {
	color:var(--yellow);
	font-weight:300;
}


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

@media screen and (max-width:959px) {
	.main {
		position: static;
	}
}

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

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

	.cast-photo,
	.cast-member .right {
		width:100%;
		margin-bottom:2em;
	}

	.product .text {
		padding:4%;
		width:100%;
	}

	.product .image {
		width:100%;
	}

		.product .image img {
			width:100%;
		}
}
            
@media screen and (max-width:479px) {

.venue {
	margin-bottom:1em;
}

    .venue-main,
    .venue-buy{
        width:100%;
        clear:left;
        float: left;
    }
    
        .venue-buy a {
            float:left;
            width:100%;
        }

    h1 {
    	font-size:4em;
    }

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

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

	.product .links {
		margin-bottom:0;
	}

		.product .links a {
			display:block;
			width:100%;
			text-align: center;
			margin-bottom:0.5em;
			margin-right:0;
		}
}