/*
HTML5 Reset :: style.css
----------------------------------------------------------
We have learned much from/been inspired by/taken code where offered from:

Eric Meyer					:: http://meyerweb.com
HTML5 Doctor				:: http://html5doctor.com
and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/

/* Let's default this puppy out
-------------------------------------------------------------------------------*/

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}

article, aside, figure, footer, header, nav, section, details, summary {
	display: block;
}

/* Handle box-sizing while better addressing child elements:
http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
	box-sizing: border-box;
}

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

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */

/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
/*img,
object,
embed {
max-width: 100%;
}
*/

/*
Note: keeping IMG here will cause problems if you're using foreground images as sprites.
In fact, it *will* cause problems with Google Maps' controls at small size.
If this is the case for you, try uncommenting the following:

#map img {
max-width: none;
}
*/

/* force a vertical scrollbar to prevent a jumpy page */
html {
	overflow-y: scroll;
}

/* we use a lot of ULs that aren't bulleted.
you'll have to restore the bullets within content,
which is fine because they're probably customized anyway */
ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	background: transparent;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help;
}

/* tables still need cellspacing="0" in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
th {
	font-weight: bold;
	vertical-align: bottom;
}
td {
	font-weight: normal;
	vertical-align: top;
}

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

input, select {
	vertical-align: middle;
}

pre {
	white-space: pre; /* CSS2 */
	white-space: pre-wrap; /* CSS 2.1 */
	white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
	word-wrap: break-word; /* IE */
}

input[type="radio"] {
	vertical-align: text-bottom;
}
input[type="checkbox"] {
	vertical-align: bottom;
}
.ie7 input[type="checkbox"] {
	vertical-align: baseline;
}
.ie6 input {
	vertical-align: text-bottom;
}

select, input, textarea {
	font: 99% sans-serif;
}

table {
	font-size: inherit;
	font: 100%;
}

small {
	font-size: 85%;
}

strong {
	font-weight: 600;
}

td, td img {
	vertical-align: top;
}

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}

/* standardize any monospaced elements */
pre, code, kbd, samp {
	font-family: monospace, sans-serif;
}

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
	cursor: pointer;
}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {
	margin: 0;
}

/* make buttons play nice in IE */
button,
input[type=button] {
	width: auto;
	overflow: visible;
}

/* scale images in IE7 more attractively */
.ie7 img {
	-ms-interpolation-mode: bicubic;
}

/* prevent BG image flicker upon hover
(commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {
filter: expression(document.execCommand("BackgroundImageCache", false, true));
}
*/

/* let's clear some floats */
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}


/*FONTS*/


@font-face {
font-family: 'FranklinGothic';
src: url('../includes/fonts/FranklinGothic/FranklinGothic-Book.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'FranklinGothic';
src: url('../includes/fonts/FranklinGothic/FranklinGothic-BookItalic.ttf') format('truetype');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'FranklinGothic';
src: url('../includes/fonts/FranklinGothic/FranklinGothic-Medium.ttf') format('truetype');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'FranklinGothic';
src: url('../includes/fonts/FranklinGothic/FranklinGothic-MediumItalic.ttf') format('truetype');
font-weight: 500;
font-style: italic;
}
@font-face {
font-family: 'FranklinGothic';
src: url('../includes/fonts/FranklinGothic/FranklinGothic-ExtraBold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
}


* {
	font-family: 'FranklinGothic', sans-serif;
}

h1 {
	font-size: 26px;
	font-weight: 300;
}

h2 {
	font-size: 22px;
	font-weight: 100;
}

h3 {
	font-size: 20px;
	font-weight: 500;
}

p {
    font-size: 16px;
    line-height: 20px;
    font-weight: 300;
    letter-spacing: .2px;
}

a {
    color: #8cc5cd;
    text-decoration: none;
	transition: all .3s ease-in-out;
}

a:hover {
	color: #a97479;
}

.about a {
	border-bottom: 0px dotted #2e3777;
}
.inner-page h1,
.inner-page h2,
.inner-page h3,
.inner-page p {
	color: #fff;
}
.inner-page h3 {
	margin-bottom: 10px;
}
.inner-page p {
	margin-bottom: 20px;
}
.fa, .fab, .fas {
	color: #fff;
	margin-right: 15px;
	font-size: 1.5em;
	vertical-align: -3px;
}
/* Divider */
.divider {
	width: 100%;
	border-bottom: 1px solid #a97479;
	margin: 45px auto;
	display: block;
}
/* Header & Nav also page background */

body {
	position: relative;
	height: 100%;
	background: #000;
	overflow: hidden;
}

body:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
	background-image: url(/images/home/hp-bg.jpg);
	background-repeat: no-repeat;
	background-position: center 15%;
	background-size: cover;
	background-attachment: fixed !important;
    opacity: 0.17;
}
body:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
	background-image: url(/images/home/halftone.svg);
	background-repeat: repeat-x;
	background-position: center bottom;
	background-size: 800px;
	background-attachment: fixed !important;
    opacity: 0.06;
	z-index:-1;
	pointer-events: none;
}
.header {
    width: 100%;
    height: 80px;
    margin: 0px 0px 40px;
    position: relative;
    background: #000;
    box-shadow: 0px 0px 10px rgba(255, 255, 255, 0.05);
    transition: all .3s ease-in-out;
}
.header-contents {
	width: calc(100% - 50px);
	margin: auto;
	max-width: 1080px;
}
@keyframes slideDown {
	0% {
		top: -80px;
	}
	100% {
		top: 0px;
	}
}
.logo {
    width: 140px;
	height: 80px;
    margin: auto;
    padding: 30px 0;
	position: relative;
	float: left;
	opacity: 1;
	transition: .3s ease-in-out all;
}
.logo a {
	position: relative;
	display: block;
    height: 100%;
    width: 100%;
	top: 0;
    left: 0;
}
.logo a img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
	width: 100%;
	opacity: 1;
	cursor: pointer;
}
.logo:hover {
	opacity: 0.8;
}
.nav {
    width: calc(100% - 210px);
    color: #fff;
    text-align: center;
    float: right;
	position: relative;
}
.nav ul {
    width: unset;
    float: right;
}
.nav ul li {
	height: 80px;
	padding: 30px 30px;
}
ul {
	width: 100%;
	margin: auto;
	text-align: center;
}
ul li {
    display: inline-block;
    margin: 0;
    text-decoration: none;
    color: #fff;
    transition: background .2s ease-in-out;
    font-size: 18px;
    position: relative;
	cursor: pointer;
}
ul li:hover a {
	color: #8cc5cd;
	transition: color .3s ease-in-out;
	border: none;
}
ul li a {
	font-weight: 300;
	color: #fff;
}


/*STRUCTURE*/

@keyframes fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.container {
	width: 90%;
	margin: 0 auto 0;
	position: relative;
	max-width: 1080px;
	min-height: calc(100vh - 260px);
}
.hp-links {
	width: 100%;
	max-width: 1080px;
	margin: auto;
	display: block;
	text-align: center;
}

/* New Stuff Haha Kill Me */
.box {
    background-color: black;
    display: inline-block;
    margin: 5px;
    box-shadow: inset 0px 0px 15px rgba(0,0,0,0.06), 0px 2px 4px rgba(11, 83, 57, 0.25);
	position: relative;
    height: 350px;
	overflow: hidden;
	transition: all .3s ease-in-out;
	animation: fade .5s ease-in-out both;
}
.box:nth-child(1) {
	animation-delay: .6s;
}
.box:nth-child(2) {
	animation-delay: .8s;
}
.box:nth-child(3) {
	animation-delay: 1s;
}
.box:nth-child(4) {
	animation-delay: 1.2s;
}
.box:nth-child(5) {
	animation-delay: 1.4s;
}
.box:nth-child(6) {
	animation-delay: 1.6s;
}
.box:nth-child(7) {
	animation-delay: 1.8s;
}
.box:nth-child(8) {
	animation-delay: 2s;
}
.box:nth-child(9) {
	animation-delay: 2.2s;
}
.box:nth-child(10) {
	animation-delay: 2.4s;
}
.box:nth-child(11) {
	animation-delay: 2.6s;
}
.box:nth-child(12) {
	animation-delay: 2.8s;
}
.box:nth-child(13) {
	animation-delay: 3s;
}
.box:nth-child(14) {
	animation-delay: 3.2s;
}
.box_inner {
	width: calc(100% + 1px);
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: black;
    background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transform: scale(1);
	transition: all .3s ease-in-out;
}
.box_40 {
    width: calc(40% - 14px);
}
.box_60 {
    width: calc(60% - 14px);
}
.box_half {
    width: calc(50% - 14px);
}
.box_full {
    width: calc(100% - 14px);
}
.box_4 {
    width: 225px;
    height: 225px;
    background-color: black;
    display: inline-block;
    margin: 3px;
    background-size: cover;
    box-shadow: inset 0px 0px 15px rgba(0,0,0,0.06);
	border: solid 1px #f4f4f4;
}

.overlay {
	opacity: 0;
	background-color: rgba(0,0,0,0.7);
	position: absolute;
	height: 100%;
	width: 100%;
	transition: opacity .3s ease-in-out;
}
.box:hover {
    box-shadow: inset 0px 0px 15px rgba(0,0,0,0.06), 0px 1px 6px rgba(6, 68, 46, 0.8);
}
.box:hover .box_inner {
	transform: scale(1.05);
	-webkit-transform: scale(1.05);
}
.box:hover .overlay {
	opacity: 1;
}
.piece {
    color: #fff;
    font-style: italic;
    font-size: 1.5em;
    line-height: 1.2em;
    letter-spacing: 0.3px;
    font-weight: 100;
    text-align: center;
    position: relative;
    top: 50%;
    margin: auto;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 85%;
}
.subhead {
    margin: 30px auto 40px;
    font-size: 24px;
    color: #8cc5cd;
    font-weight: 500;
    position: relative;
    padding: 5px 0;
	animation: .3s fade .3s ease-in-out both;
}
.subhead::after {
    content: '';
    background: #a97479;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform-origin: center;
    -webkit-transform-origin: center;
    height: 1px;
    width: 200px;
    bottom: -3px;
    animation: .8s growfromcenter .3s ease-in-out both;
}
@keyframes growfromcenter {
  0% {
	width: 0px;
  }
  100% {
  	width: 200px;
  }
}
.left {
    width: 100%;
    display: block;
    padding-top: 10px;
	margin-bottom: 30px;
}
.left h1 {
    font-style: normal;
    display: block;
    width: calc(100% - 30px);
    font-size: 22px;
    padding-right: 0px;
    text-align: center;
    font-weight: 600;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.info {
    max-width: calc(96% - 22px);
    margin-left: 22px;
	animation: .5s fade 0s ease-in-out both;
}

.info p {
	margin-top: 20px;
	text-align: center;
}
.project-info {
	text-align: center;
	margin-bottom: 50px;
	margin-top: 10px;
}
.client {
	display: inline-block;
	margin-right: 30px;
}
.used {
	margin-right: 0px;
	display: inline-block;
}
.client strong, .used strong {
    display: inline-block;
    color: #fff;
    background: #2e3777;
    padding: 7px 12px;
    letter-spacing: 0.2px;
    min-width: 65px;
    margin-right: 8px;
}
.backarrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 10px 0;
    border-color: transparent #519F84 transparent transparent;
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	left: 0;
}

.back:hover .backarrow {
	border-color: transparent #268765 transparent transparent;
}

.back {
    text-decoration: none;
    color: #9C9B9B;
    font-size: 17px;
    display: inline-block;
    width: 10px;
}

.back:hover {
	color: #268765;
}

.next {
	width: 10px;
}

.next p{
	text-decoration: none;
	color: #9C9B9B;
	font-size: 17px;
	display: inline-block;
}

.next p:hover {
	color: #268765;
}

.next:hover .nextarrow {
	border-color: transparent transparent transparent #268765;
}

.nextarrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0px 10px 10px;
    border-color: transparent transparent transparent #519F84;
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 0px;
}

.title {
    position: relative;
    width: 70%;
    margin: -10px auto 40px;
	text-align: center;
}

.right {
	width: 100%;
	display: block;
	padding: 0px;
}

/*HAMBURGER*/
.menu-btn div {
	position: absolute;
	left: 100%;
	top: 64%;
	padding-right: 8px;
	margin-top: -0.50em;
	line-height: 1.2;
	font-size: 18px;
	font-weight: 200;
	vertical-align: middle;
	z-index: 99;
}
 
.menu-btn span {
	display: block;
	width: 29px;
	height: 5px;
	margin: 4px 0;
	background: #fff;
	z-index: 99;
}
 
.responsive-menu {
	display: none;
}
.mobile-nav {
    z-index: 999;
    display: none;
}

#menu-btn {
	float: right;
    position: absolute;
    top: 24px;
    right: 30px;
	cursor: pointer;
}

.responsive-menu ul a {
    width: 100%;
    padding: 0;
}

.responsive-menu ul {
    background-color: #000;
    margin-top: 0px;
    position: absolute;
    right: 0;
    z-index: 9999;
    width: 100%;
}

.responsive-menu ul li {
    display: block;
    width: 100%;
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,0.4);
}
 
.expand {
	display: block !important;
}

/*FOOTER*/
#footer {
	position: relative;
	clear: both;
	padding-bottom: 30px;
}
.footer {
    margin-top: 60px;
	clear: both;
}

.footer p {
    color: #fff;
    display: block;
	opacity: 0.5;
}

.footer a {
    color: rgb(221, 221, 221);
}

.footer a img {
    margin-top: -6px;
    margin-bottom: 10px;
}

.footer-left{
    text-align: center;
	display: block;
}
.footer-right {
	text-align: center;
    margin-top: 10px;
}
.footer-right a, .footer-right p {
    display: inline-block;
    text-align: left;
}
.footer-right p {
    vertical-align: 21px;
    margin-left: 10px;
}
a.button {
    background: #2c8365;
    padding: 7px 10px;
    border-radius: 5px;
    color: #fff;
	transition: .3s all ease-in-out;
}
a.button:hover {
	background: #3e9e7d;
}
/* HOME LINK BUTTONS */
.hp-links {
	width: 300px;
	margin: auto;
}
.hp-button {
    padding: 20px;
	width: 100%;
    margin: 0 auto 15px;
    border: 2px solid #8cc5cd;
    border-radius: 10px;
	transition: all .3s ease-in-out;
}
.hp-button p {
	color: #8cc5cd;
	font-size: 16px;
	text-transform: uppercase;
	transition: all .3s ease-in-out;
}
.hp-button:hover {
    border: 2px solid #a97479;
}
.hp-button:hover p {
    color: #a97479;
}
.hp-button.hp-new {
	padding: 15px 20px;
}
.hp-button.hp-new span {
	font-size: .7em;
	color: #fff;
	display: block;
	line-height: 1em;
}
/*CONTACT PAGE*/

.contactpage {
    width: 100%;
    margin: 0 auto 50px;
	max-width: 850px;
}
.sandy {
    width: 350px;
    /*transform: scaleX(-1);
    -webkit-transform: scaleX(-1);*/
	margin-left: 20px;
	margin-right: 12px;
	float: right;
}
.contact-h1 {
    margin-top: 45px;
	margin-bottom: 40px;
    font-size: 2em;
    font-weight: 500 !important;
    font-style: normal !important;
    color: #fff;
	text-align: center;
}
.contact-social {
	padding: 30px 0;
	border-top: 1px solid #a97479;
	width: 300px;
	margin: auto;
}
.contact-social:last-child {
	border-bottom: 1px solid #a97479;
}
@media screen and (max-width: 600px){
	.contact-h1 {
		margin-top: 0;
	}
}
@media screen and (max-width: 500px){
	.sandy {
		float: none !important;
		width: 100% !important;
		margin: 0;
	}
}
.me-3 {
}
.lightbox {
	animation: .5s fade .3s ease-in-out both;
	max-width: 800px;
	margin: auto;
}
.lightbox-2 {
    width: 300px;
    height: 300px;
    float: right;
    margin-left: 20px;
	margin-bottom: 20px;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
}
.lightbox-2 a img {
    width: 300px !important;
    height: 300px !important;
    position: relative !important;
    top: 0px !important;
    transform: unset !important;
    left: 0 !important;
    border-radius: 50%;
	max-height: unset !important;
	max-width: unset !important;
}
.lightbox-2 a:before {
	top: 250px;
	bottom: unset !important;
}
.emailtext p {
	margin-bottom: 15px;
}

.emailtext {
    width: 100% !important;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 30px;
	font-size: 1em !important;
}

.emailtext h1 {
	font-style: italic;
	margin-bottom: 20px;
}

.resume {
	width: 100% !important;
	text-align: left;
}

.resume img {
	width: 100% !important;
	border: 1px solid rgb(238, 238, 238);
}

/*** ANCHORS ***/

.anchor {
	position: absolute;
	opacity: 0;
	margin-top: 0px;
	pointer-events: none;
}

/*** LIGHTBOX ***/
.slick-lightbox-slick-item-inner {
    display: inline-block;
    vertical-align: middle;
    width: 90%;
	max-width: 1050px !important;
    max-height: 90%;
    overflow-y: auto;
	/*pointer-events: none;*/
}
.zoom {
    position: relative;
    transform: unset !important;
    top: 0;
    display: block;
    clear: both;
    height: 30px;
    width: 30px;
    box-shadow: none !important;
    opacity: 0.85;
    margin: -40px auto 0;
	pointer-events: none;
}
.slick-lightbox-slick-img {
    margin: 0 auto;
    display: block;
    width: auto;
	max-width: 100% !important;
}
.slick-lightbox-slick-caption {
    color: rgba(255, 255, 255, 0.8);
    position: fixed;
    bottom: 13px;
    transform: translateX(-50%);
    font-size: 12px;
}
.lightbox a {
    display: block;
    text-align: center;
    position: relative;
    margin: 30px auto;
    /*height: 550px;*/
}
/*.lightbox a img {
    max-height: 550px;
    max-width: 100%;
    width: auto;
    height: auto;
    left: 50%;
    transform: translate(-50%,-50%);
    position: absolute;
    text-align: center;
    top: 50%;
	}
*/
.lightbox a img:not(.zoom) {
    max-height: 550px;
    max-width: 100%;
    width: auto;
    height: auto;
    position: relative;
    text-align: center;
    margin: auto;
}
/*.lightbox .lb-short {
	height: 300px;
}
.lightbox .lb-short img {
	max-height: 300px;
}*/
.lightbox .lb-tall {
	width: calc(50% - 14px);
	display: inline-block;
}
.lightbox .lb-tall img {
	height: 100%;
	width: auto;
}
.lightbox a img:not(.f-the-border){
	box-shadow: 0px 2px 5px rgba(11, 83, 57, 0.2);
}
.lb-full {
	width: 100%;
}
/*Label FAQ Page*/
.faq-container {
	max-width: 800px !important;
	margin: auto;
}
.faq-item {
	width: 100%;
	background: rgba(184, 228, 234, 0.8);
}
.faq-item:not(.faq-item:last-child){
	margin-bottom: 1em;
}
.faq-title {
    width: 100%;
    padding: 1em 0 1em 1em;
    margin: 0;
	background: #000;
	border: 2px solid #8cc5cd;
}
.faq-title p {
	display: inline-block;
	font-weight: 500;
	font-size: 1.1em;
}
.faq-title p:first-child {
	width: calc(100% - 2em);
	margin: 0;
}
.faq-title p.toggle-btn {
	width: 1em;
	margin: 0;
	text-align: center;
}
.faq-answer.toggle-show {
	padding: calc(1em - 2px) 1em 1em 1em;
}
.faq-answer p {
	color: #000;
	margin-bottom: 0 !important;
}
.faq-answer a {
	color: #000;
	text-decoration: underline;
	transition: .3s ease-in-out all;
}
.faq-answer a:hover {
	opacity: 0.65;
}