/**
 * System messages.
 */
:target::before {
  content: "";
  display: block;
  height: 100px; /* fixed header height*/
  margin: -100px 0 0; /* negative fixed header height */
}
.messages {
  margin: 0;
  padding: 15px 20px 15px 35px;
  background: no-repeat 10px 17px;
  border: 1px solid;
  border-width: 1px 1px 1px 0;
  border-radius: 2px;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
ul.messages__list {
  margin: 0;
  padding: 0;
}
ul.messages__list li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.messages + .messages {
  margin-top: 1em;
}
.messages__item + .messages__item {
  margin-top: 0.769em;
}
.messages-status {
  color: #325e1c;
  background-color: #f3faef;
  background-image: url(../../../../../core/misc/icons/73b355/check.svg);
  border-color: #c9e1bd #c9e1bd #c9e1bd transparent;
  box-shadow: -8px 0 0 #77b259;
}
.messages-status a {
  color: #325e1c;
  font-weight: bold;
}
.messages-warning {
  color: #734c00;
  background-color: #fdf8ed;
  background-image: url(../../../../../core/misc/icons/e29700/warning.svg);
  border-color: #f4daa6 #f4daa6 #f4daa6 transparent;
  box-shadow: -8px 0 0 #e09600;
}
.messages-warning a {
  color: #734c00;
  font-weight: bold;
}
.messages-error {
  color: #a51b00;
  background-color: #fcf4f2;
  background-image: url(../../../../../core/misc/icons/e32700/error.svg);
  border-color: #f9c9bf #f9c9bf #f9c9bf transparent;
  box-shadow: -8px 0 0 #e62600;
}
.messages-error a {
  color: #a51b00;
  font-weight: bold;
}

/**
 * Local tasks (tabs).
 */
#block-tmb-local-tasks,
#block-tmb-local-tasks ul,
#block-tmb-local-tasks ul li {
  margin: 0;
  padding: 0;
}
#block-tmb-local-tasks ul {
  display: flex;
  list-style: none;
  background: #fff;
}
#block-tmb-local-tasks ul li {
}
#block-tmb-local-tasks ul li a {
  display: block;
  margin: 0;
  padding: 0.5em 1em;
  color: #666;
  background: #fff;
  border: 1px solid #eee;
  text-decoration: none;
}
#block-tmb-local-tasks ul li a:hover,
#block-tmb-local-tasks ul li a:focus {
  background: #eee;
}

/**
 * Fix position of page wrapper when admin toolbar is present.
 */
#page-top {
  clear: both;
}

body.adminimal-admin-toolbar.tpl__modal .map__sidebar-more-link {
  bottom: 79px;
}
body.adminimal-admin-toolbar.tpl__modal .map__content-main {
  padding-bottom: 139px;
}

html body .desktop,
html body .tablet {
  display: none;
}

html body .mobile {
  display: block;
}

/**
 * Fix position of route price block when admin toolbar is present.
 */
@media screen and (min-width: 48em) {
  body.adminimal-admin-toolbar .route-actions--sticky .b7 {
    top: 79px;
  }
  html body .desktop,
  html body .tablet {
    display: block;
  }
  html body .mobile {
    display: none;
  }
}

/**
 * Fix views pager styles.
 */
ul.pager.block__load-more {
  padding: 0;
  list-style: none;
}

/**
 * Fix margin of list items.
 */
.block__list-item {
  margin-bottom: 1rem;
}

/**
 * Fix margin of list items for llistat serveis.
 */
#tmb-llistat-serveis .block__list-item {
  margin-bottom: 0;
}

/**
 * Fix margin of list items for llistat serveis.
 */
.what-to-see .block__list-item {
  width: 100%;
}

/**
 * Fix dimensions of google maps container.
 */
.map__item {
  padding-left: 25rem;
}
@media screen and (max-width: 47.9375em) {
  .map__item {
    padding-left: 0;
  }
}

/**
 * Fix bottom padding of sidebar in false modals.
 */
.map__sidebar .map__content.map__content-detail {
  padding-bottom: 4em;
}

/**
 * Google Maps InfoWindow.
 */
.google-maps-infowindow {
  overflow: auto;
  zoom: 1;
  margin: 16px 0;
}
.google-maps-infowindow .image {
  display: block;
  float: left;
  margin: 0 8px 0 0;
}
.google-maps-infowindow .content {
  display: block;
  float: right;
}
.google-maps-infowindow .content h3 {
  margin: 0 0 8px 0;
  font-size: 1rem;
}
.google-maps-infowindow .content ul {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.google-maps-infowindow .content li {
  display: flex;
  margin: 0;
  padding: 0 8px;
  border-left: 1px solid #ccc;
}
.google-maps-infowindow .content li:first-child {
  padding-left: 0;
  border-left: none;
}
.google-maps-infowindow .content li img {
  display: block;
  margin: 0 auto;
  padding-right: 4px;
  height: 1rem;
}
.google-maps-infowindow .content li a,
.google-maps-infowindow .content li span {
  display: block;
  text-align: center;
}

/**
 * Development stuff.
 */
.kint {
  position: relative;
  z-index: 1000;
}

section#text_personal_data .modal, section#text_avis_legal .modal {
  width: 50%;
  max-height: 80%;
  overflow: scroll;
}
section#text_personal_data .modal .wrapper, section#text_avis_legal .modal .wrapper {
  padding: 20px 35px;
}

.card__link-title {
  text-decoration: none;
}

/**
 * Universal styles.
 */
select::-ms-expand {
  display: none;
}

.margin-top-1-5rem {
  margin-top: 1.5rem !important;
}

.b1__route-list .route-list__link-item {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
}

/* RM-43196 */
.b6.hide-button .card__purchase { display: none; }
.b6.hide-button .price { margin-bottom: 0; }
.b6.no-linked-title .card__content-title-link:hover { cursor: auto; text-decoration: none; }
.b6.no-linked-title .card__content-title-link:focus { outline: none; }

/* RM-43189 */
.tmb-image-gallery .hidden { display: none; }

/* RM-46726 */
.captcha { margin-top: 1rem; }
@media screen and (min-width: 48em) {
  .captcha { margin-top: 1.5rem; }
}

/* RM-52079 */
.tmb-hm-processed:hover { cursor: pointer; }

/* RM-50039 */
nav.pagerer-pager-progressive ul {
  list-style-type: none;
  justify-content: center;
  display: flex;
}

nav.pagerer-pager-progressive ul li {
  width: 2%;
}

/* RM-53977 */
.dropdown__trigger:hover .dropdown__block {
  z-index: 10;
  border-radius: 0.5rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2), 0 6px 10px rgba(0, 0, 0, 0.1), 0 0 4px rgba(0, 0, 0, 0.05);
}

/* RM-53961 RGPD text blocks */
.webform-submission-form .form__row ul { margin-top: 0; }
.skin-tm #edit-rgpd-text-bbt,
.skin-bbt #edit-rgpd-text-tm { display: none; }
/* RM-53808 Fixing table alignment */
.table .th { text-align: left; }

/* RM-52853 */
.dropdown--category-hero .dropdown__label-text { margin: 0; }
.card--c4 .card__content-title h2 { font-size: inherit; font-weight: inherit;
  margin: inherit; }

/* RM-54220 */
.node--poi--content h2,
.node--poi--content h2 > strong { color: #1d2533; margin: 0 0 1rem 0;
  font-family: "Montserrat", arial, sans-serif; font-size: 1.375rem;
  font-weight: 700; line-height: 1.75rem; }
.node--poi--content h3,
.node--poi--content h3 > strong { color: #1d2533;
  font-family: "Montserrat", arial, sans-serif; font-size: 1.1rem;
  font-weight: 700; line-height: 1.4rem; }

/* RM-42407 */
.block.a08 .a08-instagram-view,
.block.a08 .a08-facebook-view { display: none; }
.block.a08 .a08__grid-item.a08__grid-item--1 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
.block.a08 .a08__grid-item.a08__grid-item--2 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
.block.a08 .a08__grid-item.a08__grid-item--3 { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
.block.a08 .a08__grid-item.a08__grid-item--4 { -webkit-box-ordinal-group: 5; -ms-flex-order: 4; order: 4; }
.block.a08 .a08__grid-item.a08__grid-item--5 { -webkit-box-ordinal-group: 7; -ms-flex-order: 6; order: 6; }
.block.a08 .a08__grid-item.a08__grid-item--6 { -webkit-box-ordinal-group: 6; -ms-flex-order: 5; order: 5; }
.block.a08 .a08__grid-item.a08__grid-item--7 { -webkit-box-ordinal-group: 9; -ms-flex-order: 8; order: 8; }
.block.a08 .a08__grid-item.a08__grid-item--8 { -webkit-box-ordinal-group: 8; -ms-flex-order: 7; order: 7; }

/* RM-55976 */
.a01__main-menu .menu__item + .menu__item::before { height: 100%; }

/* RM-57135 */
/* Accordion styles */
.tabs {
  border-bottom: 1px solid #dde1e9;
}
.tab.collapsible__item {
  width: 100%;
  overflow: hidden;
  border-bottom: 0;
}
.tab-label {
  cursor: pointer;
}
.tab-label:after {
  width: 24px;
  height: 24px;
}
.tab-content {
  max-height: 0;
  -webkit-transition: all .35s;
  transition: all .35s;
  overflow: hidden;
}
.tab-content p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5rem;
}
.tab input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.tab input:checked + .tab-label::after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  top: 0;
}
.tab input:checked ~ .tab-content {
  max-height: 100%;
}

/* RM-58757 Fixing video button after new button */
.a01 .button--video {
  margin-top: 2rem;
}

/* RM-59420 Fixing Share button in mobile */
@media screen and (max-width: 47.9375em) {
  .share__label-text span {
    display: none;
  }
}

/**
 * RM-61943: Add external picture to legal links when it points external url.
 */
.skin-bbt .legal-links__link.content__link,
.skin-tm .legal-links__link.content__link { color: inherit; font-weight: normal }
a.legal-links__link.ext:after { background-position: 0 0; }

/**
 * RM-61204: New promo banner.
 */
body .promo { background-image: none }
.promo .button-wrapper { margin: 0; padding: 0 }
.promo a.button { display: inline-block; vertical-align: top; }

/**
 * RM-64369: Custom implementation to allow empty image in A22 block.
 */
.a22.without-image .a22-slider__nav {
  padding-right: 4rem;
}

/**
 * RM-65049/RM-65050: Adding Opiniones-verificadas widgets.
 */
.tmb-opiniones-processed {
  cursor: pointer;
}
.a01.with-opiniones .wrapper {
  height: 34.5rem;
}
.a01.with-opiniones .a01__aside-menu {
  text-align: right;
}
.a01__aside-menu .netreviews-wrapper {
  display: block;
  width: 100%;
  text-align: right;
}
.netreviews-widget-header {
  display: inline-block;
  vertical-align: top;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 3rem;
  margin: 1rem 0 0;
  padding: 0.5rem 2rem;
  text-align: center;
  min-width: 230px;
}
.netreviews-widget-header .netreviews-cta,
.netreviews-widget-header .netreviews_review_rate_and_stars div { font-size: 0.8rem; color: #000000; }
.netreviews-widget-header .netreviews-cta {
  width: 100%;
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 18px;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  color: #1d2633;
}
.netreviews-widget-header .netreviews_review_rate_and_stars {
  height: 16px;
  min-height: 16px;
  margin-bottom: 6px;
}
.netreviews-widget-header .netreviews-logo {
  display: block;
  position: relative;
  min-height: 24px;
  background: url(../img/opiniones-verificadas/netreviews-logo-es.webp) no-repeat scroll center center transparent;
  background-size: contain;
  margin-top: 12px;
}
.lang-ca .netreviews-widget-header .netreviews-logo {
  background-image: url(../img/opiniones-verificadas/netreviews-logo-ca.webp);
}
.lang-en .netreviews-widget-header .netreviews-logo {
  background-image: url(../img/opiniones-verificadas/netreviews-logo-en.webp);
}
.lang-de .netreviews-widget-header .netreviews-logo {
  background-image: url(../img/opiniones-verificadas/netreviews-logo-de.webp);
}
.lang-fr .netreviews-widget-header .netreviews-logo {
  background-image: url(../img/opiniones-verificadas/netreviews-logo-fr.webp);
}
.lang-it .netreviews-widget-header .netreviews-logo {
  background-image: url(../img/opiniones-verificadas/netreviews-logo-it.webp);
}
.skeepers_product__reviews {
  margin-left: inherit !important;
  margin-right: inherit !important;
  padding-left: 80px;
  padding-right: 80px;
  box-sizing: border-box;
}
.skeepers_product__stars .stars__rating {
  color: #1d2633;
}
.netreviews-widget-header .netreviews-logo:before {
  display: block;
  content: ' ';
  width: 100%;
  height: 2px;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: -5px;
  left: 0;
}
.netreviews-wrapper.bottom .netreviews-widget-header {
  position: relative;
  padding-left: calc(2rem + 35px);
}
.netreviews-wrapper.bottom .netreviews-widget-header .netreviews-logo {
  position: absolute;
  top: 0.5rem;
  left: 1.5rem;
  background-image: url(../img/opiniones-verificadas/netreviews-logo-mobile.webp);
  width: 35px;
  height: 35px;
  margin: 0;
}
.netreviews-wrapper.bottom .netreviews-widget-header .netreviews-logo:before {
  display: none;
}
.netreviews-wrapper.bottom .netreviews-widget-header .netreviews_review_rate_and_stars {
  margin-bottom: 2px;
}
.netreviews-wrapper.bottom .netreviews-widget-header .netreviews-cta {
  display: block;
  width: 100%;
  font-size: 12px;
  line-height: 17px;
  margin: 6px 0 0 0;
}
.a15--tripadvisor.with-opiniones {
  padding: 0;
}
.a15--tripadvisor.with-opiniones .a15__list {
  padding: 5rem 0;
}
.a15--tripadvisor.with-opiniones .a15__tripadvisor {
  padding: 3.5rem 1rem;
  margin: 0;
}
.a15--tripadvisor.with-opiniones .wrapper:before {
  display: none;
  transform: none;
  top: 0;
}
.a15--tripadvisor.with-opiniones .a15__tripadvisor-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.a15--tripadvisor.with-opiniones .a15__tripadvisor-container > div {
  width: 100%;
  padding: 0.5rem;
}
.a15--tripadvisor.with-opiniones .a15__tripadvisor-label {
  max-width: 160px;
}
.a15--tripadvisor.with-opiniones .short .netreviews-wrapper {
  border-top: none;
}
.netreviews-widget-a15 {
  margin: 0 auto;
  position: relative;
}
.netreviews-widget-a15 .left {
  display: inline-block;
  vertical-align: top;
  width: 120px;
}
.netreviews-widget-a15 .right {
  display: inline-block;
  vertical-align: top;
  max-width: 160px;
  margin: 0.875rem 0 0 1.125rem;
  width: 9.0625rem;
}
.netreviews-widget-a15 .netreviews_rating_header,
.netreviews-widget-a15 .netreviews_filtering_section,
.netreviews-widget-a15 #netreviews_reviews_section,
.netreviews-widget-a15 .netreviews_global_rating_details,
.netreviews-widget-a15 .netreviews_subtitle {
  display: none;
}
.netreviews-widget-a15 #netreviews_reviews_tab {
  background-color: transparent;
}
.netreviews-widget-a15 #netreviews_rating_section {
  background-color: transparent;
  border: none;
  padding: 0;
}
.netreviews-widget-a15 .netreviews_global_rating {
  width: 100%;
  border: none;
  top: 0;
}
.netreviews-widget-a15 .netreviews_note_generale {
  margin: 4px auto 5px;
  padding: 0 0 5px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}
.netreviews-widget-a15 .netreviews_note_generale,
.netreviews-widget-a15 .netreviews_note_generale span {
  font-size: 2rem !important;
  line-height: 1.1;
}
.netreviews-widget-a15 .netreviews_rating_content {
  height: 80px !important;
  min-height: 80px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  margin: 0;
}
.netreviews-widget-a15 .netreviews-logo {
  display: block;
  position: relative;
  min-height: 36px;
  background: url(../img/opiniones-verificadas/opiniones-verificadas-logo-paragraph.webp) no-repeat scroll center center transparent;
  background-size: contain;
  margin-top: 0;
}
.netreviews-widget-a15 .netreviews-logo:before {
  display: none;
}
.netreviews-widget-a15 .netreviews-cta {
  color: #1D2633;
  display: block;
  text-align: left;
  font-size: 1rem;
  line-height: 1.5rem;
  margin-top: 0.5rem;
}

@media screen and (min-width: 48em) {
  .a01.with-opiniones .wrapper {
    height: 30rem;
  }
  .a01__features.with-opiniones {
    margin-top: 1rem;
  }
  .a01__features.with-opiniones .menu__item {
    margin-top: 0;
  }
  .a15--tripadvisor.with-opiniones .wrapper:before {
    display: block;
  }
  .a15--tripadvisor.with-opiniones .a15__tripadvisor {
    width: 27rem;
    padding: 3.5rem 0 0 1rem;
    margin: 0;
    background-color: rgba(255, 255, 255, 0.7);
  }
  .a15--tripadvisor.with-opiniones .a15__tripadvisor-badge {
    width: 7.1875rem;
  }
  .a15--tripadvisor.with-opiniones .a15__tripadvisor.short {
    width: 11rem;
  }
  .a15--tripadvisor.with-opiniones .a15__tripadvisor-container {
    flex-wrap: nowrap;
  }
  .a15--tripadvisor.with-opiniones .a15__tripadvisor-container > div {
    width: 50%;
    padding: 0 0.25rem;
  }
  .a15--tripadvisor.with-opiniones .short .a15__tripadvisor-container > div {
    width: 100%;
  }
  .a15--tripadvisor.with-opiniones .netreviews-wrapper {
    border: none;
  }
  .netreviews-widget-a15 {
    width: 120px;
    margin: 8px auto 0;
  }
  .netreviews-widget-a15 .right {
    margin: 0;
  }
  .netreviews-widget-a15 .netreviews-logo:before {
    display: block;
  }
}

@media screen and (min-width: 60em) {
  .a15--tripadvisor.with-opiniones .a15__tripadvisor {
    padding: 3.5rem 0 0 3rem;
    margin: 0 0 0 3rem;
  }
}

@media screen and (min-width: 80em) {
  .a01__features.with-opiniones {
    margin-top: 7.5rem;
  }
  .a01__features.with-opiniones .menu__item {
    margin-top: 0.625rem;
  }
  .a01.with-opiniones .wrapper {
    /*height: 45rem;*/
  }
  .netreviews-wrapper.bottom {
    display: none;
  }
}

/**
 * RM-65001: Allow adding tag to menu links in main menu (CBT).
 */
html .skin-cbt .a01__main-menu .menu-block__item:nth-child(1) .menu-block__label,
html .skin-cbt .a01__main-menu .menu-block__item:nth-child(3) .menu-block__label {
  border-bottom: none;
}
html .skin-cbt .a01__main-menu .menu-block__item:nth-child(1),
html .skin-cbt .a01__main-menu .menu-block__item:nth-child(3) {
  border-bottom: 1px solid #dde1e9;
}
html .skin-cbt .a01__main-menu .menu-block__item:nth-child(1) .menu-block__link,
html .skin-cbt .a01__main-menu .menu-block__item:nth-child(2) .menu-block__link,
html .skin-cbt .a01__main-menu .menu-block__item:nth-child(3) .menu-block__link,
html .skin-cbt .a01__main-menu .menu-block__item:nth-child(4) .menu-block__link {
  padding: 0;
}
html .skin-cbt .a01__main-menu .menu-block__link {
  display: inline-block;
}
html .skin-cbt .a01__main-menu .menu-block__link.with-tag {
  position: relative;
}
html .skin-cbt .a01__main-menu .menu-block__link.with-tag .menu-item-tag {
  position: absolute;
  top: 1.2rem;
  left: 105%;
  background-color: #f9881e;
  color: #ffffff;
  line-height: 1.2rem;
  padding: 0 0.5rem;
  position: absolute;
  text-transform: uppercase;
  font-family: "Montserrat", arial, sans-serif;
  font-size: 0.675rem;
  font-weight: 700;
}

/**
 * RM-65003: Tarifas i Preus block for TFM.
 */
.skin-tm .card--prices:before { background-image: linear-gradient(to right, #b6bf00, #78bb75); }
.skin-tm .card--prices .card__content-info { font-size: 1.125rem; }
.skin-tm .card--prices .card__content-info,
.skin-tm .card--prices .card__prices-item .price { color: #358734; }

/**
 * RM-64675: Styles for promo banner in TFM.
 */
.skin-tm .promo:before {
  background-image: url(../img/layout/tm-promo-color.webp);
}
.skin-tm .promo .button-wrapper .button {
  color: #1D2633;
}
.skin-tm .promo .button-wrapper .button:hover {
  color: #FFFFFF;
}
.skin-tm .promo .button-wrapper .link {
  color: #F2F5F7;
}
.skin-tm .promo .button-wrapper .link:before {
  background-image: url(../img/layout/icon-link-gray.svg);
}

/**
 * RM-69471: Add option to hide overlay in promo paragraph.
 */
.promo.hide-overlay:before {
  display: none;
}

/**
 * RM-68586: Unify styles for links in routes.
 */
html .b2__action-print,
html .b2__action-download .dropdown__label-text {
  color: #3db7e4;
  font-size: 1rem;
  padding-left: 1.5rem;
}
.text__link::before,
.b2__action-download .dropdown__label-text::before {
  background-image: url("../img/layout/tm/ico-link.svg");
}
.b2__action .content__link.ext::after {
  display: none;
}
.b2__action-download .dropdown__label-text::after {
  background-image: url("../img/layout/tm/ico-dropdown.svg");
}

/**
 * RM-68348: Implement some style changes in card block.
 */
html .card--prices .text__link:before {
  background-position: left top;
}
html .skin-tm .block.prices .prices__content {
  margin: 0;
}
@media screen and (min-width: 48em) {
  html .skin-tm  .block.prices .prices__content {
    justify-content: center;
  }
}
html .block.prices .card--prices {
  margin: 0;
}
html .card--prices .button {
  margin-bottom: 0;
}
html .card--prices .text__link {
  margin-top: 1.375rem;
}

/**
 * RM-69470: Timed promo should be hidden by default.
 */

.tmb-promo-timed {
  display: none;
}

/**
 * RM-71863: Styles for print button.
 */
.tmb-print-button-wrapper {
  display: block;
  text-align: center;
}
.tmb-print-button {
  margin: 1.5625rem auto 0;
}

/**
 * RM-76119: Discounts block.
 */
.tmb-discount-block .discount-categories-filter {
  display: none;
}
.tmb-discount-block.tmb-discounts-block-processed .discount-categories-filter {
  display: none;
  margin: 2.5rem 0 1.5rem;
  padding: 0;
  list-style: none;
  text-align: center;
}
.tmb-discount-block .discount-categories-filter li {
  display: inline-block;
  margin: 0 0 1rem;
  padding: 0;
}
.tmb-discount-block .discount-categories-filter span {
  display: block;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.71;
  color: #54657e;
  margin: 0 0.5rem;
  padding: 0.25rem 1.375rem;
  border-radius: 6.25rem;
  border: 1px solid #8493a8;
  cursor: pointer;
}
.tmb-discount-block .discount-categories-filter span.see-more-filters {
  background: url(../img/plus.svg) no-repeat scroll center center transparent;
  padding: 0.25rem 1rem;
}
.tmb-discount-block .discount-categories-filter span.enabled {
  color: #ffffff;
  border: 1px solid #1d2633;
  background-color: #1d2633;
}
.tmb-discount-block .discount-categories-filter .hidden {
  display: none;
}
.tmb-discount-block.tmb-discounts-block-processed .mobile-discount-categories-filter {
  display: block;
  width: 100%;
  margin: 2rem auto;
  padding: 0.875rem 1.375rem;
  border: 1px solid #1d2633;
  border-radius: 6.25rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: #ffffff;
  background-color: #1d2633;
  background-image: url("data:image/svg+xml;utf8,<svg fill='white' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position-x: 95%;
  background-position-y: 0.5rem;
}
.tmb-discount-listing > .item-list {
  display: block;
  width: 100%;
}
.tmb-discount-listing > .item-list > ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.tmb-discount-listing > .item-list > ul > li {
  width: 100%;
  margin: 0;
  padding: 0;
}
.tmb-discount-listing .view-more-button,
.tmb-discount-listing .empty-message {
  margin-top: 3rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  color: #54657e;
}
.tmb-discount-listing .view-more-button a {
  display: inline-block;
  width: 18.75rem;
  margin: 0 auto;
  padding: 1rem 0;
  text-transform: uppercase;
  text-decoration: none;
  color: #1bacc0;
  border: 1px solid #dde1e9;
}
.tmb-discount-listing .hidden {
  display: none;
}
.node--type-discount.discount-card {
  background-color: #ffffff;
  border: 1px solid #dde1e9;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.node--type-discount.discount-card .image-discount {
  min-height: 10.5rem;
  position: relative;
}
.node--type-discount.discount-card .image-discount img{
  width: 100%;
  height: 168px;
  object-fit: cover;
}
.node--type-discount.discount-card .image-discount .discount {
  position: absolute;
  top: 0.6875rem;
  right: 0.8rem;
  margin: 0;
  border-radius: 1.25rem;
  background-color: rgba(255, 255, 255, 0.9);
}
.node--type-discount.discount-card .image-discount .discount .label,
.node--type-discount.discount-card .image-discount .discount .value {
  display: inline-block;
  vertical-align: top;
  font-size: 0.6875rem;
  font-weight: bold;
  line-height: 2.4;
  text-transform: uppercase;
  padding: 0.5rem 0.6875rem;
}
.node--type-discount.discount-card .image-discount .discount .label {
  color: #d71d1d;
}
.node--type-discount.discount-card .image-discount .discount .value {
  color: #ffffff;
  border-radius: 1.25rem;
  background-image: linear-gradient(to right, #d71d41, #ad1457);
  min-width: 1.5rem;
  text-align: center;
}
.node--type-discount.discount-card .image-discount .discount .value.gift {
  height: 1.7rem;
  position: relative;
}
.node--type-discount.discount-card .image-discount .discount .value.gift:before {
  display: block;
  content: ' ';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/gift.webp) no-repeat scroll center center transparent;
}
.node--type-discount.discount-card .node__content {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 1rem 1rem 3.5rem;
  position: relative;
  height: calc(100% - 10.5rem);
}
.node--type-discount.discount-card .node__content .label {
  margin: 0 0 0.25rem;
  padding: 0;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.33;
  color: #1d2633;
}
.node--type-discount.discount-card .node__content .text {
  font-size: 0.875rem;
  line-height: 1.71;
  color: #54657e;
}
.node--type-discount.discount-card .node__content .link {
  text-align: right;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  width: calc(100% - 2rem);
}
.node--type-discount.discount-card .node__content .link a {
  color: #1bacc0;
  text-decoration: none;
}
.node--type-discount.discount-card .node__content .link a:after {
  display: inline-block;
  content: '';
  background: url(../img/layout/tm/ico-link.svg) no-repeat scroll 0 0 transparent;
  width: 1rem;
  height: 1rem;
  margin: -0.5rem 0 0;
  vertical-align: middle;
  background-size: 1.2rem auto;
}

@media screen and (min-width: 48em) {
  .tmb-discount-block.tmb-discounts-block-processed .discount-categories-filter {
    display: block;
  }
  .tmb-discount-block.tmb-discounts-block-processed .mobile-discount-categories-filter {
    display: none;
  }
  .tmb-discount-listing > .item-list > ul {
    flex-direction: row;
  }
  .tmb-discount-listing > .item-list > ul > li {
    width: calc(33% - 0.75rem);
  }
}
@media screen and (min-width: 60em) {
  .tmb-discount-listing > .item-list > ul > li {
    width: calc(25% - 0.75rem);
  }
}

/**
 * RM-77447: Add link to footer sites block.
 */
.footer__site-full-title a {
  text-decoration: none;
  color: #ffffff;
}
.footer__site-full-title a:hover {
  text-decoration: underline;
}

/**
 * RM-68585: Add bg map image to TM route.
 */
.b3--tm.b3---route {
  background-image: url(../img/layout/bg-map-tm-route.webp);
}
@media(max-width: 767px){
  .node--type-discount.discount-card .image-discount img{
    object-fit: inherit;
    height: auto;
    width: 100%;
  }
}

.slick-next {
  font-size: 0;
}

.slick-prev {
  font-size: 0;
}

/**
 * RM-116949: Fix text-align left on block .a05
 */
.page-node-type-ruta .block.a05:not(.a05--app) .a05__title,
.page-node-type-ruta .block.a05:not(.a05--app) .a05__subtitle {
  text-align: center !important;
}
