.mfp-bg {
    z-index: 1042;
    overflow: hidden;
    background: #0b0b0b;
    opacity: .8
}

.mfp-bg,.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: fixed
}

.mfp-wrap {
    z-index: 1043;
    outline: none!important;
    -webkit-backface-visibility: hidden
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box
}

.mfp-container:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle
}

.mfp-align-top .mfp-container:before {
    display: none
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045
}

.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content {
    width: 100%;
    cursor: auto
}

.mfp-ajax-cur {
    cursor: progress
}

.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: zoom-out
}

.mfp-zoom {
    cursor: pointer;
    cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
    cursor: auto
}

.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.mfp-loading.mfp-figure {
    display: none
}

.mfp-hide {
    display: none!important
}

.mfp-preloader {
    color: #ccc;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -.8em;
    left: 8px;
    right: 8px;
    z-index: 1044
}

.mfp-preloader a {
    color: #ccc
}

.mfp-preloader a:hover {
    color: #fff
}

.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader {
    display: none
}

button.mfp-arrow,button.mfp-close {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

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

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: .65;
    padding: 0 0 18px 10px;
    color: #fff;
    font-style: normal;
    font-size: 28px;
    font-family: Arial,Baskerville,monospace
}

.mfp-close:focus,.mfp-close:hover {
    opacity: 1
}

.mfp-close:active {
    top: 1px
}

.mfp-close-btn-in .mfp-close {
    color: #333
}

.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close {
    color: #fff;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #ccc;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap
}

.mfp-arrow {
    position: absolute;
    opacity: .65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent
}

.mfp-arrow:active {
    margin-top: -54px
}

.mfp-arrow:focus,.mfp-arrow:hover {
    opacity: 1
}

.mfp-arrow:after,.mfp-arrow:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent
}

.mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px
}

.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: .7
}

.mfp-arrow-left {
    left: 0
}

.mfp-arrow-left:after {
    border-right: 17px solid #fff;
    margin-left: 31px
}

.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
    right: 0
}

.mfp-arrow-right:after {
    border-left: 17px solid #fff;
    margin-left: 39px
}

.mfp-arrow-right:before {
    border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px
}

.mfp-iframe-holder .mfp-close {
    top: -40px
}

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0,0,0,.6);
    background: #000
}

img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    box-sizing: border-box;
    padding: 40px 0;
    margin: 0 auto
}

.mfp-figure,img.mfp-img {
    line-height: 0
}

.mfp-figure:after {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0,0,0,.6);
    background: #444
}

.mfp-figure small {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    line-height: 14px
}

.mfp-figure figure {
    margin: 0
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #f3f3f3;
    word-wrap: break-word;
    padding-right: 36px
}

.mfp-image-holder .mfp-content {
    max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer
}

@media screen and (max-height: 300px),screen and (max-width:800px) and (orientation:landscape) {
    .mfp-img-mobile .mfp-image-holder {
        padding-left:0;
        padding-right: 0
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px
    }

    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0,0,0,.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0
    }

    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px
    }

    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0,0,0,.6);
        position: fixed;
        text-align: center;
        padding: 0
    }
}

@media (max-width: 900px) {
    .mfp-arrow {
        transform:scale(.75)
    }

    .mfp-arrow-left {
        transform-origin: 0
    }

    .mfp-arrow-right {
        transform-origin: 100%
    }

    .mfp-container {
        padding-left: 6px;
        padding-right: 6px
    }
}

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article,aside,footer,header,nav,section {
    display: block
}

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

figcaption,figure,main {
    display: block
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace,monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,strong {
    font-weight: inherit;
    font-weight: bolder
}

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

dfn {
    font-style: italic
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

audio,video {
    display: inline-block;
    width: 100%
}

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

img {
    border-style: none
}

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

button,input,optgroup,select,textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

[type=reset],[type=submit],button,html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

textarea {
    overflow: auto
}

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

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

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

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details,menu {
    display: block
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

[hidden],template {
    display: none
}

.screen-reader-text {
    clip: rect(1px,1px,1px,1px);
    position: absolute!important;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.screen-reader-text:active,.screen-reader-text:focus,.screen-reader-text:hover {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
    clip: auto!important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

body {
    width: 100%;
    margin: 0 auto
}

.no-top-space {
    margin-top: 0
}

.xs-top-space {
    margin-top: .4em
}

.sm-top-space {
    margin-top: .8em
}

.md-top-space {
    margin-top: 1.6em
}

.lg-top-space {
    margin-top: 3.2em
}

.xl-top-space {
    margin-top: 4.8em
}

.xxl-top-space {
    margin-top: 6.4em
}

.no-space {
    margin-bottom: 0
}

.xs-space {
    margin-bottom: .4em
}

.sm-space {
    margin-bottom: .8em
}

.md-space {
    margin-bottom: 1.6em
}

.lg-space {
    margin-bottom: 3.2em
}

.xl-space {
    margin-bottom: 4.8em
}

.xxl-space {
    margin-bottom: 6.4em
}

.left-space {
    margin-left: 10px
}

.right-space {
    margin-right: 10px
}

.big-padding {
    margin-top: 5em
}

.big-padding,.big-padding-bottom,.wrap {
    margin-bottom: 5em
}

.wrap {
    margin-top: 5em
}

.hero-page .wrap {
    margin-top: 0;
    margin-bottom: 0
}

.small-space {
    padding-top: 5px
}

.content-padding {
    padding: 1em 0
}

.content-padding.home {
    padding-top: 0;
    padding-bottom: 0
}

@media (min-width: 53.125em) {
    .content-padding {
        padding:1em;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
}

@media (min-width: 61.25em) {
    .content-padding {
        padding:0 2em!important
    }
}

.content-padding .inner-content {
    padding: 5em 0
}

.container {
    padding-left: .5em;
    padding-right: .5em
}

hr.line {
    width: 100%;
    border: 0 solid #d85c44;
    border-bottom-width: 1px;
    position: relative;
    padding-bottom: 4px;
    margin: 0
}

hr.line:after {
    content: "";
    border-bottom: 2px solid #d85c44;
    position: absolute;
    width: 100%
}

.cyan-bg,.cyan-bg-mo {
    background-color: #eafafa
}

@media (min-width: 53.125em) {
    .cyan-bg-mo {
        background-color:transparent
    }
}

.max-width-row {
    padding-right: 2em;
    padding-left: 2em;
    width: 100%;
    max-width: 30em;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box
}

@media (min-width: 53.125em) {
    .max-width-row {
        padding-right:2em;
        padding-left: 2em;
        display: -ms-flexbox;
        display: flex;
        max-width: 60em
    }
}

@media (min-width: 53.125em) and (min-width:75em) {
    .max-width-row {
        padding-right:0;
        padding-left: 0
    }
}

.max-width-row.block {
    display: block
}

.two-col {
    padding-right: 2em;
    padding-left: 2em;
    width: 100%;
    max-width: 30em;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0
}

@media (min-width: 53.125em) {
    .two-col {
        padding-right:2em;
        padding-left: 2em;
        display: -ms-flexbox;
        display: flex;
        max-width: 60em
    }
}

@media (min-width: 53.125em) and (min-width:75em) {
    .two-col {
        padding-right:0;
        padding-left: 0
    }
}

@media (min-width: 53.125em) {
    .two-col {
        display:grid;
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width: 53.115em) {
    .two-col.full-mo {
        max-width:100%;
        padding: 0
    }
}

.two-col.full-mo .square {
    background-size: cover;
    background-position: 50%;
    height: 400px;
    padding: 2em;
    margin-top: 5px
}

.two-col.full-mo .square .square-inner {
    max-width: 26em;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    border: 0 solid #d85c44;
    border-bottom-width: 1px;
    position: relative;
    padding-bottom: 4px
}

.two-col.full-mo .square .square-inner h2 {
    font-size: 2.5em;
    font-family: Montserrat,sans-serif;
    font-weight: 300;
    margin-bottom: 0;
    color: #01426a
}

.two-col.full-mo .square .square-inner p {
    margin-bottom: 1.5em;
    font-size: 85%;
    color: #01426a
}

.two-col.full-mo .square .square-inner h2,.two-col.full-mo .square .square-inner p {
    color: #fff
}

.two-col.full-mo .square .square-inner:after {
    content: "";
    border-bottom: 2px solid #d85c44;
    position: absolute;
    width: 100%
}

@media (min-width: 53.125em) {
    .two-col.full-mo .square {
        height:350px;
        margin-top: 0
    }

    .two-col.full-mo .square .square-inner h2 {
        font-size: 3.5em
    }
}

img.responsive {
    max-width: 100%;
    height: auto
}

button.btn,input.btn {
    font-family: Montserrat,sans-serif;
    font-weight: 400;
    color: #fff;
    border-width: 0;
    font-size: 1em;
    letter-spacing: 0;
    padding: .5em 1.4em;
    transition: all .3s ease-in-out;
    outline: none;
    cursor: pointer;
    text-transform: uppercase;
    border-radius: 30px
}

button.btn a,input.btn a {
    color: #fff
}

button.btn.btn-primary,input.btn.btn-primary {
    background-color: #780050
}

button.btn.btn-primary:focus,button.btn.btn-primary:hover,input.btn.btn-primary:focus,input.btn.btn-primary:hover {
    background-color: #45002e
}

button.btn.btn-inverse,input.btn.btn-inverse {
    background-color: #fff;
    color: #780050
}

button.btn.btn-inverse:focus,button.btn.btn-inverse:hover,input.btn.btn-inverse:focus,input.btn.btn-inverse:hover {
    background-color: #780050;
    color: #fff
}

button.btn.btn-secondary,input.btn.btn-secondary {
    background-color: #4f758b
}

button.btn.btn-secondary:focus,button.btn.btn-secondary:hover,input.btn.btn-secondary:focus,input.btn.btn-secondary:hover {
    background-color: #2a3e4a
}

button.btn.btn-spacing,input.btn.btn-spacing {
    margin-top: 1em;
    margin-bottom: 1em
}

input,textarea {
    border: 1px solid #d0d0ce;
    color: #01426a;
    font-weight: 400;
    padding: .4em;
    font-size: 15px;
    font-family: Montserrat,sans-serif
}

input:focus,textarea:focus {
    border: 1px solid #01426a;
    outline-width: 0
}

input:-ms-input-placeholder,textarea:-ms-input-placeholder {
    color: #9f9f9f
}

input::placeholder,textarea::placeholder {
    color: #9f9f9f
}

.hero {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    background-size: cover;
    background-position: 50%;
    min-height: 90vh
}

.hero.middle {
    -ms-flex-pack: start;
    justify-content: flex-start
}

@supports (grid-area: auto) {
    @media (min-width:53.125em) {
        .hero.middle {
            -ms-flex-pack:end;
            justify-content: flex-end
        }
    }
}

.hero .hero-info {
    padding: 120px 2em 2.5em;
    width: 100%;
    max-width: 30em;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    display: block!important;
    text-align: left
}

@media (min-width: 53.125em) {
    .hero .hero-info {
        padding-top:80px;
        padding-right: 2em;
        padding-left: 2em;
        display: -ms-flexbox;
        display: flex;
        max-width: 60em
    }
}

@media (min-width: 53.125em) and (min-width:75em) {
    .hero .hero-info {
        padding-right:0;
        padding-left: 0
    }
}

.hero .hero-info h1 {
    font-size: 1.5em;
    padding-bottom: 3em
}

.hero .hero-info h1 p {
    margin-bottom: 0
}

.hero .hero-info h1.big {
    font-size: 2em;
    padding-bottom: .5em
}

.hero .hero-info h1.home {
    padding-bottom: 0
}

@media (max-width: 53.115em) {
    .hero .hero-info h1.home {
        font-size:2em
    }

    .hero .hero-info h1.home br {
        display: none
    }
}

.hero .hero-info .hero-copy {
    max-width: 25em;
    margin: 1em 0 4em
}

.hero.partial {
    height: 75vh;
    min-height: 75vh
}

@supports (grid-area: auto) {
    @media (min-width:53.125em) {
        .hero {
            height:100vh
        }

        .hero .hero-info h1 {
            font-size: 2.5em;
            padding-bottom: 1.5em
        }

        .hero .hero-info h1.big,.hero .hero-info h1.home {
            font-size: 3.5em
        }

        .hero .hero-info hr {
            margin: 2em 0
        }
    }

    @media (min-width: 61.25em) {
        .hero .hero-info h1.big,.hero .hero-info h1.home {
            font-size:4em
        }
    }
}

.hero .hero-info.dark h1,.hero .hero-info.dark h2,.hero .hero-info.dark p {
    color: #01426a!important
}

@media (min-width: 53.125em) {
    .page.contact .hero {
        height:90vh;
        min-height: 90vh
    }
}

.project-header {
    height: 25vh;
    background-color: #f8f8f8;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    box-sizing: border-box
}

.project-header .line {
    margin-bottom: 1.5em
}

.project-header h1 {
    font-family: Montserrat,sans-serif;
    font-weight: 400
}

.project-type-area {
    display: block;
    padding-right: 2em;
    padding-left: 2em;
    width: 100%;
    max-width: 30em;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box
}

@media (min-width: 53.125em) {
    .project-type-area {
        padding-right:2em;
        padding-left: 2em;
        display: -ms-flexbox;
        display: flex;
        max-width: 60em
    }
}

@media (min-width: 53.125em) and (min-width:75em) {
    .project-type-area {
        padding-right:0;
        padding-left: 0
    }
}

@media (min-width: 53.125em) {
    .project-type-area {
        display:grid;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 1em
    }
}

.readable {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

@media (min-width: 53.125em) {
    .readable {
        max-width:25em
    }

    .readable.wide {
        max-width: 35em
    }
}

.hidden-grid {
    display: block
}

.hidden-small {
    display: none
}

@supports (grid-area: auto) {
    @media screen and (min-width:850px) {
        .hidden-grid {
            display:none
        }

        .hidden-small {
            display: block
        }

        body {
            max-width: none
        }
    }
}

body,input {
    font-size: 15px;
    line-height: 1.4;
    font-family: Montserrat,sans-serif;
    font-weight: 400;
    color: #01426a
}

@media (min-width: 61.25em) {
    body,input {
        font-size:17px
    }
}

p {
    margin: 0 0 1em
}

.lead {
    font-weight: 400;
    font-size: 1.17em;
    line-height: 1.47
}

.lead.lead-big {
    font-size: 1.5em
}

.small {
    font-size: 85%
}

h1,h2,h3,h4,h5,h6 {
    font-family: DM Serif Display,serif;
    font-weight: 400;
    line-height: 1.1;
    color: #01426a;
    margin: 0 0 .2em
}

.normal {
    font-family: Montserrat,sans-serif;
    padding-bottom: 1em
}

h1 {
    font-size: 3em;
    font-weight: 400
}

h2 {
    font-size: 2.5em
}

h3 {
    font-size: 24px
}

h4 {
    font-size: 1.2em
}

h5 {
    font-size: 1em
}

h6 {
    font-size: .9em
}

strong {
    font-weight: 600
}

.text-white,.text-white p {
    color: #fff
}

.text-regular {
    font-weight: 300
}

.text-gray {
    color: #9f9f9f
}

.text-uppercase {
    text-transform: uppercase
}

.text-center {
    text-align: center!important
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.text-primary,a {
    color: #01426a
}

a {
    text-decoration: none;
    font-weight: 600
}

a:focus,a:hover {
    color: #000305
}

a.text-button {
    font-family: DM Serif Display,serif;
    font-weight: 400
}

.cursor-pointer {
    cursor: pointer
}

address {
    font-size: .72em;
    font-style: normal
}

.p-t-card {
    margin: 0;
    display: inline-block;
    width: 100%
}

.p-t-card .card {
    overflow: hidden;
    position: relative;
    width: 450px;
    height: 337.5px;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%
}

.p-t-card .card a {
    height: 100%;
    width: 100%;
    display: block
}

.p-t-card .card .card-wrap {
    transition: all .7s ease;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: 50%
}

.p-t-card .card .card-wrap:after {
    transition: all .7s ease;
    content: "";
    opacity: 0;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #01426a
}

.p-t-card .card .card-wrap .card-name {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    z-index: 100;
    position: relative
}

.p-t-card .card .card-wrap .card-name h4 {
    color: #fff;
    font-family: Montserrat,sans-serif;
    font-weight: 600;
    transition: all .6s ease;
    text-transform: uppercase;
    font-size: 1em;
    background-color: #780050;
    padding: .5em 1.4em;
    border-radius: 25px
}

.p-t-card .card:focus .card-wrap,.p-t-card .card:hover .card-wrap {
    transform: scale(1.04)
}

.p-t-card .card:focus .card-wrap:after,.p-t-card .card:hover .card-wrap:after {
    opacity: .6
}

.p-t-card .card:focus .card-wrap .card-name h4,.p-t-card .card:hover .card-wrap .card-name h4 {
    background-color: #45002e
}

@media (max-width: 23.75em) {
    .p-t-card .card {
        height:240px
    }
}

@media (min-width: 53.125em) {
    .p-t-card .card {
        width:100%;
        height: 240px
    }
}

.p-card {
    width: 100%;
    background: #eafafa;
    transition: all .7s ease;
    display: inline-block;
    margin: 0
}

.p-card .photo {
    height: 200px;
    overflow: hidden;
    position: relative
}

@media (min-width: 53.125em) {
    .p-card .photo {
        height:250px
    }
}

.p-card .photo .photo-wrap {
    transition: all .7s ease;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: 50%
}

.p-card .p-info {
    padding: 1.5em 1em;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-card .p-info .p-info-inner {
    -ms-flex-item-align: center;
    align-self: center
}

.p-card .p-info h4 {
    font-family: Montserrat,sans-serif;
    margin-bottom: .1em;
    font-size: 1.3em;
    transition: all .7s ease
}

@media (min-width: 53.125em) {
    .p-card .p-info h4 {
        font-size:1.5em
    }
}

.p-card .p-info p {
    margin-bottom: 0;
    font-size: .8em;
    color: #7a99ac
}

.p-card .p-info .btn {
    max-height: 35px;
    -ms-flex-item-align: end;
    align-self: flex-end;
    margin-top: 1.3em;
    font-weight: 600
}

.p-card+.p-card {
    margin-top: 5px
}

@media (min-width: 53.125em) {
    .p-card {
        display:block
    }
}

.p-card:focus .photo .photo-wrap,.p-card:hover .photo .photo-wrap {
    transform: scale(1.04)
}

@media (min-width: 53.125em) {
    .p-card a {
        display:grid;
        grid-template-columns: 1fr 1fr
    }
}

.p-card.member {
    cursor: pointer
}

.p-card.member .btn {
    font-size: 3em;
    line-height: .8;
    max-height: none;
    padding: 0 .12em;
    display: block;
    margin-top: 1em;
    box-sizing: content-box;
    font-weight: 300;
    -ms-flex-item-align: end;
    align-self: flex-end
}

.p-card.member .photo {
    height: 350px
}

@media (min-width: 53.125em) {
    .p-card.member .photo {
        height:290px
    }
}

@media (min-width: 75em) {
    .p-card.member .photo {
        height:310px
    }
}

.p-card.member h4 {
    text-transform: uppercase
}

@media (min-width: 53.125em) {
    .p-card.member h4 {
        font-size:1.1em
    }
}

.p-card.member p.title {
    font-size: 1em
}

@media (min-width: 53.125em) {
    .p-card.member a {
        display:block
    }
}

.p-card.member .p-info-inner {
    -ms-flex-item-align: start;
    align-self: start
}

@media (min-width: 53.125em) {
    .p-card.member {
        margin-bottom:1em
    }
}

@media (min-width: 53.125em) {
    .related.p-card {
        height:auto
    }

    .related.p-card+.p-card {
        margin-top: 0
    }
}

@media (min-width: 53.125em) {
    .related.p-card .p-info {
        position:relative;
        min-height: 5em
    }

    .related.p-card .p-info .p-info-inner {
        -ms-flex-item-align: start;
        align-self: start
    }

    .related.p-card .p-info .btn {
        position: absolute;
        right: 1em;
        bottom: 1em;
        font-size: .9em
    }

    .related.p-card .p-info h4 {
        font-size: 1.3em
    }
}

@media (min-width: 53.125em) {
    .related.p-card a {
        display:block
    }
}

@media (min-width: 53.125em) {
    .team-members {
        display:grid!important;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 1em
    }
}

.project-gallery .gallery-link {
    cursor: pointer;
    height: 240px;
    width: 100%;
    max-width: 30em;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    overflow: hidden
}

.project-gallery .gallery-link .gallery-img {
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: 50%;
    transition: all .6s ease
}

.project-gallery .gallery-link:focus .gallery-img,.project-gallery .gallery-link:hover .gallery-img {
    transform: scale(1.04);
    opacity: .8
}

@supports (grid-area: auto) {
    @media (min-width:53.125em) {
        .project-gallery {
            display:grid;
            grid-template-columns: repeat(3,1fr);
            grid-column-gap: 0
        }

        .project-gallery .gallery-link {
            height: 200px
        }
    }
}

@media (min-width: 53.125em) {
    .projects-found.related {
        display:grid!important;
        grid-template-columns: 1fr 1fr 1fr;
        column-gap: 1em
    }
}

.nf-form-title,.nf-form-wrap.ninja-forms-form-wrap {
    padding-right: 2em;
    padding-left: 2em;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
    display: block
}

.nf-form-title {
    margin-top: 3em
}

.nf-form-title h3 {
    font-size: 2.5em;
    font-weight: 400
}

.nf-form-wrap.ninja-forms-form-wrap {
    margin-bottom: 3em
}

.nf-form-wrap.ninja-forms-form-wrap .nf-form-content {
    padding: 0
}

.submit-wrap .ninja-forms-field.nf-element {
    color: #fff;
    font-family: Montserrat,sans-serif;
    font-weight: 600;
    transition: all .6s ease;
    text-transform: uppercase;
    font-size: 1em;
    background-color: #780050;
    padding: .5em 1.4em;
    border-radius: 30px;
    cursor: pointer
}

.nf-form-fields-required {
    margin-bottom: 2em;
    font-size: 15px
}

.nf-form-content textarea.ninja-forms-field {
    height: 150px!important
}

.nf-error-msg,.nf-error .nf-error-msg,.ninja-forms-req-symbol {
    color: #780050!important
}

.nf-error-wrap.nf-error {
    display: none!important
}

.nf-error.field-wrap .nf-field-element:after {
    background-color: #780050!important
}

.nf-form-layout .nf-error .ninja-forms-field {
    border-color: #780050!important
}

.metric {
    display: inline;
    text-align: left
}

.metric h2 {
    font-size: 2.5em;
    font-family: Montserrat,sans-serif;
    font-weight: 300;
    margin-bottom: 0;
    color: #01426a
}

.metric p {
    margin-bottom: 1.5em;
    font-size: 85%;
    color: #01426a
}

@media (min-width: 53.125em) {
    .metric h2 {
        font-size:3.5em
    }
}

.hero-metrics .metric {
    display: block;
    border: 0 solid #d85c44;
    border-top-width: 2px;
    position: relative;
    padding-top: 3px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: baseline;
    align-items: baseline
}

.hero-metrics .metric:before {
    content: "";
    border: 0 solid #d85c44;
    border-top-width: 1px;
    position: absolute;
    width: 100%
}

.hero-metrics .metric h2 {
    color: #fff;
    padding-top: 10px
}

.hero-metrics .metric p {
    color: #fff;
    margin-bottom: 0;
    padding-bottom: 10px;
    padding-left: .7em
}

@media (min-width: 53.125em) {
    .hero-metrics {
        border:0 solid #d85c44;
        border-top-width: 2px;
        position: relative;
        padding-top: 3px
    }

    .hero-metrics:before {
        content: "";
        border: 0 solid #d85c44;
        border-top-width: 1px;
        position: absolute;
        width: 100%
    }

    .hero-metrics .hero-metrics-inner {
        margin-top: 2.5em;
        display: grid;
        grid-column-gap: 1em;
        grid-template-columns: .8fr 1.1fr 1.1fr
    }

    .hero-metrics .hero-metrics-inner .metric {
        padding-top: 0;
        border-top-width: 0;
        border-left-width: 2px;
        padding-left: 3px;
        display: block
    }

    .hero-metrics .hero-metrics-inner .metric:before {
        border-top-width: 0;
        border-left: 1px solid #d85c44;
        height: 100%
    }

    .hero-metrics .hero-metrics-inner .metric:first-child {
        border-left-width: 0;
        padding-left: 0
    }

    .hero-metrics .hero-metrics-inner .metric:first-child:before {
        border-left: 0
    }

    .hero-metrics .hero-metrics-inner .metric h2 {
        padding-top: 0;
        line-height: 1
    }

    .hero-metrics .hero-metrics-inner .metric p {
        padding-bottom: 0;
        padding-left: 0
    }

    .hero-metrics .hero-metrics-inner .metric+.metric h2,.hero-metrics .hero-metrics-inner .metric+.metric p {
        padding-left: 30%
    }
}

.metrics-home {
    padding: 0 0 5em
}

.metrics-home .metric {
    display: block;
    border: 0 solid #d85c44;
    border-bottom-width: 1px;
    position: relative;
    padding-bottom: 4px
}

.metrics-home .metric:after {
    content: "";
    border-bottom: 2px solid #d85c44;
    position: absolute;
    width: 100%
}

.metrics-home .metric h2 {
    padding-top: .3em
}

.metrics-home .metric p {
    margin-bottom: 1em
}

.image-stack {
    display: block;
    background-color: #fff;
    width: 100%
}

.image-stack .img {
    max-width: 100%;
    height: 300px;
    background-size: cover;
    background-position: 50%;
    display: block
}

.image-stack .img+.img {
    margin-top: 5px
}

@media (min-width: 53.125em) {
    .image-stack {
        display:grid;
        grid-template-rows: 1fr 1fr 1fr;
        row-gap: 5px;
        height: 100%
    }

    .image-stack .img {
        height: 100%;
        margin-top: 0!important
    }
}

.image-bg {
    display: block;
    background-position: 50%;
    background-size: cover;
    width: 100%;
    height: 100%
}

.project-title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: start
}

.project-title img {
    max-height: 5em;
    padding-right: 1em
}

.project-title h2 {
    font-family: Montserrat,sans-serif
}

.project-title p {
    color: #4f758b
}

.status {
    margin-top: 2em;
    color: #d85c44;
    text-transform: uppercase;
    font-family: Montserrat,sans-serif;
    font-size: 1em
}

.contact-area .contact-form {
    background-color: #f8f8f8;
    padding: 1em
}

.contact-area .contact-form input,.contact-area .contact-form textarea {
    width: 95%;
    max-width: 350px;
    margin-top: .2em;
    border-color: #d0d0ce
}

.contact-area .contact-form input:focus,.contact-area .contact-form textarea:focus {
    border-color: #0281cf
}

.contact-area .contact-form input.wpcf7-submit,.contact-area .contact-form textarea.wpcf7-submit {
    width: auto
}

@media (min-width: 53.125em) {
    .contact-area {
        display:grid;
        grid-template-columns: 1.5fr 1fr;
        column-gap: 1em
    }

    .contact-area .contact-form {
        padding: 1.5em
    }
}

.hero-contact h1 {
    padding-bottom: 0!important
}

.hero-contact h1,.hero-contact p {
    color: #fff
}

.hero-contact div+div {
    margin-top: 3em
}

@media (min-width: 53.125em) {
    .hero-contact div {
        display:inline-block;
        vertical-align: top;
        margin-bottom: 2vh
    }

    .hero-contact div+div {
        margin-left: 4em;
        margin-top: 0
    }
}

.modal {
    display: none
}

.modal.show {
    z-index: 110;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: hsla(0,0%,100%,.6)
}

.modal.show,.modal.show .modal-bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.modal.show .modal-bg {
    display: block;
    z-index: 100
}

.modal.show .modal-inner {
    position: relative;
    box-sizing: border-box;
    background-color: #eafafa;
    width: 100%;
    max-width: 600px;
    max-height: 100vh;
    overflow-y: scroll;
    z-index: 150
}

@media (min-width: 53.125em) {
    .modal.show .modal-inner {
        display:grid;
        grid-template-columns: 1fr 1fr;
        max-width: 60em;
        padding-right: 2em;
        padding-left: 2em;
        background-color: transparent;
        max-height: 470px;
        overflow-y: hidden
    }
}

.modal.show .modal-inner .modal-close {
    position: absolute;
    top: 10;
    left: 10;
    z-index: 200;
    top: 15px;
    right: 15px
}

@media (min-width: 53.125em) {
    .modal.show .modal-inner .modal-close {
        margin-right:2em
    }
}

.modal.show .modal-inner .modal-close .btn {
    font-size: 1.1em;
    line-height: 1;
    max-height: none;
    padding: .4em .6em;
    display: block;
    box-sizing: content-box;
    font-weight: 400
}

.modal.show .modal-inner .modal-photo {
    max-width: 100%;
    max-height: 500px;
    height: 340px;
    background-size: cover;
    background-position: 50%
}

@media (min-width: 28.125em) {
    .modal.show .modal-inner .modal-photo {
        height:470px
    }
}

.modal.show .modal-inner .modal-info {
    padding: 2em;
    box-sizing: border-box;
    background-color: #eafafa
}

.modal.show .modal-inner .modal-info h5 {
    font-size: 1.3em;
    color: #d85c44;
    text-transform: uppercase;
    font-family: Montserrat,sans-serif
}

.modal.show .modal-inner .modal-info .title {
    color: #4f758b;
    font-size: 1.1em
}

@media (min-width: 53.125em) {
    .modal.show .modal-inner .modal-info {
        display:-ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: justify;
        justify-content: space-between;
        max-height: 470px;
        overflow-y: scroll
    }
}

.full-map {
    width: 100%;
    height: 300px
}

@media (min-width: 53.125em) {
    .full-map {
        height:500px
    }
}

.half-map {
    height: 300px
}

@media (min-width: 53.125em) {
    .half-map {
        height:450px
    }
}

.contact-area .contact-form {
    padding: 0
}

.contact-area .contact-form .half-map {
    height: 300px
}

.social {
    margin-top: 3em
}

.social a {
    display: none
}

.social a img {
    height: 2em;
    width: auto;
    margin-right: .3em;
    transition: all .3s ease
}

.social a img:focus,.social a img:hover {
    opacity: .6
}

.social a.show {
    display: inline
}

.hero-page .mast {
    position: absolute
}

.mast {
    background-color: transparent;
    top: 0;
    position: relative;
    opacity: 1;
    display: -ms-flexbox;
    display: flex;
    box-sizing: border-box;
    padding-left: 1em;
    padding-right: 1em;
    right: 0;
    left: 0;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.mast .site-logo {
    display: inline-block;
    text-align: left
}

.mast .site-logo img {
    max-width: 100%;
    max-height: 35px;
    margin: 12.5px 0;
    transition: opacity .3s ease-in-out
}

.mast .site-logo img:focus,.mast .site-logo img:hover {
    opacity: .7
}

.mast .nav-trigger {
    text-align: right;
    height: 2.5em;
    font-size: 1.8em;
    padding: 0 0 0 .6em;
    cursor: pointer;
    background-color: transparent;
    border: 0;
    color: #01426a;
    outline: none
}

.mast .nav-trigger .fa-times {
    display: none
}

.mast .nav-trigger:hover {
    color: #21313a
}

.mast .nav-trigger.open .fa-times {
    display: inherit
}

.mast .nav-trigger.open .fa-bars {
    display: none
}

.mast .main-nav {
    position: fixed;
    overflow-y: scroll;
    background-color: #01426a;
    top: 0;
    left: 0;
    width: 280px;
    bottom: 0;
    z-index: 10;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,.25);
    transition: left 1s ease-in-out;
    padding: 1em 1.5em;
    box-sizing: border-box
}

.mast .main-nav.hidden {
    left: -290px
}

.mast .main-nav img {
    width: 100%;
    margin-bottom: 2em
}

.mast .main-menu {
    margin: 0;
    padding: .5em;
    text-align: left
}

.mast .main-menu li {
    display: block;
    padding: 1em 0;
    border-bottom: 1px solid #4f758b
}

.mast .main-menu li:first-of-type {
    border-top: 1px solid #4f758b
}

.mast .main-menu li a {
    font-family: Montserrat,sans-serif;
    color: #fff;
    text-transform: uppercase
}

.mast .main-menu li a:focus,.mast .main-menu li a:hover {
    color: #000
}

.mast .main-menu li .sub-menu {
    padding-left: 1em
}

.mast .main-menu li .sub-menu li {
    border-color: transparent;
    padding-top: 0
}

.mast .main-menu li .sub-menu li:first-of-type {
    padding-top: 1em
}

.mast .main-menu li .sub-menu li:last-child {
    padding-bottom: 0
}

@supports (grid-area: auto) {
    @media (min-width:53.125em) {
        .mast .site-logo img {
            max-height: 35px;
            margin: 22.5px 0
        }

        .mast .nav-trigger {
            display: none
        }

        .mast .main-nav {
            display: block!important;
            text-align: right;
            background-color: transparent;
            box-shadow: none;
            position: relative;
            width: auto;
            top: auto;
            overflow-y: inherit;
            padding: 0
        }

        .mast .main-nav.hidden {
            left: auto
        }

        .mast .main-nav img {
            display: none
        }

        .mast .main-menu {
            display: inline-block;
            background-color: transparent;
            padding: 0;
            margin: 0;
            text-align: center
        }

        .mast .main-menu li {
            display: inline-block;
            padding: 29.5px .6em;
            position: relative;
            line-height: 21px;
            border: none
        }

        .mast .main-menu li:first-of-type {
            border-top: 0
        }

        .mast .main-menu li a {
            font-size: .9em;
            font-weight: 600;
            text-transform: none;
            color: #01426a
        }

        .mast .main-menu li.active>a {
            border-bottom: 1px solid #01426a
        }

        .mast .main-menu li.menu-item.menu-login {
            padding: .2em 1em .35em;
            margin-left: 1em;
            background-color: #fff;
            border-radius: 30px;
            transition: all .3s linear;
            cursor: pointer
        }

        .mast .main-menu li.menu-item.menu-login:focus,.mast .main-menu li.menu-item.menu-login:hover {
            background-color: #01426a
        }

        .mast .main-menu li.menu-item.menu-login:focus a,.mast .main-menu li.menu-item.menu-login:hover a {
            color: #fff
        }

        .mast .main-menu li.menu-item.menu-login a {
            line-height: 1;
            color: #01426a;
            font-family: Montserrat,sans-serif
        }

        .mast .main-menu li .sub-menu {
            display: none
        }

        .mast .main-menu li.menu-item-has-children {
            position: relative;
            padding-right: 33px;
            cursor: pointer
        }

        .mast .main-menu li.menu-item-has-children.active>a {
            border-bottom: none
        }

        .mast .main-menu li.menu-item-has-children:after {
            content: "";
            position: absolute;
            top: 36px;
            right: 13px;
            border-left: 7px solid transparent;
            border-right: 7px solid transparent;
            border-top: 10px solid #780050;
            clear: both
        }

        .mast .main-menu li.menu-item-has-children:active:after,.mast .main-menu li.menu-item-has-children:hover:after {
            border-top: 0;
            border-bottom: 10px solid #780050
        }

        .mast .main-menu li.menu-item-has-children:active .sub-menu,.mast .main-menu li.menu-item-has-children:hover .sub-menu {
            padding: .5em 0;
            display: block;
            position: absolute;
            width: 180px;
            background-color: #ffffff91;
            border-radius: 5px;
            top: 57px
        }

        .mast .main-menu li.menu-item-has-children:active .sub-menu li,.mast .main-menu li.menu-item-has-children:hover .sub-menu li {
            display: block;
            text-align: left;
            padding: .5em 1em
        }
    }

    @media (min-width: 61.25em) {
        .mast {
            padding-left:1.5em;
            padding-right: 1.5em
        }

        .mast .main-menu li {
            padding-left: .8em;
            padding-right: .8em
        }
    }
}

.slide-area {
    padding: 0;
    width: 100%;
    margin-bottom: 4em;
    grid-column: 2/3
}

.slide-area .slide-select {
    text-align: center
}

.slide-area .slide-select .slide-button {
    width: 1.5em;
    height: 1.5em;
    border-radius: 1em;
    background-color: #86a7ba;
    display: inline-block;
    cursor: pointer
}

.slide-area .slide-select .slide-button+.slide-button {
    margin-left: .5em
}

.slide-area .slide-select .slide-button.active {
    background-color: #01426a;
    cursor: default
}

.slider {
    width: 100%;
    padding-bottom: 45%;
    margin: 1em auto;
    max-height: 45%
}

.slider .slide {
    width: 100%;
    height: 100%
}

.slider .slide img {
    width: 100%;
    left: 100%;
    z-index: 0
}

.slider .slide .slider-info {
    position: absolute;
    left: 2em;
    bottom: 3em;
    max-width: 30em;
    padding: 1em;
    z-index: 2;
    background-color: hsla(0,0%,100%,.85)
}

.foundations {
    width: 100%;
    text-align: center;
    grid-column: 2/3
}

.foundations .foundation-area {
    display: block
}

.foundations .foundation-area .foundation-group {
    display: inline-block;
    padding: 1.3em;
    transition: opacity .4s linear
}

.foundations .foundation-area .foundation-group .foundation-img {
    height: 7em
}

.foundations .foundation-area .foundation-group .foundation-img img {
    max-height: 100%
}

.foundations .foundation-area .foundation-group:focus,.foundations .foundation-area .foundation-group:hover {
    opacity: .8
}

.testimonials {
    width: 100%;
    text-align: center;
    grid-column: 2/3
}

.testimonials .testimonial-area {
    display: block
}

.testimonials .testimonial-area .testimonial-group {
    display: inline-block;
    padding: 1.3em;
    width: 20em;
    max-width: 85%
}

.testimonials .testimonial-area .testimonial-group .testimonial-img {
    height: 7em
}

.testimonials .testimonial-area .testimonial-group .testimonial-img img {
    max-height: 100%;
    border-radius: 3.5em
}

.tiles-row {
    text-align: center
}

.tiles-row .tile {
    overflow: hidden;
    position: relative;
    width: 320px;
    height: 190px;
    margin: 1em auto;
    background-color: #000
}

.tiles-row .tile a {
    display: block
}

.tiles-row .tile .tile-wrapper,.tiles-row .tile a {
    height: 100%;
    width: 100%
}

.tiles-row .tile .tile-wrapper img {
    transition: all .6s ease;
    opacity: .8;
    width: 100%
}

.tiles-row .tile .tile-wrapper .tile-title {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    z-index: 1
}

.tiles-row .tile .tile-wrapper .tile-title h2 {
    opacity: .95;
    color: #fff;
    transition: opacity .6s ease
}

.tiles-row .tile:focus .tile-wrapper img,.tiles-row .tile:hover .tile-wrapper img {
    transform: scale(1.05);
    opacity: .5
}

.tiles-row .tile:focus .tile-wrapper .tile-title h2,.tiles-row .tile:hover .tile-wrapper .tile-title h2 {
    opacity: 1
}

.newsletter-area {
    display: block;
    margin: 5em 0;
    width: 100%;
    background-color: #4f758b;
    text-align: center;
    padding: 2em 0
}

.newsletter-area h2,.newsletter-area p {
    color: #fff
}

.newsletter-area .newsletter-input {
    background-color: #fff;
    width: 90%;
    margin: 0 auto;
    height: 2.6em;
    text-align: left;
    max-width: 30em
}

.newsletter-area .newsletter-input input {
    height: 1.95em;
    font-size: .9em;
    min-width: 11em;
    width: 50%;
    max-width: 20em;
    padding: .1em .3em;
    margin: .25em;
    font-family: Montserrat,sans-serif;
    border: 0
}

.newsletter-area .newsletter-input input:focus {
    outline: 0
}

.newsletter-area .newsletter-input button.btn {
    padding-top: .45em;
    margin: .25em;
    float: right
}

@media screen and (max-width: 500px) {
    .slider {
        padding-bottom:65%;
        max-height: 65%
    }

    .slider .slide img {
        width: 150%
    }

    .slider .slide .slider-info {
        left: 0;
        bottom: 0;
        margin: 1em;
        padding: .5em
    }
}

@supports (grid-area: auto) {
    @media screen and (min-width:850px) {
        .tiles-row {
            display:-ms-flexbox;
            display: flex;
            -ms-flex-direction: row;
            flex-direction: row;
            -ms-flex-pack: justify;
            justify-content: space-between;
            -ms-flex-align: center;
            align-items: center
        }

        .tiles-row .tile {
            -ms-flex-positive: 1;
            flex-grow: 1
        }

        .tiles-row .tile+.tile {
            margin-left: .5em
        }
    }
}

.scroll-top {
    padding: 1.5em 1em 0
}

@media (min-width: 53.125em) {
    .scroll-top {
        display:none
    }
}

footer {
    margin-top: 2em;
    padding: 1.5em 0;
    background-color: #eafafa;
    color: #01426a!important
}

footer .footer-nav {
    margin: 0 0 2em;
    display: inline-block;
    text-align: left;
    width: 40%
}

footer .footer-nav h4 {
    font-family: Montserrat,sans-serif;
    padding-bottom: .3em
}

footer .footer-nav .footer-menu {
    margin: 0;
    padding-left: 0
}

footer .footer-nav .footer-menu>li {
    list-style: none
}

footer .footer-nav .footer-menu>li>a {
    font-family: Montserrat,sans-serif;
    font-weight: 600;
    font-size: 1em
}

footer .logo-footer {
    display: block;
    text-align: left;
    margin-bottom: 3em
}

footer .logo-footer img.logo {
    width: 12em
}

footer .logo-footer .address {
    font-size: .9em
}

footer .logo-footer .copyright {
    margin-top: 1em;
    font-size: .9em
}

footer .logo-footer .social {
    margin-top: 0
}

@supports (grid-area: auto) {
    @media (min-width:53.125em) {
        footer {
            margin-top:0;
            padding: 3em 0
        }

        footer .footer-inner {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-pack: justify;
            justify-content: space-between;
            -ms-flex-align: top;
            align-items: top
        }

        footer .footer-inner .logo-footer {
            -ms-flex-positive: 4;
            flex-grow: 4;
            display: inline-block;
            text-align: left;
            margin-bottom: 0
        }

        footer .footer-inner .logo-footer img.logo {
            padding: 0 0 .2em;
            width: 10em
        }

        footer .footer-inner .footer-nav {
            width: auto;
            -ms-flex-positive: 1;
            flex-grow: 1;
            text-align: left;
            margin: 0
        }

        footer .footer-inner .footer-nav .footer-menu>li {
            vertical-align: top;
            padding: .08em 0
        }

        footer .footer-inner .footer-nav .footer-menu>li>a {
            font-size: .85em
        }
    }
}

.header-image {
    max-width: 100%
}

.team .team-group {
    text-align: center;
    padding: 1.5em 1.3em;
    max-width: 25em;
    margin-left: auto;
    margin-right: auto
}

.team .team-group .team-img {
    padding-bottom: 1em
}

.team .team-group .team-img img {
    max-width: 10em;
    border-radius: 5em
}

.main-services-area,.services-area {
    display: block;
    text-align: center
}

.main-services-area .service-group,.services-area .service-group {
    display: inline-block;
    padding: .5em
}

.main-services-area .service-group .service-img,.services-area .service-group .service-img {
    height: 4em;
    padding-bottom: 1em
}

.main-services-area .service-group .service-img img,.services-area .service-group .service-img img {
    opacity: 1;
    transition: opacity .4s linear;
    max-height: 100%
}

.main-services-area .service-group:focus,.main-services-area .service-group:hover,.services-area .service-group:focus,.services-area .service-group:hover {
    cursor: pointer
}

.main-services-area .service-group:focus img,.main-services-area .service-group:hover img,.services-area .service-group:focus img,.services-area .service-group:hover img {
    opacity: .6
}

.main-services-area .service-group p,.services-area .service-group p {
    max-width: 16em;
    font-size: .8em;
    color: #01426a
}

.main-services-area .service-group .service-body,.services-area .service-group .service-body {
    width: 100%;
    max-width: 30em
}

.main-services-area .service-group .service-body p,.services-area .service-group .service-body p {
    font-size: 1em;
    max-width: 100%
}

.main-services-area {
    text-align: left
}

.main-services-area .service-group .service-img {
    display: none
}

.main-services-area .service-group:focus,.main-services-area .service-group:hover {
    cursor: default
}

.main-services-area .service-group:focus img,.main-services-area .service-group:hover img {
    opacity: 1
}

.contact-map img {
    max-width: 100%
}

.faqs-area .faq-group .faq-title {
    padding-top: .6em;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    color: #01426a
}

.faqs-area .faq-group .faq-title:focus,.faqs-area .faq-group .faq-title:hover {
    color: #000305
}

.faqs-area .faq-group .faq-answer {
    display: none
}

.wpcf7 .wpcf7-mail-sent-ok {
    border-width: 0;
    color: #01426a;
    font-style: italic
}

@supports (grid-area: auto) {
    @media screen and (min-width:850px) {
        .team .team-group {
            display:-ms-flexbox;
            display: flex;
            max-width: 50em
        }

        .team .team-group .team-img {
            -ms-flex-positive: 1;
            flex-grow: 1;
            padding-bottom: 0
        }

        .team .team-group .team-img img {
            max-width: 10em;
            border-radius: 6em
        }

        .team .team-group .team-info {
            -ms-flex-positive: 2;
            flex-grow: 2;
            text-align: left;
            padding-left: 2em
        }

        .main-services-area .service-group {
            display: -ms-flexbox;
            display: flex;
            max-width: 50em;
            margin: 2em auto
        }

        .main-services-area .service-group .service-img {
            display: block;
            text-align: right
        }

        .main-services-area .service-group .service-img img {
            max-height: none;
            width: 5em
        }

        .main-services-area .service-group .service-text {
            padding-left: 3em
        }

        .main-services-area .service-group .service-text .service-body {
            max-width: 100%;
            margin-bottom: 1.5em
        }

        .contact-columns {
            display: -ms-flexbox;
            display: flex
        }

        .contact-columns .contact-form {
            margin-right: 10%;
            width: 40%
        }

        .contact-columns .contact-form input,.contact-columns .contact-form textarea {
            width: 90%
        }

        .contact-columns .contact-map {
            width: 60%
        }
    }
}

/*# sourceMappingURL=template.css-46d78c48acd9865e462a29ec66b6b6d1cbecbebb337062318a1c1ceae027f0c8.map */
