/* --- Hero --- */

header .left,
header .social {
    display: none;
}
@media only screen and (min-width: 1000px) and (min-device-width: 480px) {    
    header {
        width: 100%;
        display: block;
        padding: .6em 1em;
        position: absolute;
        z-index: 1000;
    }
    .fixed-header header,
    .expanded-menu header {
        position: fixed;
        left: 0;
        top: 0;
        z-index: 6000;
    }
    header section {
        display: inline-block;
		position: absolute;
        opacity: 0;
        -o-transition-delay: .5s;
        -ms-transition-delay: .5s;
        transition-delay: .5s;
		top: 50%;
		padding-top: .5em;
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);		
		-moz-transition:    all 0.25s ease-in-out;
		-o-transition:      all 0.25s ease-in-out;
		-webkit-transition: all 0.25s ease-in-out;
		transition:         all 0.25s ease-in-out;
    }
    .animate header section {
        opacity: 1;
    }
    header .left {
        display: inline-block;
        font-size: .7em;
        text-transform: uppercase;
		left: 0;
    }
    header .right {
        text-transform: uppercase;
		right: 0;
		padding-right: 3em;
    }
    header .social {
        display: inline-block;
        font-size: .9em;
        padding: .2em 1.4em 0 0;
    }
}
@media only screen and (min-width: 1200px) {
    header .left {
        font-size: .9em;
    }	
    header .right {
		padding-right: 2em;
    }
}
@media only screen and (min-width: 1400px) and (min-device-width: 480px) {    
    header .right {
    }
}
/* --- Menu Trigger --- */

.menu-trigger { 
	background: transparent;
	width: 1.7em;
	height: 1.7em;
	padding: 0;
	display: inline-block;
	cursor: pointer; 
	position: absolute;
	right: 0;
	top: 53%;
	z-index: 10000;
	-moz-transform:    translateY(-50%);
	-ms-transform:     translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform:         translateY(-50%); 
	border-radius: 50%;
	-moz-transition:    all 0.25s ease-in-out;
	-o-transition:      all 0.25s ease-in-out;
	-webkit-transition: all 0.25s ease-in-out;
	transition:         all 0.25s ease-in-out;		
}
.menu-trigger:hover { 
}
.menu-trigger .hamburger,
.menu-trigger .hamburger:after,
.menu-trigger .hamburger:before {
	background-color: var(--red); 
	width: 1.7em;
	height: 3px;
	display: block;
}
.menu-trigger:hover .hamburger,
.menu-trigger:hover .hamburger:after,
.menu-trigger:hover .hamburger:before {
}
.menu-trigger .hamburger {
	display: block;
	position: absolute;
	left: 50%;
	top: 48%;
	-moz-transform:    translateX(-50%);
	-ms-transform:     translateX(-50%);
	-webkit-transform: translateX(-50%);
	transform:         translateX(-50%);  	
	-moz-transition:    all 0.25s ease-in-out;
	-o-transition:      all 0.25s ease-in-out;
	-webkit-transition: all 0.25s ease-in-out;
	transition:         all 0.25s ease-in-out;		
}
.expanded-menu .menu-trigger .hamburger {
	background: rgba(255,255,255, 0); 
	top: 48%;	
}
.menu-trigger .hamburger:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 6px;
  -moz-transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.menu-trigger .hamburger:after {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  -moz-transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.expanded-menu .menu-trigger .hamburger:after {
	top: 0;
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-moz-transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
	-o-transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
	-webkit-transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.expanded-menu .menu-trigger .hamburger:before {
	bottom: 0;
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-moz-transition:    bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
	-o-transition:      bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
	-webkit-transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
	transition:         bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
  
.expanded-menu .menu-trigger .hamburger:after,  
.expanded-menu .menu-trigger .hamburger:before {
	background: var(--red); 
}

/* --- General Social --- */

.social a,
.call {
    font-size: 1.3em;
	padding: 0 .2em;
    display: inline-block;
	color: var(--blue);
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.social a:hover,
.call:hover {
	color: var(--red);	
}
.social .hashtag {
    text-transform: uppercase;
    padding-right: .4em;
    font-size: .9em;
	position: relative;
}
@media only screen and (min-width: 1000px) and (min-device-width: 480px) { 	
	.social .hashtag {
		font-size: .9em;
		top: -.1em;
	}
}
@media only screen and (min-width: 1200px) and (min-device-width: 480px) { 	

}
@media only screen and (min-width: 1400px) and (min-device-width: 480px) {     
	
}
@media only screen and (min-width: 1600px) and (min-device-width: 480px) {     
	.social .hashtag {
		font-size: 1.2em;
	}
}

/* --- Layer Basics --- */

.layer {
    background-position: center top;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    position: relative;
	text-align: center;	
}
.content,
.interior .events {
    -webkit-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
}
.layer h2 {
    font-size: 1.8em;
    line-height: 1;
    text-transform: uppercase;
	margin-bottom: .4em;
	text-align: center;
}
.interior .content h2 { margin-top: 1em; }
.layer h3 {
    font-size: 1.5em;
	text-align: center;
    font-weight: 400;
}
.content.layer a { 
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
 }


@media only screen and (min-width: 740px) {
    .interior .layer {
        padding: 2.5em 2em;
    }
    .layer h2 {
        font-size: 1.7em;
    }
    .layer h3 {
        font-size: 1.4em;
    }
}
@media only screen and (min-width: 900px) {
    .interior .layer {
        padding: 3em 2em;
    }
    .layer h2 {
        font-size: 1.8em;
    }
    .layer h3 {
        font-size: 1.5em;
    }
}
@media only screen and (min-width: 1200px) {
    .interior .layer {
        padding: 5em 2em;
    }
    .layer h2 {
        font-size: 2em;
    }
    .layer h3 {
        font-size: 1.6em;
    }
}
/* --- Form Defaults --- */

form ul,
form ol {
    list-style: outside none none;
    margin: 0;
}

/* --- Gravity Form Hacks --- */

.gform_body ul {
	margin: 0 auto;
}
.ginput_container {
    position: relative;
}
.validation_error {
    display: block;
    text-align: center;
    padding: 0 0 1em;
}
.validation_message {
    display: inline-block;
    font-size: .8em;
    text-transform: uppercase;
    padding: .2em .35em;
    position: absolute;
    left: 0;
    z-index: 1000;
    bottom: 93%;
}
.validation_message:after {
    position: absolute;
    left: 10%;
    top: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    pointer-events: none;
    border-width: 6px;
    margin-left: -6px;
}

.extensions_message { display: none; }
.gform_validation_container { display: none !important; }


/* --- Content Page --- */
.interior .content .wrap {
	padding: 2em;
	font-size: 1.1em;
	line-height: 1.4;
}
@media only screen and (min-width: 740px) {
    .interior .content .wrap {
        padding: 2em;
		font-size: 1.3em;
    }
}
@media only screen and (min-width: 1000px) {
    .interior .content .wrap {
		font-size: 1.4em;
    }
}
@media only screen and (min-width: 1200px) {
    .interior .content .wrap {
        padding: 2em 0;
		font-size: 1.5em;		
    }
}

/* --- Gallery --- */

.gallery {
    width: 100%;
    height: 100%;
}
.gallery:after {
    content: "";
    display: block;
    clear: both;
}
.gallery .photo {
    position: relative;
    float: left;
    width: 50%;
    padding: 1px;
}
.photo-sizer {
    width: 50%;
}
@media only screen and (min-width: 1000px) {
    .gallery .photo {
        width: 33%;
    }
    .photo-sizer {
        width: 33%;
    }
}
.gallery .photo a {
    display: block;
}
.gallery .photo img {
    width: 100%;
    float: left;
}

/* --- Photo Galleries --- */

.photo-gallery { 
	position: relative;
	padding: 0 0; }
	
@media only screen and (min-width: 700px) {
	.photo-gallery { 
		padding: 0 2em; 
	}
}

.gallery .photo img,
.gallery img { 
	width: 100%; 
	height: auto !important; }
	
/* --- Photos List --- */
.list {}
.list article a {
	display: block;
	padding: .4em;
	position: relative; }
.list article img { 
	width: 100%;
	height: auto !important; }

.list article h3 {
	width: 100%;
	position: absolute; 
	top: 50%;
	z-index: 100;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
	line-height: 1.2;
	font-size: 1.5em;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
.list article:hover h3 {
    -moz-transform: scale(1.1) translateY(-50%);
    -ms-transform: scale(1.1) translateY(-50%);
    -webkit-transform: scale(1.1) translateY(-50%);
    transform: scale(1.1) translateY(-50%); }

.list article h3 span { padding: .3em; }	
	
@media only screen and (min-width: 500px) {
.list article {
	width: 49%;
	display: inline-block;
	vertical-align: text-top; }
}

@media only screen and (min-width: 1000px) {
.list article { width: 32%; }
}
