@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@600&display=swap');
@font-face {
    font-family: Gilroy;
    font-weight: 300;
    src: url("../fonts/Gilroy-Light.otf") format("opentype");
}

@font-face {
    font-family: Gilroy;
    font-weight: 800;
    src: url("../fonts/Gilroy-Extrabold.otf") format("opentype");
}

html, body {
    margin: 0;
    padding: 0;
    background-color: #fff;
}

*, *::before, *::after {
    box-sizing: border-box;
}

img {
    display: block;
    max-width: 100%;
}

a {
    text-decoration: none;
}
a.white {
    color: #fff;
    transition: color 0.3s;
}
a.white:hover {
    color: #18b097;
}
a.hover_green {
    transition: color 0.3s;
}
a.hover_green1:hover {
    color: #56ad98;
}
a.hover_green2:hover {
    color: #18b097;
}

strong {
    font-weight: 800;
}

h1, h2 {
    margin: 0 0 0.2em 0;
    font-weight: 300;
    text-align: center;
}

h4 {
    margin: 0 0 1em 0;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 300;
    text-align: center;
}

h5 {
    margin: 0 0 0.75em 0;
    line-height: 1.2;
    font-weight: 800;
}

.hover-img-15 img, .hover-span-15>span {
    transition: transform 0.35s;
}

.hover-img-15:hover img, .hover-span-15:hover>span {
    transform: scale(0.85);
}

.font-30 {
    font-size: 30px;
}

.page {
    font: 300 20px/1.65 'Gilroy', sans-serif;
    color: #000;
    overflow: hidden;
}

.container {
    max-width: 1366px;
    margin: 0 auto;
}

.section {
    padding: 0 25px;
}

.big {
    font-size: 120px;
    line-height: 1;
}

.green {
    color: #14454f;
}

p.lead {
    margin: 1em 0 3.5em 0;
    line-height: 1.3;
}

.top {
    position: relative;
    height: 100vh;
    max-height: 100vh;
    background: #1d2025 url('../images/top.jpg') no-repeat 17.75% 0;
    background-size: cover;
    overflow: hidden;
}

.top_video iframe {
    transition: opacity 500ms ease-in-out;
    transition-delay: 250ms;
}

.arrow {
    position: relative;
    display: block;
    width: 20px;
    height: 2px;
    background-color: #18b097;
}

.arrow::before, .arrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 52%;
    transform-origin: right;
    background-color: #18b097;
    content: '';
}

.arrow::before {
    transform: translate(1px, 1px) rotate(45deg);
}

.arrow::after {
    transform: translate(1px, -1px) rotate(-45deg);
}

.arrow_down {
    position: relative;
    display: block;
    width: 3px;
    height: 30px;
    background-color: #18b097;
}

.arrow_down::before, .arrow_down::after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 52%;
    transform-origin: bottom;
    background-color: #18b097;
    content: '';
}

.arrow_down::before {
    transform: translate(1px, 1px) rotate(-45deg);
}

.arrow_down::after {
    transform: translate(-1px, 1px) rotate(45deg);
}

.border_bottom {
    position: absolute;
    bottom: 0;
    left: 25px;
    right: 25px;
    height: 1px;
    background-color: #d4d4d4;
    z-index: 1;
}

.photo img {
    width: 100%;
    max-width: none;
}

@media (max-height: 559px) {
    .top {
        height: 560px;
        max-height: none;
    }
    .subscribe_form {
        bottom: 25%!important;
    }
    .subscribe_form_info {
        transform: translateY(130px)!important;
    }
}

@media (max-width: 1365px) {
    .big {
        font-size: 105px;
    }
    .font-30 {
        font-size: 28px;
    }
    h5.font-30 {
        font-size: 30px;
    }
}

@media (max-width: 1199px) {
    .page {
        font-size: 18px;
    }
    .big {
        font-size: 90px;
    }
    .font-30 {
        font-size: 26px;
    }
    h5.font-30 {
        font-size: 30px;
    }
}

@media (max-width: 1023px) {
    .big {
        font-size: 80px;
    }
    .font-30 {
        font-size: 24px;
    }
    h5.font-30 {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    .big {
        font-size: 70px;
    }
    .font-30 {
        font-size: 22px;
    }
    h5.font-30 {
        font-size: 30px;
    }

    .photo_1 {
        margin: 0 -26% 0 -31%;
    }
    .photo_2 {
        margin: 0 -19.25% 0 -45.75%;
    }
    .photo_3 {
        margin: 0 -51.25% 0 -57.25%;
    }
}

@media (max-width: 575px) {
    .page {
        font-size: 17px;
    }
    .big {
        font-size: 60px;
    }
    .font-30 {
        font-size: 21px;
    }
    h5.font-30 {
        font-size: 30px;
    }
}

@media (max-width: 420px) {
    .page {
        font-size: 16px;
        line-height: 1.75;
    }
    .big {
        font-size: 50px;
    }
    .font-30 {
        font-size: 20px;
    }
    h4 {
        margin-left: -5px;
        margin-right: -5px;
    }
    h5.font-30 {
        font-size: 30px;
    }
}

@media (max-width: 359px) {
    .big {
        font-size: 42px;
    }
    h5.font-30 {
        font-size: 27px;
    }
}


/* Top menu */
nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 32px 0;
    transition: background-color 0.3s, box-shadow 0.3s, padding 0.3s, top 0.3s;
    z-index: 999;
}

nav>div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.logo {
    display: block;
    cursor: pointer;
    transition: margin 0.3s;
}

.logo.hover-img-15 img {
    width: auto;
    max-width: none;
    height: 104px;
    filter: brightness(0) invert(1);
    transition: filter 0.3s, height 0.3s, transform 0.3s;
}

.menu-btn {
    display: none;
}

.menu-icon {
    display: none;
}

ul.top-menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 -20px;
    padding: 0;
    list-style: none;
}

ul.top-menu li {
    margin: 0;
    padding: 0 10px;
    list-style: none;
}

ul.top-menu li.li_socials {
    display: none;
}

ul.top-menu li a {
    position: relative;
    display: block;
    padding: 20px 10px;
    font: 600 14px/1.4 'Open Sans', sans-serif;
    text-transform: uppercase;
    text-align: center;
}

ul.top-menu li a span, ul.top-menu li a::before {
    display: inline-block;
    color: #fff;
    transition: color 0.3s, background-color 0.3s, opacity 0.3s, transform 0.3s;
}

ul.top-menu li a::before {
    position: absolute;
    top: 50%;
    left: 10px;
    right: 10px;
    height: 2px;
    content: "";
    background-color: #fff;
    opacity: 0;
}
ul.top-menu li a.active span, ul.top-menu li a:hover span {
    -webkit-transform: translateY(-20px);
    -moz-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    -o-transform: translateY(-20px);
    transform: translateY(-20px);
}

ul.top-menu li a.active::before, ul.top-menu li a:hover::before {
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 1;
}

nav.scrolled {
    padding: 0;
    background-color: #fff;
    box-shadow: 0 3px 5px rgba(200, 200, 200, 0.5);
}
nav.scrolled .logo {
    margin: 15px 0;
}
nav.scrolled .logo img {
    filter: none;
    height: 74px;
}
nav.scrolled ul.top-menu li a span {
    color: #000;
}
nav.scrolled ul.top-menu li a::before {
    background-color: #000;
}

ul.top-menu li a:hover::before,
nav.scrolled ul.top-menu li a:hover::before {
    background-color: #18b097;
}
ul.top-menu li a:hover span,
nav.scrolled ul.top-menu li a:hover span {
    color: #18b097;
}

@media (max-width: 1365px) {
    nav {
        padding: 28px 0;
    }
    .logo.hover-img-15 img {
        height: 94px;
    }
    nav.scrolled .logo {
        margin: 14px 0;
    }
    nav.scrolled .logo img {
        height: 66px;
    }
}

@media (max-width: 1199px) {
    nav {
        padding: 25px 0;
    }
    .logo.hover-img-15 img {
        height: 84px;
    }
    nav.scrolled .logo {
        margin: 12px 0;
    }
    nav.scrolled .logo img {
        height: 60px;
    }
}

@media (max-width: 991px) {
    nav>div {
        flex-wrap: wrap;
    }
    
    .logo.hover-img-15 img {
        height: 54px;
    }
    .logo, nav.scrolled .logo {
        margin: 12px 0;
    }
    nav.scrolled .logo img {
        height: 54px;
    }

    ul.top-menu {
        display: block;
        width: calc(100% + 50px);
        margin: 0 -25px;
        overflow: hidden;
        background-color: #fff;
        max-height: 0;
        transition: max-height .2s ease-out, padding .2s ease-out;
    }
    ul.top-menu li {
        text-align: center;
    }
    ul.top-menu li a {
        display: inline-block;
        padding: 15px 25px;
    }
    ul.top-menu li a span {
        color: #000;
    }
    ul.top-menu li a.active span, 
    nav.scrolled ul.top-menu li a.active span, 
    ul.top-menu li a:hover span, 
    nav.scrolled ul.top-menu li a:hover span {
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        transform: none;
        color: #14454f;
    }
    ul.top-menu li a:hover span, 
    nav.scrolled ul.top-menu li a:hover span, 
    ul.top-menu li a.active:hover span, 
    nav.scrolled ul.top-menu li a.active:hover span {
        color: #18b097;
    }
    ul.top-menu li a.active::before, ul.top-menu li a:hover::before {
        display: none;
    }
    .menu-icon {
        position: relative;
        display: block;
        padding: 28px 20px;
        cursor: pointer;
        user-select: none;
    }
    .menu-icon .navicon {
        background: #fff;
        display: block;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        position: relative;
        transition: background .3s ease-out;
    }
    .menu-icon .navicon:before, .menu-icon .navicon:after {
        position: absolute;
        display: block;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        content: '';
        background: #fff;
        transition: all .3s ease-out;
    }
    nav.scrolled .menu-icon .navicon, 
    nav.scrolled .menu-icon .navicon:before, 
    nav.scrolled .menu-icon .navicon:after {
        background: #14454f;
    }
    .menu-icon .navicon:before {
        transform: translateY(-15px);
    }
    .menu-icon .navicon:after {
        transform: translateY(15px);
    }
    .menu-icon:hover .navicon:before {
        transform: translateY(15px);
    }
    .menu-icon:hover .navicon:after {
        transform: translateY(-15px);
    }
    .menu-btn:checked~ul.top-menu {
        max-height: 500px;
        padding-top: 15px;
    }
    .menu-btn:checked~.menu-icon .navicon, 
    .menu-btn:checked~.menu-icon .navicon:before, 
    .menu-btn:checked~.menu-icon .navicon:after,
    nav.scrolled .menu-btn:checked~.menu-icon .navicon, 
    nav.scrolled .menu-btn:checked~.menu-icon .navicon:before, 
    nav.scrolled .menu-btn:checked~.menu-icon .navicon:after {
        background: #18b097;
    }
    .menu-btn:checked~.menu-icon:not(.steps) .navicon:before, .menu-btn:checked~.menu-icon:not(.steps) .navicon:after {
        top: 0;
    }
    
    ul.top-menu li.li_socials {
        display: block;
        padding-top: 25px;
    }
    ul.top-menu li.li_socials a {
        padding: 0;
        margin: 10px 15px 15px 15px;
    }
    ul.top-menu li.li_socials img {
        filter: invert(1);
    }
}



.banner_header {
    position: absolute;
    top: 55%;
    left: 0;
    right: 0;
    width: 100%;
    color: #fff;
    transform: translateY(-50%);
}

.banner_scrolldown {
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    width: 23px;
    height: 30px;
    padding: 0 10px;
    margin: 0 auto;
}

.banner_socials {
    position: absolute;
    top: 50%;
    right: 25px;
    width: 54px;
    transform: translateY(-50%);
}

.banner_socials a {
    display: block;
    margin: 20px 0;
}

.subscribe_form {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    bottom: 30px;
    left: 50%;
    right: 0;
    max-width: 650px;
    padding-left: 100px;
    margin: -5px 0;
}

.subscribe_form label, .subscribe_form_box {
    padding: 5px 0;
}

.subscribe_form label {
    padding-right: 36px;
    color: #fff;
    white-space: nowrap;
}

.subscribe_form_box {
    position: relative;
    width: 240px;
}
.subscribe_form_box input {
    position: relative;
    display: block;
    width: 100%;
    padding: 0.5em 35px 0.5em 0;
    border: none;
    border-bottom: solid 2px #848587;
    background-color: transparent;
    color: #fff;
    font-size: 14px;
    outline: none;
    transition: border-color 0.25s;
}
.subscribe_form_box input:focus {
    border-bottom-color: #f7f7f7;
}
.subscribe_form_box ::placeholder {
    color: #898a8c;
}
.subscribe_form_box button {
    position: absolute;
    right: 0;
    top: calc(50% - 1px);
    width: 20px;
    height: 32px;
    padding: 15px 0;
    background-color: transparent;
    border: none;
    outline: none;
    cursor: pointer;
    transform: translateY(-50%);
}

.subscribe_form_info {
    width: 100%;
    text-align: right;
}
.subscribe_form .alert {
    margin: 0.75em 0 0 0;
    font-size: 16px;
    line-height: 1.3;
}
.subscribe_form .alert_info {
    color: #fff;
}
.subscribe_form .alert_success {
    color: #18b097;
}
.subscribe_form .alert_error {
    color: #f01209;
}


@media (max-width: 1199px) {
    .subscribe_form label,
    .subscribe_form_info {
        width: 240px;
        text-align: left;
    }
}

@media (max-width: 1023px) {
    .youtube-background {
        display: none;
    }
}

@media (max-width: 991px) {
    .banner_socials {
        display: none;
    }
}

@media (max-width: 767px) {
    .banner_header {
        top: 35%;
        text-align: center;
    }
    .subscribe_form {
        flex-direction: column-reverse;
        justify-content: center;
        bottom: 23%;
        left: 0;
        max-width: none;
        padding-left: 25px;
        text-align: center;
    }
    .subscribe_form_box {
        width: 300px;
        max-width: 100%;
    }
    .subscribe_form label, .subscribe_form_box {
        padding: 0;
    }
    .subscribe_form_box input {
        font-size: 18px;
    }
    .subscribe_form label {
        width: auto;
        font-size: 20px;
    }
    .subscribe_form_box button {
        transform: scale(1.15) translateY(-50%);
        transform-origin: right;
    }
    .subscribe_form_info {
        width: 300px;
        text-align: center;
        transform: translateY(135px);
    }
    .subscribe_form .alert {
        font-size: 18px;
    }
}


/* Development */
#development {
    position: relative;
    padding-top: 245px;
    text-align: center;
}

.green_label {
    position: absolute;
    top: 0;
    left: 0;
    width: 32%;
    min-width: 285px;
    text-align: left;
    transform: translateY(-60%);
}

.green_label p {
    margin: 0 0 0 -500px;
    padding: 1.8em 0 1.65em 500px;
    background-color: #18b097;
    font-size: 18px;
    line-height: 1.3;
    color: #fff;
}

.development_img {
    position: relative;
}

.development_img::before {
    position: absolute;
    top: 42%;
    bottom: 0;
    left: -5000px;
    right: -5000px;
    background-color: #f7f7f7;
    content: '';
}

.development_img img {
    position: relative;
    margin: 0 auto;
    z-index: 1;
}

.bg_grey, .bg_black {
    position: relative;
}

.bg_grey {
    background-color: #f7f7f7;
}

.bg_black {
    background-color: #000;
    color: #fff;
}

.bg_grey::before, .bg_grey::after, .bg_black::before, .bg_black::after {
    position: absolute;
    top: 0;
    width: 5000px;
    height: 100%;
    content: '';
}
.bg_grey::before, .bg_grey::after {
    background-color: #f7f7f7;
}
.bg_black::before, .bg_black::after {
    background-color: #000;
}
.bg_grey::before, .bg_black::before {
    left: -5000px;
}
.bg_grey::after, .bg_black::after {
    right: -5000px;
}

p.development_txt {
    position: relative;
    padding: 2em 0 4.5em 0;
    margin: 0 auto;
    max-width: 1200px;
    z-index: 1;
}

.development_icons {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    margin: -13px;
}

.development_icons::before {
    position: absolute;
    top: 0;
    left: -5000px;
    right: -5000px;
    height: 35%;
    background-color: #f7f7f7;
    content: '';
}

.development_icon {
    position: relative;
    width: 25%;
    padding: 13px;
    z-index: 1;
}

.development_icon_inner {
    height: 100%;
    padding: 50px 15px 32px 15px;
    background-color: #18b097;
    color: #fff;
}

.development_icon_inner img {
    margin: 0 auto;
}

.development_icon_inner p {
    margin: 1.2em 0 0 0;
    line-height: 1.05;
}

.development_video {
    position: relative;
    max-width: 1112px;
    margin: 0 auto;
    padding-top: 95px;
}

.development_video_inner {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    z-index: 1;
}
.development_video_inner::before {
    position: absolute;
    bottom: 0;
    left: -5000px;
    right: -5000px;
    height: 95px;
    background-color: #f7f7f7;
    content: '';
}

.development_video_inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.development_segments {
    max-width: 1170px;
    margin: 0 auto;
    padding: 80px 0 70px 0;
}

.segments_row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 -30px -30px -30px;
}

.segments_col {
    padding: 60px 30px 30px 30px;
}

.segments_col_txt {
    display: flex;
    align-self: center;
    text-align: left;
    width: 40%;
}

.segments_header {
    margin: -1.25em 0 0 0;
    font-size: 50px;
    line-height: 1.1;
}
.header_smaller {
    font-size: 0.8em;
}
.segments_subheader {
    margin: 1em 0 0 0;
    font-size: 30px;
    line-height: 1.05;
}

.segments_txt {
    margin: 2em 0 0 0;
}

.segments_col_img {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%;
    max-width: 330px;
    font-size: 30px;
    line-height: 1.2;
}

.segments_col_img img {
    margin: 0 auto;
}

.segment_floor {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    font-weight: 800;
    color: #18b097;
    text-transform: uppercase;
}

@media (max-width: 1365px) {
    #development {
        padding-top: 225px;
    }
}

@media (max-width: 1199px) {
    #development {
        padding-top: 200px;
    }
    p.development_txt {
        padding-bottom: 4em;
    }
    .segments_header {
        font-size: 45px;
    }
}

@media (max-width: 1023px) {
    #development {
        padding-top: 180px;
    }
    p.development_txt {
        padding-bottom: 3.5em;
    }
    .development_icons_outer {
        max-width: 700px;
        margin: 0 auto;
    }
    .development_icons.font-30 {
        font-size: 30px;
    }
    .development_icon {
        width: 50%;
        max-width: 330px;
    }
    .development_video {
        padding-top: 85px;
    }

    .segments_row {
        justify-content: space-around;
    }
    .segments_col.segments_col_txt {
        order: 3;
        width: 100%;
        margin-top: 30px;
        text-align: center;
    }
    .segments_col.segments_col_img {
        width: 50%;
    }
}

@media (max-width: 767px) {
    .green_label {
        width: 100%;
        margin: 0;
        padding: 0;
        text-align: center;
        transform: none;
    }

    #development {
        padding-top: 230px;
    }
    #development p.lead {
        margin-bottom: 1.5em;
    }
    .development_img {
        margin: 0 -25px;
    }
    p.development_txt {
        padding-bottom: 3em;
    }

    .development_video {
        padding-top: 75px;
        padding-bottom: 45px;
    }
    .development_video_inner::before {
        display: none;
    }
    .development_icons {
        margin: -10px;
    }
    .development_icon {
        width: 100%;
        padding: 10px;
    }
    .development_segments {
        padding: 35px 0 60px 0;
    }
}

@media (max-width: 575px) {
    #development {
        padding-top: 220px;
    }
    .development_video {
        padding-top: 65px;
    }
    .development_icons::before {
        height: calc(100% - 10px);
    }
    .development_icons {
        margin: -8px;
    }
    .development_icon {
        width: 100%;
        padding: 8px;
    }

    .segments_col.segments_col_img {
        width: 100%;
    }
    .segments_col_img + .segments_col_img {
        margin-top: 40px;
    }
}

@media (max-width: 420px) {
    #development {
        padding-top: 210px;
    }
    .development_video {
        padding-top: 55px;
    }
    p.development_txt {
        margin: 0 -5px;
    }
    .development_segments {
        padding-bottom: 50px;
    }
    .segments_col_txt_inner {
        margin: -5px 0;
    }
    .segments_header {
        font-size: 40px;
    }
}


/* Gallery */
#gallery {
    padding-top: 185px;
    padding-bottom: 145px;
    text-align: center;
}

#gallery p.lead {
    line-height: 1.65;
}

.gallery_slider .owl-item {
    position: relative;
    background-color: #e9e9e9;
}

.gallery_slider .owl-item::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.75);
    cursor: pointer;
    content: '';
}

.gallery_slider .owl-item.active::after {
    display: none;
}

.gallery_slider .owl-item img {
    filter: grayscale(100%);
}

.gallery_slider .owl-item.active img {
    filter: none;
}

.gallery_slider .owl-carousel .owl-nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.gallery_slider .owl-carousel .owl-nav button.owl-prev, .gallery_slider .owl-carousel .owl-nav button.owl-next {
    outline: none;
    font-size: 0;
}

.gallery_slider .owl-carousel .owl-nav button.owl-prev {
    transform: translate(-10px, 20px) rotate(90deg);
}

.gallery_slider .owl-carousel .owl-nav button.owl-next {
    transform: translate(10px, 20px) rotate(-90deg);
}

.gallery_slider .owl-carousel .owl-nav button.owl-prev>span, .gallery_slider .owl-carousel .owl-nav button.owl-next>span {
    display: inline-block;
    padding: 0 10px;
    cursor: pointer;
}

@media (min-width: 1366px) {
    .gallery_slider {
        position: relative;
        left: 50%;
        width: 1920px;
        transform: translateX(-50%);
    }
}

@media (max-width: 1365px) {
    #gallery {
        padding-top: 150px;
        padding-bottom: 125px;
    }
    #gallery p.lead {
        margin-bottom: 3em;
    }    
    .gallery_slider .owl-carousel .owl-nav {
        max-width: calc(100% - 150px);
    }
}

@media (max-width: 1199px) {
    #gallery {
        padding-top: 130px;
        padding-bottom: 105px;
    }
    #gallery p.lead {
        margin-bottom: 3em;
    }    
    .gallery_slider .owl-carousel .owl-nav {
        max-width: calc(100% - 80px);
    }
}

@media (max-width: 1023px) {
    #gallery {
        padding-top: 110px;
        padding-bottom: 90px;
    }
    #gallery p.lead {
        margin-bottom: 2.5em;
    }    
    .gallery_slider .owl-carousel .owl-nav {
        max-width: calc(100% - 140px);
    }
}

@media (max-width: 767px) {
    #gallery {
        padding-top: 100px;
        padding-bottom: 70px;
    }
    #gallery p.lead {
        margin-bottom: 2em;
    }    
    .gallery_slider .owl-carousel .owl-nav {
        max-width: calc(100% - 120px);
    }
}

@media (max-width: 575px) {
    #gallery {
        padding-top: 90px;
        padding-bottom: 60px;
    }
    #gallery p.lead {
        margin-bottom: 1.75em;
    }    
    .gallery_slider .owl-carousel .owl-nav {
        max-width: calc(100% - 100px);
    }
    .gallery_slider .owl-carousel .owl-nav button.owl-prev {
        transform: translate(-10px, 15px) rotate(90deg);
    }
    .gallery_slider .owl-carousel .owl-nav button.owl-next {
        transform: translate(10px, 15px) rotate(-90deg);
    }
}

@media (max-width: 420px) {
    #gallery {
        padding-top: 80px;
        padding-bottom: 50px;
    }
    #gallery p.lead {
        margin-bottom: 1.5em;
    }    
    .gallery_slider .owl-carousel .owl-nav {
        max-width: calc(100% - 80px);
    }
    .gallery_slider .owl-carousel .owl-nav button.owl-prev {
        transform: translate(-10px, 10px) rotate(90deg);
    }
    .gallery_slider .owl-carousel .owl-nav button.owl-next {
        transform: translate(10px, 10px) rotate(-90deg);
    }
}


/* Localization */
#localization {
    padding-top: 155px;
    padding-bottom: 25px;
    text-align: center;
}

.localization_map_row {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    justify-content: center;
}

.localization_map_link {
    display: none;
    padding: 35px 0 15px 0;
}

.localization_map_legend {
    width: 248px;
    min-width: 248px;
}

@media (max-width: 1365px) {
    #localization {
        padding-top: 130px;
    }
    #localization p.lead {
        margin-bottom: 3.25em;
    }
}

@media (max-width: 1199px) {
    #localization {
        padding-top: 115px;
    }
    #localization p.lead {
        margin-bottom: 3em;
    }
}

@media (max-width: 1023px) {
    #localization {
        padding-top: 100px;
        padding-bottom: 45px;
    }
    #localization p.lead {
        margin-bottom: 2.5em;
    }
    .localization_map_row {
        flex-direction: column;
        align-items: center;
    }
    .localization_map {
        margin: 0 -25px;
        overflow: hidden;
    }
    .localization_map_link {
        display: block;
    }
}

@media (max-width: 767px) {
    #localization {
        padding-top: 100px;
    }
    #localization p.lead {
        margin-bottom: 2em;
    }
    .localization_map_img {
        width: 177%;
        margin: -12% 0 -14% 0;
        transform: translateX(-13.5%);
    }
    .localization_map_img img {
        margin: 0 auto;
    }
}

@media (max-width: 575px) {
    #localization {
        padding-top: 90px;
    }
    #localization p.lead {
        margin-bottom: 1.5em;
    }
}

@media (max-width: 420px) {
    #localization {
        padding-top: 80px;
    }
    #localization p.lead {
        margin-bottom: 1.25em;
    }
}


/* Financing */
#financing {
    padding-top: 215px;
    padding-bottom: 105px;
    text-align: center;
}

.financing_logo {
    display: block;
    max-width: 619px;
    margin: 0 auto;
}

.financing_logo img {
    margin: 0 auto;
}

.financing_txt {
    max-width: 1120px;
    margin: 2em auto;
    line-height: 1.25;
}

#financing .link_navygreen {
    margin: 0;
}

.link_navygreen a, .link_navygreen button {
    color: #14454f;
    font-size: 24px;
    line-height: 1.3;
    text-transform: uppercase;
    transition: color 0.3s;
}
.link_navygreen a:hover, .link_navygreen button:hover {
    color: #18b097;
}

.link_navygreen .arrow {
    display: inline-block;
    margin-left: 0.5em;
    vertical-align: middle;
    transform: scale(0.8) translateY(-0.1em);
}

.link_navygreen .hover-span-15:hover>span.arrow {
    transform: scale(0.68) translateY(-0.1em);
}

.link_navygreen .arrow, .link_navygreen .arrow::before, .link_navygreen .arrow::after {
    background-color: #14454f;
    transition: background-color 0.3s;
}
.link_navygreen a:hover .arrow, .link_navygreen a:hover .arrow::before, .link_navygreen a:hover .arrow::after,
.link_navygreen button:hover .arrow, .link_navygreen button:hover .arrow::before, .link_navygreen button:hover .arrow::after {
    background-color: #18b097;
}

@media (max-width: 1365px) {
    #financing {
        padding-top: 140px;
        padding-bottom: 110px;
    }
    #financing p.lead {
        margin-bottom: 3em;
    }
}

@media (max-width: 1199px) {
    #financing {
        padding-top: 125px;
        padding-bottom: 100px;
    }
    #financing p.lead {
        margin-bottom: 2.5em;
    }
}

@media (max-width: 1023px) {
    #financing {
        padding-top: 110px;
        padding-bottom: 90px;
    }
    #financing p.lead {
        margin-bottom: 2em;
    }
}

@media (max-width: 767px) {
    #financing {
        padding-top: 95px;
        padding-bottom: 85px;
    }
    .financing_logo {
        margin: 0 -25px;
    }
    #financing p.lead {
        margin-bottom: 1.75em;
    }
    .financing_txt {
        margin-top: 1.75em;
    }
}

@media (max-width: 575px) {
    #financing {
        padding-top: 85px;
    }
    #financing p.lead {
        margin-bottom: 1.5em;
    }
    .financing_txt {
        margin-top: 1.5em;
    }
}

@media (max-width: 420px) {
    #financing {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    #financing p.lead {
        margin-bottom: 1.25em;
    }
    .financing_txt {
        margin-top: 1.25em;
    }
}

@media (max-width: 359px) {
    #financing .link_navygreen {
        margin: 0 -15px;
        font-size: 22px;
    }
    .link_navygreen .arrow {
        margin-left: 0.3em;
    }
}


/* Contact */
#contact {
    position: relative;
    padding-top: 140px;
    padding-bottom: 75px;
    font-size: 20px;
    text-align: center;
}

.contact_persons {
    margin: 0 -25px;
    padding-top: 25px;
    padding-bottom: 25px;
    background-color: #14454f;
    color: #fff;
    font-size: 20px;
    line-height: 1.5;
}
.contact_persons_header {
    font-size: 24px;
}
.contact_persons_header.font-30 {
    font-size: 30px;
}

.contact_persons_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: -15px;
}

.contact_persons_row>div {
    padding: 15px;
}

.contact_persons a {
    color: #fff;
}

.contact_persons_header {
    margin: 0;
    line-height: 1.2;
    font-weight: 800;
}

.contact_person {
    display: flex;
    align-items: center;
}

.contact_person_img {
    width: 180px;
    min-width: 180px;
}

.contact_person_img img {
    border-radius: 50%;
}

.contact_person_txt {
    white-space: nowrap;
    text-align: left;
}

.contact_data_row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-top: 100px;
    margin: -25px;
}

.contact_data_col {
    padding: 25px;
}

.contact_data_col_txt {
    width: 350px;
    min-width: 350px;
    text-align: left;
    line-height: 1.25;
}
.contact_data_col_txt p {
    margin-bottom: 0;
}
.contact_data_col_txt a {
    color: #000;
}

.contact_data_col_map {
    width: 475px;
}

.contact_map_box {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 54.117647%;
    box-shadow: -50px 40px 70px rgba(100, 100, 100, 0.25), 2px -2px 5px rgba(100, 100, 100, 0.05);
}

.contact_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    outline: none;
}

.contact_form_row {
    display: flex;
    margin: -9px;
}

.contact_form_col {
    padding: 9px;
}

.contact_form_col:first-child {
    width: 410px;
    min-width: 410px;
}

.contact_form_col:last-child {
    width: 100%;
}

.contact_form input, .contact_form textarea {
    display: block;
    width: 100%;
    padding: 0.5em 1em;
    border: solid 1px #c6c6c6;
    background-color: transparent;
    color: #7f7f7f;
    font: 300 20px/1.25 'Gilroy', sans-serif;
    transition: border-color 0.3s, color 0.3s;
    outline: none;
}
.contact_form input:focus, .contact_form textarea:focus {
    border-color: #898a8c;
    color: #6f6f6f;
}

.contact_form input+input {
    margin-top: 18px;
}

.contact_form textarea {
    height: 0;
    min-height: 177px;
    max-height: 365px;
    resize: none;
}

.contact_agreement input {
    display: none;
}

.contact_agreement label {
    position: relative;
    display: block;
    margin: 20px 0 0 50px;
    font-size: 14px;
    line-height: 1.4;
    color: #7f7f7f;
}

.contact_agreement label::before {
    position: absolute;
    top: 0;
    left: -50px;
    width: 22px;
    height: 22px;
    border: solid 1px #c6c6c6;
    content: '';
}

.contact_agreement input:checked+label::after {
    position: absolute;
    top: 2px;
    left: -43px;
    width: 8px;
    height: 16px;
    border-right: solid 3px #14454f;
    border-bottom: solid 3px #14454f;
    transform: rotate(30deg) skewY(10deg);
    content: '';
}

.contact_form input.invalid,
.contact_form textarea.invalid,
.contact_form input.invalid:focus,
.contact_form textarea.invalid:focus,
.contact_agreement input.invalid+label::before {
    border-color: #f01209;
}

.contact_form_info {
    text-align: center;
}
.contact_form .alert {
    margin: 1.25em 0;
    font-size: 18px;
    line-height: 1.3;
}
.contact_form .alert_info {
    color: #14454f;
}
.contact_form .alert_success {
    color: #18b097;
}
.contact_form .alert_error {
    color: #f01209;
}

.contact_submit {
    margin: 30px 0 0 0;
    text-align: right;
}

.contact_submit button {
    background-color: transparent;
    border: none;
    outline: none;
    cursor: pointer;
}

@media (min-width: 1366px) {
    .contact_persons>div:first-child {
        padding-left: 10px;
    }
    .contact_persons>div:last-child {
        padding-right: 40px;
    }
}

@media (max-width: 1365px) {
    #contact {
        padding-top: 130px;
    }
    #contact p.lead {
        margin-bottom: 3.25em;
    }
    .contact_data_row {
        padding-top: 95px;
    }
    .contact_persons_row {
        justify-content: space-around;
        padding: 15px 0;
    }
    .contact_persons {
        font-size: 24px;
    }
    .contact_persons_header {
        width: 100%;
        margin-bottom: 10px;
        font-size: 30px;
        text-align: center;
    }
}

@media (max-width: 1199px) {
    #contact {
        padding-top: 120px;
    }
    #contact p.lead {
        margin-bottom: 3em;
    }
    .contact_data_section {
        max-width: 800px;
        margin: 0 auto;
    }
    .contact_data_row {
        justify-content: space-around;
        flex-wrap: wrap;
        padding-top: 90px;
    }
    .contact_data_col_map {
        order: 3;
        width: 100%;
    }
    .contact_map {
        max-width: 560px;
        margin: 0 auto;
    }
}

@media (max-width: 1023px) {
    #contact {
        padding-top: 110px;
    }
    #contact p.lead {
        margin-bottom: 2.75em;
    }
    .contact_data_row {
        padding-top: 80px;
    }
    .contact_form_row {
        flex-wrap: wrap;
    }
    .contact_form_col:first-child {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 767px) {
    #contact {
        padding-top: 100px;
        padding-bottom: 70px;
    }
    #contact p.lead {
        margin-bottom: 2.25em;
    }
    .contact_persons {
        padding-bottom: 45px;
    }
    .contact_data_row {
        padding-top: 65px;
    }
    .contact_data_col_txt {
        width: 100%;
        min-width: 0;
        text-align: center;
    }
    .contact_data_col_map {
        order: 0;
        margin: -20px 0 30px 0;
    }
    .contact_agreement label {
        font-size: 12px;
    }
    .contact_agreement label::before {
        width: 38px;
        height: 38px;
    }
    .contact_agreement input:checked+label::after {
        top: 3px;
        left: -38px;
        width: 14px;
        height: 27px;
        border-right-width: 4px;
        border-bottom-width: 4px;
        transform: rotate(25deg) skewY(10deg);
    }
    .contact_submit {
        margin-top: 40px;
        text-align: center;
    }
}

@media (min-width: 680px) and (max-width: 1023px), (max-width: 575px) {
    .contact_person {
        flex-direction: column;
        justify-content: center;
    }
    .contact_person_img img {
        margin: 0 auto;
    }
    .contact_person {
        min-width: 280px;
    }
    .contact_person_txt {
        margin-top: 1em;
        text-align: center;
    }
    .contact_persons_header {
        font-size: 30px;
    }
}

@media (max-width: 679px) {
    .contact_person + .contact_person {
        margin-top: 15px;
    }
}

@media (max-width: 575px) {
    #contact {
        padding-top: 90px;
    }
    #contact p.lead {
        margin-bottom: 2em;
    }
    .contact_agreement label {
        font-size: 11px;
    }
}

@media (max-width: 420px) {
    #contact {
        padding-top: 80px;
    }
    #contact p.lead {
        margin-bottom: 1.75em;
    }
    .contact_persons {
        margin: 0 -30px;
    }
    .contact_data_col_map {
        margin: -25px 0 25px 0;
    }
}

@media (max-width: 359px) {
    .contact_persons {
        font-size: 20px;
    }
    .contact_persons_header {
        font-size: 24px;
    }
}


/* Contact us */
#contact_us {
    padding-top: 50px;
    padding-bottom: 160px;
}

@media (max-width: 767px) {
    #contact_us {
        padding-top: 65px;
        padding-bottom: 30px;
    }
    #contact_us h5 {
        text-align: center;
    }
}


/* Footer */
#footer {
    padding-top: 20px;
    padding-bottom: 25px;
    font-size: 14px;
}

.footer_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: -23px;
}
.footer_col {
    padding: 23px;
}

@media (max-width: 767px) {
    #footer {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .footer_row {
        flex-direction: column;
    }
    .footer_col {
        width: 100%;
        max-width: 300px;
        text-align: center;
    }
}