@charset "UTF-8";
/* Correccion para migracion a nuevo bootstrap, en el que ya no deben anidarse containers dentro de containers. Para no cambiar todo el código html aplicamos lo siguiente */
.container .container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 0;
  padding-right: 0;
  width: auto;
}

.row .row {
  margin-left: 0;
  margin-right: 0;
}

/*** Bootstrap overrides ***/
.dropdown-menu {
  min-width: 195px;
}
.dropdown-menu li.info, .dropdown-menu > li, .dropdown-menu > li > a {
  height: auto;
  line-height: 1.1em !important;
  font-size: 13px;
  padding: 0;
  margin: 0;
  line-height: 1.2em;
  height: auto;
}
.dropdown-menu > li.lang > a, .dropdown-menu > li.lang.active > a {
  color: #666;
}
.dropdown-menu li.info {
  margin-top: 5px;
}

body {
  font-weight: 300;
}

p, ul {
  margin: 0 0 1em 0;
}

address {
  margin-bottom: 1em;
}

.upper {
  text-transform: uppercase;
}

/*** Generic classes ***/
.noborder {
  border-radius: 0;
  border: none;
}

.nomargin {
  margin: 0;
}

/* Header */
.carousel .item {
  top: 0;
  background-position: top center;
  background-size: cover;
}
.carousel .item .btn {
  border: 0;
  border-radius: 5px;
  font-weight: bold;
  font-size: 1.5em;
  padding: 2px 5px;
}

.left.carousel-control span,
.right.carousel-control span {
  position: absolute;
  top: 50%;
  z-index: 5;
}

.left.carousel-control span {
  left: 40%;
}

.right.carousel-control span {
  right: 40%;
}

.carousel-indicators {
  bottom: 60px;
  z-index: 2;
}
.carousel-indicators li {
  border-radius: 0;
}

#page-carousel {
  min-height: 400px;
}

.container.page {
  width: auto;
}

.container.page .main-content {
  position: relative;
}
.container.page .main-content .content {
  line-height: 1em;
  font-size: 14px;
  padding-top: 10px;
}
.container.page .main-content .content address {
  line-height: 1em;
}
.container.page .main-content .content .content-icons {
  margin-bottom: 0px;
  width: 100%;
}
.container.page .main-content .content .content-icons a {
  margin: 0;
}
.container.page .main-content .content .content-icons .pull-left a {
  margin: 0 5px;
}
.container.page .main-content .content ul {
  margin: 0 0 15px 0;
  padding: 0;
}
.container.page .main-content .content ul li {
  list-style: none;
}
.container.page .main-content .content ul li:before {
  content: "✓ ";
}
.container.page .main-content .content .hotel-elements {
  margin-bottom: 10px;
}
.container.page .main-content .content .hotel-elements a {
  display: block;
  padding: 10px;
  line-height: 1.1em;
  color: white;
  text-decoration: none;
  height: 60px;
  text-transform: uppercase;
  font-size: 0.8em;
  font-weight: bold;
}
.container.page .main-content .content .hotel-elements td:nth-child(1) {
  width: 60px;
}
.container.page .main-content .content .hotel-elements td:nth-child(1) a {
  height: 60px;
  width: 60px;
  text-align: center;
  line-height: 60px;
  font-size: 2em;
  padding: 0;
}
.container.page .main-content .content .destination-sidebar {
  min-height: 200px;
  margin-bottom: 10px;
  background-color: inherit;
}
.container.page .main-content .content.from-cms {
  padding-top: 0;
}
.container.page .main-content .content.from-cms p span {
  background-color: transparent;
}

.container .blockmenu > div > div {
  cursor: pointer;
  height: 30px;
}
.container .blockmenu > div > div .menutitle {
  text-align: center;
  margin: 0;
  padding: 0;
  line-height: 30px;
  text-transform: uppercase;
  font-weight: bold;
  color: white;
  font-size: 18px;
}
.container .blockmenu .open {
  height: 32px;
}
.container .blockmenu .open > div:not(.menutitle) {
  position: absolute;
  background-color: white;
}
.container .blockmenu .open .sub {
  background-color: white;
  overflow: auto;
  display: block;
  width: 253px;
}
.container .blockmenu .open .sub ul {
  margin: 0;
  padding: 0;
}
.container .blockmenu .sub {
  display: none;
  padding-top: 7px;
}
.container .blockmenu .sub ul {
  padding: 0;
  text-transform: uppercase;
  font-size: 0.9em;
}
.container .blockmenu .sub li {
  display: block;
  margin: 0;
  padding: 2px 8px;
}
.container .blockmenu .sub li a {
  display: block;
  padding: 2px 0;
  text-decoration: none;
}
.container .blockmenu .sub li span {
  display: block;
  text-transform: lowercase;
  margin-left: 20px;
  font-size: 0.9em;
  text-align: right;
}
.container .blockmenu .sub li:hover {
  background-color: cyan;
}
.container .blockmenu .sub li:hover a {
  color: white;
}

.footer .nav {
  margin-top: 15px;
}
.footer .nav .divider {
  height: 2em;
}
.footer .nav li a {
  line-height: 1.6em;
  margin: 0;
  padding: 0;
}
.footer address {
  margin-top: 15px;
}

@media only screen and (min-width: 300px) {
  .inline-hotel-form {
    margin-top: 18px;
  }
  .inline-hotel-form img {
    max-width: 100%;
  }
  .inline-hotel-form .btn {
    float: right;
  }
  .inline-hotel-form .fiends img {
    margin-top: 5px;
  }
  .container.page {
    margin-top: -270px;
  }
  .container.page .plugin_link {
    display: block;
  }
  .container.page p .plugin_link {
    display: inline;
  }
  .content-container h4 {
    font-weight: bold;
    margin: 12px 0 0;
  }
  .content-container h4:first-child {
    margin-top: 0;
  }
  .content-container .ex-container .ex-container {
    padding: 0 0 0;
  }
  body.internal .container.page {
    margin-top: -230px;
  }
  body.internal .container.page .content-container {
    min-height: 500px;
  }
  body.internal .carousel .item {
    height: 600px;
  }
  body.internal .carousel-caption {
    display: none;
  }
  body.internal .carousel-indicators {
    bottom: 480px;
  }
}
@media only screen and (min-width: 992px) {
  .carousel .item {
    height: auto;
  }
}
.popups {
  display: none;
}

.pop-friends-content input[type=text], .pop-friends-content input[type=password] {
  display: block;
  width: 100%;
  border-radius: 3px;
  margin: 5px 0;
  padding: 4px 6px;
}
.pop-friends-content .btn {
  float: right;
}

.pop-contact-form-content {
  font-size: 0.9em;
  max-width: 250px;
}
.pop-contact-form-content h4, .pop-contact-form-content strong {
  text-transform: uppercase;
  font-size: 1.1em;
  font-weight: bold;
}
.pop-contact-form-content label {
  display: block;
  font-weight: normal;
}
.pop-contact-form-content select, .pop-contact-form-content input[type=text], .pop-contact-form-content textarea {
  display: block;
  width: 100%;
  border-radius: 3px;
  margin: 5px 0;
  padding: 4px 6px;
}
.pop-contact-form-content .btn {
  float: right;
}

body.gallery .carousel-indicators {
  display: none;
}
body.gallery .container {
  width: 100%;
  margin: 0;
}
body.gallery .navbar {
  height: 60px;
}
body.gallery .navbar-header {
  display: block;
  width: 100%;
  height: 30px;
  padding: 0;
}
body.gallery .navbar-header a.navbar-brand {
  line-height: 30px;
  height: 30px;
  padding: 0;
  font-size: 0.8em;
  text-transform: uppercase;
}
body.gallery .navbar-header a.navbar-brand strong {
  font-size: 1.6em;
}
body.gallery .navbar-collapse {
  max-width: 100%;
  margin-left: 0;
  font-size: 0.9em;
  padding: 0;
  margin: 0;
}
body.gallery .navbar-collapse ul {
  margin: 5px 0;
  padding: 0;
}
body.gallery .navbar-collapse ul li {
  margin: 0;
  padding: 0;
  height: 15px;
  line-height: 15px;
}
body.gallery .navbar-collapse ul li a {
  height: 15px;
  line-height: 15px;
  padding: 0 10px;
  margin: 0;
  text-transform: uppercase;
  font-size: 0.8em;
}
body.gallery .navbar-collapse ul li .dropdown-menu {
  padding: 10px 0;
}
body.gallery .navbar-collapse ul li .dropdown-menu a {
  line-height: 22px;
  height: 22px;
}
body.gallery .navbar-collapse ul li:nth-child(1) {
  border: none;
}
body.gallery .carousel .item {
  height: auto;
}
body.gallery .container.page {
  margin-top: 0;
}
body.gallery h3, body.gallery .h3 {
  font-weight: normal;
  margin: 0 0 10px 0;
  padding: 0;
  color: #666;
  line-height: 1.5em;
}
body.gallery h3 strong {
  font-weight: bold;
}
body.gallery .items img.item {
  width: 116px;
  margin: 3px;
  cursor: pointer;
}
body.gallery .content-icoms {
  margin-top: 20px;
  margin-right: 30px;
}

.book.complete .section {
  margin-bottom: 0;
}
.book.complete .total-price {
  margin-top: 15px;
  font-size: 1em;
  font-weight: bold;
}
.book.complete .total-price a {
  font-size: 18px;
  font-weight: normal;
}
.book.complete .extras, .book.complete .extra-popup {
  background-color: #F0EFEC;
  margin: 10px 0;
  color: #aaa;
}
.book.complete .extras .extra-item, .book.complete .extra-popup .extra-item {
  height: 240px;
}
.book.complete .extras .close_popup, .book.complete .extra-popup .close_popup {
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 0;
}
.book.complete .extras .extra-image, .book.complete .extra-popup .extra-image {
  height: 110px;
  background-size: cover;
  background-position: center;
}
.book.complete .extras .description, .book.complete .extra-popup .description {
  line-height: 1em;
  height: 1em;
  overflow: hidden;
  padding: 0 10px;
}
.book.complete .extras .long, .book.complete .extra-popup .long {
  display: none;
}
.book.complete .extras .btn.more, .book.complete .extra-popup .btn.more {
  float: right;
  margin: -15px 15px 15px 0;
}
.book.complete .extras p, .book.complete .extra-popup p {
  padding: 10px;
  margin: 0;
}
.book.complete .extras .container, .book.complete .extra-popup .container {
  margin: 0 -6px 0 -5px;
}
.book.complete .extras .container .row, .book.complete .extra-popup .container .row {
  margin-top: 0;
}
.book.complete .extras .name, .book.complete .extra-popup .name {
  text-transform: uppercase;
  padding: 5px;
  font-weight: bold;
}
.book.complete .extras .row p, .book.complete .extra-popup .row p {
  padding: 0 10px;
}
.book.complete .extras .row .btn, .book.complete .extra-popup .row .btn {
  float: right;
  height: 24px;
  line-height: 24px;
  padding: 0 10px;
  margin: 5px 10px;
}
.book.complete .extras .price, .book.complete .extra-popup .price {
  margin-left: 10px;
}
.book.complete .extra-popup {
  margin-top: -30px;
  margin-left: 5px;
  width: 250px;
  padding: 0;
}
.book.complete .extra-popup table {
  margin: 20px 10px 10px 10px;
}
.book.complete .extra-popup .description {
  display: none;
  height: auto;
  white-space: inherit;
}
.book.complete .extra-popup .long {
  display: block;
}

.book .hotels.items {
  margin-top: 0;
}

.book.rooms .room-item .room-name {
  text-transform: uppercase;
  font-weight: bold;
}
.book.rooms .room-item .board {
  font-size: 0.9em;
}
.book.rooms .room-item .allocation {
  font-size: 0.9em;
}
.book.rooms .list-item .col-sm-9 {
  padding: 0 0 10px 0;
  min-height: 120px;
}
.book.rooms .list-item .col-sm-9 table {
  margin: 10px 10px 0 10px;
}
.book.rooms .list-item img.cyan {
  display: none;
}
.book.rooms .list-item img.white {
  display: inline;
}
.book.rooms .list-item button {
  width: 24px;
  height: 24px;
  font-size: 0.5em;
  margin-right: 12px;
}
.book.rooms .list-item .allocation {
  padding-bottom: 14px;
}
.book.rooms .list-item .item-image > * {
  display: none;
}
.book.rooms .list-item .item-image .info {
  position: absolute;
  text-align: left;
  color: #666;
  margin-top: 15px;
}
.book.rooms .list-item .item-image .info > div {
  text-transform: uppercase;
  font-weight: bold;
}
.book.rooms .list-item .total-price .price-from,
.book.rooms .list-item .offer-real-price span {
  font-size: 1.9em;
  font-weight: bold;
}
.book.rooms .list-item .offer-real-price span {
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  line-height: 3px;
  margin-top: 10px;
  display: inline-block;
  padding: 0 5px;
}
.book.rooms .list-item.selected .item-image > * {
  display: inline;
}
.book.rooms .list-item.selected img.white {
  display: none;
}
.book.rooms .list-item.selected img.cyan {
  display: inline;
}
.book.rooms .total-row {
  padding-bottom: 20px;
  padding-top: 20px;
  text-align: right;
  font-size: 1.3em;
  font-weight: bold;
}
.book.rooms .total-row .btn {
  margin: 10px 0;
}
.book.rooms .total-row .price {
  font-size: 1.9em;
}
.book.rooms .total-row * {
  text-align: right;
}

.bono .main-content .text {
  padding: 20px 0 0 20px;
  font-size: 18px;
}
.bono .container p {
  margin: 0;
}
.bono .booking-code {
  font-size: 1.8em;
  font-weight: bold;
}
.bono hr {
  margin: 10px 0 10px -20px;
}
.bono .actions > * {
  margin: 0 5px;
}
.bono .actions .save-as {
  font-weight: bold;
  font-size: 1.2em;
}

.gallery.internal .carousel {
  margin-top: 5px;
}
.gallery.internal #page {
  width: 900px;
  min-width: 900px;
}

.sidebar .limited.open {
  overflow: inherit;
}

.main-content .limited {
  min-height: 18em;
}
.main-content p {
  line-height: 1em;
}
.main-content ul, .main-content li {
  line-height: 1em;
}
.main-content li {
  margin: 0;
}
.main-content ul {
  margin: 0 0 1em 0;
}

.collapse-controls {
  text-align: right;
  display: none;
}

.allocations-container th {
  font-weight: normal;
  font-size: 0.9em;
}
.allocations-container input[type=number], .allocations-container select {
  max-width: 70px;
  width: 70px;
  margin: 0 5px 5px 5px;
}
@media (max-width: 768px) {
  .allocations-container select {
    margin: 0 0 5px 2px;
  }
  .allocations-container tr.room th {
    padding-right: 5px;
  }
}
.allocations-container label {
  text-align: center;
}
.allocations-container #id_no_hab {
  display: inline-block;
  font-size: 14px;
}

.book.rooms .room-item button {
  display: none;
}

#find_booking {
  height: 240px;
  overflow: hidden;
}
#find_booking h3, #find_booking .h3 {
  font-weight: normal;
  line-height: 21px;
  display: block;
  padding: 24px 5px 0 10px;
  margin: 0;
}
#find_booking form {
  display: block;
  margin: 15px 10px;
}
#find_booking form div {
  margin-top: 5px;
}
#find_booking label {
  font-weight: bold;
}
#find_booking input[type=text] {
  width: 287px;
}
#find_booking .right {
  text-align: right;
}
#find_booking .error {
  margin: 10px;
  padding: 10px;
  border: 1px solid orange;
  background-color: lightyellow;
  color: red;
  margin-top: 60px;
}
#find_booking .error a {
  float: right;
  color: red;
}
#find_booking .loading {
  margin: 10px;
  text-align: right;
  margin-top: 60px;
  padding: 10px;
}
#find_booking p {
  padding: 10px;
}

.popover .modify-booking .row {
  padding-top: 3px;
  padding-bottom: 3px;
}

@media print {
  .header, #page-carousel, .prefooter, .footer, .blockmenu, .bottom_banners_wrapper,
  .sidebar, .content-icons, .hotel-elements, .collapse-controls {
    display: none;
  }
  .container.page {
    margin: 0 auto;
  }
  .limited {
    height: auto;
    overflow: inherit;
  }
}
.ui-datepicker-month {
  float: right;
}

.ui-datepicker-year {
  float: left;
}

.content-shadow {
  display: none;
  position: absolute;
  width: 100%;
  height: 650px;
  top: 78px;
}

.book .content-shadow {
  display: none;
}

.allocations-container {
  color: #ffffff;
  background-color: #ffffff;
}

.is-offer-rate .offer-real-price {
  display: block;
  text-align: right;
}

.is-offer-rate .offer-label {
  display: inline;
}

.is-offer-rate .normal-label {
  display: none;
}

.calendar .calendar-widget h3 {
  margin-bottom: 0;
}

#cookies_alert {
  display: none;
  position: fixed;
  z-index: 100000;
  bottom: 0;
  left: 0;
  right: 0;
  color: #555;
  background-color: lightyellow;
  line-height: 1.3em;
  padding: 7px 50px;
  border-top: 1px solid orange;
  text-align: left;
}
#cookies_alert button {
  padding: 3px 10px;
  line-height: 1.3em;
}

#cookies_alert.visible {
  display: block;
}

#formModal {
  display: none;
}

/*                                      */
/* BOOKING SEARCH RESULTS */
/*                                      */
.hab-options h3 {
  text-transform: uppercase;
}

.hab-options .room-name {
  text-transform: uppercase;
  font-weight: bold;
  display: inline-block;
  margin-left: 5px;
  cursor: pointer;
  text-decoration: underline;
}

.hab-options .show_more {
  width: 100%;
  text-align: right;
  border-width: 1px 0 0 0;
  border-color: #56BFFD;
  border-style: solid;
  padding-top: 5px;
  color: #56BFFD;
  cursor: pointer;
  margin-top: 10px;
  font-size: 0.9em;
}

.hab-options .show_more i {
  color: #56BFFD;
}

.book .items .room-item .board {
  display: inline-block;
}

.book .items .room-item.unavailable .board {
  text-decoration: none;
  cursor: default;
}

.book .items .col-sm-3 {
  overflow: hidden;
}

.book .items .room-item .select-board-code {
  display: inline-block;
  width: 65%;
  height: 30px;
  margin-right: 5px;
}

.book .items .room-item.unavailable > .col-sm-10 {
  width: 75%;
}
.book .items .room-item.unavailable > .col-sm-2 {
  width: 25%;
}
.book .items .room-item.unavailable .select-board-code,
.book .items .room-item.unavailable .offer-real-price {
  display: none;
}

.book .items .room-item .daily-price {
  display: inline-block;
}

.book .items .room-item .daily-price .price-daily {
  font-size: 19px;
}

.book.rooms .total-row {
  line-height: 2em;
  padding-bottom: 0;
}

.book .items .room-item.selected * {
  color: #56BFFD;
}

.book.rooms .list-item .offer-real-price span {
  font-size: 0.8em;
  text-decoration: line-through;
  border: 0;
}

.book.rooms .list-item .total-price .price-from {
  font-size: 1em;
  margin-right: 0;
}

.is-offer-rate .offer-real-price {
  display: inline-block !important;
}

.sharer {
  margin-bottom: 5px;
}

.book .items .room-item .availability-message {
  display: inline-block;
  font-size: 0.8em;
}

.book.rooms .booking-total-price {
  text-transform: uppercase;
  color: black;
  font-size: 22px;
  font-weight: bold;
}

.book.rooms .booking-total-price * {
  color: black;
}

.book.rooms .final-price {
  display: inline-block;
}

.book.rooms .total-row .price {
  display: inline-block;
  font-size: 22px;
  font-weight: bold;
}

#market_info button, #market_info select {
  color: #000000;
}

/* Cuando hemos cancelado una reserva, la confirmación aparecerá con un background de "cancelado"  */
.booking-cancelled {
  background-image: url("/images/void.png");
  background-size: contain;
  background-repeat: repeat;
}

/* Loyalty */
.loyalty-container .result-message {
  padding-top: 24px;
}

/* ------- Booking.css -------- */
.sidebar .sidebar-item span.no-img {
  display: block;
}

.book input[type=radio] + label {
  background-image: url(/images/checkbox-2x-unchecked.png);
  cursor: pointer;
  display: inline-block;
  width: 26px;
  height: 26px;
}
.book input[type=radio]:checked + label {
  background-image: url(/images/checkbox-2x-checked.png);
}
.book .nav-steps {
  position: relative;
  bottom: 1px;
  width: 100%;
  font-size: 1.3em;
}
.book .nav-steps li {
  padding: 0 10px;
  border: none;
  line-height: 26px;
  height: 26px;
}
.book .items .col-sm-3 {
  text-align: center;
  vertical-align: bottom;
}
.book .items .list-item {
  padding-top: 5px;
}
.book .items .price-from {
  font-weight: bold;
  line-height: 1.5em;
  margin-right: 5px;
}
.book .items table td {
  vertical-align: top;
}

.plugin_link.colored {
  display: block;
  padding: 5px;
  margin-bottom: 10px;
}

body.internal.book .container.page, body.internal.book .container.page-wrapper {
  margin-top: -480px;
}
body.internal.book .container.page .unavailable-title, body.internal.book .container.page-wrapper .unavailable-title {
  text-transform: uppercase;
  font-size: 1.4em;
  font-weight: bold;
}
body.internal.book .carousel .item {
  height: 600px;
}
body.internal.book .sidebar .title h2 {
  line-height: 1em;
}

.currency-selector {
  list-style: none;
}

.darkbox {
  color: #aaa;
  background-color: #F0EFEC;
  margin: 10px 0;
}
.darkbox p, .darkbox h4 {
  margin: 5px 15px;
  font-size: 0.9em;
}

@media print {
  #market_info,
  .actions {
    display: none;
  }
  body.internal.book .container.page,
  body.internal.book .container.page-wrapper {
    margin-top: 0;
  }
  .title {
    margin-top: 20px;
    padding-top: 20px;
    left: 20%;
  }
}
/*--------------------------*/
/*------THEME.CSS--------*/
/*--------------------------*/
body, html, p, .plugin_link.colored {
  font-size: 14px;
  line-height: 1.2em;
}

p {
  margin-bottom: 10px;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 10px;
}

h1 {
  font-size: 2em;
}

h2 {
  font-size: 1.5em;
}

h3 {
  font-size: 1.17em;
}

h5 {
  font-size: 0.95em;
}

h6 {
  font-size: 0.9em;
}

/* Funcionalidad only-xx */ /*ho agafa de bootstrap-xl*/
@media (max-width: 767px) {
  .only-sm, .only-md, .only-lg, .only-xl {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .only-xs, .only-md, .only-lg, .only-xl {
    display: none;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .only-xs, .only-sm, .only-lg, .only-xl {
    display: none;
  }
}
@media (min-width: 1200px) and (max-width: 1399px) {
  .only-xs, .only-sm, .only-md, .only-xl {
    display: none;
  }
}
@media (min-width: 1400px) {
  .only-xs, .only-sm, .only-md, .only-lg {
    display: none;
  }
}
.fancybox-skin {
  background-color: #FFFFFF;
}

a.btn:hover {
  color: white;
}

a, a:hover {
  text-decoration: none;
}

.separator {
  display: block;
  width: 100%;
  clear: both;
}

/* DEJA UNA BANDA BLANCA EN EL CAROUSEL A LA IZQUIERDA */
.fragment:not(.Slider) .left {
  float: left;
}

.fragment:not(.Slider) .right {
  float: right;
}

.margin-top-50 {
  margin-top: 50px;
}

.margin-top-25 {
  margin-top: 25px;
}

.margin-top-10 {
  margin-top: 10px;
}

.no-padding-left {
  padding-left: 0;
}

.no-padding-right {
  padding-right: 0;
}

.full-width {
  max-width: 100%;
  width: 100%;
}

/* Para usar -inicialmente- en el footer */
.container.full-width-centered-content {
  width: 100% !important;
  max-width: 100%;
}

.container.full-width-centered-content > .row {
  margin: auto;
  padding-left: 10px;
  padding-right: 10px;
}

.container.full-width-centered-content > .row > div {
  padding-left: 0;
  padding-right: 0;
}

[class*=col-].no-padding {
  padding: 0;
}

.no-margin {
  margin: 0;
}

/* Bootstrap overwrite */
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  padding-right: 5px;
  padding-left: 5px;
}

/* Que las imagenes ocupen todo el width */
.plugin_picture img {
  width: 100%;
  margin-bottom: 20px;
}

/* En el selector de fechas usar siempre color negro (en linux y win por algun motiov se ve blanco) */
.ui-datepicker-year option {
  color: #000000;
}

.ui-datepicker-year,
.ui-datepicker-month {
  color: #000000;
  font-size: 0.8em;
  padding: 2px 0;
  font-weight: normal;
}

/* ---------------------------- HEADER ------------------------- */
.header-wrap {
  margin-bottom: 10px;
}

body.is_editing .bg14_header .top {
  position: relative;
}

body:not(.is_editing) .headerfixed {
  position: fixed;
  width: 100vw;
  z-index: 101;
  top: 0;
}

body:not(.is_editing) .top.headerfixed + * {
  padding-top: 35px; /* Altura header */
}

body:not(.is_editing) .header-wrap.headerfixed + * {
  padding-top: 94px; /* Altura header */
}

body:not(.is_editing) .header-wrap.headerfixed.big + * {
  padding-top: 159px; /* Altura header cuando hay hotel */
}

.bg14_header.desktop {
  display: block;
}

.bg14_header .bg14_logo {
  padding: 5px 0;
  max-width: 100%;
  max-height: 120px;
}

#dropdownLanguage {
  padding: 4px 10px !important;
}

/* Pequeño hack para evitar que en algunos casos el menu aparezca en dos lineas separadas */
.bg14_header > .container > .row-fluid > .col-xs-3 {
  width: 200px;
}

.bg14_header > .container > .row-fluid > .col-xs-9 {
  width: 784px;
}

/* --------- Header chain ---------*/
.bg14_header.chain {
  position: relative;
}
.bg14_header.chain .top {
  font-size: 1.1em;
}
.bg14_header.chain .bg14_logo {
  max-height: 55px;
}
.bg14_header.chain .bg14_menu {
  margin-top: 5px;
}

.bg14_header.chain .top_menu > li > a,
.bg14_header.chain .top_menu > li > div.header_expansible_link {
  font-size: 1.2em;
}

.bg14_header.chain .bg14_menu ul.nav li:last-child {
  padding-right: 0;
}

.header_expansible_link {
  display: inline;
  cursor: pointer;
  padding: 0 5px;
  line-height: 20px;
}

.top .header_expansible_link {
  position: relative;
}

/* SUBMENU_WRAP (antes DROPDOWN LIST) */
.submenu_wrap {
  z-index: 4;
  display: none;
  position: absolute;
  width: 100%;
  left: 0;
  padding-top: 15px;
}

/* as_list */
.submenu_wrap.as_list {
  width: auto;
  position: absolute;
  top: 0;
  left: 0;
  min-width: 420px;
}

.top .submenu_wrap.as_list .container {
  padding: 10px 5px;
}

.submenu_wrap.as_list .container ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.submenu_wrap.as_list .container ul li {
  text-align: left;
  padding: 5px 0;
  float: none;
}

.submenu_wrap.as_list .container ul .submenu_wrap.as_grid .container {
  padding: 20px 25px 20px 25px;
}

.submenu_wrap.as_grid .container a {
  padding: 0;
  margin: 0;
  text-align: left;
}

.submenu_wrap .title {
  height: 44px;
}
.submenu_wrap .fa {
  border: 2px solid #999;
  float: right;
  padding: 5px;
  font-size: 2em;
  color: #999;
  cursor: pointer;
}
.submenu_wrap > div {
  padding: 30px 25px 20px 25px;
  max-height: 1200px;
  overflow-y: auto;
  -webkit-box-shadow: inset 0 5px 7px -3px rgba(50, 50, 50, 0.5);
  -moz-box-shadow: inset 0 5px 7px -3px rgba(50, 50, 50, 0.5);
  box-shadow: inset 0 5px 7px -3px rgba(50, 50, 50, 0.5);
}

.submenu_wrap > div > .row {
  margin: 0;
}

.submenu_wrap > div > .row > div[class^=col-] {
  padding-right: 15px;
  padding-left: 15px;
}

.submenu_wrap .item {
  margin-bottom: 20px;
}
.submenu_wrap .item img {
  width: 100%;
}
.submenu_wrap .item p {
  margin-top: 10px;
  font-size: 1.5em;
}

.submenu_wrap .fa.fa-chevron-up.fa-x2 {
  cursor: pointer;
}

/* SECOND STRIPE */
.bg14_header.chain .second_stripe {
  background-color: #fff;
  padding-top: 0;
}
.bg14_header.chain .second_stripe .bg14_logo {
  max-height: 65px;
}
.bg14_header.chain .second_stripe h2 {
  margin-top: 10px;
  margin-bottom: 0;
}
.bg14_header.chain .second_stripe .destination_link {
  text-decoration: none;
}
.bg14_header.chain .second_stripe .row > div {
  position: inherit;
}

body:not(.is_editing) .bg14_header.chain .second_stripe {
  z-index: 3;
}

body:not(.is_editing) .bg14_header.chain .second_stripe .second_text {
  padding-top: 7px;
}

/* ----------------------- FIN HEADER ---------------------- */
/* LANGUAGE */
.bg14_header.chain .first_stripe .cmslanguageselector_plugin #dropdownLanguage {
  outline: none;
  padding-bottom: 1px;
  background-color: transparent;
}

/* RESERVE BTN */
/* * * * * * * * * * * * * * * */
/* Newsletter y partners */
.allocations-summary {
  margin-top: 0;
}

.newsletter.active a, .partners.active a {
  color: #FFFFFF;
}

.newsletter, partners {
  background-color: transparent;
}

/* NEWSLETTER */
#newsletter_popup h6 {
  font-size: 0.8em;
}

#newsletter_popup form {
  margin: 0 20px 0 20px;
}

/* MENU DEL HEADER */
.bg14_menu.desktop {
  display: block;
  z-index: 3;
}

.bg14_menu > .container {
  padding: 5px 0;
}

ul.top_menu {
  list-style: none;
}

ul.top_menu li {
  float: left;
  margin-right: 15px;
  padding: 5px 0;
  position: inherit;
}

/* SLIDER */
#page-carousel {
  min-height: 338px;
}

/* LANGUAGE SELECTOR */
.cmslanguageselector_plugin #dropdownLanguage {
  margin-bottom: 0;
}

.cmslanguageselector_plugin .lang {
  padding: 4px 0 4px 9px;
  list-style: none;
}

.cmslanguageselector_plugin .dropdown-menu .lang.active a {
  background-color: transparent;
  cursor: default;
}

/* PLGUIN CMS LANGUAGE SELECTOR */
.cmslanguageselector_plugin {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.cmslanguageselector_plugin .btn {
  margin: 0;
}

/* BOX */
.custom-colored-text {
  height: inherit;
}

.custom-colored-text > div {
  height: inherit;
  position: relative;
}

.custom-colored-text > div > p {
  position: absolute;
  bottom: 0;
}

/* BANDA INFERIOR */
.banda_inferior .item {
  margin-bottom: 10px;
}

/* FOOTER */
.main-footer {
  padding-bottom: 60px;
}

/* Subscription plugin */
.newsletter-subscription .input-group-addon {
  padding: 0;
  background-color: transparent;
  border: 0;
}

/* BOXES */
.custom-colored-text .colored-text-content {
  padding: 0 18px;
  position: absolute;
  bottom: 0;
}

.custom-colored-text .imageAndText {
  overflow: hidden;
}

.picturebanner, .banda_inferior .custom-colored-text .colored-text-content {
  width: 100%;
}

.banda_inferior .custom-colored-text .colored-text-content * {
  font-size: 1.2em;
  width: 100%;
  text-align: center;
}

.threeBoxes .custom-colored-text p {
  margin-bottom: 15px;
}

.submenu_white {
  background-color: white;
  left: 0;
  position: absolute;
  list-style: none;
  width: 100%;
  min-height: 271px;
  top: 40px;
  padding-top: 10px;
  padding-left: 10px;
  overflow: hidden;
  display: none;
}
.submenu_white li {
  display: block;
  float: none;
  padding-left: 0;
}

/* MENU */
.bg14_header {
  font-size: 0.9em;
}

.bg14_menu .top_menu {
  padding-left: 0;
}
.bg14_menu .top_menu > li {
  padding: 4px 5px;
  margin-right: 0;
}

#topCarousel {
  margin-top: -10px;
}

.carousel.fade_in .item {
  left: 0;
  -webkit-transition: opacity 0.9s; /*adjust timing here */
  -moz-transition: opacity 0.9s;
  -o-transition: opacity 0.9s;
  transition: opacity 0.9s;
}

.carousel.fade_in .carousel-control {
  z-index: 3;
  background-image: none;
}

/* Fade controls with items */
.carousel.fade_in .next.left,
.carousel.fade_in .prev.right {
  opacity: 1;
  z-index: 1;
}

.carousel.fade_in .active.left,
.carousel.fade_in .active.right {
  opacity: 0;
  z-index: 2;
}

/* GRID */
.grid {
  margin-bottom: 40px;
}

/* searchBookingForm */
.searchBookingForm {
  padding-top: 30px;
}

.searchBookingForm label {
  color: white;
}

.inline-hotel-form {
  margin-top: 10px;
}

.inline-hotel-form .row > div, .inline-hotel-form .row .row > div {
  padding: 0;
}

.inline-hotel-form select,
.inline-hotel-form input[type=text],
.inline-hotel-form button,
.inline-hotel-form input[type=number] {
  width: 95%;
  display: block;
  border-radius: 3px;
  line-height: 1.8em;
  height: 1.8em;
}

.inline-hotel-form input[type=text],
.inline-hotel-form input[type=number] {
  text-align: center;
}

.inline-hotel-form label {
  display: block;
  font-size: 0.8em;
  line-height: 1.1em;
  white-space: nowrap;
  width: 100%;
  overflow: hidden;
  color: white;
}

.inline-hotel-form img {
  max-width: 100%;
}

.inline-hotel-form .btn {
  height: 42px;
  line-height: 38px;
  border-radius: 0;
  padding-top: 3px;
  margin-top: 0;
  width: 100%;
}

.inline-hotel-form .fiends img {
  margin-top: 5px;
}

.inline-hotel-form .toggle-allocations {
  line-height: 20px;
  padding: 2px 5px;
  position: absolute;
  font-size: 0.75em;
  margin-top: 0;
  margin-left: 5px;
  text-transform: none;
}

.offer-info img {
  margin-bottom: 10px;
}
.offer-info h1 {
  font-size: 1.5em;
}

.alert {
  margin-bottom: 10px;
}

/* Enlace Descarga */
.enlace_descarga {
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  border-top: 1px solid lightgray;
  color: #666666;
}
.enlace_descarga:last-child {
  border-bottom: 1px solid lightgray;
}
.enlace_descarga:hover {
  color: #666666;
}
.enlace_descarga i {
  font-size: 32px;
}
.enlace_descarga .filename {
  line-height: 32px;
}
.enlace_descarga .pull-left {
  margin-right: 10px;
}
.enlace_descarga .icon {
  width: 32px;
  height: 32px;
}

/* Selector tipo de viaje (ver todos, puentes y festivos, familias, parejas) */
.children_filter_form {
  margin-bottom: 10px;
}
.children_filter_form input {
  width: 15px;
  height: 15px;
}

/* Form Buscar Hotel */
@-moz-document url-prefix() {
  .search-hotel input[type=text] {
    padding-top: 5px;
  }
}
.search-hotel input[name=nights] {
  width: 89%;
}

.search-hotel .toggle-allocations {
  background-color: white;
  border-radius: 0;
  width: 94%;
  height: 25px !important;
}

.search-hotel input[name=promo_code] {
  width: 98%;
}

/*  ---- Gallery ----- */
.gallery_focus {
  cursor: pointer;
}

.gallery .mini {
  padding-left: 10px;
}

.gallery .mini[first-child] {
  margin-left: 0;
}

.gallery .mini img {
  margin-right: 5px;
  margin-bottom: 10px;
}

.gallery .img-gallery {
  width: 100%;
}

.gallery_popup .description {
  padding-top: 10px;
  min-height: 60px;
}

.gallery .carousel .item {
  height: auto;
}

/* Gallery Design A */
.gallery.design-a .left.carousel-control i,
.gallery.design-a .right.carousel-control i {
  font-size: 70px;
  opacity: 0.5;
}

.gallery.design-a .left.carousel-control:hover i,
.gallery.design-a .right.carousel-control:hover i {
  opacity: 1;
}

.gallery.design-a .items.row .col-xs-2 {
  padding-bottom: 5px;
}

/* Gallery-Preview Design A */
.popup-gallery {
  margin-bottom: 20px;
}

.popup-gallery a {
  outline: none;
}

.gallery-preview.design-a {
  position: relative;
}

.gallery-preview.design-a img.icon {
  position: absolute;
  bottom: 10px;
  left: 10px;
  width: 40px;
}

.gallery-preview.design-a .img-gallery {
  width: 100%;
}

/* Gallery-Preview Design B */
.gallery-preview.design-b {
  position: relative;
  margin-bottom: 65px;
}

.gallery-preview.design-b .img-gallery {
  width: 100%;
}

.gallery-preview.design-b .button {
  position: absolute;
  bottom: -35px;
  background-color: #002c62;
  right: 70px;
  padding: 30px 65px 30px 30px;
}

.gallery-preview.design-b .button span {
  position: relative;
  color: white;
  font-size: 18px;
}

.gallery-preview.design-b i {
  font-size: 30px;
  color: white;
  position: absolute;
  top: -8px;
  right: -30px;
}

/* BOOKING SEARCH RESULTS */
.hab-options h3 {
  text-transform: uppercase;
}

.hab-options .room-name {
  text-transform: uppercase;
  font-weight: 400;
  display: inline-block;
  margin-left: 5px;
  cursor: pointer;
  text-decoration: underline;
}

.book .nav-steps .current:before {
  content: "";
  border: none;
  padding: 0;
}

.book .nav-steps .current {
  font-weight: normal;
  padding-left: 10px;
}

.book .nav-steps i {
  color: inherit;
  display: none;
}

.book .nav-steps .current i {
  display: initial;
  margin-right: 5px;
}

.book .items {
  font-size: 1em;
  line-height: 1.5em;
  margin-top: 0;
  color: #666;
}

.book .items .offer {
  font-weight: inherit;
}

.book .items .room-item .board {
  display: inline-block;
}

.book .items .room-item.unavailable .board {
  text-decoration: none;
  cursor: default;
}

.book .items .row {
  margin-bottom: 10px;
  margin-top: 0;
}

.book .items .row.list-item.room-item {
  margin-top: 0;
  margin-bottom: 0;
}

.book .items .camera-over {
  left: 10px;
  bottom: 5px;
}

.book .items .room-item .select-board-code {
  display: inline-block;
  width: 55%;
  height: 30px;
  margin-right: 5px;
  padding: 0;
}

.book.rooms .list-item .total-price .price-from {
  font-size: 1em;
  margin-right: 0;
}

.book.rooms .room_group button {
  height: inherit;
  font-size: 0.8em;
  margin: inherit;
  color: white;
  display: none;
  margin-top: 15px;
  width: auto;
  padding: 10px 30px;
  float: right;
}

/* Step2. Mostrar o el boton Reservar al lado de cada habitacion */
.sharer {
  margin-bottom: 5px;
}

.search-form .allocations-container {
  background: none;
  position: inherit;
  top: inherit;
  bottom: inherit;
}

.boxform .allocations-container {
  background-color: white;
  color: #999999;
  position: relative;
}

.search-form .allocations-container select {
  width: inherit;
}

.book .items .room-item.unavailable * {
  color: #C45556;
}

.book.rooms .total-row .price {
  display: inline-block;
  font-size: 22px;
  font-weight: 400;
}

body.book .search-results-banner .sidebar .title h2 {
  font-size: 1em;
  text-align: left;
  padding: 10px 5px;
}

.search-results-banner .main-content ul {
  margin-bottom: 0;
  line-height: 1.5em;
}

.search-results-banner .main-content .currency-selector {
  text-transform: none;
}

.search-results-banner .main-content .title h1 {
  font-size: 1.5em;
  height: 1.5em;
}

.search-results-banner .main-content .title {
  padding-top: 20px;
}

.search-results-banner .main-content .nav-steps {
  font-size: 1em;
  padding-top: 5px;
}

.info_tipos_regimenes i {
  font-size: 20px;
  color: white;
}

.info_tipos_regimenes #regimenes_info,
.info_tipos_regimenes #regimenes_info:hover {
  color: white;
}

/* CONFIRMACION RESERVA */
.book.complete .darkbox {
  padding: 10px 0;
}

.book.complete .darkbox input,
.book.complete .darkbox select {
  margin-bottom: 10px;
}

.book.complete h3 {
  font-weight: 300;
}

.book.complete .darkbox h4 {
  margin: 5px 15px 5px 0;
  font-size: 0.9em;
}

.book.complete .complete-book {
  width: 250px;
  margin-top: 10px;
}

.book.complete .total-price {
  font-size: 1em;
  margin-top: 5px;
  margin-bottom: 5px;
  font-weight: 400;
}

/* Bono */
.bono .domain {
  margin-left: 20px;
  text-decoration: underline;
  color: #2a6496;
  vertical-align: bottom;
}

.bono .container p {
  margin: 20px 0;
}

.bono table {
  width: 100%;
}

.bono table th {
  font-family: GillSans;
}

.bono .actions .btn {
  display: inline-block;
  max-width: 25%;
}

.bono .search-hotel {
  display: none;
}

.temporal {
  color: red;
}

/* CMS (para que no afecten los cambios) */
.cms_modal .btn {
  width: auto;
}

/* BOOKING CONFIRMATION - EXTRAS */
.book.complete .extras, .book.complete .extra-popup {
  background-color: transparent;
}

.extras .row .col-xs-8.title {
  padding-top: 6px;
}

.extras .view-less,
.extras .view-more {
  color: white;
  text-transform: none;
}

.book.complete .extra-popup table {
  margin: 0 5px;
}

.book.complete .extra-popup .price,
.book.complete .extras .extra-item .price {
  margin: 0;
}

.book.complete .extras .btn.more,
.book.complete .extra-popup .btn.more,
.book.complete .extras .row .btn,
.book.complete .extra-popup .row .btn {
  float: none;
}

.book.complete .extras .btn.more {
  font-size: 1em;
  margin: 0;
  text-align: right;
}

.book.complete .extras .extra-image,
.book.complete .extra-popup .extra-image {
  height: 178px;
}

.book.complete .extras .extra-item,
.book.complete .extra-popup .extra-item {
  margin-bottom: 10px;
  height: auto;
}

.book.complete .extra-popup .extra-item .background,
.book.complete .extra-popup .extra-item .background {
  background-color: white;
}

.book.complete .extras .name,
.book.complete .extras .description {
  height: 40px;
}

.book.complete .extras .name,
.book.complete .extra-popup .name {
  text-transform: none;
  font-weight: 400;
  padding: 0 5px;
  line-height: 1.2em;
}

.book.complete .extras .row p {
  padding: 0 5px;
}

.book.complete .extras .description,
.book.complete .extra-popup .description {
  text-transform: none;
  padding: 0 5px;
  line-height: 1.2em;
}

.book.complete .extra-popup {
  -webkit-box-shadow: 0 3px 15px 0 rgba(50, 50, 50, 0.75);
  -moz-box-shadow: 0 3px 15px 0 rgba(50, 50, 50, 0.75);
  box-shadow: 0 3px 15px 0 rgba(50, 50, 50, 0.75);
  overflow: hidden;
  background-color: white;
}

.book.complete .remove-extra {
  cursor: pointer;
  margin-left: 5px;
}

.book.complete .extras .close_popup,
.book.complete .extra-popup .close_popup {
  right: -5px;
  top: -5px;
  font-size: 2.4em;
  color: #333333;
  background-color: white;
  border-radius: 26px;
  padding: 6px 10px;
}

/* modificar reserva */
#modify_booking {
  display: none;
}

/* cancelar reserva */
#cancel_booking {
  display: none;
}

/* popover */
.popover {
  max-width: 400px;
  background-color: #FFFFFF;
}

.popover h3 {
  font-size: 2em;
  margin-top: 20px;
}

.popover .btn {
  width: auto;
  border-radius: 5px;
  font-size: 1.1em;
  line-height: 1.1em;
}

.shadow {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: none;
  background-color: #333;
  opacity: 0.7;
}

/* SEARCH FORM STYLE */
.search-form .sidebar {
  width: 32%;
  margin-right: 1.3333333333%;
  padding: 0 5px 10px;
}

.search-form input[type=text] {
  margin-bottom: 5px;
  width: 300px;
}

.search-form i {
  margin-left: -23px;
}

.search-form .room-title {
  border-bottom: 1px solid;
}

.search-form label {
  font-weight: inherit;
}

.search-form .ch1age,
.search-form .ch2age,
.search-form .ch3age,
.search-form .ch4age {
  margin-left: 5%;
}

.search-form h2 {
  padding-top: 5px;
}

.main-content > ul > .dropdown.pull-right.currency-selector {
  z-index: 1;
  margin-top: 5px;
}

.link_conditions {
  margin-top: 10px;
}

.link_conditions p {
  display: inline;
}

/* Mobile */
/* TEXT COLOR AND BACKGROUND COLOR (introduced by SpecialLink) */
#id_pay_at_hotel, #id_pay_now {
  display: none;
}

label[for=id_pay_at_hotel], label[for=id_pay_now] {
  margin-right: 8px;
  top: -3px;
  position: relative;
}

/* ------- HD HOTELS ------- */
h2.entry-title {
  margin-top: 15px;
}

/* -----------------------------------*/
/*          AJUSTES FRAGMENTOS        */
/* ---------------------------------- */
/*  ----------------------- Fragment: Header.HotelsAndDestinations  --------------------------- */
.fragment.Header-HotelsAndDestinations,
.fragment.Header-RootElements {
  display: inline-block;
}

.fragment.Header-HotelsAndDestinations .hotels li * {
  color: black;
  text-decoration: none;
}
.fragment.Header-HotelsAndDestinations .hotels li strong {
  color: #00b3fd;
  font-weight: 300;
}

.fragment.Header-HotelsAndDestinations .header_expansible_link.active > .submenu_wrap {
  display: block;
}
.fragment.Header-HotelsAndDestinations .destinations li .country {
  color: black;
}

/* Banda superior vermella amb info sobre l'entorn */
.environment_server {
  position: fixed;
  left: 50%;
  width: 400px;
  margin-left: -150px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  background-color: red;
  color: white;
  z-index: 9999999;
  bottom: 40px; /* ROOM-1444 */
  opacity: 0.8; /* ROOM-1444 */
}

.cache_label {
  position: absolute;
  z-index: 100000000000000000000000000000;
  color: red;
}

.cache_label.from_cache {
  background-color: yellow;
}

.cache_label.not_from_cache {
  background-color: #7CFC00; /* lawn green */
}

/* ---------------------------- MyPopup ---------------------------------- */
/* Se trata de una capa de abstracción para nuestros popups */
/* mfp es magnific popop */
.mfp-content {
  text-align: center; /* centramos el contenido del popup */
}

@media (max-height: 899px) {
  .mfp-content.popup-cookiepanel-wrapper {
    height: 50vh; /*Popup de alerta de cookies*/
  }
}
@media (max-height: 599px) {
  .mfp-content.popup-cookiepanel-wrapper {
    height: 75vh; /*Popup de alerta de cookies*/
  }
}

.mfp-bg {
  z-index: 1043; /* el original son 1042. Lo cambiamos porque en Dunas quedaba por debajo de parte del header */
  opacity: 0.4;
}

/*ROOM-1710*/
/*Arreglos para que en móvil el fondo no haga scroll y se visualice en Safari también*/
body.mfp-zoom-out-cur {
  position: fixed;
}

.mfp-wrap:not(.cookiepanel-container-wrap) {
  position: fixed !important;
  top: 0 !important;
  /*Eliminar el script que lo sobreescribe(?)*/
}

.mfp-wrap.mfp-gallery {
  /* position: static ;*/
}

/*Fin ROOM-1710*/
.mypopup {
  /* Le damos al contenido del popup unos estilos básicos */
  background: #FFF;
  padding: 35px 20px 20px 20px;
  position: relative;
  display: inline-block;
  margin: auto;
  text-align: left;
}

a:hover {
  text-decoration: none;
}

/* ------- ESTILS MAKEUP.CSS CALENDAR -------- */
body.calendar {
  min-width: 0 !important;
  margin: 0 8px;
}
body.calendar input.disabled {
  background-color: #F0EFEB;
  border: 0;
}
body.calendar #page {
  background-color: #fff;
}
body.calendar .content-container {
  width: 100%;
}
body.calendar .top-form select {
  margin-right: 10px;
  width: auto;
}
body.calendar .top-form .calendar_filter_item {
  display: inline-block;
}
body.calendar .top-form .calendar_filter_item label {
  margin-right: 7px;
}
body.calendar h3 {
  color: #bde4f7;
  font-size: 1.4em;
}
body.calendar h3 strong {
  font-size: 1.5em;
}
body.calendar .month {
  text-align: center;
  background-color: #5EC5ED;
  color: white;
}
body.calendar .month a {
  margin: 0 10px;
  color: white;
}
body.calendar .weekdays, body.calendar .weekdays th {
  color: #FFF;
}

body.calendar .calendar-day .min {
  text-align: center;
  font-weight: bold;
}
body.calendar .calendar-day {
  background-color: #F0EFEB;
  border: 3px solid white;
  line-height: 1.4em;
  color: #ccc;
  width: 14.285%;
}
body.calendar .calendar-day.status-disabled {
  opacity: 0.7;
  background-color: #F0EFEB;
  color: GrayText;
}
body.calendar .calendar-day.status-unavailable {
  background-color: #C6392E;
  color: #F66C24;
}
body.calendar .calendar-day.status-offer {
  background-color: #5EC5ED;
  color: white;
}
body.calendar .calendar-day.status-latest {
  background-color: #F79D12;
  color: white;
}
body.calendar .calendar-day.highlight {
  margin: 0;
  padding: 0;
}
body.calendar .calendar-day.highlight > div {
  border: 2px solid black;
  padding: 2px 3px;
}
body.calendar th {
  text-align: center;
  color: #5EC5ED;
  font-size: 12px;
}
body.calendar .note span.icon {
  display: block;
  float: left;
  width: 20px;
  height: 10px;
  clear: both;
  margin-top: 2px;
  margin-right: 4px;
}
body.calendar .note.note-normal, body.calendar .note.note-offer, body.calendar .note.note-unavailable,
body.calendar .note.note-latest, body.calendar .note.note-restriction {
  display: inline-block;
  margin-right: 5px;
}
body.calendar .notes .note.note-restriction span.icon {
  background: none;
}
body.calendar .notes .note.note-restriction span.icon::after {
  content: "\f071";
  font-family: FontAwesome;
  color: #ffa500;
}
body.calendar .note.note-normal span.icon {
  background-color: #ccc;
}
body.calendar .note.note-normal span.icon strong {
  font-weight: inherit;
}
body.calendar .note.note-unavailable span.icon {
  background-color: #C6392E;
}
body.calendar .note.note-latest span.icon {
  background-color: #F99E17;
}
body.calendar .note.note-offer span.icon {
  background-color: #5EC5ED;
}
body.calendar .btn {
  color: white;
  border: none;
  text-transform: uppercase;
}
body.calendar .btn:hover {
  background-color: #bde4f7;
}

@media (max-width: 768px) {
  /* Allocation container que aparece en el calendario */
  body.calendar .offer-calendar-form .allocations-container {
    padding: 10px 15px 5px 15px;
    z-index: 99;
  }
  body.calendar .offer-calendar-form .allocations-container select {
    width: auto;
  }
}
@media (max-width: 480px) {
  body.calendar.internal, html.calendar.internal {
    zoom: 0.95;
  }
  .calendar.internal {
    overflow-y: scroll;
  }
}
/* clase para ocultar spiner inserpoin */
span.insert-key i.fa-spinner {
  display: none;
}

/**********OCULTAR BARRA CMS**********/
body.calendar #cms-top, body.calendar .environment_server {
  display: none;
}

/******ROOM-1251 Colapsar barra estructura*****/
#cms_toggle_button {
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background-color: black;
  position: fixed;
  top: 52px;
  right: 9px;
  z-index: 9999999;
  cursor: pointer;
  opacity: 0.8;
  border: 6px solid white;
}

#cms-top.colapsed {
  display: none;
}

.cms-toolbar-expanded {
  margin-top: 0 !important;
}

/**********************************************/
/************* ROOM-1354 *********************/
input.data-invalid {
  background-color: #e6baa8;
}

.mfp-wrap .mfp-iframe-holder .popup-calendar-wrapper {
  height: 750px;
}
.mfp-wrap .mfp-iframe-holder .popup-calendar-wrapper .mfp-iframe-scaler iframe {
  background: transparent;
  box-shadow: none;
}
@media (max-width: 899px) {
  .mfp-wrap .mfp-iframe-holder .popup-calendar-wrapper {
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10;
  }
}
.mfp-wrap .mfp-iframe-holder .popup-calendar-wrapper .mfp-close {
  display: none;
}

/*Estructura, panel derecho resizable*/
.cms-structure .ui-resizable-w {
  z-index: 1000 !important;
  height: 100%;
  width: 15px;
  border-left: solid 5px;
  border-right: solid 5px;
  left: 0;
}

.cms-structure.ui-resizable {
  min-width: 5vw;
  max-width: 95vw;
  margin-left: auto !important;
  left: auto !important;
}

/*# sourceMappingURL=rolbase.css.map */
