html{-webkit-text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body{word-wrap:break-word;/* This is a small security for too long strings titles */}

/* Apply a natural box layout model to all elements: http://paulirish.com/2012/box-sizing-border-box-ftw/ */
/* * {-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;} */

/* JS required warning */
.javascript-required { background: #a00; color: #fff; font-size: 2rem; line-height: 1.3; text-align: center; padding: 15px 0; }
.javascript-required p{margin:0;padding:0;}

/* Clearfix */
.clearfix:before,.clearfix:after{content:' ';display:table;}
.clearfix:after{clear:both;}
.clearfix{*zoom:1;}

/* Helper classes */
.nobr,.phone{white-space:nowrap;}
.uppercase{text-transform:uppercase;}
.no-margin{margin:0 !important;}
.transition-opacity{-o-transition:opacity 0.25s linear;-moz-transition:opacity 0.25s linear;-khtml-transition:opacity 0.25s linear;-webkit-transition:opacity 0.25s linear;-ms-transition:opacity 0.25s linear;transition:opacity 0.25s linear;-webkit-transform:translateZ(0); }

/* General font styles */
b,strong,.strong,.bold { font-weight: 600; }
.large { font-size: 1.8rem; }
.thin { font-weight: 400; }
.small,small { font-size: 75%; /* display: inline-block; */ line-height: 1.4; }
.lead { font-size: 1.6rem; line-height: 1.7; font-weight: 600; }

h1 { font-size: 1.8rem; }
h2 { font-size: 1.6rem; }


header { font-size: 1rem; background: #222; border-bottom: 1px solid #222; padding: 15px 0; text-align: center;
-webkit-box-shadow: 0px 3px 3px 0px rgba(153,153,153,0.75);
-moz-box-shadow: 0px 3px 3px 0px rgba(153,153,153,0.75);
box-shadow: 0px 3px 3px 0px rgba(153,153,153,0.75);
}
header a, header a:hover { color: #fff !important; text-decoration: none !important; }


/****    THEME    ****/
body { color: #222; margin: 0; font-family: serifa, serif; font-weight: normal; font-style: normal; font-size: 1.125rem; line-height: 1.5; }
a { color: #007bff; text-decoration: none; outline: none !important; -o-transition: color 0.3s ease; -moz-transition: color 0.3s ease; -khtml-transition: color 0.3s ease; -webkit-transition: color 0.3s ease; -ms-transition: color 0.3s ease; transition: color 0.3s ease; }
.no-touchevents a:hover { color: #0056b3; text-decoration: underline; }
a.icon-external:after {
	color: #999;
	content: "\f08e";
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	text-decoration: inherit;
	font-size: 10px;
	vertical-align: middle;
	margin: -6px 0 0 6px;
	display: inline-block;
}
a.icon-external:hover:after { text-decoration: none; }

.background-cover {
	position: relative;
	background-size: cover !important;
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-position: center center;
	height: calc(100vh);
    -webkit-animation: fadein 1s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 1s; /* Firefox < 16 */
        -ms-animation: fadein 1s; /* Internet Explorer */
         -o-animation: fadein 1s; /* Opera < 12.1 */
            animation: fadein 1s;
}
keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

p { margin: 0 0 1.5em 0; }
p.x-margin { margin: 0 0 2.5em 0; }

ul.nodisc { line-height: 1.2; list-style-type: none; padding-left: 0; }
ul.nodisc li { padding: 10px 0; }

ul.social-media { font-size: 1.75rem; line-height: 1; list-style-type: none; padding-left: 0; margin-top: 75px; }
ul.social-media li { display: inline; }
ul.social-media li a, a.social-media { padding: 5px; color: #aaa; }
.no-touchevents ul.social-media li a:hover,
.no-touchevents a.social-media:hover { color: #555; }

::selection { background: #ff9; }
::-moz-selection { background: #ff9; }

/****    FOOTER    ****/
footer { background: #eee; font-size: 0.8125rem; padding: 50px 0; }
footer a { color: #222; text-decoration: underline; }
.no-touchevents footer a:hover { color: #0056b3; text-decoration: none; }
footer p:last-child { margin-bottom: 0; }



/****    SECTIONS    ****/
section.section-padding { padding: 75px 0; }
section#intro { }
section#intro .container,
section#intro .row { height: 100%; }
section#intro h1 { font-weight: 600; font-size: 1.7rem; }
section#intro a { border-radius: 4px; color: #fff; text-decoration: none; -o-transition: background 0.3s ease; -moz-transition: background 0.3s ease; -khtml-transition: background 0.3s ease; -webkit-transition: background 0.3s ease; -ms-transition: background 0.3s ease; transition: background 0.3s ease; }
.no-touchevents section#intro a:hover { background: rgba(34,34,34,0.9); color: #fff; text-decoration: none; }
section#intro ul { font-size: 0.95rem; text-transform: uppercase; padding: 0; margin: 25px 0; }
section#intro ul li { display: inline; padding: 0; margin: 0; }
section#intro ul li a { padding: 5px 10px; }
.intro-content {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	color: #fff;
	text-shadow: 1px 1px 10px rgba(0,0,0,0.7);
	text-align: center;
}

section#bio { background: #fff; } 
section#instagram { background: #eee; font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 1.5rem; font-weight: 600; }
section#instagram #instafeed { background: #eee; margin-bottom: 25px; }
section#contact { background: #eee; }



/****    FORM    ****/
span.required { color: #c00; padding-left: 5px; }
.form-group { margin-bottom: 1em; }
.form-group .form-control { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.form-control.error { border: 1px solid #c00; }
.form-group label { font-weight: 600; color: #555; font-size: 0.888888888888889rem; margin-bottom: 0.25em; }
.form-group label.error { font-weight: 400; color: #c00; font-size: 0.875rem; padding-top: 4px; float: right; }
.g-recaptcha { margin-bottom: 25px; }
/*
.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
*/



/****    INSTAFEED.JS    ****/
.col-instafeed {
    padding-left: 0;
    padding-right: 0;
}
.col-instafeed > div {
	position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
}
.col-instafeed img {
    width: 100%;
    max-width: 100%;
    height: auto;
}
#instafeed {
	font-size: 1.4rem;
}
#instafeed .instafeed-details span {
	margin: 0 10px;
}
#instafeed .instafeed-details i {
	padding-right: 5px;
}
#instafeed .instafeed-details {
    background: rgba(0, 0, 0, 0.5);
    font-size: 0.875em;
    position: absolute;
    color: #fff;
    opacity: 0;
    text-align: center;
    top: 0;
    padding-top: 50%;
    left: 0;
    width: 100%;
    height: 100%;
    line-height: 100%;
    text-shadow: 0 1px rgba(0, 0, 0, 0.5);
    -webkit-font-smoothing: antialiased;
    -webkit-transition: opacity 100ms ease;
    -moz-transition: opacity 100ms ease;
    -o-transition: opacity 100ms ease;
    -ms-transition: opacity 100ms ease;
    transition: opacity 100ms ease;
}
.no-touchevents #instafeed a:hover .instafeed-details {
    opacity: 0.9;
}




/****    PRINT STYLES    ****/
@media print {
	.container { width: auto; }
}


/****    MEDIA QUERIES    ****/
@media (min-width: 360px) {
	header { font-size: 1.5rem; }
	section#intro h1 { font-size: 2rem; }
	section#intro ul { font-size: 1.1rem; }
}
@media (min-width: 576px) {
	section#intro h1 { font-size: 2.5rem; }
	section#intro ul { font-size: 1.25rem; }
	section#intro ul li a { padding: 5px 15px; }
}
@media (min-width: 666px) {
	section#intro h1 { font-size: 3.0rem; }
}
@media (min-width: 768px) {
	section#intro h1 { font-size: 3.5rem; }
	section.section-padding { padding: 125px 0; }
}
@media (min-width: 992px) {
}
@media (min-width: 1200px) {
}



/* WORK IN PROGRESS */
/* https://stackoverflow.com/questions/30102792/css-media-query-target-only-ios-devices */
@supports (-webkit-overflow-scrolling: touch) {
	/* CSS specific to iOS devices */
}
@supports not (-webkit-overflow-scrolling: touch) {
	/* CSS for other than iOS devices */
	.background-cover { background-attachment: fixed; }
}






/****     SLIDESHOW HERO     ****/
.cycle-slideshow-hero,
.cycle-slideshow-hero .cycle-slide,
.cycle-slideshow-hero .cycle-slide .cycle-slide-fullscreen {
	width: 100%;
	height: 100vh; 
	position: relative;
	background-size: cover !important;
	background-attachment: scroll;
	background-repeat: no-repeat;
	background-position: center center;
}
.cycle-slideshow-hero {
	z-index: 1;
}
.cycle-slideshow,
.cycle-slideshow img {
	width: 100%;
	height: auto;
	z-index: 900;
}
.cycle-prev-next { margin: 15px 0 0 0; }
.cycle-prev-next i { padding: 15px; cursor: pointer; opacity: 1; filter: alpha(opacity=100); transition: all 0.3s ease; /* transform: translate3d(0,0,0); */ }
.no-touch .cycle-prev-next i:hover { opacity: 0.75; filter: alpha(opacity=75); }


