/* RESET –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
html, body, header, footer, h1, h2, h3, h4, div, a, p, blockquote {
	margin: 0;
	padding: 0;
	text-decoration: none;
	color: inherit;
	font-family: inherit;
	list-style: none;
}

* {
	position: relative;
	box-sizing: border-box;
	border: none;
}

/* BASIS –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */

html {
	font-size: 16px;
	font-family: 'Roboto', helvetica, Arial, sans-serif;
	font-weight: 400;
}

body {
	background-color: #fff;
}

/* Typography ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h4 {
	font-weight: 900;
	font-size: 2rem;

	max-width: 40rem;
	margin: auto;
	margin-bottom: 0.382em;
}

h2 {
	font-weight: 500;
	font-size: 1.5rem;
}

h3 {
	font-weight: 500;
}

p {
	font-weight: inherit;
	line-height: 1.382em;

	max-width: 40rem;
	margin: auto;
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* HEADER –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

header {
	display: block;
	padding: 1em;
	padding-bottom: 2em;

	color: #fff;
	font-weight: 500;

	background-color: #333;

	background-image: url('../_assets/exploro-background.jpg');
	background-position: center;
	background-size: cover;
}

/* Apply black tint layer */
header::before {
	content: ' ';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;

	background-color: #000;
	opacity: 0.75;
}

header > * {
	z-index: 1;
}

/* Classes to determine background image */
.bg-strada {
	background-image: url('../_assets/strada-background.jpg');
	background-position: center;
	background-size: cover;
}

/* Dealer Logo */
header img {
	display: block;
	margin: 1em auto 2em auto;

	width: 10em;
	max-width: 90%;
}


/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Main –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/* Hours and Contact Section ––––––––––––––––––––––––––––––––––––––––––––––– */
#hours-and-contact {
	padding: 1em;
}

/* Hours Table */
table {
	border: none;
	text-align: left;
	-webkit-border-horizontal-spacing: 0px;
	-webkit-border-vertical-spacing: 0px;

	color: #454545;
	text-transform: capitalize;

	margin-top: 1em;
	margin-bottom: 1em;
}

td:nth-child(even){
	padding-left: 1em;
}

/* Contact Form –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */

label {
	display: block;
	width: 100%;
	margin-bottom: 1em;
}

label:focus-within {
	font-weight: 500;
}

input, select {
	display: block;
	width: 100%;
	padding: 8px;
	margin-top: 0.25em;

	border: 1px solid #ccc;

	background-color: #fff;
	font-size: inherit;
}

input:active,
input:focus,
select:active,
select:focus {
	outline: none;
	border-bottom: 2px solid #e4222d;
	box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.25);
	padding-bottom: 7px;
}

select {
	-webkit-appearance: none;
	border-radius: 0;
}

input[type="submit"],
select,
option {
	cursor: pointer;
}

input[type="submit"] {
	margin-bottom: 0.375em;

	background-color: #333;
	color: #fff;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.0625em;
}

input[type="submit"]:hover,
input[type="submit"]:focus {
	box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.25);
	background-color: #000;
	color: #e4222d;
}

form p {
	font-style: italic;
	text-align: center;
	font-size: 14px;
}

/* Contact Information and Map Section ––––––––––––––––––––––––––––––––––––– */

#contact-info {
	background-color: #333;
	color: #fff;
}

address {
	padding: 1em;
	font-style: normal;
	line-height: 1.382em;
}

address a {
	outline-color: #454545;
	border-bottom: 1px dotted #c4c4c4;

	z-index: 1;
}
address a:hover {
	background-color: #454545;
	outline: 0.1875em solid #454545;

	transition: all 0.12s;
	transition-timing-function: ease-in;

	z-index: 0;
}

address > div {
	text-align: center;
}

address .logo-wrapper {
	display: block;
	margin: auto;
	padding: 1em;
	max-width: 10em;
}

.logo-wrapper img {
	display: block;
	margin: auto;
	width: 100%;
}

/* Embedded Map & Video Styling */
.embed-container {
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 3T Exploro and Strada Pixtures –––––––––––––––––––––––––––––––––––––––––– */
#bicycle-pictures-section div {
	width: 100%;
	padding: 1em;
}

#bicycle-pictures-section div img {
	width: 100%;
}

#bicycle-pictures-section div h3 {
	border-top: 0.125em solid #333;
	padding-top: 0.375em;
}

/* Embedded Video Section –––––––––––––––––––––––––––––––––––––––––– */

/* Video Styling is in the Map Section */

#video-section div{
	margin-bottom: 1em;
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Footer –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

footer {
	padding: 2em 1em;
	color: #fff;
	text-align: center;
	padding-top: 50vh;

	background-color: #333;
	background-image: url('../_assets/ride-background-1.jpg');
	background-position: center;
	background-size: cover;
}

footer a {
	display: inline-block;

	font-size: 1.5em;
	text-transform: uppercase;
	font-weight: 500;

	/* padding to be replaced with border on hover */
	padding-bottom: 0.0625em;
}

footer a:hover {
	border-bottom: 0.0625em solid #fff;
	padding-bottom: 0;
}

footer a > div {
	animation: bob 2s ease-in-out 0.2s infinite alternate;
	transform: translateY(-0.125em);
	transition: transform 0.2s ease-out;
}

/* Apply black tint layer */
footer::before {
	content: ' ';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;

	background-color: #000;
	opacity: 0.33;
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Animations –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@keyframes bob {
	from { transform: translateY(-0.125em); }
	to { transform: translateY(0.125em); }
}

@-webkit-keyframes bob {
	from { transform: translateY(-0.125em); }
	to { transform: translateY(0.125em); }
}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* Media Queries ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

@media all and (min-width: 600px) {

	html {
		font-size: 17px;
	}

	/* Hours and Contact Section ––––––––––––––––––––––––––––––––––––––––––––– */
	#hours-and-contact > div {
		display: -ms-flex;
		display: -moz-flex;
		display: -webkit-flex;
		display: flex;

		-ms-flex-direction: row;
		-moz-flex-direction: row;
		-webkit-flex-direction: row;
		flex-direction: row;
	}

	/* Section Title */
	#hours-and-contact h2 {
		-ms-flex: 0 1 55%;
		-moz-flex: 0 1 55%;
		-webkit-flex: 0 1 55%;
		flex: 0 1 55%;
	}

	/* Store Hours */
	#hours-and-contact table {
		-ms-flex: 0 1 auto;
		-moz-flex: 0 1 auto;
		-webkit-flex: 0 1 auto;
		flex: 0 1 auto;

		margin-left: 1em;
		margin-top: 0em;
	}

	/* Contact Information & Map ––––––––––––––––––––––––––––––––––––––––––––– */
	address {
		display: -ms-flex;
		display: -moz-flex;
		display: -webkit-flex;
		display: flex;

		-ms-flex-direction: row;
		-moz-flex-direction: row;
		-webkit-flex-direction: row;
		flex-direction: row;

		max-width: 32em;
		margin: auto;
	}

	address .logo-wrapper {
		-ms-flex: 0 0 12em;
		-moz-flex: 0 0 12em;
		-webkit-flex: 0 0 12em;
		flex: 0 0 12em;
	}

	/* Contact Information */
	address > div {
		-ms-flex: 1 0 auto;
		-moz-flex: 1 0 auto;
		-webkit-flex: 1 0 auto;
		flex: 1 0 auto;

		text-align: left;
		margin-left: 2em;
	}

	/* Contact Information */
	form {
		margin-top: 1em;
	}

}
