/*  ==========================================================================
    Base styles: opinionated defaults
    ==========================================================================  */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

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

iframe {
  border: 0;
  margin: 0;
  padding: 0; }

::-moz-selection {
  background: rgba(124, 187, 170, 0.98);
  color: #fff;
  text-shadow: none; }

::selection {
  background: rgba(124, 187, 170, 0.98);
  color: #fff;
  text-shadow: none; }

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

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

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

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

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

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-slide {
  outline: none; }

.slick-dots {
  text-align: center; }
  .slick-dots li {
    display: inline-block;
    padding: 0 5px; }
  .slick-dots button {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    width: 12px;
    height: 12px;
    border: none;
    text-indent: -99999px;
    overflow: hidden;
    background: rgba(2, 63, 64, 0.3);
    border-radius: 100%;
    outline: none;
    cursor: pointer; }
  .slick-dots .slick-active button {
    background: #023f40; }

/*	==============================================
	Animate.css
	==============================================	*/
/*!
Animate.css - http://daneden.me/animate
Version - 3.4.0
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/
.animated {
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

/*	==============================================
 	Fade in
 	==============================================	*/
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

/*	==============================================
	Fade in up
	==============================================	*/
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

/*	==============================================
	Fade in down
	==============================================	*/
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20%, 0);
    transform: translate3d(0, -20%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

/*	==============================================
	Fade in left
	==============================================	*/
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

/*	==============================================
	Fade in right
	==============================================	*/
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(20%, 0, 0);
    transform: translate3d(20%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(20%, 0, 0);
    transform: translate3d(20%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

/*	==============================================
	Zoom in
	==============================================	*/
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  100% {
    opacity: 1; } }
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  100% {
    opacity: 1; } }
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

/*  ==========================================================================
    Main layout
    ==========================================================================  */
html {
  font-size: 16px; }

body {
  font-family: "Montserrat", "helvetica", "sans-serif";
  font-size: 1rem;
  line-height: 1.4;
  color: #023f40;
  background: #fff; }

.no_scroll {
  overflow: hidden; }

.page {
  padding-top: 100px; }

.container {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 80px; }
  @media all and (max-width: 1100px) {
    .container {
      padding: 0 60px; } }
  @media all and (max-width: 800px) {
    .container {
      padding: 0 40px; } }
  @media all and (max-width: 600px) {
    .container {
      padding: 0 20px; } }

.container--relative {
  position: relative; }

.container--small {
  max-width: 1000px; }

.section {
  margin: 120px 0; }
  @media all and (max-width: 1100px) {
    .section {
      margin: 80px 0; } }
  @media all and (max-width: 600px) {
    .section {
      margin: 60px 0; } }

/*  ==========================================================================
    Fonts
    ==========================================================================  */
/*  ==========================================================================
    Typography
    ==========================================================================  */
.title {
  font-size: 38px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: -1px;
  color: #023f40; }
  @media all and (max-width: 1100px) {
    .title {
      font-size: 30px;
      line-height: 40px; } }
  @media all and (max-width: 600px) {
    .title {
      font-size: 24px;
      line-height: 34px; } }

.title--xsmall {
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0; }
  @media all and (max-width: 1100px) {
    .title--xsmall {
      font-size: 18px;
      line-height: 28px; } }
  @media all and (max-width: 600px) {
    .title--xsmall {
      font-size: 16px;
      line-height: 26px; } }

.title--small {
  font-size: 22px;
  line-height: 32px;
  letter-spacing: -0.5px; }
  @media all and (max-width: 1100px) {
    .title--small {
      font-size: 20px;
      line-height: 30px; } }
  @media all and (max-width: 600px) {
    .title--small {
      font-size: 18px;
      line-height: 28px; } }

.title--large {
  font-size: 60px;
  line-height: 70px; }
  @media all and (max-width: 1100px) {
    .title--large {
      font-size: 50px;
      line-height: 60px; } }
  @media all and (max-width: 600px) {
    .title--large {
      font-size: 40px;
      line-height: 50px; } }

.title--light {
  color: #ffffff !important; }

.text, .list__item {
  font-size: 16px;
  font-weight: 500;
  line-height: 26px;
  color: #678c8c; }
  @media all and (max-width: 600px) {
    .text, .list__item {
      font-size: 14px;
      line-height: 24px; } }

.text--small {
  font-size: 14px;
  font-weight: 400;
  line-height: 24px; }

.text--large {
  font-size: 20px;
  line-height: 30px; }
  @media all and (max-width: 1100px) {
    .text--large {
      font-size: 18px;
      line-height: 28px; } }
  @media all and (max-width: 600px) {
    .text--large {
      font-size: 16px;
      line-height: 26px; } }

.text--light {
  color: #9ab2b3 !important; }

.list__item {
  position: relative;
  padding: 5px 0 5px 30px; }
  .list__item::before {
    content: "";
    display: block;
    position: absolute;
    top: 21px;
    left: 0;
    width: 15px;
    height: 1px;
    background: #023f40; }
  .list--plus .list__item {
    padding: 5px 0 5px 20px; }
  .list--plus .list__item::before {
    content: "+";
    top: 4px;
    width: auto;
    height: auto;
    color: #023f40;
    background: none; }
    @media all and (max-width: 600px) {
      .list--plus .list__item::before {
        top: 5px; } }

.link {
  font-weight: 500;
  color: #023f40;
  text-decoration: underline; }
  .link:hover {
    text-decoration: none; }

.link--light {
  color: #fff; }

sup {
  font-size: 50%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.75em; }

/*  ==========================================================================
    Btn
    ==========================================================================  */
.btn_container {
  display: block; }

.btn_container--inline {
  display: inline-block; }

.btn_container--center {
  text-align: center; }

.btn {
  display: inline-block;
  position: relative;
  padding: 30px 55px 30px 50px;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  -webkit-transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53);
  transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53); }
  @media all and (max-width: 1100px) {
    .btn {
      padding: 25px 50px 25px 45px;
      font-size: 10px; } }
  .btn span {
    position: relative;
    z-index: 3; }
  .btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 5%;
    background-image: url("../img/btn_dark_before.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53);
    transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53); }
  .btn:hover::before {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95); }
  .btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 7%;
    right: 3%;
    bottom: 3%;
    left: 0;
    background-image: url("../img/btn_dark_after.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 2;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53);
    transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53); }
  .btn:hover::after {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: scale(1.01);
    -ms-transform: scale(1.01);
    transform: scale(1.01); }

.btn--light::before {
  background-image: url("../img/btn_light_before.svg"); }
.btn--light::after {
  background-image: url("../img/btn_light_after.svg"); }

.btn.loading {
  pointer-events: none;
  opacity: .3; }

/*  ==========================================================================
    Burger
    ==========================================================================  */
.navbar__burger {
  display: none; }
  @media all and (max-width: 1100px) {
    .navbar__burger {
      display: block;
      position: absolute;
      top: 35px;
      right: 0; } }

.navbar__burger a {
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  width: 70px;
  height: 40px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }
  .navbar__burger a span {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 25px;
    height: 2px;
    background-color: #fff; }
  .navbar__burger a span::before, .navbar__burger a span::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 25px;
    height: 2px;
    background-color: #fff;
    -webkit-transform: translateY(-6px);
    -ms-transform: translateY(-6px);
    transform: translateY(-6px);
    -webkit-transition: all .1s;
    /* IE 10, Fx 16+, Op 12.1+ */
    transition: all .1s;
    /* IE 10, Fx 16+, Op 12.1+ */ }
  .navbar__burger a span::after {
    -webkit-transform: translateY(6px);
    -ms-transform: translateY(6px);
    transform: translateY(6px); }

.nav_is_open .navbar__burger a span {
  background: none; }
.nav_is_open .navbar__burger a span::before {
  background-color: #023f40;
  width: 25px;
  -webkit-transform: translateY(0) translateX(-4px) rotate(45deg) !important;
  -ms-transform: translateY(0) translateX(-4px) rotate(45deg) !important;
  transform: translateY(0) translateX(-4px) rotate(45deg) !important; }
.nav_is_open .navbar__burger a span::after {
  background-color: #023f40;
  width: 25px;
  -webkit-transform: translateY(0) translateX(-4px) rotate(-45deg) !important;
  -ms-transform: translateY(0) translateX(-4px) rotate(-45deg) !important;
  transform: translateY(0) translateX(-4px) rotate(-45deg) !important; }

.shrink_nav .navbar__burger a span {
  background-color: #023f40; }
.shrink_nav .navbar__burger a span::before {
  background-color: #023f40; }
.shrink_nav .navbar__burger a span::after {
  background-color: #023f40; }

.shrink_nav.nav_is_open .navbar__burger a span {
  background: none; }
.shrink_nav.nav_is_open .navbar__burger a span::before {
  background-color: #023f40; }
.shrink_nav.nav_is_open .navbar__burger a span::after {
  background-color: #023f40; }

/*  ==========================================================================
    Navigation
    ==========================================================================  */
/*  Navbar
    ----------------------------------  */
.navbar {
  position: fixed;
  width: 100%;
  height: 100px;
  background: rgba(255, 255, 255, 0);
  border-bottom: 1px solid rgba(238, 238, 238, 0);
  z-index: 100;
  -webkit-transition: all .2s;
  transition: all .2s; }
  @media all and (max-width: 1100px) {
    .navbar {
      height: 70px; } }

.shrink_nav .navbar {
  height: 70px;
  background: white;
  border-bottom: 1px solid #eeeeee; }

.navbar__logo {
  position: absolute;
  top: 50px;
  left: 20px;
  width: 70px;
  opacity: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all .2s;
  transition: all .2s; }
  @media all and (max-width: 1100px) {
    .navbar__logo {
      top: 35px; } }

@media all and (max-width: 1100px) {
  .nav_is_open .navbar__logo {
    opacity: 1;
    width: 55px; } }

.shrink_nav .navbar__logo {
  top: 35px;
  opacity: 1;
  width: 55px; }

.navbar__nav {
  position: absolute;
  top: 0;
  right: 30px; }
  @media all and (max-width: 1100px) {
    .navbar__nav {
      position: fixed;
      top: 70px;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      background: #fff;
      -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
      transform: translateY(100%);
      -webkit-transition: all .8s;
      transition: all .8s; } }

.splash .navbar__nav {
  z-index: 10; }

/*  Nav
    ----------------------------------  */
.nav__list {
  font-size: 0;
  line-height: 0; }
  @media all and (max-width: 1100px) {
    .nav__list {
      text-align: center; } }

.nav__item {
  display: inline-block;
  padding: 0 25px;
  font-size: 16px;
  line-height: 22px;
  opacity: 0;
  -webkit-transform: translateY(-50px);
  -ms-transform: translateY(-50px);
  transform: translateY(-50px); }
  @media all and (max-width: 1100px) {
    .nav__item {
      display: block;
      padding: 0 20px;
      border-bottom: 1px solid #eee;
      opacity: 0;
      -webkit-transform: translateY(100px);
      -ms-transform: translateY(100px);
      transform: translateY(100px);
      -webkit-transition: all .8s;
      transition: all .8s; } }

.nav__item:first-child {
  padding-left: 0; }
  @media all and (max-width: 1100px) {
    .nav__item:first-child {
      padding: 0 20px; } }

.nav__item:nth-child(1) {
  -webkit-animation: nav_item 1s .1s forwards;
  animation: nav_item 1s .1s forwards; }
  @media all and (max-width: 1100px) {
    .nav__item:nth-child(1) {
      -webkit-transition: all .8s .1s;
      transition: all .8s .1s; } }

.nav__item:nth-child(2) {
  -webkit-animation: nav_item 1s .2s forwards;
  animation: nav_item 1s .2s forwards; }
  @media all and (max-width: 1100px) {
    .nav__item:nth-child(2) {
      -webkit-transition: all .8s .2s;
      transition: all .8s .2s; } }

.nav__item:nth-child(3) {
  -webkit-animation: nav_item 1s .3s forwards;
  animation: nav_item 1s .3s forwards; }
  @media all and (max-width: 1100px) {
    .nav__item:nth-child(3) {
      -webkit-transition: all .8s .3s;
      transition: all .8s .3s; } }

.nav__item:nth-child(4) {
  -webkit-animation: nav_item 1s .4s forwards;
  animation: nav_item 1s .4s forwards; }
  @media all and (max-width: 1100px) {
    .nav__item:nth-child(4) {
      -webkit-transition: all .8s .4s;
      transition: all .8s .4s; } }

.nav__item:nth-child(5) {
  -webkit-animation: nav_item 1s .5s forwards;
  animation: nav_item 1s .5s forwards; }
  @media all and (max-width: 1100px) {
    .nav__item:nth-child(5) {
      -webkit-transition: all .8s .5s;
      transition: all .8s .5s; } }

.nav__item:nth-child(6) {
  -webkit-animation: nav_item 1s .6s forwards;
  animation: nav_item 1s .6s forwards; }
  @media all and (max-width: 1100px) {
    .nav__item:nth-child(6) {
      -webkit-transition: all .8s .6s;
      transition: all .8s .6s; } }

.nav__item:nth-child(7) {
  -webkit-animation: nav_item 1s .7s forwards;
  animation: nav_item 1s .7s forwards; }
  @media all and (max-width: 1100px) {
    .nav__item:nth-child(7) {
      -webkit-transition: all .8s .7s;
      transition: all .8s .7s; } }

.nav__link {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 100px;
  color: #fff;
  -webkit-transition: all .2s;
  transition: all .2s; }
  @media all and (max-width: 1100px) {
    .nav__link {
      line-height: 70px;
      color: #023f40; } }

.shrink_nav .nav__link {
  line-height: 70px;
  color: #023f40; }

.splash .nav__link--lang {
  color: #023f40; }
  .splash .nav__link--lang::after {
    background-image: url("../img/lang_arrow_dark.svg"); }

.nav__link--lang {
  position: relative; }
  .nav__link--lang::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -15px;
    width: 8px;
    height: 5px;
    background-image: url("../img/lang_arrow.svg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100% 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    @media all and (max-width: 1100px) {
      .nav__link--lang::after {
        display: none; } }

.shrink_nav .nav__link--lang::after {
  background-image: url("../img/lang_arrow_dark.svg"); }

@keyframes nav_item {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
@-webkit-keyframes nav_item {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
/*  Subnav
    ----------------------------------  */
.nav__item--subnav {
  position: relative;
  cursor: pointer; }

.subnav {
  position: absolute;
  top: 90%;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: all .2s;
  transition: all .2s; }
  .nav__item--subnav:hover .subnav {
    top: 80%;
    opacity: 1;
    pointer-events: auto; }
    @media all and (max-width: 1100px) {
      .nav__item--subnav:hover .subnav {
        display: block;
        max-height: 500px; } }
  @media all and (max-width: 1100px) {
    .subnav {
      position: relative;
      top: auto;
      left: auto;
      max-height: 0;
      opacity: 1;
      pointer-events: auto;
      overflow: hidden;
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
      -webkit-transition: all .5s;
      transition: all .5s; } }

.subnav__list {
  position: relative;
  overflow: hidden; }
  @media all and (max-width: 1100px) {
    .subnav__list {
      margin: 0 0 20px 0;
      border-radius: 0; } }

.subnav__link {
  display: block;
  min-width: 50px;
  padding: 15px 20px;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: #023f40;
  -webkit-transition: all .2s;
  transition: all .2s; }
  .subnav__link:hover {
    background: #7cbbaa; }

.subnav__item:last-child .subnav__link {
  border-bottom: none; }

/*  Mobile nav open
    ----------------------------------  */
@media all and (max-width: 1100px) {
  .nav_is_open {
    overflow: hidden; } }

@media all and (max-width: 1100px) {
  .nav_is_open .navbar__nav {
    overflow-y: auto;
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%); } }

@media all and (max-width: 1100px) {
  .nav_is_open .navbar {
    background: white;
    border-bottom: 1px solid #eeeeee; } }

@media all and (max-width: 1100px) {
  .nav_is_open .nav__item {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px); } }

/*  ==========================================================================
    Header
    ==========================================================================  */
.header {
  display: block;
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden; }
  .header::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    padding-top: 200px;
    background-image: url("../img/header_after.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none; }
    @media all and (max-width: 2000px) {
      .header::after {
        padding-top: 120px; } }
    @media all and (max-width: 1100px) {
      .header::after {
        padding-top: 80px; } }
    @media all and (max-width: 800px) {
      .header::after {
        padding-top: 60px; } }

.header--small {
  min-height: 500px; }
  @media all and (max-width: 1100px) {
    .header--small {
      min-height: 400px; } }
  @media all and (max-width: 600px) {
    .header--small {
      min-height: 350px; } }

.header__img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #eee;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed; }
  @media all and (max-width: 1200px) {
    .header__img {
      background-attachment: inherit; } }

.header__filter {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: radial-gradient(rgba(2, 63, 64, 0.9), rgba(1, 44, 44, 0.9)); }

.header__center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }

.header__copy {
  text-align: center; }

.header__logo {
  display: block;
  width: 270px;
  margin: 0 auto;
  margin-bottom: 50px; }
  @media all and (max-width: 1100px) {
    .header__logo {
      width: 220px;
      margin-bottom: 30px; } }
  @media all and (max-width: 600px) {
    .header__logo {
      width: 200px; } }
  @media all and (max-width: 400px) {
    .header__logo {
      width: 170px; } }
  .header--small .header__logo {
    width: 200px;
    margin-bottom: 30px; }
    @media all and (max-width: 1100px) {
      .header--small .header__logo {
        width: 170px; } }
    @media all and (max-width: 600px) {
      .header--small .header__logo {
        width: 150px; } }
    @media all and (max-width: 400px) {
      .header--small .header__logo {
        width: 130px; } }

.header__logo_promiris {
  display: block;
  width: 150px;
  margin: 0 auto;
  margin-bottom: 50px; }
  @media all and (max-width: 1100px) {
    .header__logo_promiris {
      width: 120px; } }
  @media all and (max-width: 600px) {
    .header__logo_promiris {
      width: 100px; } }
  @media all and (max-width: 400px) {
    .header__logo_promiris {
      width: 80px; } }
  .header--small .header__logo_promiris {
    width: 100px; }
    @media all and (max-width: 1100px) {
      .header--small .header__logo_promiris {
        width: 80px; } }
    @media all and (max-width: 600px) {
      .header--small .header__logo_promiris {
        width: 75px; } }
    @media all and (max-width: 400px) {
      .header--small .header__logo_promiris {
        width: 70px; } }

/*  ==========================================================================
    Intro
    ==========================================================================  */
.intro {
  padding: 1px 0;
  background-color: #fff; }

.intro__left {
  float: left;
  width: 50%;
  padding-right: 20px; }
  @media all and (max-width: 800px) {
    .intro__left {
      width: 100%;
      padding-right: 0; } }

.intro__right {
  float: right;
  width: 50%;
  padding-left: 60px; }
  @media all and (max-width: 1100px) {
    .intro__right {
      padding-left: 40px; } }
  @media all and (max-width: 800px) {
    .intro__right {
      width: 100%;
      padding-left: 0;
      padding-bottom: 50px; } }

.intro__title {
  margin-bottom: 40px; }

.intro__subtitle {
  display: block; }

.intro__text {
  margin-bottom: 40px; }

.intro__prices {
  margin-bottom: 30px; }

.intro__prices_list {
  margin: -10px;
  font-size: 0;
  line-height: 0; }

.intro__prices_item {
  display: inline-block;
  width: 50%;
  padding: 10px;
  font-size: 16px;
  line-height: 22px;
  vertical-align: top; }
  @media all and (max-width: 600px) {
    .intro__prices_item {
      width: 100%; } }

.intro__prices_card {
  display: block;
  padding: 10px 10px;
  text-align: center;
  border: 2px solid #7cbbaa; }

.intro__prices_card--sold_out {
  position: relative;
  opacity: 0.5; }
  .intro__prices_card--sold_out:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(2, 63, 64, 0.5); }

.intro__prices__sold_out {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("../img/sold_out.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 70% auto; }

.intro__list {
  margin-bottom: 30px; }

.intro__img {
  position: relative; }

.intro_360 {
  display: block;
  position: absolute;
  bottom: 11%;
  left: 8%;
  width: 80px;
  height: 80px;
  background-color: #023031;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-image: url("../img/icon_360.svg");
  background-size: 40px 40px;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all .2s;
  transition: all .2s; }
  @media all and (max-width: 1100px) {
    .intro_360 {
      width: 60px;
      height: 60px;
      background-size: 30px 30px; } }
  @media all and (max-width: 800px) {
    .intro_360 {
      width: 80px;
      height: 80px;
      background-size: 40px 40px; } }
  @media all and (max-width: 600px) {
    .intro_360 {
      width: 60px;
      height: 60px;
      background-size: 30px 30px; } }
  .intro_360:hover {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05); }

/*  ==========================================================================
    Why
    ==========================================================================  */
.why {
  position: relative;
  padding: 120px 0 80px 0;
  overflow: hidden; }
  @media all and (max-width: 1100px) {
    .why {
      padding: 80px 0 40px 0; } }
  @media all and (max-width: 600px) {
    .why {
      padding: 60px 0 20px 0; } }
  .why::before {
    content: "";
    display: block;
    position: absolute;
    top: -4px;
    left: 0;
    width: 100%;
    padding-top: 200px;
    background-image: url("../img/why_before.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 5;
    pointer-events: none; }
    @media all and (max-width: 2000px) {
      .why::before {
        padding-top: 120px; } }
    @media all and (max-width: 1100px) {
      .why::before {
        padding-top: 80px; } }
    @media all and (max-width: 800px) {
      .why::before {
        padding-top: 60px; } }
  .why::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    padding-top: 200px;
    background-image: url("../img/why_after.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none; }
    @media all and (max-width: 2000px) {
      .why::after {
        padding-top: 120px; } }
    @media all and (max-width: 1100px) {
      .why::after {
        padding-top: 80px; } }
    @media all and (max-width: 800px) {
      .why::after {
        padding-top: 60px; } }

.why__img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #eee;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed; }
  @media all and (max-width: 1200px) {
    .why__img {
      background-attachment: inherit; } }

.why__filter {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: radial-gradient(rgba(2, 63, 64, 0.9), rgba(1, 44, 44, 0.9)); }

.why__container {
  position: relative; }

.why__left {
  float: left;
  width: 50%;
  padding-right: 60px; }
  @media all and (max-width: 1100px) {
    .why__left {
      padding-right: 40px; } }
  @media all and (max-width: 800px) {
    .why__left {
      width: 100%;
      padding-right: 0;
      padding-bottom: 50px; } }

.why__right {
  float: right;
  width: 50%;
  padding-left: 20px; }
  @media all and (max-width: 800px) {
    .why__right {
      width: 100%;
      padding-left: 0; } }

.why__faq {
  margin-bottom: 40px; }

.why__title {
  margin-bottom: 40px; }

.why__text {
  margin-bottom: 40px; }

/*  ==========================================================================
    FAQ
    ==========================================================================  */
.faq__item {
  display: block;
  position: relative;
  padding: 20px 0;
  border-bottom: 1px solid #9ab2b3; }
  .faq__item::after {
    content: "";
    display: block;
    position: absolute;
    top: 32px;
    right: 0;
    width: 7px;
    height: 11px;
    background-image: url("../img/faq_arrow.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    -webkit-transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53);
    transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53);
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }

.faq__item--active::after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg); }

.faq__q {
  position: relative;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.faq__a {
  display: none;
  padding-top: 15px; }

.faq__plus {
  display: block;
  position: absolute;
  top: 0;
  left: 0; }

.faq__title {
  padding-left: 45px;
  padding-right: 35px; }

.faq__text {
  margin-bottom: 10px; }

.faq__list {
  margin-bottom: 10px; }

/*  ==========================================================================
    Facilities
    ==========================================================================  */
.facilities {
  padding: 1px 0;
  background-color: #fff; }

.facilities__card {
  padding: 0 100px; }
  @media all and (max-width: 1600px) {
    .facilities__card {
      padding: 0 60px; } }
  @media all and (max-width: 1400px) {
    .facilities__card {
      padding: 0 40px; } }
  @media all and (max-width: 1200px) {
    .facilities__card {
      padding: 0 30px; } }
  @media all and (max-width: 1100px) {
    .facilities__card {
      padding: 0 20px; } }
  @media all and (max-width: 600px) {
    .facilities__card {
      padding: 0 10px; } }
  @media all and (max-width: 600px) {
    .facilities__card {
      padding: 0 10px; } }
  @media all and (max-width: 400px) {
    .facilities__card {
      padding: 0 5px; } }

.facilities__nav {
  margin-bottom: 80px;
  text-align: center; }

.facilities__nav_title {
  display: inline-block;
  position: relative;
  padding: 0 60px; }

.facilities__nav_arrow {
  display: block;
  position: absolute;
  top: 50%;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: 8px 14px;
  cursor: pointer;
  -webkit-transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53);
  transition: all 0.15s cubic-bezier(0.64, 0.57, 0.67, 1.53);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.facilities__nav_arrow--prev {
  left: 0;
  background-image: url("../img/slider_arrow_prev.svg");
  background-position: 50% 60%; }
  .facilities__nav_arrow--prev:hover {
    background-position: 40% 60%; }

.facilities__nav_arrow--next {
  right: 0;
  background-image: url("../img/slider_arrow_next.svg");
  background-position: 50% 60%; }
  .facilities__nav_arrow--next:hover {
    background-position: 60% 60%; }

.facilities__img {
  margin-bottom: 30px; }

.facilities__copy {
  padding: 0 60px;
  margin-bottom: 30px; }
  @media all and (max-width: 1400px) {
    .facilities__copy {
      padding: 0 40px; } }
  @media all and (max-width: 1100px) {
    .facilities__copy {
      padding: 0; } }

.facilities__title {
  margin-bottom: 15px; }

/*  ==========================================================================
    Maps
    ==========================================================================  */
.maps {
  position: relative; }
  .maps::before {
    content: "";
    display: block;
    position: absolute;
    top: -4px;
    left: 0;
    width: 100%;
    padding-top: 200px;
    background-image: url("../img/maps_before.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 5;
    pointer-events: none; }
    @media all and (max-width: 2000px) {
      .maps::before {
        padding-top: 120px; } }
    @media all and (max-width: 1100px) {
      .maps::before {
        padding-top: 80px; } }
    @media all and (max-width: 800px) {
      .maps::before {
        padding-top: 60px; } }
  .maps::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    padding-top: 200px;
    background-image: url("../img/maps_after.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none; }
    @media all and (max-width: 2000px) {
      .maps::after {
        padding-top: 120px; } }
    @media all and (max-width: 1100px) {
      .maps::after {
        padding-top: 80px; } }
    @media all and (max-width: 800px) {
      .maps::after {
        padding-top: 60px; } }

.maps--secondary::after {
  display: none; }

.maps__iframe {
  display: block;
  width: 100%;
  padding-top: 30%;
  background-color: #eee; }
  @media all and (max-width: 2000px) {
    .maps__iframe {
      padding-top: 40%; } }
  @media all and (max-width: 1400px) {
    .maps__iframe {
      padding-top: 50%; } }
  @media all and (max-width: 1100px) {
    .maps__iframe {
      padding-top: 60%; } }
  @media all and (max-width: 800px) {
    .maps__iframe {
      padding-top: 100%; } }
  @media all and (max-width: 600px) {
    .maps__iframe {
      padding-top: 120%; } }

/*  ==========================================================================
    Infowindow
    ==========================================================================  */
.infowindow {
  padding: 10px 15px; }

.infowindow__title {
  color: #023f40; }

.infowindow__text {
  color: #678c8c; }

/*  ==========================================================================
    Prices
    ==========================================================================  */
.prices {
  padding: 1px 0;
  background-color: #fff; }

.prices--inverted {
  position: relative;
  padding: 120px 0 80px 0;
  overflow: hidden; }
  @media all and (max-width: 1100px) {
    .prices--inverted {
      padding: 80px 0 40px 0; } }
  @media all and (max-width: 600px) {
    .prices--inverted {
      padding: 60px 0 20px 0; } }
  .prices--inverted::before {
    content: "";
    display: block;
    position: absolute;
    top: -4px;
    left: 0;
    width: 100%;
    padding-top: 200px;
    background-image: url("../img/why_before.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 5;
    pointer-events: none; }
    @media all and (max-width: 2000px) {
      .prices--inverted::before {
        padding-top: 120px; } }
    @media all and (max-width: 1100px) {
      .prices--inverted::before {
        padding-top: 80px; } }
    @media all and (max-width: 800px) {
      .prices--inverted::before {
        padding-top: 60px; } }
  .prices--inverted::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    padding-top: 200px;
    background-image: url("../img/why_after.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none; }
    @media all and (max-width: 2000px) {
      .prices--inverted::after {
        padding-top: 120px; } }
    @media all and (max-width: 1100px) {
      .prices--inverted::after {
        padding-top: 80px; } }
    @media all and (max-width: 800px) {
      .prices--inverted::after {
        padding-top: 60px; } }

.prices__img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #eee;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed; }
  @media all and (max-width: 1200px) {
    .prices__img {
      background-attachment: inherit; } }

.prices__filter {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: radial-gradient(rgba(2, 63, 64, 0.9), rgba(1, 44, 44, 0.9)); }

.prices__intro {
  margin-bottom: 80px;
  text-align: center; }
  @media all and (max-width: 1100px) {
    .prices__intro {
      margin-bottom: 60px; } }
  @media all and (max-width: 600px) {
    .prices__intro {
      margin-bottom: 40px; } }

.prices__title {
  margin-bottom: 40px; }

.prices__list {
  margin: -20px;
  font-size: 0;
  line-height: 0;
  text-align: center; }
  @media all and (max-width: 1100px) {
    .prices__list {
      margin: -10px; } }

.prices__item {
  position: relative;
  display: inline-block;
  width: 33.33333%;
  padding: 20px;
  font-size: 16px;
  line-height: 22px;
  vertical-align: top; }
  @media all and (max-width: 1100px) {
    .prices__item {
      padding: 10px; } }
  @media all and (max-width: 800px) {
    .prices__item {
      width: 50%; } }
  @media all and (max-width: 600px) {
    .prices__item {
      width: 100%; } }

.prices__card {
  display: block;
  padding: 60px 20px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 100% 100%; }

.prices__card--01 {
  background-image: url("../img/prices_bg_01.svg"); }
  .prices--inverted .prices__card--01 {
    background-image: url("../img/prices_bg_01_inverted.svg"); }

.prices__card--02 {
  background-image: url("../img/prices_bg_02.svg"); }
  .prices--inverted .prices__card--02 {
    background-image: url("../img/prices_bg_02_inverted.svg"); }

.prices__card--sold_out {
  position: relative;
  pointer-events: none;
  opacity: 0.3; }

.prices--inverted .prices__card--01--sold_out {
  background-image: url("../img/prices_bg_01_inverted_soldout.svg"); }

.prices__sold_out {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("../img/sold_out.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 60px; }

.prices__name {
  margin-bottom: 15px; }

.prices__value {
  margin-bottom: 20px; }

.prices__charge {
  margin-bottom: 25px; }

.prices__outro {
  margin-top: 80px;
  text-align: center; }
  @media all and (max-width: 1100px) {
    .prices__outro {
      margin-top: 60px; } }
  @media all and (max-width: 600px) {
    .prices__outro {
      margin-top: 40px; } }

/*  ==========================================================================
    Listing
    ==========================================================================  */
.listing__intro {
  margin-bottom: 60px;
  text-align: center; }

.listing__subtitle {
  margin-bottom: 40px; }
  @media all and (max-width: 600px) {
    .listing__subtitle {
      text-align: center; } }

.listing__left {
  float: left;
  width: 50%; }
  @media all and (max-width: 1100px) {
    .listing__left {
      width: 100%;
      margin-bottom: 60px; } }

.listing__right {
  float: right;
  width: 50%; }
  @media all and (max-width: 1100px) {
    .listing__right {
      width: 100%; } }

.listing__list {
  margin: -20px -10px;
  font-size: 0;
  line-height: 0; }
  @media all and (max-width: 600px) {
    .listing__list {
      margin: -10px; } }

.listing__list--mb {
  padding-bottom: 30px;
  margin-bottom: 50px;
  border-bottom: 1px solid #eee; }

.listing__item {
  display: inline-block;
  width: 100%;
  padding: 20px 10px;
  font-size: 16px;
  line-height: 22px;
  vertical-align: top; }
  @media all and (max-width: 600px) {
    .listing__item {
      padding: 10px; } }

.listing__item--4 {
  width: 25%; }
  @media all and (max-width: 1100px) {
    .listing__item--4 {
      width: 33.33333%; } }
  @media all and (max-width: 800px) {
    .listing__item--4 {
      width: 50%; } }

.listing__item--2 {
  width: 50%; }
  @media all and (max-width: 1100px) {
    .listing__item--2 {
      width: 33.33333%; } }
  @media all and (max-width: 800px) {
    .listing__item--2 {
      width: 50%; } }

.listing__card {
  display: block;
  position: relative;
  padding-left: 45px; }
  @media all and (max-width: 600px) {
    .listing__card {
      padding-left: 0;
      text-align: center; } }

.listing__icon {
  display: block;
  position: absolute;
  top: -2px;
  left: 0;
  width: 30px;
  height: 30px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain; }
  @media all and (max-width: 600px) {
    .listing__icon {
      display: inline-block;
      position: relative;
      top: auto;
      left: auto;
      width: 25px;
      height: 25px; } }

/*  ==========================================================================
    Large img
    ==========================================================================  */
.large_img {
  position: relative; }
  .large_img::before {
    content: "";
    display: block;
    position: absolute;
    top: -4px;
    left: 0;
    width: 100%;
    padding-top: 200px;
    background-image: url("../img/large_img_before.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    z-index: 5;
    pointer-events: none; }
    @media all and (max-width: 2000px) {
      .large_img::before {
        padding-top: 120px; } }
    @media all and (max-width: 1100px) {
      .large_img::before {
        padding-top: 80px; } }
    @media all and (max-width: 800px) {
      .large_img::before {
        padding-top: 60px; } }
  .large_img::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 30px;
    background-image: url("../img/large_img_after.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none; }
    @media all and (max-width: 1100px) {
      .large_img::after {
        padding-top: 20px; } }

.large_img--secondary::before {
  top: 0;
  padding-top: 30px;
  background-image: url("../img/large_img_before_2.svg");
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }
  @media all and (max-width: 1100px) {
    .large_img--secondary::before {
      padding-top: 20px; } }

.large_img__img {
  display: block;
  width: 100%;
  padding-top: 30%;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #eee; }
  @media all and (max-width: 2000px) {
    .large_img__img {
      padding-top: 40%; } }
  @media all and (max-width: 1400px) {
    .large_img__img {
      padding-top: 50%; } }
  @media all and (max-width: 1100px) {
    .large_img__img {
      padding-top: 60%; } }
  @media all and (max-width: 800px) {
    .large_img__img {
      padding-top: 100%; } }
  @media all and (max-width: 600px) {
    .large_img__img {
      padding-top: 120%; } }

/*  ==========================================================================
    CTA
    ==========================================================================  */
.cta {
  position: relative;
  padding: 1px 0; }
  .cta::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 30px;
    background-image: url("../img/cta_after.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none; }
    @media all and (max-width: 1100px) {
      .cta::after {
        padding-top: 20px; } }

.cta__img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #eee;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed; }
  @media all and (max-width: 1200px) {
    .cta__img {
      background-attachment: inherit; } }

.cta__filter {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: radial-gradient(rgba(2, 63, 64, 0.9), rgba(1, 44, 44, 0.9)); }

.cta__container {
  position: relative; }

.cta__copy {
  padding-right: 200px; }
  @media all and (max-width: 800px) {
    .cta__copy {
      padding-right: 0;
      text-align: center; } }

.cta__title {
  margin-bottom: 20px; }

@media all and (max-width: 800px) {
  .cta__text {
    margin-bottom: 30px; } }

.cta__btn {
  position: absolute;
  top: 15px;
  right: 0; }
  @media all and (max-width: 1100px) {
    .cta__btn {
      top: 5px; } }
  @media all and (max-width: 800px) {
    .cta__btn {
      position: relative;
      top: auto;
      right: auto;
      text-align: center; } }

.cta__logo {
  display: inline-block;
  max-width: 150px; }
  @media all and (max-width: 800px) {
    .cta__logo {
      max-width: 120px;
      margin-top: 30px; } }

/*  ==========================================================================
    Form
    ==========================================================================  */
.form {
  text-align: left; }

.form__title {
  margin-bottom: 40px; }

.form__list {
  margin: -10px -20px;
  font-size: 0;
  line-height: 0; }
  @media all and (max-width: 1400px) {
    .form__list {
      margin: -10px -10px; } }

.form__item {
  display: inline-block;
  width: 100%;
  padding: 10px 20px; }
  @media all and (max-width: 1400px) {
    .form__item {
      padding: 10px 10px; } }

.form__item--1 {
  display: inline-block;
  width: 100%; }

.form__item--2 {
  display: inline-block;
  width: 50%; }
  @media all and (max-width: 800px) {
    .form__item--2 {
      width: 100%; } }

.form__item--submit {
  padding-top: 30px; }

.form__label {
  display: block;
  width: 100%;
  font-size: 14px;
  line-height: 24px;
  color: #023f40; }
  .form__label span {
    color: #7cbbaa; }

.form__input {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  display: block;
  width: 100%;
  padding: 12px 20px;
  font-family: "Montserrat", "helvetica", "sans-serif";
  font-size: 16px;
  line-height: 26px;
  color: #678c8c;
  border: none;
  border: 2px solid #eee;
  border-radius: 0;
  outline: none; }
  .form__input.error {
    color: #d20000;
    border-color: #d20000; }

.form__input--select {
  background-image: url("../img/icon_select.png");
  background-position: right 20px center;
  background-size: 19px 12px;
  background-repeat: no-repeat; }

.form__input--textarea {
  width: 100%;
  max-width: 100%;
  resize: none; }

/*  ==========================================================================
    Checkbox
    ==========================================================================  */
.checkbox {
  position: relative;
  padding: 3px 0;
  padding-left: 40px;
  font-size: 16px;
  line-height: 26px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.checkbox.error {
  color: #d20000; }

.checkbox--inline {
  display: inline-block;
  width: auto;
  margin-right: 30px;
  margin-bottom: 10px; }

.checkbox__box {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  background: #fff;
  border: 2px solid #eee;
  cursor: pointer; }
  .checkbox__box::after {
    content: "";
    display: block;
    position: absolute;
    top: -2px;
    left: -2px;
    width: 30px;
    height: 30px;
    background-color: #023f40;
    background-image: url("../img/icon_v_white.png");
    background-position: center center;
    background-size: 0px 0px;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-transition: background-size .2s;
    transition: background-size .2s; }

.checkbox.error .checkbox__box {
  border: 2px solid #d20000; }

.checkbox.active .checkbox__box::after {
  background-size: 15px 12px;
  opacity: 1; }

.checkbox__label--legal {
  padding-top: 3px;
  font-size: 14px;
  line-height: 20px; }

.legal_more {
  margin-top: 10px;
  display: none;
  font-size: 14px;
  line-height: 20px; }

.checkbox__label_click {
  cursor: pointer; }

/*  ==========================================================================
    Radio
    ==========================================================================  */
.radio.error {
  color: #d20000; }

.radio__item {
  display: inline-block;
  position: relative;
  margin-right: 30px;
  margin-bottom: 10px;
  padding: 3px 0;
  padding-left: 40px;
  font-size: 16px;
  line-height: 26px;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.radio__item--disabled {
  opacity: .3;
  pointer-events: none; }

.radio__box {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  background: #fff;
  border: 2px solid #eee; }
  .radio__box::after {
    content: "";
    display: block;
    position: absolute;
    top: -2px;
    left: -2px;
    width: 30px;
    height: 30px;
    background-color: #023f40;
    background-image: url("../img/icon_v_white.png");
    background-position: center center;
    background-size: 0px 0px;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-transition: background-size .2s;
    transition: background-size .2s; }

.radio.error .radio__box {
  border: 2px solid #d20000; }

.radio__item.active .radio__label {
  color: #023f40; }

.radio__item.active .radio__box::after {
  background-size: 15px 12px;
  opacity: 1; }

/*  ==========================================================================
    Footer
    ==========================================================================  */
.footer {
  padding: 20px 0 20px 0;
  background: #022d2e; }

.footer__left {
  float: left; }
  @media all and (max-width: 600px) {
    .footer__left {
      width: 100%;
      text-align: center; } }

.footer__right {
  float: right; }
  @media all and (max-width: 600px) {
    .footer__right {
      width: 100%;
      text-align: center; } }

/*  ==========================================================================
    Splash
    ==========================================================================  */
.splash {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.splash__nav {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 100px; }
  @media all and (max-width: 1100px) {
    .splash__nav {
      height: 70px; } }

.splash__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }
  @media all and (max-width: 1100px) {
    .splash__logo {
      width: 85px; } }
  @media all and (max-width: 800px) {
    .splash__logo {
      left: 10px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); } }

.splash__lang {
  position: absolute;
  top: 50%;
  right: 30px;
  z-index: 10;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }

.splash__lang_link {
  display: block;
  position: relative;
  font-size: 14px;
  font-weight: 500;
  line-height: 100px;
  color: #023f40;
  -webkit-transition: all .2s;
  transition: all .2s; }
  .splash__lang_link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -15px;
    width: 8px;
    height: 5px;
    background-image: url("../img/lang_arrow_dark.svg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100% 100%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }

.nav__item--subnav {
  position: relative;
  cursor: pointer; }

.splash__subnav {
  position: absolute;
  top: 90%;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: all .2s;
  transition: all .2s; }
  .splash__lang_item--subnav:hover .splash__subnav {
    top: 80%;
    opacity: 1;
    pointer-events: auto; }

.splash__subnav_list {
  position: relative;
  overflow: hidden; }

.splash__subnav_link {
  display: block;
  min-width: 50px;
  padding: 15px 20px;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: #023f40;
  -webkit-transition: all .2s;
  transition: all .2s; }
  .splash__subnav_link:hover {
    background: #7cbbaa; }

.splash__subnav_item:last-child .splash__subnav_link {
  border-bottom: none; }

.splash__container {
  display: block;
  position: absolute;
  top: 100px;
  right: 10px;
  bottom: 10px;
  left: 10px; }
  @media all and (max-width: 1100px) {
    .splash__container {
      top: 70px; } }

.splash__left {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: calc(50% - 5px); }
  @media all and (max-width: 800px) {
    .splash__left {
      top: 0;
      right: 0;
      left: 0;
      width: auto;
      height: calc(50% - 5px); } }

.splash__right {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: calc(50% - 5px); }
  @media all and (max-width: 800px) {
    .splash__right {
      top: auto;
      right: 0;
      left: 0;
      bottom: 0;
      width: auto;
      height: calc(50% - 5px); } }

.splash__visu {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden; }

.splash__img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #eee;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition: all .2s;
  transition: all .2s;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }
  .splash__left:hover .splash__img, .splash__right:hover .splash__img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05); }

.splash__filter {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: radial-gradient(rgba(2, 63, 64, 0.9), rgba(1, 44, 44, 0.9)); }

.splash__center {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }

.splash__title {
  margin-bottom: 20px;
  -webkit-transition: all .2s;
  transition: all .2s;
  -webkit-transform: translateY(35px);
  -ms-transform: translateY(35px);
  transform: translateY(35px); }
  @media all and (max-width: 1100px) {
    .splash__title {
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0); } }
  .splash__left:hover .splash__title, .splash__right:hover .splash__title {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }

.splash__btn {
  opacity: 0;
  -webkit-transition: all .2s;
  transition: all .2s;
  -webkit-transform: translateY(-35px);
  -ms-transform: translateY(-35px);
  transform: translateY(-35px); }
  @media all and (max-width: 1100px) {
    .splash__btn {
      opacity: 1;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0); } }
  .splash__left:hover .splash__btn, .splash__right:hover .splash__btn {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }

.splash__info {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 10px 20px 20px 20px;
  text-align: center;
  background-color: #7cbbaa; }
  .splash__info::before {
    content: "";
    display: block;
    position: absolute;
    top: -28px;
    left: 0;
    width: 100%;
    padding-top: 30px;
    background-image: url("../img/splash_info.svg");
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none; }
    @media all and (max-width: 1100px) {
      .splash__info::before {
        top: -18px;
        padding-top: 20px; } }

/*  ==========================================================================
    Cookies
    ==========================================================================  */
.cookies_banner {
  position: fixed;
  margin-left: 10px;
  right: 10px;
  bottom: 10px;
  max-width: 500px;
  padding: 30px 40px 25px 40px;
  color: #fff;
  background: #023f40;
  border-radius: 30px;
  border-bottom-right-radius: 0px;
  opacity: 1;
  z-index: 100;
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
  -webkit-transition: all .5s;
  transition: all .5s; }
  @media all and (max-width: 1600px) {
    .cookies_banner {
      padding: 25px 30px 20px 30px;
      border-radius: 20px;
      border-bottom-right-radius: 0px; } }
  @media all and (max-width: 1100px) {
    .cookies_banner {
      padding: 20px 20px 15px 20px;
      border-radius: 15px;
      border-bottom-right-radius: 0px; } }

.cookies_close .cookies_banner {
  bottom: 0;
  opacity: 0;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%); }

.cookies_banner__title {
  margin-bottom: 10px;
  color: #fff; }

.cookies_banner__text {
  margin-bottom: 15px;
  font-size: 14px;
  line-height: 20px;
  color: #fff; }

.cookies_banner__cta .cta {
  display: inline-block;
  padding: 10px 25px;
  font-size: 14px;
  color: #000;
  background: #fff; }

.cookies_banner__link {
  text-decoration: underline; }
  .cookies_banner__link:hover {
    color: #fff;
    text-decoration: none; }

/*  ==========================================================================
    Popup
    ==========================================================================  */
.popup {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 60px 20px;
  z-index: 1000000;
  overflow-y: auto;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: all .2s;
  transition: all .2s; }
  @media all and (max-width: 1100px) {
    .popup {
      padding: 60px 20px; } }
  @media all and (max-width: 600px) {
    .popup {
      padding: 60px 10px; } }
  @media all and (max-width: 400px) {
    .popup {
      padding: 60px 5px; } }

.popup--visible {
  pointer-events: auto;
  opacity: 1; }

.popup_merci .popup[data-popup=form_ok] {
  pointer-events: auto;
  opacity: 1; }

.popup__container {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  padding: 150px 120px;
  background: url("../img/popup_bg.svg") 50% 50% no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  z-index: 1000002;
  -webkit-transition: all 1s;
  transition: all 1s;
  -webkit-transform: translateY(50px);
  -ms-transform: translateY(50px);
  transform: translateY(50px); }
  @media all and (max-width: 1100px) {
    .popup__container {
      padding: 100px 60px; } }
  @media all and (max-width: 600px) {
    .popup__container {
      padding: 80px 30px; } }

.popup--video .popup__container {
  max-width: 1080px;
  padding: 0;
  overflow: hidden; }

.popup--small .popup__container {
  max-width: 600px;
  margin-top: 100px;
  padding: 80px 80px;
  text-align: center; }
  @media all and (max-width: 1100px) {
    .popup--small .popup__container {
      margin-top: 50px;
      padding: 80px 50px; } }
  @media all and (max-width: 600px) {
    .popup--small .popup__container {
      margin-top: 0;
      padding: 60px 20px; } }

.popup--visible .popup__container {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.popup--visible .popup[data-popup=form_ok] .popup__container {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.popup_merci .popup__container {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.popup__close {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  background: red;
  background-size: 20px 20px;
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s; }

.popup__bg {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: radial-gradient(rgba(2, 63, 64, 0.95), rgba(1, 44, 44, 0.95));
  z-index: 1000001;
  cursor: pointer; }

.popup__intro {
  max-width: 600px;
  margin: 0 auto;
  text-align: center; }

.popup__title {
  margin-bottom: 30px; }

.popup__text {
  font-family: "Montserrat", "helvetica", "sans-serif";
  margin-bottom: 60px; }

.popup__btn {
  margin-top: 20px; }

/*  ==========================================================================
    404
    ==========================================================================  */
.page_404 {
  position: relative;
  min-height: 100vh; }

.page_404__center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  padding: 20px;
  text-align: center;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }

.page_404__title {
  font-size: 100px;
  font-weight: 600;
  color: #678c8c; }

.page_404__text {
  margin-bottom: 2rem;
  font-size: 16px;
  line-height: calc(1em + 6px);
  color: #023f40; }

/*  ==========================================================================
    Helpers
    ==========================================================================  */
/*  Fluid media
    ----------------------------------  */
.img_full {
  display: block;
  width: 100%; }

.video_full {
  position: relative;
  padding-top: 56.25%;
  /* 16/9 */
  background: #20242F; }

.video_full > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none; }

/*  Clearfix
    ----------------------------------  */
.clearfix:after {
  content: "";
  display: table;
  clear: both; }

/* powered byarpeggio alignement */
.mt-55 {
  margin-top: 55px; }

/* display logo on filezilla */
.logo_footer,
.logo_footer img {
  max-width: none;
  width: 250px; }
