/* be.less v8.26 FTP */
/* //////////////////////////////////////////////////////////////////////////////////
+
+ LESS
+
///////////////////////////////////////////////////////////////////////////////////*/
/* FONT ////////////////////////////////////////////////////////////////////////////////// */
@font-face {
  font-family: Roboto;
  src: url('/f/roboto-light-webfont.eot');
  src: url('/f/roboto-light-webfont.eot?#iefix') format('embedded-opentype'), url('/f/roboto-light-webfont.woff2') format('woff2'), url('/f/roboto-light-webfont.woff') format('woff'), url('/f/roboto-light-webfont.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Roboto;
  src: url('/f/roboto-regular-webfont.eot');
  src: url('/f/roboto-regular-webfont.eot?#iefix') format('embedded-opentype'), url('/f/roboto-regular-webfont.woff2') format('woff2'), url('/f/roboto-regular-webfont.woff') format('woff'), url('/f/roboto-regular-webfont.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Roboto;
  src: url('/f/roboto-bold-webfont.eot');
  src: url('/f/roboto-bold-webfont.eot?#iefix') format('embedded-opentype'), url('/f/roboto-bold-webfont.woff2') format('woff2'), url('/f/roboto-bold-webfont.woff') format('woff'), url('/f/roboto-bold-webfont.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}
/* COLORS ////////////////////////////////////////////////////////////////////////////////// */
.bg-color {
  color: #FFF;
  background-color: #000000;
}
/* //////////////////////////////////////////////////////////////////////////////////
+
+ 0. RESET 
+
///////////////////////////////////////////////////////////////////////////////////*/
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,
input,
select,
textarea,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  padding: 0px;
  margin: 0px;
  border: 0;
  outline: 0;
  font-style: inherit;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: inherit;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  line-height: 1;
}
article,
#aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
ol,
ul {
  list-style: none;
}
img {
  max-width: 100%;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
a img,
:link img,
:visited img {
  border: none;
}
:focus {
  outline: none;
}
input,
select {
  vertical-align: middle;
}
input[type="checkbox"],
input[type="radio"] {
  background: none;
  border: 0;
  padding: 0;
  width: auto !important;
}
input[type="radio"] {
  vertical-align: baseline;
}
input[type="checkbox"] {
  vertical-align: baseline;
}
/* //////////////////////////////////////////////////////////////////////////////////
+
+ 1. TAGS & GUI'S & HACKS 
+
///////////////////////////////////////////////////////////////////////////////////*/
body {
  font: 400 13px "Roboto", Helvetica, Arial, sans-serif;
  color: #555555;
  background-color: #F4F4F4;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font: 300 36px "Roboto", Helvetica, Arial, sans-serif;
  color: #000000;
}
h2 {
  font-size: 24px;
}
#offer h2,
#best h2,
#upgrade h2,
#nodispo .dialog h2,
#other h2,
#upgrade h2,
#book-details > h2,
#step1.by-hours #bookingbox h2 {
  position: relative;
  color: #FFF;
  background-color: #000000;
  font-size: 24px;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 3px 3px 0 0;
}
@media (min-width: 768px) {
  #offer h2,
  #best h2,
  #upgrade h2,
  #nodispo .dialog h2,
  #other h2,
  #upgrade h2,
  #book-details > h2,
  #step1.by-hours #bookingbox h2 {
    padding: 15px 20px;
    -webkit-flex: 100%;
    flex: 100%;
  }
}
h3 {
  font-size: 21px;
}
h4 {
  font-size: 18px;
}
h5 {
  font-size: 16px;
}
h6 {
  font-size: 14px;
  text-transform: uppercase;
}
input,
textarea,
select {
  font: 400 14px "Roboto", Helvetica, Arial, sans-serif;
  color: #555555;
  padding: 12px 15px;
  background-color: #FAFAFA !important;
  border: 1px solid #E0E0E0;
  box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.1);
  border-radius: 1px !important;
}
input:focus,
textarea:focus,
select:focus,
input:active,
textarea:active,
select:active {
  background-color: #FFF !important;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 35px;
  background: transparent url(/i/be/ico-chevron-down.svg) no-repeat right center;
}
a {
  color: #1a1a1a;
  text-decoration: none;
}
a:hover {
  color: #000000;
  text-decoration: none;
}
sub {
  font-size: 0.80em;
  vertical-align: baseline;
}
/* GUI */
.ico,
.bullets li,
.ui-datepicker .ui-icon,
.print,
.download {
  background: transparent url(/i/be/gui.png) no-repeat right bottom;
}
/* Hacks */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
.block {
  clear: both;
  height: 100%;
  overflow: hidden;
}
/* //////////////////////////////////////////////////////////////////////////////////
+
+ 2. LAYOUT & BONES & NAV
+
///////////////////////////////////////////////////////////////////////////////////*/
#header {
  position: relative;
  z-index: 99;
  width: 100%;
  background-color: #FFF;
  padding: 10px 0;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
}
#bb #header {
  z-index: 101;
}
#step1 #header {
  box-shadow: none;
}
@media (min-width: 768px) {
  #header .wrapper {
    display: -webkit-flex;
    display: flex;
    align-items: center;
  }
}
#header #logo {
  text-align: center;
}
#header #logo h1 {
  line-height: 15px;
}
#header #logo a {
  display: inline-block;
}
#header #logo img {
  max-height: 80px;
}
@media (min-width: 768px) {
  #header #logo {
    -webkit-flex: 1;
    flex: 1;
    text-align: left;
  }
  #header #logo a {
    display: block;
    width: auto;
  }
  #header #logo img {
    max-height: 120px;
  }
}
#header #nav {
  margin: 0 auto;
  z-index: 99;
}
@media (max-width: 767px) {
  #header #nav {
    position: absolute;
    top: 20px;
    right: 10px;
  }
}
@media (min-width: 768px) {
  #header #nav {
    -webkit-flex: 2;
    flex: 2;
  }
}
#header #nav > ul > li {
  display: none;
  font-size: 12px;
  font-weight: 600;
  line-height: 120%;
  text-transform: uppercase;
  margin-left: 20px;
}
#header #nav > ul > li a {
  display: block;
  text-align: center;
}
#header #nav > ul > li.login {
  margin-top: 15px;
}
#header #nav > ul > li.login a {
  color: white;
  border-radius: 3px;
  background: #000000 url(/i/be/ico-profile.svg) no-repeat 10px center;
  padding: 10px 15px 10px 35px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
#header #nav > ul > li.login a:hover {
  padding: 10px 18px 10px 38px;
  background-color: #1a1a1a;
  background-position: 17px center;
  box-shadow: 0 5px 5px #0000001a;
}
#header #nav > ul > li.coin {
  display: inline-block;
  line-height: 30px;
  margin-top: 15px;
  border-radius: 3px;
  color: #FFF;
  background-color: #000000;
}
#step4 #header #nav > ul > li.coin,
#reward #header #nav > ul > li.coin,
.my-rewards #header #nav > ul > li.coin {
  display: none;
}
@media (max-width: 419px) {
  #header #nav > ul > li.coin {
    margin: -10px -10px 0 0;
  }
}
#header #nav > ul > li.coin div {
  padding: 15px 0px 15px 10px;
  font-weight: 400;
  cursor: pointer;
  display: inline;
  position: relative;
}
#header #nav > ul > li.coin i {
  margin-left: 5px;
  font-weight: 600;
  padding-left: 5px;
  padding-right: 10px;
  border-left: 1px solid #FFF;
}
#header #nav > ul > li.coin ul {
  display: none;
  position: absolute;
  top: 45px;
  right: 0;
  min-width: 170px;
  padding: 20px 25px;
  border-radius: 5px;
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.2);
}
#header #nav > ul > li.coin ul li {
  display: none;
  clear: both;
  display: block;
  line-height: 25px;
  font-weight: 400;
  text-align: left;
  margin: 0;
  white-space: nowrap;
}
#header #nav > ul > li.coin ul li i {
  margin: 0 5px 0 0;
  padding: 0;
  border: 0;
  width: 25px;
  display: inline-block;
}
#header #nav > ul > li.coin ul li a {
  display: inline-block;
  text-align: left;
  font-size: 12px;
  color: #333;
  background-color: inherit !important;
}
#header #nav > ul > li.coin ul li a:hover {
  color: #000000;
  background-color: inherit !important;
}
#header #nav > ul > li.coin ul li:nth-child(1),
#header #nav > ul > li.coin ul li:nth-child(2) {
  display: block;
}
@media (min-width: 768px) {
  #header #nav {
    position: relative;
    clear: none;
    text-align: right;
  }
  #header #nav ul li {
    display: inline-block;
  }
  #header #nav ul li.coin {
    margin-top: 10px;
  }
  #header #nav .wo {
    display: none;
  }
}
@media (min-width: 992px) {
  #header #nav .wo {
    display: inline-block;
  }
}
#container {
  position: relative;
  clear: both;
  padding: 0 0 30px;
}
#step1 #container {
  padding-top: 1px;
}
.wrapper {
  position: relative;
  margin: 0 auto;
  width: 97%;
}
@media (min-width: 768px) {
  .wrapper {
    width: 96%;
  }
}
@media (min-width: 1240px) {
  .wrapper {
    width: 1200px;
  }
}
@media (min-width: 1024px) {
  #bb .wrapper {
    width: 1000px;
  }
}
main {
  width: 100%;
}
#content {
  margin-top: 30px;
  padding: 0 0 20px 0;
  min-height: 350px;
}
#bb #content {
  min-height: 400px;
}
.bcbb--rv #content {
  position: relative;
  z-index: 100;
}
#footer {
  position: relative;
  clear: both;
  margin-top: 40px;
  background-color: #E9E9E9;
}
@media (min-width: 768px) {
  #footer {
    margin-top: 80px;
  }
}
#footer .wrapper {
  padding: 70px 20px 80px;
}
#footer p {
  text-align: center;
  margin-bottom: 20px;
}
#footer a {
  border-bottom: 1px solid #1a1a1a;
}
#footer .address {
  margin-top: -10px;
  font-size: 11px;
}
/* //////////////////////////////////////////////////////////////////////////////////
+
+ 3. COMMON ELEMENTS
+
///////////////////////////////////////////////////////////////////////////////////*/
.wrap {
  background: #FFF;
  border-radius: 5px;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
}
.c {
  text-align: center;
}
/* Steps ///////////////////////////////////////////////////////////////// */
#steps {
  display: none;
  text-align: center;
  margin-top: 30px;
}
@media (min-width: 768px) {
  #steps {
    display: block;
  }
}
#steps li {
  position: relative;
  display: inline-block;
  text-transform: uppercase;
  margin: 0 30px;
  line-height: 40px;
  color: #555555;
  font-size: 14px;
  font-weight: 600;
}
#steps li.active {
  color: #000000;
}
/* Buttons ////////////////////////////////////////////////////////////// */
.powered-by_bookingcore {
  position: relative;
}
.powered-by_bookingcore span {
  display: none;
  height: 110px;
  left: 5px;
  position: absolute;
  top: -110px;
  width: 140px;
}
.btn,
.filters .btn-drop {
  cursor: pointer;
  display: block;
  color: #FFF !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 40px;
  height: 40px;
  text-transform: uppercase;
  text-decoration: none !important;
  text-align: center;
  padding: 0 30px;
  transition: all 0.2s ease-in-out;
  color: #FFF;
  background-color: #000000;
  border-radius: 2px;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);
}
.btn.active {
  background-image: url(/i/be/ico-book1.svg);
  background-repeat: no-repeat;
  background-position: 92% center;
  padding-right: 50px !important;
}
.btn:hover {
  background-color: #333333;
  text-decoration: none !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset, 0 -1px 0 #ffffff inset, 0 0 6px rgba(255, 255, 255, 0.1) !important;
}
.btn.btn-lg {
  font-size: 15px;
  letter-spacing: 0.5px;
  line-height: 120%;
  height: auto;
  padding: 16.5px 20px;
}
.btn.btn-xs {
  font-size: 11px;
  line-height: 32px;
  height: 32px;
  padding: 0 20px;
}
.btn.btn-basic {
  background-color: #555555 !important;
  color: #CCC;
}
.btn.btn-basic:hover {
  background-color: #6f6f6f !important;
  color: #FFF;
}
.link,
.link-cancel,
.btn-back {
  font-size: 13px;
  font-weight: 400;
  color: #555555;
  text-decoration: underline;
}
.link:hover,
.link-cancel:hover,
.btn-back:hover {
  text-decoration: underline;
}
.btn-back {
  display: inline-block;
  background: url(/i/be/ico_chevron-left.svg) no-repeat 5px center;
  padding-left: 17px;
  margin-bottom: 20px;
  font-size: 14px;
  transition: background-position 0.2s ease-out;
  margin-left: -5px;
}
.btn-back:hover {
  background-position: left center;
}
.btn + .btn,
.link + .btn {
  margin-left: 10px !important;
}
.switch {
  font-size: 14px;
  margin-top: 0;
}
.switch input {
  display: none;
}
.switch label {
  display: inline-block;
  position: relative;
  width: 50px;
  height: 26px;
  vertical-align: middle;
  margin-right: 5px;
}
.switch .switch-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  border-radius: 25px;
  transition: background-color 0.4s;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.switch .switch-slider::before {
  content: "";
  position: absolute;
  height: 20px;
  width: 20px;
  left: 4px;
  bottom: 3px;
  background-color: white;
  border-radius: 50%;
  transition: transform 0.4s;
}
.switch input:checked + .switch-slider {
  background-color: #21b74e;
}
.switch input:checked + .switch-slider:before {
  transform: translateX(22px);
}
.switch-options {
  display: none;
}
.more {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  margin-left: 2px;
  background: url(/i/be/ico-help.svg) no-repeat center;
  vertical-align: middle;
  cursor: help;
}
.view-more {
  display: inline-block;
  vertical-align: top;
  width: 20px;
  height: 20px;
  background-position: center -220px;
  margin-right: 5px;
  cursor: help;
  position: relative;
}
.claim {
  margin-top: 10px;
  font-weight: 600;
  color: #21b74e;
}
/* Others ///////////////////////////////////////////////////////////////// */
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1010;
  background: url(/i/be/overlay.png) repeat left top #ffffff;
}
.notice {
  width: 90%;
  max-width: 640px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 99999999;
  padding: 30px;
  border: 5px solid #CCC;
  background-color: #FFF;
  border-radius: 3px;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .notice {
    text-align: center;
  }
}
.notice p,
.notice .btn {
  margin-top: 10px;
}
.notice .btns {
  margin-top: 20px;
  height: auto;
  line-height: 42px;
  text-align: center;
}
.notice .btn {
  float: none;
  display: inline-block;
  min-width: 100px;
  margin: 0 auto;
}
@media (min-width: 360px) {
  .notice .btn {
    width: 120px;
  }
}
@media (min-width: 768px) {
  .notice .btn {
    width: 200px;
  }
}
.notification {
  margin: 20px 0 20px;
  padding: 10px 20px 10px 50px;
  background: #ffffff url(/i/be/ico-help.svg) no-repeat 20px center;
  border: 1px solid #a9adba;
  border-radius: 3px;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  color: #656870;
}
.notification .btn-close {
  display: block;
  float: right;
  width: 20px;
  height: 20px;
  text-indent: -9999px;
  opacity: 0.8;
  background: url(/i/be/ico-close-grey.svg) no-repeat center / 15px;
}
.notification .btn-close:hover {
  opacity: 1;
}
.message {
  text-align: center;
  font-size: 18px;
  font-weight: 300;
  padding: 30px;
}
@media (min-width: 768px) {
  .message {
    padding: 40px;
    font-size: 21px;
  }
}
/* FILTERS ///////////////////////////////////////////////////////////////// */
.filters {
  padding: 20px 0;
  position: relative;
  text-align: center;
}
@media (min-width: 768px) {
  .filters {
    padding: 0;
    float: right;
    top: -50px;
  }
}
.filters .btn-drop {
  display: inline-block;
  background-image: url(/i/be/ico-filter.svg);
  background-position: 90% center;
  background-repeat: no-repeat;
  position: relative;
  padding-left: 20px;
  padding-right: 50px;
}
@media (min-width: 768px) {
  .filters .btn-drop {
    display: block;
    margin-right: 10px;
  }
}
.filters .btn-drop i {
  width: 18px;
  height: 20px;
  margin-right: 9px;
  display: inline-block;
  vertical-align: middle;
  background: url(/i/be/ico-hamburger.svg) no-repeat center 3px;
}
.filters .dropdown {
  display: none;
  text-align: left;
  position: absolute;
  top: 65px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  min-width: 240px;
  width: 80%;
  padding: 20px;
  z-index: 9;
  background: #FFF;
  border-radius: 5px;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.2);
}
@media (min-width: 768px) {
  .filters .dropdown {
    top: 45px;
    left: auto;
    right: 10px;
    margin: 0;
    width: 300px;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.filters .dropdown:before {
  display: block;
  content: '';
  width: 15px;
  height: 15px;
  position: absolute;
  top: -6px;
  right: 50%;
  margin-right: -7.5px;
  background-color: #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  box-shadow: -2px -2px 1px rgba(0, 0, 0, 0.05);
}
@media (min-width: 768px) {
  .filters .dropdown:before {
    right: 65px;
    margin: 0;
  }
}
.filters .dropdown label {
  display: block;
  width: 100%;
  clear: both;
  margin-top: 20px;
  font-size: 15px;
}
@media (min-width: 768px) {
  .filters .dropdown label {
    font-size: 13px;
    margin-top: 12px;
  }
}
.filters .dropdown label:first-child {
  margin-top: 0;
}
.filters .dropdown label i {
  float: left;
  display: block;
  width: 18px;
  height: 18px;
  margin-right: 5px;
  margin-bottom: 5px;
  background: url(/i/be/checkbox-empty.svg) no-repeat left;
}
.filters .dropdown label.active i {
  background: url(/i/be/checkbox-checked.svg) no-repeat left;
}
.filters .dropdown label input {
  display: none;
}
.filters .dropdown fieldset {
  clear: both;
}
.filters .dropdown fieldset h4 {
  color: #000000;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 20px;
}
.filters .dropdown .btn {
  margin: 20px 0 0;
}
.filters.open .btn-drop i {
  background: url(/i/be/ico-close.svg) no-repeat center 2px;
}
.filters.open .dropdown {
  display: block;
}
/* Form //////////////////////////////////////////////////////////////////// */
.form {
  margin-top: 10px;
}
.form .error,
.form .sent {
  display: block;
  background-color: #D90000;
  font-weight: 400;
  color: #FFF;
  padding: 20px;
  border-radius: 3px;
  margin-top: 0;
}
.form .error h4,
.form .sent h4 {
  font: 400 16px "Roboto", Helvetica, Arial, sans-serif;
  color: #FFF;
}
.form .error p,
.form .sent p,
.form .error ul,
.form .sent ul,
.form .error li,
.form .sent li {
  margin-top: 5px !important;
}
.form .sent {
  background-color: #000000;
}
.form .input_error {
  border: 2px solid #D90000;
}
.form .ui-state-error {
  border: 2px solid #D90000;
}
.form .input_disabled {
  background: #e4e4e4;
  color: #999;
}
.form .legend {
  display: block;
}
.form div {
  margin-top: 10px;
}
.form div.iti {
  display: block !important;
}
.form div.iti,
.form div.iti div {
  margin-top: 0 !important;
}
.form label {
  display: block;
  padding-bottom: 4px;
  line-height: 140%;
}
.form input,
.form select,
.form textarea {
  width: 100%;
}
.form .checks {
  display: block;
}
.form .checks label {
  width: auto;
  font-size: 13px;
  white-space: nowrap;
  margin-right: 2px;
}
.form .checks label a {
  text-decoration: underline;
}
.form .checks input {
  display: inline-block;
  margin: 3px 5px 0 0;
}
/* Article ///////////////////////////////////////////////////////////////// */
#others article {
  font-size: 16px;
}
article blockquote {
  font: italic 16px "Roboto", Helvetica, Arial, sans-serif;
  padding: 1px 0 10px 20px;
  border-left: 2px solid #CCC;
  margin: 10px 0 0 10px;
}
article a {
  font-weight: 600;
  text-decoration: underline;
}
article a:hover {
  text-decoration: underline;
}
article h1 {
  margin-top: 0;
}
article h2 {
  margin-top: 30px;
}
article h3 {
  font-size: 21px;
}
article h4 {
  font-size: 18px;
}
article h5 {
  font-size: 16px;
}
article h6 {
  font-size: 14px;
  font-weight: 600;
}
article h3,
article h4 {
  margin-top: 20px;
}
article h5,
article h6 {
  margin-top: 10px;
}
article ol {
  list-style-type: decimal;
  list-style-position: outside;
  padding-left: 25px;
}
article ul {
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 20px;
}
article ol,
article ul,
article p {
  line-height: 140%;
  margin-top: 10px;
}
article ol:first-child,
article ul:first-child,
article p:first-child {
  margin-top: 0;
}
article p + br,
article br + br,
article ul > br {
  display: none;
}
/* /////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ 4. PAGES
+
//////////////////////////////////////////////////////////////////////////////////////////////////////////*/
/* RV //////////////////////////////////////////////////////////////////////////////////////////////////// */
/* CALENDARS ///////////////////////////////////////// */
@media (max-width: 1023px) {
  #bb main #alert {
    max-width: 830px;
    margin: 0 auto;
  }
}
#alert {
  display: none;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  #alert {
    margin-top: 20px;
  }
}
#alert h2 {
  color: #FFF;
  background-color: #000000;
  position: relative;
  font-size: 24px;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 3px 3px 0 0;
}
.pfs #alert h2 {
  text-align: center;
}
#alert .message {
  padding: 30px;
  overflow: hidden;
  text-align: center;
}
#alert .message p {
  padding: 0;
}
#alert .btns {
  margin-top: 20px;
  display: inline-block;
}
#alert .btns .btn {
  display: inline-block;
}
.pfs #alert {
  width: 100%;
  display: block;
  margin-top: 30px;
}
#calendars {
  position: relative;
  padding: 3px 3px 5px;
  max-width: 480px;
  margin: 20px auto;
}
@media (max-width: 539px) {
  #calendars {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  #calendars {
    width: 100%;
    max-width: initial;
  }
}
#calendars form {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#calendars .loading {
  display: none;
  position: absolute;
  z-index: 999999;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
}
#calendars .loading .loader {
  position: relative;
  margin: 200px auto 0;
  width: 30px;
  height: 30px;
}
@media (min-width: 1024px) {
  #calendars .loading .loader {
    margin-top: 210px;
  }
}
#calendars .loading .loader .loader-circle {
  z-index: 10;
  -webkit-animation: rotate 2s linear infinite;
  animation: rotate 2s linear infinite;
  height: 100%;
  transform-origin: center center;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
}
#calendars .loading .loader .loader-bg {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 5;
}
#calendars .loading .loader .loader-path {
  stroke-dasharray: 150,200;
  stroke-dashoffset: -10;
  border-radius: 3px;
  -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
  animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
  stroke-linecap: round;
}
@-webkit-keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1,200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -124;
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1,200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -124;
  }
}
@-webkit-keyframes color {
  0% {
    stroke: #000000;
  }
  40% {
    stroke: #000000;
  }
  66% {
    stroke: #000000;
  }
  80%,
  90% {
    stroke: #000000;
  }
}
@keyframes color {
  0% {
    stroke: #000000;
  }
  40% {
    stroke: #000000;
  }
  66% {
    stroke: #000000;
  }
  80%,
  90% {
    stroke: #000000;
  }
}
#calendars .legend {
  display: block;
  -webkit-flex: 1;
  flex: 1 0 100%;
  font-size: 11px;
  padding: 0 10px;
  text-align: center;
  line-height: 30px;
}
@media (min-width: 1024px) {
  #calendars .legend {
    font-size: 13px;
  }
}
@media (min-width: 1024px) {
  #calendars .legend {
    line-height: 50px;
  }
}
#calendars .legend span {
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  border: 1px solid #e4e4e4;
  margin: 0 4px 0 10px;
  line-height: 16px;
  color: #000000;
  border-radius: 3px;
}
#calendars .legend .offer {
  border: 1px solid #ffd3d3;
  color: #c53939;
}
#calendars .legend .no-disp {
  color: #999;
}
#calendars .legend .restriction {
  background-color: #e9e9e9 !important;
  background-size: 8px 8px;
  background-image: repeating-linear-gradient(45deg, #dddddd 0, #dddddd 1.1px, #ffffff 0, #ffffff 50%);
}
#calendars .legend .restriction-in {
  background: #595959;
  background: linear-gradient(315deg, #666666 50%, #ffffff 50%);
}
#calendars .legend .restriction-out {
  background: #595959;
  background: linear-gradient(315deg, #ffffff 50%, #666666 50%);
}
#calendars .calendar.ui-datepicker {
  display: block;
  -webkit-flex: 1;
  flex: 1;
  width: 100%;
  width: auto;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
}
#calendars .calendar.ui-datepicker table {
  width: 94%;
  margin: 3%;
}
#calendars .calendar.ui-datepicker td {
  min-width: 58px;
  border-top: 1px solid #f4f4f4;
}
#calendars .calendar.ui-datepicker td span,
#calendars .calendar.ui-datepicker td a {
  font-size: 16px;
  text-align: center;
  height: 55px;
  padding: 6px 4px 4px;
  vertical-align: bottom;
  width: 56px;
  border: 1px solid transparent;
  margin: 2px;
  background-color: #FFF;
  border-radius: 5px;
  width: 100%;
  display: block;
}
#calendars .calendar.ui-datepicker td a {
  color: #000000;
}
#calendars .calendar.ui-datepicker .offer-day {
  position: relative;
  border: 1px solid #ffd3d3;
  color: #c53939;
}
#calendars .calendar.ui-datepicker .offer-day::before {
  content: '';
  display: block;
  width: 16px;
  height: 15px;
  pointer-events: none;
  position: absolute;
  top: 5px;
  right: -4px;
  background: url(/i/be/datepicker-flag.png) no-repeat center;
}
#calendars .calendar.ui-datepicker .ui-widget-header {
  font-size: 21px;
}
#calendars .calendar.ui-datepicker .price {
  display: block;
  font-size: 11px;
  margin-top: 3px;
}
@media (min-width: 1024px) {
  #calendars .calendar.ui-datepicker {
    width: 50%;
  }
  #calendars .calendar.ui-datepicker td span,
  #calendars .calendar.ui-datepicker td a {
    display: block;
    width: auto;
  }
}
/* BOOKINGBOX ///////////////////////////////////////// */
#bookingbox {
  position: relative;
  width: 100%;
  max-width: 480px;
  margin: 20px auto;
  padding: 20px 20px 50px;
}
@media (min-width: 420px) {
  #bookingbox {
    padding: 30px 20px 60px;
  }
}
@media (min-width: 480px) {
  #bookingbox {
    padding: 30px 50px 60px;
  }
}
@media (min-width: 1024px) {
  #bookingbox {
    padding: 20px 20px 20px;
    max-width: inherit;
  }
}
#bookingbox h3,
#bookingbox .dp label,
#bookingbox .dp em,
#bookingbox .nights {
  display: none;
}
#bookingbox .loading {
  display: none;
  position: absolute;
  z-index: 999999;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
}
#bookingbox .loading .loader {
  position: relative;
  margin: 185px auto 0;
  width: 30px;
  height: 30px;
}
@media (min-width: 1024px) {
  #bookingbox .loading .loader {
    margin-top: 78px;
  }
}
#bookingbox .loading .loader .loader-circle {
  z-index: 10;
  -webkit-animation: rotate 2s linear infinite;
  animation: rotate 2s linear infinite;
  height: 100%;
  transform-origin: center center;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
}
#bookingbox .loading .loader .loader-bg {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 5;
}
#bookingbox .loading .loader .loader-path {
  stroke-dasharray: 150,200;
  stroke-dashoffset: -10;
  border-radius: 3px;
  -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
  animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
  stroke-linecap: round;
}
@-webkit-keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1,200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -124;
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1,200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 89,200;
    stroke-dashoffset: -124;
  }
}
@-webkit-keyframes color {
  0% {
    stroke: #000000;
  }
  40% {
    stroke: #000000;
  }
  66% {
    stroke: #000000;
  }
  80%,
  90% {
    stroke: #000000;
  }
}
@keyframes color {
  0% {
    stroke: #000000;
  }
  40% {
    stroke: #000000;
  }
  66% {
    stroke: #000000;
  }
  80%,
  90% {
    stroke: #000000;
  }
}
#bookingbox h2 {
  text-align: center;
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  #bookingbox h2 {
    display: none;
  }
}
@media (min-width: 1024px) {
  #bookingbox fieldset {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
}
#bookingbox .dropdown {
  display: none;
  text-align: left;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  min-width: 240px;
  width: 100%;
  height: 100%;
  padding: 40px 30px;
  z-index: 999999;
  overflow-y: scroll;
  font-size: 15px;
  background: #FFF;
  border-radius: 5px;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.2);
}
@media (min-width: 1024px) {
  #bookingbox .dropdown {
    position: absolute;
    top: 45px;
    left: 0;
    right: auto;
    bottom: auto;
    width: 80%;
    height: auto;
    z-index: 9;
    font-size: 13px;
    margin: 0;
    padding: 20px;
    min-width: 380px;
    max-height: 420px;
  }
}
@media (min-width: 1024px) {
  #bookingbox .dropdown {
    min-width: 300px;
  }
}
#bookingbox .dropdown .btn-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  opacity: 0.8;
  background: url(/i/be/ico-cb-close.svg) no-repeat center / 20px;
}
#bookingbox .dropdown .btn-close:hover {
  opacity: 1;
}
@media (min-width: 1024px) {
  #bookingbox .dropdown .btn-close {
    display: none;
  }
}
#bookingbox .dropdown .group {
  margin-bottom: 15px;
}
#bookingbox .dropdown .group li > a {
  cursor: pointer;
}
#bookingbox .dropdown h4 {
  color: #909090;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
#bookingbox .dropdown ul {
  margin-top: 10px;
}
#bookingbox .dropdown li {
  margin-top: 10px;
}
#bookingbox .dropdown .btn {
  margin: 20px 0 0;
}
#bookingbox .hotel {
  position: relative;
}
@media (min-width: 1024px) {
  #bookingbox .hotel {
    flex: 2;
    max-width: 300px;
  }
}
#bookingbox .hotel .btn-drop {
  cursor: pointer;
  width: 100%;
  padding-left: 40px;
  background-color: #FFF !important;
  background: url(/i/be/ico-chevron-down.svg) no-repeat right center, url(/i/be/bookbox-ico-dest.svg) no-repeat 15px center;
}
#bookingbox .hotel.open .btn-drop {
  border: 1px solid #000000;
  background: url(/i/be/ico-chevron-up.svg) no-repeat right center, url(/i/be/bookbox-ico-dest.svg) no-repeat 15px center;
}
#bookingbox .hotel.open .dropdown {
  display: block;
}
@media (min-width: 1024px) {
  #bookingbox .hotel.open .dropdown {
    min-width: 300px;
  }
  #bookingbox .hotel.open .dropdown.lg {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    width: 960px;
    gap: 20px;
    padding: 20px;
  }
  #bookingbox .hotel.open .dropdown.lg .group {
    flex: auto 0 210px;
    min-width: 210px;
    margin-bottom: 0;
  }
}
#bookingbox .hotel.open .dropdown .li a {
  cursor: pointer;
}
#bookingbox .hotel.error {
  position: relative;
}
#bookingbox .hotel.error:after {
  left: -8px;
  top: -34px;
  background-color: #C22929;
  border-radius: 3px;
  color: white;
  content: attr(data-error);
  padding: 10px 20px;
  pointer-events: none;
  position: absolute;
  z-index: 10;
}
#bookingbox .hotel.error:before {
  position: absolute;
  left: 17px;
  z-index: 10;
  top: -3px;
  content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTUgOCI+ICA8cG9seWdvbiBmaWxsPSIjQzQyNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iNy41IDAgMTUgOCAwIDgiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgNy41IDQpIi8+PC9zdmc+);
}
#bookingbox .hotel.error .btn-drop {
  border: 2px solid #D90000;
}
#bookingbox .dates {
  display: -webkit-flex;
  display: flex;
  margin-top: 10px;
  border: 1px solid #e0e0e0;
  border-radius: 1px;
  box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.1);
  padding-left: 35px;
  padding-right: 35px;
  background-color: #FFF !important;
  background: url(/i/be/bookbox-ico-dates.svg) no-repeat 12px center, url(/i/be/bookbox-ico-fromto.svg) no-repeat center;
}
@media (min-width: 1024px) {
  #bookingbox .dates {
    -webkit-flex: 1;
    flex: 1;
    width: 300px;
    min-width: 300px;
    margin-top: 0;
    margin-left: 10px;
  }
}
#bookingbox .dates.open {
  border: 1px solid #000000;
}
#bookingbox .dates.error {
  border: 2px solid #D90000;
  position: relative;
}
#bookingbox .dates.error:after {
  left: -8px;
  top: -34px;
  background-color: #C22929;
  border-radius: 3px;
  color: white;
  content: attr(data-error);
  padding: 10px 20px;
  pointer-events: none;
  position: absolute;
  z-index: 10;
}
#bookingbox .dates.error:before {
  position: absolute;
  left: 17px;
  z-index: 10;
  top: -3px;
  content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTUgOCI+ICA8cG9seWdvbiBmaWxsPSIjQzQyNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iNy41IDAgMTUgOCAwIDgiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgNy41IDQpIi8+PC9zdmc+);
}
#bookingbox .dates .dp {
  -webkit-flex: 1px;
  flex: 1px;
  cursor: pointer;
}
#bookingbox .dates .dp input,
#step1.by-hours #bookingbox .date-group .dp input {
  cursor: pointer;
  width: 100%;
  padding: 7px 10px;
  margin: 6px 0 4px;
  text-align: center;
  border: none;
  box-shadow: none;
  border-radius: 20px !important;
  background-color: transparent !important;
  transition: background-color 0.5s ease-out;
}
#bookingbox .dates .dp input:hover {
  background-color: #f4f4f4 !important;
}
#bookingbox .dates .to {
  margin-left: 10px;
}
#bookingbox #min_vars {
  margin-top: 10px;
  width: 100%;
}
@media (max-width: 1023px) {
  #bookingbox #min_vars {
    position: relative;
  }
}
#bookingbox #min_vars.open .quick_combo {
  border: 1px solid #000000;
  background: url(/i/be/ico-chevron-up.svg) no-repeat right center, url(/i/be/bookbox-ico-rooms.svg) no-repeat 16px center;
}
#bookingbox #min_vars .quick_combo {
  width: 100%;
  text-align: left;
  padding-left: 40px;
  background-color: #FFF !important;
  cursor: pointer;
  background: url(/i/be/ico-chevron-down.svg) no-repeat right center, url(/i/be/bookbox-ico-rooms.svg) no-repeat 16px center;
}
#bookingbox #min_vars.error {
  position: relative;
}
#bookingbox #min_vars.error:after {
  left: -8px;
  top: -34px;
  background-color: #C22929;
  border-radius: 3px;
  color: white;
  content: attr(data-error);
  padding: 10px 20px;
  pointer-events: none;
  position: absolute;
  z-index: 10;
}
#bookingbox #min_vars.error:before {
  position: absolute;
  left: 17px;
  z-index: 10;
  top: -3px;
  content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTUgOCI+ICA8cG9seWdvbiBmaWxsPSIjQzQyNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iNy41IDAgMTUgOCAwIDgiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgNy41IDQpIi8+PC9zdmc+);
}
#bookingbox #min_vars.error .quick_combo {
  border: 2px solid #D90000;
}
@media (min-width: 1024px) {
  #bookingbox #min_vars {
    flex: 2;
    width: 300px;
    display: inline-block;
    vertical-align: middle;
    margin-top: 0;
    margin-left: 10px;
  }
}
@media (min-width: 1024px) {
  #bookingbox #max_vars {
    position: absolute;
    width: 960px;
    max-height: 480px;
    top: 65px;
    left: 20px;
  }
}
#bookingbox #max_vars .room {
  display: block;
  text-align: left;
}
#bookingbox #max_vars .room li {
  position: relative;
  border-bottom: 1px solid #E1E1E1;
  margin-top: 30px;
  padding-bottom: 30px;
}
#bookingbox #max_vars .room li > div {
  display: inline-block;
  vertical-align: middle;
}
#bookingbox #max_vars .room li:first-child {
  margin-top: 20px;
}
#bookingbox #max_vars .room li:last-child {
  border-bottom: none;
  text-align: center;
  padding-bottom: 30px;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room li:last-child {
    margin-top: 10px;
    text-align: left;
  }
}
#bookingbox #max_vars .room li:last-child .btn-add {
  text-transform: uppercase;
  font-weight: 600;
  display: block;
  cursor: pointer;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room li:last-child .btn-add {
    display: inline-block;
    width: 330px;
  }
}
#bookingbox #max_vars .room li:last-child .btn-add.hidden {
  visibility: hidden;
  pointer-events: none;
}
#bookingbox #max_vars .room li:last-child .btn {
  display: inline-block;
  width: 60%;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room li:last-child .btn {
    width: 250px;
  }
}
#bookingbox #max_vars .room .label {
  display: block;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room .label {
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 0;
    padding-right: 20px;
    background: url(/i/be/bookbox-ico-fromto.svg) no-repeat right center;
  }
}
#bookingbox #max_vars .room label,
#bookingbox #max_vars .room .label_kids-age {
  text-transform: uppercase;
  font-weight: 600;
}
#bookingbox #max_vars .room .adults input,
#bookingbox #max_vars .room .kids input,
#bookingbox #max_vars .room .adults button,
#bookingbox #max_vars .room .kids button,
#bookingbox #max_vars .room .adults label,
#bookingbox #max_vars .room .kids label {
  display: inline-block;
  vertical-align: middle;
}
#bookingbox #max_vars .room .adults input,
#bookingbox #max_vars .room .kids input {
  background-color: transparent !important;
  box-shadow: none;
  padding: 0;
  border: none;
  font-size: 21px;
  font-weight: 600;
  color: #000000;
  width: 20px;
  text-align: center;
}
#bookingbox #max_vars .room .adults label,
#bookingbox #max_vars .room .kids label {
  font-size: 11px;
  width: 130px;
  white-space: nowrap;
}
@media (min-width: 384px) {
  #bookingbox #max_vars .room .adults label,
  #bookingbox #max_vars .room .kids label {
    width: auto;
  }
}
@media (min-width: 420px) {
  #bookingbox #max_vars .room .adults label,
  #bookingbox #max_vars .room .kids label {
    font-size: 13px;
  }
}
#bookingbox #max_vars .room .adults button,
#bookingbox #max_vars .room .kids button {
  width: 35px;
  height: 35px;
  border: 1px solid #909090;
  border-radius: 17.5px;
  background-color: #FFF;
  margin-left: 10px;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: all 0.5s ease-out;
}
@media (min-width: 384px) {
  #bookingbox #max_vars .room .adults button,
  #bookingbox #max_vars .room .kids button {
    margin-left: 4px;
  }
}
@media (min-width: 420px) {
  #bookingbox #max_vars .room .adults button,
  #bookingbox #max_vars .room .kids button {
    margin-left: 7px;
  }
}
#bookingbox #max_vars .room .adults button:hover,
#bookingbox #max_vars .room .kids button:hover {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
#bookingbox #max_vars .room .adults button.btn-plus,
#bookingbox #max_vars .room .kids button.btn-plus {
  background: url(/i/be/bookbox-ico-plus.svg) no-repeat center;
  text-indent: -9999999px;
}
#bookingbox #max_vars .room .adults button.btn-minus,
#bookingbox #max_vars .room .kids button.btn-minus {
  background: url(/i/be/bookbox-ico-minus.svg) no-repeat center;
  text-indent: -9999999px;
}
#bookingbox #max_vars .room .adults button.disabled,
#bookingbox #max_vars .room .kids button.disabled {
  opacity: .6;
  box-shadow: none;
  cursor: default;
}
#bookingbox #max_vars .room .adults {
  margin-right: 5px;
}
@media (min-width: 420px) {
  #bookingbox #max_vars .room .adults {
    margin-right: 15px;
  }
}
#bookingbox #max_vars .room .kids {
  margin-top: 10px;
}
@media (min-width: 384px) {
  #bookingbox #max_vars .room .kids {
    margin-top: 0;
  }
}
#bookingbox #max_vars .room .label_kids-age {
  font-size: 12px;
  display: block;
  margin-top: 10px;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room .label_kids-age {
    display: inline-block;
    margin-top: 0;
    margin-left: 20px;
  }
}
#bookingbox #max_vars .room .kid_age {
  margin-top: 10px;
  text-align: right;
}
#bookingbox #max_vars .room .kid_age label {
  display: inline-block;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room .kid_age {
    margin-top: 0;
  }
  #bookingbox #max_vars .room .kid_age label {
    display: block;
  }
}
#bookingbox #max_vars .room .kid_age select {
  width: 60px;
  padding: 7px 30px 7px 10px;
  text-align: center;
  background-color: #FFF !important;
  margin-top: 0;
  margin-right: 5px;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room .kid_age select {
    margin-right: 0;
    margin-left: 5px;
  }
}
#bookingbox #max_vars .room .kid_age select.error {
  border: 2px solid #D90000;
}
#bookingbox #max_vars .room .room-remove {
  position: absolute;
  top: 0;
  right: 0;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room .room-remove {
    top: 2px;
  }
}
#bookingbox #max_vars .room .room-remove .btn-remove {
  background: url(/i/be/bookbox-ico-remove.svg) no-repeat right 0.25px;
  padding-right: 16px;
  font-weight: 600;
  font-size: 12px;
  color: #909090;
  text-transform: uppercase;
  text-decoration: underline;
  cursor: pointer;
}
@media (min-width: 1024px) {
  #bookingbox #max_vars .room .room-remove .btn-remove {
    display: block;
    width: 30px;
    height: 30px;
    background-size: 24px;
    background-position: center;
    text-indent: -99999px;
    padding-right: 0;
  }
}
#bookingbox .promocode {
  margin-top: 10px;
  text-align: center;
  width: 100%;
}
#bookingbox .promocode #b_promocode {
  display: block;
  color: #555555;
  text-decoration: underline;
  padding: 10px;
}
#bookingbox .promocode input {
  display: none;
  width: 100%;
  text-align: left;
  padding-left: 45px;
  background: #ffffff url(/i/be/bookbox-ico-promocode.svg) no-repeat 14px center !important;
}
@media (min-width: 1024px) {
  #bookingbox .promocode {
    flex: 1 0 100%;
    display: block;
    text-align: center;
  }
  #bookingbox .promocode #b_promocode {
    padding: 5px;
  }
}
#bookingbox .promocode.error-promocode {
  position: relative;
}
#bookingbox .promocode.error-promocode:after {
  left: -8px;
  top: -34px;
  background-color: #C22929;
  border-radius: 3px;
  color: white;
  content: attr(data-error);
  padding: 10px 20px;
  pointer-events: none;
  position: absolute;
  z-index: 10;
}
#bookingbox .promocode.error-promocode:before {
  position: absolute;
  left: 17px;
  z-index: 10;
  top: -3px;
  content: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTUgOCI+ICA8cG9seWdvbiBmaWxsPSIjQzQyNzIyIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHBvaW50cz0iNy41IDAgMTUgOCAwIDgiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgNy41IDQpIi8+PC9zdmc+);
}
#bookingbox .promocode.error-promocode #promocode {
  border: 2px solid #D90000;
}
#bookingbox .promocode.active #promocode {
  display: block;
}
#bookingbox .btns {
  margin: 10px 0 0;
  width: 100%;
}
@media (min-width: 1024px) {
  #bookingbox .btns {
    margin: 10px 0 0;
    width: 100%;
  }
}
/* SUMMARY ///////////////////////////////////////////////////////////////////////////////////////////////  */
#summary {
  position: relative;
  z-index: 98;
  width: 100%;
  background-color: #EFEFEF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.15);
}
@media (min-width: 992px) {
  #summary {
    position: relative;
    top: 0;
  }
  #summary .wrapper {
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 1200px) {
  #summary .wrap + .wrap {
    clear: both;
    margin-top: 20px;
  }
}
#summary .loading {
  display: none;
  position: absolute;
  z-index: 10;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9) url(/i/be/loading1.gif) no-repeat center center;
}
#summary .wrapper > h2 {
  display: none;
}
#summary .i-hotel {
  display: block;
  margin-top: 0;
  padding: 10px 15px 10px 0;
  width: 100%;
  text-align: center;
}
#summary .i-hotel h3 {
  font-size: 18px;
  font-weight: 400;
  line-height: 140%;
  color: #555555;
}
@media (min-width: 992px) {
  #summary .i-hotel {
    -webkit-flex: 1;
    flex: 1;
    min-width: 200px;
    padding: 8px 10px 0 0;
    text-align: left;
  }
}
#summary .i-hotel .dates {
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
}
#summary .i-hotel .dates p {
  display: inline-block;
}
#summary .i-hotel .dates p:first-child {
  margin-right: 5px;
  padding-right: 10px;
  border-right: 1px solid #555555;
}
#summary .i-hotel .dates p em {
  display: none;
}
@media (min-width: 992px) {
  #summary .i-booking {
    display: -webkit-flex;
    display: flex;
    -webkit-flex: 3;
    flex: 3;
    border: none;
  }
}
#summary .i-booking .rooms_summary {
  display: none;
}
#summary .i-booking .rooms_details {
  display: block;
  text-align: center;
  border-top: 1px solid #DDD;
}
#summary .i-booking .rooms_details > li {
  position: relative;
  display: inline-block;
  vertical-align: top;
  font-size: 12px;
  color: #909090;
  border-left: 1px solid #DDD;
  margin-left: -4px;
  cursor: pointer;
  padding: 5px;
}
@media (min-width: 360px) {
  #summary .i-booking .rooms_details > li {
    padding: 10px;
  }
}
@media (min-width: 460px) {
  #summary .i-booking .rooms_details > li {
    padding: 10px 20px;
  }
}
#summary .i-booking .rooms_details > li:last-child {
  border-right: 1px solid #DDD;
}
#summary .i-booking .rooms_details > li:hover .win-info {
  display: block;
  opacity: 1;
  top: 60px;
  transition: all 0.5s ease-out;
}
#summary .i-booking .rooms_details > li:hover .md-room {
  display: block;
  opacity: 1;
  top: 20px;
  transition: all 0.5s ease-out;
}
#summary .i-booking .rooms_details > li.active {
  border-bottom: 2px solid #000000;
}
#summary .i-booking .rooms_details > li.selected {
  background: url(/i/be/ico-circle-check-grey.svg) no-repeat 80px 30px;
  background-size: 25px;
}
@media (min-width: 360px) {
  #summary .i-booking .rooms_details > li.selected {
    background: url(/i/be/ico-circle-check-grey.svg) no-repeat 87px 35px;
    background-size: 32px;
  }
}
@media (min-width: 460px) {
  #summary .i-booking .rooms_details > li.selected {
    background: url(/i/be/ico-circle-check-grey.svg) no-repeat 105px 32px;
    background-size: 35px;
  }
}
#summary .i-booking .rooms_details > li.selected h2 {
  color: #555555;
}
#summary .i-booking .rooms_details h2 {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}
@media (min-width: 360px) {
  #summary .i-booking .rooms_details h2 {
    font-size: 11px;
  }
}
#summary .i-booking .rooms_details h2 img {
  vertical-align: middle;
}
#summary .i-booking .rooms_details .md-room {
  display: none;
  opacity: 0;
  position: absolute;
  left: 10px;
  right: 10px;
  top: 10px;
  background-color: #555555;
  padding: 5px 10px;
  border-radius: 2px;
  color: #FFF;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
}
#summary .i-booking .rooms_details .strike {
  text-decoration: line-through;
}
#summary .i-booking .rooms_details .pax {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  margin: 0px 4px;
}
#summary .i-booking .rooms_details .pax.adults,
#summary .i-booking .rooms_details .pax.kids {
  background: url(/i/be/ico-adult.svg) no-repeat left bottom;
  height: 22px;
  padding-left: 16px;
  line-height: 22px;
}
#summary .i-booking .rooms_details .pax.kids {
  background-image: url(/i/be/ico-kid.svg);
}
#summary .i-booking .rooms_details .pax em {
  display: none;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
#summary .i-booking .rooms_details .win-info {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  top: 70px;
  left: -5px;
  padding: 20px;
  z-index: 5;
  text-align: left;
  white-space: nowrap;
  background: #FFF;
  border-radius: 5px;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.2);
}
#summary .i-booking .rooms_details .win-info:before {
  display: block;
  content: '';
  width: 15px;
  height: 15px;
  position: absolute;
  top: -6px;
  left: 50px;
  margin-right: -7.5px;
  background-color: #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  box-shadow: -2px -2px 1px rgba(0, 0, 0, 0.05);
}
#summary .i-booking .rooms_details .win-info:hover {
  display: block;
}
#summary .i-booking .rooms_details .win-info h3 {
  font-size: 12px;
  font-weight: 600;
  color: #000000;
}
#summary .i-booking .rooms_details .win-info h4 {
  font-size: 12px;
  font-weight: 600;
  color: #909090;
  margin-top: 5px;
}
#summary .i-booking .rooms_details .win-info p {
  margin-top: 2px;
}
#summary .i-booking .rooms_details .win-info .extras {
  margin-top: 5px;
}
#summary .i-booking .rooms_details h5 {
  font-size: 14px;
  color: #555555;
  margin-top: 5px;
}
@media (min-width: 992px) {
  #summary .i-booking .rooms_details {
    border-top: none;
    -webkit-flex: 2;
    flex: 2;
    text-align: left;
  }
}
#summary .total {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  position: fixed;
  bottom: 0;
  left: 0;
  box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.15);
  padding: 10px;
  width: 100%;
  z-index: 99999;
  color: #FFF;
  background-color: #000000;
  cursor: default;
}
#summary .total h4 {
  display: inline-block;
  font-size: 12px;
  font-weight: 400;
  color: #FFF;
  margin-right: 10px;
  white-space: nowrap;
}
#summary .total h5 {
  flex: 1;
  display: inline-block;
  color: #FFF;
  font-size: 20px;
  font-weight: 400;
  line-height: 100%;
}
#summary .total h5 em {
  display: block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
#summary .total h5 em img {
  vertical-align: middle;
}
#summary .total .cta {
  display: none;
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  color: #FFF;
  background: url(/i/be/ico-circle-check-white.svg) left center no-repeat;
  padding: 3px 0 5px 24px;
}
#summary .total .win-info {
  flex: 2;
  display: inline-block;
  vertical-align: bottom;
  margin-left: 20px;
  padding-top: 5px;
  padding-bottom: 2px;
  pointer-events: none;
}
#summary .total .win-info p {
  font-size: 10px;
  line-height: 120%;
}
@media (min-width: 480px) {
  #summary .total .cta {
    display: inline-block;
    order: 3;
    flex: 1 0 100%;
  }
}
@media (min-width: 768px) {
  #summary .total {
    flex-direction: column;
    align-items: flex-start;
    width: auto;
    max-width: 320px;
    bottom: 10px;
    padding: 20px 30px;
    box-shadow: 2px -2px 10px rgba(0, 0, 0, 0.25);
    border-radius: 0 3px 3px 0;
  }
  #summary .total .cta {
    flex: 1;
    order: 2;
    margin-top: 5px;
  }
  #summary .total .win-info {
    flex: 1 0 100%;
    order: 3;
    display: block;
    margin-left: 0;
    padding-bottom: 3px;
  }
  #summary .total .win-info p {
    font-size: 11px;
  }
}
@media (min-width: 1024px) {
  #summary .total.upgrade {
    -webkit-flex: 1;
    flex: 1;
    position: relative;
    bottom: auto;
    left: auto;
    box-shadow: none;
    background-color: transparent;
    color: #555555;
    min-width: 160px;
    padding: 12px 10px 0;
  }
  #summary .total.upgrade:hover .win-info {
    display: block;
    opacity: 1;
    top: 60px;
    transition: all 0.5s ease-out;
  }
  #summary .total.upgrade .fee h4,
  #summary .total.upgrade h5,
  #summary .total.upgrade p {
    color: #555555;
    display: block;
  }
  #summary .total.upgrade h5 {
    display: inline-block;
    font-size: 18px;
    line-height: 90%;
  }
  #summary .total.upgrade h5 em {
    color: #555555;
  }
  #summary .total.upgrade .win-info {
    position: absolute;
    opacity: 0;
    z-index: 5;
    top: 70px;
    left: -100px;
    min-width: 200px;
    max-width: 400px;
    padding: 20px;
    text-align: left;
    background: #FFF;
    border-radius: 5px;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.2);
  }
  #summary .total.upgrade .win-info:before {
    display: block;
    content: '';
    width: 15px;
    height: 15px;
    position: absolute;
    top: -6px;
    left: 100px;
    margin-right: -7.5px;
    background-color: #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    box-shadow: -2px -2px 1px rgba(0, 0, 0, 0.05);
  }
  #summary .total.upgrade .win-info:hover {
    display: block;
  }
  #summary .total.upgrade .win-info .fee {
    display: block;
    text-align: left;
  }
  #summary .total.upgrade .win-info .fee h4 {
    color: #555555;
    display: block;
  }
  #summary .total.upgrade .win-info .fee h4 em {
    display: initial;
    width: auto;
  }
  #summary .total.upgrade .win-info p {
    font-size: 11px;
    margin-top: 3px;
  }
}
#summary #aux_form {
  -webkit-flex: 0;
  flex: 0;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  #summary #aux_form {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
  }
}
#summary .md_search .btn {
  position: absolute;
  background: none;
  box-shadow: none;
  padding: 0;
  width: 40px;
  height: 40px;
  top: 10px;
  left: 10px;
  background: url(/i/be/btn-modify1.svg) no-repeat center;
  overflow: hidden;
  text-indent: -999px;
}
@media (min-width: 992px) {
  #summary .md_search {
    margin: 15px 0 0;
  }
  #summary .md_search .btn {
    display: block;
    position: relative;
    top: auto;
    left: auto;
    background: transparent;
    text-indent: 0px;
    background-color: #555555 !important;
    color: #CCC;
    line-height: 32px;
    width: auto;
    height: 32px;
    margin: 0 auto;
    padding: 0 20px;
    text-transform: uppercase;
    float: none;
    white-space: nowrap;
  }
  #summary .md_search .btn:hover {
    background-color: #6f6f6f !important;
    color: #FFF;
  }
}
@media (max-width: 991px) {
  #summary .other_hotels {
    display: none;
  }
}
@media (min-width: 992px) {
  #summary .other_hotels {
    margin: 15px 0 0;
  }
  #summary .other_hotels .btn {
    position: relative;
    top: auto;
    right: auto;
    background: transparent;
    text-indent: 0px;
    background-color: #555555 !important;
    color: #CCC;
    line-height: 32px;
    width: auto;
    height: 32px;
    margin: 0px auto;
    padding: 0 20px;
    text-transform: uppercase;
    float: none;
    white-space: nowrap;
  }
  #summary .other_hotels .btn:hover {
    background-color: #6f6f6f !important;
    color: #FFF;
  }
}
/* STEP 1 //////////////////////////////////////////////////////////////////////////////////////////////// */
/* List ///////////////////  */
#step1 .list > h2 {
  color: #555555;
  margin-top: 40px;
  text-align: center;
}
#step1 .list > h2 + h3 {
  margin-top: 5px;
}
#step1 .list > h3 {
  font-size: 30px;
  text-transform: uppercase;
  text-align: center;
  margin-top: 40px;
}
#step1 .list h3 .ico {
  display: block;
  position: absolute;
  right: 20px;
  top: 32px;
  width: 30px;
  height: 40px;
  margin-top: -5px;
  background-position: -170px -145px;
}
#step1 .list .rooms {
  margin-top: 30px;
}
#step1 .list .other-options h4 {
  font-size: 26px;
  text-transform: uppercase;
  text-align: center;
  margin-top: 40px;
}
/* Room /////////////////////////////////////  */
#step1 .room {
  padding: 12px 10px 10px;
  margin-top: 30px;
}
@media (min-width: 520px) {
  #step1 .room {
    padding: 20px;
  }
}
@media (min-width: 768px) {
  #step1 .room .wrap-room {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 30px;
  }
}
#step1 .room .photo {
  max-width: 500px;
  line-height: 0;
  position: relative;
  margin: 0px auto;
}
#step1 .room .photo > a > img {
  min-width: 300px;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3);
}
@media (min-width: 768px) {
  #step1 .room .photo {
    -webkit-flex: 1 360px;
    flex: 1 360px;
    max-width: 360px;
  }
}
@media (min-width: 992px) {
  #step1 .room .photo {
    margin: 0;
  }
}
#step1 .room .photo .shw {
  display: none;
}
#step1 .room .photo .show_gal {
  display: block;
  position: relative;
}
#step1 .room .photo .show_gal:before {
  position: absolute;
  z-index: 3;
  content: "";
  width: 40px;
  height: 35px;
  bottom: 10px;
  border-radius: 5px;
  margin: -30px 0px 0 -30px;
  transition: all 0.5s cubic-bezier(0, 0, 0.49, 1.17);
  background: rgba(35, 35, 35, 0.7) url(/i/be/ico-zoom.svg) no-repeat center;
}
@media (max-width: 767px) {
  #step1 .room .photo .show_gal:before {
    right: 10px;
  }
}
@media (min-width: 768px) {
  #step1 .room .photo .show_gal:before {
    left: 40px;
  }
}
#step1 .room .photo .show_gal:hover:before {
  background-color: #111;
}
#step1 .room .photo .found-on {
  display: block;
  text-align: center;
  font: 600 10px "Roboto", Helvetica, Arial, sans-serif;
  color: #555555;
  text-transform: uppercase;
  background-color: #FFF;
  margin-top: 5px;
}
#step1 .room .photo .found-on img {
  height: 30px;
  margin-top: 2px;
}
#step1 .room .info {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 25px auto;
  text-align: left;
}
@media (min-width: 768px) {
  #step1 .room .info {
    max-width: inherit;
    margin: 0;
    text-align: left;
    -webkit-flex: 1;
    flex: 1;
    padding: 0 0 0 30px;
  }
}
#step1 .room .info h3 {
  font-size: 24px;
  font-weight: 400;
  margin-top: 0;
}
#step1 .room .info h3 em {
  display: none;
}
#step1 .room .info .alert-room {
  position: absolute;
  top: -60px;
  left: -5px;
  display: table;
  font-size: 13px;
  font-weight: 600;
  color: #FFF;
  background-color: #D90000;
  margin: 1px auto 7px;
  padding: 6px 15px;
  border-radius: 2px;
}
@media (min-width: 768px) {
  #step1 .room .info .alert-room {
    position: relative;
    top: inherit;
    left: inherit;
    margin: 1px 0 7px;
  }
}
#step1 .room .info .description {
  width: 100%;
  margin: 10px 0;
  clear: both;
  text-align: left;
  max-width: 500px;
  margin: 10px auto 0;
}
@media (min-width: 768px) {
  #step1 .room .info .description {
    max-width: 660px;
    margin: 10px 0 0;
  }
}
#step1 .room .info .description .hidden {
  display: none;
  margin-top: 10px;
}
#step1 .room .info .description .read-more {
  color: #555555;
  text-decoration: none;
}
#step1 .room .info .description .read-more::before {
  content: '+ ';
}
#step1 .room .info .description .read-more.active::before {
  content: '- ';
}
#step1 .room .info .description + .offer-description {
  display: inline-block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #CCC;
}
#step1 .room .info .room-services {
  display: grid;
  grid-template-columns: repeat(auto-fit, 40px);
  gap: 5px;
  list-style: none;
  padding-left: 0;
  margin-top: 10px !important;
}
@media (min-width: 768px) {
  #step1 .room .info .room-services {
    grid-template-columns: repeat(auto-fit, 50px);
  }
}
#step1 .room .info .room-services li i {
  position: relative;
  cursor: help;
  display: block;
  width: 40px;
  height: 40px;
  background-size: 40px;
  text-indent: -9999px;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid #111;
  border-radius: 50%;
}
@media (min-width: 768px) {
  #step1 .room .info .room-services li i {
    width: 50px;
    height: 50px;
    background-size: 50px;
  }
}
#step1 .room .info .room-services li i.room__ico-m2 {
  background-image: url(/i/be/room__ico-m2.svg);
}
#step1 .room .info .room-services li i.room__ico-pax {
  background-image: url(/i/be/room__ico-pax.svg);
}
#step1 .room .info .room-services li i.room__ico-aacc {
  background-image: url(/i/be/room__ico-aacc.svg);
}
#step1 .room .info .room-services li i.room__ico-alarma {
  background-image: url(/i/be/room__ico-alarma.svg);
}
#step1 .room .info .room-services li i.room__ico-radio {
  background-image: url(/i/be/room__ico-radio.svg);
}
#step1 .room .info .room-services li i.room__ico-terraza {
  background-image: url(/i/be/room__ico-terraza.svg);
}
#step1 .room .info .room-services li i.room__ico-banyera-hidro {
  background-image: url(/i/be/room__ico-banyera-hidro.svg);
}
#step1 .room .info .room-services li i.room__ico-albornoz {
  background-image: url(/i/be/room__ico-albornoz.svg);
}
#step1 .room .info .room-services li i.room__ico-acc-banyo {
  background-image: url(/i/be/room__ico-acc-banyo.svg);
}
#step1 .room .info .room-services li i.room__ico-banyera {
  background-image: url(/i/be/room__ico-banyera.svg);
}
#step1 .room .info .room-services li i.room__ico-bany-duch {
  background-image: url(/i/be/room__ico-bany-duch.svg);
}
#step1 .room .info .room-services li i.room__ico-ducha {
  background-image: url(/i/be/room__ico-ducha.svg);
}
#step1 .room .info .room-services li i.room__ico-cafetera {
  background-image: url(/i/be/room__ico-cafetera.svg);
}
#step1 .room .info .room-services li i.room__ico-cuna {
  background-image: url(/i/be/room__ico-cuna.svg);
}
#step1 .room .info .room-services li i.room__ico-secador {
  background-image: url(/i/be/room__ico-secador.svg);
}
#step1 .room .info .room-services li i.room__ico-plancha {
  background-image: url(/i/be/room__ico-plancha.svg);
}
#step1 .room .info .room-services li i.room__ico-jacuzzi {
  background-image: url(/i/be/room__ico-jacuzzi.svg);
}
#step1 .room .info .room-services li i.room__ico-cama-king {
  background-image: url(/i/be/room__ico-cama-king.svg);
}
#step1 .room .info .room-services li i.room__ico-cama-queen {
  background-image: url(/i/be/room__ico-cama-queen.svg);
}
#step1 .room .info .room-services li i.room__ico-cama {
  background-image: url(/i/be/room__ico-cama.svg);
}
#step1 .room .info .room-services li i.room__ico-cama-indiv {
  background-image: url(/i/be/room__ico-cama-inv.svg);
}
#step1 .room .info .room-services li i.room__ico-cama-suple {
  background-image: url(/i/be/room__ico-cama-suple.svg);
}
#step1 .room .info .room-services li i.room__ico-camas-indiv {
  background-image: url(/i/be/room__ico-camas-indiv.svg);
}
#step1 .room .info .room-services li i.room__ico-sofacama {
  background-image: url(/i/be/room__ico-sofacama.svg);
}
#step1 .room .info .room-services li i.room__ico-safe {
  background-image: url(/i/be/room__ico-safe.svg);
}
#step1 .room .info .room-services li i.room__ico-living {
  background-image: url(/i/be/room__ico-living.svg);
}
#step1 .room .info .room-services li i.room__ico-telefono {
  background-image: url(/i/be/room__ico-telefono.svg);
}
#step1 .room .info .room-services li i.room__ico-alarm-ring {
  background-image: url(/i/be/room__ico-alarm-ring.svg);
}
#step1 .room .info .room-services li i.room__ico-mascotas {
  background-image: url(/i/be/room__ico-mascotas.svg);
}
#step1 .room .info .room-services li i.room__ico-welcome-gift {
  background-image: url(/i/be/room__ico-welcome-gift.svg);
}
#step1 .room .info .room-services li i.room__ico-ventinador {
  background-image: url(/i/be/room__ico-ventinador.svg);
}
#step1 .room .info .room-services li i.room__ico-hab-adapt {
  background-image: url(/i/be/room__ico-hab-adapt.svg);
}
#step1 .room .info .room-services li i.room__ico-mini-nevera {
  background-image: url(/i/be/room__ico-mini-nevera.svg);
}
#step1 .room .info .room-services li i.room__ico-calefaccion {
  background-image: url(/i/be/room__ico-calefaccion.svg);
}
#step1 .room .info .room-services li i.room__ico-vistas-mont {
  background-image: url(/i/be/room__ico-vistas-mont.svg);
}
#step1 .room .info .room-services li i.room__ico-vistas-mar {
  background-image: url(/i/be/room__ico-vistas-mar.svg);
}
#step1 .room .info .room-services li i.room__ico-vistas-piscina {
  background-image: url(/i/be/room__ico-vistas-piscina.svg);
}
#step1 .room .info .room-services li i.room__ico-zapatillas {
  background-image: url(/i/be/room__ico-zapatillas.svg);
}
#step1 .room .info .room-services li i.room__ico-art-aseo {
  background-image: url(/i/be/room__ico-art-aseo.svg);
}
#step1 .room .info .room-services li i.room__ico-piscina-priv {
  background-image: url(/i/be/room__ico-piscina-priv.svg);
}
#step1 .room .info .room-services li i.room__ico-tv {
  background-image: url(/i/be/room__ico-tv.svg);
}
#step1 .room .info .room-services li i.room__ico-tv-sat {
  background-image: url(/i/be/room__ico-tv-sat.svg);
}
#step1 .room .info .room-services li i.room__ico-wifi {
  background-image: url(/i/be/room__ico-wifi.svg);
}
#step1 .room .info .room-services li i.room__ico-wifi-free {
  background-image: url(/i/be/room__ico-wifi-free.svg);
}
#step1 .room .info .room-services li i.room__ico-wifi-premium {
  background-image: url(/i/be/room__ico-wifi-premium.svg);
}
#step1 .room .info .room-services li i.room__ico-nespresso {
  background-image: url(/i/be/room__ico-nespresso.svg);
}
#step1 .room .info .room-services li i.room__ico-escritorio {
  background-image: url(/i/be/room__ico-escritorio.svg);
}
#step1 .room .info .room-services li i.room__ico-minibar {
  background-image: url(/i/be/room__ico-minibar.svg);
}
#step1 .room .info .room-services li i.room__ico-banyo {
  background-image: url(/i/be/room__ico-banyo.svg);
}
#step1 .room .info .room-services li i.room__ico-ropa-alta {
  background-image: url(/i/be/room__ico-ropa-alta.svg);
}
#step1 .room .info .room-services li i.room__ico-parking {
  background-image: url(/i/be/room__ico-parking.svg);
}
#step1 .room .info .room-services li i.room__ico-parking-free {
  background-image: url(/i/be/room__ico-parking-free.svg);
}
#step1 .room .info .room-services li i.room__ico-spa {
  background-image: url(/i/be/room__ico-spa.svg);
}
#step1 .room .info .room-services li i.room__ico-spa-inc {
  background-image: url(/i/be/room__ico-spa-inc.svg);
}
#step1 .room .info .room-services li i.room__ico-hamacas {
  background-image: url(/i/be/room__ico-hamacas.svg);
}
#step1 .room .info .room-services li i.room__ico-almohadas {
  background-image: url(/i/be/room__ico-almohadas.svg);
}
#step1 .room .info .room-services li:hover i:before {
  display: block;
  position: absolute;
  content: attr(title);
  font-size: 12px;
  color: white;
  text-indent: 0;
  top: -35px;
  left: 50%;
  transform: translate(-50%);
  border-radius: 2px;
  padding: 5px 10px;
  background-color: #222222;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}
#step1 .room .info .btn-flexdates,
#step1 .room .info .btn-description {
  position: relative;
  float: right;
  color: #555555;
  font-size: 12px;
  border: none;
  border-radius: 2px;
  padding: 5px 20px;
  margin-left: 5px;
  background-color: #e4e4e4;
  margin-top: 10px;
  clear: both;
}
#step1 .room .info .btn-flexdates:hover,
#step1 .room .info .btn-description:hover {
  background-color: #f1f0f0;
}
@media (min-width: 768px) {
  #step1 .room .info .btn-flexdates,
  #step1 .room .info .btn-description {
    margin-top: 2px;
    clear: none;
    width: auto;
  }
}
#step1 .room .info .btn-description {
  display: none;
}
#step1 .room .info .btn-flexdates {
  display: none;
}
@media (min-width: 992px) {
  #step1 .room .info .btn-flexdates {
    display: block;
  }
}
#step1 .room .info .btn-flexdates .ico {
  position: absolute;
  right: 2px;
  bottom: -10px;
  width: 24px;
  height: 24px;
  background-position: -170px -220px;
}
#step1 .room .rates {
  width: 100%;
  padding: 15px;
  margin-top: 30px;
}
@media (min-width: 768px) {
  #step1 .room .rates {
    -webkit-flex: 2;
    flex: 2;
    padding: 20px 0px 5px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
  }
}
#step1 .room .rates input {
  display: none;
}
#step1 .room .rates .rate {
  position: relative;
  padding: 0 0 10px;
}
@media (min-width: 768px) {
  #step1 .room .rates .rate {
    -webkit-flex: 1 0 100%;
    flex: 1 0 100%;
  }
}
#step1 .room .rates .rate h4 {
  display: block;
  font-size: 16px;
  font-weight: 600;
}
#step1 .room .rates .rate h4 .contract {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #555555;
}
#step1 .room .rates .rate h4 .cta-nr,
#step1 .room .rates .rate h4 .cta-ph,
#step1 .room .rates .rate h4 .cta-bp,
#step1 .room .rates .rate h4 .cta-date {
  display: block;
  vertical-align: middle;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: #909090;
  padding: 5px 0;
  margin-right: 8px;
}
@media (min-width: 420px) {
  #step1 .room .rates .rate h4 .cta-nr,
  #step1 .room .rates .rate h4 .cta-ph,
  #step1 .room .rates .rate h4 .cta-bp,
  #step1 .room .rates .rate h4 .cta-date {
    display: inline-block;
    white-space: nowrap;
  }
}
#step1 .room .rates .rate h4 .cta-ph,
#step1 .room .rates .rate h4 .cta-bp,
#step1 .room .rates .rate h4 .cta-date {
  color: #21b74e;
}
@media (max-width: 419px) {
  #step1 .room .rates .rate h4 .cta-ph,
  #step1 .room .rates .rate h4 .cta-bp,
  #step1 .room .rates .rate h4 .cta-date {
    padding-left: 24px;
    background: url(/i/be/ico-circle-check.svg) left center no-repeat;
  }
}
@media (min-width: 420px) {
  #step1 .room .rates .rate h4 .cta-ph,
  #step1 .room .rates .rate h4 .cta-bp,
  #step1 .room .rates .rate h4 .cta-date {
    padding-right: 24px;
    background: url(/i/be/ico-circle-check.svg) right center no-repeat;
  }
}
#step1 .room .rates .rate .rate-description {
  font-size: 14px;
  margin: 10px 0;
}
@media (min-width: 768px) {
  #step1 .room .rates .rate .rate-included ul {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 1px 20px;
  }
}
#step1 .room .rates .rate .rate-included ul li {
  font-size: 13px;
  color: #555555;
  margin-top: 4px;
  padding-left: 18px;
  background: url(/i/be/ico-check-grey.svg) left 5px no-repeat;
}
#step1 .room .rates .extras_included {
  -webkit-flex: 1 0 100%;
  flex: 1 0 100%;
}
#step1 .room .rates .extra {
  display: inline-block;
}
#step1 .room .rates .meal-plan {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid #DDD;
  transition: all 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (min-width: 768px) {
  #step1 .room .rates .meal-plan {
    -webkit-flex: 1;
    flex: 1;
  }
}
#step1 .room .rates .meal-plan.meal-plan-only {
  border-bottom: none;
  margin-right: 0;
}
#step1 .room .rates .meal-plan.active {
  border-bottom: none;
  padding-bottom: 0;
}
#step1 .room .rates .meal-plan.active .price {
  color: #000000;
}
#step1 .room .rates .meal-plan.active .btn-book {
  position: relative;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}
#step1 .room .rates .meal-plan.active .btn-book:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 9;
  width: 18px;
  margin-right: -9px;
  height: 18px;
  bottom: -7px;
  right: 50%;
  color: #FFF;
  background-color: #000000;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: 50% 50% 0;
  transform-origin: 50% 50% 0;
}
#step1 .room .rates .meal-plan h5 {
  -webkit-flex: 3 0 100%;
  flex: 3 0 100%;
  font-size: 13px;
  font-weight: 400;
  color: #555555;
}
@media (min-width: 520px) {
  #step1 .room .rates .meal-plan h5 {
    -webkit-flex: 3;
    flex: 3;
  }
}
#step1 .room .rates .meal-plan h5 .ico {
  display: inline-block;
  display: none;
  width: 15px;
  height: 20px;
  margin-right: 5px;
  background-position: -150px -160px;
  vertical-align: middle;
}
#step1 .room .rates .meal-plan h5 .room-price-night {
  display: block;
  font-size: 11px;
}
#step1 .room .rates .meal-plan h5 .room-price-night sub {
  font-size: 1em;
}
#step1 .room .rates .meal-plan .price {
  -webkit-flex: 1;
  flex: 1;
  -webkit-align-items: center;
  align-items: center;
}
@media (max-width: 519px) {
  #step1 .room .rates .meal-plan .price {
    text-align: left;
  }
}
#step1 .room .rates .meal-plan .price sub {
  display: inline-block;
  margin-left: 2px;
  padding-top: 3px;
}
#step1 .room .rates .meal-plan .btn-book {
  -webkit-flex: 1;
  flex: 1;
  margin-top: 0;
  margin-left: 10px;
  padding: 0 20px;
}
@media (max-width: 519px) {
  #step1 .room .rates .meal-plan .btn-book {
    margin: 5px 0;
    -webkit-flex: 0;
    flex: 0;
  }
}
@media (min-width: 768px) {
  #step1 .room .rates .meal-plan.meal-plan-multi {
    display: inline-block;
    border: none;
    padding: 10px;
    margin: 10px 5px;
    border: 1px solid #E4E4E4;
    text-align: center;
    cursor: pointer;
  }
  .test-ab#step1 .room .rates .meal-plan.meal-plan-multi,
  .btn-book-button#step1 .room .rates .meal-plan.meal-plan-multi {
    padding: 15px 10px;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi h5 {
    -webkit-flex: none;
    flex: none;
    display: block;
    width: 100%;
    margin-bottom: 5px;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi .price {
    -webkit-flex: 2;
    flex: 2;
    -webkit-flex: none;
    flex: none;
    display: inline-block;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi .btn-book {
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    line-height: 100%;
    height: auto;
    margin-left: 0;
    background-color: transparent;
    border-radius: 0;
    box-shadow: inherit;
    margin-top: 2px;
    padding: 2px;
    color: #000000 !important;
    background: url(/i/be/ico-book2.svg) center no-repeat;
    -webkit-flex: none;
    flex: none;
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    height: 30px;
    text-indent: -9999px;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi .btn-book:hover {
    box-shadow: inherit !important;
  }
  .test-ab#step1 .room .rates .meal-plan.meal-plan-multi .btn-book,
  .btn-book-button#step1 .room .rates .meal-plan.meal-plan-multi .btn-book {
    background: none;
    font-size: 12px;
    text-decoration: underline !important;
    width: auto;
    height: auto;
    display: block;
    text-indent: 0;
    margin-top: 5px;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi:hover,
  #step1 .room .rates .meal-plan.meal-plan-multi.active {
    border: 1px solid transparent;
    padding: 20px 10px ;
    color: #FFF !important;
    background-color: #000000 !important;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi:hover h5,
  #step1 .room .rates .meal-plan.meal-plan-multi.active h5,
  #step1 .room .rates .meal-plan.meal-plan-multi:hover .price,
  #step1 .room .rates .meal-plan.meal-plan-multi.active .price,
  #step1 .room .rates .meal-plan.meal-plan-multi:hover .dto strong,
  #step1 .room .rates .meal-plan.meal-plan-multi.active .dto strong,
  #step1 .room .rates .meal-plan.meal-plan-multi:hover .btn-book,
  #step1 .room .rates .meal-plan.meal-plan-multi.active .btn-book {
    color: #FFF !important;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi:hover .btn-book,
  #step1 .room .rates .meal-plan.meal-plan-multi.active .btn-book {
    display: inline-block;
    box-shadow: none !important;
  }
  .test-ab#step1 .room .rates .meal-plan.meal-plan-multi:hover .btn-book,
  .test-ab#step1 .room .rates .meal-plan.meal-plan-multi.active .btn-book,
  .btn-book-button#step1 .room .rates .meal-plan.meal-plan-multi:hover .btn-book,
  .btn-book-button#step1 .room .rates .meal-plan.meal-plan-multi.active .btn-book {
    display: block;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi:hover .btn-book:before,
  #step1 .room .rates .meal-plan.meal-plan-multi.active .btn-book:before {
    display: none;
    content: none;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi.active {
    padding: 20px 10px;
    margin-bottom: 0;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
  }
  #step1 .room .rates .meal-plan.meal-plan-multi.active:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 9;
    width: 25px;
    margin-right: -12px;
    height: 25px;
    bottom: -12px;
    color: #FFF;
    background-color: #000000;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50% 0;
    transform-origin: 50% 50% 0;
  }
  #step1 .room .rates .meal-plan.meal-plan-multi.active .btn-book {
    background-image: url(/i/be/ico-book3.svg);
  }
  .test-ab#step1 .room .rates .meal-plan.meal-plan-multi.active .btn-book,
  .btn-book-button#step1 .room .rates .meal-plan.meal-plan-multi.active .btn-book {
    background-image: none;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  #step1 .room .rates .meal-plan.meal-plan-multi.active:before {
    right: 50%;
  }
}
#step1 .room .rates.highlight {
  padding: 210px 15px 20px;
  padding: 20px;
  border: 7px solid #000000;
  background-color: #FAFAFA;
}
@media (max-width: 919px) {
  #step1 .room .rates.highlight .rate {
    padding: 10px;
    border-radius: 5px;
  }
}
#step1 .room .rates.highlight .flag {
  margin-left: -46px;
}
@media (min-width: 640px) {
  #step1 .room .rates.highlight .flag {
    margin-left: 0;
    top: -5px;
    right: -32px;
  }
}
@media (min-width: 990px) {
  #step1 .room .rates.highlight .flag {
    top: 8px;
  }
}
#step1 .room .rates.highlight .rate h4 {
  color: #000000;
}
#step1 .room .rates.highlight .flag {
  font-size: 21px;
  line-height: 36px;
  padding-left: 38px;
  background-image: url(/i/be/ico-offer.svg) !important;
  background-position: 12px center !important;
  background-repeat: no-repeat !important;
}
@media (min-width: 640px) {
  #step1 .room .rates.highlight .flag::before {
    border-top: 21px solid transparent;
    border-left-width: 5px;
    border-color: rgba(255, 255, 255, 0.2);
  }
}
#step1 .room .rates.highlight .meal-plan.meal-plan-multi {
  background-color: #e4e4e4;
}
@media (min-width: 768px) {
  #step1 .room .rates.highlight .meal-plan.meal-plan-multi {
    background-color: #ffffff;
  }
}
#step1 .room .rates.highlight .meal-plan {
  padding: 10px;
  margin-top: 5px;
}
#step1 .room .price {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-weight: 600;
  font-size: 16px;
  text-align: right;
  white-space: nowrap;
}
#step1 .room div.offer,
#step1 .room label.offer {
  font-weight: 600;
}
#step1 .room div.offer .dto,
#step1 .room label.offer .dto {
  display: inline-block;
  position: relative;
  margin-right: 7px;
  line-height: 10px;
  text-align: center;
  vertical-align: middle;
}
#step1 .room div.offer .dto em,
#step1 .room label.offer .dto em {
  font-size: 13px;
  font-weight: 400;
  text-decoration: line-through;
}
#step1 .room div.offer .dto strong,
#step1 .room label.offer .dto strong {
  display: block;
  color: #D90000;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
}
#step1 .room .flag,
#offer h2 .flag,
#upgrade h2 .flag {
  display: inline-block;
  position: relative;
  padding: 5px 10px;
  z-index: 1;
  top: -11px;
  margin-top: -10px;
  background-color: #D90000;
  font: 600 14px "Roboto", Helvetica, Arial, sans-serif;
  color: #FFF;
  text-transform: uppercase;
  line-height: 24px;
  box-shadow: 2px 6px 8px rgba(0, 0, 0, 0.25);
  border-radius: 2px;
}
@media (min-width: 640px) {
  #step1 .room .flag,
  #offer h2 .flag,
  #upgrade h2 .flag {
    display: block;
    position: absolute;
    right: -25px;
    top: 17px;
    padding: 0px 12px 0px 17px;
    line-height: 30px;
    box-shadow: 3.5px 5px 2px rgba(0, 0, 0, 0.2);
  }
  #step1 .room .flag:before,
  #offer h2 .flag:before,
  #upgrade h2 .flag:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: 7px solid #FFF;
    border-top: 14px solid transparent;
    border-bottom: 15px solid transparent;
  }
  #step1 .room .flag:after,
  #offer h2 .flag:after,
  #upgrade h2 .flag:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -8px;
    border-top: 8px solid #600;
    border-right: 5px solid transparent;
  }
}
#step1 .room .flag.dto,
#offer h2 .flag.dto,
#upgrade h2 .flag.dto {
  background-color: #D90000;
  color: #FFF;
}
#step1 .room .flag.dto:after,
#offer h2 .flag.dto:after,
#upgrade h2 .flag.dto:after {
  border-top-color: #600;
}
#step1 .room .extra_included {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  line-height: 21px;
  text-transform: uppercase;
  margin-top: 5px;
  margin-right: 9px;
}
#step1 .room .extra_included .ico {
  position: relative;
  display: inline-block;
  vertical-align: bottom;
  width: 21px;
  height: 21px;
  margin-right: 5px;
  background: transparent url(/i/be/ico-included.svg) no-repeat center;
}
#step1 .room .extra_included.btn-info {
  cursor: help !important;
}
#step1 .room .cta {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  color: #21b74e;
  margin-top: 10px;
  border: 1px solid #21b74e;
  padding: 4px 8px;
  margin-right: 5px;
  white-space: nowrap;
}
#step1 .room h3 + .extra_included {
  margin-top: 10px;
}
#step1 .room .extras {
  display: none;
  position: relative;
  -webkit-flex: 1 0 100%;
  flex: 1 0 100%;
  max-width: 100%;
  margin: 2px 0 20px;
  border-radius: 3px;
  background: #FFF;
  border: 1px solid #E1E1E1;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
}
@media (min-width: 520px) {
  #step1 .room .extras {
    margin: 7px 0 20px;
  }
}
#step1 .room .extras input {
  display: none;
}
#upgrade #step1 .room .extras {
  clear: both;
  background-color: transparent;
  box-shadow: none;
  border: none;
  border-radius: 0;
  padding: 0;
}
#upgrade #step1 .room .extras:before {
  display: none;
}
#upgrade #step1 .room .extras .extras {
  clear: both;
  margin: 20px 0;
}
#upgrade #step1 .room .extras .extras > li {
  margin-top: 20px;
}
#step1 .room .extras > h4 {
  font-size: 24px;
  text-align: center;
  padding: 20px 20px 0;
}
@media (min-width: 520px) {
  #step1 .room .extras > h4 {
    padding-top: 30px;
  }
}
#step1 .room .extras .slick {
  text-align: center;
  margin: 10px 0 50px;
  padding: 0 20px;
}
#step1 .room .extras .slick .slick-extra {
  display: inline-block;
  vertical-align: top;
  text-align: left;
  max-width: 240px;
  margin: 10px;
}
#step1 .room .extras .slick .slick-extra .photo {
  width: 240px;
  border: 4px solid #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}
#step1 .room .extras .slick .slick-extra .extra-info {
  display: block;
  min-height: 150px;
  padding: 10px 2px;
}
#step1 .room .extras .slick .slick-extra .extra-info h5 {
  font-size: 15px;
  font-weight: 600;
  max-width: 90%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: initial;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
#step1 .room .extras .slick .slick-extra .extra-info h5 + p {
  height: 22px;
}
#step1 .room .extras .slick .slick-extra .extra-info select {
  padding: 6px 30px 7px 10px;
}
#step1 .room .extras .slick .slick-extra .extra-info .btn-info {
  font-size: 11px;
  text-decoration: underline;
  color: #555555;
  vertical-align: middle;
}
#step1 .room .extras .slick .slick-extra .extra-info .bx {
  margin-top: 20px;
  min-height: 40px;
  line-height: 40px;
}
#step1 .room .extras .slick .slick-extra .extra-info .bx_quantity select {
  text-align: center;
}
#step1 .room .extras .slick .slick-extra .extra-info .bx_price {
  color: #555555;
  font-weight: 600;
  font-size: 15px;
  margin-right: 5px;
  margin-left: 2px;
}
#step1 .room .extras .slick .slick-extra .extra-info .bx_price .bx_dto {
  padding: 3px 8px;
  background-color: #D90000;
  color: #FFF;
  font-size: 13px;
  border-radius: 2px;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
}
#step1 .room .extras .slick .slick-extra .btn {
  line-height: 32px;
  height: 32px;
}
#step1 .room .extras .slick .slick-extra .btn + .btn {
  margin-left: 0;
}
#step1 .room .extras .slick .slick-extra .btn-del-extra,
#step1 .room .extras .slick .slick-extra .btn-upgrade-del-extra {
  display: none;
}
#step1 .room .extras .total {
  text-align: center;
  padding: 20px 20px 30px;
  background-color: #F5F5F5;
}
@media (min-width: 768px) {
  #step1 .room .extras .total {
    text-align: right;
  }
}
@media (min-width: 1024px) {
  #step1 .room .extras .total {
    padding: 20px 40px 30px;
  }
}
#step1 .room .extras .total h4 {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #222222;
  text-align: left;
}
@media (min-width: 768px) {
  #step1 .room .extras .total h4 {
    font-size: 16px;
    display: inline-block;
    width: 54%;
    vertical-align: middle;
  }
}
@media (min-width: 992px) {
  #step1 .room .extras .total h4 {
    width: 61%;
  }
}
#step1 .room .extras .total .btn {
  margin: 0;
  margin-top: 20px;
}
@media (min-width: 768px) {
  #step1 .room .extras .total .btn {
    margin-top: 0;
    display: inline-block;
    width: 45%;
    vertical-align: middle;
  }
}
@media (min-width: 992px) {
  #step1 .room .extras .total .btn {
    width: 38%;
  }
}
/* OFFER //////////////////////////////////////////  */
#offer,
#upgrade {
  margin-top: 0px;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  #offer,
  #upgrade {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
  }
  #bb #offer,
  #bb #upgrade {
    align-items: flex-start;
  }
}
#offer h2 .ico,
#upgrade h2 .ico {
  display: block;
  position: absolute;
  right: 20px;
  top: 32px;
  width: 30px;
  height: 40px;
  margin-top: -5px;
  background-position: -170px -145px;
}
#offer h2 .flag,
#upgrade h2 .flag {
  display: inline-block;
  position: absolute;
  top: -20px;
  left: 10px;
  box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.4);
}
@media (min-width: 640px) {
  #offer h2 .flag,
  #upgrade h2 .flag {
    position: absolute;
    right: -5px;
    left: auto;
    top: 17px;
    box-shadow: 3.5px 5px 2px rgba(0, 0, 0, 0.2);
  }
  #offer h2 .flag:before,
  #upgrade h2 .flag:before {
    border-left: 5px solid #000000 !important;
  }
}
@media (min-width: 768px) {
  #offer h2 .flag,
  #upgrade h2 .flag {
    top: 22px;
  }
}
#offer .message,
#upgrade .message {
  -webkit-flex: 1;
  flex: 1;
}
@media (min-width: 768px) {
  #offer ul,
  #upgrade ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex: 1;
    flex: 1;
    -webkit-flex-direction: column;
    flex-direction: column;
    padding: 30px;
  }
}
@media (min-width: 992px) {
  #offer ul,
  #upgrade ul {
    padding: 30px 0 10px 30px;
  }
}
#offer .room,
#upgrade .room {
  margin-top: 0px;
  border-bottom: none;
  padding: 20px 20px 0;
  text-align: center;
  margin-top: 20px;
}
#bb #offer .room,
#bb #upgrade .room {
  gap: 30px;
  padding: 30px 30px 0;
}
#offer .room:first-child,
#upgrade .room:first-child {
  margin-top: 0;
}
@media (min-width: 768px) {
  #offer .room,
  #upgrade .room {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-flex: 1;
    flex: 1;
    padding: 20px 20px 0;
    padding: 0;
    text-align: left;
  }
  #bb #offer .room,
  #bb #upgrade .room {
    padding: 30px 0 0 30px;
  }
}
#offer .room .photo,
#upgrade .room .photo {
  max-width: 500px;
  line-height: 0;
  position: relative;
  margin: 0px auto;
}
#offer .room .photo > a > img,
#upgrade .room .photo > a > img {
  min-width: 300px;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3);
}
@media (min-width: 768px) {
  #offer .room .photo,
  #upgrade .room .photo {
    -webkit-flex: 1 360px;
    flex: 1 360px;
    max-width: 360px;
  }
}
@media (min-width: 992px) {
  #offer .room .photo,
  #upgrade .room .photo {
    margin: 0;
  }
}
#offer .room .photo .shw,
#upgrade .room .photo .shw {
  display: none;
}
#offer .room .photo .show_gal,
#upgrade .room .photo .show_gal {
  display: block;
  position: relative;
}
#offer .room .photo .show_gal:before,
#upgrade .room .photo .show_gal:before {
  position: absolute;
  z-index: 3;
  content: "";
  width: 40px;
  height: 35px;
  bottom: 10px;
  border-radius: 5px;
  margin: -30px 0px 0 -30px;
  transition: all 0.5s cubic-bezier(0, 0, 0.49, 1.17);
  background: rgba(35, 35, 35, 0.7) url(/i/be/ico-zoom.svg) no-repeat center;
}
@media (max-width: 767px) {
  #offer .room .photo .show_gal:before,
  #upgrade .room .photo .show_gal:before {
    right: 10px;
  }
}
@media (min-width: 768px) {
  #offer .room .photo .show_gal:before,
  #upgrade .room .photo .show_gal:before {
    left: 40px;
  }
}
#offer .room .photo .show_gal:hover:before,
#upgrade .room .photo .show_gal:hover:before {
  background-color: #111;
}
#offer .room .photo .found-on,
#upgrade .room .photo .found-on {
  display: block;
  text-align: center;
  font: 600 10px "Roboto", Helvetica, Arial, sans-serif;
  color: #555555;
  text-transform: uppercase;
  background-color: #FFF;
  margin-top: 5px;
}
#offer .room .photo .found-on img,
#upgrade .room .photo .found-on img {
  height: 30px;
  margin-top: 2px;
}
@media (min-width: 768px) {
  #offer .room .photo,
  #upgrade .room .photo {
    -webkit-flex: 1 200px;
    flex: 1 200px;
  }
  #bb #offer .room .photo,
  #bb #upgrade .room .photo {
    flex: 1 80px;
  }
}
#offer .room .info,
#upgrade .room .info {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 25px auto;
  text-align: left;
}
@media (min-width: 768px) {
  #offer .room .info,
  #upgrade .room .info {
    max-width: inherit;
    margin: 0;
    text-align: left;
    -webkit-flex: 1;
    flex: 1;
    padding: 0 0 0 30px;
  }
}
#offer .room .info h3,
#upgrade .room .info h3 {
  font-size: 24px;
  font-weight: 400;
  margin-top: 0;
}
#offer .room .info h3 em,
#upgrade .room .info h3 em {
  display: none;
}
#offer .room .info .alert-room,
#upgrade .room .info .alert-room {
  position: absolute;
  top: -60px;
  left: -5px;
  display: table;
  font-size: 13px;
  font-weight: 600;
  color: #FFF;
  background-color: #D90000;
  margin: 1px auto 7px;
  padding: 6px 15px;
  border-radius: 2px;
}
@media (min-width: 768px) {
  #offer .room .info .alert-room,
  #upgrade .room .info .alert-room {
    position: relative;
    top: inherit;
    left: inherit;
    margin: 1px 0 7px;
  }
}
#offer .room .info .description,
#upgrade .room .info .description {
  width: 100%;
  margin: 10px 0;
  clear: both;
  text-align: left;
  max-width: 500px;
  margin: 10px auto 0;
}
@media (min-width: 768px) {
  #offer .room .info .description,
  #upgrade .room .info .description {
    max-width: 660px;
    margin: 10px 0 0;
  }
}
#offer .room .info .description + .offer-description,
#upgrade .room .info .description + .offer-description {
  display: inline-block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #CCC;
}
#offer .room .info .room-services,
#upgrade .room .info .room-services {
  display: grid;
  grid-template-columns: repeat(auto-fit, 40px);
  gap: 5px;
  list-style: none;
  padding-left: 0;
}
@media (min-width: 768px) {
  #offer .room .info .room-services,
  #upgrade .room .info .room-services {
    grid-template-columns: repeat(auto-fit, 50px);
  }
}
#offer .room .info .room-services li i,
#upgrade .room .info .room-services li i {
  width: 40px;
  height: 40px;
  background-size: 40px;
  text-indent: -9999px;
  display: block;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid #111;
  border-radius: 50%;
  cursor: help;
}
@media (min-width: 768px) {
  #offer .room .info .room-services li i,
  #upgrade .room .info .room-services li i {
    width: 50px;
    height: 50px;
    background-size: 50px;
  }
}
#offer .room .info .room-services li:hover i:before,
#upgrade .room .info .room-services li:hover i:before {
  display: block;
  position: absolute;
  content: attr(title);
  font-size: 12px;
  color: white;
  text-indent: 0;
  top: -35px;
  left: 50%;
  transform: translate(-50%);
  border-radius: 2px;
  padding: 5px 10px;
  background-color: #222222;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}
#offer .room .info .btn-description,
#upgrade .room .info .btn-description {
  position: relative;
  float: right;
  color: #555555;
  font-size: 12px;
  border: none;
  border-radius: 2px;
  padding: 5px 20px;
  margin-left: 5px;
  background-color: #e4e4e4;
  margin-top: 10px;
  clear: both;
}
#offer .room .info .btn-description:hover,
#upgrade .room .info .btn-description:hover {
  background-color: #f1f0f0;
}
@media (min-width: 768px) {
  #offer .room .info .btn-description,
  #upgrade .room .info .btn-description {
    margin-top: 2px;
    clear: none;
    width: auto;
  }
}
#offer .room .info .btn-description,
#upgrade .room .info .btn-description {
  display: none;
}
#offer .room .info,
#upgrade .room .info {
  width: 100%;
  margin-bottom: 0px;
}
@media (min-width: 768px) {
  #offer .room .info,
  #upgrade .room .info {
    -webkit-flex: 3;
    flex: 3;
    margin-left: 0px;
    margin-top: 0px;
  }
  #offer .room .info h3,
  #upgrade .room .info h3 {
    margin-top: 0;
  }
}
#offer .room .info .offer-description-text,
#upgrade .room .info .offer-description-text {
  display: none;
}
#offer .room .info .offer-description,
#upgrade .room .info .offer-description {
  display: block;
  text-align: left;
  max-width: 500px;
  margin: 10px auto 0;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  height: auto;
}
@media (min-width: 768px) {
  #offer .room .info .offer-description,
  #upgrade .room .info .offer-description {
    max-width: inherit;
    margin: 10px 0 0;
  }
}
#offer .room .info .offer-description.active,
#upgrade .room .info .offer-description.active {
  overflow: hidden;
  margin-bottom: 10px;
}
#offer .room .info .offer-description.active .short,
#upgrade .room .info .offer-description.active .short {
  display: none;
}
#offer .room .info .offer-description .hidden,
#upgrade .room .info .offer-description .hidden {
  display: none;
}
#offer .room .info .more-description,
#upgrade .room .info .more-description {
  display: inline-block;
  margin-top: 20px;
}
#offer .room .info .rate,
#upgrade .room .info .rate {
  position: relative;
  margin-bottom: 10px;
}
#offer .room .info .rate.offer h4,
#upgrade .room .info .rate.offer h4 {
  display: block;
}
@media (min-width: 640px) {
  #offer .room .info .rate.offer h4,
  #upgrade .room .info .rate.offer h4 {
    max-width: calc(100% - 45px);
  }
}
#offer .room .info .rate.offer h4 .contract,
#upgrade .room .info .rate.offer h4 .contract {
  white-space: nowrap;
  font-weight: 600;
}
#offer .room .info .rate.offer h4 .contract:before,
#upgrade .room .info .rate.offer h4 .contract:before {
  content: ' · ';
}
#offer .room .info .rate h4,
#offer .room .info .rate h5,
#upgrade .room .info .rate h4,
#upgrade .room .info .rate h5 {
  font-size: 16px;
  font-weight: 600;
  color: #555555;
}
@media (min-width: 768px) {
  #offer .room .info .rate h4,
  #offer .room .info .rate h5,
  #upgrade .room .info .rate h4,
  #upgrade .room .info .rate h5 {
    display: inline-block;
    margin-top: 0px;
  }
}
#offer .room .info .rate h5,
#upgrade .room .info .rate h5 {
  font-size: 14px;
  font-weight: 400;
  margin-top: 2px;
}
#offer .room .info .rate .rate-description,
#upgrade .room .info .rate .rate-description {
  font-size: 14px;
  margin: 10px 0;
}
#offer .room .info .extra_included,
#upgrade .room .info .extra_included {
  -webkit-flex: 1 0 100%;
  flex: 1 0 100%;
}
@media (min-width: 768px) {
  #offer#upgrade .room,
  #upgrade#upgrade .room {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 30px;
  }
}
#offer .total,
#upgrade .total {
  position: relative;
  text-align: center;
  padding: 30px 20px 10px;
}
@media (min-width: 768px) {
  #offer .total,
  #upgrade .total {
    flex: 0 100%;
  }
  #bb #offer .total,
  #bb #upgrade .total {
    flex: 0;
    padding-top: 50px;
  }
}
@media (min-width: 992px) {
  #offer .total,
  #upgrade .total {
    flex: 0;
    padding: 40px 40px 20px 40px;
    white-space: nowrap;
  }
}
#offer .total h4,
#upgrade .total h4 {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #222222;
}
@media (min-width: 768px) {
  #offer .total h4,
  #upgrade .total h4 {
    display: inline-block;
    margin-right: 30px;
    vertical-align: middle;
  }
}
@media (min-width: 992px) {
  #offer .total h4,
  #upgrade .total h4 {
    display: block;
    margin-right: 0;
  }
}
#offer .total h4 span,
#upgrade .total h4 span {
  display: block;
  font-size: 24px;
}
#offer .total h4 span sub,
#upgrade .total h4 span sub {
  font-size: 16px;
}
#offer .total h4 em,
#upgrade .total h4 em {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #555555;
}
@media (min-width: 768px) {
  #offer .total h4 em,
  #upgrade .total h4 em {
    margin-top: 10px;
  }
}
#offer .total .btn-book,
#upgrade .total .btn-book {
  display: inline-block;
  width: 70%;
}
#offer .total .btn-book .btn,
#upgrade .total .btn-book .btn {
  margin-top: 10px;
}
@media (min-width: 768px) {
  #offer .total .btn-book,
  #upgrade .total .btn-book {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  #offer .total .btn-book .btn,
  #upgrade .total .btn-book .btn {
    margin-top: 0px;
  }
}
@media (min-width: 992px) {
  #offer .total .btn-book,
  #upgrade .total .btn-book {
    display: block;
    margin: 10px 0 0;
  }
}
@media (min-width: 768px) {
  #offer#upgrade .total h4 em,
  #upgrade#upgrade .total h4 em {
    display: none;
  }
}
/* Best */
#best {
  margin-top: 0px;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  #best {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
  }
}
#best h2 {
  text-align: center;
}
@media (min-width: 768px) {
  #best h2 {
    text-align: left;
  }
}
#best h2 .found-on {
  position: absolute;
  pointer-events: none;
  z-index: 9;
  right: 20px;
  top: 80px;
  text-align: center;
  font: 600 10px "Roboto", Helvetica, Arial, sans-serif;
  color: #555555;
  text-transform: uppercase;
  background-color: #FFF;
  padding: 7px 10px 9px;
  border-radius: 3px;
  box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.2);
}
@media (min-width: 768px) {
  #best h2 .found-on {
    top: 9px;
    right: 9px;
  }
}
#best h2 .found-on img {
  display: block;
  height: 30px;
  margin-top: 2px;
}
@media (min-width: 768px) {
  #best ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex: 1;
    flex: 1;
    -webkit-flex-direction: column;
    flex-direction: column;
    padding: 30px;
  }
}
@media (min-width: 992px) {
  #best ul {
    padding: 30px 0 10px 30px;
  }
}
#best .room {
  margin-top: 0px;
  border-bottom: none;
  padding: 25px 20px 0;
  min-height: 110px;
  text-align: center;
  margin-top: 20px;
}
#best .room:first-child {
  margin-top: 0;
}
@media (min-width: 768px) {
  #best .room {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-flex: 1;
    flex: 1;
    padding: 0;
    text-align: left;
    border: 1px solid #DDD;
  }
}
@media (min-width: 768px) {
  #best .room .photo {
    -webkit-flex: 0 200px;
    flex: 0 200px;
    max-width: 200px;
    margin: 0;
  }
  #best .room .photo > a > img {
    min-width: 200px;
    box-shadow: none;
  }
}
#best .room .info {
  width: 100%;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  #best .room .info {
    -webkit-flex: 3;
    flex: 3;
    padding: 15px 20px 5px 20px;
  }
}
#best .room .info h3 {
  margin-top: 0;
}
@media (min-width: 768px) {
  #best .room .info h3 {
    font-size: 18px;
  }
}
#best .room .info .alert-room {
  font-size: 12px;
  padding: 3px 10px;
}
#best .room .info .rate {
  position: relative;
  margin-bottom: 10px;
}
#best .room .info .rate h4,
#best .room .info .rate h5 {
  font-size: 16px;
  font-weight: 600;
  color: #555555;
}
@media (min-width: 768px) {
  #best .room .info .rate h4,
  #best .room .info .rate h5 {
    display: inline-block;
    margin-top: 0px;
  }
}
#best .room .info .rate h5 {
  font-size: 14px;
  font-weight: 400;
  margin-top: 2px;
}
#best .room .price {
  margin: 30px 0 0 0;
  text-align: center;
  background-color: #F4F4F4;
  border-radius: 3px;
  padding: 20px;
  width: 100%;
  max-width: 500px;
}
#best .room .price p {
  display: inline-block;
  vertical-align: middle;
  font-size: 11px;
}
@media (min-width: 768px) {
  #best .room .price {
    -webkit-flex: 1;
    flex: 1;
    max-width: 130px;
    margin: 0;
    padding: 50px 10px 10px;
    border-radius: 0;
  }
  #best .room .price p {
    display: block;
  }
}
@media (min-width: 768px) {
  #best .room .price.offer {
    padding-top: 35px;
  }
  #best .room .price.offer p {
    margin-top: 10px;
  }
  #best .room .price.offer .dto {
    display: block;
  }
  #best .room .price.offer .dto em {
    display: block;
  }
}
#best .total {
  position: relative;
  text-align: center;
  padding: 30px 20px 20px;
}
@media (min-width: 768px) {
  #best .total {
    -webkit-flex: 0 100%;
    flex: 0 100%;
    padding: 0px 20px 20px;
  }
}
@media (min-width: 992px) {
  #best .total {
    -webkit-flex: 0;
    flex: 0;
    padding: 30px 40px 20px;
    white-space: nowrap;
  }
}
#best .total h4 {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #222222;
}
@media (min-width: 768px) {
  #best .total h4 {
    display: inline-block;
    margin-right: 30px;
    vertical-align: middle;
  }
}
@media (min-width: 992px) {
  #best .total h4 {
    display: block;
    margin-right: 0;
  }
}
#best .total h4 span {
  display: block;
  font-size: 24px;
}
#best .total h4 span sub {
  font-size: 16px;
}
#best .total h4 em {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #555555;
}
@media (min-width: 768px) {
  #best .total h4 em {
    margin-top: 10px;
  }
}
#best .total .btn-book {
  display: inline-block;
  width: 70%;
}
#best .total .btn-book .btn {
  margin-top: 10px;
}
@media (min-width: 768px) {
  #best .total .btn-book {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  #best .total .btn-book .btn {
    margin-top: 0px;
  }
}
@media (min-width: 992px) {
  #best .total .btn-book {
    display: block;
    margin: 10px 0 0;
  }
}
/* NO DISPO > OTHERS HOTELS /////////////////////////  */
#nodispo .dialog .btn {
  display: inline-block;
  margin: 20px auto;
}
#nodispo > h2 {
  font-size: 28px;
  text-align: center;
  margin-top: 50px;
}
#nodispo > h3 {
  font-size: 24px;
  text-align: center;
  margin-top: 40px;
  color: #555555;
}
#nodispo .other {
  margin-top: 30px;
}
@media (min-width: 768px) {
  #nodispo .other {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
  }
}
#nodispo .other .room {
  margin-top: 0;
  border-bottom: none;
  padding: 20px 20px 0;
  text-align: center;
}
@media (min-width: 768px) {
  #nodispo .other .room {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-flex: 1;
    flex: 1;
    padding: 30px 30px 0;
    text-align: left;
  }
}
@media (min-width: 992px) {
  #nodispo .other .room {
    padding: 30px 0 30px 30px;
  }
}
@media (min-width: 768px) {
  #nodispo .other .room .photo {
    -webkit-flex: 1 300px;
    flex: 1 300px;
  }
}
#nodispo .other .room .info {
  width: 100%;
  text-align: center;
  margin-bottom: 0;
}
#nodispo .other .room .info p {
  text-align: left;
  max-width: 500px;
  margin: 10px auto 0;
}
#nodispo .other .room .info .address {
  text-align: center;
}
@media (min-width: 768px) {
  #nodispo .other .room .info {
    -webkit-flex: 3;
    flex: 3;
    text-align: left;
  }
  #nodispo .other .room .info p {
    text-align: left;
    max-width: inherit;
    margin: 10px 0 0;
  }
  #nodispo .other .room .info .address {
    margin-top: 10px;
    text-align: left;
    max-width: inherit;
  }
}
#nodispo .other .total {
  position: relative;
  text-align: center;
  padding: 20px 20px 40px;
}
@media (min-width: 768px) {
  #nodispo .other .total {
    -webkit-flex: 0 100%;
    flex: 0 100%;
  }
}
@media (min-width: 992px) {
  #nodispo .other .total {
    -webkit-flex: 0;
    flex: 0;
    padding: 0px 40px 20px 40px;
    white-space: nowrap;
  }
}
#nodispo .other .total h4 {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #222222;
}
@media (min-width: 768px) {
  #nodispo .other .total h4 {
    display: inline-block;
    margin-right: 30px;
    vertical-align: middle;
  }
}
@media (min-width: 992px) {
  #nodispo .other .total h4 {
    display: block;
    margin-right: 0;
  }
}
#nodispo .other .total h4 span {
  display: block;
  font-size: 24px;
}
#nodispo .other .total h4 span sub {
  font-size: 16px;
}
#nodispo .other .total h4 em {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #555555;
}
@media (min-width: 992px) {
  #nodispo .other .total h4 em {
    margin-top: 10px;
  }
}
#nodispo .other .total .promocode {
  display: inline-block;
  font: 600 12px "Roboto", Helvetica, Arial, sans-serif;
  color: #FFF;
  margin: 5px auto;
  padding: 0 12px 0 35px;
  text-transform: uppercase;
  line-height: 32px;
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.25);
  border-radius: 2px;
  background: #d90000 url(/i/be/ico-promocode.svg) no-repeat 10px center;
}
@media (min-width: 1024px) {
  #nodispo .other .total .promocode {
    display: block;
    padding: 0px 12px 0px 17px;
    line-height: 30px;
  }
}
#nodispo .other .total .btn {
  display: inline-block;
  margin-top: 10px;
  width: 70%;
}
@media (min-width: 768px) {
  #nodispo .other .total .btn {
    width: auto;
  }
}
@media (min-width: 992px) {
  #nodispo .other .total .btn {
    margin: 10px 0 0;
  }
}
#nodispo h3 + .other {
  margin-top: 20px;
}
/* Upgrade /////////////////////////////////  */
#upgrade {
  margin-bottom: 0px;
  padding-bottom: 0;
  -webkit-flex-direction: column;
  flex-direction: column;
}
#upgrade h2 {
  width: 100%;
  font-size: 30px;
  color: #000000;
  text-align: center;
  background-color: transparent;
  text-transform: inherit;
}
#upgrade > h3 {
  width: 100%;
  font-size: 30px;
  text-transform: inherit;
  text-align: center;
  margin-top: 40px;
  padding: 0 20px;
}
#upgrade .message {
  width: 100%;
  margin-top: 20px;
}
#upgrade .room {
  width: 100%;
  margin-top: 30px;
}
@media (min-width: 992px) {
  #upgrade .room {
    padding: 30px 0 30px 30px;
  }
}
#upgrade .room .info .offer-description {
  max-width: 600px;
}
#upgrade .room .extras {
  display: block;
  width: 100%;
  -webkit-flex: none;
  flex: none;
  border-radius: 0;
  box-shadow: none;
  border: none;
}
@media (min-width: 992px) {
  #upgrade .room-extras {
    padding: 10px 0 0;
  }
}
#upgrade .room-extras .extras .slick .slick-extra {
  margin: 50px 5px 0;
}
@media (max-width: 579px) {
  #upgrade .room-extras .extras .slick .slick-extra:first-child {
    margin-top: 20px;
  }
}
@media (min-width: 580px) {
  #upgrade .room-extras .extras .slick .slick-extra {
    margin: 10px 2%;
  }
}
@media (min-width: 768px) {
  #upgrade .room-extras .extras .slick .slick-extra {
    margin: 10px 20px;
  }
}
/* Upgrade > Totals ///////////////////////  */
#step1 .totals {
  margin-top: 30px;
  padding: 30px 20px;
  text-align: center;
}
#step1 .totals .total h4 {
  font-size: 21px;
  font-weight: 600;
  color: #222222;
}
#step1 .totals .total p {
  color: #222222;
  margin-top: 5px;
}
#step1 .totals .btn {
  margin: 10px auto 0;
  width: 50%;
  min-width: 240px;
}
@media (min-width: 992px) {
  #step1 .totals {
    padding: 30px 50px;
    text-align: right;
  }
  #step1 .totals .total {
    display: inline-block;
    vertical-align: middle;
    width: 60%;
    text-align: left;
  }
  #step1 .totals .btn {
    margin-top: 0;
    display: inline-block;
    width: 39%;
  }
}
/* STEP 2 ////////////////////////////////////////////////////////////////////////////////////////////////////  */
.pfs#step2 main #register {
  max-width: 100%;
}
@media (max-width: 1023px) {
  #step2 main #head {
    max-width: 768px;
    margin: 0 auto;
  }
}
@media (min-width: 1024px) {
  #step2 main {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  #step2 main #head {
    -webkit-flex: 1 0 100%;
    flex: 1 0 100%;
  }
  .pbl#step2 main #head {
    max-width: 760px;
    margin: 20px auto 0;
  }
  #step2 main #book-details {
    -webkit-flex: 1;
    flex: 1;
    -webkit-order: 2;
    order: 2;
    margin-left: 20px;
    right: 0;
    top: 10px;
    position: sticky;
  }
  #step2 main #register {
    -webkit-flex: 1;
    flex: 1;
    -webkit-order: 1;
    order: 1;
  }
  .pbl#step2 main #register,
  .pfs#step2 main #register {
    -webkit-flex: 1 0 100%;
    flex: 1 0 100%;
  }
}
#step2 main .subtitle {
  color: #555555;
}
@media (max-width: 599px) {
  #step2 main .subtitle {
    font-size: 16px;
  }
}
#step2 main .alert-room {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: #FFF;
  background-color: #D90000;
  margin-top: 5px;
  padding: 6px 15px;
  border-radius: 2px;
}
/* STEP 3 & 4 ///////////////////////////////////////////////////////////////////////////////////////////////  */
/* Book confirmation & My Book ///////////////////  */
#step3 main .logo-reward,
#step4 main .logo-reward,
#reward main .logo-reward {
  text-align: center;
  padding: 30px 0;
}
#step3 main .logo-reward img,
#step4 main .logo-reward img,
#reward main .logo-reward img {
  max-height: 200px;
}
@media (max-width: 1023px) {
  #step3 main #head,
  #step4 main #head,
  #reward main #head {
    margin: 0 auto;
  }
}
@media (min-width: 1024px) {
  #step3 main,
  #step4 main,
  #reward main,
  #step3 main #my-booking,
  #step4 main #my-booking,
  #reward main #my-booking {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  #step3 main #head,
  #step4 main #head,
  #reward main #head {
    -webkit-flex: 1 0 100%;
    flex: 1 0 100%;
  }
  #step3 main #bookings,
  #step4 main #bookings,
  #reward main #bookings,
  #step3 main #book-details,
  #step4 main #book-details,
  #reward main #book-details {
    -webkit-flex: 1;
    flex: 1;
  }
  #step3 main #hotel,
  #step4 main #hotel,
  #reward main #hotel {
    -webkit-flex: 1;
    flex: 1;
    margin-left: 20px;
    right: 0;
    top: 20px;
    position: -webkit-sticky;
    position: sticky;
  }
  #step3 main #my-login,
  #step4 main #my-login,
  #reward main #my-login {
    -webkit-flex: 1;
    flex: 1;
  }
  #step3 main #my-account_details,
  #step4 main #my-account_details,
  #reward main #my-account_details {
    -webkit-flex: 1;
    flex: 1;
    -webkit-order: 2;
    order: 2;
    margin-left: 20px;
    right: 0;
    top: 20px;
    position: sticky;
  }
  #step3 main #my-account_profile,
  #step4 main #my-account_profile,
  #reward main #my-account_profile {
    -webkit-flex: 1;
    flex: 1;
    -webkit-order: 1;
    order: 1;
  }
}
#step3 main .subtitle,
#step4 main .subtitle,
#reward main .subtitle {
  color: #555555;
}
@media (max-width: 599px) {
  #step3 main .subtitle,
  #step4 main .subtitle,
  #reward main .subtitle {
    font-size: 16px;
  }
}
#step3 main .info-data,
#step4 main .info-data,
#reward main .info-data {
  font-size: 11px;
  line-height: 140%;
  background-color: #F5F5F5;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 10px 20px 20px;
}
#step4 #head,
#step4 #book-details,
#step4 #hotel {
  display: none;
}
#step4 #head .btns {
  text-align: center;
}
@media (min-width: 768px) {
  #step4 #head .btns {
    float: right;
    margin-top: 15px;
  }
}
#step4 #head .btn {
  display: inline-block;
  margin: 0 auto 10px;
}
/* BOOK DETAILS ///////////////////////////////// */
#book-details {
  max-width: 760px;
  margin: 20px auto 0;
}
@media (min-width: 1024px) {
  #step2 #book-details {
    max-width: 480px;
    min-width: 320px;
  }
}
#book-details #register {
  padding-bottom: 40px;
}
#book-details #register #payment {
  border-top: none !important;
  padding: 0 0 20px !important;
}
#book-details > h2 {
  font-size: 21px;
  padding: 15px 20px;
  text-transform: inherit;
  text-align: center;
}
#book-details .content {
  padding: 30px 20px;
}
@media (min-width: 640px) {
  #book-details .content {
    padding: 30px;
  }
}
#step3 #book-details .content {
  padding-bottom: 60px;
}
#book-details .hotel {
  font-size: 21px;
  color: #555555;
}
#book-details .dest {
  color: #909090;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
#book-details .address {
  font-size: 11px;
  margin-bottom: 20px;
}
#book-details .fiscal {
  font-size: 11px;
  margin-top: -10px;
  margin-bottom: 20px;
}
#book-details .dates {
  margin-top: 5px;
}
@media (min-width: 1024px) {
  #book-details .dates {
    font-size: 14px;
  }
}
#book-details .dates strong {
  display: inline-block;
  min-width: 100px;
  width: 29%;
}
#book-details .contact,
#book-details .send-email {
  margin-top: 10px;
}
#book-details .code,
#book-details .alert {
  margin: 20px 0 40px;
  padding: 20px 20px 20px 60px;
  background: #ffffff url(/i/be/ico-claim-check.svg) no-repeat 20px center;
  border: 2px dotted #21b74e;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
}
#book-details .alert {
  background-image: url(/i/be/ico-alert-check.svg);
  color: #D90000;
  border-color: #D90000;
  margin-bottom: 0;
}
#book-details #book-tools {
  margin: 0 auto 20px;
}
@media (min-width: 640px) {
  #book-details #book-tools {
    float: right;
    margin: 0;
  }
}
#book-details #book-tools li {
  display: inline-block;
  margin-left: 10px;
}
#book-details #book-tools li a {
  padding-left: 25px;
  line-height: 25px;
}
#book-details #book-tools .print {
  background-position: left -20px;
}
#book-details #book-tools .download {
  background-position: left -55px;
}
#book-details .cta {
  font-size: 12px;
  font-weight: 600;
  color: #21b74e;
  padding: 2px 0 2px 24px;
  margin-top: 5px;
  background: url(/i/be/ico-circle-check.svg) left 2px no-repeat;
}
@media (max-width: 1023px) {
  #step2 #book-details #rooms-details {
    display: none;
  }
}
#book-details #rooms-details > ul > li {
  border-top: 1px solid #DDD;
  padding: 25px 0;
}
#book-details #rooms-details > ul > li:first-child {
  margin-top: 24px;
}
#book-details #rooms-details > ul > li:last-child {
  padding-bottom: 0;
}
#book-details #rooms-details h2 {
  display: inline-block;
  vertical-align: top;
  min-width: 100px;
  min-height: 30px;
  width: 29%;
  font-size: 14px;
  font-weight: 600;
  color: #555555;
  padding-top: 5px;
}
#book-details #rooms-details .btn-info {
  font-size: 12px;
  text-decoration: underline;
  white-space: nowrap;
}
#book-details #rooms-details .btn-info:before {
  content: ' · ';
}
#book-details #rooms-details .btn-info img {
  display: inline-block;
  vertical-align: middle;
}
#book-details #rooms-details .room-info {
  display: inline-block;
  vertical-align: top;
  width: 70%;
}
#book-details #rooms-details .room-info h3 {
  font-size: 18px;
  color: #222222;
  font-weight: 400;
}
#book-details #rooms-details .room-info .cta-nr,
#book-details #rooms-details .room-info .cta-ph,
#book-details #rooms-details .room-info .cta-bp,
#book-details #rooms-details .room-info .cta-date {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: #909090;
  padding: 5px 0;
  white-space: nowrap;
  margin-right: 5px;
}
#book-details #rooms-details .room-info .cta-ph,
#book-details #rooms-details .room-info .cta-bp,
#book-details #rooms-details .room-info .cta-date {
  color: #21b74e;
  padding-right: 24px;
  background: url(/i/be/ico-circle-check.svg) right center no-repeat;
}
#book-details #rooms-details .room-info .extras {
  margin-top: 5px;
  font-size: 11px;
  color: #909090;
}
#book-details #rooms-details .room-info .btns .btn {
  display: inline-block;
  margin-top: 10px;
  margin-right: 5px;
}
#book-details #rooms-details .room-info .btns .btn + .btn {
  margin-left: 0;
}
#book-details #rooms-total {
  border-top: 1px solid #DDD;
  padding-top: 20px;
  margin-top: 25px;
}
#book-details #rooms-total .reward-dis {
  font-size: 14px;
  margin-top: 5px;
  margin-bottom: 20px;
  color: #000000;
  font-weight: 600;
}
#book-details #rooms-total p + ul {
  margin-top: 20px;
}
#book-details #rooms-total li {
  display: block;
  margin-top: 5px;
}
#book-details #rooms-total li h3,
#book-details #rooms-total li p {
  font-size: 13px;
  font-weight: 600;
  color: #222222;
  display: inline-block;
  vertical-align: baseline;
  width: 49%;
}
#book-details #rooms-total li p {
  font-size: 14px;
  text-align: right;
}
#book-details #rooms-total li.taxes {
  padding-top: 20px;
}
#book-details #rooms-total li.taxes p {
  font-size: 12px;
}
#book-details #book-total,
#breakdown table .book-total {
  margin-top: 30px;
}
#book-details #book-total h4,
#book-details #book-total h5,
#breakdown table .book-total h4,
#breakdown table .book-total h5 {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #222222;
}
#book-details #book-total h5,
#breakdown table .book-total h5 {
  font-size: 13px;
}
#book-details #book-total strong,
#book-details #book-total span,
#breakdown table .book-total strong,
#breakdown table .book-total span {
  display: inline-block;
  vertical-align: baseline;
  width: 49%;
}
#book-details #book-total span,
#breakdown table .book-total span {
  text-align: right;
}
#book-details #book-total sub,
#breakdown table .book-total sub {
  font-size: 12px;
}
#book-details #book-total .claim,
#breakdown table .book-total .claim {
  margin-top: 5px;
  color: #21b74e;
}
#book-details #book-total .fee,
#breakdown table .book-total .fee {
  margin-bottom: 15px;
}
#book-details #book-total .taxes,
#breakdown table .book-total .taxes {
  font-size: 12px;
  margin-top: 5px;
}
#book-details #book-total .change-coin,
#breakdown table .book-total .change-coin {
  font-size: 13px;
  margin-top: 30px;
}
#book-details #book-total .change-coin a,
#breakdown table .book-total .change-coin a {
  color: #222222;
}
#book-details #book-total .change-coin_help,
#breakdown table .book-total .change-coin_help {
  margin-top: 2px;
  border-top: 1px solid #EEE;
  padding-top: 2px;
  font-size: 11px;
  margin-bottom: 10px;
  color: #222222;
  font-weight: bold;
}
#book-details #book-total .tax,
#breakdown table .book-total .tax {
  margin-top: 20px;
  padding: 15px;
  background-color: #F5F5F5;
  font-size: 11px;
}
#book-details #book-total .pay-hotel,
#breakdown table .book-total .pay-hotel {
  border: 1px solid #DDD;
  border-width: 1px 0;
  margin: 30px 0;
  padding: 15px 0;
}
#book-details #rate-conditions {
  margin-top: 40px;
}
#book-details #rate-conditions h3 {
  margin-bottom: 10px;
  color: #555555;
}
#book-details #multibook {
  padding: 40px 0;
  margin-bottom: 35px;
  border-top: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
}
#book-details #multibook .wrap {
  border: 10px solid #000000;
  padding: 50px 30px;
  text-align: center;
  border-radius: 0;
}
#book-details #multibook .wrap h2,
#book-details #multibook .wrap h3 {
  text-transform: uppercase;
}
#book-details #multibook .wrap h2 {
  font-size: 32px;
}
#book-details #multibook .wrap h3 strong {
  display: block;
  font-size: 62px;
  font-weight: 600;
  line-height: 60px;
}
#book-details #multibook .wrap p .promocode {
  display: block;
  color: #000000;
  font-size: 40px;
  font-weight: 600;
  line-height: 60px;
  margin-bottom: 10px;
}
#book-details #multibook .wrap .btn {
  max-width: 300px ;
  margin: 20px auto 0;
}
#book-details .book-btns {
  margin-top: 10px;
  margin-bottom: 50px;
  text-align: left;
}
#book-details .book-btns .btn {
  margin-top: 10px;
  display: inline-block;
}
@media (max-width: 579px) {
  #book-details .book-btns .btn {
    width: 100%;
  }
  #book-details .book-btns .btn-basic {
    margin-top: 30px;
  }
  #book-details .book-btns .btn + .btn {
    margin-left: 0 !important;
  }
}
@media (min-width: 580px) {
  #book-details .book-btns .btn-basic {
    float: right;
  }
}
#book-details .btns {
  margin-top: 10px;
}
#book-details .btns .b_breakdown:before {
  content: '+ ';
}
@media (min-width: 768px) {
  #book-details .btns .b_breakdown.active {
    background-image: none;
  }
}
#book-details .btns .b_breakdown.active:before {
  content: '- ';
}
/* HOTEL /////////////////////////////////////// */
#hotel {
  max-width: 760px;
  margin: 20px auto 0;
}
#hotel .content {
  padding: 30px 20px;
}
@media (min-width: 640px) {
  #hotel .content {
    padding: 30px;
  }
}
@media (min-width: 1024px) {
  #hotel {
    max-width: 480px;
    min-width: 320px;
  }
}
#hotel p {
  margin-top: 5px;
}
#hotel .hotel {
  font-size: 21px;
  color: #555555;
}
#hotel .dest {
  color: #909090;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
#hotel .fiscal {
  font-size: 11px;
}
#hotel .photo {
  display: block;
  text-align: center;
}
#hotel .photo img {
  width: 100%;
}
#hotel .map {
  margin-top: 20px;
}
#hotel .partners {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #DDD;
}
#hotel .partners .widget {
  text-align: center;
}
/* REGISTER  /////////////////////////////////// */
#register {
  max-width: 760px;
  margin: 20px auto 0;
  padding-bottom: 30px;
}
#register p {
  margin-top: 10px;
}
#register #reward_log-in,
#register #reward_new-user,
#register #new_user,
#register #comments,
#register #payment,
#register #invoice,
#register #conditions {
  padding: 30px 20px !important;
}
@media (min-width: 640px) {
  #register #reward_log-in,
  #register #reward_new-user,
  #register #new_user,
  #register #comments,
  #register #payment,
  #register #invoice,
  #register #conditions {
    padding: 30px !important;
  }
}
#register #reward_log-in {
  color: #FFF;
  background-color: #000000;
  text-align: left;
  padding: 20px;
  border-radius: 2px;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
  background-color: #11cc88 !important;
  margin-bottom: 20px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
#register #reward_log-in.reward {
  justify-content: space-around;
  background-color: #11cc88 !important;
}
#register #reward_log-in h2 {
  display: block;
  font-size: 28px;
  font-weight: 300;
  color: #FFF;
  text-align: center;
  line-height: 110%;
}
#register #reward_log-in p {
  display: block;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin-top: 5px;
}
#register #reward_log-in p a {
  color: #FFF;
  text-decoration: underline;
}
#register #reward_log-in p i {
  font-size: 14px;
}
#register #reward_log-in p .btn {
  display: inline-block;
  vertical-align: middle;
  margin-top: 10px;
  width: 100%;
  min-width: 150px;
  max-width: 250px;
  border: 2px solid #FFF;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  padding: 12px 20px;
}
#register #reward_log-in p .btn:hover {
  box-shadow: none !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
#register #reward_log-in .switch {
  font-size: 14px;
}
#register #reward_log-in .switch label {
  margin-right: 0;
  margin-left: 5px;
}
#register #reward_log-in .switch .switch-slider {
  border: #52f1b7 1px solid;
}
#register #reward_log-in .switch .switch-slider::before {
  left: 3px;
  bottom: 2px;
}
#register #reward_log-in .switch input:checked + .switch-slider {
  background-color: #23eda3;
}
#register #reward_log-in .switch input:checked + .switch-slider:before {
  transform: translateX(23px);
}
#register #reward_log-in br {
  display: none;
}
@media (min-width: 990px) {
  #register #reward_log-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }
  #register #reward_log-in h2 {
    font-weight: 400;
    font-size: 24px;
    display: inline-block;
    vertical-align: middle;
    max-width: 440px;
  }
  #register #reward_log-in p {
    font-size: 18px;
    display: inline-block;
    margin-top: 0px;
  }
  #register #reward_log-in p .btn {
    margin-top: 0;
    max-width: none;
    padding: 12px 20px;
  }
  #register #reward_log-in br {
    display: inherit;
  }
}
#register #reward_log-in h2 {
  font-size: 21px;
}
#register #reward_log-in p {
  font-size: 16px;
  font-weight: 400;
  margin-top: 5px;
}
#register #reward_log-in p.btns {
  margin-top: 0;
}
#register #reward_log-in p .btn {
  min-width: 180px;
  max-width: auto;
  border-width: 1px;
  line-height: 100%;
  background-color: #11cc88;
}
#register #reward_log-in p .btn:hover {
  background-color: #23eda3;
}
#register #reward_new-user {
  display: none;
  padding-bottom: 10px;
}
#register #reward_new-user h2 {
  text-align: center;
}
#register #reward_new-user #reward_sign-up {
  color: #FFF;
  background-color: #000000;
  text-align: center;
  padding: 25px 40px 40px;
  border-radius: 3px;
  box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.15);
}
#register #reward_new-user #reward_sign-up h3 {
  font-size: 24px;
  font-weight: 300;
  color: #FFF;
}
#register #reward_new-user #reward_sign-up p {
  font-size: 14px;
  margin-top: 0;
}
#register #reward_new-user #reward_sign-up .points {
  margin-top: 10px;
  font-weight: 600;
  font-size: 28px;
}
#register #reward_new-user #reward_sign-up .points strong {
  font-size: 32px;
}
#register #reward_new-user #reward_sign-up .info {
  font-size: 16px;
  margin-top: 20px;
}
#register #reward_new-user #reward_sign-up .slogan {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
}
#register #reward_new-user #reward_sign-up .join label {
  font-size: 18px;
  display: inline-block;
  margin: 20px auto;
  border: 1px solid #333333;
  padding: 20px 40px;
  border-radius: 6px;
  background-color: #000000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}
#register #reward_new-user #reward_sign-up .join input {
  vertical-align: middle;
  display: inline-block;
}
#register #reward_new-user #reward_sign-up .ln {
  display: inline-block;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.6);
  margin: 10px auto 20px;
  width: 60%;
}
#register #new_user {
  padding-bottom: 0;
}
#register #new_user .cta {
  font-size: 12px;
  font-weight: 600;
  color: #21b74e;
  padding: 2px 0 2px 24px;
  background: url(/i/be/ico-circle-check.svg) left 2px no-repeat;
}
#register #new_user .checks {
  display: block;
  font-weight: 600;
  font-size: 16px;
  padding-bottom: 0;
  color: #909090;
  text-align: left;
  margin-top: 10px;
  padding: 20px 30px 20px 60px;
  border: 1px solid #AAA;
  border: 1px solid #000000;
  border-radius: 3px;
  cursor: pointer;
  background: #ffffff url(/i/be/ico-book2.svg) no-repeat 20px 17px;
}
#register #new_user .checks .confirm {
  display: block;
  font-size: 12px;
}
@media (max-width: 480px) {
  #register #new_user .checks {
    background-position: 20px 30px;
    padding-left: 60px;
  }
}
#register #new_user .checks.active {
  background: #ffffff url(/i/be/ico-book3.svg) no-repeat 20px 17px;
}
@media (max-width: 480px) {
  #register #new_user .checks.active {
    background-position: 20px 25px;
  }
}
#register #new_user .checks.active .info {
  color: #000000;
}
#register #new_user .form select #treat {
  width: 18% !important;
  min-width: 45px;
  margin-right: 0px;
}
@media (min-width: 640px) {
  #register #new_user .form select #treat {
    margin-right: 8px;
  }
}
#register #new_user .form select #treat + input {
  min-width: 90px;
  width: 60% !important;
}
@media (min-width: 360px) {
  #register #new_user .form select #treat + input {
    width: 69% !important;
  }
}
@media (min-width: 480px) {
  #register #new_user .form select #treat + input {
    width: 76% !important;
  }
}
@media (min-width: 768px) {
  #register #new_user .form select #treat + input {
    width: 78% !important;
  }
}
#register #comments {
  padding-top: 0;
}
#register #comments h2,
#register #comments h3 {
  margin-top: 20px;
  font-size: 16px;
  font-weight: 400;
}
#register #comments h2 {
  font-size: 18px;
}
#register #comments .comment {
  display: none;
}
#register #comments .btns {
  margin-top: 10px;
}
#register #comments .btns .b_comment {
  padding: 11px 30px;
  line-height: 120%;
  height: auto;
}
#register #comments .btns .b_comment:before {
  content: '+ ';
}
#register #comments .btns .b_comment.active {
  background-image: none;
  padding-right: 30px !important;
}
#register #comments .btns .b_comment.active:before {
  content: '- ';
}
#register #comments .checkin_hour label,
#register #comments .pets label,
#register #comments .service_day label {
  display: inline-block;
  vertical-align: middle;
  margin-top: 5px;
  margin-right: 10px;
  min-width: 350px;
  border-bottom: 1px dashed #e4e4e4;
}
#register #comments .checkin_hour select,
#register #comments .pets select,
#register #comments .service_day select {
  width: 190px;
  padding: 5px 30px 5px 10px;
  margin-top: 5px;
}
#register #comments .checkin_hour select.hours,
#register #comments .pets select.hours,
#register #comments .service_day select.hours {
  width: 70px;
  margin-left: 5px;
}
#register #comments .checkin_hour input,
#register #comments .pets input,
#register #comments .service_day input {
  margin: 0 15px 0 5px;
}
#register #comments .service_day h4 {
  font-size: 13px;
  font-weight: 600;
  color: #555555;
  margin-top: 20px;
}
#register #comments .service_day .legend {
  font-size: 12px;
}
#register #payment {
  border-top: 1px solid #DDD;
  /* Pasarela de pago */
}
#register #payment .cta {
  font-size: 12px;
  font-weight: 600;
  color: #21b74e;
  padding: 10px 10px 10px 34px;
  background: url(/i/be/ico-circle-check.svg) 10px 10px no-repeat;
  border: 1px solid #21b74e;
}
#register #payment .claim {
  line-height: 30px;
  padding-left: 40px;
  background: url(/i/be/ico-claim-check.svg) no-repeat left center;
}
#register #payment .checks {
  display: block;
  font-weight: 600;
  font-size: 16px;
  padding-bottom: 0;
  color: #909090;
  text-align: left;
  margin-bottom: 20px;
  padding: 30px 30px 30px 70px;
  border: 1px solid #AAA;
  border-radius: 3px;
  cursor: pointer;
  background: #f4f4f4 url(/i/be/ico-book2.svg) no-repeat 20px center;
}
@media (max-width: 480px) {
  #register #payment .checks {
    background-position: 20px 30px;
    padding-left: 60px;
  }
}
#register #payment .checks .total {
  display: block;
  font-size: 14px;
}
#register #payment .checks.active {
  border: 1px solid #000000;
  background: #ffffff url(/i/be/ico-book3.svg) no-repeat 20px center;
}
@media (max-width: 480px) {
  #register #payment .checks.active {
    background-position: 20px 25px;
  }
}
#register #payment .checks.active .info {
  color: #000000;
}
#register #payment .dates,
#register #payment .cvc,
#register #payment .ssl {
  display: inline-block;
  vertical-align: top;
}
#register #payment .dates label,
#register #payment .cvc label,
#register #payment .ssl label {
  line-height: 24px;
}
#register #payment .dates select {
  display: inline-block;
  vertical-align: top;
}
#register #payment .dates select + select {
  margin-left: 5px;
}
#register #payment .c-month {
  width: 80px;
}
#register #payment .c-year {
  width: 90px;
}
#register #payment .cvc {
  margin-left: 5px;
}
#register #payment .cvc input {
  width: 70px;
  text-align: center;
}
#register #payment .cvc .b_cvc {
  text-decoration: underline;
}
#register #payment .ssl {
  margin-top: 20px;
}
@media (min-width: 540px) {
  #register #payment .ssl {
    margin-left: 20px;
    margin-top: 42px;
  }
}
#register #payment .code {
  margin: 20px 0 40px;
  padding: 20px 20px 20px 60px;
  background: #ffffff url(/i/be/ico-claim-check.svg) no-repeat 20px center;
  border: 2px dotted #21b74e;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
}
#register #invoice {
  padding-top: 10px;
}
#register #invoice h2 {
  margin-top: 20px;
}
#register #conditions {
  padding-top: 0 !important;
  padding-bottom: 10px !important;
}
#register #conditions .info-data {
  font-size: 12px;
  line-height: 140%;
  background-color: #F5F5F5;
  margin-top: 0;
  margin-bottom: 20px;
  padding: 10px 20px 20px;
}
#register #conditions .reward-checks h3 {
  color: #11cc88;
  padding: 0 20px;
}
#register #conditions .reward-checks input {
  margin-bottom: 10px;
  float: left;
}
#register #conditions .reward-checks .comercial-emails {
  margin-left: 15px;
}
#register #conditions .reward-checks .hidden {
  display: none;
}
#register #conditions .checks {
  padding: 0px 20px;
}
#register #conditions .checks label {
  white-space: normal;
}
#register #conditions .checks a {
  text-decoration: underline;
}
#register > form > .btns {
  padding: 20px;
}
@media (min-width: 640px) {
  #register > form > .btns {
    padding: 20px 30px;
  }
}
/* LOGIN MY BOOK  ////////////////////////// */
#my-book,
#my-login,
#my-signin,
#win-reward_log-in {
  position: relative;
  max-width: 700px;
  margin: 20px auto 0;
}
#my-book.verify,
#my-login.verify,
#my-signin.verify,
#win-reward_log-in.verify {
  max-width: 400px;
}
#my-book .wrap,
#my-login .wrap,
#my-signin .wrap,
#win-reward_log-in .wrap {
  width: 100%;
  margin-top: 20px;
  padding: 10px 20px 40px;
}
@media (min-width: 768px) {
  #my-book .wrap,
  #my-login .wrap,
  #my-signin .wrap,
  #win-reward_log-in .wrap {
    padding: 20px 40px 50px;
  }
}
#my-book .btn-forgot-passw,
#my-login .btn-forgot-passw,
#my-signin .btn-forgot-passw,
#win-reward_log-in .btn-forgot-passw {
  display: inline-block;
  text-decoration: underline;
  margin-top: 5px;
}
#my-book .btns,
#my-login .btns,
#my-signin .btns,
#win-reward_log-in .btns {
  margin-top: 20px;
}
#my-book .login-back,
#my-login .login-back,
#my-signin .login-back,
#win-reward_log-in .login-back,
#my-book .cta-signin,
#my-login .cta-signin,
#my-signin .cta-signin,
#win-reward_log-in .cta-signin {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-top: 40px;
  text-align: center;
}
#my-book .login-back .btn,
#my-login .login-back .btn,
#my-signin .login-back .btn,
#win-reward_log-in .login-back .btn,
#my-book .cta-signin .btn,
#my-login .cta-signin .btn,
#my-signin .cta-signin .btn,
#win-reward_log-in .cta-signin .btn {
  min-width: 40%;
  margin-top: 10px;
}
#my-book .loading,
#my-login .loading,
#my-signin .loading,
#win-reward_log-in .loading {
  background: url("/i/be/loading1.gif") no-repeat scroll center center rgba(255, 255, 255, 0.8);
  display: none;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
}
#win-reward_log-in .logo-reward {
  text-align: center;
  max-height: 200px;
}
#win-reward_log-in h2 {
  margin-top: 20px;
}
#win-reward_log-in h2,
#win-reward_log-in .btn-forgot-passw {
  color: #11cc88;
}
#win-reward_log-in .btns .btn {
  display: inherit;
  background-color: #11cc88;
}
/* MY BOOKINGS ///////////////////////////////// */
#bookings {
  margin: 20px auto 0;
}
#bookings .content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
#bookings .toolbar {
  display: flex;
  padding: 10px 0;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
#bookings .toolbar .right {
  text-align: right;
}
@media (min-width: 650px) and (max-width: 1023px) {
  #bookings .booking {
    display: grid;
    grid-template-columns: auto auto 220px;
    gap: 20px;
  }
}
@media (min-width: 1024px) {
  #bookings .booking {
    display: grid;
    grid-template-columns: 300px auto 300px;
    gap: 30px;
  }
  #bookings .booking.reward .book,
  #bookings .booking.reward .inforeward {
    padding-top: 40px;
  }
}
#bookings .booking .photo {
  line-height: 1px;
}
#bookings .booking .photo img {
  border-radius: 5px 5px  0 0;
}
@media (min-width: 480px) and (max-width: 649px) {
  #bookings .booking .photo {
    text-align: center;
    padding: 20px;
  }
  #bookings .booking .photo img {
    border-radius: 5px;
    width: 480px;
  }
}
@media (min-width: 650px) and (max-width: 1023px) {
  #bookings .booking .photo {
    padding: 10px;
  }
  #bookings .booking .photo img {
    border-radius: 5px;
  }
}
@media (min-width: 1024px) {
  #bookings .booking .photo img {
    border-radius: 5px 0 0 5px;
  }
}
#bookings .booking .book {
  padding: 20px;
}
@media (min-width: 480px) {
  #bookings .booking .book {
    padding-top: 0;
  }
}
@media (min-width: 650px) and (max-width: 1023px) {
  #bookings .booking .book {
    padding: 10px 0;
  }
}
@media (min-width: 1024px) {
  #bookings .booking .book {
    padding: 10px 0;
  }
}
#bookings .booking .book .hotel {
  font-size: 21px;
}
#bookings .booking .book .hotel a {
  color: #555555;
}
#bookings .booking .book .dest {
  color: #909090;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
#bookings .booking .book .code {
  font-size: 14px;
  font-weight: 400;
}
#bookings .booking .book .contact {
  margin-top: 5px;
}
#bookings .booking .book .btns {
  margin-top: 10px;
}
#bookings .booking .book .btns .btn {
  display: inline-block;
}
#bookings .booking .book .dates {
  font-size: 12px;
}
#bookings .booking .infohotel,
#bookings .booking .inforeward {
  padding: 0 20px 20px;
}
@media (min-width: 650px) and (max-width: 1023px) {
  #bookings .booking .infohotel,
  #bookings .booking .inforeward {
    padding: 10px 30px;
  }
}
@media (min-width: 1024px) {
  #bookings .booking .infohotel,
  #bookings .booking .inforeward {
    border-left: 1px solid #DDD;
    padding: 10px 30px;
  }
}
#bookings .booking .infohotel p,
#bookings .booking .inforeward p {
  margin-top: 5px;
}
#bookings .booking .infohotel .hotel,
#bookings .booking .inforeward .hotel {
  font-size: 21px;
  color: #555555;
}
#bookings .booking .infohotel .dest,
#bookings .booking .inforeward .dest {
  color: #909090;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
#bookings .booking .infohotel .points,
#bookings .booking .inforeward .points {
  font-size: 24px;
}
#bookings .booking .infohotel .btns,
#bookings .booking .inforeward .btns {
  margin-top: 10px;
}
#bookings .booking .infohotel .btns .btn,
#bookings .booking .inforeward .btns .btn {
  display: inline-block;
}
/*  MY ACCOUNT  ////////////////////////// */
#my-account_profile {
  max-width: 760px;
  margin: 20px auto 0;
  padding-bottom: 30px;
}
#my-account_profile #my-data {
  padding: 30px 20px;
}
@media (min-width: 640px) {
  #my-account_profile #my-data {
    padding: 30px;
  }
}
#my-account_profile #my-password {
  border-top: 1px solid #DDD;
  padding: 30px 20px;
}
@media (min-width: 640px) {
  #my-account_profile #my-password {
    padding: 30px;
  }
}
#my-account_profile #my-password p {
  margin-top: 5px;
}
@media (min-width: 1024px) {
  #my-account_profile #my-password p {
    font-size: 14px;
  }
}
#my-account_profile #my-password p strong {
  display: inline-block;
  min-width: 100px;
}
#my-account_profile #my-password .change-psw {
  margin-top: 20px;
}
#my-account_profile #conditions {
  padding: 30px 20px !important;
  padding-top: 0 !important;
  padding-bottom: 10px !important;
  border-top: 1px solid #DDD;
}
@media (min-width: 640px) {
  #my-account_profile #conditions {
    padding: 30px !important;
  }
}
#my-account_profile #conditions .info-data {
  font-size: 12px;
  line-height: 140%;
  background-color: #F5F5F5;
  margin-top: 0;
  margin-bottom: 20px;
  padding: 10px 20px 20px;
}
#my-account_profile #conditions .reward-checks h3 {
  color: #11cc88;
  padding: 0 20px;
}
#my-account_profile #conditions .reward-checks input {
  margin-bottom: 10px;
  float: left;
}
#my-account_profile #conditions .reward-checks .comercial-emails {
  margin-left: 15px;
}
#my-account_profile #conditions .reward-checks .hidden {
  display: none;
}
#my-account_profile #conditions .checks {
  padding: 0px 20px;
}
#my-account_profile #conditions .checks label {
  white-space: normal;
}
#my-account_profile #conditions .checks a {
  text-decoration: underline;
}
#my-account_profile #conditions .checks {
  padding: 0 2px;
}
#my-account_profile > form > .btns {
  padding: 20px 20px;
}
@media (min-width: 640px) {
  #my-account_profile > form > .btns {
    padding: 20px 30px;
  }
}
#my-account_details {
  max-width: 760px;
  margin: 20px auto 0;
}
@media (min-width: 1024px) {
  #reward #my-account_details {
    max-width: 420px;
    min-width: 320px;
  }
}
#my-account_details .head {
  background-color: #000000;
  padding: 15px 20px;
  border-radius: 5px 5px 0 0;
}
#my-account_details .head .name {
  color: #FFF;
}
#my-account_details .head .level {
  color: #FFF;
  font-size: 15px;
  font-weight: bold;
  text-transform: uppercase;
}
#my-account_details .content {
  padding: 20px 20px 40px;
}
#my-account_details .content .reward-title {
  font-size: 16px;
  font-weight: 300;
  color: #000000;
}
#my-account_details .content .reward-points {
  margin-top: 0;
  font-size: 36px;
  font-weight: bold;
  line-height: 100%;
}
#my-account_details .content .reward-adv__title {
  margin-top: 20px;
}
#my-account_details .content .reward-advs article {
  margin-top: 10px;
  font-size: 14px;
}
#my-account_details .content .reward-advs article ul {
  margin: 0;
  padding: 0;
}
#my-account_details .content .reward-advs article ul li {
  line-height: 30px;
  margin: 0;
  margin-top: 5px;
  background: url(/i/be/ico-included.svg) no-repeat left 5px;
  padding-left: 25px;
  list-style: none;
}
/* WIN "BREAKDOWN" > TABLE ////////////////////// */
#breakdown {
  margin: 0;
  width: 100%;
  min-width: 800px;
  padding: 20px;
}
#breakdown table {
  width: 100%;
}
#breakdown table tr {
  margin: 10px 0;
}
#breakdown table th {
  font-weight: 600;
  padding: 10px;
  text-align: left;
  background-color: #e9e9e9;
}
#breakdown table th:first-child {
  border-radius: 2px 0 0 2px;
}
#breakdown table th:last-child {
  border-radius: 0 2px 2px 0;
}
#breakdown table td {
  padding: 7px 10px;
}
#breakdown table hr {
  padding: 0;
  margin: 10px 0;
  border: 0;
}
#breakdown table p {
  margin-top: 10px;
}
#breakdown table .center {
  text-align: center;
}
#breakdown table .room {
  border-top: none;
}
#breakdown table .room td:first-child {
  font-weight: 600;
  text-transform: uppercase;
  color: #000000;
}
#breakdown table .extra {
  border-top: 1px solid #DDD;
}
#breakdown table .extra td:first-child {
  padding-left: 10px;
}
#breakdown table .right {
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 767px) {
  #breakdown table .right {
    text-align: left;
  }
}
#breakdown table .room-total {
  border: 0;
  font-weight: 600;
  color: #222222;
}
#breakdown table .room-total td {
  border-radius: 3px;
  background-color: #ececec;
}
#breakdown table .room-total strong {
  font-size: 14px;
  display: inline-block;
  vertical-align: baseline;
  width: 120px;
}
#breakdown table .book-total td {
  padding-top: 30px;
}
#breakdown table .book-total strong,
#breakdown table .book-total span {
  width: 120px;
}
/* OTHERS ///////////////////////////////////////////////////////////////// */
#others {
  padding: 20px;
  text-align: center;
  max-width: 480px;
  margin: 20px auto;
}
@media (min-width: 1024px) {
  #others {
    max-width: inherit;
  }
}
/* MODIFYING /////////////////////////////////////////////////////////////  */
#modifying {
  margin-bottom: 20px;
}
#modifying form {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
#modifying h4 {
  -webkit-flex: 1;
  flex: 1;
  -webkit-order: 1;
  order: 1;
  font-size: 21px;
  margin-top: 10px;
}
#modifying .btn {
  -webkit-flex: 1;
  flex: 1;
  max-width: 200px;
  white-space: nowrap;
}
@media (min-width: 768px) {
  #modifying form {
    -webkit-flex-direction: inherit;
    flex-direction: inherit;
    text-align: left;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  #modifying h4 {
    font-size: 24px;
    margin-top: 0px;
  }
  #modifying .btn {
    -webkit-flex: 0 0 200px;
    flex: 0 0 200px;
    -webkit-order: 2;
    order: 2;
  }
}
/* LOYALTY ALERT ///////////////////////////////////////////////////////  */
#loyalty-alert {
  font-size: 16px;
  font-weight: 300;
  text-align: center;
  color: #000000;
  padding: 20px 80px;
  margin-bottom: 20px;
  background: #FFF;
  border: 1px solid #FEB100;
}
/* MEJOR PRECIO - ADVANTAGE ALERT /////////////////////////////////////////////////////  */
#advantage-alert {
  color: #FFF;
  background-color: #000000;
  text-align: left;
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 2px;
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.15);
}
#advantage-alert.reward {
  justify-content: space-around;
  background-color: #11cc88 !important;
}
#advantage-alert h2 {
  display: block;
  font-size: 28px;
  font-weight: 300;
  color: #FFF;
  text-align: center;
  line-height: 110%;
}
#advantage-alert p {
  display: block;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  margin-top: 5px;
}
#advantage-alert p a {
  color: #FFF;
  text-decoration: underline;
}
#advantage-alert p i {
  font-size: 14px;
}
#advantage-alert p .btn {
  display: inline-block;
  vertical-align: middle;
  margin-top: 10px;
  width: 100%;
  min-width: 150px;
  max-width: 250px;
  border: 2px solid #FFF;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  padding: 12px 20px;
}
#advantage-alert p .btn:hover {
  box-shadow: none !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
#advantage-alert .switch {
  font-size: 14px;
}
#advantage-alert .switch label {
  margin-right: 0;
  margin-left: 5px;
}
#advantage-alert .switch .switch-slider {
  border: #52f1b7 1px solid;
}
#advantage-alert .switch .switch-slider::before {
  left: 3px;
  bottom: 2px;
}
#advantage-alert .switch input:checked + .switch-slider {
  background-color: #23eda3;
}
#advantage-alert .switch input:checked + .switch-slider:before {
  transform: translateX(23px);
}
#advantage-alert br {
  display: none;
}
@media (min-width: 990px) {
  #advantage-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }
  #advantage-alert h2 {
    font-weight: 400;
    font-size: 24px;
    display: inline-block;
    vertical-align: middle;
    max-width: 440px;
  }
  #advantage-alert p {
    font-size: 18px;
    display: inline-block;
    margin-top: 0px;
  }
  #advantage-alert p .btn {
    margin-top: 0;
    max-width: none;
    padding: 12px 20px;
  }
  #advantage-alert br {
    display: inherit;
  }
}
/* WINDOWS ///////////////////  */
.windows {
  display: none;
}
/* WIN INFO ///////////////////  */
.win_info {
  max-width: 640px;
}
.win_info .photo {
  text-align: center;
  margin: 10px auto 0;
}
.win_info .photo img {
  border: 4px solid #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  width: 100% !important;
}
@media (min-width: 728px) {
  .win_info .photo {
    float: right;
    margin: -5px 0px 20px 30px;
  }
  .win_info .photo img {
    max-width: 300px;
  }
}
@media (min-width: 1024px) {
  .win_info {
    min-width: 500px !important;
  }
}
.win_info article {
  margin-top: 10px;
}
@media (min-width: 728px) {
  .win_info article {
    margin-top: 20px;
  }
  .win_info article .photo {
    float: left;
    margin: -5px 20px 20px 0;
  }
}
.win_info article ul {
  display: table;
}
.win_info .btns {
  text-align: center;
}
.win_info .btns .btn {
  display: inline-block;
  margin-top: 10px;
}
/* WIN CANCEL ///////////////////  */
#win-cancel h2 {
  font-size: 18px;
}
#win-cancel li {
  margin-top: 10px;
}
#win-cancel .btn {
  margin-top: 10px;
}
/* WIN CHANGE COIN ///////////////////  */
#win-change-coin {
  max-width: 500px;
}
#win-change-coin p {
  margin-top: 10px;
}
#win-change-coin .btn {
  margin-left: 20px;
}
/* WIN REWARD ///////////////////  */
#win-reward {
  text-align: center;
}
#win-reward h2 {
  margin-top: 5px;
}
#win-reward h2:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 100px;
  height: 90px;
  background: url(/i/be/reward-ico.svg) no-repeat center top;
}
#win-reward p {
  font-size: 16px;
  font-weight: 300;
  margin-top: 5px;
}
#win-reward .email-content {
  display: inline-block;
  max-width: 400px;
  text-align: left;
}
#win-reward .email-content .email {
  width: 210px;
  padding: 8px 10px;
  font-size: 16px;
  font-weight: 300;
  margin-top: 10px;
}
@media (min-width: 360px) {
  #win-reward .email-content .email {
    width: 250px;
  }
}
@media (min-width: 768px) {
  #win-reward .email-content .email {
    width: 400px;
  }
}
#win-reward .email-content .check {
  margin-top: 5px;
  font-size: 13px;
  font-weight: 400;
}
#win-reward .email-content .check input {
  vertical-align: middle;
  display: inline-block;
}
#win-reward .email-content .check.error {
  border: 2px solid #D90000;
  background-color: #f8eaea;
  padding: 5px;
  border-radius: 5px;
}
#win-reward .btns {
  margin-top: 20px;
  height: auto;
  line-height: 42px;
}
#win-reward .btn {
  float: none;
  display: inline-block;
  min-width: 220px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  #win-reward .btn {
    min-width: 260px;
  }
}
#win-reward .discount {
  font-size: 62px;
  font-weight: 400;
  color: #000000;
  margin-top: 0;
  line-height: 65px;
}
/* WIN RECOVERY & NOTIFYME ///////////////////  */
#win-recovery-email,
#win-notify-me {
  text-align: center;
}
#win-recovery-email h2,
#win-notify-me h2 {
  font-size: 30px;
  margin-top: 5px;
}
#win-recovery-email h2:before,
#win-notify-me h2:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 100px;
  height: 70px;
  background: url(/i/be/recovery-ico.svg) no-repeat center top;
}
#bb #win-recovery-email h2:before,
#bb #win-notify-me h2:before {
  display: none;
}
#win-recovery-email p,
#win-notify-me p {
  font-size: 18px;
  font-weight: 300;
  margin-top: 10px;
}
#win-recovery-email .email,
#win-notify-me .email {
  width: 210px;
  padding: 8px 10px;
  font-size: 16px;
  font-weight: 300;
  margin-top: 10px;
}
@media (min-width: 360px) {
  #win-recovery-email .email,
  #win-notify-me .email {
    width: 250px;
  }
}
@media (min-width: 768px) {
  #win-recovery-email .email,
  #win-notify-me .email {
    width: 400px;
  }
}
#win-recovery-email .check,
#win-notify-me .check {
  margin-top: 5px;
  font-size: 13px;
  font-weight: 400;
}
#win-recovery-email .check input,
#win-notify-me .check input {
  vertical-align: middle;
  display: inline-block;
}
#win-recovery-email .btns,
#win-notify-me .btns {
  margin-top: 20px;
  height: auto;
  line-height: 42px;
}
#win-recovery-email .btn,
#win-notify-me .btn {
  float: none;
  display: inline-block;
  min-width: 210px;
  margin: 0 auto;
}
@media (min-width: 360px) {
  #win-recovery-email .btn,
  #win-notify-me .btn {
    width: 250px;
  }
}
@media (min-width: 768px) {
  #win-recovery-email .btn,
  #win-notify-me .btn {
    width: 400px;
  }
}
#win_loading {
  max-width: 600px;
}
#win_loading p {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
#win_loading,
#win-session-recovery,
#win-session-out,
#win-session-invalid {
  text-align: center;
}
#win_loading h2,
#win-session-recovery h2,
#win-session-out h2,
#win-session-invalid h2 {
  margin-top: 5px;
}
#win_loading h2:before,
#win-session-recovery h2:before,
#win-session-out h2:before,
#win-session-invalid h2:before {
  content: '';
  display: block;
  margin: 0 auto;
  width: 100px;
  height: 60px;
  background: url(/i/be/recovery-ico.svg) no-repeat center top;
}
#win_loading p,
#win-session-recovery p,
#win-session-out p,
#win-session-invalid p {
  font-size: 16px;
  font-weight: 300;
  margin-top: 10px;
}
#win_loading .book-detail,
#win-session-recovery .book-detail,
#win-session-out .book-detail,
#win-session-invalid .book-detail {
  display: inline-block;
  margin: 10px auto;
  text-align: left;
}
#win_loading .book-detail p,
#win-session-recovery .book-detail p,
#win-session-out .book-detail p,
#win-session-invalid .book-detail p {
  font-size: 14px;
  margin-top: 5px;
}
#win_loading .book-detail strong,
#win-session-recovery .book-detail strong,
#win-session-out .book-detail strong,
#win-session-invalid .book-detail strong {
  display: inline-block;
  min-width: 110px;
  text-align: right;
  margin-right: 10px;
}
#win_loading .session-countdown,
#win-session-recovery .session-countdown,
#win-session-out .session-countdown,
#win-session-invalid .session-countdown {
  font-size: 40px;
  margin-top: 0;
}
#win_loading .btns,
#win-session-recovery .btns,
#win-session-out .btns,
#win-session-invalid .btns {
  margin-top: 20px;
  height: auto;
  line-height: 42px;
}
#win_loading .btn,
#win-session-recovery .btn,
#win-session-out .btn,
#win-session-invalid .btn {
  float: none;
  display: inline-block;
  min-width: 220px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  #win_loading .btn,
  #win-session-recovery .btn,
  #win-session-out .btn,
  #win-session-invalid .btn {
    min-width: 260px;
  }
}
#win_loading .discount,
#win-session-recovery .discount,
#win-session-out .discount,
#win-session-invalid .discount {
  font-size: 62px;
  font-weight: 400;
  color: #000000;
  margin-top: 0;
}
@media (min-width: 992px) {
  #step1 .win-other_hotels {
    position: fixed;
    top: 0;
    right: -420px;
    bottom: 0;
    width: 420px;
    padding: 65px 30px 50px;
    background: rgba(255, 255, 255, 0.95);
    z-index: 99999;
    overflow-y: scroll;
  }
  #step1 .win-other_hotels h2 {
    color: #222222;
  }
  #step1 .win-other_hotels .btn-close {
    display: block;
    float: right;
    width: 25px;
    height: 25px;
    text-indent: -9999px;
    opacity: 0.8;
    background: url(/i/be/ico-cb-close.svg) no-repeat center / 20px;
    margin-top: 5px;
  }
  #step1 .win-other_hotels .btn-close:hover {
    opacity: 1;
  }
  #step1 .win-other_hotels .other {
    background: #FFFFFF;
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.2);
  }
  #step1 .win-other_hotels .room {
    margin-top: 30px;
    border-bottom: none;
    text-align: center;
    padding: 0;
  }
  #step1 .win-other_hotels .room .photo > img {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
    border-radius: 4px 4px 0 0 ;
    min-width: 300px;
  }
  #step1 .win-other_hotels .room .info {
    position: relative;
    width: 100%;
    max-width: 500px;
    margin: 25px auto 0;
    text-align: left;
    padding: 0 30px;
    text-align: center;
  }
  #step1 .win-other_hotels .room .info p {
    text-align: left;
    max-width: 500px;
    margin: 10px auto 0;
  }
  #step1 .win-other_hotels .room .info .address {
    text-align: center;
  }
  #step1 .win-other_hotels .total {
    position: relative;
    text-align: center;
    padding: 20px 20px 40px;
  }
  #step1 .win-other_hotels .total h4 {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #222222;
  }
  #step1 .win-other_hotels .total h4 span {
    display: block;
    font-size: 24px;
  }
  #step1 .win-other_hotels .total h4 span sub {
    font-size: 16px;
  }
  #step1 .win-other_hotels .total h4 em {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: #555555;
  }
  #step1 .win-other_hotels .total .promocode {
    display: inline-block;
    font: 600 12px "Roboto", Helvetica, Arial, sans-serif;
    color: #FFF;
    margin: 5px auto;
    padding: 0 12px 0 35px;
    text-transform: uppercase;
    line-height: 32px;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.25);
    border-radius: 2px;
    background: #d90000 url(/i/be/ico-promocode.svg) no-repeat 10px center;
  }
  #step1 .win-other_hotels .total .btn {
    display: inline-block;
    margin-top: 20px;
    width: 70%;
  }
}
/* ADDONS /////////////////////////////////////////////////////////////////////////////////////////////// */
/* COLOR BOX //////////////////////////////////////////////////////////////// */
#colorbox {
  overflow: inherit !important;
}
#colorbox,
#cboxOverlay,
#cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99999;
}
#cboxWrapper {
  max-width: none;
}
#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}
#cboxMiddleLeft,
#cboxBottomLeft {
  clear: left;
}
#cboxContent {
  position: relative;
  height: auto !important;
}
#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  height: auto !important;
}
#cboxTitle {
  margin: 0;
}
#cboxLoadingOverlay,
#cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
}
#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
  cursor: pointer;
}
.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
  width: 100%;
  height: auto;
}
.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
#colorbox,
#cboxContent,
#cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}
#cboxContent,
#cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}
#cboxOverlay {
  background: url(/i/be/overlay.png) repeat left top #ffffff;
}
#colorbox {
  outline: 0;
}
#cboxContent {
  margin-top: 20px;
  border-radius: 3px;
  background-color: #FFF;
}
.cboxIframe {
  background: #fff;
}
#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}
#cboxLoadedContent {
  padding: 40px 20px;
  border-radius: 3px;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2), 0 1px 0 1px #ffffff inset;
}
@media (min-width: 768px) {
  #cboxLoadedContent {
    padding: 40px;
  }
}
#cboxTitle {
  display: none !important;
  position: absolute;
  bottom: -30px;
  left: 0;
  color: #666;
}
#cboxCurrent {
  position: absolute;
  bottom: -30px;
  right: 0px;
  color: #666;
}
#cboxLoadingGraphic {
  background: url(/i/be/cb_loading.gif) no-repeat center center;
}
/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
}
/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
  outline: 0;
}
#cboxSlideshow {
  position: absolute;
  top: -20px;
  right: 90px;
  color: #fff;
}
#cboxPrevious,
#cboxNext {
  background: url(/i/be/gui.png) no-repeat right bottom;
}
#cboxPrevious {
  position: absolute;
  top: 49%;
  left: -28px;
  width: 24px;
  height: 24px;
  text-indent: -9999px;
  background-position: left -368px;
}
#cboxPrevious:hover {
  background-position: left -393px;
}
#cboxNext {
  position: absolute;
  top: 49%;
  right: -28px;
  width: 24px;
  height: 24px;
  text-indent: -9999px;
  background-position: right -368px;
}
#cboxNext:hover {
  background-position: right -393px;
}
#cboxClose {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 24px;
  height: 24px;
  text-indent: -9999px;
  opacity: 0.8;
  background: url(/i/be/ico-cb-close.svg) no-repeat center;
}
#cboxClose:hover {
  opacity: 1;
  /*background-position: center -293px;*/
}
/* 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);
  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;
}
.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;
}
/* Slider Theme */
.slick-loading .slick-list {
  background: #ffffff url('/i/be/cb_loading.gif') center center no-repeat;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 36px;
  width: 36px;
  border-radius: 18px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background-color: #FFF;
  color: transparent;
  top: 50%;
  margin-top: -15px;
  padding: 0;
  border: 0;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease-out;
}
.slick-prev:hover,
.slick-next:hover,
.slick-prev:focus,
.slick-next:focus {
  outline: none;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
  margin-top: -18px;
}
.slick-prev.slick-disabled,
.slick-next.slick-disabled {
  opacity: 0.25;
}
.slick-prev {
  left: -15px;
  background: #ffffff url(/i/be/slick-arrow1.svg) no-repeat center;
}
.slick-next {
  right: -15px;
  background: #ffffff url(/i/be/slick-arrow2.svg) no-repeat center;
}
/* Dots */
.slick-dotted .slick-slider {
  margin-bottom: 30px;
}
.slick-dots {
  position: absolute;
  bottom: -35px;
  left: 0;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
@media (min-width: 768px) {
  .slick-dots li {
    height: 30px;
    width: 30px;
  }
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  width: 20px;
  height: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
@media (min-width: 768px) {
  .slick-dots li button {
    height: 30px;
    width: 30px;
  }
}
.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 5px;
  left: 5px;
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 5px;
  background-color: #000000;
  opacity: 0.25;
}
@media (min-width: 768px) {
  .slick-dots li button:before {
    width: 8px;
    height: 8px;
    top: 11px;
    left: 11px;
  }
}
.slick-dots li.slick-active button:before {
  opacity: 1;
}
/* GALLERY IMAGE LIGHTBOX SELECTOR /////////////////////////////////////////////////////////// */
#imagelightbox {
  cursor: pointer;
  position: fixed;
  z-index: 10000;
  -ms-touch-action: none;
  touch-action: none;
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.75);
  border-radius: 10px;
}
@media (max-width: 640px) {
  #imagelightbox {
    width: 100% !important;
    height: auto !important;
    left: 0 !important;
    border-radius: 0px;
  }
}
/* ACTIVITY INDICATION */
#imagelightbox-loading,
#imagelightbox-loading div {
  border-radius: 50%;
}
#imagelightbox-loading {
  width: 30px;
  height: 30px;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  z-index: 10003;
  top: 50%;
  left: 50%;
  padding: 5px;
  margin: -20px 0 0 -20px;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
}
#imagelightbox-loading div {
  width: 20px;
  height: 20px;
  background-color: #000000;
  -webkit-animation: imagelightbox-loading 0.5s ease infinite;
  animation: imagelightbox-loading 0.5s ease infinite;
}
@keyframes imagelightbox-loading {
  from {
    opacity: .5;
    transform: scale(0.75);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: .5;
    transform: scale(0.75);
  }
}
/* OVERLAY */
#imagelightbox-overlay {
  background-color: #FFF;
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  z-index: 9998;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
/* "CLOSE" BUTTON */
#imagelightbox-close {
  cursor: pointer;
  background-color: transparent;
  position: fixed;
  z-index: 10002;
  top: 20px;
  right: 10px;
  width: 40px;
  height: 40px;
  border: 0;
  background-color: white;
  box-shadow: 0 3px 5px 2px rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  transition: color .3s ease;
}
@media (min-width: 640px) {
  #imagelightbox-close {
    top: 20px;
    right: 30px;
  }
}
#imagelightbox-close:before,
#imagelightbox-close:after {
  content: '';
  position: absolute;
  width: 3px;
  border-radius: 1.5px;
  background-color: #111;
  top: 25%;
  bottom: 25%;
  left: 50%;
  margin-left: -1px;
}
#imagelightbox-close:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#imagelightbox-close:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
/* CAPTION */
#imagelightbox-caption {
  text-align: center;
  color: #fff;
  background-color: #000000;
  position: fixed;
  z-index: 10001;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px;
}
/* NAVIGATION */
#imagelightbox-nav {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 20px;
  position: fixed;
  z-index: 10001;
  left: 50%;
  bottom: 3.75em;
  /* 60 */
  padding: 0.313em;
  /* 5 */
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media (max-width: 640px) {
  #imagelightbox-nav {
    bottom: 20px;
  }
}
#imagelightbox-nav button {
  width: 1em;
  /* 20 */
  height: 1em;
  /* 20 */
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: 50%;
  display: inline-block;
  margin: 0 0.313em;
  /* 5 */
}
#imagelightbox-nav button.active {
  background-color: #fff;
}
/* ARROWS */
.imagelightbox-arrow {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: white;
  box-shadow: 0 3px 5px 2px rgba(0, 0, 0, 0.3);
  vertical-align: middle;
  display: none;
  position: fixed;
  z-index: 10005;
  top: 50%;
  margin-top: -20px;
  /* 60 */
  border: 0;
  cursor: pointer;
  transition: 0.3s;
}
@media (max-width: 640px) {
  .imagelightbox-arrow {
    top: auto;
    bottom: 60px;
  }
}
.imagelightbox-arrow-left {
  left: 33%;
  background: #ffffff url(/i/be/ico_arrow-left.svg) no-repeat 16px center;
}
@media (min-width: 640px) {
  .imagelightbox-arrow-left {
    left: 20px;
  }
  .imagelightbox-arrow-left:hover {
    left: 15px;
  }
}
@media (min-width: 1024px) {
  .imagelightbox-arrow-left {
    left: 30px;
  }
  .imagelightbox-arrow-left:hover {
    left: 20px;
  }
}
.imagelightbox-arrow-right {
  right: 33%;
  background: #ffffff url(/i/be/ico_arrow-right.svg) no-repeat 22px center;
}
@media (min-width: 640px) {
  .imagelightbox-arrow-right {
    right: 20px;
  }
  .imagelightbox-arrow-right:hover {
    right: 15px;
  }
}
@media (min-width: 1024px) {
  .imagelightbox-arrow-right {
    right: 30px;
  }
  .imagelightbox-arrow-right:hover {
    right: 20px;
  }
}
#imagelightbox-loading,
#imagelightbox-overlay,
#imagelightbox-close,
#imagelightbox-caption,
#imagelightbox-nav,
.imagelightbox-arrow {
  animation: fade-in 0.25s linear;
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* BY HOURS /////////////////////////////////////////////////////////////////////////////////////////////////////// */
@media (min-width: 1200px) {
  #step1.by-hours main {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  #step1.by-hours main #rooms {
    -webkit-flex: 2;
    flex: 2;
    min-width: 760px;
    max-width: 785px;
  }
  #step1.by-hours main #bookingbox {
    -webkit-flex: 1;
    flex: 1;
    margin-right: 20px;
    right: 0;
    top: 80px;
    margin-top: 100px;
    position: -webkit-sticky;
    position: sticky;
  }
}
#step1.by-hours #rooms .room .rates {
  padding: 0 20px;
}
#step1.by-hours #rooms .room .rates .meal-plan {
  border-bottom: none;
  margin-right: 0;
}
#step1.by-hours #bookingbox {
  max-width: inherit;
  text-align: left;
  min-width: 350px;
  padding: 0;
}
@media (min-width: 580px) {
  #step1.by-hours #bookingbox {
    text-align: center;
  }
}
@media (min-width: 1200px) {
  #step1.by-hours #bookingbox {
    text-align: left;
  }
}
#step1.by-hours #bookingbox h2 {
  display: block;
  font-size: 21px;
  padding: 15px 20px;
  text-transform: inherit;
  text-align: center;
  margin-bottom: 0;
}
#step1.by-hours #bookingbox fieldset {
  padding: 20px 20px 0;
}
#step1.by-hours #bookingbox fieldset.date-group {
  display: block;
  padding-right: 20px;
}
@media (min-width: 580px) {
  #step1.by-hours #bookingbox fieldset.date-group {
    display: inline-block;
    padding-right: 5px;
  }
}
@media (min-width: 1200px) {
  #step1.by-hours #bookingbox fieldset.date-group {
    width: 100%;
    padding-right: 20px;
  }
}
#step1.by-hours #bookingbox fieldset.time-group {
  padding-top: 10px;
  padding-left: 20px;
}
@media (min-width: 580px) {
  #step1.by-hours #bookingbox fieldset.time-group {
    display: inline-block;
    padding-left: 0;
    width: 195px;
  }
}
@media (min-width: 1200px) {
  #step1.by-hours #bookingbox fieldset.time-group {
    display: block;
    width: 100%;
    padding-left: 20px;
  }
}
#step1.by-hours #bookingbox .date-group .ht_slct {
  display: block;
  width: 100%;
  margin-bottom: 10px;
}
@media (min-width: 580px) {
  #step1.by-hours #bookingbox .date-group .ht_slct {
    width: 190px;
    display: inline-block;
    margin-right: 5px;
  }
}
@media (min-width: 1200px) {
  #step1.by-hours #bookingbox .date-group .ht_slct {
    display: block;
    width: 100%;
  }
}
#step1.by-hours #bookingbox .date-group .ht_slct select {
  width: 100%;
  padding-left: 40px;
  background-color: #FFF !important;
  background: url(/i/be/ico-chevron-down.svg) no-repeat right center, url(/i/be/bookbox-ico-dest.svg) no-repeat 15px center;
}
#step1.by-hours #bookingbox .date-group .dp {
  flex: inherit;
  display: inline-block;
  cursor: pointer;
  width: 170px;
  border: 1px solid #E0E0E0;
  border-radius: 1px;
  box-shadow: inset 0 1px 1px 0 rgba(0, 0, 0, 0.1);
  padding-left: 35px;
  padding-right: 35px;
  background-color: #FFF !important;
  background: url(/i/be/ico-chevron-down.svg) no-repeat right center, url(/i/be/bookbox-ico-dates.svg) no-repeat 12px center;
}
#step1.by-hours #bookingbox .date-group .hours {
  position: relative;
  overflow: hidden;
  margin-left: 10px;
  display: inline-block;
  vertical-align: middle;
}
#step1.by-hours #bookingbox .date-group .hours span {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  margin: 0 3px;
}
#step1.by-hours #bookingbox .date-group .hours span label {
  display: block;
  width: 30px;
  height: 30px;
  line-height: 25px;
  border: 2px solid #ABABAB;
  cursor: pointer;
  overflow: hidden;
  border-radius: 100px;
}
#step1.by-hours #bookingbox .date-group .hours span label em {
  color: #ABABAB;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
}
#step1.by-hours #bookingbox .date-group .hours span label:hover {
  border: 2px solid #EEE;
  background-color: #FFF;
  color: #000000;
}
#step1.by-hours #bookingbox .date-group .hours span label:hover em {
  color: #000000;
}
#step1.by-hours #bookingbox .date-group .hours span.active label {
  border: 2px solid #000000;
}
#step1.by-hours #bookingbox .date-group .hours span.active em {
  color: #000000;
}
#step1.by-hours #bookingbox .date-group .hours span input {
  position: absolute;
  left: -500px;
}
#step1.by-hours #bookingbox .date-group .hours small {
  font-size: 10px;
  font-weight: 600;
  color: #909090;
  text-transform: uppercase;
  display: block;
  margin: 2px 0 0;
}
#step1.by-hours #bookingbox .time select {
  width: 100%;
  padding-left: 35px;
  padding-right: 35px;
  background-color: #FFF !important;
  background: url(/i/be/ico-chevron-down.svg) no-repeat right center, url(/i/be/bookbox-ico-hour.svg) no-repeat 14px center;
}
#step1.by-hours #bookingbox .btns {
  padding: 0 20px 20px;
}
@media (min-width: 769px) and (max-width: 1139px) {
  #step1.by-hours #bookingbox .btns {
    padding: 0 20% 20px;
  }
}
.ui-state-disabled {
  cursor: default !important;
}
.ui-icon {
  display: block;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
}
.ui-corner-all {
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}
.ui-datepicker .ui-widget {
  font-size: 1em;
}
.ui-datepicker input,
.ui-datepicker select,
.ui-datepicker textarea,
.ui-datepicker button {
  font-size: 12px;
}
/* VENTANITA */
.ui-datepicker {
  border: 1px solid #DDD;
  background-color: #FFF;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  font-size: 16px;
}
@media (max-width: 359px) {
  .ui-datepicker {
    left: 10px !important;
  }
}
@media (min-width: 768px) {
  .ui-datepicker {
    font-size: 14px;
  }
}
.ui-datepicker a {
  color: #111;
}
/* HEADER */
.ui-datepicker .ui-widget-header {
  font: 400 16px "Roboto", Helvetica, Arial, sans-serif;
  color: #FFF;
  background-color: #000000;
}
.ui-datepicker .ui-widget-header a {
  color: #FFF;
}
/* ICONO DEL CALENDARIO POSICION */
.ui-datepicker-trigger {
  margin: 0 0 0 3px;
}
/* TABLA */
.ui-datepicker .ui-state-default,
.ui-datepicker .ui-widget-header .ui-state-default {
  border: 1px solid transparent;
  background-color: #FFF;
  color: #555555;
  transition: all 0.5s ease-out;
}
.ui-datepicker .ui-state-default a,
.ui-datepicker .ui-state-default a:link,
.ui-datepicker .ui-state-default a:visited {
  color: #555555;
  text-decoration: none;
}
.ui-datepicker .ui-state-hover,
.ui-datepicker .ui-state-focus,
.ui-datepicker .ui-widget-header .ui-state-focus {
  border: 1px solid #000000 !important;
  color: #000000 !important;
}
.ui-datepicker .ui-state-hover a,
.ui-datepicker .ui-state-hover a:hover {
  border: 1px solid #000000 !important;
  color: #000000 !important;
}
.ui-datepicker :active {
  outline: none;
}
.ui-datepicker .ui-state-highlight,
.ui-datepicker .ui-widget-header .ui-state-highlight,
.calendar table a:hover {
  border: 1px solid #000000 !important;
  background-color: #FFF;
  color: #000000 !important;
}
.ui-datepicker .ui-state-active,
.ui-datepicker .ui-widget-header .ui-state-active {
  border: 1px solid #000000;
  color: #FFF !important;
  background-color: #000000 !important;
}
.ui-datepicker .ui-state-active a,
.ui-datepicker .ui-state-active a:link,
.ui-datepicker .ui-state-active a:visited {
  color: #FFF !important;
  text-decoration: none;
}
.ui-datepicker .ui-state-active:hover {
  color: #FFF !important;
  border: 1px solid #FFF !important;
}
.ui-datepicker .ui-state-restriction a {
  position: relative;
  background-color: #e9e9e9;
  background-size: 9px 9px;
  background-image: repeating-linear-gradient(45deg, #e9e9e9 0, #e9e9e9 1.1px, #ffffff 0, #ffffff 50%);
}
.ui-datepicker .ui-state-restriction a:hover:after {
  left: -45%;
  top: -40px;
  color: #FFF;
  background-color: #000000;
  border-radius: 3px;
  color: white;
  font-size: 12px;
  content: attr(data-restriction);
  padding: 8px 20px;
  pointer-events: none;
  position: absolute;
  z-index: 10;
  min-width: 100%;
  white-space: nowrap;
  margin-left: -50%;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.ui-datepicker .ui-state-restriction a.ui-state-active {
  color: #FFF !important;
  background-color: #000000 !important;
  background-size: 9px 9px;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.3) 0, rgba(255, 255, 255, 0.3) 1.1px, #000000 0, #000000 50%);
}
.ui-datepicker .ui-state-highlight a,
.ui-datepicker .ui-widget-header .ui-state-highlight a {
  color: #363636;
}
.ui-datepicker .ui-state-error,
.ui-datepicker .ui-widget-header .ui-state-error {
  border: 1px solid #cd0a0a;
  background-color: #fef1ec;
  color: #cd0a0a;
}
.ui-datepicker .ui-state-error a,
.ui-datepicker .ui-widget-header .ui-state-error a {
  color: #C00;
}
.ui-datepicker .ui-state-error-text,
.ui-datepicker .ui-widget-header .ui-state-error-text {
  color: #C00;
}
.ui-datepicker .ui-priority-primary,
.ui-datepicker .ui-widget-header .ui-priority-primary {
  font-weight: bold;
}
.ui-datepicker .ui-priority-secondary,
.ui-datepicker .ui-widget-header .ui-priority-secondary {
  opacity: .7;
  font-weight: normal;
}
.ui-datepicker .ui-state-disabled,
.ui-datepicker .ui-widget-header .ui-state-disabled {
  color: #999;
}
.ui-datepicker .ui-state-disabled .ui-state-default strike {
  color: #999999;
}
/* Multi 
----------------------------------*/
.ui-datepicker.ui-datepicker-multi {
  width: auto !important;
}
.ui-datepicker-multi .ui-datepicker-group {
  float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
  margin: 0 0.4em 0.4em;
  width: 95%;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left;
}
/* Icons
----------------------------------*/
/* states and images */
.ui-datepicker .ui-icon {
  width: 22px;
  height: 24px;
  /* background: transparent url(/i/be/gui.png) no-repeat right bottom; */
}
/* positioning */
.ui-datepicker .ui-icon-circle-triangle-e {
  background-position: 0 -115px;
}
.ui-datepicker .ui-icon-circle-triangle-w {
  background-position: 0 -90px;
}
.ui-datepicker .ui-state-hover .ui-icon-circle-triangle-e,
.ui-datepicker a:hover .ui-icon-circle-triangle-e {
  background-position: 3px -115px;
}
.ui-datepicker .ui-state-hover .ui-icon-circle-triangle-w,
.ui-datepicker a:hover .ui-icon-circle-triangle-w {
  background-position: -3px -90px;
}
/* Datepicker
----------------------------------*/
.ui-datepicker {
  padding: .2em .2em 0;
  margin-top: 2px;
  /*nx */
  display: none;
  z-index: 99999 !important;
}
.ui-datepicker .ui-datepicker-header {
  position: relative;
  padding: .2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 3px;
  width: 1.8em;
  height: 1.8em;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
  top: 3px;
  background: none !important;
}
.ui-datepicker .ui-datepicker-prev {
  left: 2px;
}
.ui-datepicker .ui-datepicker-next {
  right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
  left: 0px;
  border: 0px !important;
}
.ui-datepicker .ui-datepicker-next-hover {
  right: 0px;
  border: 0px !important;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -11px;
  top: 50%;
  margin-top: -11px;
}
.ui-datepicker .ui-datepicker-title {
  margin: 0 2.3em;
  line-height: 1.8em;
  text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
  font-size: 1em;
  margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month-year {
  width: 100%;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 49%;
}
.ui-datepicker table {
  width: 100%;
  font-size: .9em;
  border-collapse: collapse;
  margin: 0 0 .4em;
}
.ui-datepicker th {
  padding: 4px;
  text-align: center;
  border: 0;
  color: #909090;
}
.ui-datepicker td {
  border-top: 1px solid #F4f4f4;
  padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 10px 12px;
  margin: 2px;
  background-color: #FFF;
  border-radius: 5px;
}
/* @Mobile */
@media (max-width: 1023px) {
  #ui-datepicker-div {
    height: 100%;
    left: 0 !important;
    margin: 0;
    padding: 60px 20px;
    overflow: auto;
    position: fixed !important;
    top: 0 !important;
    width: 100%;
    z-index: 10000000 !important;
    /*.datepicker--open &{
			display: grid !important;
			justify-content: center;
			width: 100% !important;
	    }*/
  }
  #ui-datepicker-div.ui-datepicker-multi {
    width: 100% !important;
  }
  #ui-datepicker-div.ui-datepicker-multi .ui-datepicker-group {
    float: none;
  }
  #ui-datepicker-div .datepicker-from-to {
    pointer-events: none;
    position: absolute;
    top: 20px;
    left: 50%;
    /*  max-width: 90%;
	        transform: translateX(-50%);
	        width: 336px; */
  }
  #ui-datepicker-div .datepicker--close {
    background: url(/i/be/ico-cb-close.svg) no-repeat center 2px;
    background-size: 14px;
    height: 20px;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 20px;
    z-index: 10;
  }
  #ui-datepicker-div .ui-datepicker-header,
  #ui-datepicker-div .ui-datepicker-calendar {
    margin: 0 auto !important;
    max-width: 400px;
  }
  #ui-datepicker-div.ui-datepicker .ui-datepicker-prev,
  #ui-datepicker-div.ui-datepicker .ui-datepicker-next {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  #ui-datepicker-div .datepicker-from-to,
  #ui-datepicker-div .datepicker--close {
    display: none;
  }
}

