/**
 * 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(https://www.barcelonabusturistic.cat/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(https://www.barcelonabusturistic.cat/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(https://www.barcelonabusturistic.cat/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;
}

/**
 * Fix position of false modals when admin toolbar is present.
 */
body.adminimal-admin-toolbar.tpl__modal .page__main .lightbox {
  margin-top: 79px;
}
body.adminimal-admin-toolbar.tpl__modal .map__sidebar-more-link {
  bottom: 79px;
}
body.adminimal-admin-toolbar.tpl__modal .map__content-main {
  padding-bottom: 139px;
}
body.adminimal-admin-toolbar .lightbox {
  top: 79px;
}

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;
}

/**
 * Video modal in home.
 */
.lightbox--video .wrapper {
  display: block;
}

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;
}

.notification {
  display: none;
}

.notification__text p {
  margin: 0;
}

.notification__text a {
  color: #1d2533;
}

.notification__text::before {
  background-size: contain;
}

.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 */
.block--with-action.tmb-image-gallery .lightbox .wrapper { position: static; }
.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;
}

/* 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-56874 */
.notification__text {
  display: block;
  margin: 0;
}
div.notification {
  padding: 0.25rem 0;
}
.notification.tmb-notif-red,
.notification.tmb-error {
  background: -webkit-gradient(linear, left top, right top, from(#d71c1c), to(#ad1457));
  background: linear-gradient(to right, #d71c1c, #ad1457);
}
.notification.tmb-notif-red .notification__text,
.notification.tmb-error .notification__text {
  color: #ffffff;
}
.notification.tmb-notif-red .notification__text:before,
.notification.tmb-error .notification__text:before {
  background-image: url(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/layout/ico-info-white.png);
}
.notification.tmb-notif-red .notification__close,
.notification.tmb-error .notification__close {
  background-image: url(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/layout/ico-warning-close-white.png);
}
.notification.tmb-notif-white {
  background-color: #ffffff;
}
.notification.tmb-notif-white .notification__text:before {
  display: none;
}

/* 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-62259: Fixing practical info styles.
 */
@media screen and (min-width: 48em) {
  body .block.practical-info .a10__content > div:not(:first-child) {
    padding-top: inherit;
  }
}

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

/**
 * RM-64005: Removed line between blocks in practica-info block.
 */
.block.practical-info .a10__content > div:not(:first-child) {
  border: none;
}

/**
 * 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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/opiniones-verificadas/netreviews-logo-es.png) no-repeat scroll center center transparent;
  background-size: contain;
  margin-top: 12px;
}
.lang-en .netreviews-widget-header .netreviews-logo {
  background-image: url(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/opiniones-verificadas/netreviews-logo-en.png);
}
.lang-de .netreviews-widget-header .netreviews-logo {
  background-image: url(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/opiniones-verificadas/netreviews-logo-de.png);
}
.lang-fr .netreviews-widget-header .netreviews-logo {
  background-image: url(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/opiniones-verificadas/netreviews-logo-fr.png);
}
.lang-it .netreviews-widget-header .netreviews-logo {
  background-image: url(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/opiniones-verificadas/netreviews-logo-it.png);
}
.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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/opiniones-verificadas/opiniones-verificadas-logo-round.png);
  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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/opiniones-verificadas/opiniones-verificadas-logo-paragraph.png) 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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/layout/tm-promo-color.png);
}
.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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/layout/tm/ico-link.svg);
}
.b2__action .content__link.ext::after {
  display: none;
}
.b2__action-download .dropdown__label-text::after {
  background-image: url(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/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-70515: Fix columns in block practical info.
 */
html .block.practical-info .a10__content {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-gap: 2rem;
}
html .block.practical-info .a10__title:before {
  left: 0;
  transform: none;
}
@media screen and (min-width: 48em) {
  html .block.practical-info .a10__content {
    grid-template-columns: 35% auto;
  }
  html .block.practical-info .a10__title:before {
    left: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 48em) {
  html .block.practical-info .a10__content .a10__content-block {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/**
 * 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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/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;
  background: url(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/default-discount-image.png) no-repeat scroll center center transparent;
  background-size: cover;
  position: relative;
}
.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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/gift.png) 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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/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(https://www.barcelonabusturistic.cat/themes/custom/tmb/assets/img/layout/bg-map-tm-route.png);
}
