/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #000;
}

body {
	color: #000;
	font-family:'acumin-pro',sans-serif;
	font-size:16px;
	font-weight:400;
	letter-spacing:0.078125em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

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

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Coordinate Styles
   ========================================================================== */
body.locked { overflow:hidden; }
	
main { overflow:hidden; }

.site-border { background-color:#fff; position:fixed; top:0; bottom:0; width:3.125rem; z-index:15; }
.site-border.left { left:0; }
.site-border.right { right:0; }

/*
 * Top Bar/Navigation/Footer
 */
 
/** Top Bar **/
#top-bar { background-color:#000; padding:0.9375rem; position:absolute; top:0; left:0; right:0; z-index:25;
	-webkit-transition:background-color 0.3s ease-out;
	-o-transition:background-color 0.3s ease-out;
	transition:background-color 0.3s ease-out;
}
body.home #top-bar,
body #top-bar.menu-open { background-color:transparent; position:absolute; top:0; left:0; right:0; }
#top-bar h1 { float:left; height:15px; margin:0; width:115px; }
#top-bar h1 a { border:none; display:block; height:100%; width:100%; }
#top-bar h1 a svg { display:block; }
#top-bar h1 a svg path { fill:#fff;
	-webkit-transition:fill 0.3s ease-out;
	-o-transition:fill 0.3s ease-out;
	transition:fill 0.3s ease-out;
}
#top-bar.menu-open h1 a svg path { fill:#000; }

#top-bar .register-link { color:#fff; display:none; float:right; height:15px; line-height:16px; margin-right:1.875rem; padding-bottom:0; }
#top-bar .register-link::after { background-color:#fff; bottom:-0.3125rem;
	-webkit-transform:scaleX(1);
	    -ms-transform:scaleX(1);
	        transform:scaleX(1);
	-webkit-transform-origin:left;
	    -ms-transform-origin:left;
	        transform-origin:left;
}
#top-bar .register-link:hover:after {
	-webkit-transform:scaleX(0);
	    -ms-transform:scaleX(0);
	        transform:scaleX(0);
	-webkit-transform-origin:right;
	    -ms-transform-origin:right;
	        transform-origin:right;
}

#top-bar button.menu-trigger { background-color:transparent; border:none; color:#fff; display:block; float:right; font-size:1em; height:15px; line-height:16px; margin-top:0; padding:0 0 0 1.875rem; position:relative; width:auto;
  -webkit-transition: all 0.3s ease-out; 
          -o-transition: all 0.3s ease-out; 
          transition: all 0.3s ease-out;
}
#top-bar button.menu-trigger:hover { background-color:transparent; outline:none; }
#top-bar button.menu-trigger:focus { outline:none; }
#top-bar button.menu-trigger span { background-color:#fff; display:block; position:absolute; top:50%; left:0.625rem; margin-left:-0.625rem; height:1px; width:1.125rem;
  -webkit-transform-origin:50% 50%;
  -ms-transform-origin:50% 50%;
      transform-origin:50% 50%;
}
#top-bar button.menu-trigger span:first-child { margin-top:-6px; }
#top-bar button.menu-trigger span:last-child { margin-top:6px; }

#top-bar button.menu-trigger.closed span {  
  -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, color 0.3s ease-out;
          -webkit-transition:opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, -webkit-transform 0.3s ease-out, color 0.3s ease-out;
          transition:opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, -webkit-transform 0.3s ease-out, color 0.3s ease-out;
          -o-transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, color 0.3s ease-out;
          -webkit-transition:opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, color 0.3s ease-out, -webkit-transform 0.3s ease-out;
          transition:opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, color 0.3s ease-out, -webkit-transform 0.3s ease-out;
          transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, color 0.3s ease-out;
          transition:transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, color 0.3s ease-out, -webkit-transform 0.3s ease-out;
          transition: transform 0.3s ease-out, opacity 0.3s ease-out 0.3s, margin-top 0.3s ease-out 0.3s, -webkit-transform 0.3s ease-out, color 0.3s ease-out;
}
#top-bar button.menu-trigger.open span {  
  -webkit-transition: margin-top 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out 0.3s, color 0.3s ease-out; 
          transition:margin-top 0.3s ease-out, opacity 0.3s ease-out, -webkit-transform 0.3s ease-out 0.3s, color 0.3s ease-out; 
          -o-transition:margin-top 0.3s ease-out, opacity 0.3s ease-out, transform 0.3s ease-out 0.3s, color 0.3s ease-out; 
          -webkit-transition:margin-top 0.3s ease-out, opacity 0.3s ease-out, color 0.3s ease-outs, -webkit-transform 0.3s ease-out 0.3; 
          transition:margin-top 0.3s ease-out, opacity 0.3s ease-out, color 0.3s ease-outs, -webkit-transform 0.3s ease-out 0.3; 
          -o-transition:margin-top 0.3s ease-out, opacity 0.3s ease-out, transform 0.3s ease-out 0.3, color 0.3s ease-outs; 
          transition:margin-top 0.3s ease-out, opacity 0.3s ease-out, transform 0.3s ease-out 0.3, color 0.3s ease-outs; 
          transition:margin-top 0.3s ease-out, opacity 0.3s ease-out, transform 0.3s ease-out 0.3, color 0.3s ease-outs, -webkit-transform 0.3s ease-out 0.3; 
          transition: margin-top 0.3s ease-out, opacity 0.3s ease-out, transform 0.3s ease-out 0.3s, -webkit-transform 0.3s ease-out 0.3s, color 0.3s ease-out;
}

#top-bar button.menu-trigger.open span:first-child { margin-top:-1px;
  -webkit-transform: rotate(45deg); 
          -ms-transform: rotate(45deg); 
      transform: rotate(45deg); 
}
#top-bar button.menu-trigger.open span:nth-child(2) { opacity:0; }
#top-bar button.menu-trigger.open span:last-child { margin-top:-1px;
  -webkit-transform: rotate(-45deg); 
          -ms-transform: rotate(-45deg); 
      transform: rotate(-45deg); 
}

#top-bar.menu-open button.menu-trigger.open { color:#000; }
#top-bar.menu-open button.menu-trigger.open span { background-color:#000; }

/** Navigation **/
#site-navigation { background-color:#fff; background-clip:padding-box; overflow-y:scroll; opacity:0; padding-top:0; position:fixed; top:0; bottom:0; left:0; right:0; z-index:-1; width:100%;
	-webkit-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out, right 0.5s ease-out, left 0.5s ease-out;
	-o-transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out, right 0.5s ease-out, left 0.5s ease-out;
	transition: z-index 0s 0.75s ease-out, opacity 0.5s ease-out, right 0.5s ease-out, left 0.5s ease-out;
} 
#site-navigation.visible { z-index:20; opacity:1;
	-webkit-transition: opacity 0.5s ease-out, left 0.5s ease-out, right 0.5s ease-out;
	-o-transition: opacity 0.5s ease-out, left 0.5s ease-out, right 0.5s ease-out;
	transition: opacity 0.5s ease-out, left 0.5s ease-out, right 0.5s ease-out;
}

#site-navigation nav { padding:0.9375rem; }
#site-navigation nav ul { list-style:none; margin:0; padding:0; text-align:center; }
#site-navigation nav ul li { display:block; padding:0.9375rem 0; }
#site-navigation nav ul li:first-child { padding-top:0; }
#site-navigation nav ul li:last-child { padding-bottom:0; }
#site-navigation nav ul li a { display:inline-block; color:transparent; font-size:3em; font-weight:700; position:relative; text-decoration:none !important; z-index:5;
	text-stroke:1px #000;
	-webkit-text-stroke:1px #000;
}
#site-navigation nav ul li a::after { color:#000; content:attr(title); display:none; overflow:hidden; position:absolute; left:0; top:0; width:0; z-index:-1;
	-webkit-transition:width 0.3s ease-out;
	-o-transition:width 0.3s ease-out;
	transition:width 0.3s ease-out;
}
#site-navigation nav ul li a:hover::after { width:100%; }
#site-navigation nav ul li.current_page_item a::after { display:block; width:100%; }

/** Footer **/
#bottom-bar { background-color:#000; color:#808080; font-size:0.875em; letter-spacing:0; line-height:15px; padding-bottom:0.9375rem; padding-top:0.9375rem; }
#bottom-bar a { color:#808080; }

/*
 * Pages/Page Rows
 */

/** Home Page **/
#project-banner { height:100vh; min-height:400px; position:relative; z-index:5; }
#project-banner .project-slider { opacity:0; }
#project-banner .project-slider .flex-viewport ul { list-style:none; margin:0; padding:0; }
#project-banner .project-slider .flex-viewport ul li { pointer-events:none; }
#project-banner .project-slider .flex-viewport ul li.flex-active-slide { pointer-events:all; }
#project-banner .project-slider .flex-viewport ul li a.slide-link { display:block; }
#project-banner .project-slider .flex-viewport ul li .column { position:relative; }
#project-banner .project-slider .flex-viewport ul li .slide-content { position:absolute; top:50%; left:0; right:0; text-align:center; z-index:10;
	-webkit-transform:translateY(-50%);
	    -ms-transform:translateY(-50%);
	        transform:translateY(-50%);
}
#project-banner .project-slider .flex-viewport ul li .slide-content .slide-title h2 { color:transparent; display:inline-block; font-size:3.75em; font-weight:700; margin-left:auto; margin-right:auto; position:relative;
	text-stroke:1px #fff;
	-webkit-text-stroke:1px #fff;
}
#project-banner .project-slider .flex-viewport ul li .slide-content .slide-title h2::before { color:#fff; content:attr(data-number); display:block; font-size:0.875rem; font-weight:400; opacity:0; overflow:hidden; position:absolute; right:100%; bottom:75%;
	-webkit-transition:opacity 0.3s ease-out 0.3s;
	-o-transition:opacity 0.3s ease-out 0.3s;
	transition:opacity 0.3s ease-out 0.3s;
}
#project-banner .project-slider .flex-viewport ul li.flex-active-slide .slide-content .slide-title h2::before { opacity:1; }
#project-banner .project-slider .flex-viewport ul li .slide-content .slide-title h2::after { color:#fff; content:attr(title); display:block; overflow:hidden; position:absolute; left:0; top:0; width:0;
	-webkit-transition:width 0.3s ease-out 0.3s;
	-o-transition:width 0.3s ease-out 0.3s;
	transition:width 0.3s ease-out 0.3s;
}
#project-banner .project-slider .flex-viewport ul li.flex-active-slide .slide-content .slide-title h2::after { width:100%; }
#project-banner .project-slider .flex-viewport ul li .slide-image { opacity:0; /*-webkit-mask:url(../img/svg/image-mask.svg);*/ max-width:200px; margin:0 auto; overflow:hidden;
	-webkit-transition:opacity 0.3s ease-out 0.3s;
	-o-transition:opacity 0.3s ease-out 0.3s;
	transition:opacity 0.3s ease-out 0.3s;
}
#project-banner .project-slider .flex-viewport ul li.flex-active-slide .slide-image { opacity:1; }
#project-banner .project-slider .flex-viewport ul li .slide-image img { display:block;
	-webkit-transition:-webkit-transform 1s ease-out;
	transition:-webkit-transform 1s ease-out;
	-o-transition:transform 1s ease-out;
	transition:transform 1s ease-out;
	transition:transform 1s ease-out, -webkit-transform 1s ease-out;
}
#project-banner .project-slider .flex-viewport ul li:hover .slide-image img {
	-webkit-transform:scale(1.05);
	    -ms-transform:scale(1.05);
	        transform:scale(1.05);
}
#project-banner .project-slider .flex-viewport ul li .slide-image svg rect { fill:#fff;
	-webkit-transition:-webkit-transform 1s ease-out;
	transition:-webkit-transform 1s ease-out;
	-o-transition:transform 1s ease-out;
	transition:transform 1s ease-out;
	transition:transform 1s ease-out, -webkit-transform 1s ease-out;
}
#project-banner .project-slider .flex-viewport ul li .slide-image svg rect.top-block { -webkit-transform-origin:top; -ms-transform-origin:top; transform-origin:top; }
#project-banner .project-slider .flex-viewport ul li .slide-image svg rect.mid-block { -webkit-transform-origin:center; -ms-transform-origin:center; transform-origin:center; }
#project-banner .project-slider .flex-viewport ul li .slide-image svg rect.bottom-block { -webkit-transform-origin:bottom; -ms-transform-origin:bottom; transform-origin:bottom; }
#project-banner .project-slider .flex-viewport ul li .slide-image svg image { display:block; opacity:0.6;
	-webkit-transition:opacity 1s ease-out, -webkit-transform 1s ease-out;
	transition:opacity 1s ease-out, -webkit-transform 1s ease-out;
	-o-transition:transform 1s ease-out, opacity 1s ease-out;
	transition:transform 1s ease-out, opacity 1s ease-out;
	transition:transform 1s ease-out, opacity 1s ease-out, -webkit-transform 1s ease-out;
	-webkit-transform-origin:center;
	    -ms-transform-origin:center;
	        transform-origin:center;
}
#project-banner .project-slider .flex-viewport ul li.flex-active-slide:hover .slide-image svg image { opacity:1; }

#project-banner .project-slider .flex-viewport ul li .slide-background { display:none; }
#project-banner .banner-background { background-position:center; background-repeat:no-repeat; background-size:cover; opacity:0; position:absolute; top:0; left:0; right:0; bottom:0; z-index:-1;
	-webkit-transition:opacity 0.3s ease-out;
	-o-transition:opacity 0.3s ease-out;
	transition:opacity 0.3s ease-out;
}
#project-banner .banner-background.active { opacity:0.15; }

/** Slider Controls **/
#project-nav { padding-bottom:0.9375rem; position:absolute; left:0; bottom:0; z-index:15; }
#project-nav .slider-controls { padding-left:3.125rem; padding-right:3.125rem; position:relative; }
#project-banner .flex-direction-nav { height:40px; list-style:none; margin:0; padding:0; pointer-events:none; position:absolute; top:50%; left:0; right:0; width:100%;
	-webkit-transform:translateY(-50%);
	    -ms-transform:translateY(-50%);
	        transform:translateY(-50%);
}
#project-banner .flex-direction-nav li:first-child { float:left; height:100%; width:40px; }
#project-banner .flex-direction-nav li:last-child { float:right; height:100%; width:40px; }
#project-banner .flex-direction-nav li a { display:block; height:100%; overflow:hidden; pointer-events:all; position:relative; width:100%; text-align:center; }
#project-banner .flex-direction-nav li a:hover { }
#project-banner .flex-direction-nav li a.flex-disabled { pointer-events:none; }

#project-banner .flex-direction-nav li a span.arrow { display:block; height:20px; position:absolute; top:45%; left:50%; width:9px;
	-webkit-transform:translate(-50%,-50%);
	    -ms-transform:translate(-50%,-50%);
	        transform:translate(-50%,-50%);
	-webkit-transition:width 0.25s ease-out;
	-o-transition:width 0.25s ease-out;
	transition:width 0.25s ease-out;
}
#project-banner .flex-direction-nav li a:hover span.arrow { width:30px; }
#project-banner .flex-direction-nav li a span.arrow::before { background-color:#fff; content:''; display:block; height:1px; position:absolute; top:50%; width:0%;
	-webkit-transform:translateY(-50%);
	    -ms-transform:translateY(-50%);
	        transform:translateY(-50%);
	-webkit-transition:width 0.25s ease-out;
	-o-transition:width 0.25s ease-out;
	transition:width 0.25s ease-out;
}
#project-banner .flex-direction-nav li a:hover span.arrow::before { width:100%; }
#project-banner .flex-direction-nav li a span.arrow.left::before { left:0; }
#project-banner .flex-direction-nav li a span.arrow.right::before { right:0; }
#project-banner .flex-direction-nav li a span.arrow.left::after { border-bottom:1px solid #fff; border-left:1px solid #fff; content:''; display:block; height:14px; position:absolute; top:3px; left:0; width:14px;
	-webkit-transform:rotate(45deg);
	    -ms-transform:rotate(45deg);
	        transform:rotate(45deg);
	-webkit-transform-origin:center;
	    -ms-transform-origin:center;
	        transform-origin:center;
}
#project-banner .flex-direction-nav li a span.arrow.right::after { border-bottom:1px solid #fff; border-right:1px solid #fff; content:''; display:block; height:14px; position:absolute; top:3px; right:0; width:14px;
	-webkit-transform:rotate(-45deg);
	    -ms-transform:rotate(-45deg);
	        transform:rotate(-45deg);
	-webkit-transform-origin:center;
	    -ms-transform-origin:center;
	        transform-origin:center;
}
#project-banner .flex-direction-nav li a.flex-disabled span.arrow { opacity:0.25; }

#project-selector { padding-bottom:0.9375rem; position:absolute; left:0; right:0; bottom:0; }
#project-selector .button-group a { color:#666; margin-left:0.9375rem; margin-right:0.9375rem; }
#project-selector .button-group a:first-child { margin-left:0; }
#project-selector .button-group a:last-child { margin-right:0; }
#project-selector .button-group a:hover,
#project-selector .button-group a.flex-active { color:#fff; }

#banner-note { padding-bottom:1.875rem; position:absolute; right:0; bottom:0; z-index:15; }


/** Rows **/
.content-row { }

.content-row .column-container { position:relative; z-index:5; }
.content-row .column-container .top-layer { position:relative; z-index:10; }
.content-row .column-container .bottom-layer { position:absolute; z-index:-1; }

.bottom-layer { opacity:0.4; }

.content-row.home .column-container .bottom-layer,
.about-row.top .column-container .bottom-layer { bottom:0; }

/** Slider **/
.image-slider { position:relative; }
.image-slider .slide-counter { color:#fff; font-size:0.875em; line-height:1; padding-left:0.625rem; position:absolute; top:-1.125rem; right:0; white-space:nowrap; }

/** Contact Page **/
#location-map { height:360px; }

/*
 * Projects
 */
.project-container { position:relative; }
.project-container .top-layer { position:absolute; bottom:0; z-index:5; }
.project-container .bottom-layer { padding-bottom:3rem; }

.project-title { position:relative; padding-left:1.25rem; }
.project-title h2 { margin-bottom:0.5em; }
.project-title .project-number { font-size:0.875em; position:absolute; top:-0.625rem; left:0; }

article.single-project { }
article.single-project header h1 { float:left; margin:0; }
article.single-project header h2 { float:right; margin:0; }
article.single-project header h2 img { height:20px; max-width:160px; vertical-align:baseline; width:auto; }

article.single-project .project-row .column-container { position:relative; z-index:5; }
article.single-project .project-row .column-container .top-layer { position:relative; z-index:10; }
article.single-project .project-row .column-container .bottom-layer { position:relative; }

article.single-project .project-row--introduction img { height:auto; width:100%; }
article.single-project .project-row .image-slider .slide-counter { top:auto; bottom:-1.25rem; }

article.single-project .pagination .post-link { padding-left:1.25rem; position:relative; }
article.single-project .pagination .post-link.left { float:left; }
article.single-project .pagination .post-link.right { float:right; }
article.single-project .pagination .post-link h2 { margin-bottom:0.5em; }
article.single-project .pagination .post-link .project-number { font-size:0.875em; position:absolute; top:-0.625rem; left:0; }
article.single-project .pagination .post-link a { text-transform:uppercase; }

.image-row { padding-top:0.9375rem; }
.image-row:first-child { padding-top:0; }

.video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.video-embed iframe,  
.video-embed object,  
.video-embed embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*
 * Layouts/Graphic Styles
 */
/*.outer-row { padding-left:0.3125rem; padding-right:0.3125rem; }*/

.content-area { padding-bottom:1.875rem; padding-top:1.875rem; }
.content-area.x2 { padding-bottom:3.75rem; padding-top:3.75rem; }
.content-area.bottom-x0 { padding-bottom:0 !important; }
.content-area.top-x0 { padding-top:0 !important; }

.offset-top { margin-top:-1.875rem; }
.offset-top-x2 { margin-top:-3.75rem; }
.offset-bottom { margin-bottom:-1.875rem; }
.offset-bottom-x2 { margin-bottom:-3.75rem; }

.divider,
.divider-small,
.divider-medium,
.divider-large { padding-top:1.875rem; }

.black-background { background-color:#000; color:#fff; }
.black-background a { color:#fff; }
.black-background u { border-bottom:1px solid #fff; }
.cream-background { background-color:#beb5ac; }
.white-background { background-color:#fff; }

/* ==========================================================================
   Typography
   ========================================================================== */

h1 { font-size:1.5em; font-weight:700; }
h2 { font-size:1.5em; font-weight:400; }

.xlarge-text { font-size:1.5em; line-height:1.2 !important; }

u { border-bottom:1px solid #000; text-decoration:none; }

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, p:first-child, ul:first-child, ol:first-child { margin-top:0 !important; }
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, p:last-child, ul:last-child, ol:last-child { margin-bottom:0 !important; }
/* ==========================================================================
   Links
   ========================================================================== */
a { color:#000; outline:none; text-decoration:none;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
       -o-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
          transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
a:hover { text-decoration:underline; }

a.underline { display:inline-block; padding-bottom:0.3125rem; position:relative; text-decoration:none !important; }
a.underline::after { background-color:#fff; content:''; display:block; height:1px; position:absolute; left:0; bottom:0; width:100%;
	-webkit-transform:scaleX(0);
	    -ms-transform:scaleX(0);
	        transform:scaleX(0);
	-webkit-transform-origin:right;
	    -ms-transform-origin:right;
	        transform-origin:right;
	-webkit-transition: -webkit-transform 0.3s ease-out;
	transition: -webkit-transform 0.3s ease-out;
	-o-transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
	transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
a.underline:hover:after {
	-webkit-transform:scaleX(1);
	    -ms-transform:scaleX(1);
	        transform:scaleX(1);
	-webkit-transform-origin:left;
	    -ms-transform-origin:left;
	        transform-origin:left;
}

a.read-more { border:none; border-radius:0; display:inline-block; font-size:1em; height:auto; line-height:1; overflow:hidden; padding:0 120px 0 0; position:relative; text-decoration:none; text-transform:uppercase; width:auto;
	-webkit-transition:padding 0.3s ease-out;
	-o-transition:padding 0.3s ease-out;
	transition:padding 0.3s ease-out; }
a.read-more::before,
a.read-more::after { background-color:#000; content:''; display:block; height:1px; position:absolute; top:50%; width:110px;
	-webkit-transition:left 0.3s ease-out, right 0.3s ease-out;
	-o-transition:left 0.3s ease-out, right 0.3s ease-out;
	transition:left 0.3s ease-out, right 0.3s ease-out; }
a.read-more::before { left:-130px; }
a.read-more::after { right:0; }
a.read-more:hover { padding:0 0 0 120px; }
a.read-more:hover::before { left:0; }
a.read-more:hover::after { right:-130px; }

a.read-more.right { padding:0 0 0 120px; }
a.read-more.right::before { right:-130px; left:auto; }
a.read-more.right::after { left:0; right:auto; }
a.read-more.right:hover { padding:0 130px 0 0; }
a.read-more.right:hover::before { right:0; left:auto; }
a.read-more.right:hover::after { left:-130px; right:auto; }

.black-background a.read-more::before,
.black-background a.read-more::after { background-color:#fff; }

a.image-link { display:block; overflow:hidden; }
a.image-link img { display:block;
	-webkit-transition:-webkit-transform 1s ease-out;
	transition:-webkit-transform 1s ease-out;
	-o-transition:transform 1s ease-out;
	transition:transform 1s ease-out;
	transition:transform 1s ease-out, -webkit-transform 1s ease-out;
}
a.image-link:hover img {
	-webkit-transform:scale(1.05);
	    -ms-transform:scale(1.05);
	        transform:scale(1.05);
}

/* ==========================================================================
   Forms
   ========================================================================== */

input, textarea, select, button { background-color:transparent; border:1px solid #999; border-radius:0; color:#fff; cursor:pointer; display:block; font-size:1em; margin:0; padding:1em; outline:none; text-shadow:none; width:100%;
  -webkit-appearance: none;
  -webkit-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
          -o-transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out; 
          transition: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
input:hover, textarea:hover, select:hover { border-color:#fff; }
input:focus, textarea:focus { background-color:#fff; border-color:#fff; color:#000; }
textarea,
textarea[rows] { height:140px; }

select { /*background-image:url(../img/select-arrow.png); background-position:center right; background-repeat:no-repeat;*/ }
.generatedcontent select { background-image:none; }
.ginput_container_select { position:relative; }
/*.ginput_container_select::before { content:'\f107'; color:#081749; display:block; font-size:1.5em; pointer-events:none; position:absolute; top:50%; right:1.563rem;
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
	-webkit-transform:translateY(-50%);
			transform:translateY(-50%);
}*/

.hidden-label label { display:none !important; }

input[type="checkbox"], input[type="radio"] { background-color:transparent; border:2px solid #ccc; float:left; height:20px; margin-right:0.625rem; width:20px;
-webkit-appearance:none;
    -moz-appearance:none;
    appearance:none; }
input[type="radio"] {
 border-radius:50%;
}
input[type="checkbox"]:hover, input[type="radio"]:hover { border-color:#fff; }
input:checked { background-color:#fff !important; background-clip:content-box; border-color:#fff !important; outline:none; padding:4px; }

label { display:none; }

.gform_footer { clear:both; margin-top:1.25rem; position:relative; text-align:right; }
button.gform_button { background-color:transparent; border:none; border-radius:0; color:#fff; display:inline-block; font-size:1em; height:auto; line-height:1; overflow:hidden; padding:0 120px 0 0; position:relative; text-decoration:none; text-transform:uppercase; width:auto;
	-webkit-transition:padding 0.3s ease-out;
	-o-transition:padding 0.3s ease-out;
	transition:padding 0.3s ease-out; }
button.gform_button::before,
button.gform_button::after { background-color:#fff; content:''; display:block; height:1px; position:absolute; top:50%; width:110px;
	-webkit-transition:left 0.3s ease-out, right 0.3s ease-out;
	-o-transition:left 0.3s ease-out, right 0.3s ease-out;
	transition:left 0.3s ease-out, right 0.3s ease-out; }
button.gform_button::before { left:-130px; }
button.gform_button::after { right:0; }
button.gform_button:hover,
button.gform_button:focus { padding:0 0 0 120px; }
button.gform_button:hover::before,
button.gform_button:focus::before { left:0; }
button.gform_button:hover::after,
button.gform_button:focus::after { right:-130px; }

.gform_wrapper { margin-top:2em; }
.gform_wrapper ul { list-style:none; margin:0; padding:0; }
.gform_wrapper ul li { margin-bottom:0.625rem; text-align:left; padding:0; }
.gf_clear { clear:both; }

::-webkit-input-placeholder { color:#999; }
:-moz-placeholder { color: #999; }
::-moz-placeholder { color: #999; }
:-ms-input-placeholder { color: #999; }

/** Warnings **/
.validation_error { display:none; }
.validation_message { display:none !important; }
.gfield_contains_required.gfield_error input,
.gfield_contains_required.gfield_error textarea,
.gfield_contains_required.gfield_error select,
.gfield_contains_required.gfield_error .jcf-select { background-color:#ff9999; }
.gfield_contains_required.gfield_error label { color:#ff0000 !important; }

img.gform_ajax_spinner { height:30px; position:absolute; left:0; top:50%; width:30px;
	-webkit-transform:translateY(-50%);
	    -ms-transform:translateY(-50%);
	        transform:translateY(-50%);
}

.input_left,
.input_right,
.name_first,
.name_last,
.input_mid { display:block; }
.name_first { margin-bottom:0.625rem; }
.gf_clear { clear:both; }

.gform_body::before, .gfield::before, .clear-multi::before, .gform_body::after, .gfield::after, .clear-multi::after, .gform_page::after {
  content: ' ';
  display: table; }

.gform_body::after, .gfield::after, .clear-multi::after, .gform_page::after {
  clear: both; }

/* Small screens */
@media only screen { } /* Define mobile styles */

@media only screen and (max-width: 39.99em) {
	
	.offset-top-small { margin-top:-1.875rem; }
	.offset-top-x2-small { margin-top:-3.75rem; }
	.offset-bottom-small { margin-bottom:-1.875rem; }
	.offset-bottom-x2-small { margin-bottom:-3.75rem; }

} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

/* Medium screens - min-width 640px */
@media only screen and (min-width: 40em) {
	
	#top-bar { padding-bottom:1.563rem; padding-left:1.875rem; padding-right:1.875rem; padding-top:1.563rem; }
	#top-bar .register-link { display:block; }
	#site-navigation nav ul li { padding:1.875rem 0; }
	#site-navigation nav ul li a { font-size:3.75em; }
	
	#bottom-bar { font-size:1em; padding-left:0.9375rem; padding-right:0.9375rem; padding-bottom:1.875rem; padding-top:1.875rem; }
	
	#project-banner { min-height:800px; }
	#project-banner .project-slider .flex-viewport ul li .slide-content .slide-title h2 { font-size:6.25em; }
	#project-banner .project-slider .flex-viewport ul li .slide-image { max-width:400px; }
	#project-selector { left:auto; }
	#project-selector .button-group a { color:#666; margin-left:1.875rem; margin-right:1.875rem; }
		
	.content-row.home .column-container .bottom-layer,
	.about-row.top .column-container .bottom-layer { bottom:auto; }
	
	#location-map { height:480px; }
	
	.project-container .bottom-layer { padding-bottom:3.75rem; }
	
	article.single-project header h2 img { height:26px; max-width:200px; }
	article.single-project .project-row .column-container .top-layer { position:absolute; z-index:10; }
	article.single-project .project-row .column-container .bottom-layer { position:relative; }
	article.single-project .project-row .image-slider .slide-counter { top:auto; bottom:0; left:100%; right:auto; }
	.project-title,
	article.single-project .pagination .post-link { padding-left:1.875rem; }
	
	.image-row { padding-top:1.875rem; }
	
	.outer-row { padding-left:0.9375rem; padding-right:0.9375rem; }
	
	.content-area { padding-bottom:3.750rem; padding-top:3.750rem; }
	.content-area.x2 { padding-bottom:7.5rem; padding-top:7.5rem; }
	.content-area.stop-small { padding-bottom:0; padding-top:0; }
	.content-area.stop-medium { padding-bottom:0; padding-top:0; }
	
	.offset-top { margin-top:-3.75rem; }
	.offset-top-x2 { margin-top:-7.5rem; }
	.offset-bottom { margin-bottom:-3.75rem; }
	.offset-bottom-x2 { margin-bottom:-7.5rem; }
	
	.divider-small { padding-top:0; }
	
	h1,
	h2,
	.xlarge-text { font-size:2.25em; }
	
	.input_left,
	.input_right,
	.name_first,
	.name_last,
	.input_mid { float:left; width:50%; }
	.input_left,
	.name_first { padding-right:0.3125rem !important; }
	.input_right,
	.name_last { padding-left:0.3125rem !important; }
	.name_first { margin-bottom:0; }

} @media only screen and (min-width: 40.01em) and (max-width: 63.99em) {
	
	.about-row.top .column-container .top-layer { position:absolute; z-index:10; }
	.about-row.top .column-container .bottom-layer { position:relative; z-index:-1; }

	.content-area.medium-x2 { padding-bottom:7.5rem; padding-top:7.5rem; }	
	.content-area.medium-x3 { padding-bottom:11.25rem; padding-top:11.25rem; }
	.content-area.medium-x4 { padding-bottom:15rem; padding-top:15rem; }
	
} /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

/* Large screens - min-width 1024px */
@media only screen and (min-width: 64em) {
	
	body { padding-left:2.188rem; padding-right:2.188rem; padding-top:75px; }
	body.home { padding-top:0; }

	#top-bar { background-color:#fff; padding-bottom:1.875rem; padding-top:1.875rem; padding-left:3.125rem; padding-right:3.125rem; position:fixed; left:0; right:0; top:0; }
	body.home #top-bar { background-color:#fff; position:fixed; }
	#top-bar h1 a svg path { fill:#000; }
	#top-bar button.menu-trigger { color:#000; }
	#top-bar button.menu-trigger span { background-color:#000; }
	#top-bar .register-link { color:#000; }
	#top-bar .register-link::after { background-color:#000; }
	
	#site-navigation nav ul li { display:inline-block; padding:0 2.813rem; }
	#site-navigation nav ul li:first-child { padding-left:0; }
	#site-navigation nav ul li:last-child { padding-right:0; }
	#site-navigation nav ul li a { font-size:4.5em; }
	#site-navigation nav ul li a::after { display:block; }
	
	#bottom-bar { background-color:#fff; color:#a3a3a3; padding-left:0; padding-right:0; padding-bottom:1.563rem; padding-top:1.563rem; }
	#bottom-bar a { color:#a3a3a3; }
	
	#project-selector { padding-bottom:1.875rem; left:0; }
	#project-nav { padding-bottom:1.875rem; }
	#project-banner .project-slider .flex-viewport ul li .slide-content .slide-title h2 { font-size:12.5em; }
	#project-banner .project-slider .flex-viewport ul li .slide-content .slide-title h2::before { font-size:1rem; }
	#project-banner .project-slider .flex-viewport ul li .slide-image { max-width:600px; }
	#project-banner .project-slider .flex-viewport ul li.flex-active-slide:hover .slide-image svg image { opacity:1;
		-webkit-transform:scale(1.05);
		    -ms-transform:scale(1.05);
		        transform:scale(1.05);
	}
	#project-banner .project-slider .flex-viewport ul li.flex-active-slide:hover .slide-image svg rect {
		-webkit-transform:scaleY(1.75);
		    -ms-transform:scaleY(1.75);
		        transform:scaleY(1.75);
	}
	
	.bottom-layer { opacity:1; }
	
	article.single-project header h2 img { height:36px; max-width:300px; }
	
	#location-map { height:570px; }
	
	.image-slider .slide-counter { top:0; left:100%; right:auto; }
	
	.outer-row { padding-left:3.125rem; padding-right:3.125rem; }
	
	.content-area { padding-bottom:6rem; padding-top:6rem; }
	.content-area.x2 { padding-bottom:12rem; padding-top:12rem; }
	.content-area.stop-small { padding-bottom:0; padding-top:0; }
	.content-area.stop-medium { padding-bottom:0; padding-top:0; }
	.content-area.stop-large { padding-bottom:0; padding-top:0; }
	
	.offset-top { margin-top:-6rem; }
	.offset-top-x2 { margin-top:-12rem; }
	.offset-bottom { margin-bottom:-6rem; }
	.offset-bottom-x2 { margin-bottom:-12rem; }
	
	.divider-medium { padding-top:0; }
	
	button.gform_button { padding:0 150px 0 0; }
	button.gform_button::before,
	button.gform_button::after { width:140px; }
	button.gform_button::before { left:-160px; }
	button.gform_button:hover,
	button.gform_button:focus { padding:0 0 0 150px; }
	button.gform_button:hover::after,
	button.gform_button:focus::after { right:-160px; }

} @media only screen and (min-width: 64em) and (max-width: 90em) { } /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */

/* XLarge screens - min-width 1440px */
@media only screen and (min-width: 90em) {
	
	#project-banner .project-slider .flex-viewport { overflow:visible !important; }
	#project-banner .flex-direction-nav { display:block; }
	
	.project-container .bottom-layer { padding-bottom:4.688rem; }
	
	h1,
	h2,
	.xlarge-text { font-size:3em; }
	
} @media only screen and (min-width: 90em) and (max-width: 97.500em) { } /* min-width 1441px and max-width 1560px, use when QAing xlarge screen-only issues */

/* XXLarge screens - min-width 1560px */
@media screen and (min-width: 97.500em) {
	
}


/* ==========================================================================
   Plugin Styles
   ========================================================================== */

/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: 0; padding: 0;}
.flexslider .slides { list-style:none; margin:0; padding:0; }
.flexslider .slides > li {display: none;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {width: 100%; display: block;}

/* Clearfix for the .slides element */
.slides:after {content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {display: block;}

/*!--------------------------------------------------------------------
STYLES "Outdated Browser"
Version:    1.1.0 - 2014
author:     Burocratik
website:    http://www.burocratik.com
* @preserve
-----------------------------------------------------------------------*/
#outdated{
    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 170px;
    text-align: center; text-transform: uppercase; z-index:1500;
    background-color: #f25648; color: #ffffff;
}
* html #outdated{position: absolute;}
#outdated h6{font-size: 25px; line-height: 25px; margin: 30px 0 10px;}
#outdated p{font-size: 12px; line-height: 12px; margin: 0;}
#outdated #btnUpdateBrowser{
    display: block; position: relative; padding: 10px 20px; margin: 30px auto 0; width: 230px; /*need for IE*/
    color: #ffffff; text-decoration: none; border: 2px solid #ffffff; cursor: pointer;
}
#outdated #btnUpdateBrowser:hover{color: #f25648; background-color:#ffffff;}
#outdated .last{position: absolute; top: 10px; right: 25px; width: 20px; height: 20px;}
#outdated #btnCloseUpdateBrowser{ border-bottom:none;
    display: block; position: relative; width: 100%; height: 100%;
    text-decoration: none; color: #ffffff; font-size: 36px; line-height: 36px;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}