@media (hover: none) and (pointer: coarse) {
  .background-fixed {
    background-attachment: initial !important; } }

@media screen and (max-width: 1366px) {
  #header .logo {
    left: 24px; }
  #header nav li {
    padding: 0 15px; }
  #header nav .langs li {
    margin: 0 6px; }
  #header nav .langs {
    padding-right: 24px; }
  .reviews .swiper-slide::before {
    left: 36px; }
  .reviews .swiper-slide::after {
    right: 24px; } }

@media screen and (max-width: 1199px) {
  body {
    font-size: 14px;
    line-height: 26px; }
  h1, h2 {
    font-size: 30px;
    line-height: 38px; }
  .gallery-strip h2 {
    font-size: 72px;
    line-height: 106px; }
  #header {
    z-index: 999; }
  #header nav > div > .main-menu > ul {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    transform: translate(0, 0);
    height: calc(100vh - 100%);
    padding: 24px 0 120px;
    box-sizing: border-box;
    width: 0;
    opacity: 0;
    overflow: hidden;
    background-color: #BC9EA6;
    transition: width 0.6s, opacity 0.3s; }
  #header nav > div > .main-menu.open > ul {
    width: 100%;
    opacity: 1;
    transition: width 0.6s, opacity 0.6s; }
  #header .main-menu > ul > li {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s, transform 0.6s; }
  #header .main-menu > ul > li.reveal-li {
    opacity: 1;
    transform: translateY(0); }
  #header nav > div > .main-menu .mobile {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100px;
    height: 100%;
    /*text-transform: uppercase;*/ }
  #header nav > div > .main-menu .mobile-content {
    width: 100%;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    color: #fff;
    position: relative; }
  #header nav > div > .main-menu .mobile div {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    transition: transform 0.6s; }
  #header nav > div > .main-menu .mobile div i {
    margin-left: 12px; }
  #header nav > div > .main-menu .mobile .first {
    transform: translate(0, -50%); }
  #header nav > div > .main-menu .mobile .last {
    transform: translate(100%, -50%); }
  #header nav > div > .main-menu .mobile.open .first {
    transform: translate(-100%, -50%); }
  #header nav > div > .main-menu .mobile.open .last {
    transform: translate(0, -50%); }
  #searchbox {
    display: none !important; }
  .sub-menu > a {
    border-right: 1px solid #fff; }
  .sub-menu a::after {
    opacity: 0; }
  li.sub-menu > ul {
    display: block !important;
    top: 0;
    left: 50%;
    transform: translateX(0); }
  .rooms-page #booking,
  .offers-page #booking,
  .contact_us-page #booking,
  .gallery-page #booking,
  .itineraries-page #booking,
  .services-page #booking,
  .position-page #booking {
    top: calc(80vh - 36px); }
  #booking .mobile {
    display: flex;
    max-width: calc(100% - 24px);
    margin: 0 auto;
    background: #BC9EA6;
    border-radius: 50px;
    box-shadow: 0px 2px 20px 0 rgba(21, 24, 36, 0.2); }
  #booking .mobile > div {
    width: 50%; }
  #booking .mobile a {
    height: 72px;
    color: #fff;
    text-transform: uppercase; }
  #booking .mobile a i {
    margin-left: 12px; }
  #booking .mobile .first {
    background: linear-gradient(#fff 100%, transparent 100%) no-repeat right center;
    background-size: 1px 50%; }
  #booking .mobile .last {
    background: linear-gradient(#fff 100%, transparent 100%) no-repeat left center;
    background-size: 1px 50%; }
  #booking .mobile .last i {
    transform: rotate(90deg); }
  #booking .mobile span {
    margin-top: 1px; }
  #header {
    height: 120px; }
  #header .logo {
    height: calc(100% - 24px);
    top: 12px;
    left: 18px; }
  #header .logo img.main-logo {
    height: 100%; }
  #header.compact nav > div > .main-menu .mobile-content {
    color: #615A5C; }
  #header nav .langs {
    font-size: 16px; }
  #header nav li a {
    padding-bottom: 1px; }
  #header.compact .main-menu a {
    color: #fff;
    background: linear-gradient(#fff 100%, transparent 100%) no-repeat left bottom;
    background-size: 0% 1px; }
  .front-page #booking.loaded {
    top: calc(100vh - 90px);
    bottom: initial !important; }
  .strip-content {
    padding: 60px 48px; }
  #header.compact nav .main-menu ul ul {
    padding-top: initial; }
  #header.compact li.sub-menu > ul, #header.compact li.sub-menu > ul li {
    height: 100%; }
  #header.compact li.sub-menu > ul {
    padding-top: initial;
    padding-bottom: initial;
    top: 0; }
  #header.compact li.sub-menu > ul {
    background: initial;
    box-shadow: 0px 0 0 0 transparent !important; }
  #header nav li.sub-menu > a:hover,
  #header nav li.sub-menu > a.is-active {
    background-size: 90% 2px !important; }
  li.sub-menu > ul {
    position: initial; }
  .gallery-strip .image-1 {
    padding: 0 36px 36px 0; }
  .gallery-strip .image-2 {
    padding-bottom: 36px; }
  .gallery-strip .gallery-strip-content:hover .image-1 {
    padding: 0 24px 24px 0; }
  .gallery-strip .gallery-strip-content:hover .image-2 {
    padding-bottom: 24px; }
  .reviews .swiper-slide {
    padding-left: 24px;
    box-sizing: border-box; }
  .rooms-book {
    padding: 18px 36px;
    font-size: 16px;
    line-height: 26px; }
  .description-text {
    max-width: 600px; }
  #map {
    padding-top: 50%; } }

@media screen and (max-width: 959px) {
  .company-data .data-content {
    max-height: 70vh; }
  .company-data.open .data-content {
    transform: translateY(-5vh); }
  .front-page .home-strip figure,
  .offers-page .home-strip figure {
    max-width: 100%; }
  .front-page .strip-content,
  .offers-page .strip-content {
    width: 100%;
    height: 100%;
    max-width: calc(100% - 24px);
    padding: 60px 48px;
    top: 0;
    left: 12px !important;
    right: 12px !important;
    background: rgba(0, 0, 0, 0.6) !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff; }
  .front-page .home-strip,
  .offers-page .home-strip {
    margin-top: 12px;
    margin-bottom: 12px; }
  .front-page .home-strip .strip-content .button a,
  .offers-page .home-strip .strip-content .button a {
    background: #BC9EA6; }
  .rooms-page .gallery .content,
  .gallery-page .gallery .content {
    padding: 0; }
  .gallery-strip .image-1 .button {
    bottom: 18px;
    left: 50%;
    width: 150px;
    padding: 24px;
    font-size: 12px; }
  .gallery-strip .image-1 .button span:last-child {
    margin-top: 6px;
    font-size: 30px;
    line-height: 52px; }
  .home-description,
  .gallery-strip,
  .rooms-page .services,
  .rooms-page .gallery,
  .gallery-page .gallery,
  #contacts,
  .info-strip {
    padding: 36px 0; }
  .gallery-strip h2,
  .rooms-page .gallery h2,
  .gallery-page .gallery h2 {
    margin-bottom: 24px;
    font-size: 48px;
    line-height: 72px; }
  .rooms-page .home-description,
  .offers-page .home-description,
  .contact_us-page .home-description,
  .gallery-page .home-description,
  .itineraries-page .home-description,
  .services-page .home-description,
  .position-page .home-description {
    padding-top: 72px; }
  .rooms-page .services .content {
    padding-top: 24px; }
  .rooms-page .services .service {
    margin: 24px 0; }
  .home-description .content {
    max-width: calc(100% - 12px); } }

@media screen and (max-width: 767px) {
  .home-strip figure {
    padding-top: 75%; }
  h1, h2 {
    font-size: 26px;
    line-height: 32px; }
  body {
    font-size: 14px;
    line-height: 22px; }
  .description-text,
  .home-strip .strip-content h2 + div {
    margin-top: 12px; }
  .home-strip .strip-content .button {
    margin-top: 32px; }
  .gallery-strip .image-1 {
    padding: 0 18px 18px 0; }
  .gallery-strip .gallery-strip-content:hover .image-1 {
    padding: 0 12px 12px 0; }
  .gallery-strip .image-2 {
    padding-bottom: 18px; }
  .gallery-strip .gallery-strip-content:hover .image-2 {
    padding-bottom: 12px; }
  .gallery-strip .image-3 figure {
    padding-top: 30%; }
  .gallery-strip .gallery-strip-content:hover .image-3 figure {
    padding-top: calc(30% + 12px); }
  .gallery-strip .image-1 .button {
    bottom: 12px;
    left: 50%;
    width: 120px;
    padding: 18px 12px;
    transform: translate(calc(-50% - 9px), 50%); }
  .gallery-strip .gallery-strip-content:hover .image-1 .button {
    left: calc(50% + 6px); }
  .description-text {
    max-width: calc(100% - 12px); }
  #header .booking-button {
    padding: 0 24px;
    font-size: 12px;
    line-height: 18px;
    max-height: calc(100% - 24px);
    margin-top: 12px; }
  .footer .bottom {
    flex-direction: column; }
  .footer .bottom .column {
    width: 100%;
    margin: 12px 0;
    text-align: center; }
  .footer .bottom h3 {
    justify-content: center; }
  .hero .title {
    font-size: 50px;
    line-height: 60px; }
  .rooms-page .services .service {
    width: 50%; }
  .services-page .home-strip .strip-content,
  .itineraries-page .home-strip .strip-content {
    margin-top: -72px;
    width: calc(100% - 48px);
    max-width: 960px; }
  .services-page .home-strip .strip-content,
  .itineraries-page .home-strip .strip-content {
    padding: 36px; }
  .services-page .home-strip figure,
  .itineraries-page .home-strip figure {
    padding-top: 75%; }
  .reviews .swiper-slide::before {
    top: -48px; }
  .reviews .swiper-slide::after {
    bottom: -48px; }
  #map {
    padding-top: 75%; }
  .info-strip h2.title {
    margin-bottom: 36px; }
  .reach-us-strip h2,
  .reach-us-strip h2 + div {
    margin-top: 12px; }
  .home-strip {
    margin: 72px 0; }
  .rooms-page .gallery a,
  .gallery-page .gallery a {
    width: calc(50% - 3px); }
  .rooms-page .gallery .image,
  .gallery-page .gallery .image {
    padding-top: 75%; }
  .rooms-page .gallery a:nth-child(n+3),
  .gallery-page .gallery a:nth-child(n+3) {
    margin-top: 6px; }
  .contacts-strip {
    padding-top: 96px; }
  .contacts-strip .contact {
    width: 50%;
    margin: 18px 0; }
  .contacts-strip .contact i {
    margin-bottom: 6px;
    padding-bottom: 12px;
    font-size: 36px; }
  .contacts-strip .contact div {
    font-size: 14px; }
  #contacts .form-item input, #contacts .form-item textarea {
    padding: 12px; }
  #contacts .form-item:not(.js-form-type-checkbox) label {
    margin-top: 12px;
    margin-bottom: 6px; }
  #contacts form > input.form-submit {
    padding: 12px;
    font-size: 12px;
    line-height: 24px;
    max-width: 200px; } }

@media screen and (max-width: 574px) {
  #header {
    height: 100px;
    font-size: 16px;
    line-height: 26px; }
  #header nav .langs {
    font-size: 14px; }
  #header nav li a {
    padding-bottom: 0; }
  #header nav > div > .main-menu .mobile div i {
    margin-left: 6px; }
  #header.open.compact,
  #header.compact nav {
    height: 70px; }
  #header.compact nav .logo img:last-child {
    height: 100%; }
  #header .booking-button {
    padding: 0 18px;
    font-size: 8px;
    line-height: 16px;
    max-height: calc(100% - 24px);
    margin-top: 15px; }
  body {
    font-size: 12px;
    line-height: 20px; }
  .front-page #booking.loaded {
    top: calc(100vh - 72px);
    bottom: initial !important; }
  #booking .mobile a {
    font-size: 10px;
    height: 60px; }
  #booking .mobile a i {
    margin-left: 6px !important; }
  #booking .mobile {
    max-width: calc(100% - 12px); }
  h1,
  h2 {
    font-size: 22px;
    line-height: 28px; }
  .front-page .strip-content,
  .offers-page .strip-content {
    padding: 48px 24px; }
  .home-strip figure {
    padding-top: 100%; }
  .gallery-strip h2,
  .rooms-page .gallery h2,
  .gallery-page .gallery h2 {
    margin-bottom: 12px;
    font-size: 36px;
    line-height: 48px; }
  .gallery-strip .image-1 {
    padding: 0 12px 12px 0;
    width: 45%; }
  .gallery-strip .image-2 {
    padding-bottom: 12px; }
  .gallery-strip .image-2 figure {
    padding-top: 50%; }
  .gallery-strip .image-1 .button {
    bottom: 0;
    width: 100px;
    padding: 12px 12px;
    transform: translate(calc(-50% - 6px), 50%);
    font-size: 10px; }
  .gallery-strip .image-1 .button span:last-child {
    margin-top: 6px;
    font-size: 24px;
    line-height: 36px; }
  .gallery-strip .gallery-strip-content:hover .image-1 {
    padding: 0 9px 9px 0; }
  .gallery-strip .gallery-strip-content:hover .image-2 {
    padding-bottom: 9px; }
  .gallery-strip .gallery-strip-content:hover .image-2 figure {
    padding-top: calc(50%); }
  .gallery-strip .gallery-strip-content:hover .image-3 figure {
    padding-top: calc(30% + 6px); }
  .reviews .title {
    font-size: 24px;
    line-height: 28px;
    height: 56px;
    letter-spacing: 1px;
    /*margin-bottom: 0;*/ }
  .reviews .content {
    padding: 0 6px; }
  .reviews .swiper-slide {
    padding-left: 12px; }
  .reviews .swiper-slide::before,
  .reviews .swiper-slide::after {
    font-size: 30px;
    line-height: 40px; }
  .reviews .name {
    margin-top: 18px;
    font-size: 16px; }
  .reviews .source {
    font-size: 18px;
    line-height: 28px;
    margin-top: 6px; }
  .footer .logo .footer-logo {
    max-height: 40px; }
  .footer .top .social a {
    font-size: 20px;
    line-height: 25px; }
  .footer .footer-description .title,
  .book h3 {
    font-size: 22px;
    line-height: 28px; }
  .footer .footer-description .text,
  .book .book-description {
    font-size: 12px;
    line-height: 22px; }
  .footer .footer-description .text {
    margin-top: 18px; }
  .book h3 {
    margin-bottom: 12px; }
  .book .book-description {
    margin-bottom: 18px; }
  .rooms-page .home-description,
  .offers-page .home-description,
  .contact_us-page .home-description,
  .gallery-page .home-description,
  .itineraries-page .home-description,
  .services-page .home-description,
  .position-page .home-description {
    padding-top: 48px; }
  .rooms-page .services .service {
    width: 100%; }
  .rooms-page .services .service .name {
    margin-top: 12px; }
  .rooms-book {
    padding: 12px 24px;
    font-size: 12px;
    line-height: 22px; }
  .footer-bottom .content > div {
    padding: 6px 12px; }
  .footer-bottom .content > div,
  .footer-bottom .content > div a {
    font-size: 12px;
    line-height: 22px; }
  .services-page .home-strip .strip-content,
  .itineraries-page .home-strip .strip-content {
    margin-top: -60px;
    width: calc(100% - 24px); }
  .services-page .home-strip .strip-content,
  .itineraries-page .home-strip .strip-content {
    padding: 24px; }
  .services-page .home-strip .strip-content ul li::before,
  .itineraries-page .home-strip .strip-content ul li::before {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 6px; }
  .services-page .home-strip .strip-content ul li,
  .itineraries-page .home-strip .strip-content ul li {
    padding-left: 12px; }
  .info-strip h2.title {
    margin: 0 auto;
    margin-bottom: 36px;
    width: calc(100% - 24px);
    letter-spacing: 1px; }
  .reach-us-strip h2 + div {
    margin: 12px auto 0 auto;
    width: calc(100% - 12px); }
  #map {
    padding-top: 100%; }
  .hero .title {
    font-size: 40px;
    line-height: 50px; }
  .home-description,
  .gallery-strip,
  .rooms-page .services,
  .rooms-page .gallery,
  .gallery-page .gallery,
  #contacts,
  .info-strip {
    padding: 24px 0; }
  .contacts-strip .contact {
    width: 75%; }
  .contacts-strip h2 {
    margin-bottom: 24px; }
  #contacts .form-item input[type='text'],
  #contacts .form-item input[type='email'],
  #contacts .form-item textarea {
    font-size: 14px;
    line-height: 20px; }
  #contacts .form-item {
    width: 100%;
    align-items: flex-start; }
  #contacts form > input.form-submit {
    max-width: 100%; }
  #contacts .form-item.js-form-type-checkbox label::after {
    top: 16px; } }
