@font-face {
    font-family: HelveticaThin;
    src: url(fonts/helvetica/HelveticaNeueLTPro-Th.eot);
    src: url(fonts/helvetica/HelveticaNeueLTPro-Th.eot?#iefix) format('embedded-opentype'), url(fonts/helvetica/HelveticaNeueLTPro-Th.woff) format('woff'), url(fonts/helvetica/HelveticaNeueLTPro-Th.woff2) format('woff2'), url(fonts/helvetica/HelveticaNeueLTPro-Th.svg#HelveticaNeueLTPro-Th) format('svg')
}

@font-face {
    font-family: HelveticaLight;
    src: url(fonts/helvetica/HelveticaNeueLTPro-Lt.eot);
    src: url(fonts/helvetica/HelveticaNeueLTPro-Lt.eot?#iefix) format('embedded-opentype'), url(fonts/helvetica/HelveticaNeueLTPro-Lt.woff) format('woff'), url(fonts/helvetica/HelveticaNeueLTPro-Lt.woff2) format('woff2'), url(fonts/helvetica/HelveticaNeueLTPro-Lt.svg#HelveticaNeueLTPro-Lt) format('svg')
}

@font-face {
    font-family: HelveticaRoman;
    src: url(fonts/helvetica/HelveticaNeueLTPro-Roman.eot);
    src: url(fonts/helvetica/HelveticaNeueLTPro-Roman.eot?#iefix) format('embedded-opentype'), url(fonts/helvetica/HelveticaNeueLTPro-Roman.woff) format('woff'), url(fonts/helvetica/HelveticaNeueLTPro-Roman.woff2) format('woff2'), url(fonts/helvetica/HelveticaNeueLTPro-Roman.svg#HelveticaNeueLTPro-Roman) format('svg')
}

@font-face {
    font-family: HelveticaBulk;
    src: url(fonts/helvetica/HelveticaNeueLTPro-Blk.eot);
    src: url(fonts/helvetica/HelveticaNeueLTPro-Blk.eot?#iefix) format('embedded-opentype'), url(fonts/helvetica/HelveticaNeueLTPro-Blk.woff) format('woff'), url(fonts/helvetica/HelveticaNeueLTPro-Blk.woff2) format('woff2'), url(fonts/helvetica/HelveticaNeueLTPro-Blk.svg#HelveticaNeueLTPro-Blk) format('svg')
}

/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block
}

audio,
canvas,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],
template {
    display: none
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

a {
    background: 0 0
}

a:focus {
    outline: thin dotted
}

a:active,
a:hover {
    outline: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0
}

mark {
    background: #ff0;
    color: #000
}

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em
}

pre {
    white-space: pre-wrap
}

q {
    quotes: "\201C""\201D""\2018""\2019"
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 0
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0
}

button,
input {
    line-height: normal
}

button,
select {
    text-transform: none
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer
}

button[disabled],
html input[disabled] {
    cursor: default
}

input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type=search] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto;
    vertical-align: top
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

body,
fieldset,
form,
html {
    margin: 0;
    padding: 0
}

address,
blockquote,
dl,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
pre,
ul {
    margin: 0;
    padding: 0
}

blockquote,
dd,
li {
    margin-left: 1.5em
}

img {
    vertical-align: bottom
}

img[align=left] {
    margin: .3em 1em 0 0
}

img[align=right] {
    margin: .3em 0 0 1em
}

button,
input {
    cursor: pointer
}

ul li {
    min-height: 1em
}

p ol,
p ul {
    font-size: inherit
}

.clearfix {
    zoom: 1
}

.clearfix {
    zoom: 1
}

footer .menu {
    margin: 0;
    padding: 0;
}

footer .menu .menu-item {
    list-style: none;
    text-transform: uppercase;
}

footer .menu .menu-item:nth-child(1) {
    margin-left: 10px;
}

footer .menu:after,
.clearfix:after,
.clearfix:before {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

footer .menu:after,
.clearfix:after {
    clear: both
}

.pull-right {
    float: right;
    margin: .3em 1em 0 0;
    clear: right
}

.pull-left {
    float: left;
    margin: .3em 1em 0 0;
    clear: left
}

@keyframes spin {
    100% {
        transform: rotate(360deg)
    }
}

body,
button,
input,
select,
textarea {
    font-family: HelveticaRoman, Arial, sans-serif;
    font-weight: 400;
    color: #000
}

abbr,
acronym,
dfn {
    font-variant: normal;
    border-bottom: 1px solid #E5E5E5;
    cursor: help
}

body {
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased
}

h1 {
    font-size: 2em;
    margin-bottom: .67em
}

h2 {
    font-size: 1.5em;
    margin-bottom: .83em
}

h3 {
    font-size: 1.17em;
    margin-bottom: 1em
}

h4 {
    font-size: 1em;
    margin-bottom: 1.33em
}

h5 {
    font-size: .83em;
    margin-bottom: 1.67em
}

h6 {
    font-size: .67em;
    margin-bottom: 2.33em
}

a {
    text-decoration: none
}

b,
strong {
    font-weight: 700
}

small {
    font-size: 82%;
    line-height: 130%
}

ol,
p,
ul {
    margin-bottom: 1.33em
}

ol ol,
ul ul {
    margin-bottom: inherit;
    font-size: inherit
}

.row {
    zoom: 1;
    display: block
}

.row:after,
.row:before {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

.row:after {
    clear: both
}

.row .col-1-2,
.row .col-2-2 {
    width: 50%;
    float: left
}

.row .col-1-3,
.row .col-2-3,
.row .col-3-3 {
    width: 33.3%;
    float: left
}

.blackbar {
    content: '';
    display: block;
    width: 12px;
    height: 48px;
    background-color: #000;
    margin-bottom: 47px
}

@media screen and (max-width:768px) {
    .blackbar {
        margin-bottom: 23px
    }
}

.background-black {
    background-color: #222
}

.no-margin-bottom {
    margin-bottom: 0
}

.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important
}

#wrapper {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2em;
    background-color: #fff
}

.slider .slider__wrapper {
    width: 100% !important
}

.slider .slide {
    background-size: cover;
    background-position: center;
    width: 100% !important
}

#upper-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 11;
}

#upper-header #logo {
    float: right;
    margin: 40px;
    width: 128px
}

@media screen and (max-width:768px) {
    #upper-header #logo {
        float: right;
        margin: 23px;
        width: 110px
    }
}

#upper-header .burger {
    padding: 40px;
    width: 20px;
    height: 20px;
    float: left;
    cursor: pointer;
    position: relative;
}

@media screen and (max-width:768px) {
    #upper-header .burger {
        padding: 24px
    }
}

#upper-header .burger div {
    position: absolute;
    background-color: #fff;
    width: 20px;
    height: 4px;
    margin-bottom: 4px;
    transition: all .3s;
    top: 40px;
}


#upper-header .burger div {
    overflow:visible;
}
#upper-header .burger:not(.open) div::before {
    content: '';
    box-shadow: 0 0 20px rgba(0,0,0,.8), 0 0 30px rgba(0,0,0,1);
    z-index: -1;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
 }

@media screen and (max-width:768px) {
    #upper-header .burger div {
        top: 24px
    }
}

#upper-header .burger div:nth-child(2) {
    top: 48px
}

@media screen and (max-width:768px) {
    #upper-header .burger div:nth-child(2) {
        top: 32px
    }
}

#upper-header .burger div:last-child {
    top: 56px
}

@media screen and (max-width:768px) {
    #upper-header .burger div:last-child {
        top: 40px
    }
}

#upper-header .burger.open div {
    left: 40px;
    right: 0;
    top: 50%;
    margin-top: -2px;
    transform: rotate(45deg)
}

@media screen and (max-width:768px) {
    #upper-header .burger.open div {
        left: 24px
    }
}

#upper-header .burger.open div:nth-child(2) {
    top: 50%;
    transform: rotate(-45deg)
}

#upper-header .burger.open div:nth-child(3) {
    top: 50%
}

#menu-container {
    display: none;
    position: fixed;
    z-index: 10;
    background-color: rgba(0, 0, 0, .85);
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    overflow-y: auto;
    padding: 0 50px 0 94px;
    box-sizing: border-box
}

@media screen and (max-width:1023px) {
    #menu-container {
        padding: 0 50px 0 86px
    }
}

@media screen and (max-width:768px) {
    #menu-container {
        padding: 90px 24px 150px 24px
    }
}

#menu {
    position: relative;
    padding-bottom: 130px;
    padding-top: 119px;
    max-width: 1600px;
    margin: 0 auto;
    box-sizing: border-box;
    min-height: 100vh
}

@media screen and (max-width:768px) {
    #menu {
        padding-top: 97px;
        padding-bottom: 188px
    }
}

#menu .projects-menu {
    width: 60.7%;
    float: left
}

@media screen and (max-width:1023px) {
    #menu .projects-menu {
        width: 49.3%
    }
}

@media screen and (max-width:768px) {
    #menu .projects-menu {
        width: 100%
    }
}

#menu .projects-menu>ul {
    list-style-type: none;
    margin-bottom: 27px
}

@media screen and (max-width:1023px) {
    #menu .projects-menu>ul {
        margin-bottom: 12px
    }
}

@media screen and (max-width:768px) {
    #menu .projects-menu>ul {
        margin-bottom: 21px
    }
}

#menu .projects-menu>ul>li {
    text-transform: uppercase;
    font-size: 14px;
    line-height: 16px;
    font-family: HelveticaRoman;
    color: #999;
    margin: 0;
    -webkit-tap-highlight-color: transparent
}

@media screen and (max-width:1023px) {
    #menu .projects-menu>ul>li {
        text-indent: 12px
    }
}

@media screen and (max-width:768px) {
    #menu .projects-menu>ul>li {
        font-family: HelveticaBulk;
        font-size: 18px;
        line-height: 15px;
        color: #fff;
        text-indent: 0;
        position: relative
    }

    #menu .projects-menu>ul>li:before {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7.5px 0 7.5px 7px;
        border-color: transparent transparent transparent #fff;
        position: absolute;
        left: -22px;
        transition: transform .3s
    }

    #menu .projects-menu>ul>li.hover:before,
    #menu .projects-menu>ul>li:hover:before {
        transform: rotate(90deg)
    }

    #menu .projects-menu>ul>li.hover ul,
    #menu .projects-menu>ul>li:hover ul {
        display: block
    }
}

#menu .projects-menu>ul>li ul {
    list-style-type: none;
    margin-top: 36px;
    zoom: 1
}

#menu .projects-menu>ul>li ul:after,
#menu .projects-menu>ul>li ul:before {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden
}

#menu .projects-menu>ul>li ul:after {
    clear: both
}

@media screen and (max-width:1023px) {
    #menu .projects-menu>ul>li ul {
        text-indent: 0
    }
}

@media screen and (max-width:768px) {
    #menu .projects-menu>ul>li ul {
        margin-top: 13px;
        display: none
    }
}

#menu .projects-menu>ul>li ul li {
    display: inline-block;
    float: left;
    width: 32%;
    margin: 0 .5% .5% 0;
    position: relative;
    /* height: 12.7vw; */
    max-height: 205px;
    overflow: hidden;
    background-size: cover;
    background-position: center
}

#menu .projects-menu>ul>li ul li:hover .description {
    opacity: 1
}

#menu .projects-menu>ul>li ul li.all-projects {
    display: none
}

@media screen and (max-width:1023px) {
    #menu .projects-menu>ul>li ul li {
        width: 50%;
        height: 15vw
    }
}

@media screen and (max-width:768px) {
    #menu .projects-menu>ul>li ul li {
        width: 100%;
        height: auto;
        background: 0 0 !important
    }

    #menu .projects-menu>ul>li ul li:nth-child(n+5) {
        display: none !important
    }

    #menu .projects-menu>ul>li ul li.all-projects {
        display: block !important
    }

    #menu .projects-menu>ul>li ul li:nth-child(n+5)[data-page-id=undefined] {
        display: block !important
    }
}

#menu .projects-menu>ul>li ul li img {
    width: 100%;
    margin-bottom: 1px;
    display: block;
    box-sizing: border-box;
    padding-right: 1px
}

@media screen and (max-width:768px) {
    #menu .projects-menu>ul>li ul li img {
        display: none
    }
}

#menu .projects-menu>ul>li ul li .description {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(34, 34, 34, .8);
    padding: 7px 30px 18px 5px;
    font-family: HelveticaRoman;
    font-size: 12px;
    line-height: 12px;
    color: #fff;
    opacity: 0;
    transition: opacity .3s
}

@media screen and (max-width:768px) {
    #menu .projects-menu>ul>li ul li .description {
        position: static;
        background-color: transparent;
        padding: 0;
        font-size: 16px;
        line-height: 32px;
        opacity: 1
    }
}

#menu .projects-menu>ul>li ul li .loading-spinner {
    width: 120px;
    height: 120px;
    background: url(http://jarcke.de.test/media/img/ring.svg) no-repeat;
    background-size: contain;
    animation: spin 1s linear infinite
}

#menu .projects-menu .pagination {
    margin-left: 2px
}

@media screen and (max-width:1023px) {
    #menu .projects-menu .pagination.desktop {
        display: none
    }
}

#menu .projects-menu .pagination.tablet {
    display: none
}

@media screen and (max-width:1023px) {
    #menu .projects-menu .pagination.tablet {
        display: block
    }
}

@media screen and (max-width:768px) {
    #menu .projects-menu .pagination.tablet {
        display: none
    }
}

@media screen and (max-width:1023px) {
    #menu .projects-menu .pagination {
        margin-left: 11px
    }
}

@media screen and (max-width:768px) {
    #menu .projects-menu .pagination {
        display: none
    }
}

#menu .projects-menu .pagination .page {
    display: inline-block;
    font-size: 18px;
    line-height: 15px;
    color: rgba(255, 255, 255, .2);
    margin-right: 7px;
    font-family: HelveticaBulk;
    cursor: pointer
}

#menu .projects-menu .pagination .page.active {
    color: #fff
}

#menu .right-menu {
    width: 39.3%;
    float: left
}

@media screen and (max-width:1023px) {
    #menu .right-menu {
        width: 50.7%
    }
}

@media screen and (max-width:768px) {
    #menu .right-menu {
        width: 100%
    }
}

#menu .jobs-menu {
    padding-left: 100px;
    box-sizing: border-box
}

@media screen and (max-width:1023px) {
    #menu .jobs-menu {
        padding-left: 76px
    }
}

@media screen and (max-width:768px) {
    #menu .jobs-menu {
        display: none;
        padding-left: 0
    }
}

#menu .jobs-menu>ul {
    list-style-type: none
}

#menu .jobs-menu>ul>li {
    text-transform: uppercase;
    font-size: 14px;
    line-height: 16px;
    font-family: HelveticaRoman;
    color: #999;
    margin: 0
}

@media screen and (max-width:768px) {
    #menu .jobs-menu>ul>li {
        font-family: HelveticaBulk;
        font-size: 18px;
        line-height: 15px;
        color: #fff;
        text-indent: 0;
        position: relative
    }

    #menu .jobs-menu>ul>li:before {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7.5px 0 7.5px 7px;
        border-color: transparent transparent transparent #fff;
        position: absolute;
        left: -22px;
        transition: transform .3s
    }

    #menu .jobs-menu>ul>li.hover:before,
    #menu .jobs-menu>ul>li:hover:before {
        transform: rotate(90deg)
    }

    #menu .jobs-menu>ul>li.hover ul,
    #menu .jobs-menu>ul>li:hover ul {
        display: block
    }
}

#menu .jobs-menu>ul>li ul {
    list-style-type: none;
    margin-top: 36px
}

@media screen and (max-width:768px) {
    #menu .jobs-menu>ul>li ul {
        display: none;
        margin-top: 13px
    }
}

#menu .jobs-menu>ul>li ul li {
    margin-left: 0;
    position: relative;
    margin-bottom: 26px;
    color: rgba(0, 0, 0, .85)
}

@media screen and (max-width:768px) {
    #menu .jobs-menu>ul>li ul li {
        margin-bottom: 13px
    }
}

#menu .jobs-menu>ul>li ul li span {
    font-family: HelveticaBulk;
    font-size: 18px;
    line-height: 15px;
    text-transform: uppercase;
    color: #fff
}

#menu .jobs-menu>ul>li ul li span a {
    text-transform: uppercase;
    color: #fff;
    text-decoration: none
}

@media screen and (max-width:768px) {
    #menu .jobs-menu>ul>li ul li span {
        font-size: 16px;
        font-family: HelveticaRoman
    }
}

#menu .jobs-menu>ul>li ul li small {
    font-size: 12px;
    line-height: 16px;
    font-family: HelveticaRoman;
    color: #999
}

#menu .jobs-menu>ul>li ul li:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 7px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    left: -22px;
    transition: transform .3s
}

@media screen and (max-width:768px) {
    #menu .jobs-menu>ul>li ul li:before {
        display: none
    }
}

#menu .normal-menu {
    padding-left: 102px
}

@media screen and (max-width:1023px) {
    #menu .normal-menu {
        padding-left: 78px
    }
}

@media screen and (max-width:768px) {
    #menu .normal-menu {
        padding-left: 0
    }
}

#menu .normal-menu ul {
    list-style-type: none;
    margin-top: 73px
}

@media screen and (max-width:1023px) {
    #menu .normal-menu ul {
        margin-top: 75px
    }
}

@media screen and (max-width:768px) {
    #menu .normal-menu ul {
        margin-top: 0
    }
}

#menu .normal-menu ul li {
    margin-left: 0;
    position: relative;
    margin-bottom: 15px
}

#menu .normal-menu ul li a {
    font-family: HelveticaBulk;
    font-size: 18px;
    line-height: 15px;
    text-transform: uppercase;
    color: #fff
}

#menu .normal-menu ul li:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 7px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    left: -23px
}

#menu-additions {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5
}

#menu-additions:after {
    content: '';
    display: block;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 50%;
    height: 48px;
    width: 10px;
    margin-left: -28px
}

#menu-additions .social-menu {
    width: 39%;
    float: right;
    padding-left: 102px;
    box-sizing: border-box;
    position: absolute;
    bottom: 26px;
    right: 0;
    font-size: 12px;
    line-height: 16px;
    color: #999
}

@media screen and (max-width:1023px) {
    #menu-additions .social-menu {
        right: 18px;
        width: 52%
    }
}

@media screen and (max-width:768px) {
    #menu-additions .social-menu {
        width: auto;
        right: 0;
        left: 0;
        padding: 0;
        bottom: 95px
    }
}

#menu-additions .social-menu a {
    margin-right: 15px
}

#menu-additions .social-menu img {
    vertical-align: middle
}

.page-header {
    height: 90vh;
    position: relative
}

@media screen and (max-width:768px) {
    .page-header {
        height: auto
    }
}

.heading {
    position: relative;
}

.heading .arrow-down {
    cursor: pointer;
    height: 10vh;
    
    position: absolute;
    left: -25px;
    top: 0;
    padding-top: 2vh;
    box-sizing: border-box;
    opacity: 1;
    transition: opacity .5s;
    max-height: 50px
}

@media screen and (min-height:500px) {
    .heading .arrow-down {
        padding-top: 10px
    }
}

.heading .arrow-down svg {
    transform: rotate(90deg);
    transform-origin: .70710678% .5%;
    position: relative;
    left: calc(49.2% + 6px);
    margin-left: 4vh;
    height: 100%
}

@media screen and (min-height:500px) {
    .heading .arrow-down svg {
        margin-left: 20px
    }
}

.heading .arrow-down.scrolled {
    opacity: 0;
    pointer-events: none
}

@media screen and (max-width:768px) {
    .heading .arrow-down {
        display: none
    }
}

.page-header-wrap {
    position: relative
}

header#page-header {
    overflow-x: hidden;
    height: 90vh;
    position: relative;
    font-family: HelveticaBulk;
    text-transform: uppercase;
    background-color: #999999;
}

@media screen and (max-width:768px) {
    header#page-header {
        height: 100vh
    }
}

header#page-header #project-slider {
    height: 90vh;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1
}

@media screen and (max-width:768px) {
    header#page-header #project-slider {
        height: 100%
    }
}

header#page-header .header-shadow {
    display: block;
    pointer-events: none;
    opacity: .8;
    height: 29%;
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    z-index: 1;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0, #000 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0, #000 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, #000 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0)
}

@media screen and (max-width:768px) {
    header#page-header .header-shadow {
        height: 50%
    }
}

header#page-header #slide-loading {
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: 2;
    padding-bottom: 28px
}

header#page-header #slide-loading .slider-steps {
    margin-left: auto;
    width: 80px;
    margin-right: auto;
    height: 28px
}

header#page-header #slide-loading .slider-steps .step {
    height: 100%;
    display: block;
    float: left;
    width: 12px;
    margin-right: 4px;
    background-color: rgba(255, 255, 255, .16);
    cursor: pointer;
    border: 0;
    margin-top: 20px;
    margin-bottom: 20px;
    transition: all 1s ease-in 0s;
    -webkit-transition: all 1s ease-in 0s;
    -moz-transition: all 1s ease-in 0s;
    -o-transition: all 1s ease-in 0s;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

header#page-header #slide-loading .slider-steps .step.active {
    transition: all .5s ease-in 0s;
    -webkit-transition: all .5s ease-in 0s;
    -moz-transition: all .5s ease-in 0s;
    -o-transition: all .5s ease-in 0s;
    background-color: #fff
}

header#page-header #arrow-down {
    display: none
}

@-webkit-keyframes arrowMove {
    0% {
        bottom: 50px;
        opacity: 1
    }

    100% {
        bottom: 20px;
        opacity: .3
    }
}

@-moz-keyframes arrowMove {
    0% {
        bottom: 50px;
        opacity: 1
    }

    100% {
        bottom: 20px;
        opacity: .3
    }
}

@-o-keyframes arrowMove {
    0% {
        bottom: 50px;
        opacity: 1
    }

    100% {
        bottom: 20px;
        opacity: .3
    }
}

@keyframes arrowMove {
    0% {
        bottom: 50px;
        opacity: 1
    }

    100% {
        bottom: 20px;
        opacity: .3
    }
}

header#page-header #slider-nav {
    position: absolute;
    bottom: 0;
    width: 133.33333333%;
    z-index: 2;
    display: none;
    align-items: flex-end
}

@media screen and (min-width: 768px) {
    header#page-header #slider-nav.loaded {
        display: flex
    }
    
}

/* @media screen and (max-width:768px) {
    header#page-header #slider-nav.loaded {
        display: block
    }
} */

@media screen and (max-width:768px) {
    header#page-header #slider-nav {
        width: 100%;
        bottom: 4px
    }
}

header#page-header #slider-nav .nav-item {
    float: left;
    width: 25%;
    text-align: center;
    margin-bottom: 9px;
    z-index: 1;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    white-space: nowrap;
}

header#page-header #slider-nav .nav-item.nav-item-fading {
    width: 0;
    opacity: 0;
}



@media screen and (max-width:768px) {
    header#page-header #slider-nav .nav-item {
        width: 100%;
        float: none;
        text-align: left;
        padding-left: 12px
    }

    header#page-header #slider-nav .nav-item:last-child {
        display: none
    }
}

header#page-header #slider-nav .nav-item .plus {
    fill: #fff;
    width: 50px;
    height: 50px;
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -25px;
    bottom: -140px;
    transition: all .5s
}

@media screen and (max-width:768px) {
    header#page-header #slider-nav .nav-item .plus {
        display: none
    }
}

header#page-header #slider-nav .nav-item a {
    font-size: 1.3125rem;
    color: rgba(255, 255, 255, .32);
    padding-bottom: 70px;
    display: block;
    transition: all .5s;
    position: relative
}

header#page-header #slider-nav .nav-item a.active {
    color: #fff;
    padding-bottom: 110px
}

header#page-header #slider-nav .nav-item a.active .plus {
    bottom: 50px
}

@media screen and (max-width:768px) {
    header#page-header #slider-nav .nav-item a.active {
        padding-bottom: 0
    }
}

@media screen and (max-width:1023px) {
    header#page-header #slider-nav .nav-item a {
        font-size: 15px
    }
}

@media screen and (max-width:768px) {
    header#page-header #slider-nav .nav-item a {
        padding-bottom: 0
    }
}

header#page-header .preview {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    pointer-events: none;
    top: 100%;
    transition: top .7s;
    overflow: hidden;
    width: 100%;
    z-index: 1
}

@media screen and (max-width:768px) {
    header#page-header .preview {
        display: none
    }
}

header#page-header .preview.active {
    top: 50%;
    border-top: 1px solid #fff
}

header#page-header .preview.selected {
    top: 0
}

header#page-header .preview .preview-img {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: none;
    height: 90vh
}

header#page-header .preview .preview-img.active {
    display: block
}

header#page-header #frame {
    position: absolute;
    background-color: rgba(34, 34, 34, .8);
    left: 0;
    top: 52.4%;
    width: 435px;
    z-index: 3;
    box-sizing: border-box;
    padding: 7px 19px 7px 29px
}

@media screen and (max-width:1023px) {
    header#page-header #frame {
        top: 52.9%;
        padding: 7px 19px 10px 31px;
        width: 340px
    }
}

@media screen and (max-width:768px) {
    header#page-header #frame {
        top: 65%;
        padding: 8px 20px 8px 11px;
        width: 300px
    }
}

header#page-header #frame h1,
header#page-header #frame h2 {
    font-size: 45px;
    line-height: 36px;
    color: rgba(255, 255, 255, .16);
    margin-bottom: 29px;
    opacity: 1;
    transition: all 1.7s
}

@media screen and (max-width:1023px) {

    header#page-header #frame h1,
    header#page-header #frame h2 {
        font-size: 35px;
        line-height: 28px;
        margin-bottom: 32px
    }
}

@media screen and (max-width:768px) {

    header#page-header #frame h1,
    header#page-header #frame h2 {
        font-size: 24px;
        line-height: 20px;
        margin-bottom: 12px
    }
}

header#page-header #frame #shadow-project-name {
    position: absolute;
    left: 0;
    top: 0;
    padding: inherit;
    opacity: 0
}

header#page-header #frame .slider-steps {
    float: left;
    height: 28px
}

header#page-header #frame .slider-steps .step {
    height: 100%;
    display: block;
    float: left;
    width: 12px;
    margin-right: 4px;
    background-color: rgba(255, 255, 255, .16);
    cursor: pointer
}

header#page-header #frame .slider-steps .step.active {
    background-color: #fff
}

header#page-header #frame .nav-controls {
    height: 28px;
    position: relative
}

@media screen and (max-width:768px) {
    header#page-header #frame .nav-controls {
        display: none
    }
}

header#page-header #frame .nav-controls .controls,
header#page-header #frame .nav-controls .left,
header#page-header #frame .nav-controls .pause,
header#page-header #frame .nav-controls .play,
header#page-header #frame .nav-controls .playpause,
header#page-header #frame .nav-controls .right {
    height: 100%
}

header#page-header #frame .nav-controls .controls {
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0
}

header#page-header #frame .nav-controls .left,
header#page-header #frame .nav-controls .playpause,
header#page-header #frame .nav-controls .right {
    position: absolute;
    cursor: pointer
}

header#page-header #frame .nav-controls .playpause {
    right: 0;
    margin-right: 44px;
    width: 25px
}

header#page-header #frame .nav-controls .playpause .pause {
    position: absolute;
    left: 0;
    top: 0;
    /* opacity: 0; */
    /* pointer-events: none */
}

header#page-header #frame .nav-controls .right {
    right: 0;
    top: 0;
    width: 20px
}

header#page-header #frame .nav-controls .left {
    right: 100px;
    width: 20px
}

header#page-header #frame .nav-controls svg {
    height: 100%
}

header#page-header #frame .nav-controls polygon,
header#page-header #frame .nav-controls rect {
    fill: rgba(255, 255, 255, .16)
}

header#page-header nav ul {
    list-style: none
}

header#page-header nav ul li {
    display: inline-block
}

/* .elementor section {
    margin-bottom: 88px;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto
} */

/* .elementor section:after {
    content: '';
    display: block;
    clear: both
} */

/* @media screen and (max-width:1023px) {
    .elementor section {
        margin-bottom: 67px
    }
}

@media screen and (max-width:768px) {
    .elementor section {
        margin-bottom: 48px
    }
} */

@media (min-width: 768px) {
    .post-header .post-title {
        min-height: 80px;
        padding-right: 120px;
    }
}

@media (min-width: 992px) {
    .post-header .post-title {
        min-height: 80px;
        padding-right: 120px;
    }
}

.post-header .post-date {
    color: #999;
    text-transform: uppercase;
    padding: 8px 0;
    margin: 15px 0;
    border-bottom: 1px solid #999;
}

.post-thumbnail {
    margin-bottom: 30px;
}

.post-header .post-title,
.elementor .elementor-element header {
    font-family: HelveticaBulk;
    font-size: 21px;
    font-size: 25px;
    /* line-height: 20px; */
    line-height: 25px;
    text-transform: uppercase;
    /* margin-left: 49.2%; */
    margin-bottom: 26px
}

.elementor .elementor-element header p {
    line-height: 1.1;
    margin-bottom: 0
}

.elementor .elementor-element header p b,
.elementor .elementor-element header p strong {
    font-weight: 400
}

.elementor .elementor-element header.offset {
    margin-left: 49%;
    margin-bottom: 34px
}

.elementor .elementor-element header.offset:before {
    margin-bottom: 31px
}

@media screen and (max-width:768px) {
    .elementor .elementor-element header.offset {
        margin-left: 6.5%;
        margin-right: 6.5%;
        margin-bottom: 18px
    }

    .elementor .elementor-element header.offset:before {
        margin-bottom: 23px
    }
}

.elementor .elementor-element header.offset p {
    text-indent: -160px;
    font-size: 25px;
    line-height: 20px
}

@media screen and (max-width:1023px) {
    .elementor .elementor-element header.offset p {
        font-size: 21px;
        line-height: 17px
    }
}

@media screen and (max-width:768px) {
    .elementor .elementor-element header.offset p {
        text-indent: 0
    }
}

@media screen and (max-width:1023px) {
    .elementor .elementor-element header {
        font-size: 18px;
        line-height: 15px
    }
}

@media screen and (max-width:768px) {
    /* .elementor .elementor-element header {
        margin-left: 7.5%;
        margin-right: 7.5%;
        margin-bottom: 18px
    } */
}

.elementor .elementor-element header:not(.heading-no-symbol):before {
    content: '';
    display: block;
    width: 12px;
    height: 48px;
    background-color: #000;
    margin-bottom: 47px;
    margin-top: -10px;

    -webkit-transition: opacity 500ms ease;
    -moz-transition: opacity 500ms ease;
    transition: opacity 500ms ease;
}

.elementor .elementor-element header.heading-arrow:before {
    opacity: 0;
}

.elementor .elementor-element header.heading-arrow.scrolled .arrow-down {
    opacity: 0;
}

.elementor .elementor-element header.heading-arrow.scrolled:before {
    opacity: 1;
}

.elementor .elementor-element header.heading-no-symbol .arrow-down {
    display: none;
}

.elementor .elementor-element header.heading-right:before {
    margin-left: auto;
}

.elementor .elementor-element header.heading-center:before {
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width:768px) {
    .elementor .elementor-element header:before {
        margin-bottom: 23px
    }
}

.elementor .elementor-element header.light:before {
    background-color: #dedddb
}

.elementor .elementor-element .content {
    width: auto;
    max-width: 964px;
    margin-left: auto;
    margin-right: auto;
    font-family: HelveticaRoman;
    box-sizing: border-box
}

@media screen and (max-width:1023px) {
    .elementor .elementor-element .content {
        padding-left: 7.5%;
        padding-right: 7.5%
    }
}

.post-body {
    margin-bottom: 30px;
}

.read-more-content {
    height: 100px;
    overflow: hidden;
    position: relative;
}

.read-more-link {
    display: inline-block;
    margin-top: 15px;
}

.read-more.active .read-more-content {
    height: auto;
}

.read-more.active .read-more-link {
    display: none;
}

.read-more-overlay {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background-image: linear-gradient(-180deg, rgba(255,255,255,0.00) 0%, #FFFFFF 100%);
}

.read-more.active .read-more-overlay {
    display: none;
}

.post-body,
.post-body a,
.elementor section .elementor-widget-text-editor p,
.elementor section .content p {
    color: #999;
    font-size: 14px;
    line-height: 18px
}

@media screen and (max-width:768px) {
    .elementor section .elementor-widget-text-editor p,
    .elementor section .content p {
        margin: 0 auto
    }
}

.elementor section .content.righthalf {
    width: 50.6%;
    float: right;
    padding-left: 0;
    padding-right: 7.5%
}

@media screen and (max-width:768px) {
    .elementor section .content.righthalf {
        width: 100%;
        padding-left: 6.5%;
        padding-right: 6.5%;
        float: none
    }
}

.elementor section .content.righthalf:after {
    content: '';
    display: block;
    clear: both
}

.elementor .first-map-mobile iframe {
    display: none;
    border: none;
    width: 100%;
    height: 250px;
    margin-top: 15px
}

@media screen and (max-width:768px) {
    .elementor .first-map-mobile iframe {
        display: block
    }
}

.elementor .two-maps {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto
}

.elementor .two-maps .map1 {
    width: 50%;
    padding-right: 5px;
    box-sizing: border-box;
    float: left
}

@media screen and (max-width:768px) {
    .elementor .two-maps .map1 {
        display: none
    }
}

.elementor .two-maps .map2 {
    width: 50%;
    padding-left: 5px;
    box-sizing: border-box;
    float: left
}

@media screen and (max-width:768px) {
    .elementor .two-maps .map2 {
        float: none;
        padding-left: 0;
        width: 85%;
        margin: 0 auto;
        height: 250px
    }
}

.elementor .two-maps iframe {
    border: none;
    width: 100%;
    height: 300px
}

.elementor .two-maps:after {
    content: '';
    display: block;
    clear: both
}

.elementor .twocol {
    width: 100%;
    max-width: 964px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width:1023px) {
    .elementor .twocol {
        width: 92%
    }
}

@media screen and (max-width:768px) {
    .elementor .twocol {
        width: 85%
    }
}

.elementor .twocol section {
    width: 47.8%;
    float: left
}

.elementor .twocol section:first-child {
    box-sizing: border-box;
    padding-right: 100px
}

@media screen and (max-width:1023px) {
    .elementor .twocol section:first-child {
        padding-right: 20px
    }
}

@media screen and (max-width:768px) {
    .elementor .twocol section:first-child {
        padding-right: 0
    }
}

@media screen and (max-width:1023px) {
    .elementor .twocol section:last-child {
        width: 52.2%
    }

    .elementor .twocol section:last-child .content p {
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .elementor .twocol section:last-child {
        width: 100%
    }
}

@media screen and (max-width:768px) {
    .elementor .twocol section {
        width: 100%;
        float: none;
        margin-bottom: 26px
    }

    .elementor .twocol section:nth-child(n+2) header:before {
        display: none
    }
}

.elementor .twocol section header {
    margin-left: 0
}

.elementor .twocol section .content {
    margin-left: 0;
    padding-left: 0
}

@media screen and (max-width:768px) {
    .elementor .twocol section .content p {
        width: 100%
    }
}

.elementor .twocol:after {
    content: '';
    display: block;
    clear: both
}

.elementor .image-block {
    position: relative;
    max-width: 1600px;
    margin: 0 auto;
    overflow: hidden
}

.elementor .image-block .text {
    padding: 15px;
}

.elementor .image-block .text div p,
.elementor .image-block .text p {
    margin-bottom: 0;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 1px;
}

@media screen and (max-width:768px) {
    .elementor .image-block.lower-left {
        height: 480px
    }
}

.elementor .image-block.lower-left img {
    display: block;
    width: 100%;
    object-fit: cover;
    max-height: 70vh;
    object-position: center
}

@media screen and (max-width:768px) {
    .elementor .image-block.lower-left img {
        width: auto;
        height: 480px;
        max-height: none;
        position: absolute;
        left: 50%;
        transform: translateX(-50%)
    }
}

.elementor .image-block.lower-left .text {
    background-color: rgba(34, 34, 34, .8);
    position: absolute;
    left: 0;
    bottom: 0;
    color: rgba(255, 255, 255, .16);
    font-size: 45px;
    line-height: 35px;
    font-family: HelveticaBulk;
    text-transform: uppercase;
    box-sizing: border-box;
    padding: 6px 51px 6px 3px
}

@media screen and (max-width:1023px) {
    .elementor .image-block.lower-left .text {
        font-size: 32px;
        line-height: 26px;
        padding: 6px 44px 3px 7px
    }
}

@media screen and (max-width:768px) {
    .elementor .image-block.lower-left .text {
        padding: 6px 44px 5px 7px
    }
}

.elementor .image-block.lower-left .text p {
    margin-bottom: 0
}

.elementor .image-block.leftimg img {
    display: block;
    width: 65.6%
}

@media screen and (max-width:768px) {
    .elementor .image-block.leftimg img {
        width: 100%;
        position: static
    }
}

.elementor .image-block.leftimg .text {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 34.4%;
    background-color: #222;
    color: rgba(255, 255, 255, .48);
    font-size: 20px;
    line-height: 34px;
    font-family: HelveticaThin;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-bottom: 15px
}

@media screen and (max-width:1023px) {
    .elementor .image-block.leftimg .text {
        font-size: 16px;
        line-height: 18px;
        padding-bottom: 8px
    }
}

@media screen and (max-width:768px) {
    .elementor .image-block.leftimg .text {
        padding-top: 58px;
        padding-bottom: 62px;
        position: static;
        width: 100%;
        font-size: 18px;
        line-height: 20px
    }
}

.elementor .image-block.inverted img {
    margin-left: 34.4%
}

@media screen and (max-width:768px) {
    .elementor .image-block.inverted img {
        margin-left: 0
    }
}

.elementor .image-block.inverted .text {
    right: auto;
    left: 0
}

@media screen and (max-width:768px) {
    .elementor .teamsection {
        height: 250px;
        height: 75vh;
        position: relative
    }
}

@media screen and (max-width:768px) and (orientation:landscape) {
    .elementor .teamsection {
        height: 100vh
    }
}

.elementor .teamsection.no-app[data-mercury] li .dropdown {
    display: block !important
}

.elementor .teamsection .team-nav {
    display: none;
    position: absolute;
    bottom: 40px;
    right: 23px
}

@media screen and (max-width:768px) {
    .elementor .teamsection .team-nav {
        display: block
    }
}

.elementor .teamsection .team-nav .next-member {
    width: 13px;
    height: 26px;
    background-color: transparent;
    opacity: .2;
    position: absolute;
    right: 0;
    bottom: 0;
    cursor: pointer;
    z-index: 1
}

.elementor .teamsection .team-nav .next-member:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 13px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1
}

.elementor .teamsection .team-nav .prev-member {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13px 12px 13px 0;
    border-color: transparent #fff transparent transparent;
    opacity: .2;
    position: absolute;
    right: 53px;
    bottom: 0;
    cursor: pointer;
    z-index: 1
}

.elementor .teamsection .team-nav .prev-member:after {
    content: '';
    width: 13px;
    height: 26px;
    opacity: .2;
    position: absolute;
    right: 53px;
    bottom: 0;
    z-index: 1
}

.elementor .teamsection ul {
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
    max-width: 1600px
}

.elementor .teamsection ul li {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    margin: 0;
    width: 25%;
    float: left;
    height: 32.4vw;
    position: relative;
    max-height: 529px
}

@media screen and (max-width:768px) {
    .elementor .teamsection ul li {
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s;
        width: 100%;
        height: 250px;
        height: 75vh;
        max-height: 75vh;
        position: absolute;
        left: 0;
        top: 0
    }
}

@media screen and (max-width:768px) and (orientation:landscape) {
    .elementor .teamsection ul li {
        height: 100vh;
        max-height: none;
        background-size: 80vh;
        background-color: #222
    }
}

.elementor .teamsection ul li.visible {
    opacity: 1;
    pointer-events: all
}

.elementor .teamsection {
    /* background-color: #f8f9fa; */
    background-color: #333532;
}

.elementor .teamsection ul li .person {
    overflow: hidden;
    position: relative;
    height: 100%;
}

.elementor .teamsection ul li .person>img {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%)
}

.elementor .teamsection ul li .social {
    position: absolute;
    top: 32px;
    padding: 30px 12px;
    right: 0;
    background-color: rgba(0, 0, 0, .8);
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s;
    z-index: 3
}

@media screen and (max-width:768px) {
    .elementor .teamsection ul li .social {
        padding: 22px 8px;
        top: 23px
    }
}

.elementor .teamsection ul li .social a {
    display: block;
    width: 30px
}

@media screen and (max-width:768px) {
    .elementor .teamsection ul li .social a {
        width: 18px
    }
}

.elementor .teamsection ul li .social img {
    display: block;
    opacity: .2;
    width: 100%
}

.elementor .teamsection ul li .name {
    padding-left: 20px;
    position: absolute;
    left: 0;
    bottom: 0;
    font-family: HelveticaBulk;
    color: #fff;
    font-size: 21px;
    line-height: 19px;
    text-transform: uppercase;
    opacity: .32;
    z-index: 1;
    transition: opacity .3s
}

.elementor .teamsection ul li .name p {
    margin-bottom: 0
}

@media screen and (max-width:1023px) {
    .elementor .teamsection ul li .name {
        font-size: 16px;
        line-height: 15px;
        padding-left: 14px
    }
}

@media screen and (max-width:768px) {
    .elementor .teamsection ul li .name {
        font-size: 21px;
        line-height: 17px;
        padding-left: 23px
    }
}

.elementor .teamsection ul li .name:after {
    content: '';
    display: block;
    width: 12px;
    height: 48px;
    background-color: #000;
    margin-bottom: 47px;
    background-color: #fff;
    margin-bottom: 0;
    width: 6px;
    height: 24px;
    margin-top: 10px
}

@media screen and (max-width:768px) {
    .elementor .teamsection ul li .name:after {
        margin-bottom: 23px
    }
}

@media screen and (max-width:1023px) {
    .elementor .teamsection ul li .name:after {
        height: 19px;
        margin-top: 6px;
        margin-bottom: 0
    }
}

@media screen and (max-width:768px) {
    .elementor .teamsection ul li .name:after {
        height: 23px;
        margin-top: 10px;
        margin-bottom: 0
    }
}

.elementor .teamsection ul li .you {
    background-color: #333532;
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 100%
}

.elementor .teamsection ul li .you .youcontent {
    text-align: center;
    color: #fff
}

.elementor .teamsection ul li .you .youcontent .big {
    font-family: HelveticaBulk, Arial;
    font-size: 60px;
    line-height: 45px;
    margin-bottom: 20px;
    text-transform: uppercase
}

@media screen and (max-width:1023px) {
    .elementor .teamsection ul li .you .youcontent .big {
        font-size: 48px;
        line-height: 45px;
        margin-bottom: 15px
    }
}

.elementor .teamsection ul li .you .youcontent .small {
    opacity: .32;
    font-size: 12px;
    line-height: 16px;
    padding-left: 15px;
    padding-right: 15px
}

.elementor .teamsection ul li:after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    height: 39%;
    opacity: .8;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0, #000 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0, #000 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, #000 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#000000', GradientType=0)
}

.elementor .teamsection ul li.hover .name,
.elementor .teamsection ul li:hover .name {
    opacity: 1
}

.elementor .teamsection ul li.hover .social,
.elementor .teamsection ul li:hover .social {
    opacity: 1;
    visibility: visible
}

.elementor .teamsection ul .dropdown {
    background-color: rgba(0, 0, 0, .8);
    display: none;
    font-family: HelveticaLight;
    font-size: 16px;
    line-height: 18px;
    color: rgba(255, 255, 255, .32);
    position: relative;
    z-index: 2;
    padding: 15px 19px 22px 19px;
    text-transform: uppercase;
}

.elementor .teamsection ul .dropdown p {
    margin-bottom: 0
}

@media screen and (max-width:1023px) {
    .elementor .teamsection ul .dropdown {
        font-size: 12px;
        line-height: 14px;
        padding: 10px 20px 11px 15px
    }
}

@media screen and (max-width:768px) {
    .elementor .teamsection ul .dropdown {
        font-size: 14px;
        line-height: 16px;
        padding: 20px 20px 21px 24px
    }
}

.elementor .teamsection ul:after {
    content: '';
    display: block;
    clear: both
}

.elementor .imageslider {
    position: relative;
    height: 480px;
    height: 46.86vw;
    max-width: 1600px;
    max-height: 749.76px;
    margin: 0 auto
}

.elementor .imageslider .left-nav {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 16px 16px 0;
    border-color: transparent #fff transparent transparent;
    opacity: .4;
    position: absolute;
    left: 32px;
    top: 32px;
    cursor: pointer;
    z-index: 1
}

@media screen and (max-width:1023px) {
    .elementor .imageslider .left-nav {
        left: 22px;
        top: 23px;
        border-width: 13px 13px 13px 0
    }
}

.elementor .imageslider .right-nav {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 0 16px 16px;
    border-color: transparent transparent transparent #fff;
    opacity: .4;
    position: absolute;
    right: 32px;
    top: 32px;
    cursor: pointer;
    z-index: 1
}

@media screen and (max-width:1023px) {
    .elementor .imageslider .right-nav {
        right: 22px;
        top: 23px;
        border-width: 13px 0 13px 13px
    }
}

.elementor section .elementor-widget-text-editor a,
.elementor #jobscontent .content.righthalf a {
    color: #000
}

.elementor .joblist {
    padding-top: 65px;
    max-width: 1600px;
    margin: 0 auto
}

.elementor .joblist a {
    color: #000
}

.elementor .joblist .subheading {
    font-size: 12px;
    line-height: 18px
}

@media screen and (max-width:1023px) {
    .elementor .joblist {
        padding-top: 0
    }
}

@media screen and (max-width:768px) {
    .elementor .joblist {
        padding-top: 28px
    }
}

/* .elementor .elementor-widget-text-editor ul, */
.elementor .joblist ul {
    list-style-type: none
}

.elementor .joblist ul li {
    margin-bottom: 77px;
    display: block
}

.elementor .joblist ul li li {
    margin-left: 0
}

@media screen and (max-width:768px) {
    /* .elementor .elementor-widget-text-editor ul li, */
    .elementor .joblist ul li {
        margin-left: 6.5%
    }
}

.elementor .joblist ul li .position {
    text-transform: uppercase;
    width: 50%;
    float: left;
    text-align: right;
    box-sizing: border-box;
    padding-right: 57px
}

@media screen and (max-width:768px) {
    .elementor .joblist ul li .position {
        width: 100%;
        float: none;
        text-align: left
    }
}

@media screen and (max-width:768px) {
    .elementor .joblist ul li .position {
        margin-bottom: 16px
    }
}

.elementor .elementor-widget-heading,
.elementor .section-title {
    text-transform: uppercase;
}

.elementor .elementor-widget-heading h1,
.elementor .elementor-widget-heading h2,
.elementor .elementor-widget-heading h3,
.elementor .elementor-widget-heading h4,
.elementor .elementor-widget-heading h5,
.elementor .elementor-widget-heading h6,
.elementor .section-title h1,
.elementor .section-title h2,
.elementor .section-title h3,
.elementor .section-title h4,
.elementor .section-title h5,
.elementor .section-title h6,
.elementor .joblist ul li .position h1,
.elementor .joblist ul li .position h2,
.elementor .joblist ul li .position h3,
.elementor .joblist ul li .position h4,
.elementor .joblist ul li .position h5,
.elementor .joblist ul li .position h6 {
    font-size: 25px;
    line-height: 1.1;
    font-family: HelveticaBulk;
    margin-bottom: 0;
    margin-top: 3px;
}

@media screen and (max-width:1023px) {

    .elementor .section-title h1,
    .elementor .section-title h2,
    .elementor .section-title h3,
    .elementor .section-title h4,
    .elementor .section-title h5,
    .elementor .section-title h6,
    .elementor .joblist ul li .position h1,
    .elementor .joblist ul li .position h2,
    .elementor .joblist ul li .position h3,
    .elementor .joblist ul li .position h4,
    .elementor .joblist ul li .position h5,
    .elementor .joblist ul li .position h6 {
        font-size: 21px;
        line-height: 17px
    }
}

@media screen and (max-width:768px) {

    .elementor .section-title h1,
    .elementor .section-title h2,
    .elementor .section-title h3,
    .elementor .section-title h4,
    .elementor .section-title h5,
    .elementor .section-title h6,
    .elementor .joblist ul li .position h1,
    .elementor .joblist ul li .position h2,
    .elementor .joblist ul li .position h3,
    .elementor .joblist ul li .position h4,
    .elementor .joblist ul li .position h5,
    .elementor .joblist ul li .position h6 {
        font-size: 18px;
        line-height: 15px
    }
}


.elementor .section-title small,
.elementor .joblist ul li .position small {
    font-size: 12px;
    line-height: 16px
}

.elementor .elementor-widget-text-editor ul li,
.elementor .joblist ul li .description {
    font-size: 14px;
    line-height: 18px;
    color: #999;
    box-sizing: border-box;
    margin-left: 0;
}

.elementor .joblist ul li .description {
    margin-left: -20px;
    padding-right: 30px;
    border-bottom: 1px solid #e5e5e5;
    width: 50%;
    float: left;
    padding-bottom: 70px
    
}

@media screen and (max-width:768px) {
    .elementor .joblist ul li .description {
        width: 100%;
        float: none;
        margin-left: 0
    }
}

/* .elementor .elementor-widget-text-editor ul li, */
.elementor .joblist ul li .description ul li {
    margin-bottom: 0;
    padding-left: 1.3rem;
}
/* .elementor .elementor-widget-text-editor ul li:before, */
.elementor .joblist ul li .description ul li:before {
    content: '–';
    margin-left: -1.3rem;
    display: inline-block;
}

.elementor .elementor-widget-text-editor p {
    /* margin-bottom: 40px; */
}

.elementor .elementor-widget-text-editor ul {
    margin-bottom: 60px;
}

.elementor .elementor-widget-text-editor ul li {
    list-style: none;
    padding-left: 20px;
    position: relative;
}

.elementor .elementor-widget-text-editor ul li:before {
    content: '–';
    display: inline-block;
    position: absolute;
    left: 0;
}

.elementor .joblist ul li .description a {
    color: #000
}

.elementor .joblist ul li .description a div {
    margin-bottom: 8px
}

.elementor .joblist ul li .description a svg {
    width: 30px;
    margin-right: 6px;
    vertical-align: middle
}

.elementor .joblist ul li .description .recipient {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 70px
}

.elementor .joblist ul li .description .recipient span {
    display: block;
    margin-top: 7px;
    margin-bottom: 10px
}

.elementor .joblist ul li .description .jobs-more {
    text-align: right
}

.button,
.elementor .joblist ul li .description .jobs-more a {
    position: relative;
    padding-right: 15px;
    margin-right: 15px
}

.button {
    text-transform: uppercase;
    color: black;
}


.button.button-next:after,
.elementor .joblist ul li .description .jobs-more a:after {
    content: ' ';
    width: 16px;
    height: 32px;
    background: url(../img/RIGHT.svg) no-repeat;
    background-size: contain;
    display: inline-block;
    transform: rotate(0);
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    position: absolute;
    top: -7px;
    right: -15px
}

.elementor .joblist ul li .description #back {
    margin-top: 60px
}

.button.button-prev,
.elementor .joblist ul li .description #back a {
    position: relative;
    padding-left: 15px;
    margin-left: 15px
}


.button.button-prev:before,
.elementor .joblist ul li .description #back a:before {
    left: -15px;
    content: ' ';
    width: 16px;
    height: 32px;
    background: url(../img/RIGHT.svg) no-repeat;
    background-size: contain;
    display: inline-block;
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    -moz-transform: rotate(-180deg);
    position: absolute;
    top: -17px
}

.elementor .joblist ul li:after {
    content: '';
    display: block;
    clear: both
}

.elementor .joblist ul li:last-child {
    margin-bottom: 0
}

.elementor .joblist ul li:last-child .description {
    border-bottom: none
}

.elementor .joblist #more-blog {
    text-align: center;
    margin-bottom: 80px
}

.elementor .joblist #more-blog a {
    position: relative;
    padding-left: 15px;
    margin-left: 15px
}

.elementor .joblist #more-blog a:before {
    left: -15px;
    content: ' ';
    width: 16px;
    height: 32px;
    background: url(../img/RIGHT.svg) no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -7px
}

.elementor .no-padding-top {
    padding-top: 0
}

.elementor .textblock {
    font-size: 48px;
    line-height: 36px;
    text-transform: uppercase;
    color: #dedddb;
    font-family: HelveticaBulk;
    background-color: #c5c3c0;
    max-width: 1600px;
    margin: 0 auto;
    padding: 148px 30px 148px 31px;
    box-sizing: border-box
}

.elementor .textblock p {
    margin-bottom: 0
}

@media screen and (max-width:1023px) {
    .elementor .textblock {
        font-size: 40px;
        line-height: 31px;
        padding: 120px 23px 118px 23px
    }
}

@media screen and (max-width:768px) {
    .elementor .textblock {
        font-size: 28px;
        line-height: 21px;
        padding: 79px 23px 80px 23px
    }
}

.elementor .textblock .lefthalf {
    width: 47.4%;
    text-align: right;
    float: left
}

@media screen and (max-width:768px) {
    .elementor .textblock .lefthalf {
        width: 100%;
        text-align: left;
        float: none
    }
}

.elementor .textblock .righthalf {
    width: 50%;
    float: left;
    box-sizing: border-box;
    padding-left: 16px
}

@media screen and (max-width:1023px) {
    .elementor .textblock .righthalf {
        padding-left: 11px
    }
}

@media screen and (max-width:768px) {
    .elementor .textblock .righthalf {
        padding-left: 0;
        width: 100%;
        float: none
    }
}

.elementor .textblock:after {
    content: '';
    display: block;
    clear: both
}

.elementor .textblock.dark {
    color: #c3beb8;
    background-color: #978e84
}

@media screen and (max-width:768px) {
    .elementor .textblock.dark {
        padding-top: 88px;
        padding-bottom: 92px
    }
}

.elementor #newscontent section {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width:768px) {
    .elementor #newscontent section header p {
        font-size: 18px;
        line-height: 15px
    }
}

.elementor #newscontent section header p+p {
    text-indent: 0
}

.elementor #newscontent section .content {
    box-sizing: border-box;
    padding-right: 90px
}

@media screen and (max-width:1023px) {
    .elementor #newscontent section .content {
        padding-left: 0
    }
}

@media screen and (max-width:768px) {
    .elementor #newscontent section .content {
        padding-left: 6.5%;
        padding-right: 6.5%
    }
}

.elementor .news article {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 120px
}

@media screen and (max-width:768px) {
    .elementor .news article header {
        width: 84%;
        margin-left: auto;
        margin-right: auto
    }
}

.elementor .news article header .date {
    color: #c5c3c0;
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 5px;
    margin-top: -18px
}

.elementor .news article header h1,
.elementor .news article header h2,
.elementor .news article header h3,
.elementor .news article header h4,
.elementor .news article header h5,
.elementor .news article header h6 {
    font-size: 25px;
    line-height: 34px;
    font-family: HelveticaBulk, Arial;
    text-transform: uppercase;
    color: #000
}

@media screen and (max-width:768px) {

    .elementor .news article header h1,
    .elementor .news article header h2,
    .elementor .news article header h3,
    .elementor .news article header h4,
    .elementor .news article header h5,
    .elementor .news article header h6 {
        font-size: 18px;
        line-height: 15px
    }
}

.elementor .news article .images {
    width: 49.2%;
    float: left;
    box-sizing: border-box;
    padding-right: 40px;
    padding-left: 180px
}

@media screen and (max-width:768px) {
    .elementor .news article .images {
        width: 100%;
        padding: 0;
        float: none
    }
}

.elementor .news article .images img {
    width: 100%;
    max-width: 100%
}

.elementor .news article .images.two-images img {
    width: 50%;
    float: left;
    box-sizing: border-box
}

.elementor .news article .images.two-images img:first-child {
    padding-right: 2px
}

.elementor .news article .images.two-images img:last-child {
    padding-left: 2px
}

.elementor .news article .images.two-images:after {
    content: '';
    display: block;
    clear: both
}

.elementor .news article .realcontent {
    width: 50.8%;
    float: right;
    box-sizing: border-box;
    padding-right: 90px;
    color: #999;
    font-size: 14px;
    line-height: 18px
}

.elementor .news article .realcontent a {
    color: #999;
    text-decoration: underline
}

@media screen and (max-width:768px) {
    .elementor .news article .realcontent {
        width: 84%;
        margin-left: auto;
        margin-right: auto;
        padding-right: 0;
        float: none;
        margin-top: 20px
    }
}

.elementor .news article:after {
    content: '';
    display: block;
    clear: both
}

.elementor .archives {
    margin-left: 49.2%
}

@media screen and (max-width:768px) {
    .elementor .archives {
        width: 84%;
        margin-left: auto;
        margin-right: auto
    }
}

.elementor .archives ul {
    list-style-type: none
}

.elementor .archives ul li {
    padding-left: 20px;
    margin-left: 0;
    position: relative
}

.elementor .archives ul li a {
    text-transform: uppercase;
    font-family: HelveticaBulk, Arial;
    color: #c5c3c0
}

.elementor .archives ul li:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 7px;
    border-color: transparent transparent transparent #c5c3c0;
    position: absolute;
    left: 0;
    transition: transform .3s
}

@media screen and (max-width:768px) {
    .elementor .testimonial {
        margin-top: 80px
    }
}

.elementor .testimonial ul li {
    margin-left: 0
}

.elementor .testimonial ul li .row {
    margin-top: -19px
}

@media screen and (max-width:1023px) {
    .elementor .testimonial ul li .row {
        margin-top: -20px
    }
}

@media screen and (max-width:768px) {
    .elementor .testimonial ul li .row {
        margin-top: -19px
    }
}

.elementor .testimonial ul li .row .col-1-2-testimonial {
    position: relative;
    width: 47%;
    margin-right: 3%
}

@media screen and (max-width:768px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial {
        width: 100%;
        margin-right: 0
    }
}

.elementor .testimonial ul li .row .col-1-2-testimonial .person {
    overflow: hidden;
    position: relative;
    height: 100%;
    margin-left: auto;
    width: 360px
}

@media screen and (max-width:768px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial .person {
        width: 100%
    }
}

@media screen and (max-width:768px) and (orientation:landscape),
screen and (max-width:1023px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial .person {
        width: 45vw;
        margin-left: auto;
        margin-right: auto
    }
}

.elementor .testimonial ul li .row .col-1-2-testimonial .person>img {
    width: 100%;
    max-width: 360px
}

@media screen and (max-width:768px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial .person>img {
        max-width: inherit
    }
}

.elementor .testimonial ul li .row .col-1-2-testimonial .name {
    padding-left: 20px;
    position: absolute;
    left: 0;
    bottom: 0;
    font-family: HelveticaBulk;
    color: #fff;
    font-size: 21px;
    line-height: 19px;
    text-transform: uppercase;
    opacity: .32;
    z-index: 1;
    transition: opacity .3s
}

.elementor .testimonial ul li .row .col-1-2-testimonial .name p {
    margin-bottom: 0
}

@media screen and (max-width:1023px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial .name {
        font-size: 16px;
        line-height: 15px;
        padding-left: 14px
    }
}

@media screen and (max-width:768px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial .name {
        font-size: 21px;
        line-height: 17px;
        padding-left: 13px
    }
}

.elementor .testimonial ul li .row .col-1-2-testimonial .name:after {
    content: '';
    display: block;
    width: 12px;
    height: 48px;
    background-color: #000;
    margin-bottom: 47px;
    background-color: #fff;
    margin-bottom: 0;
    width: 6px;
    height: 24px;
    margin-top: 10px
}

@media screen and (max-width:768px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial .name:after {
        margin-bottom: 23px
    }
}

@media screen and (max-width:1023px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial .name:after {
        height: 19px;
        margin-top: 6px;
        margin-bottom: 0
    }
}

@media screen and (max-width:768px) {
    .elementor .testimonial ul li .row .col-1-2-testimonial .name:after {
        height: 23px;
        margin-top: 10px;
        margin-bottom: 0
    }
}

.elementor .testimonial ul li .row .col-2-2-testimonial .text {
    width: 90%;
    margin-top: 140px;
    color: rgba(255, 255, 255, .48)
}

@media screen and (max-width:768px) {
    .elementor .testimonial ul li .row .col-2-2-testimonial {
        width: 100%
    }

    .elementor .testimonial ul li .row .col-2-2-testimonial .text {
        width: 100%;
        margin-top: 60px;
        padding-left: 20px;
        padding-right: 20px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: 50px
    }
}

.elementor .projectnavi {
    text-align: right;
    margin-right: 3px;
    margin-bottom: 10px
}

@media screen and (max-width:768px) {
    .elementor .projectnavi {
        text-align: center;
        margin-bottom: 15px
    }
}

.elementor .projectnavi .next-project,
.elementor .projectnavi .prev-project {
    display: inline-block
}

.elementor .projectnavi .next-project a,
.elementor .projectnavi .prev-project a {
    color: #999;
    font-size: 14px;
    line-height: 18px
}

.elementor .projectnavi .next-project a:hover,
.elementor .projectnavi .prev-project a:hover {
    color: #000
}

.elementor .projectnavi .next-project:after {
    content: '|';
    padding-left: 9px;
    margin-right: 4px;
    color: #999
}

#menu-selection-animation {
    display: none;
    position: fixed;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 42;
    height: 90vh
}

#to-top {
    width: 16px;
    height: 32px;
    background: url(../img/RIGHT.svg) no-repeat;
    background-size: contain;
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    position: fixed;
    right: 33px;
    bottom: 50px;
    cursor: pointer;
    z-index: 1;
    display: none
}

footer {
    font-family: HelveticaRoman;
    font-size: 12px;
    line-height: 16px;
    color: #999;
    /* max-width: 1600px; */
    margin: 129px auto 20px auto;
    /* padding-left: 32px;
    padding-right: 32px; */
    box-sizing: border-box
}

footer a {
    color: #999
}

#folder_id,
#page_id,
#site_elements {
    display: none
}

#page_wrapper .teamsection[data-mercury] .dropdown {
    display: block !important
}

body.mac header#page-header #frame h1,
body.mac header#page-header #frame h2 {
    position: relative;
    top: 8px
}

@media screen and (max-width:768px) {

    body.mac header#page-header #frame h1,
    body.mac header#page-header #frame h2 {
        top: 3px
    }
}

body.mac header#page-header #frame #shadow-project-name {
    top: 15px
}

@media screen and (max-width:768px) {
    body.mac header#page-header #frame #shadow-project-name {
        top: 3px
    }
}

body.mac .elementor .image-block.lower-left .text {
    padding: 13px 48px 0 6px
}

@media screen and (max-width:1023px) {
    body.mac .elementor .image-block.lower-left .text {
        padding: 10px 44px 2px 7px
    }
}

.two-maps {
    display: none
}

footer li {
    float:left;
}





.form-control {
    display: block;
    width: 100%;
    height: calc(2.25rem + 2px);
    padding: 0.2rem 0;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid white;
    border-bottom: 1px solid #ced4da;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  }
  
  @media screen and (prefers-reduced-motion: reduce) {
    .form-control {
      transition: none;
    }
  }
  
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0;
  }
  
  .form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
  }
  
  .form-control::-webkit-input-placeholder {
    color: #6c757d;
    opacity: 1;
  }
  
  .form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1;
  }
  
  .form-control:-ms-input-placeholder {
    color: #6c757d;
    opacity: 1;
  }
  
  .form-control::-ms-input-placeholder {
    color: #6c757d;
    opacity: 1;
  }
  
  .form-control::placeholder {
    color: #6c757d;
    opacity: 1;
  }
  
  .form-control:disabled, .form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1;
  }
  
  select.form-control:focus::-ms-value {
    color: #495057;
    background-color: #fff;
  }
  
  .form-control-file,
  .form-control-range {
    display: block;
    width: 100%;
  }
  
  .col-form-label {
    padding-top: calc(0.375rem + 1px);
    padding-bottom: calc(0.375rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
  }
  
  .col-form-label-lg {
    padding-top: calc(0.5rem + 1px);
    padding-bottom: calc(0.5rem + 1px);
    font-size: 1.25rem;
    line-height: 1.5;
  }
  
  .col-form-label-sm {
    padding-top: calc(0.25rem + 1px);
    padding-bottom: calc(0.25rem + 1px);
    font-size: 0.875rem;
    line-height: 1.5;
  }
  
  .form-control-plaintext {
    display: block;
    width: 100%;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    margin-bottom: 0;
    line-height: 1.5;
    color: #212529;
    background-color: transparent;
    border: solid transparent;
    border-width: 1px 0;
  }
  
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0;
  }
  
  .form-control-sm {
    height: calc(1.8125rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem;
  }
  
  .form-control-lg {
    height: calc(2.875rem + 2px);
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0.3rem;
  }
  
  select.form-control[size], select.form-control[multiple] {
    height: auto;
  }
  
  textarea.form-control {
    height: auto;
  }
  
  .form-group {
    margin-bottom: 1rem;
  }
  
  .form-text {
    display: block;
    margin-top: 0.25rem;
  }

  .form-label {
      color: gray;
  }

  textarea.form-control:focus,
  textarea.form-control {
      margin-top: 60px;
      background-color: #EDEDED;
  }

  textarea.form-control {
      padding: 0.375rem 0.75rem;
  }
  
  textarea.form-control:focus {
      outline: none;
      border-color: gray;
      box-shadow: none;
  }
  
  input.form-control:focus {
      outline: none;
      border-color: white;
      border-bottom-color: gray;
      box-shadow: none;
  }


  span.wpcf7-not-valid-tip {
      display: none;
  }
  
  input.wpcf7-not-valid {
      border-bottom-color: red;
  }

  textarea.wpcf7-not-valid {
      border-color: red;
      
  }

  div.wpcf7-response-output {
      padding: 18px 15px 15px 15px;
      margin-right: 0;
      margin-left: 0;
  }

  .wpcf7-form-control.wpcf7-submit {
        padding:5px 15px; 
        background: none; 
        border:0 none;
        cursor:pointer;
        -webkit-border-radius: 5px;
        border-radius: 5px; 
        text-transform: uppercase;
        font-weight: 900;
        letter-spacing: 1px;
        font-size: 1.3rem;
        line-height: normal;
        vertical-align: baseline;
        color: #777777;
        float: right;
        font-family: HelveticaBulk, Helvetica, Arial, sans-serif;
        font-size: 25px;
    
  }

  .elementor-image img {
      max-width: 1600px;
      height: auto;
  }

  .d-none {
      display: none;
  }

  @media (min-width: 768px) {
      .d-md-none {
          display: none;
      }
      
      .d-md-block {
          display: block;
      }
  }

  .controls polygon {
    fill: white !important;
  }



.overlay-menu {
    color: white;
}
  
.overlay-menu .menu {
    justify-content: space-between;
}

.overlay-menu .menu-item {
    list-style: none;
    padding: 0;
    margin: 0;
}

.overlay-menu .overlay-header {
    border-bottom: 1px solid rgba(255,255,255,.6);
}

.overlay-menu .overlay-footer {
    border-top: 1px solid rgba(255,255,255,.6);
}

.overlay-menu .overlay-content,
.overlay-menu a {
    font-family: HelveticaBulk;
    font-size: 18px;
    text-transform: uppercase;
    color: #fff;
}

.overlay-menu .menu-item a {
    text-transform: uppercase;
    color: rgba(255,255,255,.6);
    text-decoration: none;
}

.overlay-menu .overlay-footer .menu {
    margin: 1.33em 0 0 0;
}

.overlay-menu .menu-item:hover a,
.overlay-menu .current-menu-item a {
    color: #fff;
}

@media (min-width: 768px) {
    
    .overlay-menu-wrapper .overlay-menu-container {
        padding: 150px 120px !important;
    }
    
    .overlay-menu {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        height: 100%;
    }

    .overlay-menu .menu {
        display: flex;
    }

    .project-grid {
        display: flex;
        justify-content: space-between;
        gap: 30px;
    }

    .project-grid .project-grid-item {
        flex: 1;
    }

}

.project-grid-column {
    flex: 1;
}

.project-grid-column ul,
.project-grid-column ul li {
    margin: 0;
    padding: 0;
}

.project-grid-column ul {
    margin-top: 15px;
}

.project-grid-column ul li:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 7px;
    border-color: transparent transparent transparent #fff;
    transition: transform .3s;
    left: 0;
    position: absolute;
}

.project-grid-column ul li {
    list-style: none;
    position: relative;
    padding-left: 1rem;
    margin-bottom: 6px;
}

.project-grid-column .project-grid-column-title {
    text-transform: uppercase;
    font-size: 14px;
    font-family: HelveticaRoman;
    color: rgba(255,255,255,.6);
    margin: 0;
}
.project-grid-column .project-grid-column-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin: 10px 0;
}