html {
  --outline-color-default-global: #007799;
  --outline-color-default: #007799;
  --outline-color-error: #d32933;
}

*:focus,
*:focus-visible {
  outline-offset: 2px;
}

.mouseevents *:focus {
  outline: 0;
}

.keyevents *:focus {
  outline: var(--outline-color-default, var(--outline-color-default-global)) solid 2px;
}

:root {
  --default-font-fallbacks: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
}

.site-branding {
  display: flex;
}
.site-branding .logo-wrapper {
  display: flex;
}
.site-branding .logo {
  width: auto;
}
.site-branding .logo-link {
  outline-offset: -2px;
}
@media (max-width: 1071px) {
  .site-branding .logo--desktop {
    display: none;
  }
}
@media (min-width: 1072px) {
  .site-branding .logo--mobile {
    display: none;
  }
}
.site-branding .product-title {
  display: inline-flex;
  margin-left: 5px;
  align-self: center;
  font-feature-settings: "ss04", "ss05";
  font-family: "TT Hoves Variable", var(--localized-font-fallback), var(--default-font-fallbacks);
  letter-spacing: normal;
  font-weight: 600;
}
@media (max-width: 767px) {
  .site-branding .product-title {
    font-size: 20px;
  }
}
@media (min-width: 768px) {
  .site-branding .product-title {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .site-branding .product-title {
    line-height: 24px;
  }
}
@media (min-width: 768px) {
  .site-branding .product-title {
    line-height: 32px;
  }
}
.site-branding a {
  text-decoration: none;
}

.footer .navbar-group-before a,
.footer .navbar-group-after a, .footer ul.menu .menu-item a, .footer .menu--social-networks .menu-item a {
  display: inline;
  text-decoration: none;
}
.footer .navbar-group-before a svg,
.footer .navbar-group-after a svg, .footer ul.menu .menu-item a svg, .footer .menu--social-networks .menu-item a svg {
  vertical-align: middle;
  fill: currentColor;
}

.footer ul.menu {
  padding: 0;
}
.footer .menu-item {
  display: block;
  padding: 0;
  color: inherit;
  font-weight: normal;
}
.footer ul.menu .menu-item a {
  color: inherit;
  font-weight: inherit;
}
.footer .menu--legal, .footer .menu--business-info-legal {
  display: flex;
  justify-content: center;
  width: auto;
  flex-wrap: wrap;
}
.footer .menu--legal .menu-item, .footer .menu--business-info-legal .menu-item {
  margin-right: 24px;
}
.footer .menu--social-networks {
  display: inline-flex;
  align-items: center;
  padding: 2px;
  margin: 0;
  line-height: 1;
  color: inherit;
  border-radius: 2px;
}
.footer .menu--social-networks .menu-item {
  margin-inline-end: 16px;
}
.footer .menu--social-networks .menu-item a:focus, .footer .menu--social-networks .menu-item a:hover {
  outline: 0 !important;
  background: rgba(255, 255, 255, 0.4);
}
.footer .menu--social-networks .menu-item a .icon {
  display: block;
  width: 18px;
  height: 18px;
}
.footer .menu--social-networks .menu-item .link-social {
  display: inline-block;
  line-height: initial;
}
.footer .menu--booking-holdings-logos {
  margin-top: 24px;
  text-align: center;
}
.footer .menu--booking-holdings-logos .item {
  display: inline-block;
  margin: 0 16px;
}
@media (min-width: 768px) and (max-width: 1071px) {
  .footer .menu--booking-holdings-logos .item {
    margin: 0 12px;
  }
}
.footer .menu--booking-holdings-logos .logo {
  height: 28px;
  width: 122px;
}
.footer .menu--booking-holdings-logos .logo.booking {
  height: 28px;
  width: 92px;
}
.footer .menu--booking-holdings-logos .logo.kayak {
  width: 89px;
}
.footer .menu--booking-holdings-logos .logo.opentable {
  width: 98px;
  height: 24px;
}
.footer .menu--booking-holdings-logos .logo.priceline {
  width: 92px;
}
.footer .menu--booking-holdings-logos .logo.agoda {
  width: 48px;
}
.footer .menu--booking-holdings-logos .logo.rentalcars {
  width: 122px;
}

.footer .navbar-group-title {
  margin-bottom: 16px;
  font-weight: 600;
}
.footer .navbar-group-before {
  margin-bottom: 16px;
}
.footer .navbar-group-before a,
.footer .navbar-group-after a {
  color: inherit;
  font-weight: inherit;
}
.footer .large {
  font-weight: 600;
}
@media (max-width: 767px) {
  .footer .large {
    font-size: 20px;
  }
}
@media (min-width: 768px) {
  .footer .large {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .footer .navbar-group:not(.navbar-group--social-networks):not(.navbar-group--legal) {
    display: none;
  }
}
@media (max-width: 767px) {
  .footer .navbar-group--booking-holdings-logos {
    display: none;
  }
}

.footer {
  --outline-color-default: #43c6e9;
}

.footer {
  z-index: 0;
  padding: 55px 0 60px;
  color: #ffffff;
  background: #1f282d;
}
.footer * {
  font-size: 12px;
  line-height: 1.7;
}
.footer a:not(.button) {
  color: #ffffff !important;
}
.footer .footer-row-first {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
}
@media (max-width: 1071px) {
  .footer .footer-row-first {
    justify-content: flex-start;
  }
}
@media (min-width: 1072px) {
  .footer .footer-row-first {
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .footer .footer-row-first > .column {
    flex-grow: 1;
  }
}
.footer .footer-row-first .site-branding + .navbar-group--social-networks {
  margin-top: 32px;
}
.footer .footer-row-first .column:last-child {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.footer .footer-row-second {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.footer .footer-row-second * {
  color: rgba(255, 255, 255, 0.8);
}
.footer .booking-holdings-group {
  flex-grow: 10;
  margin-top: 12px;
  width: 100%;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
}
.footer .footer-row-first {
  justify-content: space-evenly;
}
.footer .footer-row-second {
  margin-top: 60px;
}
.footer .footer-row-third {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}
.footer .footer-row-forth {
  margin-top: 24px;
  display: block;
}