/********* CSS RESETS **********/

img {
	max-width:100%;
}

h1, h2, h3, p, ul, ol {
	margin: 0;
	padding: 0;
}

ul {
	list-style: none;
}

a {
	text-decoration: none;
}

/********* Patterns *********/
.bg-strip {
	background-image:url("images/bg.jpg");
	height: 60px;
}

.bg-block {
	background-image:url("images/bg.jpg");
	height: 240px;
}

/*********** Defaults ************/

p {
	font-size: 1.3em;
}

h1, h2, h3, p {
	font-family: 'Abel', sans-serif;
	font-weight: 400;
	line-height: 1.2;
}

h2, h3 {
	text-transform: uppercase;
}

.container {
	padding: 0 40px 0 40px;
	max-width: 960px;
	margin: auto;
	position: relative;
}

body {
	margin: auto;
}

/********** Logo Title ***********/

header h1 {
	font-size: 3em;
	color: #0b0b0d;
	position: absolute;
	left: 100px;
	top: 60px;
	margin: auto;
}

#logo h2 {
	font-size: 2em;
	color: #e00101;
	text-transform: lowercase;
	position: absolute;
	left: 240px;
	top: 70px;
	margin: auto;
}

#ticket {
	display: flex;
	background-color: #e1e1e1;
	max-width: 265px;
	border-radius: 10px;
	padding: 20px 20px 20px 0px;
	float: right;
	margin: 0 20px 40px 0;
}

#ticket h2 {
	text-transform: lowercase;
	color: #767676;
	order: 2;
	align-self: center;
	text-align: right;
	padding-left: 40px;
	font-size: 1.5em;
}

#ticket h3 {
	transform: rotate(-90deg);
	color: #e00101;
	font-size: 1.5em;
	text-align: center;
}

/********** Top *************/

#top {
	clear: right;
	background-color: #e1e1e1;
	padding: 30px 0 20px 0;
}

#top p {
	color: #767676;
	padding-bottom: 20px;
}

#top span {
	color: #e00101;
}


/*********** Middle ************/

#middle {
	background-color: #707070;
	color: #ffffff;
	padding: 30px 0 40px 0;
}

#middle h2 {
	color: #afe0f5;
	font-size: 2em;
	font-weight: 400;
}

#middle h3 {
	color: #f6fb6c;
	font-size: 1.75em;
	padding: 20px 0 10px 0;	
}

/********** Footer **********/
footer {
	background-color: #e1e1e1;
	padding: 30px 0 40px 0;
}

.row h3 {
	color: #e00101;
	font-size: 1.75em;
}

footer h3 {
	color: #e00101;
	font-size: 1.3em;
}

footer article {
	padding-bottom: 20px;
}

.produced h3 {
	padding-bottom: 20px;
}

footer img {
	padding-top: 20px;
}

footer a {
	color: #66a0b9;
}


/************* 480 ***************/
@media only screen and (min-width: 480px) and (max-width: 699px) {
	
	.row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	
	#top p {
		font-size: 1.5em;
	}
	
	#middle h2 {
		grid-column: 1/4;
		font-size: 2.7em;
	}
}

/************* 700 ***************/
@media only screen and (min-width: 700px) and (max-width: 959px) {
	
	#logo h2 {
		font-size: 2.5em;
	}
	
	#logo p {
		line-height: 1.3em;
	}
	
	.row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	
	#top p {
		font-size: 1.5em;
	}
	
	footer .container {
		display: flex;
	}
	
	.produced {
		padding-left: 20px;
		margin-top: -25px;
	}
	
	#middle .container {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 20px;
	}
	
	#middle h2 {
		grid-column: 1/4;
		font-size: 3em;
	}
	#ticket {
		max-width: 250px;
	}

	#ticket h2 {
		font-size: 2em;
	}

	#ticket h3 {
		font-size: 2em;
		box-sizing: content-box;
		width: 100%;
	}
}

/************* 960 ***************/
@media only screen and (min-width: 960px) {
	
	body {
	width: 960px;
	}
		.row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	
	#top p {
		font-size: 1.5em;
	}
	
	#logo p {
		line-height: 1.3em;
	}
	
	#logo h2 {
		font-size: 2.5em;
	}
	
	footer .container {
		display: flex;
	}
	
	.produced {
		padding-left: 20px;
		margin-top: -25px;
	}
	#middle .container {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 20px;
	}
	
	#middle h2 {
		grid-column: 1/4;
		font-size: 3em;
	}
	#ticket {
	max-width: 250px;
}

	#ticket h2 {
		font-size: 2em;
	}

	#ticket h3 {
		font-size: 2em;
		box-sizing: content-box;
		width: 100%;
	}
}


	
	