@charset "utf-8";
/* CSS Document */


/*-- colors --

red: #b20838;


--*/

/*-- slider --*/
/* Slider */
.slick-slider{
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list{
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus{
    outline: none;
}
.slick-list.dragging{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list{
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track{
    position: relative;
    top: 0;
    left: 0;
    display: block;
}
.slick-track:before,
.slick-track:after{
    display: table;
    content: '';
}
.slick-track:after{
    clear: both;
}
.slick-loading .slick-track{
    visibility: hidden;
}

.slick-slide{
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
.slick-slide img{
    display: block;
}
.slick-slide.slick-loading img{
    display: none;
}
.slick-slide.dragging img{
    pointer-events: none;
}
.slick-initialized .slick-slide{
    display: block;
}
.slick-loading .slick-slide{
    visibility: hidden;
}
.slick-arrow.slick-hidden {
    display: none;
}





/*-- global --*/
html, body{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
    margin:0;
    padding:0;
    font-family:"Hind";
}
img{
    display:block;
    width:100%;
    max-width:none;
}

*{
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box;
}
body,
.page-wrap{
    position:relative;
    overflow-x:hidden;
}



/*-- type --*/
p{
    color:black;
    font-size: 18px;
    font-size: 1.12vw;
    font-size: calc(15px + (24 - 15) * ((100vw - 480px) / (1600 - 480)));
    line-height:1.65;
}


a{
    text-decoration:none;
    color:inherit;
}

.hero .text,
.callout .text{
    z-index:2;
    position:relative;
}
.callout .text{
    text-align:center;
}
.counters,
.social,
header nav ul,
footer ul{
    list-style:none;
    padding:0;
    margin:0;
}
[class^="icon-"]:before, [class*=" icon-"]:before {
    width: auto;
    margin: 0;
    height: auto;
    line-height: 100%;
    display: block;
}
.text-center{
    text-align:center;
}
.text-left{
    text-align:left;
}
.bg-black{
	background-color:black;
    color:white;
}
.color-white{
    color:white;
}
.color-red{
    color:#b20838;
}
.color-black{
    color:black;
}
.relative{
    z-index:1;
    position: relative;
}
.alt{
    display:block;
    text-indent: -999999px;
    width: 1px;
    height:1px;
    overflow: hidden;
}
.bg-img {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: 50% 50%;
}
.btn{
    display:inline-block;
    font-family:"Montserrat";
    font-weight:700;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:0.5px;
    padding:0 0 3px;
    border-bottom: 3px solid #b20838;
    position:relative;
    z-index: 1;
    transition: color 0.3s;
}
.btn:hover{
    color: #b20838;
}
.btn:hover::before{
    transform: scaleX(1);
    transform-origin:left;
}
.btn::before {
    position: absolute;
    bottom:-3px;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 3px;
    background: black;
    content: '';
    transition: transform 0.3s;
    transform: scaleX(0);
    transform-origin:right;
}

.hero .btn,
.home-hero .btn,
.btn.white{
    color:white;
}
.callout .btn::before,
.hero .btn::before,
.home-hero .btn::before,
.btn.white::before,
.bg-black .btn::before{
    background:white;
}
.btn-box a.btn {
    margin: 0 10px 10px 0;
}

.text-center .btn-box a.btn {
    margin: 0 10px 10px;
}


.home-hero .bg-img::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: -moz-linear-gradient(top,  rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(top,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to bottom,  rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
    }




/*-- grid --*/
.pad{
    padding:50px;
    padding: 3.125vw;
}
.pad-more{
    padding:100px;
    padding:6.25vw;
}
.pad-most{
    padding:150px;
    padding:9.375vw;
}
.counters,
.social,
footer,
header,
header nav ul,
.flex-wrap{
	 display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction:row;
    flex-wrap:wrap;
}
.flex-wrap.reverse,
.flex.reverse{
    flex-direction:-webkit-row-reverse;
    flex-direction:-moz-row-reverse;
     -ms-flex-direction: row-reverse;
    flex-direction:-ms-row-reverse;
    flex-direction:row-reverse;
}
.flex-wrap.gutter {
   margin: 0 -10px;
}
/*.flex-wrap .flex-wrap.gutter {
    margin: 0 -10px;
}*/

.body-copy .flex-wrap.gutter {
    margin: 0 -20px;
}


.flex-col,
.flex-wrap a.flex-col{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction:-webkit-column;
    flex-direction:-moz-column;
    flex-direction:-ms-column;
    -ms-flex-direction: column;
    flex-direction:column;
    justify-content:-webkit-center;
    justify-content:-moz-center;
     -ms-flex-pack: center;
    justify-content:-ms-center;
    justify-content:center;
}
.flex-col.align-bottom,
.flex-wrap a.flex-col.align-bottom,
.flex-wrap.align-right{
    justify-content:-webkit-flex-end;
    justify-content:-moz-flex-end;
    justify-content:-ms-flex-end;
    -ms-flex-pack: end;
    justify-content:flex-end;
}

.half,
.halfs > *{
    width:50%;
}

.gutter > .half,
.gutter.halfs > * {
    width: calc(50% - 20px);
    margin: 0 10px 20px;
}



.body-copy .gutter > .half,
.body-copy .gutter.halfs > * {
    width: calc(50% - 40px);
    margin: 0 20px 40px;
}






.third,
.thirds > *,
.one-third{
    width:33.333%;
}
.gutter > .third,
.gutter > .one-third,
.gutter.thirds > * {
    width: calc(33.333% - 20px);
    margin: 0 10px 20px;
}
.two-thirds{
    width:66.666%;
}
.gutter > .two-thirds{
    width: calc(66.666% - 20px);
    margin: 0 10px 20px;
}
.fourth,
.fourths > *,
.one-fourth{
    width:25%;
}
.gutter > .fourth,
.fourths.gutter > *,
.gutter > .one-fourth {
    width: calc(25% - 20px);
    margin: 0 10px 20px;
}
.three-fourths{
    width:75%;
}
.gutter > .three-fourths{
    width: calc(75% - 20px);
    margin: 0 10px 20px;
}
.sixth,
.sixths > *{
    width:16.666%;
}
.gutter > .sixth,
.sixths.gutter > * {
    width: calc(16.666% - 20px);
    margin: 0 10px 20px;
}
.mb-0,
p.mb-0{
    margin-bottom:0;
}
.mb-10{
    margin-bottom:10px;
}
.mb-20{
    margin-bottom:20px;
}
.mb-30{
    margin-bottom:30px;
}
.mb-40{
    margin-bottom:40px;
}
.mb-50{
    margin-bottom:50px;
}
.mb-60{
    margin-bottom:60px;
}
.mt-0,
p.mt-0{
    margin-top:0;
}
.mt-10{
    margin-top:10px;
}
.mt-20{
    margin-top:20px;
}
.mt-30{
    margin-top:30px;
}
.mt-40{
    margin-top:40px;
}
.mt-50{
    margin-top:50px;
}
.mt-60{
    margin-top:60px;
}

/*-- header --*/
header{
    padding:20px 3.125vw;
    align-items:center;
    justify-content: space-between;
    position:relative;
    z-index:5;
}
header nav ul li a{
    font-family:"Lato";
    text-transform:uppercase;
    display:block;
    margin:0 0 0 25px;
    letter-spacing:1px;
    position:relative;
    font-size:calc(11px + (14 - 11) * ((100vw - 1024px) / (1600 - 1024)));
}
.home header{
    position:absolute;
    z-index:5;
    top:0;
    left:0;
    width:100%;
    color:white;
}
header .logo{
    width: 11.625vw;
    min-width: 145px;
    max-width: 280px;
    display:block;
}
header .logo.homelogo{
    width: 19vw;
    min-width: 220px;
}
header .close,
header .burger{
    display:none;
    margin:0;
    padding:0;
    font-size:30px;
    color:black;
    background:transparent;
    border:none;
    outline:none;
}
header .close{
    position: absolute;
    top: 20px;
    right: 3.125vw;
    z-index:5;
}
.home header .burger{
    color:white;
}
header nav ul li a:hover::after,
header nav ul li.selected a::after,
header nav ul li.has-sub:hover a::after,
.bread-crumbs a:hover::after {
    transform: scaleX(1);
    transform-origin:left;
}

header nav ul li a::after,
.bread-crumbs a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -3px;
    height: 2px;
    background: #b30839;
    width: 100%;
    left: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.2s linear;
    z-index:1;
}
.bread-crumbs a{
    position:relative;
}

.access-menu li.has-sub{
    position: relative;
}

.access-submenu{
    text-align:center;
    display:block;
    position: absolute;
    top: calc(100% + 20px);
    width: auto;
    display: block;
    background: #ffffff;
    margin: 0 auto;
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    box-shadow: 0 2px 10px rgb(0 0 0 / 40%);
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
    -webkit-transition: all 0.35s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
    -moz-transition: all 0.35s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
    -ms-transition: all 0.35s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
    transition: all 0.35s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
}
li.has-sub:last-of-type .access-submenu {
    right: -35px;
}
@media only screen and (max-width:900px){
    li.has-sub:last-of-type .access-submenu {
        right: unset;
    }
}
.access-menu > li:hover .access-submenu,
.is-show{
    opacity:1;
    z-index: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 0s, 0s, 0.3s;
    -moz-transition-delay: 0s, 0s, 0.3s;
    -ms-transition-delay: 0s, 0s, 0.3s;
    transition-delay: 0s, 0s, 0.3s;
}

header nav ul.access-submenu li {
    padding: 10px 15px;
    border:none;
    border-bottom: 1px solid #eaeaea;
}
header nav ul.access-submenu li a{
    color: black;
    display:block;
    margin:0;
    text-align:center;
    font-size:calc(10px + (12 - 10) * ((100vw - 1024px) / (1600 - 1024)));
}
header nav ul.access-submenu li a:hover,
header nav ul.access-submenu li.selected a{
    color: #b30839;
}
header nav ul.access-submenu li a::after,
header nav ul.access-submenu li:hover a::after,
header nav ul.access-submenu li.selected a::after,
header nav ul.access-submenu li.selected:hover a::after{
    display:none;
}
.access-menu > li:hover .access-submenu::before {
    content: "";
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: -6px;
    margin: 0 auto;
}

@media only screen and (max-width:900px){
    header nav{
        top:0;
        right:0;
        position:fixed;
        transform:scaleX(0);
        background:white;
        width:300px;
        height:100vh;
        box-shadow:0 0 50px rgb(0 0 0 / 0%);
        padding:30px 35px;
        z-index:9;
        transition: box-shadow 0.3s ease, transform 0.3s ease;
        transform-origin:right;
        overflow-y:scroll;
    }
    .nav-active header nav {
        transform:scaleX(1);
        box-shadow:0 0 50px rgb(0 0 0 / 25%);
        transition: box-shadow 0.3s ease, transform 0.3s ease;
    }
    header nav ul{
        display:block;
    }
    header nav ul li a{
        color:black;
        margin: 0 0 25px;
        font-size: 18px;
        font-weight: 600;
        letter-spacing: 2px;
        display: inline-block;
    }
    header nav ul li a,
    header .close{
        opacity: 0;
        transition: opacity 0.15s 0s linear;
    }
    .nav-active header .close,
    .nav-active header nav ul li a{
        opacity: 1;
        transition: opacity 0.65s 0.35s linear;
    }
    header .close,
    header .burger{
        display:block;
    }




    /*-- toggle on menu --*/
    .access-menu > li:hover .access-submenu,
    .is-show,
    ul.access-submenu {
        opacity:1;
        height:auto;
        position: relative;
        transform:scale(1);
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        transform: none;
        top: initial;
        margin: 10px 0 20px;
        transition: height 0s linear 0.1s, opacity 0.1s linear 0.15s;
        visibility:visible;
    }
    .access-menu > li:hover .access-submenu,
    .is-show{
        opacity:1;
        height:auto;
        transform:scale(1);
        transition: height 0.1s linear 0.2s, opacity 0.2s linear 0.15s;
    }

    /*header nav ul.access-submenu li {
        opacity: 0;
    }

    .access-menu > li:hover .access-submenu li,
    .is-show li {
        opacity: 1;
        transition: opacity 0.3s linear 0.25s;
    }*/

    ul.access-submenu,
    .access-menu > li:hover .access-submenu,
    .is-show {
        top: initial;
    }

    header nav ul li.has-sub > a {
        margin: 0;
    }

    .access-menu > li:hover .access-submenu::before {
        display: none;
    }

    header nav ul.access-submenu li a {
        text-align: left;
        font-size: 16px;
        text-transform: capitalize;
        letter-spacing: 0px;
    }

    header nav ul.access-submenu li {
        border: none;
        padding: 0 0 0 10px;
        margin: 0 0 15px;
    }
    .nav-active, .nav-active .page-wrap {
        overflow: hidden;
        height: 100vh;
    }
    .access-submenu{
        box-shadow:none;
    }

}








/*-- footer --*/
footer{
    background-color: #eceae4;
    padding: 3.125vw;
}
footer .logo{
    display:block;
    width: 10.625vw;
    min-width: 125px;
    max-width: 200px;
}
footer .logo-wrap,
footer .social-wrap{
    width:50%;
}
footer .social{
    justify-content:flex-end;
}
footer .social li{
    margin:0 0 0 20px;
}
footer a{
    display:block;
}
footer a:hover{
    color:#b20838;
    transition: color 0.3s linear;
}

footer .social a .demo-icon{
    color:#727272;
    font-size:32px;
    transition: color 0.3s linear;
}
footer .hq-col{
        margin: 0 4.155vw;
}
footer h4 {
    font-weight: 800;
    margin: 0 0 10px;
    font-size: 20px;
    line-height: 1.35;
}
footer .logo-wrap {
    margin: 0 0 40px;
}
footer .social a:hover .demo-icon{
    color:#b20838;
}
footer address{
    margin:0 0 20px;
    font-style:normal;
}
footer a.email{
    color:#b20838;
     font-size: calc(16px + (20 - 16) * ((100vw - 768px) / (1600 - 768)));
}


/*-- hero --*/
.hero{
    position:relative;
    overflow:hidden;
    z-index:0;
}
.hero.home-hero,
.hero{
    min-height:100vh;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction:-webkit-column;
    flex-direction:-moz-column;
    flex-direction:-ms-column;
    -ms-flex-direction: column;
    flex-direction:column;
    justify-content:-webkit-flex-end;
    justify-content:-moz-flex-end;
     -ms-flex-pack: flex-end;
    justify-content:-ms-flex-end;
    justify-content:flex-end;
}

.hero.home-hero h1,
.hero.subpage .breadcrumb{
    font-weight: 400;
    text-transform:uppercase;
    letter-spacing:1px;
    font-family:"Montserrat";
    margin:0 0 10px;
    color:white;
    font-size:2vw;
    font-size: calc(16px + (24 - 16) * ((100vw - 768px) / (1600 - 768)));
}
.hero.sub-page h1,
.hero.subpage h1,
.hero.home-hero p,
.project-title,
.page-title{
    color:white;
    font-family:"Montserrat";
    font-size: calc(45px + (75 - 45) * ((100vw - 768px) / (1600 - 768)));
    line-height:1.25;
    margin:0 0 20px;
    font-weight:600;
}
.slide-caption,
.bg-black p.slide-caption {
    font-family: "Hind";
    font-size: calc(14px + (20 - 14) * ((100vw - 480px) / (1600 - 480)));
    font-size: 13px;
    line-height: 16px;
    color: #8c8c8c;
    text-transform: uppercase;
    letter-spacing: 1px;
}




/*-- img blocks --*/
.flex-wrap.img-blocks {
    align-items: flex-start;
}
.callout.flex-wrap .half.relative,
.img-block{
    min-height: 270px;
    position:relative;
     display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction:-webkit-column;
    flex-direction:-moz-column;
    flex-direction:-ms-column;
    -ms-flex-direction: column;
    flex-direction:column;
    justify-content:-webkit-flex-end;
    justify-content:-moz-flex-end;
     -ms-flex-pack: flex-end;
    justify-content:-ms-flex-end;
    justify-content:flex-end;
}
.img-block .text{
    position:relative;
    z-index:2;
    padding:3.125vw;
    color:white;
}
.img-blocks.gutter .img-block h3,
.img-block h2{
    font-family:"Oswald";
    line-height:1.45;
    color:white;
    font-weight:400;
    margin:0;
    font-size: calc(26px + (34 - 26) * ((100vw - 1024px) / (1600 - 1024)));
}
.img-block::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index:1;
    height: 100%;
   background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);
background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 100%);
background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );

}
.team .img-block::before {
    display: none;
}
.img-block{
    overflow:hidden;
}
.img-block .bg-img{
    transform:scale(1.15);
    transition:transform 0.3s cubic-bezier(0.34,0.615,0.4,0.985) 0s;
}

.img-block:hover .bg-img{
    transform:scale(1);
    transition:transform 0.3s cubic-bezier(0.34,0.615,0.4,0.985) 0s;
}
.team .img-block .text h2,
.team .img-block .text p{
    color:black;
}
.team .img-block .text {
    margin: 0 0 20px;
}
.bg-grey {
    background: #f3f3f3;
    background:#f5f3f2;
}

/*-- callout --*/
.callout {
    position: relative;
    color: white;
}
.callout .text{
    position:relative;
    z-index:2;
    color:white;
}
.callout h2,
h2.sub-head,
.sub-head{
     font-size: 16px;
     font-family:"Montserrat";
     text-transform:uppercase;
     margin:0 0 10px;
     font-weight:500;
     letter-spacing:1px;
}
.callout p{
    font-family:"Oswald";
    margin:0 0 20px;
    color:white;
    font-size: calc(35px + (75 - 35) * ((100vw - 768px) / (1600 - 768)));
    line-height: 1.45;
}

.callout .bg-img::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index:1;
    background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
    background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
    background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
}
.bg-img.parallax{
    height: 150%;
    /*will-change: transform;*/
    top: -50%;
    z-index: 0;
}

[data-parent="parallax"]{
    overflow:hidden;
}

/*-- homepage counter section --*/
.counters{
    justify-content:center;
}
.counters .demo-icon{
    font-size:30px;
    color:#b20838;
}
.counters li{
    text-align:center;
    margin:0 3.125vw;
}
.counters li h2 .num,
.counters li h2 .label{
    display:block;
    text-align:center;
    text-transform:uppercase;
    font-family: "Varela Round";
    font-weight:400;
    font-size: calc(50px + (70 - 50) * ((100vw - 1180px) / (1600 - 1180)));
}

.counters li h2 .label{
    text-transform:uppercase;
    color:#b20838;
    font-size:1.375vw;
    font-size: calc(16px + (22 - 16) * ((100vw - 1024px) / (1600 - 1024)));
    font-weight:600;
}

@media only screen and (max-width:950px){
    .counters li h2 .num{
        font-size: calc(50px + (70 - 50) * ((100vw - 650px) / (950 - 650)));
    }
}



/*-- project hero slider --*/
.hero-slider .slick-slider {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width:100%;
}
.hero-slider,
.hero-slider .bg-img{
    min-height: 90vh;
}
p.slide-caption {
    color: white;
}
.hero-slider .flex-wrap.bg-black {
    justify-content: space-between;
}

.hero-slider .slick-arrow {
    display: block;
    outline: none;
    background: #333332;
    border: none;
    margin: 0 0 0 10px;
    padding: 0;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    color: white;
    font-size: 19px;
}
.hero .arrows .demo-icon {
    font-size: 19px;
    margin: 0;
}
.hero-slider .slide-controls em {
    margin: 0 5px;
    font-style: normal;
    color: #777;
}

.hero-slider .slide-controls {
    align-items: center;
}

.hero-slider .slide-controls .arrows {
    margin: 0 0 0 10px;
}
.hero-slider .caption-wrapper{

    padding: 20px 30px;
}
.hero-slider .slide-caption{
    margin:0;
}
.hero-slider .slick-list {
    height: 100%;
}

.project-info .location {
    color: white;
    margin: 0;
    font-family: "Montserrat";
    font-size: calc(14px + (16 - 14) * ((100vw - 480px) / (1600 - 480)));
    line-height: 1.35;
}

.project-info .voltage {
    margin: 0;
    font-family: "Oswald";
    color: #d10c44;
    text-transform: uppercase;
    font-size: calc(35px + (55 - 35) * ((100vw - 480px) / (1600 - 480)));
    line-height: 1.15;
}

.project-info .one-third {
    text-align: right;
    margin-bottom: 0;
}

.project-info .two-thirds {
    margin-bottom: 0;
}
.body-copy h2{
    color: #b20838;
    font-size: calc(18px + (18 - 15) * ((100vw - 480px) / (1600 - 480)));
    text-transform: uppercase;
    font-family: "Montserrat";
    margin: 0 0 15px;
    font-weight: 700;
    letter-spacing: 1px;
}
.body-copy p + h2 {
    margin: 45px 0 15px;
}


@media only screen and (max-width:768px){
    blockquote {
        margin: 0;
        padding: 0;
    }
    .half,
    .halfs > *,
    .third,
    .thirds > *,
    .one-third,
    .gutter > .half,
    .gutter.halfs > *,
    .gutter > .third,
    .gutter > .one-third,
    .gutter.thirds > *,
    .two-thirds,
    .gutter > .two-thirds {
        width: calc(100% - 20px);
        margin: 0 10px 20px;
    }


    .fourth,
    .fourths > *,
    .one-fourth,
    .three-fourths{
        width:50%;
    }
    .gutter > .fourth,
    .fourths.gutter > *,
    .gutter > .one-fourth,
    .gutter > .three-fourths {
        width: calc(50% - 20px);
        margin: 0 10px 20px;
    }

    .sixth,
    .sixths > *{
        width:33.333%;
    }
    .gutter > .sixth,
    .sixths.gutter > * {
        width: calc(33.333% - 20px);
        margin: 0 10px 20px;
    }

}
@media only screen and (max-width:650px){
    .pad{
        padding: 37.5px 6.125vw;
    }
    .pad-more{
        padding: 75px 9.25vw;
    }
    .pad-most{
        padding: 150px 14.375vw;
    }
    .body-copy .gutter > .half,
    .body-copy .gutter.halfs > *,
    .third,
    .thirds > *,
    .one-third,
    .gutter > .third,
    .gutter > .one-third,
    .gutter.thirds > *,
    .two-thirds,
    .gutter > .two-thirds,
    .fourth,
    .one-fourth,
    .three-fourths,
    .fourths > *,
     .gutter > .fourth,
     .gutter > .one-fourth,
     .gutter > .three-fourths,
    .fourths.gutter > *,
    .half,
    .halfs.gutter > *  {
        width: 100%;
        margin: 0 0px 20px;
    }
    .body-copy .flex-wrap.gutter,
    .flex-wrap.gutter{
        margin-left:0;
        margin-right:0;
    }

    .sixth,
    .sixths > *{
        width:50%;
    }
    .gutter > .sixth,
    .sixths.gutter > * {
        width: calc(50% - 20px);
        margin: 0 10px 20px;
    }
}


/*-- project sort --*/
.filter input[type="text"],
.filter select{
    border:1px solid black;
    background-color: white;
    background-image: url(/assets/images/down.svg);
    background-position: calc(100% - 8px) center;
    background-size: 18px;
    background-repeat: no-repeat;
    width: 100%;
    padding: 12px 35px 12px 15px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    font-family: "Lato";
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 1px;
    color: black;
    border-radius:0px;
    outline:none;
        transition: border-color 0.2s linear;
        margin:0;
}
.filter.gutter > .fourth{
    margin-bottom:0;
}
@media only screen and (max-width:768px){
    .filter.gutter > .fourth:nth-of-type(1),
    .filter.gutter > .fourth:nth-of-type(2){
        margin-bottom: 20px;
    }
}
@media only screen and (max-width:768px){
    .filter.gutter > .fourth:nth-of-type(3){
        margin-bottom: 20px;
    }
}
.filter input[type="text"]:focus,
.filter select:focus{
    border-color:#b30839;
}
.filter select{
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
}
.filter input[type="text"]{
    background-image: url(/assets/images/search.svg);
    padding: 12px 35px 12px 15px;
    background-size: 25px;
}
.filter input[type="text"]::-webkit-input-placeholder {
  color: black;
}
.filter input[type="text"]::-moz-placeholder {
  color: black;
}
.filter input[type="text"]:-ms-input-placeholder {
 color: black;
}
.filter input[type="text"]:-moz-placeholder {
  color: black;
}




/*-- team --*/
.hero.subpage,
.hero.sub-page {
    max-height:750px;
    min-height: 350px;
    height: 35vw;
}
figure{
    margin: 0;
    padding: 0;
    position: relative;
}
.bg-black p{
    color:white;
}
.team .hover {
    opacity: 0;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 0.35s linear;
}

.team a:hover .hover {
    opacity: 1;
}

.team .img-block .text p {
   /* color: white; */
    margin: 0;
    text-transform: uppercase;
    font-size: 16px;
    letter-spacing: 2px;
}

.team .img-block .text {
    padding: 2.125vw;
}
.bread-crumbs{
    list-style:none;
    margin:0;
    padding:0;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.bread-crumbs a{
    font-family:"Lato";
    font-size: 11px;
    letter-spacing:2px;
    line-height:1.0;
    text-transform:uppercase;
}
.bread-crumbs li{
    position:relative;
    margin:0 24px 0 0;
}
.bread-crumbs li:only-of-type {
    padding: 0 0 0 14px;
}
.bread-crumbs li:last-of-type{
    margin:0;
}
.bread-crumbs li::after{
    display: block;
    font-size: 7px;
    content: "\e80a";
    font-family: "Fontello";
    opacity: 0.5;
    right: -15px;
    top: 9px;
    position: absolute;
    font-weight: 400;
}
.bread-crumbs li:last-of-type:after{
    display:none;
}

.bread-crumbs li:only-of-type::before {
    content: "\e809";
    display: block;
    font-family: "Fontello";
    opacity: 0.5;
    left: 0px;
    top: 9px;
    position: absolute;
    font-weight: 400;
    font-size: 7px;
}
.subpage .bread-crumbs li:only-of-type::before,
.sub-page .bread-crumbs li:only-of-type::before{
    color:white;
}

.bread-crumbs + h1 {
    font-weight: 400;
    letter-spacing: 1px;
    font-family: "Montserrat";
    font-size: calc(45px + (65 - 45) * ((100vw - 768px) / (1600 - 768)));
    line-height: 1.25;
    margin: 0 0 20px;
    font-weight: 600;
}

h2.job-title {
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Montserrat";
    margin: 0 0 10px;
    font-size: calc(16px + (24 - 16) * ((100vw - 768px) / (1600 - 768)));
}
.btn i.demo-icon {
    display: inline-block;
    margin: 0 3px 0 0;
}


/*-- contact --*/
.lined-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lined-list li {
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid #e6e6e6;
}


/* -- industries we serve --*/
blockquote {
    font-family: "Varela Round";
    font-size: calc(25px + (32 - 25) * ((100vw - 480px) / (1600 - 480)));
    line-height: 1.5;
}
blockquote span.speaker {
    display: block;
    font-family: "Hind";
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 16px;
    margin: 10px 0 0;
}
.max-width {
    max-width: 1024px;
    margin: 0 auto;
}
.max-width + .flex-wrap.team{
    margin-top: 60px;
}


.hero.subpage::before,
.hero.sub-page::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
    background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
    background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
}

.hero.subpage .bread-crumbs a,
.hero.sub-page .bread-crumbs a {
    color: white;
}
.body-copy ul {
    list-style: none;
    margin: 0 0 30px;
    padding: 0;
}

.body-copy ul li {
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 0 15px;
    font-size: calc(15px + (24 - 15) * ((100vw - 480px) / (1600 - 480)));
    line-height: 1.65;
}

.body-copy ul li::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 13px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #adadad;
}

.body-copy ul li ul li::before {
    background: transparent;
    border: 1px solid #adadad;
    width: 4px;
    height: 4px;
}
.body-copy p > a {
    transition: background 0.3s;
    color: inherit;
    text-decoration: underline;
    text-decoration-color: #b20838;
}

.body-copy p > a:hover {
    background: #f5f3f2;
}

.body-copy.bg-grey p > a:hover {
    background: #e2dfde;
}
.body-copy p + .flex-wrap.gutter,
.body-copy .flex-wrap.gutter + .flex-wrap.gutter {
    margin-top: 60px;
}

.body-copy .gutter > .half.text,
.body-copy .gutter.halfs > .text {
    margin-top: 40px;
    margin-bottom: 40px;
}
.body-copy ul li > ul {
    margin: 10px 0 15px 10px;
}





/*-- core principles --*/
ul.core-principles {
    list-style: none;
    margin: 0;
    padding: 0;
}
.core-principles p {
    font-weight: 300;
}

.core-principles h2 {
    font-family: "Oswald";
    font-size: calc(36px + (50 - 36) * ((100vw - 768px) / (1600 - 768)));
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 400;
    margin:0;
    position:relative;
    padding: 0 3.125vw 0 0;
    color:#b30839;
}
.core-principles h2::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 5px;
    background-color: #574947;
    }
ul.core-principles li {
    flex-wrap: nowrap;
    align-items: center;
}


ul.core-principles li .pad{
    padding-right:0;
}


@media only screen and (max-width:768px){
    ul.core-principles li.flex-wrap {
        display: block;
    }

    .core-principles h2 {
        padding: 0;
        display: inline-block;
    }

    .core-principles h2::after {
        height: 4px;
        width: 100%;
        top: initial;
        bottom: 0;
    }

    ul.core-principles li .pad {
        padding: 0;
    }
}


.img-block .demo-icon {
    display: inline-block;
    font-size: 80px;
    margin: 0 auto 10px 0;
}

.icons .img-block {
    justify-content: center;
    justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    justify-content: center;
}

.icons .img-block .bg-img::before {
    opacity:0.8;
    background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 51%, rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 51%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 51%,rgba(0,0,0,0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#00000000',GradientType=0 );
}
.hero .demo-icon {
    color:white;
    display: inline-block;
    margin: 0 10px 0 0;
    font-size: calc(90px + (150 - 90) * ((100vw - 768px) / (1600 - 768)));
}
.hero .text.flex-wrap{
    align-items:flex-end;
}
.hero .text.flex-wrap .bread-crumbs + h1.page-title,
.hero .text.flex-wrap h1.page-title{
    margin:0;
}







.services .demo-icon {
    font-size: 80px;
    line-height: 80px;
    display: inline-block;
    margin: 0 0 10px;
}

.services .half {
    text-align: center;
}


.services .half:nth-of-type(4n+2),
.services .half:nth-of-type(4n+3) {
    background: #f5f3f2;
}

@media only screen and (max-width:768px){
    .services .half:nth-of-type(4n+2),
    .services .half:nth-of-type(4n+3) {
        background: transparent;
    }
    .services .half:nth-of-type(odd){
        background:#f5f3f2;
    }
}


address i.demo-icon.icon-location,
.contacts a i.demo-icon {
    display: inline-block;
    position: absolute;
    left: 0;
    color: #969696;
    top: 3px;
}
address i.demo-icon.icon-location{
    font-size:110%;
}
.contacts a i.demo-icon.icon-email{
    font-size:80%;
    top:9px;
}
.body-copy address {
    position: relative;
    font-style: normal;
    font-size: calc(15px + (24 - 15) * ((100vw - 480px) / (1600 - 480)));
    padding: 0 0 0 25px;
    margin: 0 0 20px;
}
.body-copy .address {
    position: relative;
    font-style: normal;
    font-size: calc(15px + (24 - 15) * ((100vw - 480px) / (1600 - 480)));

    margin: 0 0 20px;
}

.contacts a {
    position: relative;
    display: block;
    font-size: calc(15px + (24 - 15) * ((100vw - 480px) / (1600 - 480)));
    padding: 0 0 0 30px;
    margin: 0 0 10px;
}

.contacts a.email {
    text-decoration: underline;
    text-decoration-color: #b20838;
}


/*-- full width slideshow --*/

.slideshow .slide{
    height:80vh;
    min-height:400px;
    position:relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

}
.slideshow .slide .caption{
    position:relative;
    z-index:1;
    padding: 20px 30px;
    color: white;
    position: relative;
    bottom: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 0.2s linear;
}

.slideshow .slide.slick-active .caption {
    opacity: 1;
    transition: opacity 0.3s linear 0.35s;
}
.slideshow .caption + .bg-img::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    top: 0;
    left: 0;
    z-index: 0;
    background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
    background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
    background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
}

.slideshow ul.slick-dots {
    list-style: none;
    margin: 0;
    padding: 20px;
    text-align: center;
    display: flex !important;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.slideshow ul.slick-dots li{
    width: 15px;
    margin: 0 5px;
    height: 17px;
}
.slideshow ul.slick-dots li button{
    border:none;
    background:transparent;
    overflow:hidden;
    text-indent:-999999999px;
    width: 10px;
    height: 10px;
    position:relative;
    outline:none;
    cursor:pointer;
    color:transparent;
    padding: 0;
    margin: 0;
}
.slideshow ul.slick-dots li button::before{
    content:'';
    display:block;
    width:8px;
    height:8px;
    top:calc(50% - 4px);
    left:calc(50% - 4px);
    border-radius:50%;
    position:absolute;
    background:#cacaca;
}
.slideshow ul.slick-dots li.slick-active button::before{
    background:#b30838;
}
.slideshow .slick-arrow {
    cursor: pointer;
    border: none;
    background: transparent;
    position: absolute;
    z-index: 1;
    color: white;
    font-size: 30px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 16px;
    display: block;
    outline: none;
    left: 0;
    transition: opacity 0.3s linear;
}

.slideshow .slick-arrow.slick-next {
    left: initial;
    right: 0;
}

.slideshow .slick-arrow:hover {
    opacity: 0.6;
}








/*-- in the news --*/
.news-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.news-list h2 {
     margin: 0 0 5px;
    color: black;
    font-family: "Oswald";
    font-size: calc(28px + (42 - 28) * ((100vw - 480px) / (1600 - 480)));
    transition:color 0.3s linear;
    text-transform:capitalize;
}


.news-list a:hover h2{
    color: #b30839;
}



.caption {
    color: grey;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    text-align: right;
    padding: 10px 20px;
    position: absolute;
    right: 0;
}




.bio .connect h3{
    font-family: "Varela Round";
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
    color: #757575;
    margin: 30px 0 10px 0px;
}


.bio .connect a{
    display: block;
    width: 30px;
    font-size: 30px;
    margin: 0 0 23px;
    transition: opacity 0.3s linear;
    opacity:1;
}

.bio .connect a:hover {
    opacity: 0.5;
}




.callout.flex-wrap .half.text {
    text-align: left;
}

.callout.flex-wrap .text.half p {
    font-family: "Oswald";
    margin: 0 0 20px;
    color: white;
    font-size: calc(35px + (55 - 35) * ((100vw - 768px) / (1600 - 768)));
    line-height: 1.25;
}
.play svg {
    width: 60px;
    display: block;
    margin: 0 auto;
}

.play {
    text-align: center;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    transition: opacity 0.3s linear;
}
.play:hover{
    opacity:0.65;
}



























/*-- lity --*/

/*! Lity - v2.4.0 - 2019-08-10
* http://sorgalla.com/lity/
* Copyright (c) 2015-2019 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.lity.lity-opened {
  opacity: 1;
}
.lity.lity-closed {
  opacity: 0;
}
.lity * {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important;
}
.lity-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}
.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.lity-loading .lity-loader {
  opacity: 1;
}
.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
}
.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
       -o-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease, -o-transform 0.3s ease;
}
.lity-loading .lity-content,
.lity-closed .lity-content {
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
       -o-transform: scale(0.8);
          transform: scale(0.8);
}
.lity-content:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.lity-close:active {
  top: 1px;
}
/* Image */
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0;
}
/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}
.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
}
.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}
.lity-hide {
  display: none;
}
