:root {
  /*///// colors /////*/
  --main-black: #000000;
  --main-white: #ffffff;
  --white-alt: #faf9f4;
  --main-grey: #d3d3d3;
  --main-color: #007ba3;
  --main-color-dark: #003659;
  --secondary-color: #abc6af;
  --secondary-color-dark: #547369;

  /*///// fonts  /////*/
  --main-font: 'FreightBigPro';
  --secondary-font: 'Helvetica','trajan pro', serif;
  --third-font: sans-serif;

  /*///// padding / margin /////*/
  --padding-container: 1rem;
  --margin-container: 1rem;
  --padding-content: 0.5rem;
  --margin-content: 0.5rem;
}

body{
  background-color: var(--main-white);
}
body.home{
  background-color: var(--white-alt);
}
body.stop-scrolling {
  height: 100%;
  overflow: hidden;
}
h1,h2,h3{
  font-weight: 300;
  color: var(--main-black);
  line-height: normal;
}
h1,h2{
  font-size: 2.5rem;
}

h3{
  font-size: 1.6rem;
  font-weight: 500;
}

p{
  color: #424242;
}
a,p{
  line-height: 2rem;
  font-size: 1.3rem;
}
a{
  color: var(--main-black);
}
ul{
  padding-left: 40px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  list-style: disc;
}
li{
  margin-bottom: 1rem;
}
table{
  width: 100%;
  border-collapse: collapse;
}
td,th{
  padding: 1rem 0.5rem;
  border: 1px solid black;
}
th{
  background-color: var(--main-color);
  color: var(--main-white);
}
.hg-button{
  background-color: var(--secondary-color);
}
.hg-button:hover{
  color: var(--secondary-color);
  border-color: var(--secondary-color);
}
.hg-pl-menu{
  background-color: var(--main-white);
  transition: transform ease .5s;
}
/*.home .hg-pl-menu{
  background-color: transparent;
}
.home .hg-pl-menu.scrolled{
  background-color: #007ba3ed;
}*/
.hg-pl-menu .hg-container-fluid{
  z-index: 1100;
  padding: 1.3rem 0.5rem;
}

.hg-pl-menu .hg-row{
  height: 100%;
}
.hg-pl-menu.active{
  border-bottom: none;
  outline: none;
}
.hg-burger{
  margin: 0;
}
.hg-burger span, .hg-burger span:before, .hg-burger span:after {
  background: var(--main-color);
  transition: .3s;
}
.hg-pl-menu.scrolled .hg-burger span, .hg-pl-menu.scrolled .hg-burger span:before, .hg-pl-menu.scrolled .hg-burger span:after {
  background: var(--main-color);
}
.hg-burger.active span, .hg-burger.active span:before, .hg-burger.active span:after {
  background: var(--main-color);
}

.hg-nav{
  background: rgba(255, 255, 255, 0);
  padding: 0;
  margin: 0;
  justify-content: space-evenly;
}

.hg-nav .menu-contact{
  transform: translateY(50px);
}

.hg-nav .menu-contact a{
  font-size: 0.9rem;
  font-family: var(--secondary-font);
}
.hg-nav a{
  font-size: 1.3rem;
  line-height: normal;
  cursor: pointer;
  text-align: center;
  display: inline-block;

}
.hg-nav li{
  margin: 0;
  padding: 0;
  display: inline-block;
  /*width: 14.285714285714285714285714285714%;**/
}
.hg-nav li:hover a{
  color: #434343;
  text-decoration: underline;
}
.hg-menu-logo img{
  width: 60px;
}
.menu-lang{
  display: flex;
  flex-flow: row wrap;
  justify-content: end;
  padding-top: 4px;
}
.menu-lang a,.menu-lang span{
  width: auto;
  padding: 0 0.3rem;
  font-family: var(--main-font);
  color: var(--main-white);
}
.hg-pl-menu .header-booking-btn{
  width: auto;
  font-size: 0.8rem;
  line-height: 0.8rem;
  padding: 0.4rem 2rem;
  min-width: auto;
  display: inline-block;
}
.hg-pl-menu.active .header-booking-btn{
  display: none;
}
.hg-button{
  letter-spacing: 2px;
  text-transform: uppercase;
}
.hg-pl-menu .hg-nav li a{
  color: #434343;
}
/*.hg-pl-menu.scrolled .hg-nav li a{
  color: var(--main-white);
}*/
.header-logo img{
  max-height: 80px;
  height: auto;
}

.hg-pl-menu.scrolled .menu-lang a:hover,.hg-pl-menu.active .menu-lang a:hover{
  color: var(--main-color);
}
.container-block{
  height: 100vh;
  width: 100%;
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  display: flex;
  flex-flow: row wrap;
  background-color: var(--main-white);
}
.container-mt{
  margin-top: 130px;
}

.banner-image{
  height: 100vh;
  width: 100%;
}
.section-title{
  font-size: 3rem;
  letter-spacing: 10px;
  margin-bottom: 4rem;
  font-weight: 300;
}
.big-text{
  text-align: center;
  font-size: 2rem;
  margin-top: 4rem;
  font-weight: 300;
}
.text-img-block{
  background-color: var(--main-white);
}
.text-img-block, .text-img-block .background-image{
  min-height: 80vh;
}

.text-img-block h3{
  margin-bottom: 3rem;
  font-size: 2.2rem;
}

.text-img-block p{
  margin-bottom: 3rem;
  line-height: 1.8rem;
  font-size: 1.3rem;
}

.background-image:not(.visible){
  background-image: none!important;
  background-color: #f3f3f3;
}
.background-image{
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
.background-image-bottom:not(.visible){
  background-image: none!important;
  background-color: #f3f3f3;
}
.background-image-bottom {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: flex-end;
}
/*.bg-image-text p:first-child {
  font-size: 1.4rem;
  line-height: 1.5rem;
  color: #fff;
  text-transform: uppercase;
  }

.bg-image-text p:nth-child(2) {
  font-size: 2.2rem;
  line-height: 3.5rem;
  color: #fff;
  letter-spacing: 5px;
}*/

.bg-image-text p:first-child {
  font-size: 2.2rem;
  line-height: 3.5rem;
  color: #fff;
  letter-spacing: 5px;
}
.bg-image-text p:nth-child(2) {
  font-size: 1.4rem;
  line-height: 1.5rem;
  color: #fff;
  letter-spacing: 1px;
}



.bg-image-text p a:last-child {
  font-size: 1.6rem;
  line-height: 3.5rem;
  color: #fff;
  padding: 8px 35px;
  border: 1px solid #fff;
  letter-spacing: 1px;
}

@media (min-width: 1024px) {
  
  /*.bg-image-text p:first-child {
    font-size: 1.8rem;
    line-height: 2.5rem;
    color: #fff;
    text-transform: uppercase;
  }

  .bg-image-text p:nth-child(2) {
    font-size: 3.2rem;
    line-height: 3.5rem;
    color: #fff;
    letter-spacing: 7px;

  }*/
  
  .bg-image-text p:first-child {
    font-size: 3.2rem;
    line-height: 3.5rem;
    color: #fff;
    letter-spacing: 7px;
  }
  .bg-image-text p:nth-child(2) {
    font-size: 1.8rem;
    line-height: 2.5rem;
    color: #fff;
    letter-spacing: 1px;
  }

  .bg-image-text p a:last-child {
    font-size: 1.7rem;
    line-height: 3.5rem;
    color: #fff;
    padding: 5px 30px;
    border: 1px solid #fff;
    letter-spacing: 1px;
  }
}
.home-link-image{
  width: 100%;
  border-radius: 100%;
  aspect-ratio: 1/1;
  border: 10px solid var(--white-alt);
}
.home-links a:hover .home-link-image{
  border: 10px solid var(--main-color);
}
.home-links p{
  font-size: 2.5rem;
  line-height: 2.5rem;
  margin-top: 2rem;
  font-weight: 300;
  color: var(--main-color);
}
.home-text{
  margin: 0 15%;
}
.home-text p{
  font-size: 1.3rem;
  line-height: 2rem;
}
.main-text p {
  font-size: 1.2rem;
  line-height: 1.8rem;
}
.hg-swiper-left, .hg-swiper-right{
  color: var(--main-white);
}
.hg-pl-swiper img{
  /*min-width: 100%;
  min-height: 100%;*/
}
.cards-horizontal{
  margin: 0 auto;
  max-width: 920px;
}

footer{
  z-index: 16;
  position: relative;
}
footer .logo-footer{
  max-width: 100px;
}
footer a{
  color: var(--main-black);
}
footer a:hover{
  text-decoration: underline;
}

@media (max-width: 765px) {
  .hg-nav {
    background-color: rgb(0 123 163 / 70%);
    top: 55px;
    justify-content: start;
  }
}
@media (max-width: 768px) {
  h1,h2{
    font-size: 2rem;
  }
  a,p{
    line-height: 2rem;
    font-size: 1.4rem;
  }
  .hg-pl-menu .header-booking-btn{
    display: none;
  }

  .hg-menu-logo img{
    display: block;
    margin: 10px auto;
  }
  /*.hg-pl-menu .hg-nav li a{
    color: var(--main-white);
  }*/
  .hg-pl-menu .hg-nav a span{
    color: var(--main-white);
  }
  .hg-pl-menu .hg-nav li:hover a,.hg-pl-menu .hg-nav li:hover a span{
    color: var(--main-color);
    border-color: var(--main-color);
  }
  .hg-nav a{
    font-size: 2rem;
  }

  .home-text p{
    font-size: 1.2rem;
    line-height: 1.7rem;
  }
  .home-links p{
    font-size: 1.5rem;
    line-height: 2rem;
    margin-top: 1rem;
  }
  .section-title{
    font-size: 1.8rem;
    letter-spacing: 0.4rem;
  }

}
@media (min-width: 576px) {

}

/* web v2 */

.menu-title, .menu-title a{
  font-family: 'Vogue';
  text-align: center;
  font-size: 7rem;
  line-height: normal;
  letter-spacing: 40px;
  color: var(--main-color);
  margin-top: 2rem;
  margin-bottom: 0;
}
.hg-pl-menu.scrolled .menu-title{
  display:none;
}
.hg-pl-menu .hg-nav .hg-menu-logo{
  display: none;
}
.hg-pl-menu.scrolled .hg-nav .hg-menu-logo{
  display: inline-block;
}
.padding-text{
  padding: 3rem 20%;
}
.scroll-horizontal{
  overflow: hidden;
  position: relative;
  min-height: 100vh;
}
.sh-container{
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  min-height: 100vh;
  inset: 0px auto auto 0px;
  padding: 0 10%;
  width:fit-content;
}
.sh-content{
  padding: 0 10px;
}
.scroll-horizontal img,.scroll-horizontal .background-image{

  max-width: 90vw;
  height: 80vh;
  overflow: hidden;
  aspect-ratio: 2/3;
}

.animed-container p,.animed-container h2,.animed-container h3,.animed-container a{
  opacity: 0;
  transform: translateY(100px);
  transition: transform ease 1.6s, opacity ease 1.6s;
}

.animed-container.active p,.animed-container.active h2,.animed-container.active h3,.animed-container.active a{
  opacity: 1;
  transform: translateY(0px);
}
.animed-container .background-image{
  opacity: 0;
  transition: opacity ease 1.6s;
}
.background-alt{
  background-color: #e0eae2;
}
.big-phrase{
  position: absolute;
  top: 25%;
  z-index: 100;
  text-align: center;
}
.big-phrase p{
  color: var(--main-white);
}
.medium-text{
  font-size: 1.6rem;
  line-height: 2.3rem;
}
.big-text-2{
  font-size: 5rem;
  line-height: 5.5rem;
}
.image-links a{
  height: 80vh;
  overflow: hidden;
  display: block;
}
.image-links a .background-image{
  height: 100%;
  transition: transform ease 2s;
}
.image-links a:hover .background-image{
  transform: scale(1.05);
}
.image-link{
  position: relative;
}
.image-link .link-text{
  position: absolute;
  bottom: 15px;
  left: 15px;
}
.image-link .link-text p{
  font-size: 2.5rem;
  line-height: 2rem;
  color: var(--main-white);
  cursor: pointer;
}
.image-link .link-text p.opacity-text{
  font-size: 1.6rem;
  opacity: 0.8;
  transition: opacity ease .6s;
}
.image-link a:hover p.opacity-text{
  opacity: 1;
}
.image-text-block{
  padding-bottom: 140px;
  padding-top: 70px;
  overflow: hidden;
}
.image-text-block .it-text{
  background-color: var(--main-white);
  transform: translateX(100px);
  z-index: 1;
}
.image-text-block .it-image{
  transform: translateY(70px);
}
.image-text-block .it-image .background-image{
  min-height: 70vh;
  height:100%;
}
.image-text-block .it-image .background-image.vertical {
  min-height: 70vh;
  background-size: contain;
}
.line-link svg{
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
}
.line-link svg line{
  stroke: var(--main-color);
  stroke-width: 2;
  width: 100%;
  stroke-dasharray: 500;
  stroke-dashoffset: 500;
  transition: all .4s linear;
}
.line-link:hover line{
  stroke-dashoffset: 0;
}
.tall-image{
  height: 75vh;
}
.logo-opacity{
  display: block;
  margin: 0 auto;
  opacity: 0.6;
  width:200px;
}
.video-container-home{
  height: 100vh;
  position: relative;
}
.video-container-home video{
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.floating-button{
  position: fixed;
  top: 50%;
  right: 0px;
  width: auto;
  height: auto;
  display: flex;
  padding-top: 0px;
  z-index: 999999;

}
.floating-button a,.floating-button-mobile a{
  color: var(--main-white);
}


.floating-button-mobile{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: none;
  z-index: 99999;
  height: 60px;
  background-color: var(--main-color);
  text-align: center;
  border-top: 1px solid white;
}
.floating-button-mobile .hg-row{
  align-items: center;
}


.floating-button-mobile a {
  position: relative;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: 1.2;
}

.floating-button-mobile span:first-child {
  font-family: 'Raleway',
    sans-serif;
  font-size: 13px;
  letter-spacing: 1px;
  position: relative;
  display: block;
}
.floating-button-mobile span:last-child {
  letter-spacing: 1px;
  position: relative;
  margin-top: 3px;
}


.block-padding{
  padding-top: 8em;
  padding-bottom: 8rem;
}

@media (max-width: 1400px) {
  .menu-title, .menu-title a{
    font-size: 5rem;
    letter-spacing: 30px;

  }
}
@media (max-width: 992px) {
  .menu-title, .menu-title a{
    font-size: 3rem;
    letter-spacing: 20px;

  }
  .container-mt{
    margin-top: 50px;
  }

}
@media (max-width: 768px) {
  .block-padding {
    padding-top: 4em;
    padding-bottom: 4rem;
  }
.fs-15 {font-size:15px;}
  .padding-text{
    padding: 1.5rem 10%;
  }
  .big-phrase{
    top: 20%;
  }

  .medium-text{
    font-size: 1.4rem;
    line-height: 2rem;
  }
  .big-text-2{
    font-size: 2.3rem;
    line-height: 3.5rem;
  }
  .image-links a{
    height: 50vh;
  }
  .image-text-block{
    padding-bottom: 140px;
    padding-top: 70px;
  }
  .image-text-block .it-text{
    transform: translateX(0);
    margin: 0 auto;
  }
  .image-text-block .it-image{
    transform: translate(55px,70px);
  }
  .image-text-block .it-image .background-image{
    min-height: 50vh;
  }

  .tall-image{
    height: 50vh;
  }
  .logo-opacity{
    width: 100px;
  }
  .menu-title, .menu-title a {
    font-size: 1.6rem;
    letter-spacing: 10px;
    margin-top: 4px;
  }
  .hg-pl-menu.scrolled .menu-title{
    display:block;
  }
  .hg-pl-menu.scrolled .hg-nav .hg-menu-logo{
    display: none;
  }
  .floating-button-mobile{
    display: flex;
  }
  .floating-button{
    display: none;
  }
}
.hg-ls-1 {
  letter-spacing:1px;
}
.hg-f-mini {
  font-size:16px;
}

@media (width: 768px) {
  .menu-title, .menu-title a{
    margin-top: 13px;
  }
}
@media (width: 820px) {
  .menu-title, .menu-title a{
    text-indent: 1.3rem;
  }
}

@media (min-width: 1024px) {
  .image-text-block .it-image .background-image.vertical{
    width: 66vh;
    background-size: contain;
  }
}