/* Styles for content pages */

/************************************************************
Banners (home page) */

#banner {
	position:relative;
	height:426px;
	background:#f8f8f8 url('../images/site/texture-banner.jpg') repeat-x center bottom;
	box-shadow:0 0.1em 0.1em rgba(0,0,0,0.2);
}
#banner:before {
	content:' ';
	position:absolute;
	left:50%;
	top:100%;
	margin:0 0 0 -300px;
	height:0.8em;
	width:600px;

	background-image:-webkit-radial-gradient(center top, ellipse farthest-side, rgba(0,0,0,0.22), rgba(0,0,0,0));
	background-image:radial-gradient(ellipse farthest-side at center top, rgba(0,0,0,0.22), rgba(0,0,0,0));
}

/* Tiles */
#banner figure {
	display:none;
	position:absolute;
	margin:0 0 0 -485px;
	width:970px;
	height:426px;
	left:50%;
	top:0;
}
#banner figcaption {
	position:absolute;
	text-align:left;
	height:100%;
	width:340px;
	left:0;
	top:0;
	background:rgba(1,157,32,0.1);
	padding:3em 2.2em 1em;

	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
#banner h1 {
	font-size:27pt;
	margin:0 0.2em 0.2em 0;
}
#banner h1 small {
	color:#141416;
	display:block;
	font-size:21pt;
	margin-right:-0.3em;
}
#banner p {
	color:#2d2e30;
	font-size:13.5pt;
	margin:0.6em 0;
}
#banner figure img {
	position:absolute;
	top:2.5em;
	right:2.5em;
	height: 346px;
	width: 554px;
}
#banner .button {
	margin-left:4em;
}
#banner nav+figure {
	display:block;
}


/* Navigation */
#banner nav {
	position:absolute;
	z-index:2;
	right:50%;
	bottom:0;
	margin:0 -450px 0 0;
	line-height:0;
}
#banner nav a {
	display:inline-block;
	background:rgba(255,255,255,0.5);
	text-align:center;
	font-size:30pt;
	line-height:0.6em;
	height:0.7em;
	width:0.7em;
}
#banner #banner-prev {
	border-radius:0.15em 0 0 0;
}
#banner #banner-next {
	border-radius:0 0.15em 0 0;
}


/************************************************************
Side navgiation */

#side-nav {
	margin:1em 0 2.5em;
}
#side-nav h2:after {
	content:'...............';
	text-align:center;
	display:block;
	margin:0.5em auto;
	color:#c5d1c9;
	font-size:10.5pt;
	font-weight:normal;
	line-height:0;
	letter-spacing:6px;
	text-shadow:28px 0 0 #dbe3de, 56px 0 0 #e6ebe7, -28px 0 0 #dbe3de, -56px 0 0 #e6ebe7;
}
#side-nav a {
	display:block;
	color:#292a2c;
}


/************************************************************
Home page blurbs */

#content>article>figure {
	display:inline-block;
	vertical-align:top;
	position:relative;
	width:29%;
	margin:0 2%;
	min-height:25em;
	padding-bottom:2.5em;
}
#content>article>figure p {
	margin:0.5em 0.4em;
}
#content>article>figure .button {
	position:absolute;
	bottom:0;
	left:50%;
	margin:0 0 0 -5em;
}


/************************************************************
FAQs */

#faq {
	margin:2em 0;
	position:relative;
}
#faq dt {
	margin:1em 0 0.3em 36px;
	font-size:12.5pt;
	line-height:1.4;
	color:#007B20;
}
#faq dt:after {
	content:'............................................................';
	font-size:10.5pt;
	text-align:left;
	display:block;
	margin:0.4em 0 0.4em -36px;
	color:#c5d1c9;
	line-height:0;
	letter-spacing:6px;
	text-shadow:47px 0 0 #dbe3de, 94px 0 0 #e6ebe7;
}
#faq dd {
	margin:0 0 0 36px;
	padding:1px 0; /* Prevents jitteriness when sliding open/closed */
}
#faq p:first-child {
	margin-top:0.2em;
	padding-top:0.5em;
}
#faq dt:before,
#faq dd:before {
	position:absolute;
	font-size:18pt;
	line-height:1.5;
	left:0;
}
#faq dt:before {
	content:'Q:';
	margin-top:-0.4em;
}
#faq dd:before {
	content:'A:';
}

/************************************************************
Testimonials */

#testimonials blockquote {
	margin:1.5em 0.5em 1.5em 3em;
}
#testimonials blockquote:before {
	content:'\201C';
	font-size:50pt;
	float:left;
	margin-left:-0.55em;
	line-height:0.8;
	color:#007b20;
	opacity:0.6;
}
#testimonials p {
	margin:0.5em 0;
}
#testimonials cite {
	display:block;
	margin:1em 4em;
	font-style:normal;
	color:#007b20;
}
#testimonials cite:before {
	content:'-  ';
}

#testimonials hr {
	margin:2em 0;
}

/************************************************************
Staff Page */
#staff-technician-list {
	width: 80%;
}

#staff-technician-list tr:nth-child(2n+1) {
	background-color: rgba(20, 20, 20, 0.03); 
	padding: 5px;
}

#staff-technician-list tr td {
	padding: 5px;
}

#staff-technician-list tr td:first-child {
	color: #007C1E;
	font-weight: bold;
}

/************************************************************
Gallery */

/* Overall column */
#content #gallery {
	width:920px;
}


/* Tiles page / photos page (shared) */
#gal-tiles,
#photo-tiles {
	margin:1.5em -1em 0;
}
#gal-tiles figure,
#photo-tiles figure {
	display:inline-block;
	vertical-align:top;
	margin:0 0.7em 1em;
}
#gal-tiles a,
#photo-tiles a {
	display:block;
}
#gal-tiles img,
#photo-tiles img {
	display:block;
}

/* Tiles page */
#gal-tiles figcaption {
	display:block;
	text-align:left;
	font-weight:bold;
	font-size:10.5pt;
	margin:0.5em 0.7em;
}


/* Photos page */
#photo-tiles a {
	position:relative;
}
#photo-tiles a:hover:before,
#photo-tiles a:hover:after {
	content:' ';
	position:absolute;
	text-align:center;
	top:0;
	left:0;
	width:100%;
	height:100%;
	line-height:6;
	font-size:14pt;
	color:#fff;
	background:rgba(50,50,50,0.6) url('../images/icons/magnify-big.png') no-repeat center center;
	/*text-shadow:1px 1px 1px #000;*/
	border:3px solid #d5d6d8;
	border-radius:0.3em;

	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}



/* Before/after gallery page */
#photo-compare figure {
	position:relative;
	margin:1em 0;
	min-height:250px;
	padding:0.5em 0 0 300px;
}
#photo-compare figure>a {
	position:absolute;
	visibility:hidden;
	opacity:0;
	left:0;
	top:1.5em;

	transition:all 0.7s 0s ease;
}
#photo-compare figure>a:first-child {
	visibility:visible;
	z-index:2;
	opacity:1;
}
#photo-compare figure>a:first-child:hover {
	opacity:0;
}
#photo-compare figure>a:first-child:hover+a {
	visibility:visible;
	opacity:1;
}
#photo-compare figcaption {
	text-align:left;
	font-size:10pt;
}
#photo-compare h3 {
	margin:0.8em 0 -0.3em;
}

/* Overlay indicators */
/*#photo-compare figure>a:hover:before {
	content:url('../images/icons/magnify-big.png');
	position:absolute;
	margin:-23px 0 0 -23px;
	left:50%;
	top:50%;
	opacity:0.4;
}*/
#photo-compare figure>a:after {
	content:'Hover to Reveal';
	position:absolute;
	text-align:center;
	width:100%;
	right:0;
	top:100%;
	color:#000;
	font-size:9pt;
	line-height:2;
	opacity:0.3;
}

/* Dividing lines - modified from master.css */
#photo-compare>figure:before {
	position:absolute;
	left:0;
	bottom:100%;
}



/************************************************************
Images */

figure {
	margin:1em 0 2em;
}
figure img {
	background:#d5d6d8;
	padding:3px;
	box-shadow:0 0 0.3em rgba(0,0,0,0.3);
	border-radius:0.4em;
}
figcaption {
	text-align:left;
}

/* W/in main column */
.main.col figure {
	float:right;
	margin:0.5em 0 0.5em 1em;
}


/************************************************************
Callouts */

aside {
	background:#020302 url('../images/site/texture-dots-tile.gif') repeat center top;
	color:#fff;
	padding:1em 1.2em;
	margin:1em 0 2.5em;
	border-radius:0.3em;
	box-shadow:0 0 0.4em rgba(0,0,0,0.3), inset 0 3em 3em -3em rgba(255,255,255,0.4);
}
aside h3 {
	color:#fff;
	margin:0.3em 0;
}
aside p {
	margin:0.7em 0 0;
}
aside .button {
	opacity:0.9;
	margin-left:-1px;
}

/* Alternate color */
aside.alt {
	background-color:#1b7432;
	background-image:url('../images/site/texture-dots-tile-green.gif');
}


/************************************************************
Odds and Ends */

/* Divider lines */
hr {
	border:none;
	background:none;
	margin:0;
	padding:0;
}
hr:after {
	content:'............................................................';
	text-align:left;
	display:block;
	margin:0 auto;
	color:#c5d1c9;
	line-height:0;
	letter-spacing:6px;
	text-shadow:47px 0 0 #dbe3de, 94px 0 0 #e6ebe7;
}

.side.col hr:after {
	content:'....................';
	text-shadow:28px 0 0 #dbe3de, 56px 0 0 #e6ebe7;
}


/* Fancy bullet lists */
ul.list {
	list-style:none;
	margin:1em 0;
	padding:0 0 0 1em;
	font-size:12pt;
}
ul.list li {
	margin:0.6em 0;
}
ul.list li:before {
	content:'\203A';
	float:left;
	font-size:180%;
	line-height:0.6;
	margin:0 0 0 -0.5em;
	color:#007b1d;
}



/* Google maps */
#map-canvas-east,
#map-canvas-west {
	margin:1em 0 2em;
	height:160px;
	border:4px solid #fff;
	box-shadow:0 0 0.3em rgba(0,0,0,0.2);
	border-radius:0.4em;
}


/* Hours */
p.hours strong {
	display:inline-block;
	width:5.5em;
}
p.hours strong:after {
	content:':';
}


/******* Process Steps - About ********/
#page-repair-process .steps {
	overflow: auto;
	padding: 15px 0 0 0;
}

#page-repair-process .steps h2 {
	font-size: 18pt; 
	font-weight:bold;
}

#page-repair-process .steps section {
	display: block; 
	float: left;
}

#page-repair-process .steps section.title {
	margin:0 0 0 15px;
}

/* Slider */
#slider:before {
	color: #C5D1C9;
    content: "......................................................................";
    display: block;
    letter-spacing: 6px;
    line-height: 0;
    margin: 0 auto;
    text-align: center;
    text-shadow: -47px 0 0 #DBE3DE, -94px 0 0 #E6EBE7, 47px 0 0 #DBE3DE, 94px 0 0 #E6EBE7;
    width: 900px;
}
#slider {
	background:transparent url('../images/site/cars.png') no-repeat center center;
	text-align:center;
	width:975px;
	margin:0 auto;
	height:300px;
	position: relative;
}
#slider>h3 {
	font-size:37.5pt;
	margin:0.4em 0 0.1em;
}
#slider>p {
	font-size:13.5pt;
	margin:0.4em 0 1em;
}
#slider div {
	width:800px;
	height:150px;
	overflow: hidden;
	margin-left:auto;
	margin-right:auto;
}
#slider ul {
	list-style:none;
	white-space:nowrap;
	font-size:18pt;
	padding-top:15px;
	text-align: center;
}
#slider li {
	display:inline-block;
	margin-left:380px;
	margin-right:500px;
	width:700px;
	height:300px;
	vertical-align: top;
	white-space:normal;
}

.previous {
	position:absolute;
	left:0px;
	top:0;
	margin-top:100px;
	cursor:pointer;
}

.next {
	position:absolute;
	right:00px;
	top:0;
	margin-top:100px;
	cursor:pointer;
}

/******* About Superior ********/
.stay-connected img {
	padding: 0 5px;
	vertical-align: middle;
	width: 40px;
}

/******* Going Green ********/
.learn-more-ppg img {
	margin: 0 0 0 10px;
	vertical-align: middle;
	width: 60px;
}

/* Social Feed Collage / Slider */
.social-section {
	text-align: center;
	padding:25px 0 0 !important;
	margin-bottom:-1em !important;
	background:;
}
.social-section:before {
	content:none !important;
}
.social-section h3 {
	position: relative;
	font-size:36px;
	font-weight: normal;
	margin:35px auto;
	padding-right:100px;
}

.social-links {
	display: inline-block;
	vertical-align: top;
	
	position: absolute;
	top:50%;
	margin-top:-20px;
	right:0;
}
.social-links a {
	cursor: pointer;
}

.social-lg {
	font-size:20px;
}

.social-lg,
.social-lg i {
	transition:all 0.3s ease;
}

.social-lg .fas {
	color:#000;
}
.social-lg .fab {
	color:#FFF;
	font-size:22px;
}

.social-lg:hover .fas,
.social-lg:active .fas {
	color:#007C1E;
}

.social-posts {
	margin: 25px auto 0;
	padding:0;
	list-style: none;
}
.social-posts li {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width:33.333%;
	background-color:#757575;
	
	height:265px;
}

.social-posts li a {
	display: block;
	position: absolute;
	top:0;
	
	left:0;
	height:100%;
	width:100%;
	padding:205px 35px 30px;
	box-sizing:border-box;
	
	background-repeat: no-repeat;
	background-position: center center;
	background-size:cover;
	
	color:#EEE;
	font-size:16px;
	text-align: left;
	
	z-index: 0;
	overflow: hidden;
	cursor: pointer;
	
	transition:all 0.3s ease 0s;
}
.social-posts li a:after {
	content:"";
	height:100%;
	width:100%;
	background-color:rgba(0,0,0,0.3);
	position: absolute;
	top:0;
	left:0;
	z-index: -1;
	transition: background-color 0.25s ease 0s;
}
.social-posts li a:hover {
	padding-top:30px;
}
.social-posts li a:hover:after {
	background-color:rgba(0,0,0,0.85);
}

.social-posts .noimg:before {
	font-family: "Font Awesome 5 Brands";
	font-size:100px;
	z-index: -2;
	color:#232323;
	
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	
	opacity: 0.85;
	
	position: absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.social-posts .noimg.facebook:before {
	content:"\f09a";
	color:#2F4EA8;
}
.social-posts .noimg.instagram:before {
	content:"\f16d";
	color:#FE156A;
}

.social-posts li time {
	position: relative;
	display: block;
	font-weight:bold;
	box-sizing:border-box;
}

.social-posts li time i {
	display: inline-blck;
	vertical-align: middle;
	font-size:26px;
	margin-right:10px;
}
.social-posts li time span {
	position: relative;
	display: inline-block;
	vertical-align: middle;
}
.social-posts li time span + span {
	margin-left:20px;
}
.social-posts li time span + span:before {
	content:"";
	display: inline-block;
	height:5px;
	width:5px;
	background-color:#419156;
	border-radius: 50%;
	
	position: absolute;
	top:50%;
	margin-top:-2px;
	right:100%;
	margin-right:7px;
}

.social-posts [class^="sprite"] {
	position: relative;
	display: inline-block;
	height:26px;
	width:26px;
	background:url(/images/icons/social-sprite.png) 0 0 no-repeat;
}

.social-posts .sprite-facebook {background-position: 0 0;}
.social-posts .sprite-instagram {background-position: -27px 0;}

.social-posts li p {
	font-size:16px;
	margin:10px auto 0;
}
.social-posts li p span {
	color:#007C1E;
}

.social-posts li .arrow-link {
	position: absolute;
	bottom:30px;
	left:35px;
}

.social-posts li a p,
.social-posts li a .arrow-link,
.social-posts time span {
	opacity: 0;
	visibility: hidden;
	transition:all 0.3s ease 0s;
}

.social-posts li a:hover p,
.social-posts li a:hover .arrow-link,
.social-posts a:hover time span {
	opacity: 1;
	visibility: visible;
}

.arrow-link {
	color:#419156;
	text-transform: uppercase;
	line-height: 1;
}
.entity-el {
	display: inline-block;
	font-size:24px;
	line-height: 15px;
	vertical-align: top;
}