/* **************************************************
	
	project:	Classic Commercial Trucks
	website:	classiccommercialtrucks.com
	author:		Jesse Bishop
	version:	1.0
	date:			1/13/2020
	Copyright 2020, Classic Auto Group
	
	CSS TABLE OF CONTENTS
	
	01. NORMALIZE
	02. BASE STYLES
	03. TYPOGRAPHY
	04. NAVIGATION
	05. BACKGROUND
	06. SECTIONS
	07. STAFF
	08. FOOTER
	09. 404
	
************************************************** */


/*	01. NORMALIZE (8.0.1)
		https://necolas.github.io/normalize.css/
************************************************** */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}


/*	02. BASE STYLES
************************************************** */
:root {
	--classic: #bf1b21;
	--black: #17202a;
	--white: #fff;
	--gray-400: #34495e;
	--gray-350: #808b96;
	--gray-300: #aeb6bf;
	--gray-200: #d5d8dc;
	--gray-100: #eaecee;
	--blue: #3498db;
	--green: #1abc9c;
	--yellow: #f1c40f;
	--orange: #ff5733;
	--brown: #efebe9; }

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

html {
	width: 100%;
	height: 100%;
	font-size: 62.5%; }

body {
	font-family: 'Barlow', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
	width: 100%;
	height: 100%;
	color: var(--black);
	background-color: var(--gray-100); }
	
img {
	display: block;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0; }

a:focus,
input:focus,
textarea:focus,
select:focus,
button:focus {
	outline: .1rem solid var(--blue); }

::selection {
	background: var(--classic);
	color: var(--white); }
::-moz-selection {
	background: var(--classic);
	color: var(--white); }


/*	03. TYPOGRAPHY
************************************************** */
h1, h2, h3, h4, p {
	margin: 0 0 2rem; }

h1 { font-size: 3.8rem; }
h2 { font-size: 2.8rem; }
h3 { font-size: 2.2rem; }
h4 { font-size: 1.8rem; }

a {
	color: var(--classic);
	text-decoration: none;
	transition: color .4s ease, background-color .4s ease; }
a:hover {
	color: var(--black); }


/*	04. NAVIGATION
************************************************** */
nav {
	position: fixed;
	top: 0;
	left: 0;
	background-color: #111;
	z-index: 95;
	width: 100%;
	height: 5.6rem;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444; }

nav .nav-logo {
	display: inline-block;
	vertical-align: top;
	padding: 0 1rem; }
nav .nav-logo img {
	height: 5.6rem;
	padding: 1.2rem 0; }

nav .js-menu,
nav .js-close {
	position: absolute;
	top: 0;
	right: 0;
	text-align: center;
	color: #fff;
	cursor: pointer; }
nav .js-menu i,
nav .js-close i {
	font-size: 3rem;
	width: 5.6rem;
	line-height: 5.6rem; }

nav > ul {
	position: fixed;
	top: 0;
	right: -30rem;
	z-index: 96;
	width: 30rem;
	max-width: 90%;
	height: 100%;
	margin: 0;
	padding: 0 0 6rem;
	list-style: none;
	background-color: #1c2833;
	transition: right .4s ease;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch; }
nav > ul.show {
	right: 0; }

nav > ul > li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 100%;
	padding: 0;
	margin: 0;
	border-bottom: 1px dotted #566573;
	transition: all .4s ease; }
nav > ul > li > a {
	display: block;
	font-size: 1.5rem;
	line-height: 5.6rem;
	padding: 0 1.2rem;
	color: #abb2b9; }
nav > ul > li > a:hover {
	color: #eaecee; }

nav > ul > li > ul {
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%; }
nav > ul > li > ul > li {
	display: block;
	margin: 0;
	padding: 0; }
nav > ul > li > ul > li > a {
	display: block;
	font-size: 1.5rem;
	line-height: 1;
	padding: 1rem 1.2rem 1.8rem 3rem;
	color: #abb2b9; }
nav > ul > li > ul > li > a:hover {
	color: #fff; }

a.skip {
	position: absolute;
	top: -100%;
	left: 1rem;
	z-index: 99;
	background-color: #eaecee;
	color: #111;
	padding: 1rem 1.5rem;
	margin: 0;
	border-radius: .4rem;
	border: 2px solid #111; }
a.skip:focus,
a.skip:active {
	top: 1rem; }

@media all and (min-width: 1100px) {
	
	nav .js-menu,
	nav .js-close {
		display: none; }
	
	nav > ul {
		right: 1rem;
		top: 0;
		width: auto;
		height: auto;
		padding: 0;
		background-color: transparent;
		transition: none;
		overflow-y: visible; }
	nav > ul > li {
		width: auto;
		border: 0; }
	
	nav > ul > li > ul {
		position: absolute;
		top: 5.6rem;
		left: 0;
		padding: 0 0 .6rem;
		width: 20rem;
		opacity: 0;
		visibility: hidden;
		border-radius: 0 0 .5rem .5rem;
		background-color: #111;
		box-shadow: 0 .5rem .6rem -.3rem rgba(0,0,0,.4);
		transition: all .25s ease; }
	nav > ul > li:hover > ul,
	nav > ul > li:focus-within > ul {
		opacity: 1;
		visibility: visible; }
	nav > ul > li > ul > li > a {
		padding: 0 1.2rem;
		line-height: 3.6rem; }
	
}


/*	05. BACKGROUND
************************************************** */
.banner {
	position: relative;
	width: 100%;
	height: 60rem;
	z-index: 1;
	text-align: center;
	background: url(../images/banner-trucks.jpg) no-repeat center center/cover; }
.banner:after {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	background: rgba(0,0,0,.6); }

.banner .welcome {
	position: absolute;
	top: 50%;
	width: 100%;
	padding: 0 3rem;
	transform: translateY(-50%); }
.banner .welcome img {
	margin: 0 auto 1rem; }
.banner .welcome h1 {
	font-size: 4rem;
	line-height: 1.2;
	color: #ebedef; }
.banner .welcome a {
	display: inline-block;
	background-color: #ebedef;
	color: #1b4f72;
	font-weight: 300;
	font-size: 2rem;
	padding: 1rem 2rem;
	text-transform: uppercase;
	margin: 0; }

@media all and (min-width: 960px) {
	
	.banner {
		height: 70rem; }
	
	.banner .welcome h1 {
		font-size: 5rem; }
	
}


/*	06. SECTIONS
************************************************** */
section:focus {
	outline: none; }

section.gray {
	background-color: var(--gray-100);
	border-bottom: 1px solid var(--gray-200); }
section.white {
	background-color: var(--white);
	border-bottom: 1px solid var(--gray-200); }

.content {
	width: 100%;
	max-width: 170rem;
	margin: 0 auto;
	padding: 2rem; }

.content h2 {
	text-align: center;
	color: var(--black);
	line-height: 1;
	text-transform: uppercase; }
.content h2 span {
	font-size: 125%; }

.content .center {
	text-align: center; }
	
.content hr {
	width: 8rem;
	height: .4rem;
	border: 0;
	margin: 2.4rem auto 2.6rem;
	background: var(--classic); }

.center {
	text-align: center; }

.content .button {
	display: inline-block;
	border: 0;
	color: var(--white);
	font-size: 2rem;
	margin: 0 auto;
	padding: 1rem 2rem;
	background-color: var(--classic);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase; }
.content .button:hover {
	background-color: var(--gray-300); }
.content .button:focus {
	background-color: #8c1115;
	box-shadow: 0 0 .8rem 0 rgba(52,152,219,.75);
	transition: none; }

.section-buy img {
	display: block;
	margin: 0 auto;
	width: 6rem; }

.section-buy h4 span {
	display: inline-block;
	background-color: var(--classic);
	color: var(--white);
	border-radius: 50%;
	line-height: 2.5rem;
	width: 2.5rem;
	margin: 0 1rem 0 0; }

@media all and (min-width: 550px) {
	
	.content h2 span {
		font-size: 175%; }
	
}

@media all and (min-width: 770px) {
	
	.content {
		padding: 4rem; }
	
}


/*	07. STAFF
************************************************** */
#staff {
	text-align: center; }
.staff-group {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 3rem; }
.staff {
	margin: 0 2rem;
	text-align: center; }
.staff img {
	display: block;
	max-width: 20rem;
	border-radius: 50%;
	margin: 0 auto .5rem; }
.staff h3 {
	margin: 0; }


.logo-group {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around; }
.logo-group > div {
	padding: 3rem; }
.logo-group img {
	height: 7rem; }


/*	08. FOOTER
************************************************** */
footer {
	width: 100%;
	background-color: #111;
	color: #fdfefe;
	font-size: 1.2rem;
	padding: 3rem; }

footer p {
	max-width: 100%;
	width: 192rem;
	margin: 0 auto 2rem; }
footer strong {
	font-size: 115%; }
footer a {
	color: #b3b6b7; }
footer a:hover {
	color: #fdfefe; }
footer span:before {
	content: '\002F';
	margin: 0 .5rem; }

footer .social {
	max-width: 100%;
	width: 192rem;
	margin: 0 auto; }
footer .social img {
	display: inline-block;
	margin-right: .5rem;
	width: 2.8rem;
	height: 2.8rem; }

@media all and (min-width: 680px) {
	
	footer {
		padding: 5rem; }
	
}


/* 09. 404
*********************************************************** */
.banner-404 {
	width: 100%;
	height: 50rem;
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 40px;
	background-image: url(/images/404.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover; }
.banner-404:after {
	content: '';
	width: 100%;
	height: auto;
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-color: rgba(16,22,29,.75); }

@media all and (min-width: 960px) {
	
	.banner-404 {
		height: calc(100% - 12rem); }
	
}

.welcome-404-outer {
	position: absolute;
	top: 5.6rem;
	z-index: 2;
	width: 100%;
	height: calc(100% - 266px);
	color: #fff;
	background-color: rgba(23,32,42,.1);
	text-align: center; }
.welcome-404-inner {
	position: relative;
	width: 100%;
	padding: 30px; }

.welcome-lg {
	font-size: 5rem;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 .5rem 0; }
.welcome-sm {
	font-size: 3.6rem;
	font-weight: 300;
	line-height: 1;
	margin: 0 0 4rem 0; }

.sub-links-404 {
	margin: 1rem 0 0; }
.sub-links-404 a {
	color: #eaecee;
	font-size: 1.8rem;
	padding: 0;
	margin: 0 1rem;
	border-bottom: 1px solid transparent;
	transition: border .4s ease; }
.sub-links-404 a:hover {
	border-color: #eaecee; }

@media all and (min-width: 960px) {
	
	.welcome-404-outer {
		height: calc(100% - 17.6rem); }
	.welcome-404-inner {
		top: 50%;
		transform: translateY(-50%); }
	
}

@media all and (min-width: 1200px) {
	
	.welcome-lg {
		font-size: 6rem; }
	.welcome-sm {
		font-size: 4.2rem; }
	
}