@charset "utf-8";
/* CSS Document */

* {box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; *behavior:url('/css/boxsizing.htc');}
html {min-height:100%; height:100%; width:100%;}

body {background-color:#fff; margin:0; padding:0; color:#333; font-family:'Source Sans Pro', Arial, Helvetica, sans-serif; font-size:14px;}

.container {clear:both; width:90%; max-width:1450px; padding-top:0; padding-bottom:0; margin:0 auto; position:relative;}
.containerwider {clear:both; width:95%;/* max-width:1150px;*/ padding-top:0; padding-bottom:0; margin:0 auto; position:relative;}




main {flex:1;}

.container {width:100%; max-width:1450px; margin:auto;}

@media ( max-width:1160px ){
  .container {max-width:100%; margin:0; padding:0 30px;}
}

@media ( max-width:600px ){
  .container {}
}

.pageresponse {position:relative; z-index:3; padding:20px 0; background:#fff585; font-weight:600;}

@media ( max-width:1160px ){
  .pageresponse {padding:20px;}
}

header {position:fixed; top:0; width:100%; z-index:4; padding:30px; background:transparent; transition:padding .2s;}
body.noscroll header {z-index:4;}
header .flex {display:flex;}
header .logo {flex:1; margin:0 20px 0 0;}
header .logo img {max-height:30px; transition:max-height .2s; image-rendering:-webkit-optimize-contrast;}

header .quicklinks {display:flex; align-items:center; justify-content:flex-end;}
header .quicklinks a {margin:0;}
header .quicklinks a.button {background:rgba( 0,0,0, .8 ); font-size:.8em;}
header .quicklinks a.button:hover {background:black;}
header .quicklinks a i {font-size:var(--base-font-size);}
header .quicklinks a:hover i {font-weight:bold;}

header .quicklinks .burger {line-height:0;}
header .quicklinks .burger i {font-size:30px; color:rgba( 255,255,255,1 );}
/*header.hasscrolled .quicklinks .burger i {color:rgba(0,0,0,1);}*/

header.hasscrolled {background:#222; padding:15px 30px;}
header.hasscrolled .logo img {max-height:20px;}
header.hasscrolled .quicklinks .burger i {font-size:20px;}
header.hasscrolled nav .close {margin:15px 30px;font-size:20px;}

header.no-transition,
header.no-transition .logo img {transition:none !important;}

/*
@media ( min-width:1061px ){
  header.fixed-top {position:absolute; top:0; left:0; right:0;}
}
*/
header.fixed {/* position:fixed; top:0; left:0; right:0; */ padding:20px 30px; /* background:#f2f2f2; */ box-shadow:0 0 8px 2px rgba( 0,0,0, .2 );}
header.fixed .logo img {max-height:30px;}

@media ( max-width:1060px ){
  body {padding-top:0 !important;}
}

@media ( max-width:1160px ){
  header .container {padding:0 30px;}
}

@media ( max-width:900px ){
/*   header {padding:20px 30px;}
  header .container {padding:0;}
  header .flex {flex-direction:column; align-items:center;}
 header .quicklinks {margin:20px 0 0 0; align-items:center;}
  header .logo {max-width:75%; margin:0;}
  header .logo .white {max-width:100%;}*/
}

@media ( max-width:600px ){
/*   header .flex {flex-direction:row; justify-content:space-between;}
  header .logo {max-width:100%;}
 header .quicklinks {margin:0 0 0 20px;}
  header .quicklinks > *:not(.burger) {display:none;}
  header .quicklinks .burger {margin:0;}*/
}


nav {transition:all .2s; position:fixed; z-index:1000; left:0; top:0; display:flex; align-items:flex-start; justify-content:flex-end; width:100%; height:100%; /* padding:40px 60px; */ background:#222; color:#fff; font-size:2rem;}
nav .container {display:flex; max-width:800px; flex-direction:column; align-items:flex-end; margin:0 auto; padding:80px 50px 50px 50px; text-align:right;}
header.fixed nav .container {padding-top:20px;}
nav:not(.visible) {opacity:0; pointer-events:none;}
nav .inner {position:relative; display:flex; padding:60px 160px 60px 0; text-align:left;}
nav .inner {display:inline-flex; margin-left:auto; padding-top:30px;}
nav p {font-size:16px; line-height:135%; margin-top:20px;}
nav ul {display:flex; flex-direction:column; margin:0; list-style:none;}
nav .inner > ul > li:not(:first-child) {margin-top:10px;}
nav .inner > ul {padding-bottom:60px;}
nav .inner > ul:not(:first-child) {margin-left:60px; padding-left:60px; border-left:1px solid rgba( 255,255,255, .1 );}
nav ul li:first-child {margin-left:0;}
nav ul a:link,
nav ul a:visited {display:inline-flex; align-items:flex-start; padding:2px 0; font-size:25px; text-decoration:none; color:white; color:rgba(255,255,255, 1 );}
nav ul a:hover,
nav ul a:active {color:white; color:rgba( 255,255,255, 0.5 );}
nav .inner > ul > li > a {text-transform:uppercase; font-weight:normal;}
nav ul ul {font-weight:normal; font-size:16px; padding-left:0;}
nav ul ul a:link,
nav ul ul a:visited {font-size:16px; color:rgba( 255,255,255, .5 ); color:rgba( 255,255,255, .5 );}
nav ul ul a:hover {color:rgba( 255,255,255, 1 );}
nav ul ul ul a {padding-left:60px;}
nav ul li.navlogo {display:flex;}
nav ul li.navlogo img {height:100px; margin:0 auto; padding:0;}
nav ul li.navlogo a {opacity:0.5;}
nav ul li.navlogo a:hover {opacity:1;}
nav ul li.social {display:flex; margin-top:30px; font-size:40px;}
nav ul li.social:not(:first-child) {margin-top:40px; /* margin-top:60px; */}
nav ul li.social a:link,
nav ul li.social a:visited {font-weight:normal; opacity:0.5;}
nav ul li.social a:hover {opacity:1;}
nav ul li.social a:not(:first-child) {margin-left:25px;}
nav ul li.contact {color:rgba( 255,255,255, .5 ); color:rgba( 255,255,255, .5 ); font-size:18px;}
nav ul li.contact a:link,
nav ul li.contact a:visited {color:rgba( 255,255,255, .5 ); color:rgba( 255,255,255, .5 ); text-decoration:underline;}
nav ul li.contact a:hover {text-decoration:none;}
nav ul li.contact p:last-child {display:flex; flex-direction:column; align-items:flex-start;}
/*
nav .close {position:absolute; top:0; right:0; color:rgba( 255,255,255, .5 ); font-size:32px; transition:all .2s;}
*/
nav .close {position:absolute; z-index:1005; margin: 30px; text-align:right; color:rgba( 255,255,255, .5 ); font-size:30px; line-height:0; transition:all .2s;}
header:not(.fixed) nav .close {line-height:0;}
nav .close:hover {color:white;}
nav hr {margin:10px 0; border-color:rgba( 255,255,255, .1 );}

@media ( min-width:901px ){
  nav .show-mobile {display:none;}
}

@media ( max-width:900px ){

  nav {padding:0; overflow:auto;}
  /*nav .container {max-width:500px;}*/
  nav .inner {position:static; flex-direction:column; width:100%; padding:0;}
  nav .inner > ul {padding:0; font-size:1.4rem; line-height:1.4rem;}
  nav .inner > ul:first-child {display:none;}
  nav .inner > ul ul {margin-top:3px; font-size:1.2rem; line-height:1.2rem;}
  nav ul a:link,
  nav ul a:visited {padding:6px 0; font-size:18px;}
  nav ul ul {display:none;}
  nav .inner > ul:not(:first-child) {margin:0; padding:0; border:0; margin-top:10px; padding-top:0; border-top:0;}
  nav .close {position:absolute; /*top:25px; right:32px;*/}
  /*header.fixed nav .close {top:22.5px;}*/
  header:not(.fixed) nav .close {line-height:36px;}

}





















.response {background:#ff3; z-index:500; position:fixed; top:40px; left:0; right:0; margin:0 auto; width:700px; max-width:100%; opacity:0.9;}
.response p {margin:0; padding:20px 30px; color:#000; font-size:20px; text-align: center;}
.response .fa-times {position:absolute; top:20px; right:20px;}

.subheader {background:linear-gradient(to bottom, #111, #111, #333); padding-top:120px; padding-bottom:150px; text-align:center;}
.subheaderindex {padding-bottom:150px;}
.subheader h3 {color:rgba(255,255,255,1); text-align:center; font-size:30px; display:block; padding:0; margin:30px auto 0 auto; text-transform: uppercase; font-weight:normal; letter-spacing: 0.3em;}

.subsubheader {background:linear-gradient(to bottom, #fff, #fff, #ccc); padding-top:50px;}
.subsubheader h3 {color:rgba(0,0,0,0.6); margin-bottom:50px;}


.subheader h1 {color:rgba(255,255,255,1); text-align:center; font-size:50px; display:block; padding:0; margin:20px auto 0 auto; text-transform: uppercase; font-weight:bold; letter-spacing: 0.3em;}

.subheader p {color:rgba(255,255,255,0.7); max-width:700px; margin:30px auto 0 auto; font-size:22px;}
.subheader p strong {color:rgba(255,255,255,1); font-weight:400;}
.subheader p span {background:#ff3; padding:1px 6px; font-weight:bold; font-size:20px; border-radius: 2px; color:#000; margin-left:5px; margin-right:5px;}
.subheader p a {color:rgba(255,255,255,1); text-decoration: underline;}

.subheader ul {border-top:1px dashed rgba(255,255,255,0.1); padding-top:20px; opacity:1; max-width:650px; margin:20px auto 0 auto; font-size:14px; list-style:square; text-align:left;}
.subheader ul li {color:rgba(255,255,255,0.4);}
.subheader ul li strong {color:rgba(255,255,255,0.7); font-weight:400;}

.subheader form {max-width:800px; background:rgba(255,255,255,0.1); padding:25px; margin:40px auto 0 auto; text-align:left;}
.subheader form img {margin-bottom:20px;}
.subheader form h3 {text-align:left; padding:0 0 20px 0; margin:0 0 20px 0; border-bottom:1px solid rgba(255,255,255,0.1);}
.subheader form h3 i {margin-right:10px; color:#ff3;}
.subheader form h5 {background:#ff3; color:#000; padding:5px; margin:0; position:absolute; top:10px; left:25px; display:inline-block; font-weight:bold; border-radius: 3px; font-size:16px;}
.subheader form input {margin:10px 0; padding:10px; border:0; border-radius: 2px; color:#333; width:100%;}
.subheader form textarea {margin:10px 0; padding:10px; border:0; border-radius: 2px; color:#333; width:100%; height:70px;}
.subheader form button {margin:10px 0; padding:5px 20px; background:#ff3; color:#000; border:0; border-radius: 2px; font-weight:bold; font-size:16px;}
.subheader form button:hover {opacity:0.8;}

.showsmall {display:none;}
.showbig {display:inline-block;}

.adminform {margin:auto; text-align: center;}
.adminform input[type=text] {font-size:18px; padding:10px 20px; background:#fff; color:#333; border-radius:2px; border:1px solid #ccc; width:500px; margin:auto;}
.adminform textarea {font-size:14px; padding:10px 20px; background:#fff; color:#333; border-radius:2px; border:1px solid #ccc; width:500px; height:300px; margin:5px auto;}
.adminform button {background:#333; border:2px solid #fff; color:#fff; padding:9px 25px; font-size:18px; border-radius:2px; margin:auto;}
.adminform button:hover {background:#000; border-color:#ccc;}

.adminform input[type="checkbox"][id^="cb-"] {display: none;}
.adminform label {border: 1px solid #fff; background:#fff; width:100%; padding: 10px; display: block; position: relative; margin: 10px; cursor: pointer;}
.adminform label:before {content: " "; display: block; border-radius: 50%; position: absolute; top: -5px; left: -5px; width: 25px; height: 25px;}
.adminform :checked + label {border-color: #333; background:#333;}
.adminform :checked + label:before {background-color: #6c6;}

section hr {width:30%; background:rgba(0,0,0,0.2); border:0; height:1px; margin:30px auto;}
section p {max-width:700px; margin:auto; font-size:30px;}

header section p {color:#fff;}
header section hr {background:rgba(255,255,255,0.2);}

section {clear:both; padding:30px 0;}
section.content {padding:10vh 0;}

section.hero {clear:both; padding:0 0 0 0; background:#000; width:100%; position:relative; background-size: cover; background-position:center center; display:flex; align-items:center;}
section.hero h2 {color:rgba(255,255,255,1); font-size:80px; font-weight:bold; text-align: center; text-transform: uppercase; letter-spacing: inherit; max-width:80%; margin:auto;}
section.hero h3 {color:rgba(255,255,255,1); font-size:40px; font-weight:normal; text-align: center; text-transform: inherit; letter-spacing: inherit; max-width:80%; margin:auto;}

section.pagehero {clear:both; padding:20vh 0 0 0; min-height:60vh; width:100%; position:relative; background-size: cover; background-position:top center; display:flex; align-items:center;}

section.services {position:relative; margin-top:-100px; z-index:2;}

section.page {}
section.page h1 {font-weight:bold; font-size:50px; margin:20px auto; text-align:center;}
section.page p {text-align:left; margin:20px auto; font-size:20px;}

.servicecard {transition:0.2s; display:block; background-size: cover; background-position:center center; min-height:550px; margin-bottom:30px; position:relative;}
.servicecardinner {position:absolute; bottom:0; left:0; right:0; padding:20px 20px 30px 20px; background:linear-gradient(to top, rgba(0,0,0,0.6), transparent);}
.servicecard h3 {color:#fff; font-size:40px; font-weight:bold; text-align:center; text-transform: uppercase;}
.servicecard h5 {display:none; color:#fff; padding:7px; font-size:15px; border-radius: 2px; text-align: center;}
.servicecard p {color:#fff; font-size:20px; text-align:center;}
.servicecard:hover {transform:translateY(5px); border-top:0;}
/*.servicecard:hover .servicecardinner {background:linear-gradient(to top, rgba(0,0,0,0.6), rgba(0,0,0,0.6), transparent); padding-top:100px;}*/
.servicecard:hover .serviceprice {transform:translateY(-10px);}
.servicecard:hover p {display:none;}
.servicecard p:nth-of-type(2) {display:none;}
.servicecard:hover p:nth-of-type(1) {display:none;}
.servicecard:hover p:nth-of-type(2) {display: block;}
/*.servicecard:hover h5 {display:block;}*/

.serviceprice {transition:0.3s; position:absolute; z-index:5; top:30px; right:-20px; border-radius: 50%; height:100px; width:100px; background:#ff3; color:#333; text-align: center; font-size:25px; font-weight: bold; line-height: 22px; padding-top:18px;}
.serviceprice cite {font-size: 14px; opacity:0.7; font-weight:normal;}

section h2 {color:rgba(0,0,0,1); text-align: center; font-size:30px; padding:0; font-weight:normal; margin:40px auto;}
section p {font-size:24px; text-align: center;}

.negmarg {margin-top:-120px;}







.pageouter section {}

.pageouter section.snip {padding:30px 0; font-family:var(--heading-font-family); font-size:1.5rem; line-height:1.2em; color:var(--brand-light-grey);}
.pageouter section.snip .container {padding:0 30px;}

.pageouter section.text {padding:30px 0;}
.pageouter section.text:last-child {padding-bottom:80px;}
.pageouter section.text .container {padding:0 30px;}
.pageouter section.text blockquote {margin:0 0 1em 0; padding:15px; background:rgba( 0,0,0, .05 );}
.pageouter section.text blockquote:last-child {margin-bottom:0;}
.pageouter section.text hr {}

.pageouter section.text table {margin:0 0 1em 0;}
.pageouter section.text table td {padding:10px 20px 10px 10px; border:1px solid rgba( 0,0,0, .1 );}

.pageouter section.columns .container {display:flex; padding:0 30px;}
.pageouter section.columns .container .column {flex:1;}
.pageouter section.columns .container .column:first-child {margin-right:30px;}
.pageouter section.columns .container .column:last-child {margin-left:30px;}
@media ( max-width:900px ){
  .pageouter section.columns .container {flex-direction:column;}
  .pageouter section.columns .container .column,
  .pageouter section.columns .container .column:first-child,
  .pageouter section.columns .container .column:last-child {margin:0 0 1em 0;}
}

.pageouter section.title {padding:40px 10px 20px 10px; background:var(--brand-green)}
.pageouter section.title {background:white;}
.pageouter section.title h2 {margin:0; color:white; color:var(--brand-green); font-weight:normal;}
.pageouter section.title h2:before {content:''; display:flex; width:100%; height:3px; margin:0 0 .25em 0; background:var(--hr-green-url) top left repeat-x; background-size:contain;}
.pageouter section.title .padding {padding:0 30px;}

@media ( max-width:1160px ){
  .pageouter section.title .container {padding:0 20px;}
}

@media ( max-width:900px ){
  .pageouter section.title .container {padding:0 20px;}
}

@media ( max-width:900px ){
  .pageouter section.title .padding {padding:0;}
}

.pageouter section.gallery {padding:40px 0;}
.pageouter section.gallery .container {display:grid; grid-template-columns:repeat(3, 1fr); justify-content:center; gap:30px; text-align:center;}
.pageouter section.gallery img {max-width:100%;}
.pageouter section.gallery .caption {grid-column:1 / span 3; text-align:center;}

@media ( max-width:1160px ){
  .pageouter section.gallery {padding:30px;}
}

@media ( max-width:768px ){
  .pageouter section.gallery .container {display:flex; flex-wrap:wrap;}
}

.pageouter section.pdf-embed {width:100%; padding:30px 0; background:var(--background-grey);}
.pageouter section.pdf-embed iframe {width:100%; height:55vw; border:0;}

@media ( max-width:1160px ){
  .pageouter section.pdf-embed {padding:0;}
}

.pageouter section.crumbs {width:100%;}
.pageouter section.crumbs .container {padding:30px 0;}
.pageouter section.crumbs .inner {padding:0 30px;}
.pageouter section.crumbs a:link,
.pageouter section.crumbs a:visited {color:var(--brand-orange); text-decoration:none;}
.pageouter section.crumbs a:hover {text-decoration:underline;}
.pageouter section.crumbs span {margin:0 10px; color:rgba( 0,0,0, .25 );}

@media ( max-width:600px ){
  .pageouter section.crumbs .container {padding:20px 0;}
}

.content .video {padding:30px 0; text-align:center;}
.content .video iframe {width:600px; height:400px;}
.content .video.fullwidth iframe {width:100%; height:55vw;}
.content .video.fullwidth .container {max-width:100%;}

.pageouter section.image-with-text .container {display:flex;}
.pageouter section.image-with-text .image {flex:2; margin-right:30px;}
.pageouter section.image-with-text .text {flex:3;}

.pageouter section.image-with-text.full {background:rgba( 0,0,0, .02 ); color:var(--brand-orange); font-family:var(--heading-font-family); font-size:24px; line-height:1.4em;}
.pageouter section.image-with-text.full .container {max-width:1600px; padding:60px; display:flex; align-items:center;}
.pageouter section.image-with-text.full .image {margin-right:0; text-align:right;}
.pageouter section.image-with-text.full .text {padding:30px 40px;}

@media (max-width:900px){
  .pageouter section.image-with-text.full .container {flex-direction:column; padding:30px;}
}

@media (max-width:600px){
  .pageouter section.image-with-text.full {font-size:18px; line-height:1.4em;}
}

.pageouter section.image-with-text.full-overlay {}
.pageouter section.image-with-text.full-overlay .container {max-width:100%; padding:60px; display:flex; align-items:center;}
.pageouter section.image-with-text.full-overlay .image {margin-right:0; text-align:right;}
.pageouter section.image-with-text.full-overlay .text {padding:30px 40px;}

@media (max-width:1160px){
  .pageouter section.image-with-text.full-overlay .container {padding:0 30px;}
}

.pageouter section.image-with-text.side-by-side {padding:60px 0;}
.pageouter section.image-with-text.side-by-side .container {display:flex; align-items:center; background:var(--brand-orange);}
.pageouter section.image-with-text.side-by-side .image {order:2; flex:9; display:flex; justify-content:flex-end; margin:0;}
.pageouter section.image-with-text.side-by-side .image img {}
.pageouter section.image-with-text.side-by-side .text {order:1; flex:10; padding:30px 40px; color:white;}

@media (max-width:1160px){
  .pageouter section.image-with-text.side-by-side {padding:30px;}
  .pageouter section.image-with-text.side-by-side .container {padding:0;}
  .pageouter section.image-with-text.side-by-side .image {flex:1;}
  .pageouter section.image-with-text.side-by-side .text {flex:1;}
}

@media (max-width:900px){
  .pageouter section.image-with-text.side-by-side {padding:30px;}
  .pageouter section.image-with-text.side-by-side .container {flex-direction:column;}
}

@media (max-width:1160px){
  .pageouter section.image-with-text .container {padding:0 30px;}
}

@media (max-width:600px){

  .pageouter section.image-with-text .container {flex-direction:column;}
  .pageouter section.image-with-text .image {margin:0 0 20px 0; text-align:center;}

  .pageouter section.image-with-text.full .container {padding:30px;}
  .pageouter section.image-with-text.full .text {padding:0;}

}

.pageouter section.featured-text {padding:80px 0; text-align:center; font-family:var(--body-font-family); font-size:22px; line-height:1.4em; color:var(--brand-orange);}
.pageouter section.featured-text p {max-width:700px; margin:0 auto;}

@media (max-width:1160px){
  .pageouter section.featured-text .container {padding:0 30px;}
}

@media (max-width:900px){
  .pageouter section.featured-text {padding:30px 0;}
}










.sectiondots {text-align:center; font-size:50px; opacity:25%; padding:0; margin:0;}

.sectionsnip {padding-top:70px; padding-bottom:70px;}
.sectionsnip p {font-size:30px; max-width:900px; font-weight:900; font-family:'Fira Sans', sans-serif;}

.sectionlogos {padding-top:50px; padding-bottom:50px;}
.sectionlogos .row div {display:flex; justify-content:center; align-items:center; flex-wrap:wrap;}
.sectionlogos .row div img {width:20%; opacity:50%;}
.sectionlogos .row div img:hover {opacity:100%;}






.scards {}
.scards h2 {text-align:center; margin:30px auto; padding:0; font-weight:900; font-size:30px; font-family:'Fira Sans', sans-serif; opacity:1;}
.scards .srow {display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; padding:0 10px;}

.scards .scard {position:relative; width:25%; transition:0.2s ease; padding:10px;}
.scards .scard a {position:relative; display:block; transition:0.2s ease;}
.scards .scard img {width:100%; display:block; opacity:1; transition:0.2s;}
.scards h3 {position:absolute; bottom:0; background:linear-gradient(to top, rgba(0,0,0,0.3), transparent); width:100%; color:#fff; padding:30px; display:block; font-weight:bold; font-size:25px; text-align:center; margin:0; transition:0.2s ease;}
.scards h3 span {font-weight:normal; font-size:20px;}

.scard:hover a {transform: scale(1.07);}
.scard:hover a img {opacity: 1;}
.scard:hover a h3 {background:transparent; text-shadow:0 0 10px rgba(0,0,0,0.2);}

.scards.scardsdimmed img {opacity:0.5; filter: grayscale(100%);}
.scards.scardsdimmed .scard:hover img {opacity:1; filter: grayscale(0%);}
.scards.scardsnohover .scard a {display:inline-block;}
.scards.scardsnohover .scard:hover a {transform:none;}
.scards.scardstoptext h3 {top:0; background:linear-gradient(to bottom, rgba(0,0,0,0.3), transparent);}
.scards.scardscentertext h3 {top: 50%; transform: translateY(-50%); background:linear-gradient(to bottom, transparent, rgba(0,0,0,0.3), transparent);}
.scards.scardssmalltext h3 {font-size:18px; padding:15px;}

@media (min-width: 1151px) {
  .scards.scardseight .scard {width:12.5%;}
  .scards.scardsfour .scard {width:25%;}
  .scards.scardsthree .scard {width:33.3333333333%;}
  .scards.scardstwo .scard {width:50%;}
}

@media (max-width: 1150px) {
  .scards h2 {margin:15px auto; font-size:25px;}
  .scards h3 {font-size:20px;}
  .scards .scard {width:25%;}
  .scards h3 span {display:none;}
  .scards.scardssmallone .scard {width:50%;}
}

@media (max-width: 768px) {
  .scards h2 {font-size:20px;}
  .scards h3 {font-size:16px;}
  .scards .scard {width:50%;}
  .scards.scardssmallone .scard {width:100%;}
}











.frontprojects {margin-top:-120px; padding-bottom:50px;}

.cards {width:100%; font-size:0.0000001px; margin:0; padding:15px 0 0 0;
-webkit-column-width: 300px; -moz-column-width: 300px; column-width: 300px;
    -webkit-column-gap: 15px; -moz-column-gap: 15px; column-gap: 15px;
    -webkit-column-fill: balance; -moz-column-fill: balance; column-fill: balance;
    -webkit-margin-bottom-collapse: separate;}

.smallercards {-webkit-column-width: 200px; -moz-column-width: 200px; column-width: 200px;}

.card {display:inline-block; /*width:100%;*/ position:relative; /*border-right:15px solid transparent;*/ margin:0 0 15px 0; background:transparent;
       -webkit-column-break-inside: avoid; break-inside: avoid; -moz-column-break-inside: avoid; column-break-inside: avoid;}
/*.card:hover {opacity: 0.8;}*/
.card img {width:100%; display:block;}
.card p {margin:20px; font-size:15px; display:block; color:#333;}
.card p a {text-decoration: underline;}
.card p b {font-weight:700;}
.card i {font-size:15px; color:#999; margin-right:3px;}
.card p i:last-of-type {margin-right:7px;}

.card ul.links {list-style:none; margin:-5px 0 0 0; padding:0 0 20px 0; width:100%; text-align: center;}
.card ul.links li {display: inline-block; margin:0 10px; padding:0;}
.card ul.links li a i {color:#666; opacity:1; font-size:20px;}
.card ul.links li a i:hover {opacity:0.8;}

.fatcards {padding:15px 0 50px 15px; -webkit-column-width: 400px; -moz-column-width: 400px; column-width: 400px;}

/*.cardlink {margin-bottom:35px; height:300px; overflow:hidden;}*/
.cardlink img {opacity:1;}
.cardlink .cardlinkinfo {z-index:5; position:absolute; top:50px; left:50%; transform: translatex(-50%); color:#fff; font-size:20px; background:#000; border-radius: 3px; padding:20px 20px;}
.cardlink .cardlinkinfo h3 {display:block; font-weight:bold; font-size:16px; text-transform: uppercase; text-align:center; margin:0;}
.cardlink .cardlinkinfo h3:nth-of-type(2) {margin-top:10px;}
.cardlink .cardlinkinfo h3 span {font-weight:normal; font-size:16px; color:#999;}
.cardlink .cardlinkinfo h3 span:last-of-type {background:#ff3; padding:1px 4px; font-weight:bold; border-radius: 2px; color:#000; margin-left:15px;}
.cardlink .cardlinkinfo p {display:none; color:#fff; text-align:center;}

.printcards .cardlink .cardlinkinfo {display:block; top:10px; left:initial; right:10px; transform:none; padding:8px 8px 8px 10px; font-size:14px;}
/*.printcards .cardlink .cardlinkinfo h3 span:last-of-type {display:none;}*/
.printcards .cardlink .cardlinkinfo h3 {font-size:11px; font-weight:normal; text-transform: initial;}
.printcards .cardlink:hover .cardlinkinfo h5 {display: block;}
.printcards .cardlink .cardlinkinfo h3 span {font-size:10px; margin-left:10px;}

.panocards {-webkit-column-width: initial; -moz-column-width: initial; column-width: initial; text-align:center;}
.panocards a.card {margin:20px auto; text-align:center; max-width:900px; border:20px solid #000;}

/*.printcards .cardlink:hover {border-top:12px solid #7a5f55; border-left:12px solid #ddb18d; border-right:12px solid #f0c59d; border-bottom:12px solid #f8d8ba;}*/

.cardlink:hover {opacity:1;}
/*.cardlink:hover img {opacity:0.8;}*/
.cardlink:hover .cardlinkinfo {opacity: 1;}
/*.cardlink:hover .cardlinkinfo h3 {display:none;}
/*.cardlink:hover .cardlinkinfo p {display:block;}*/

/*.cardlink .cardlinkgradient {display:block; height:200px; width:100%; background:linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0.7), rgba(255,255,255,0)); position:absolute; bottom:0; left:0; z-index:2;}*/

.projecthero {width:100%; margin:0;}
.projecthero img {width:100%;}

/*section.content h2 {font-size:40px; font-weight:normal;}*/

.col img, .col video {width:100%; margin-bottom:20px;}
.hero {overflow:hidden;}
/*.hero video {margin-top:-150px; margin-bottom:-150px;}*/

.grid .item.top20 {padding-top:20px;}
.grid .item.top40 {padding-top:40px;}
.grid .item.top60 {padding-top:60px;}
.grid .item.top80 {padding-top:80px;}

.buffer {clear:both; min-height:80px;}

.button {position:relative; padding:10px 20px; z-index:2; text-transform: uppercase; background:#fff; color:#000; border:2px solid #fff; text-decoration: none; display: inline-block; font-weight:bold;}
.button:hover {background:transparent; color:#fff; text-decoration: none;}

.everything {position:relative; background:#fff; z-index:3;}

/*.socialfooter {padding:20px 10px;}
.socialfooter .container {max-width:800px;}
.socialfooter .grid .item {font-size:18px; padding:0;}
.socialfooter .grid .item a {display:block; background:rgba(0,0,0,0.4); color:#fff; opacity:0.8; text-align:center; padding:50px 20px; margin:10px; text-decoration: none;}
.socialfooter .grid .item i {margin-right:10px; opacity:0.8;}
.socialfooter .grid .item a:hover {background:transparent; text-decoration: none; opacity:1;}
.socialfooter .grid .item a:hover i {opacity:1;}
.socialfooter .grid .item.socialyoutube a {background: center no-repeat url("/images/mini-bentonite.jpg"); background-size:cover; background-color:#758400;}
.socialfooter .grid .item.socialinstagram a {background: center no-repeat url("/images/mini-k1.jpg"); background-size:cover; background-color:#384f00;}
.socialfooter .grid .item.socialupdates a {background: center no-repeat url("/images/mini-hackett.jpg"); background-size:cover; background-color:#5c7209;}*/

@media (max-width:1150px){
  .socialfooter .grid .item i {margin-right:0;}
  .socialfooter .grid .item a span {display:none;}
}

@media (max-width:900px){
  .socialfooter {display:none;}
}


footer {clear:both; padding-top:10px; /*position:fixed; bottom:0; left:0; right:0; */z-index:1; background: #222;}
footer h2 {color:#fff; text-align: center; font-size:30px; font-weight:bold; text-transform: uppercase;}
footer p {color:#fff; font-size:24px; text-align: center;}

/*footer ul {margin:10px 0;}
footer ul b {text-transform: uppercase;}
footer ul li {color:#fff; margin:0; padding:5px 0; text-align: center; display: block;}*/

footer div.final {padding:20px; margin-top:20px; width:100%; text-align:center;}
footer div.final p {padding:0; margin:0; opacity:0.3; font-size:11px; width:100%; text-align:center;}
footer div.final p span {opacity:0.2; margin:0 20px;}

footer .scards {padding:0;}
footer .scards p {font-size:16px; text-align:left; line-height:135%; margin-top:20px; color:rgba(255,255,255,0.5);}
footer .scards p a {font-size:16px !important; color:#fff;}

footer .scards ul {display:flex; flex-wrap:wrap; margin:0; list-style:none;}
footer .scards ul li {margin-right:20px;}
footer .scards ul a:link,
footer .scards ul a:visited {display:inline-flex; width:50%; align-items:flex-start; padding:2px 0; font-size:25px; text-decoration:none; color:white; color:rgba(255,255,255, 1 );}
footer .scards ul a:hover,
footer .scards ul a:active {color:white; color:rgba( 255,255,255, 0.5 );}

footer .scards .footerlogo {text-align:right;}
footer .scards .footerlogo img {height:100px; width:100px; margin:0 30px 0 auto; padding:0;}

footer .scards ul.footersocial {display:flex; width:100%; justify-content:flex-start; align-items:center; flex-wrap: nowrap;}
footer .scards ul.footersocial li a:link,
footer .scards ul.footersocial li a:visited {display:inline-block; font-weight:normal; font-size:40px; opacity:0.5; width:initial;}
footer .scards ul.footersocial li a:hover {opacity:1;}
footer .scards ul.footersocial li:not(:first-child) {margin-left:25px;}



footer .footernav {margin:30px 0; padding:30px 0; border: 1px solid rgba(255,255,255,0.1); border-left:0; border-right:0;}
footer .footernav ul {margin:auto; list-style:none; display:flex; justify-content: space-around; align-items: center;}
footer .footernav ul li {margin:0; padding:0;}
footer .footernav ul a:link,
footer .footernav ul a:visited {font-size:18px; color:#fff; font-weight:bold;}
footer .footernav ul a:hover {opacity:0.7; text-decoration: none;}
















@media (max-width: 950px) {

  h4.recentwork {font-size:20px; max-width:80%; margin:20px auto 40px auto;}
  .sectionsnip p {font-size:25px;}
  .sectionrowcards h2 {margin:15px auto; padding:0; font-size:24px;}
  .sectionrowcards .row .sectionrowcard .sectionrowcardsinfo {padding:20px 20px;}
  .sectionrowcards .row .sectionrowcard .sectionrowcardsinfo h3 {font-size:20px;}
  .sectionrowcards .row .sectionrowcard .sectionrowcardsinfo p {display:none;}

}

@media (max-width: 768px) {

  .container {width:95%;}
  .containerwider {width:98%;}

  .showsmall {display:inline-block;}
  .showbig {display:none;}

  /*header {text-align:center;}*/
  header img.logo {/*margin:5px auto;*/ /*width:100%; height:auto;*/}

  section.hero h2 {font-size:50px; max-width:90%;}
  section.hero h3 {font-size:25px; max-width:90%;}

  .sectionsnip {padding-top:30px; padding-bottom:30px;}
  .sectionsnip p {font-size:20px; max-width:95%;}

  .sectionlogos {padding-top:25px; padding-bottom:25px;}
  .sectionlogos .row div img {width:33%;}
  .sectionlogos .row div img:last-of-type {display:none;}

  .sectionrowcards {margin:30px 0 40px 0; padding-bottom:30px;}
  .sectionrowcards h2 {font-size:20px;}
  .sectionrowcards .row {flex-wrap:wrap;}
  .sectionrowcards .row .sectionrowcard {width:50%; margin:0px;}
  .sectionrowcards .row .sectionrowcard .sectionrowcardsinfo h3 {font-size:25px;}
  .sectionrowcards.varianttop .row .sectionrowcard .sectionrowcardsinfo {padding:20px 20px 0 20px;}

  ul.nav {margin:0;}
  ul.nav li {font-size:13px; margin-left:5px;}
  ul.nav i {margin-right:0;}
  ul.nav li:last-of-type {font-size:13px;}
  ul.nav li a {padding:2px 4px;}
  ul.nav .extraneous {display: none;}

  .subheader h1 {font-size:30px;}
  .subheader h3 {font-size:15px;}

  .subheader p {font-size:18px;}
  .subheader p span {font-size:16px;}

  .cardnest {-webkit-column-width: 100px; -moz-column-width: 100px; column-width: 100px;}
  .cardlink .cardlinkgradient {height:100px;}

  .cardlink .cardlinkinfo {border-radius: 2px; padding:15px 25px;}
  .cardlink .cardlinkinfo h3 {font-size:16px !important;}
  .cardlink .cardlinkinfo h3 span {font-size:14px;}
  .cardlink .cardlinkinfo h3 span:last-of-type {margin-left:10px;}

  footer {position:relative; bottom:initial; left:initial; right:initial; z-index:1; padding-bottom:100px;}

  /*.buffer {min-height:initial;}*/
  .grid .item.top20 {padding-top:0;}
  .grid .item.top40 {padding-top:0;}
  .grid .item.top60 {padding-top:0;}
  .grid .item.top80 {padding-top:0;}
}





/* Responsive Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Number is amount of items in row - eg; grid-lg-8 = 8 items per row at 1200px and above */
.grid { width: 100%; }
.grid .item { display: inline-block; float: left; padding: 0 10px; min-height: 1px; position: relative; }

@media (max-width: 550px) {
  /* Widths */
  .grid-xs-12 .item { width: 8.333333%; }
  .grid-xs-11 .item { width: 9.088888%; }
  .grid-xs-10 .item { width: 10%; }
  .grid-xs-9 .item { width: 11.111111%; }
  .grid-xs-8 .item { width: 12.5%; }
  .grid-xs-7 .item { width: 14.277777%; }
  .grid-xs-6 .item { width: 16.666667%; }
  .grid-xs-5 .item { width: 20%; }
  .grid-xs-4 .item { width: 25%; }
  .grid-xs-3 .item { width: 33.333333333333333%; }
  .grid-xs-2 .item { width: 50%; }
  .grid-xs-1 .item { width: 100%; }
}

@media (min-width: 550px) {
  /* Widths */
  .grid-xs-12 .item { width: 8.333333%; }
  .grid-xs-11 .item { width: 9.088888%; }
  .grid-xs-10 .item { width: 10%; }
  .grid-xs-9 .item { width: 11.111111%; }
  .grid-xs-8 .item { width: 12.5%; }
  .grid-xs-7 .item { width: 14.277777%; }
  .grid-xs-6 .item { width: 16.666667%; }
  .grid-xs-5 .item { width: 20%; }
  .grid-xs-4 .item { width: 25%; }
  .grid-xs-3 .item { width: 33.333333333333333%; }
  .grid-xs-2 .item { width: 50%; }
  .grid-xs-1 .item { width: 100%; }
}

@media (min-width: 768px) {
  /* Widths */
  .grid-sm-12 .item { width: 8.333333%; }
  .grid-sm-11 .item { width: 9.088888%; }
  .grid-sm-10 .item { width: 10%; }
  .grid-sm-9 .item { width: 11.111111%; }
  .grid-sm-8 .item { width: 12.5%; }
  .grid-sm-7 .item { width: 14.277777%; }
  .grid-sm-6 .item { width: 16.666667%; }
  .grid-sm-5 .item { width: 20%; }
  .grid-sm-4 .item { width: 25%; }
  .grid-sm-3 .item { width: 33.333333333333333%; }
  .grid-sm-2 .item { width: 50%; }
  .grid-sm-1 .item { width: 100%; }
}

@media (min-width: 800px) {
  /* Widths */
  .grid-sma-5 .item { width: 20%; }
}

@media (min-width: 992px) {
  /* Widths */
  .grid-md-12 .item { width: 8.333333%; }
  .grid-md-11 .item { width: 9.088888%; }
  .grid-md-10 .item { width: 10%; }
  .grid-md-9 .item { width: 11.111111%; }
  .grid-md-8 .item { width: 12.5%; }
  .grid-md-7 .item { width: 14.277777%; }
  .grid-md-6 .item { width: 16.666667%; }
  .grid-md-5 .item { width: 20%; }
  .grid-md-4 .item { width: 25%; }
  .grid-md-3 .item { width: 33.333333333333333%; }
  .grid-md-2 .item { width: 50%; }
  .grid-md-1 .item { width: 100%; }
}

@media (min-width: 1200px) {
  /* Widths */
  .grid-lg-12 .item { width: 8.333333%; }
  .grid-lg-11 .item { width: 9.088888%; }
  .grid-lg-10 .item { width: 10%; }
  .grid-lg-9 .item { width: 11.111111%; }
  .grid-lg-8 .item { width: 12.5%; }
  .grid-lg-7 .item { width: 14.277777%; }
  .grid-lg-6 .item { width: 16.666667%; }
  .grid-lg-5 .item { width: 20%; }
  .grid-lg-4 .item { width: 25%; }
  .grid-lg-3 .item { width: 33.333333333333333%; }
  .grid-lg-2 .item { width: 50%; }
  .grid-lg-1 .item { width: 100%; }
}

@media (min-width:1200px){
    .auto-clear.grid-lg-1 .item:nth-of-type(n+1){clear:left;}
    .auto-clear.grid-lg-2 .item:nth-of-type(2n+1){clear:left;}
    .auto-clear.grid-lg-3 .item:nth-of-type(3n+1){clear:left;}
    .auto-clear.grid-lg-4 .item:nth-of-type(4n+1){clear:left;}
    .auto-clear.grid-lg-5 .item:nth-of-type(5n+1){clear:left;}
    .auto-clear.grid-lg-6 .item:nth-of-type(6n+1){clear:left;}
}
@media (min-width:992px) and (max-width:1199px){
    .auto-clear.grid-md-1 .item:nth-of-type(n+1){clear:left;}
    .auto-clear.grid-md-2 .item:nth-of-type(2n+1){clear:left;}
    .auto-clear.grid-md-3 .item:nth-of-type(3n+1){clear:left;}
    .auto-clear.grid-md-4 .item:nth-of-type(4n+1){clear:left;}
    .auto-clear.grid-md-5 .item:nth-of-type(5n+1){clear:left;}
    .auto-clear.grid-md-6 .item:nth-of-type(6n+1){clear:left;}
}
@media (min-width:768px) and (max-width:991px){
    .auto-clear.grid-sm-1 .item:nth-of-type(n+1){clear:left;}
    .auto-clear.grid-sm-2 .item:nth-of-type(2n+1){clear:left;}
    .auto-clear.grid-sm-3 .item:nth-of-type(3n+1){clear:left;}
    .auto-clear.grid-sm-4 .item:nth-of-type(4n+1){clear:left;}
    .auto-clear.grid-sm-5 .item:nth-of-type(5n+1){clear:left;}
    .auto-clear.grid-sm-6 .item:nth-of-type(6n+1){clear:left;}
}
@media (max-width:767px){
    .auto-clear.grid-xs-1 .item:nth-of-type(n+1){clear:left;}
    .auto-clear.grid-xs-2 .item:nth-of-type(2n+1){clear:left;}
    .auto-clear.grid-xs-3 .item:nth-of-type(3n+1){clear:left;}
    .auto-clear.grid-xs-4 .item:nth-of-type(4n+1){clear:left;}
    .auto-clear.grid-xs-5 .item:nth-of-type(5n+1){clear:left;}
    .auto-clear.grid-xs-6 .item:nth-of-type(6n+1){clear:left;}
}