/*
Theme Name: Cade Martin Photography
Theme URI: https://cademartin.com/
Description: Cade Martin Photography 2019+
Author: Helium Studio
Author URI: https://heliumstudio.com
Version: 2.0
*/

@import url('https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,800&display=swap');
/* 

This website was proudly designed and built by
 _   _        _  _                    ____   _               _  _        
| | | |  ___ | |(_) _   _  _ __ ___  / ___| | |_  _   _   __| |(_)  ___  
| |_| | / _ \| || || | | || '_ ` _ \ \___ \ | __|| | | | / _` || | / _ \ 
|  _  ||  __/| || || |_| || | | | | | ___) || |_ | |_| || (_| || || (_) |
|_| |_| \___||_||_| \__,_||_| |_| |_||____/  \__| \__,_| \__,_||_| \___/ 

*/

/* ===================================================================== */
/* =============================== Style =============================== */
/* ===================================================================== */
/*

/* ==================== 

	= HTML5 Reset
	= Layout
	= Header
		-- Header Scroll
	= Navigation
		-- Mobile Nav
	= Featured Slider
	= Opener
	= Home CTAs
		-- Shade
	= Main
		-- Story Nav
		-- Grid
		-- Photo Single
	= Footer
		-- Footer Bottom
	= Fonts
	= Forms & Buttons
	= Hides & Fixes
	= Media: Mobile
		-- Desktop less than 1440px
		-- Desktop less than 1280px
		-- Desktop less than 1024px
		-- Desktop less than 900px
		-- Desktop less than 768px
		-- Desktop less than 640px
		-- Desktop less than 568px
	= Media: Print

==================== */


/* ========================================== 

    HTML5 Reset 

========================================== */

*,*:before,*:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin:0; padding:0; }
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }
html, button, input, select, textarea { font-family: sans-serif; color: #222; }
body { margin: 0; font-size: 100%; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }
table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }
a { outline: none; text-decoration: none;}


/* ========================================== 

    Layout 

========================================== */

html {
	font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-size: 16px;
	font-size: 1.6rem;
	background: #f0f0f0;
	color: #000000;
	font-family: 'Raleway', sans-serif;
	-webkit-font-smoothing: antialiased;
	width: 100%;
	overflow-x: hidden;
}

::selection {
    background: #106177;
    color: #fff;
}
::-moz-selection {
    background: #106177;
    color: #fff;
}

.row {
/* Rows are the main wrapping element above ANY column-type NEVER put a .row inside a column */
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	*zoom: 1;
	justify-content: space-between;
	display: flex;
	flex-wrap: wrap; 
}
.row:before,
.row:after { content: normal; display: table; }
.row:after { clear: both; }
.row.full { max-width: 100% !important; padding: 0;}

.row.reduce { max-width: 850px;}

.col, /*col (columns) should break between 768 - 640*/
.mcol, /*mcol (mobile columns) should break between 568 - 320*/
.scol /*scol (small columns) should never break*/ {
	position: relative;
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	flex-wrap: wrap;
}

.inner { width: 100%;}

.one	{ width: 8.3333%;} /* 1/12 of container */
.two	{ width: 16.6667%;} /* 1/6 of container */
.three	{ width: 25%;} /* 1/4 of container */
.four	{ width: 33.3333%;} /* 1/3 of container */
.five	{ width: 41.6667%;} /* 5/12 of container */
.six	{ width: 50%;} /* 1/2 of container */
.seven	{ width: 58.3333%;} /* 7/12 of container */
.eight	{ width: 66.6667%;} /* 2/3 of container */
.nine	{ width: 75%;} /* 3/4 of container */
.ten	{ width: 83.3333%;} /* 5/6 of container */
.eleven	{ width: 91.6667%;} /* 11/12 of container */
.twelve	{ width: 100%;} /* Full Width */

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

/* ========================================== 

    Header 

========================================== */

header#site-header {
	background-color: #ffffff;
	padding: 60px 0 0;
	position: fixed;
	z-index: 8000;
	left: 0;
	top: 0;
}

header#site-header > .row { justify-content: center;}

#logo {
	margin-bottom: 15px;
	transition: all .5s;
}

#header-dummy {
	width: 100%;
	transition: all .5s;
	background-color: #ffffff;
}

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

    Header Scroll 

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

header#site-header.scroll { padding: 30px 0 20px;}
header#site-header.scroll > .row { justify-content: space-between;}
header#site-header.scroll #logo { width: 200px; margin-bottom: 0}

/* ========================================== 

    Navigation 

========================================== */

nav#main-nav {
	width: 100%;
	transition: all .5s;
}

header#site-header.scroll nav#main-nav { width: auto;}

nav#main-nav ul {
	display: flex;
	justify-content: center;
}

nav#main-nav > ul > li {
	padding-bottom: 43px;
}

nav#main-nav ul li.menu-item-has-children { position: relative;}

nav#main-nav ul#menu-main-nav > li > a {
	padding: 15px 20px;
	margin: 0 20px;
	font-size: 16px;
	font-size: 1.6rem;
	text-transform: uppercase;
	font-weight: 200;
	color: #000000;
	text-decoration: none;
	letter-spacing: 3px;
	background-color: #ffffff;
	transition: all .5s;
	display: block;
}

.reveal {
	position: relative;
	top: 20px;
	opacity: 0;
}

#mobile-nav .reveal {
	position: relative;
	top: 0;
	opacity: 1;
}

nav#main-nav ul li:hover a { color: #106177;}

header#site-header.scroll nav#main-nav ul li a { margin: 0 0 0 20px;}


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

    Sub Menu 

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

nav#main-nav ul.sub-menu {
	display: none;
	position: absolute;
	top: 92px;
	left: 50%;
	margin-left: -100px;
	width: 200px;
	background-color: #f0f0f0;
	padding: 0px 20px 20px;
	z-index: 8001;
}


nav#main-nav ul.sub-menu::before {
	content: "";
	top: -16px;
	left: 50%;
	margin-left: -15px;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 15px 16px 15px;
	border-color: transparent transparent #f0f0f0 transparent;
}



nav#main-nav ul.sub-menu li {
	margin-top: 20px;
}
nav#main-nav ul.sub-menu li a {
	color: #222222;
	text-align: center;
	display: block;
	margin-left: 0!important;
}

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

    Mobile Nav 

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

#nav-trigger {
  display: none;
  position: relative;
  cursor: pointer;
  padding: 0;
  width: 28px;
  height: 20px;
  z-index: 9999;
	top: 15px;
	right: 0;
}
#nav-trigger #hamburger-top,
#nav-trigger #hamburger-mid,
#nav-trigger #hamburger-btm {
  height: 3px;
  background-color: #000000;
  width: 28px;
  display: block;
  position: absolute;
  border-radius: 3px;
  left: 0;
  transition: all .3s;
}
#site-header.scroll #nav-trigger #hamburger-top,
#site-header.scroll #nav-trigger #hamburger-mid,
#site-header.scroll #nav-trigger #hamburger-btm {
  background-color: #000000;
}
#nav-trigger #hamburger-top { top: 0;}
#nav-trigger #hamburger-mid { top: 8px;}
#nav-trigger #hamburger-btm { top: 16px;}
#nav-trigger.triggered #hamburger-top,
#nav-trigger.triggered #hamburger-mid,
#nav-trigger.triggered #hamburger-btm {
  background-color: #106177;
}
html.csstransforms #nav-trigger.triggered #hamburger-top {
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  top: 8px;
}
html.csstransforms #nav-trigger.triggered #hamburger-btm {
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  top: 8px;
}
html.csstransforms #nav-trigger.triggered #hamburger-mid { opacity: 0;}

#mobile-nav {
	display: none;
	width: 100%;
	position: relative;
	background-color: #106177;
}
#mobile-nav nav { display: none;}
#mobile-nav nav .sub-menu {
  display: none;
  overflow: hidden!important;
}
#mobile-nav nav > ul > li { border-bottom: 1px solid rgba(255,255,255,.25);}
#mobile-nav nav > ul > li > a {
	font-size: 20px;
	font-size: 2rem;
	color: #ffffff;
	letter-spacing: 2.18px;
	text-transform: uppercase;
	text-decoration: none;
	display: block;
	padding: 20px 25px;
	text-align: center;
	background-color: #106177;
	transition: background-color .5s;
}

#mobile-nav nav > ul > li:hover > a { background-color: #084756;}


li.mnav-trigger { position: relative;}
li.mnav-trigger > a::after {
	content: "";
	font-family: 'Font Awesome 5 Pro';
	font-size: 30px;
	color: #cccccc;
	position: absolute;
	right: 20px;
	top: 17px;
	font-weight: 200;
	transform: rotate(-135deg);
	transition: transform .5s;
}
li.mnav-trigger.open > a::after { transform: rotate(0deg);}
#mobile-nav .sub-menu {
	background-color: #d0d0d0;
	padding: 15px 30px;
}
#mobile-nav .sub-menu > li > a {
	display: block;
  font-size: 18px;
  font-size: 1.8rem;
  color: #222222;
  letter-spacing: 0.51px;
  text-align: center;
  line-height: 20px;
  padding: 10px 0;
  text-decoration: none;
}

/* ========================================== 

    Featured Slider 

========================================== */

#featured-slider {
	background-color: #ffffff;
	width: 100%;
	border: none;
	border-radius: 0;
	overflow: hidden;
}

#featured-slider .flex-viewport {
	height: 850px!important;
	width: 100%;
	-webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

#featured-slider ul.slides,
#featured-slider ul.slides li { width: 100%;}

#featured-slider ul.slides li {
	overflow: hidden;
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
  height: 850px!important;
  background-color: #ffffff;
}

#featured-slider ul.slides li video {
	width: auto;
	height: 850px;
}

#featured-slider ul.slides li img {
	opacity: 0;
}

#featured-slider h1 {
	font-size: 150px;
	font-size: 15rem;
	color: #ffffff;
	font-weight: 200;
	letter-spacing: 100px;
	text-align: center;
	display: block;
	padding: 55px 0;
	width: 100%;
	background-color: rgba(0,0,0,.3);
	position: relative;
	text-shadow: 0 2px 20px rgba(0,0,0,0.70);
	z-index: 9000;
	position: absolute;
	top: 282px;
	left: 0;
	opacity: 0;
	text-indent: 50px;
	margin-bottom: 0;
	height: 286px;
}

#featured-slider h1.long {
  font-size: 100px;
  font-size: 10rem;
  line-height: 186px;
  line-height: 18.6rem;
  letter-spacing: 15px;
  text-indent: 15px;
}

#featured-slider h1::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 58px 58px 58px;
	border-color: transparent transparent rgba(0,0,0,.3) transparent;
	position: absolute;
	top: -58px;
	left: 50%;
	margin-left: -58px;
	z-index: 9000;
}

#featured-slider h1::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 58px 58px 0 58px;
	border-color: rgba(0,0,0,.3) transparent transparent transparent;
	position: absolute;
	bottom: -58px;
	left: 50%;
	margin-left: -58px;
	z-index: 9000;
}

#featured-slider ul.slides li img {
	position: relative;
	width: 100%;
}

#featured-slider ul.slides li iframe,
.grid-item iframe {
	position: relative;
	background-color: #000000;
	margin: 0;
	padding: 0;
	border: 0;
	width: 100%;
	height: 100%;
	min-height: 200px;
}

.video-screen {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	background-color: rgba(0,0,0,0);
	width: 100%;
	height: 100%;
}

.flex-direction-nav {
	top: calc(50% + 50px);
	position: absolute;
	left: 0;
	width: 100%;
	height: 0;
	margin-top: 0;
	opacity: 0;
}

.flex-direction-nav a {
  text-decoration: none;
  display: block;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  position: absolute;
  opacity: 1;
  color: #ffffff;
  text-shadow: none;
}
.flex-direction-nav a.flex-prev {
	left: 50%!important;
	margin-left: -30px;
	text-align: center;
	top: -190px;
	margin-top: 0;
}

.flex-direction-nav a.flex-next {
	left: 50%!important;
	margin-left: -30px;
	text-align: center;
	top: 120px;
	margin-top: 0;
}
.flex-direction-nav a.flex-next:before { content: '';}
.flex-direction-nav a.flex-prev:before { content: '';}

.flex-direction-nav a:before,
.flex-direction-nav a:after {
  font-family: "Font Awesome 5 Pro";
  font-size: 60px;
  display: inline-block;
  color: #ffffff;
  font-weight: 200;
}

/* ========================================== 

    Opener 

========================================== */

#opener {
	padding: 200px 0;
	background-color: #ffffff;
	overflow: hidden;
}

#opener h1 {
	font-size: 45px;
	font-size: 4.5rem;
	color: #000000;
	letter-spacing: 4px;
	line-height: 65px;
	line-height: 6.5rem;
	text-align: right;
	font-weight: 200;
	padding-right: 40px;
	position: relative;
  right: -200px;
  opacity: 0;
}

#opener .col.six:first-of-type {
	border-right: 3px solid #106177;
}

#opener p {
	text-align: left;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 37px;
	line-height: 3.7rem;
	letter-spacing: 1px;
	padding-left: 40px;
}

#opener .btn {
	margin-left: 40px;
	margin-top: 40px;
}

/* ========================================== 

    Home CTAs 

========================================== */

#home-ctas {
	background-color: #ffffff;
	padding-bottom: 200px;
	overflow: hidden;
}

#home-ctas .cta {
	position: relative;
	max-width: 22%;
	top: 20px;
	opacity: 0;
	overflow: hidden;
	display: block;
}
#home-ctas .cta img {
	width: 100%;
	height: auto;
}

#home-ctas .cta video {
	position: relative;
  left: 50%;
  z-index: 5;
}

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

    Shade 

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

.shade {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: -moz-radial-gradient(center, ellipse cover,  rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.6) 100%);
	background: -webkit-radial-gradient(center, ellipse cover,  rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.6) 100%);
	background: radial-gradient(ellipse at center,  rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.6) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4d000000', endColorstr='#99000000',GradientType=1 );
	opacity: 0;
	z-index: 10;
	transition: all .5s;
}
.cta:hover .shade,
.grid-item:hover .shade,
html.touchevents .grid-item .shade {
	opacity: 1;
}

.shade span {
	position: absolute;
	text-align: center;
	width: 100%;
	color: #ffffff;
	text-align: center;
	font-size: 25px;
	font-size: 2.5rem;
	letter-spacing: 4px;
	display: block;
	text-transform: uppercase;
	padding: 0 20px;
}

html.touchevents .shade span {
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 2px;
	padding: 0 10px;
}

/* ========================================== 

    Main 

========================================== */

main#main {
	padding: 60px 0 90px;
	background-color: #ffffff;
}

.post-content {
	max-width: 1060px;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 50px;
}
body.single-post .post-content { text-align: left;}

.post-content p {
	font-size: 20px;
	font-size: 2rem;
	line-height: 30px;
	line-height: 3rem;
	letter-spacing: 1px;
	margin-bottom: 16px;
}

.post-content p a {
	font-weight: 800;
	color: #106177;
	transition: color .5s;
}

.post-content p a:hover { color: #CCCCCC;}

.post-content blockquote.wp-block-quote {
	max-width: 800px;
	margin: 0 auto;
}

.post-content blockquote.wp-block-quote p {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 25px;
	line-height: 2.5rem;
}

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

    Story Nav 

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

#story-nav {
	background: transparent;
	position: fixed;
	top: 360px;
	left: 0;
	z-index: 8500;
	transition: all .5s;
}
#story-nav.scroll { top: 170px;}
#story-nav a {
	background-color: #cccccc;
	padding: 20px 30px;
	color: #ffffff;
	display: inline-block;
	text-transform: uppercase;
	transition: all .5s;
	position: absolute;
}

#story-nav a[rel="prev"] { left: 0;}
#story-nav a[rel="next"] { right: 0;}

#story-nav a:hover { background-color: #106177;}

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

    Grid 

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

.photo-grid {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	position: relative;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	*zoom: 1;
	opacity: 0;
	left: 20px;
	overflow: hidden;
}
.grid-sizer { width: 11.667%;}
.gutter-sizer { width: 5%;}

.grid-item {
	position: relative;
	margin-bottom: 50px;
	text-align: center;
	float: left;
	display: inline-block;
}

.grid-item img { width: 100%;}

.grid-item { width: 30%;}
.grid-item.grid-item--width2 { width: 46.6%;}
.grid-item.grid-item--width3 { width: 100%;}

.fancybox-bg { background: #ffffff;}
.fancybox-is-open .fancybox-bg { opacity: 1;}
.fancybox-button { background-color: #cccccc;}
.fancybox-button:hover { background-color: #aaaaaa;}
.fancybox-navigation .fancybox-button,
.fancybox-button.fancybox-button--close {
	height: 70px;
	width: 70px; 
}
.fancybox-button.fancybox-button--close { padding: 15px;}
.fancybox-slide--image { padding: 100px 90px 50px;}
.fancybox-navigation .fancybox-button--arrow_right,
.fancybox-navigation .fancybox-button--arrow_left { padding: 0;}
.fancybox-navigation .fancybox-button div { padding: 10px 0;}
.fancybox-button svg path { fill: #ffffff;}
.fancybox-button[disabled],
.fancybox-button.fancybox-button--zoom,
.fancybox-button.fancybox-button--play,
.fancybox-button.fancybox-button--thumbs {
	display: none!important;
}
.fancybox-caption {
  background: #ffffff;
  max-width: 760px;
  color: #000000;
  font-size: 20px;
  font-weight: 200;
  line-height: 30px;
  letter-spacing: 1px;
  padding: 35px 20px 50px;
  margin: 0 auto;
}

.grid-item.personal-port .btn.invert {
	opacity: 0;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 230px;
	margin-left: -115px;
	transition: all .5s;
}

.grid-item.personal-port:hover .btn.invert {
	bottom: 20px;
	opacity: 1;
}

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

    Photo Single 

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

.photo-single { margin-bottom: 30px;}
.photo-single .row { justify-content: center;}
.photo-single a { width: 100%;}
.photo-single img { width: 90%; margin: 0 5%;}
.photo-single iframe {
	width: 100%;
	height: 500px;
	display: block;
	margin: 0 auto;
}
.photo-single iframe.youtube-player {
	width: auto;
	height: auto;
	min-width: 600px;
	min-height: 450px;
}
.photo-single .row .post-content { padding-bottom: 0;}

/* ========================================== 

    Footer 

========================================== */

footer#site-footer #footer-top {
	background-color: #106177;
	padding: 80px 0;
	text-align: center;
}

a.social-link {
	color: rgba(255,255,255,1);
	font-size: 40px;
	font-size: 4rem;
	padding: 0 8px;
	display: inline-block;
	transition: color .5s;
}

.social-link span {
	position: absolute;
	opacity: 0;
	visibility: hidden;
}

a.email-link {
	font-size: 30px;
	font-size: 3rem;
	color: rgba(255,255,255,1);
	margin-top: 40px;
	display: block;
	transition: color .5s;
}

a.social-link:hover,
a.email-link:hover {
	color: rgba(255,255,255,.5);
}

footer#site-footer #footer-top hr {
  display: block;
  height: 3px;
  background-color: #287184;
  border: 0;
  margin: 60px 0;
  padding: 0;
}

nav.footer-nav ul {
	display: flex;
	justify-content: space-between;
	width: 100%;
	flex-wrap: wrap;
}

nav.footer-nav ul li.reveal {
	top: 0!important;
	opacity: 1!important;
}

nav.footer-nav ul li.header-only {
	display: none!important;
}

nav.footer-nav ul li a {
	color: rgba(255,255,255,1);
	display: inline-block;
	letter-spacing: 4px;
	font-size: 20px;
	font-size: 2rem;
	transition: color .5s;
	text-transform: uppercase;
}

nav.footer-nav ul li a:hover {
	color: rgba(255,255,255,.5);
}

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

    Footer Bottom 

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

#footer-btm {
	background-color: #ffffff;
	padding: 30px 0;
	font-size: 14px;
	font-size: 1.4rem;
	color: #106177;
	letter-spacing: .3px;
	text-align: center;
}

#footer-btm a {
	color: #106177;
}

#footer-btm span {
	font-size: 20px;
	font-size: 2rem;
	position: relative;
	top: 2px;
	margin: 0 20px;
}

/* ========================================== 

    Fonts 

========================================== */

h1 {
	font-size: 40px;
	font-size: 4rem;
	color: #CCCCCC;
	letter-spacing: 6.5px;
	text-align: center;
	margin-bottom: 80px;
	font-weight: 200;
	text-transform: uppercase;
}

h3 {
	font-size: 30px;
	font-size: 3rem;
	color: #106177;
	letter-spacing: 1px;
	text-align: center;
	margin-bottom: 20px;
	font-weight: 800;
	text-transform: uppercase;
}

h3 a,
h4 a {
	color: #106177;
	text-decoration: underline;
}

h4 {
	font-size: 25px;
	font-size: 2.5rem;
	color: #999999;
	letter-spacing: 1px;
	text-align: center;
	margin-bottom: 20px;
	font-weight: 200;
}


/* ========================================== 

    Forms & Buttons 

========================================== */

.btn {
	font-size: 20px;
	font-size: 2rem;
	padding: 20px 33px;
	color: #ffffff;
	background-color: #106177;
	font-weight: 200;
	display: inline-block;
	text-decoration: none;
	letter-spacing: 2px;
	transition: background-color .5s;
}

.btn:hover { background-color: #084756;}

.btn.invert {
	font-size: 16px;
	font-size: 1.6rem;
	padding: 10px 16px;
	color: #106177;
	background-color: #ffffff;
}

.btn.invert:hover {  background-color: #106177; color: #ffffff;}


/* ========================================== 

    Hides & Fixes 

========================================== */

.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.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; }


/* ========================================== 

    Media: Mobile 

========================================== */





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

    Desktop more than 1500px 

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

@media screen and (min-width: 1500px) { 
	
	#featured-slider ul.slides li video {
		width: 100%;
		height: auto;
	}

}



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

    Desktop less than 1440px 

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

@media screen and (max-width: 1440px) { 
	
	header#site-header,
	header#site-header.scroll,
	#opener,
	#home-ctas,
	main#main > .row {
		padding-left: 20px;
		padding-right: 20px;
	}
	#opener h1 {
		font-size: 40px;
		font-size: 4rem;
		line-height: 55px;
		line-height: 5.5rem;
	}

}

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

    Desktop less than 1280px 

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

@media screen and (max-width: 1280px) { 
	#opener h1 {
		font-size: 30px;
		font-size: 3rem;
		line-height: 40px;
		line-height: 4rem;
	}
	#opener h1 br { display: none;}
	#featured-slider h1 { letter-spacing: 50px;}
	header#site-header.scroll nav#main-nav ul li a { margin: 0;}
	.photo-grid { margin: 0 40px; left: 0;}
}

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

    Desktop less than 1024px 

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

@media screen and (max-width: 1024px) {

	.desktop,
  #main-nav {display: none!important;}

  header#site-header { position: relative!important;}
	#header-dummy {display: none!important;}

	.mobile,
	#nav-trigger,
	#mobile-nav{
		display: block;
		z-index: 40;
	}
	header#site-header { padding: 30px 20px 20px;}
	header#site-header > .row { justify-content: space-between;}
	header#site-header #logo { width: 200px; margin-bottom: 0}

	#featured-slider .flex-viewport,
	#featured-slider ul.slides li {
	  height: 700px!important;
	}

	#featured-slider ul.slides li video {
		height: 700px!important;
	}

	#opener {
		padding-top: 120px;
		padding-bottom: 120px;
	}

  #opener .col {
    width: 100%!important;
    margin-bottom: 20px!important;
    text-align: center;
  }

  #opener .col.six:first-of-type { border-right: none;}
  #opener h1 {
  	text-align: center;
  	padding-right: 0;
  	opacity: 1!important;
  	right: 0!important;
  }
  #opener p { padding-left: 0; text-align: center;}
  #opener .btn { margin-left: 0;}

	#home-ctas { padding-bottom: 50px;}
	#home-ctas .cta {
		max-width: none;
		width: 48%;
		margin-bottom: 30px;
	}
	#featured-slider h1 {
		letter-spacing: 30px;
    font-size: 100px;
    font-size: 10rem;
    padding: 30px 0;
    text-indent: 30px;
    height: 177px;
	}

	#featured-slider h1.long {
    font-size: 60px;
    font-size: 6rem;
    line-height: 117px;
    line-height: 11.7rem;
    letter-spacing: 10px;
    text-indent: 10px;
	}

	#featured-slider .flex-direction-nav a.flex-prev { top: -160px;}
	#featured-slider .flex-direction-nav a.flex-next { top: 40px;}
	#footer-top .row.reduce { padding: 0 40px;}

	.grid-sizer, .grid-item { width: 47.5%!important;}
	.grid-item.grid-item--width3 { width: 100%!important;}
	.gutter-sizer { width: 5%;}

	.photo-grid { left: 0;}

}

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

    Desktop less than 900px 

------------------------------------------ */
@media screen and (max-width: 900px) {
	#opener { padding: 90px 40px 60px;}

  #featured-slider ul.slides li img { opacity: 0;}
  .grid-item {
  	margin-bottom: 30px;
  }
  #story-nav {
    background: #ffffff;
    position: relative; 
    top: 0!important;
    padding-bottom: 50px;
	}
}


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

    Desktop less than 768px 

------------------------------------------ */
@media screen and (max-width: 768px) { 

  .col {
    width: 100%!important;
    margin-bottom: 20px!important;
  }

}

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

    Desktop less than 640px 

------------------------------------------ */
@media screen and (max-width: 640px) {

	footer#site-footer #footer-top { padding-bottom: 40px;}

	nav.footer-nav ul li {
		width: 100%;
		margin-bottom: 20px;
	}

	footer#site-footer #footer-top hr { margin: 45px 0;}
	
	.grid-sizer, .grid-item { width: 100%!important;}
	.gutter-sizer { width: 0;}

	.grid-item.personal-port .btn.invert {
		opacity: 1!important;
		bottom: 20px!important;
	}

	#featured-slider .flex-viewport,
	#featured-slider ul.slides li,
	#featured-slider ul.slides li video {
	  height: 400px!important;
	}

	#featured-slider h1 {
    letter-spacing: 20px;
    font-size: 50px;
    font-size: 5rem;
    padding: 20px 0;
    text-indent: 20px;
    background-color: rgba(0,0,0,.5);
    height: 100px;
	}

	#featured-slider h1.long {
    font-size: 30px;
    font-size: 3rem;
    line-height: 70px;
    line-height: 7rem;
    letter-spacing: 8px;
    text-indent: 8px;
	}

	#featured-slider h1::before {
    border-color: transparent transparent rgba(0,0,0,.5) transparent;
  	border-width: 0 48px 48px 48px;
		top: -48px;
		margin-left: -48px;
	}
	#featured-slider h1::after {
    border-color: rgba(0,0,0,.5) transparent transparent transparent;
    border-width: 48px 48px 0 48px;
		bottom: -48px;
		margin-left: -48px;
	}

	#featured-slider .flex-direction-nav a:before,
	#featured-slider .flex-direction-nav a:after {
		font-size: 40px;
	}
	#featured-slider .flex-direction-nav a {
    width: 40px;
    height: 40px;
    margin-left: -20px;
	}
	#featured-slider .flex-direction-nav a.flex-prev { top: -120px;}
	#featured-slider .flex-direction-nav a.flex-next { top: 0;}
	a.email-link {
    font-size: 20px;
    font-size: 2rem;
	}
	#footer-btm { overflow: hidden;}

	#footer-btm a { display: block;}

	#footer-btm span { display: block;}
	h3 {
    font-size: 20px;
    font-size: 2rem;
	}
	
}

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

    Desktop less than 568px 

------------------------------------------ */
@media screen and (max-width: 568px) { 
	.mcol {
    width: 100%!important;
    margin-bottom: 20px!important;
	}
	#home-ctas .cta {
		width: 100%;
		margin-bottom: 30px;
	}

}

/* ========================================== 

    Media: Print 

========================================== */

@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
  a, a:visited { text-decoration: underline; }
  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; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
