@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,600,700&subset=latin,cyrillic);
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; }

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

.owl-prev,
.owl-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  .owl-prev.disabled,
  .owl-next.disabled {
    opacity: 0.3; }

.owl-prev {
  left: 0; }

.owl-next {
  right: 0;
  -webkit-transform: translateY(-50%) rotate(180deg);
      -ms-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg); }

body {
  background: #fff;
  font-family: "Open Sans", "Arial", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  color: #444444;
  -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, h5, h6 {
  text-align: center; }

h1 {
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 18px; }

h2 {
  font-size: 30px;
  margin-bottom: 22px; }

h3, .h3 {
  font-size: 24px;
  font-weight: 300; }

h4 {
  font-size: 22px; }

h5 {
  font-size: 20px; }

h6 {
  font-size: 18px; }

p {
  margin-bottom: 20px; }

strong,
b {
  font-weight: 700; }

a {
  color: #444444;
  text-decoration: none; }

.subtitle {
  font-size: 18px;
  display: block;
  text-align: center; }

@media screen and (max-width: 1023px) {
  body {
    font-size: 15px; }
  h1 {
    font-size: 32px; }
  h2 {
    font-size: 28px;
    margin-bottom: 27px; }
  h3, .h3 {
    font-size: 21px; } }

@media screen and (max-width: 767px) {
  h1 {
    font-size: 22px; }
  h2 {
    font-size: 18px;
    margin-bottom: 15px; }
  h3, .h3 {
    font-size: 14px; } }

.clearfix:after, .columns:after, .container:after {
  content: "";
  display: table;
  clear: both; }

[class^='column-'],
[class*=' column-'] {
  float: left; }

.column-50 {
  width: 50%; }

.column-33 {
  width: 33.33%; }

.column-25 {
  width: 25%; }

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

.container {
  position: relative;
  margin: 0 auto;
  max-width: 970px;
  padding: 0 15px; }

.wrapper {
  overflow: hidden; }

.footer {
  text-align: center;
  padding: 30px 0;
  background-color: #f3f3f3; }
  .footer__logo {
    margin-left: -42px; }

@media screen and (max-width: 767px) {
  .footer {
    padding: 20px 0; }
    .footer__logo {
      margin-left: -38px; } }

input[type=text],
input[type=password],
input[type=date],
input[type=datetime],
input[type=email],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
select,
textarea {
  width: 100%;
  border-bottom: none;
  border-top: none;
  border-left: none;
  border-right: none;
  cursor: text;
  padding: 5px;
  border-radius: 0; }

.form-row {
  margin-bottom: 10px; }

.wrap-input,
.wrap-select {
  position: relative; }

.buttons {
  text-align: center;
  margin-bottom: 35px; }

.btn {
  display: inline-block;
  text-align: center;
  padding: 0 52px;
  height: 48px;
  line-height: 46px;
  color: #444444;
  border: 1px solid #07af61;
  border-radius: 24px;
  background-color: #fff;
  min-width: 280px;
  font-size: 15px; }
  .btn:hover {
    border: 1px solid #05884b; }

svg[class^='icon-'],
svg[class*=' icon-'] {
  display: inline-block; }

/* flip icons */
.icon-loupe,
.icon-pork,
.icon-key,
.icon-label {
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
      transform: scaleX(-1);
  -webkit-filter: FlipH;
          filter: FlipH;
  -ms-filter: "FlipH"; }

.icon-logo {
  width: 100px;
  height: 98px;
  fill: #fff; }

.icon-logo-2 {
  width: 209px;
  height: 66px; }

.icon-agoda {
  width: 86px;
  height: 32px;
  fill: #fff; }

.icon-booking {
  width: 130px;
  height: 22px;
  fill: #fff; }

.icon-happy {
  display: inline-block;
  width: 133px;
  height: 30px; }
  .icon-happy img {
    max-width: 100%; }

.icon-happy-color {
  display: inline-block;
  width: 133px;
  height: 30px; }
  .icon-happy-color img {
    max-width: 100%; }

.icon-easy {
  display: inline-block;
  width: 152px;
  height: 25px; }
  .icon-easy img {
    max-width: 100%; }

.icon-easy-color {
  display: inline-block;
  width: 152px;
  height: 25px; }
  .icon-easy-color img {
    max-width: 100%; }

.icon-ozon {
  width: 101px;
  height: 34px;
  fill: #fff; }

.icon-ostrovok {
  width: 155px;
  height: 20px;
  fill: #fff; }

.icon-arrow {
  width: 32px;
  height: 52px;
  fill: #444444; }

.icon-key {
  width: 20px;
  height: 20px;
  fill: #07af61; }

.icon-house {
  width: 22px;
  height: 22px;
  fill: #07af61; }

.icon-like {
  width: 22px;
  height: 22px;
  fill: #07af61; }

.icon-loupe {
  width: 72px;
  height: 72px;
  fill: #07af61; }

.icon-pork {
  width: 72px;
  height: 72px;
  fill: #07af61; }

.icon-wallet {
  width: 72px;
  height: 64px;
  fill: #07af61; }

.icon-shield {
  width: 64px;
  height: 73px;
  fill: #07af61; }

.icon-balance {
  width: 28px;
  height: 27px;
  fill: #07af61; }

.icon-find {
  width: 28px;
  height: 27px;
  fill: #07af61; }

.icon-cite {
  width: 28px;
  height: 21px;
  fill: #07af61; }

.icon-hotel-1 {
  width: 64px;
  height: 73px;
  fill: #fff; }

.icon-hotel-2 {
  width: 70px;
  height: 62px;
  fill: #fff; }

.icon-hotel-3 {
  width: 78px;
  height: 57px;
  fill: #fff; }

.icon-hotel-4 {
  width: 79px;
  height: 44px;
  fill: #fff; }

.icon-search {
  width: 22px;
  height: 21px;
  fill: #fff; }

.link-wrap-img {
  display: block; }

.show-xm {
  display: none !important; }

.cell {
  display: table-cell;
  vertical-align: middle;
  text-align: center; }

.tbl {
  display: table;
  width: 100%; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.border {
  height: 22px;
  text-align: center;
  position: relative;
  max-width: 83%;
  margin: 0 auto;
  margin-bottom: 26px; }
  .border:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 1px;
    background-color: #07af61; }
  .border__inner {
    background-color: #fff;
    display: inline-block;
    min-width: 68px;
    padding: 0 10px;
    position: relative; }
  .border--gray-bg .border__inner {
    background-color: #f3f3f3; }
  .border--green-bg:before {
    background-color: #fff; }
  .border--green-bg .border__inner {
    background-color: #28a745; }
  .border--transparent .border__inner {
    background-color: transparent; }
  .border--transparent:before {
    right: calc(50% + 25px); }
  .border--transparent:after {
    content: '';
    position: absolute;
    left: calc(50% + 25px);
    right: 0;
    top: 50%;
    height: 1px;
    background-color: #07af61; }

.logo {
  color: #fff; }
  .logo:hover {
    opacity: 0.9; }
  .logo__text {
    display: block;
    font-style: italic;
    font-size: 14px;
    padding: 6px 0; }

.present {
  padding: 40px 0 50px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
  color: #fff;
  position: relative;
  overflow: hidden; }
  .present:before, .present:after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 0;
    height: 0; }
  .present:before {
    left: 50%;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%);
    border-bottom: 50px solid #fff;
    border-right: 1500px solid transparent; }
  .present:after {
    right: 50%;
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%);
    border-bottom: 50px solid #fff;
    border-left: 1500px solid transparent; }
  .present .h3 {
    margin-bottom: 55px;
    display: block; }
  .present__logo {
    margin-bottom: 86px; }
  .present__form {
    min-height: 164px;
    margin-bottom: 96px; }

.system {
  color: #fff;
  text-align: center; }
  .system__title {
    font-size: 18px;
    display: block;
    margin-bottom: 20px; }

.system-list {
  font-size: 0;
  text-align: center; }
  .system-list li {
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    margin: 0 15px; }
  .system-list .cell {
    height: 34px; }

.advantages {
  padding: 53px 0 57px; }
  .advantages .border {
    margin-bottom: 50px; }

.advantages-list {
  font-size: 0; }
  .advantages-list li {
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    width: 33%; }

.advantages-item {
  text-align: center;
  padding: 0 24px; }
  .advantages-item__icon {
    margin-bottom: 24px; }
    .advantages-item__icon .cell {
      height: 76px; }
  .advantages-item__title {
    display: block;
    font-weight: 600;
    margin-bottom: 18px; }
  .advantages-item__text {
    font-size: 15px; }

.find {
  background-color: #f3f3f3;
  padding: 55px 0 55px; }
  .find h2 {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto; }
  .find .subtitle {
    max-width: 88%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 53px; }

.find-list {
  max-width: 70.5%;
  margin: 0 auto; }
  .find-list li {
    margin-bottom: 40px; }
    .find-list li:last-child {
      margin-bottom: 0; }

.find-item {
  display: table; }
  .find-item__icon, .find-item__text {
    display: table-cell;
    vertical-align: top; }
  .find-item__text {
    padding-left: 21px; }

.widget {
  padding: 120px 0 120px;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  background-color: #555658; }
  .widget h2 {
    max-width: 88%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 55px; }
  .widget__form {
    min-height: 164px; }

.booking {
  padding: 55px 0 55px;
  background-color: #28a745;
  color: #fff; }
  .booking .border {
    margin-bottom: 50px; }

.booking-list {
  font-size: 0; }
  .booking-list li {
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    width: 25%; }

.booking-item {
  text-align: center;
  padding: 0 10px; }
  .booking-item__icon {
    width: 120px;
    margin: 0 auto 24px; }
    .booking-item__icon .cell {
      height: 120px;
      border: 2px solid #fff;
      border-radius: 50%; }
  .booking-item__desc {
    font-weight: 600; }
    .booking-item__desc > strong,
    .booking-item__desc > span {
      display: block; }
    .booking-item__desc > strong {
      font-weight: 600;
      font-size: 26px;
      margin-bottom: 3px; }

.carousel {
  padding: 55px 0 56px; }
  .carousel .border {
    margin-bottom: 30px; }
  .carousel .subtitle {
    margin-bottom: 25px; }

.carousel-list {
  padding: 0 120px;
  overflow: hidden; }
  .carousel-list li {
    min-height: 303px; }

.carousel-item {
  display: block;
  border: 1px solid #d9d9d9;
  text-align: center;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out; }
  .carousel-item:hover {
    opacity: 0.9; }
  .carousel-item__img {
    margin: -1px -1px 0;
    max-height: 220px;
    overflow: hidden; }
    .carousel-item__img img {
      width: auto;
      min-height: 220px;
      min-width: 100%; }
  .carousel-item__desc {
    padding: 18px 10px;
    min-height: 101px; }
  .carousel-item__city, .carousel-item__num {
    display: block; }
  .carousel-item__city {
    font-size: 18px;
    margin-bottom: 5px; }
  .carousel-item__num {
    color: #07af61; }
    

@media screen and (max-width: 1023px) {
  .border {
    max-width: 100%; }
  .present__logo {
    margin-bottom: 66px; }
  .present h1 {
    margin: 0 -5px 20px; }
  .present__form {
    margin-bottom: 80px; }
  .advantages-item {
    padding: 0 10px; }
    .advantages-item__text {
      font-size: 14px; }
  .find h2,
  .find .subtitle {
    max-width: 100%; }
  .find-list {
    max-width: 87%; }
    .find-list li {
      margin-bottom: 36px; }
  .widget h2 {
    max-width: 100%; }
  .carousel h2 {
    margin-left: -5px;
    margin-right: -5px; }
  .carousel-list {
    padding: 0 62px; } }

@media screen and (max-width: 767px) {
  .hide-xm {
    display: none !important; }
  .show-xm {
    display: block !important; }
  .icon-happy {
    width: 110px; }
  .icon-easy {
    width: 120px; }
  .icon-arrow {
    width: 23px;
    height: 36px; }
  .icon-hotel-1 {
    width: 44px;
    height: 51px; }
  .icon-hotel-2 {
    width: 48px;
    height: 53px; }
  .icon-hotel-3 {
    width: 54px;
    height: 39px; }
  .icon-hotel-4 {
    width: 55px;
    height: 31px; }
  .icon-logo {
    width: 80px;
    height: 84px; }
  .icon-logo-2 {
    width: 160px;
    height: 50px; }
  .icon-booking {
    width: 104px;
    height: 18px; }
  .icon-agoda {
    width: 68px;
    height: 28px; }
  .icon-ostrovok {
    width: 124px;
    height: 16px; }
  .icon-ozon {
    width: 78px;
    height: 26px; }
  .icon-loupe,
  .icon-pork {
    width: 37px;
    height: 36px; }
  .icon-wallet {
    width: 37px;
    height: 34px; }
  .icon-shield {
    width: 31px;
    height: 36px; }
  .logo__text {
    display: none; }
  .present {
    padding: 16px 0 18px; }
    .present h1 {
      margin-bottom: 15px; }
    .present .h3 {
      margin-bottom: 15px; }
    .present__logo {
      margin-bottom: 20px; }
    .present__form {
      margin-bottom: 20px; }
  .system__title {
    display: none; }
  .system-list li {
    width: 49%;
    margin: 0 0 4px; }
    .system-list li:nth-child(2n) {
      width: 49%; }
  .advantages {
    padding: 26px 0 18px; }
    .advantages .border {
      margin-bottom: 26px; }
  .advantages-list li {
    width: 100%;
    margin-bottom: 15px; }
    .advantages-list li:last-child {
      margin-bottom: 0; }
  .advantages-item {
    text-align: left; }
    .advantages-item__icon {
      float: left;
      width: 53px;
      padding: 4px 0 4px 7px;
      margin-bottom: 0; }
      .advantages-item__icon .cell {
        display: block;
        height: auto; }
    .advantages-item__text {
      font-size: 15px;
      overflow: hidden;
      padding-left: 21px; }
  .find {
    padding: 28px 0 25px; }
    .find .subtitle {
      display: none; }
  .find-list {
    max-width: 100%;
    counter-reset: headings; }
    .find-list li {
      position: relative;
      padding: 0 0 0 22px;
      margin-bottom: 18px; }
      .find-list li:last-child {
        margin-bottom: 0; }
      .find-list li:before {
        counter-increment: headings;
        content: counter(headings, decimal) ". ";
        font-size: 15px;
        color: #07af61;
        line-height: 1.2;
        position: absolute;
        left: 0;
        top: 0px; }
      .find-list li > strong {
        display: block;
        margin-bottom: 20px; }
  .find-item__icon {
    display: none; }
  .find-item__text {
    padding-left: 0; }
  .widget {
    padding: 28px 0 30px; }
    .widget .h3 {
      font-size: 18px;
      margin-bottom: 30px; }
  .booking {
    padding: 28px 0 30px; }
    .booking .border {
      margin-bottom: 30px; }
  .booking-list li {
    width: 50%;
    margin-bottom: 35px; }
    .booking-list li:last-child, .booking-list li:nth-last-child(2) {
      margin-bottom: 0; }
  .booking-item__icon {
    width: 84px;
    margin-bottom: 15px; }
    .booking-item__icon .cell {
      height: 84px; }
  .booking-item__desc strong {
    font-size: 22px;
    margin-bottom: 5px; }
  .carousel {
    padding: 28px 0 26px; }
    .carousel .border {
      margin-bottom: 32px; }
  .carousel-list {
    padding: 0 52px; } }

@media screen and (max-height: 799px) and (min-height: 640px) and (min-width: 768px) {
  .present {
    padding: 0; }
    .present .container {
      height: 100vh;
      padding-top: 40px;
      padding-bottom: 60px; }
    .present__form {
      margin-bottom: 0; } }

@media screen and (max-height: 799px) and (min-height: 721px) and (min-width: 768px) {
  /*.present__system, .present__fix-height {
    position: absolute;
    left: 15px;
    right: 15px; }*/
  .present__system {
    bottom: 55px; }
  .present__fix-height {
    padding-bottom: 1em;
    bottom: 115px; } }

@media screen and (max-height: 720px) and (min-height: 676px) and (min-width: 768px) {
  .present__logo {
    margin-bottom: 20px; }
  .present__fix-height {
    position: static;
    bottom: 115px;
    padding-bottom: 113px; }
  .present__system {
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 55px; } }

@media screen and (max-height: 675px) and (min-height: 640px) and (min-width: 768px) {
  .present__logo {
    margin-bottom: 20px; }
  .present__form {
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 173px; }
  .present__system {
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 55px; } }

    /*====================
     About us page CSS
     =====================*/

     .about-wrap {
      background: url(../img/about_bg.png);
      background-attachment: fixed;
      min-height: 92vh;
  }
  .header-about {
    padding: 20px 0;
  }
  .breadcrumbs {
    color: #fff;
    margin: 0;
    font-weight: 600;
    font-size: 14px;
  }
  .breadcrumbs a {
    color: #fff;
  }
  .about-wrap .container {
    max-width: 900px;
}
  .staticContent{
    padding: 3rem 8%;
    box-shadow: 0 0.3rem 2.5rem rgb(0 0 0 / 20%);
    border-radius: 8px;
   
}
.staticContent p, .staticContent li{
  font-family: 'Merriweather', serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.9em;
  color: #444444;
}
.staticContent h3{
  font-weight: 700;
  line-height: 1.9em;
  color: #07af61;
}
.staticContent h2{
  font-weight: 700;
  line-height: 1.9em;
  color: #07af61;
}
.staticContent h5{
  margin: 20px 0;
}

.staticContent ol{
  padding: 0 0 0 1rem;
  list-style-type: decimal;
}
.extra-margin{
  margin: 20px 0;
}

/* Footer Section */
.header-about img {
  width: 70px;
  max-width: 100%;
}
.footer-logo img {
  width: 145px;
  max-width: 100%;
}
.footer-logo{
  text-align: center;
}
.footer-menu ul li {
  display: inline-block;
  padding: 10px 15px;
  font-size: 14px;
}
.footer-menu ul {
  text-align: center;
}


.footer-logo h3, .footer-socail ul li a, .footer-menu ul li a {
  color: #bbbab9;
}
.footer-logo h3:hover, .footer-socail ul li a:hover, .footer-menu ul li a:hover {
  color: #fff !important;
}
.footer-logo h3{
  font-weight: 600;
}
.footer-main {
  background-color: #444;
  padding: 20px 10px;
}

ul.social {
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
}

ul.social > li {
  display: inline-block;
}

ul.social > li > a {
  display: inline-block;
  font-size: 18px;
}




@media only screen and (max-width: 768px) {
  .footer-menu{
    margin: 20px 0;
  }
  .footer-menu ul li {
    padding: 5px;
}
}
a:hover {
  color: #fff;
  text-decoration: none;
}
a.carousel-item:hover{
  color: #444444;
}
.border {
  border: none !important;
}
a#logo-top img {
  width: 150px;
}
.counter-part h1{
margin: 0px !important;
}












/*carloshorson code*/
@media only screen and (min-width:768px)
{
    .hideondesktop{
        display:none !important;
    }
    ul.system-list li {
    width: 39%;
    padding-bottom: 1em;
}

.leftside, .rightside{
    display: inline-block;
    width: 49% !important;
    vertical-align: middle;
}



.present__logo {
    margin-bottom: 1em;
}


.container.changeondesktop {
    max-width: 100%;
    text-align: center !important;
    margin-inline: auto;
        padding-left: 0;
}




.rightside h1 {
    text-align: left;
    padding-left: 0.5em;
    font-size: 4em;
    font-weight: 600;
    line-height: 90px;
}




div#present__form .mewtwo-hotels--s {
    max-width: 100% !important;
    margin-inline: auto;
}

.present .h3 {
    margin-bottom: 1em;
}


.owl-next {
    right: 6.5em;
    top: 35%;
}

.owl-prev {
    left: 6.5em;
    top: 35%;
}

ul.system-list {
    max-width: 650px !important;
    margin-inline: auto;
}
}

@media only screen and (max-width:768px)
{
    .hideonmobile{
        display:none !important;
    }
    
    div#present__form .mewtwo-widget--touch.mewtwo-hotels--s {
    margin-inline: auto;
}


.owl-next {
    top: 35%;
}

.owl-prev {
    top: 35%;
}


}






.carousel-item__img {
    border-radius: 8px;
}

a.carousel-item {
    border: none;
}

.carousel-item__desc {
    text-align: left;
    padding-inline: 0;
    padding-top: 15px;
}

span.carousel-item__city {
    font-weight: 700;
    font-size: 16px;
    color: #192024;
}

span.carousel-item__num {
    color: #192024;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
}

.carousel .container {
    max-width: 1210px;
}


.owl-nav div {
    background: #fff;
    box-shadow: 0 3px 6px rgb(25 32 36 / 16%), 0 -1px 4px rgb(25 32 36 / 4%);
    border-radius: 8px;
    padding: 9px;
}

.icon-arrow {
    width: 15px;
    height: 15px;
}




.owl-next {
    content: url('https://api.iconify.design/ooui/previous-ltr.svg');
}

.owl-prev {
    content: url('https://api.iconify.design/ooui/previous-ltr.svg');
}


h1, h2, h3, h4, h5, span, p, a, div, input, input::placeholder, strong, i, b, li {
    font-family: Helvetica Neue, Helvetica, Arial, sans-serifsans-serif;
}

span.carousel-item__num {
    font-weight: 500 !important;
    font-family: 'Helvetica';
}


span.plussign {
    position: relative;
    top: -2px;
}
span.lightfont {
    font-weight: 500;
    font-family: 'Helvetica';
}

/* ==========================================================
   VANA STAYS - Rounded ZenHotels hero/header
   ========================================================== */
.vs-hero-new {
  position: relative;
  width: calc(100% - 48px);
  max-width: 1320px;
  min-height: 620px;
  margin: 24px auto 72px;
  border-radius: 28px;
  overflow: hidden;
  background-image:
    linear-gradient(90deg, rgba(6, 25, 49, 0.56) 0%, rgba(6, 25, 49, 0.24) 46%, rgba(6, 25, 49, 0.08) 100%),
    url("../img/vs-header.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  box-shadow: 0 18px 50px rgba(14, 40, 72, 0.14);
}

.vs-hero-new__inner {
  position: relative;
  z-index: 2;
  min-height: 620px;
  padding: 30px 42px 46px;
  display: flex;
  flex-direction: column;
}

.vs-hero-new__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.vs-hero-new__logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.vs-hero-new__logo img {
  display: block;
  width: 190px;
  max-width: 100%;
  height: auto;
}

.vs-hero-new__links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.vs-hero-new__links a,
.vs-hero-new__meta {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.22);
}

.vs-hero-new__links a:hover,
.vs-hero-new__links a:focus {
  color: #fff;
  text-decoration: underline;
}

.vs-hero-new__divider {
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, 0.45);
}

.vs-hero-new__content {
  margin-top: auto;
  margin-bottom: 22px;
  max-width: 720px;
}

.vs-hero-new__title {
  margin: 0;
  color: #fff;
  text-align: left;
  font-size: clamp(50px, 6.2vw, 86px);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.045em;
  text-shadow: 0 3px 20px rgba(0, 0, 0, 0.18);
}

.vs-hero-new__widget {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1000px;
  margin: 8px auto 0;
}

/* Keep the ZenHotels widget inside the rounded hero. */
.vs-hero-new__widget > *,
.vs-hero-new__widget iframe {
  max-width: 100% !important;
}

/* Remove legacy homepage hero behavior from affecting the new hero. */
.vs-hero-new .container,
.vs-hero-new .present__form,
.vs-hero-new .present__logo {
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 991px) {
  .vs-hero-new {
    width: calc(100% - 28px);
    min-height: 570px;
    margin-top: 14px;
    border-radius: 24px;
    background-position: 58% center;
  }

  .vs-hero-new__inner {
    min-height: 570px;
    padding: 24px 26px 34px;
  }

  .vs-hero-new__logo img {
    width: 165px;
  }

  .vs-hero-new__links {
    gap: 14px;
  }

  .vs-hero-new__links .vs-hero-new__page-link,
  .vs-hero-new__divider {
    display: none;
  }

  .vs-hero-new__content {
    max-width: 560px;
  }
}

@media screen and (max-width: 767px) {
  .vs-hero-new {
    width: calc(100% - 20px);
    min-height: 520px;
    margin: 10px auto 48px;
    border-radius: 20px;
    background-position: 62% center;
  }

  .vs-hero-new__inner {
    min-height: 520px;
    padding: 20px 18px 26px;
  }

  .vs-hero-new__logo img {
    width: 150px;
  }

  .vs-hero-new__meta {
    font-size: 12px;
  }

  .vs-hero-new__title {
    font-size: clamp(44px, 13vw, 64px);
    max-width: 420px;
  }

  .vs-hero-new__widget {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media screen and (max-width: 520px) {
  .vs-hero-new__links .vs-hero-new__currency {
    display: none;
  }
}

/* ==========================================================
   VANA STAYS HERO WIDTH OVERRIDE
   Equal 12px top/left/right white gutter.
   Use % instead of 100vw to avoid scrollbar-width overflow.
   ========================================================== */
.vs-hero-new {
  width: calc(100% - 24px) !important;
  max-width: none !important;
  margin-top: 12px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 20px !important;
}

@media screen and (max-width: 767px) {
  .vs-hero-new {
    width: calc(100% - 20px) !important;
    margin-top: 10px !important;
    border-radius: 16px !important;
  }
}

/* ==========================================================
   VANA STAYS HERO LAYOUT V4
   Widget centered in green panel; headline on photo.
   ========================================================== */
.vs-hero-new__inner {
  position: relative !important;
}

/* Search widget centered inside the green half. */
.vs-hero-new__widget {
  position: absolute !important;
  left: 4.5% !important;
  top: 57% !important;
  width: 41% !important;
  max-width: 680px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
}

/* Give the injected ZenHotels element the full available green-panel width. */
.vs-hero-new__widget > *,
.vs-hero-new__widget iframe {
  width: 100% !important;
  max-width: 100% !important;
}

/* Headline sits just inside the image, offset slightly right from the split. */
.vs-hero-new__content {
  position: absolute !important;
  left: 55% !important;
  top: 52% !important;
  width: 38% !important;
  max-width: 620px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 4 !important;
}

.vs-hero-new__title {
  margin: 0 !important;
  color: #fff !important;
  text-align: left !important;
  font-size: clamp(52px, 5.2vw, 84px) !important;
  font-weight: 700 !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .28) !important;

  opacity: 0;
  transform: translateY(34px);
  animation: vsHeroFadeUp .9s cubic-bezier(.2,.7,.2,1) .18s forwards;
}

@keyframes vsHeroFadeUp {
  from {
    opacity: 0;
    transform: translateY(34px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .vs-hero-new__title {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* On narrower screens, allow the widget more room and keep the headline readable. */
@media screen and (max-width: 1100px) {
  .vs-hero-new__widget {
    left: 3% !important;
    width: 45% !important;
    max-width: none !important;
  }

  .vs-hero-new__content {
    left: 54% !important;
    width: 42% !important;
  }

  .vs-hero-new__title {
    font-size: clamp(44px, 5.7vw, 68px) !important;
  }
}

@media screen and (max-width: 767px) {
  .vs-hero-new__widget {
    position: absolute !important;
    left: 6% !important;
    right: 6% !important;
    top: auto !important;
    bottom: 26px !important;
    width: auto !important;
    transform: none !important;
  }

  .vs-hero-new__content {
    left: 8% !important;
    top: 43% !important;
    width: 84% !important;
    max-width: none !important;
  }

  .vs-hero-new__title {
    font-size: clamp(42px, 12vw, 62px) !important;
  }
}

/* ==========================================================
   VANASTAYS FOOTER WORDMARK
   ========================================================== */
.footer-logo .footer-vanastays-logo {
  display: block;
  width: 140px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  .footer-logo .footer-vanastays-logo {
    width: 125px;
  }
}

/* ==========================================================
   VANASTAYS MOBILE HERO V2
   Full photo background + responsive CTA + stacked ZenHotels card.
   Desktop styles remain unchanged.
   ========================================================== */
@media screen and (max-width: 767px) {

  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  /*
   * Keep the same 10px outer white gutter.
   * The source hero artwork is a left/right composition.
   * Stretch it to 200% width and pin to the right so the photographic
   * half alone fills the entire mobile hero from top to bottom.
   */
  .vs-hero-new {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    min-height: 790px !important;
    margin: 10px auto 42px !important;
    border-radius: 18px !important;
    overflow: hidden !important;

    background-image:
      linear-gradient(
        180deg,
        rgba(5, 20, 36, .22) 0%,
        rgba(5, 20, 36, .08) 38%,
        rgba(5, 20, 36, .20) 100%
      ),
      url("../img/vs-header.png") !important;

    background-size: 100% 100%, 200% 100% !important;
    background-position: center center, right center !important;
    background-repeat: no-repeat !important;
  }

  .vs-hero-new__inner {
    position: relative !important;
    min-height: 790px !important;
    padding: 20px 16px 24px !important;
  }

  .vs-hero-new__nav {
    position: relative !important;
    z-index: 20 !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  .vs-hero-new__logo img {
    display: block !important;
    width: 145px !important;
    max-width: 52vw !important;
    height: auto !important;
  }

  /* CTA sits clearly over the image, above the search card. */
  .vs-hero-new__content {
    position: absolute !important;
    left: 7% !important;
    top: 23% !important;
    width: 86% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 5 !important;
  }

  .vs-hero-new__title {
    max-width: 320px !important;
    margin: 0 !important;
    color: #fff !important;
    text-align: left !important;
    font-size: clamp(38px, 11vw, 50px) !important;
    font-weight: 700 !important;
    line-height: .98 !important;
    letter-spacing: -.035em !important;
    text-shadow: 0 3px 18px rgba(0, 0, 0, .30) !important;
  }

  /*
   * Keep the complete ZenHotels card inside the rounded hero.
   * The helper script adds mobile classes after the widget loads.
   */
  .vs-hero-new__widget {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 22px !important;
    width: calc(100% - 26px) !important;
    max-width: none !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    overflow: visible !important;
    z-index: 10 !important;
  }

  #zenhotels-widget,
  #zenhotels-widget > *,
  #zenhotels-widget form,
  #zenhotels-widget iframe {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  #zenhotels-widget * {
    box-sizing: border-box !important;
  }

  #zenhotels-widget .vs-zen-mobile-root {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 18px !important;
    border-radius: 20px !important;
  }

  #zenhotels-widget .vs-zen-mobile-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #zenhotels-widget .vs-zen-mobile-field,
  #zenhotels-widget .vs-zen-mobile-button-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }

  #zenhotels-widget input,
  #zenhotels-widget select,
  #zenhotels-widget [role="combobox"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #zenhotels-widget .vs-zen-mobile-button,
  #zenhotels-widget button {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Slightly tighten the area below the hero without changing its layout. */
  .advantages {
    padding-top: 22px !important;
  }

  .advantages h2 {
    font-size: 25px !important;
    line-height: 1.18 !important;
    padding: 0 10px !important;
  }
}

@media screen and (max-width: 420px) {

  .vs-hero-new {
    min-height: 765px !important;
  }

  .vs-hero-new__inner {
    min-height: 765px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .vs-hero-new__logo img {
    width: 136px !important;
  }

  .vs-hero-new__content {
    left: 6% !important;
    top: 22% !important;
    width: 88% !important;
  }

  .vs-hero-new__title {
    max-width: 290px !important;
    font-size: clamp(36px, 10.6vw, 46px) !important;
  }

  .vs-hero-new__widget {
    width: calc(100% - 18px) !important;
    bottom: 16px !important;
  }

  #zenhotels-widget .vs-zen-mobile-root {
    padding: 16px !important;
  }
}

/* ==========================================================
   VANASTAYS MOBILE HERO V3
   Center widget + align logo/CTA to widget left edge.
   ========================================================== */
@media screen and (max-width: 767px) {

  /* Slightly shorter hero so the logo/CTA/widget feel more connected. */
  .vs-hero-new {
    min-height: 730px !important;
  }

  .vs-hero-new__inner {
    min-height: 730px !important;
    padding-top: 18px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /*
   * The search card is centered with equal left/right inset.
   * This becomes the alignment reference for the logo and CTA.
   */
  .vs-hero-new__widget {
    left: 50% !important;
    width: calc(100% - 44px) !important;
    bottom: 16px !important;
    transform: translateX(-50%) !important;
  }

  /* Align the brand to the same left edge as the search card. */
  .vs-hero-new__nav {
    width: calc(100% - 44px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .vs-hero-new__logo {
    margin: 0 !important;
    padding: 0 !important;
  }

  .vs-hero-new__logo img {
    width: 142px !important;
    max-width: 48vw !important;
  }

  /* CTA uses the same left edge as the centered widget. */
  .vs-hero-new__content {
    left: 22px !important;
    top: 17.5% !important;
    width: calc(100% - 44px) !important;
    max-width: none !important;
  }

  .vs-hero-new__title {
    max-width: 300px !important;
    font-size: clamp(36px, 10.5vw, 48px) !important;
    line-height: .98 !important;
  }

  /*
   * Slightly tighten the injected white card itself so it stays visually
   * centered and doesn't feel oversized on narrow phones.
   */
  #zenhotels-widget .vs-zen-mobile-root {
    padding: 15px !important;
    border-radius: 18px !important;
  }

  #zenhotels-widget .vs-zen-mobile-row {
    gap: 9px !important;
  }
}

@media screen and (max-width: 420px) {

  .vs-hero-new {
    min-height: 705px !important;
  }

  .vs-hero-new__inner {
    min-height: 705px !important;
  }

  .vs-hero-new__widget {
    width: calc(100% - 36px) !important;
    bottom: 14px !important;
  }

  .vs-hero-new__nav {
    width: calc(100% - 36px) !important;
  }

  .vs-hero-new__content {
    left: 18px !important;
    top: 16.5% !important;
    width: calc(100% - 36px) !important;
  }

  .vs-hero-new__logo img {
    width: 136px !important;
  }

  .vs-hero-new__title {
    max-width: 280px !important;
    font-size: clamp(35px, 10.2vw, 44px) !important;
  }
}

/* ==========================================================
   VANASTAYS MOBILE HERO V4
   Center widget and align logo + CTA with widget.
   ========================================================== */
@media screen and (max-width: 767px) {

  /* One shared horizontal alignment value for widget, logo and CTA. */
  .vs-hero-new {
    --vs-mobile-gutter: 28px;
  }

  /* Center the search card precisely within the hero. */
  .vs-hero-new__widget {
    left: 50% !important;
    right: auto !important;
    width: calc(100% - (var(--vs-mobile-gutter) * 2)) !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    bottom: 16px !important;
  }

  /* Match the logo's left edge to the centered widget's left edge. */
  .vs-hero-new__nav {
    width: calc(100% - (var(--vs-mobile-gutter) * 2)) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    justify-content: flex-start !important;
  }

  /* Match the CTA's left edge to the centered widget's left edge. */
  .vs-hero-new__content {
    left: var(--vs-mobile-gutter) !important;
    width: calc(100% - (var(--vs-mobile-gutter) * 2)) !important;
    top: 16% !important;
    max-width: none !important;
  }

  .vs-hero-new__title {
    margin: 0 !important;
    max-width: 300px !important;
  }
}

@media screen and (max-width: 420px) {
  .vs-hero-new {
    --vs-mobile-gutter: 22px;
  }

  .vs-hero-new__content {
    top: 15.5% !important;
  }
}

/* ==========================================================
   VANASTAYS DESKTOP HERO ALIGNMENT + SHARED FADE-UP
   ========================================================== */
@media screen and (min-width: 768px) {

  /*
   * Raise the search widget so its visual center lines up more closely
   * with the CTA text on the photo side.
   */
  .vs-hero-new__widget {
    top: 52% !important;

    opacity: 0;
    transform: translateY(calc(-50% + 34px)) !important;
    animation: vsHeroWidgetFadeUp .9s cubic-bezier(.2,.7,.2,1) .18s forwards;
  }
}

@keyframes vsHeroWidgetFadeUp {
  from {
    opacity: 0;
    transform: translateY(calc(-50% + 34px));
  }
  to {
    opacity: 1;
    transform: translateY(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  @media screen and (min-width: 768px) {
    .vs-hero-new__widget {
      opacity: 1;
      transform: translateY(-50%) !important;
      animation: none !important;
    }
  }
}
