/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

*, *:before, *:after {
	box-sizing: border-box;
}

html {
	color: #222;
	font-size: 1em;
	line-height: 1.4;
}

::-moz-selection {
	background: #b3d4fc;
	text-shadow: none;
}

::selection {
	background: #b3d4fc;
	text-shadow: none;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

.browserupgrade {
	margin: 0.2em 0;
	background: #ccc;
	color: #000;
	padding: 0.2em 0;
}

/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */

body {
	font: 16px/26px Helvetica, Helvetica Neue, Arial;
	color: #CCC;
	background: #060606;
}

.main {
	background: transparent url('../img/tesla-logo.svg') no-repeat;
	background-position: 50% 80px;
	background-size: contain;
	min-height: calc(100vh - 90px);
}

.wrapper {
	width: 90%;
	margin: 0 5%;
}

/* ===================
    ALL: Orange Theme
   =================== */

.header-container {
	border-bottom: 10px solid #444;
}

.header-container,
.footer-container {
	background: #333;
}

.main aside {
	background: rgba(65, 65, 65, .5);
}

.title {
	color: white;
}

/* ==============
    MOBILE: Menu
   ============== */

nav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

nav a {
	display: block;
	margin-bottom: 10px;
	padding: 15px 0;

	text-align: center;
	text-decoration: none;
	font-weight: bold;

	color: white;
	background: #666;
}

nav a:hover,
nav a:visited {
	color: white;
}

nav a:hover {
	text-decoration: underline;
}

/* ==============
    MOBILE: Main
   ============== */

.main {
	padding: 60px 0 0;
}

.main article h1 {
	margin-top: 2em;
	font-size: 2em;
}
.main article section:first-child h1:first-child {
	margin-top: 20px;
}

.main aside {
	color: white;
	padding: 20px;
	border-radius: 14px;
}

.footer-container footer {
	color: white;
	padding: 20px 0;
}

/* ===============
    ALL: IE Fixes
   =============== */

.ie7 .title {
	padding-top: 20px;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

header h1 {
	font-weight: 100;
	font-size: 38px;
	color: #CCC;
}
header h1 img {
	vertical-align: baseline;
	margin: 0 .5em;
}
header h1 img:first-of-type {
	margin-left: 0;
}

nav.car-name {
	font-size: 20px;
	font-style: italic;
	text-align: right;
	padding-top: 25px;
}

.main aside h3 {
	text-align: center;
	margin-top: 0;
	margin-bottom: 0;
}

table.specs {
	border-spacing: 4px;
}

table.specs th, table.specs td {
	vertical-align: top;
	border-top: 4px solid transparent;
}

table.specs th {
	text-align: left;
	font-weight: 600;
	padding-right: 1em;
	color: #AAA;
	white-space: nowrap;
}

table.specs th[colspan] h4 {
	font-weight: 300;
	border-bottom: 1px solid #666;
	margin-top: 10px;
	margin-bottom: 5px;
	padding-bottom: 0;
}

table.specs tr:first-child th[colspan] h4 {
	margin-top: 0;
}

table.features td {
	width: 50%;
	padding: 1px;
	font-weight: 300;
}
table.features td:first-child {
	padding-right: 10px;
}
table.features td:last-child {
	padding-left: 10px;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 480px) {

	/* ====================
		INTERMEDIATE: Menu
	   ==================== */
	nav a {
		float: left;
		width: 27%;
		margin: 0 1.7%;
		padding: 25px 2%;
		margin-bottom: 0;
	}

	nav li:first-child a {
		margin-left: 0;
	}

	nav li:last-child a {
		margin-right: 0;
	}

	/* ========================
		INTERMEDIATE: IE Fixes
	   ======================== */
	nav ul li {
		display: inline;
	}

	.oldie nav a {
		margin: 0 0.7%;
	}
}

@media only screen and (min-width: 768px) {

	/* ====================
		WIDE: CSS3 Effects
	   ==================== */
	/* ============
		WIDE: Menu
	   ============ */
	.title {
		float: left;
	}

	nav {
		float: right;
		width: 38%;
	}

	/* ============
		WIDE: Main
	   ============ */
	.main article {
		float: left;
		width: 47%;
	}

	.main aside {
		float: right;
		width: 50%;
	}
}

@media only screen and (min-width: 1140px) {

	/* ===============
		Maximal Width
	   =============== */
	.wrapper {
		width: 1026px; /* 1140px - 10% for margins */
		margin: 0 auto;
	}
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
	display: none !important;
	visibility: hidden;
}

.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

.invisible {
	visibility: hidden;
}

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}