:root {
  --accent-color: #21759B;
  --accent-color-active: #196487;
  --body-font-family: proxima-nova, sans-serif;
  --body-text-color: #000000;
  --heading-font-family: gastromond, sans-serif;
}
a {
  text-decoration: none;
  color: var(--accent-color);
}
a:hover {
  text-decoration: underline;
  color: var(--accent-color-active);
}
body {
  line-height: 21px;
  color: var(--body-text-color);
  font-size: 16px;
}
body::after {
  display: block;
  height: 1px;
  content: "\00a0";
  overflow: hidden;
}
body,
button,
input,
select,
textarea {
  font-family: var(--body-font-family);
}
body,
html {
  height: 100%;
  padding: 0;
  margin: 0;
}
div.main {
  position: relative;
  margin-bottom: 12px;
}
h1 {
  line-height: 36px;
  font-size: 27px;
  font-family: var(--heading-font-family);
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 24px;
}
h2 {
  line-height: 24px;
  font-size: 18px;
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 21px;
}
h3 {
  line-height: 21px;
  font-size: 16px;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 18px;
}
p {
  margin-top: 0;
  margin-bottom: 18px;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
ul li {
  padding: 0;
  margin: 0;
}
ul li.template {
  display: none !important;
}
@keyframes blink {
  0% {
    opacity: 0.4;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.4;
  }
}
@media all and (max-width: 1199px) {
  div.wrapper {
    padding: 0 12px;
  }
}
@media all and (min-width: 1200px) {
  div.wrapper {
    max-width: 1156px;
    margin: 0 auto;
  }
}
#account_wrapper div.account_hotel_search_form div.form div.instructions p {
  line-height: 27px;
  font-size: 18px;
}
#account_wrapper div.account_hotel_search_form div.form div.skeleton div.instructions p:nth-child(1) {
  margin-bottom: 0;
}
#account_wrapper div.account_hotel_search_form div.form div.skeleton div.instructions p:nth-child(n+2) {
  display: none;
}
#account_wrapper div.account_hotel_search_form div.form div.skeleton span.input,
#account_wrapper div.account_hotel_search_form div.form input[type="text"] {
  height: 48px;
  font-size: 16px;
}
#account_wrapper div.account_hotel_search_form div.form > form > p {
  margin-bottom: 18px;
}
#account_wrapper div.account_hotel_search_form div.list ul li {
  position: relative;
  background-color: #FFFFFF;
  border: #CCCCCC 1px solid;
  border-radius: 4px;
  padding: 12px;
}
#account_wrapper div.account_hotel_search_form div.list ul li a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
}
#account_wrapper div.account_hotel_search_form div.list ul li h3 {
  margin-bottom: 4px;
}
#account_wrapper div.account_hotel_search_form div.list ul li:hover {
  background-color: #F3F3F3;
}
#account_wrapper div.account_hotel_search_form div.list ul li:not(.template) + li {
  margin-top: 4px;
}
#account_wrapper div.account_hotel_search_form div.list ul.skeleton li h3::after {
  width: 85%;
}
#account_wrapper div.account_hotel_search_form div.list ul.skeleton li span.address {
  display: block;
}
#account_wrapper div.account_hotel_search_form div.list ul.skeleton li span.address::after {
  width: 60%;
}
#account_wrapper div.account_hotel_search_form div.list ul.skeleton li span.city {
  display: none;
}
#account_wrapper div.account_hotel_search_form div.list ul.skeleton li:nth-child(3n+2) span.address::after {
  width: 70%;
}
#account_wrapper div.account_hotel_search_form div.list ul.skeleton li:nth-child(3n+3) span.address::after {
  width: 90%;
}
#account_wrapper div.account_keycard_privacy_form div.form div.skeleton div.disclaimers {
  opacity: 1;
  animation: none;
}
#account_wrapper div.account_keycard_privacy_form div.form div.skeleton div.disclaimers p {
  opacity: 0.4;
  animation: blink 1.2s linear infinite;
  animation-delay: 0.4s;
}
#account_wrapper div.account_keycard_privacy_form div.form div.skeleton div.disclaimers p:nth-child(3n+2) {
  animation-delay: 0.8s;
}
#account_wrapper div.account_keycard_privacy_form div.form div.skeleton div.disclaimers p:nth-child(3n+3) {
  animation-delay: 0s;
}
#account_wrapper div.account_sign_in_form div.form div.anchors {
  margin-top: 18px;
}
#account_wrapper div.account_sign_in_form div.form div.skeleton div.anchors {
  opacity: 1;
  animation: none;
}
#account_wrapper div.account_sign_in_form div.form div.skeleton div.anchors p {
  opacity: 0.4;
  animation: blink 1.2s linear infinite;
  animation-delay: 0.4s;
}
#account_wrapper div.account_sign_in_form div.form div.skeleton div.anchors p:nth-child(3n+2) {
  animation-delay: 0.8s;
}
#account_wrapper div.account_sign_in_form div.form div.skeleton div.anchors p:nth-child(3n+3) {
  animation-delay: 0s;
}
#account_wrapper div.account_sign_in_form div.form div.skeleton div.anchors p:nth-child(n+3),
#account_wrapper div.account_sign_in_form div.form div.skeleton div.anchors p span:nth-child(n+2) {
  display: none;
}
#account_wrapper div.account_sign_in_form div.form div.skeleton div.anchors p span::after {
  width: 270px;
}
#account_wrapper div.account_tabs div.menu ul {
  font-size: 0;
  margin-bottom: 18px;
}
#account_wrapper div.account_tabs div.menu ul li {
  display: inline-block;
  vertical-align: middle;
}
#account_wrapper div.account_tabs div.menu ul li a {
  display: block;
  width: 96px;
  height: 32px;
  line-height: 28px;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  background-color: #FFFFFF;
  border: rgba(255, 255, 255, 0) 1px solid;
  border-bottom-color: #CCCCCC;
  box-sizing: border-box;
}
#account_wrapper div.account_tabs div.menu ul li.active a {
  color: var(--body-text-color);
  font-weight: 700;
  border: #CCCCCC 1px solid;
  border-bottom-color: rgba(255, 255, 255, 0);
}
#account_wrapper div.account_tabs div.menu ul li:not(.active) a:hover {
  background-color: #F3F3F3;
}
#account_wrapper div.account_tabs div.tabs div.tab:not(.active) {
  display: none;
}
#account_wrapper div.account_user_hotel_list div.list {
  position: relative;
}
#account_wrapper div.account_user_hotel_list div.list div.toggle {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 20;
}
#account_wrapper div.account_user_hotel_list div.list div.toggle a {
  position: relative;
  display: block;
  width: 54px;
  height: 54px;
  text-indent: -9999px;
  background-color: var(--accent-color);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}
#account_wrapper div.account_user_hotel_list div.list div.toggle a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 27px;
  height: 27px;
  content: "\00a0";
  background-color: #FFFFFF;
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%);
}
#account_wrapper div.account_user_hotel_list div.list div.toggle a:hover {
  background-color: var(--accent-color-active);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
#account_wrapper div.account_user_hotel_list div.list div.toggle::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--accent-color);
  border-radius: 50%;
}
#account_wrapper div.account_user_hotel_list div.list > ul.hotels {
  display: grid;
  gap: 4px;
}
#account_wrapper div.account_user_hotel_list div.list > ul.hotels > li div.overview {
  background-color: #FFFFFF;
  border: #CCCCCC 1px solid;
  border-radius: 4px;
  padding: 12px;
  margin: -12px;
}
#account_wrapper div.account_user_hotel_list div.list > ul.hotels > li div.overview:hover {
  background-color: #F3F3F3;
}
#account_wrapper div.account_user_hotel_list div.list + * {
  display: none;
  line-height: 27px;
  font-size: 18px;
  margin: 0 auto;
}
#account_wrapper div.account_user_hotel_list div.list + * span.add {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  text-indent: -9999px;
  vertical-align: middle;
  background-color: var(--accent-color);
  border-radius: 50%;
  transform: translateY(-1px);
  overflow: hidden;
}
#account_wrapper div.account_user_hotel_list div.list + * span.add::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  content: "\00a0";
  background-color: #FFFFFF;
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%);
}
#account_wrapper div.account_user_hotel_list div.list + * span.add::after,
#account_wrapper div.account_user_hotel_list div.list div.toggle a::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 144L48 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l144 0 0 144c0 17.7 14.3 32 32 32s32-14.3 32-32l0-144 144 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-144 0 0-144z'/%3E%3C/svg%3E");
}
#account_wrapper div.account_user_hotel_list div.list.empty:not(.loading) + * {
  display: block;
}
#account_wrapper div.account_user_hotel_list div.list.empty:not(.loading) div.toggle::before {
  content: "\00a0";
  animation: pulse 1s linear 2;
  animation-delay: 1s;
}
#account_wrapper div.main {
  position: relative;
}
#account_wrapper div.main > div:not(.active) {
  display: none;
}
@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 0.5;
  }
  100% {
    transform: scale(10);
    opacity: 0;
  }
}
@media all and (max-width: 767px) {
  #account_wrapper div.account_user_hotel_list div.list + * {
    padding: 18px 0;
  }
  #account_wrapper div.account_user_hotel_list div.list > ul.hotels {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media all and (min-width: 768px) and (orientation: landscape) {
  #account_wrapper div.account_hotel_search_form div.list {
    max-height: 360px;
    box-sizing: border-box;
    overflow-y: scroll;
  }
  #account_wrapper div.account_hotel_search_form div.list:has(div.empty) {
    overflow-y: initial;
  }
}
@media all and (min-width: 768px) and (max-width: 1023px) {
  #account_wrapper div.account_user_hotel_list div.list + * {
    max-width: 640px;
    padding: 36px 0;
  }
  #account_wrapper div.account_user_hotel_list div.list > ul.hotels {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (min-width: 1024px) {
  #account_wrapper div.account_user_hotel_list div.list + * {
    max-width: 800px;
    padding: 54px 0;
  }
  #account_wrapper div.account_user_hotel_list div.list > ul.hotels {
    grid-template-columns: repeat(3, 1fr);
  }
}
button,
div.buttons a,
div.skeleton div.buttons span.anchor,
div.skeleton span.button {
  height: 40px;
  line-height: 40px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  appearance: none;
  background-color: #F3F3F3;
  border: none;
  border-radius: 4px;
  box-sizing: border-box;
}
button {
  cursor: pointer;
}
button:hover,
div.buttons a:hover {
  background-color: #dadada;
}
button[type="submit"],
button.primary,
div.buttons a.primary {
  color: #FFFFFF;
  background-color: var(--accent-color);
}
button[type="submit"]:hover,
button.primary:hover,
div.buttons a.primary:hover {
  background-color: var(--accent-color-active);
}
div.skeleton div.buttons span.anchor,
div.skeleton span.button {
  background-color: rgba(0, 0, 0, 0.25);
}
@media all and (max-width: 479px) {
  button,
  div.buttons a,
  div.skeleton div.buttons span.anchor,
  div.skeleton span.button {
    display: block;
    width: 100%;
  }
}
@media all and (min-width: 480px) {
  button,
  div.buttons a,
  div.skeleton div.buttons span.anchor,
  div.skeleton span.button {
    display: inline-block;
    vertical-align: middle;
    padding: 0 16px;
  }
  div.buttons {
    text-align: center;
  }
  div.skeleton div.buttons span.anchor,
  div.skeleton span.button {
    width: 150px;
  }
}
body:has(#city_wrapper)::after {
  display: none;
}
#city_wrapper {
  display: flex;
  height: 100%;
  flex-direction: column;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton div.disclaimers p:nth-child(n+2) {
  display: none;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton label.checkbox span::after {
  width: 70%;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton ul {
  opacity: 1;
  animation: none;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton ul li {
  opacity: 0.4;
  animation: blink 1.2s linear infinite;
  animation-delay: 0.4s;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton ul li:nth-child(3n+2) {
  animation-delay: 0.8s;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton ul li:nth-child(3n+3) {
  animation-delay: 0s;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton ul li:nth-child(1) span::after {
  width: 135px;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton ul li:nth-child(3) span::after {
  width: 100px;
}
#city_wrapper div.city_hotel_keycard_form div.form div.skeleton ul li:nth-child(4) span::after {
  width: 75px;
}
#city_wrapper div.city_hotel_keycard_form ul li:not(.template) + li {
  margin-top: 4px;
}
#city_wrapper div.city_hotel_map {
  position: relative;
  box-sizing: border-box;
  z-index: 10;
}
#city_wrapper div.city_hotel_map #city_leaflet {
  border: #333333 1px solid;
}
#city_wrapper div.city_hotel_map div.cluster {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 48px;
  height: 48px;
  background-image: url('../images/marker-cluster.png');
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateX(-50%);
}
#city_wrapper div.city_hotel_map div.cluster span {
  display: block;
  position: absolute;
  bottom: -24px;
  left: 50%;
  width: 40px;
  height: 20px;
  line-height: 18px;
  text-align: center;
  font-family: var(--body-font-family);
  font-size: 10px;
  font-weight: 700;
  background-color: #FFFFFF;
  border-radius: 10px;
  border: #333333 1px solid;
  box-sizing: border-box;
  transform: translateX(-50%);
}
#city_wrapper div.city_hotel_map div.leaflet-div-icon {
  background: transparent;
  border: none;
}
#city_wrapper div.city_hotel_search_form {
  position: relative;
  height: 100%;
  box-sizing: border-box;
  overflow-y: scroll;
}
#city_wrapper div.city_hotel_search_form div.form {
  position: relative;
  font-size: 0;
  margin-bottom: 12px;
}
#city_wrapper div.city_hotel_search_form div.form button,
#city_wrapper div.city_hotel_search_form div.form div.skeleton span.button {
  position: relative;
  width: 48px;
  font-size: 0;
}
#city_wrapper div.city_hotel_search_form div.form button,
#city_wrapper div.city_hotel_search_form div.form div.skeleton span.button,
#city_wrapper div.city_hotel_search_form div.form div.skeleton span.input,
#city_wrapper div.city_hotel_search_form div.form input[type="text"] {
  display: inline-block;
  height: 48px;
  vertical-align: middle;
  margin-right: 6px;
}
#city_wrapper div.city_hotel_search_form div.form button::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  content: "\00a0";
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%);
}
#city_wrapper div.city_hotel_search_form div.form button.toggle::after {
  width: 24px;
  height: 24px;
  background-color: #333333;
  margin-top: 1px;
}
#city_wrapper div.city_hotel_search_form div.form button.toggle::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z'/%3E%3C/svg%3E");
}
#city_wrapper div.city_hotel_search_form div.form button.toggle span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  line-height: 17px;
  text-align: center;
  color: #FFFFFF;
  font-size: 10px;
  background-color: var(--accent-color);
  border-radius: 50%;
  transform: translate(-20%, -40%);
  z-index: 10;
}
#city_wrapper div.city_hotel_search_form div.form button.toggle:not(.active) span {
  display: none;
}
#city_wrapper div.city_hotel_search_form div.form button[type="submit"]::after {
  width: 22px;
  height: 22px;
  background-color: #FFFFFF;
}
#city_wrapper div.city_hotel_search_form div.form button[type="submit"]::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E");
}
#city_wrapper div.city_hotel_search_form div.form div.checkboxes {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  font-size: 16px;
  background-color: #FFFFFF;
  border-bottom: #CCCCCC 1px solid;
  z-index: 20;
  padding: 0 6px 21px;
}
#city_wrapper div.city_hotel_search_form div.form div.checkboxes > div > div.group {
  margin-top: 18px;
}
#city_wrapper div.city_hotel_search_form div.form div.checkboxes > div > div.group > p {
  margin-bottom: 8px;
}
#city_wrapper div.city_hotel_search_form div.form div.checkboxes > div > div.group > ul {
  margin-bottom: 6px;
}
#city_wrapper div.city_hotel_search_form div.form div.checkboxes > div > div.group > ul li:not(.template) + li {
  margin-top: 4px;
}
#city_wrapper div.city_hotel_search_form div.form div.checkboxes:not(.active) {
  display: none;
}
#city_wrapper div.city_hotel_search_form div.form div.skeleton > * {
  animation-delay: 0s;
}
#city_wrapper div.city_hotel_search_form div.form input[type="text"] {
  font-size: 16px;
}
#city_wrapper div.city_hotel_search_form div.list {
  position: relative;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li {
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-style: solid;
  border-color: #333333;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding-left: 0;
  padding-right: 0;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details {
  border-bottom: #CCCCCC 1px solid;
  padding-bottom: 24px;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div.comments > p {
  text-align: center;
  margin-bottom: 12px;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div.comments ul li {
  margin-top: 18px;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div.comments ul li div.meta {
  position: relative;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div.comments ul li div.meta span {
  font-weight: 700;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div.comments ul li div.meta span.date::after {
  display: inline;
  content: " ago";
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div.comments ul li div.meta span.name::after {
  display: inline;
  content: ", ";
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div.comments ul li.private div.meta::after {
  display: block;
  color: #404040;
  content: "These comments will be kept private";
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div.keycard span.description {
  display: block;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li div.details div:not(.skeleton) {
  margin-top: 18px;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels > li:not(.current) div.details {
  display: none;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels.has_current:not(.skeleton) > li:not(.current) {
  opacity: 0.4;
}
#city_wrapper div.city_hotel_search_form div.list > ul.hotels:not(.skeleton) > li {
  opacity: 1;
  transition: opacity 0.1s;
  transition-timing-function: linear;
}
#city_wrapper div.city_top {
  width: 120px;
  transform: translateX(-50%);
  z-index: 20;
}
#city_wrapper div.city_top a {
  display: block;
  height: 36px;
  line-height: 34px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  color: #404040;
  font-size: 10px;
  font-weight: 700;
  background-color: #F3F3F3;
  border-radius: 18px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
#city_wrapper div.city_top a:hover {
  color: #101010;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
#city_wrapper div.city_top:not(.active) {
  display: none;
}
#city_wrapper div.main {
  flex-grow: 1;
  overflow: hidden;
  margin-bottom: 0;
}
#city_wrapper h1 {
  margin-bottom: 12px;
}
#city_wrapper + div.collapsed {
  position: fixed;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
#city_wrapper:has(div.overlay.active) div.city_hotel_map #city_leaflet {
  display: none;
}
@media all and (max-width: 479px) {
  #city_wrapper div.city_hotel_search_form div.form div.skeleton span.input,
  #city_wrapper div.city_hotel_search_form div.form input[type="text"] {
    width: 210px;
  }
}
@media all and (min-width: 480px) {
  #city_wrapper div.city_hotel_search_form div.form div.skeleton span.input,
  #city_wrapper div.city_hotel_search_form div.form input[type="text"] {
    width: 240px;
  }
}
@media all and (max-width: 767px) {
  #city_wrapper div.city_hotel_map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 180px;
  }
  #city_wrapper div.city_hotel_map #city_leaflet {
    height: 100%;
  }
  #city_wrapper div.city_top {
    position: absolute;
    bottom: 20px;
    left: 50%;
  }
  #city_wrapper div.main {
    padding-top: calc(180px + 21px);
  }
}
@media all and (min-width: 768px) {
  #city_wrapper div.city_hotel_map {
    position: absolute;
    top: 0;
    left: 40%;
    width: 60%;
    height: 100%;
  }
  #city_wrapper div.city_hotel_map #city_leaflet {
    max-height: 100%;
    aspect-ratio: 1;
  }
  #city_wrapper div.city_hotel_search_form {
    width: calc(40% - 12px);
  }
  #city_wrapper div.city_hotel_search_form div.form div.checkboxes > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
  #city_wrapper div.city_hotel_search_form div.form div.checkboxes > div > div.group {
    grid-column: 1;
  }
  #city_wrapper div.city_hotel_search_form div.form div.checkboxes > div > div.group:nth-child(3) {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  #city_wrapper div.city_top {
    position: absolute;
    bottom: 20px;
    left: 20%;
  }
}
div.list div.empty {
  position: relative;
}
div.list div.empty::before {
  display: block;
  width: 72px;
  height: 72px;
  content: "\00a0";
  background-color: #404040;
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  mask-repeat: no-repeat;
  margin: 27px auto 18px;
}
div.list div.empty::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8L384 48c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M48 0C21.5 0 0 21.5 0 48L0 464c0 26.5 21.5 48 48 48l96 0 0-80c0-26.5 21.5-48 48-48s48 21.5 48 48l0 80 96 0c15.1 0 28.5-6.9 37.3-17.8C340.4 462.2 320 417.5 320 368c0-54.7 24.9-103.5 64-135.8L384 48c0-26.5-21.5-48-48-48L48 0zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm112-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM80 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM272 96l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z'/%3E%3C/svg%3E");
}
div.list div.empty p {
  line-height: 27px;
  font-size: 18px;
  margin-bottom: 0;
}
div.form div.skeleton {
  pointer-events: none;
}
div.form div.skeleton > * {
  opacity: 0.4;
  animation: blink 1.2s linear infinite;
}
div.form div.skeleton > *:nth-child(3n+2) {
  animation-delay: 0.4s;
}
div.form div.skeleton > *:nth-child(3n+3) {
  animation-delay: 0.8s;
}
div.form div.skeleton div.anchors p span,
div.form div.skeleton div.disclaimers p span,
div.form div.skeleton div.instructions p span {
  position: relative;
  display: block;
}
div.form div.skeleton div.anchors p span::after,
div.form div.skeleton div.disclaimers p span::after,
div.form div.skeleton div.instructions p span::after {
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  bottom: 1px;
  content: "\00a0";
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  overflow: hidden;
}
div.form div.skeleton div.anchors p span::after {
  width: 100%;
}
div.form div.skeleton div.disclaimers p span:nth-child(1)::after,
div.form div.skeleton div.instructions p span:nth-child(1)::after {
  width: 94%;
}
div.form div.skeleton div.disclaimers p span:nth-child(2)::after,
div.form div.skeleton div.instructions p span:nth-child(2)::after {
  width: 100%;
}
div.form div.skeleton div.disclaimers p span:nth-child(3)::after,
div.form div.skeleton div.instructions p span:nth-child(3)::after {
  width: 88%;
}
div.form div.skeleton div.disclaimers p span:nth-child(4)::after,
div.form div.skeleton div.instructions p span:nth-child(4)::after {
  width: 40%;
}
div.form div.skeleton div.disclaimers p:nth-child(odd) span:nth-child(1)::after,
div.form div.skeleton div.instructions p:nth-child(odd) span:nth-child(1)::after {
  width: 96%;
}
div.form div.skeleton div.disclaimers p:nth-child(odd) span:nth-child(2)::after,
div.form div.skeleton div.instructions p:nth-child(odd) span:nth-child(2)::after {
  width: 90%;
}
div.form div.skeleton div.disclaimers p:nth-child(odd) span:nth-child(3)::after,
div.form div.skeleton div.instructions p:nth-child(odd) span:nth-child(3)::after {
  width: 100%;
}
div.form div.skeleton div.disclaimers p:nth-child(odd) span:nth-child(4)::after,
div.form div.skeleton div.instructions p:nth-child(odd) span:nth-child(4)::after {
  width: 30%;
}
div.form div.skeleton > *:last-child,
div.form div.skeleton > *:last-child > *:last-child,
form > *:last-child,
form > *:last-child > *:last-child {
  margin-bottom: 0;
}
div.form div.skeleton label.checkbox span::before,
div.form div.skeleton label.checkbox span::after,
div.form div.skeleton label.radio span::before,
div.form div.skeleton label.radio span::after,
label.checkbox input + span::before,
label.checkbox input + span::after,
label.radio input + span::before,
label.radio input + span::after {
  position: absolute;
  content: "\00a0";
  box-sizing: border-box;
  overflow: hidden;
}
div.form div.skeleton label.checkbox span::before,
div.form div.skeleton label.radio span::before,
label.checkbox input + span::before,
label.radio input + span::before {
  display: block;
  top: 0;
  left: 0;
  width: 21px;
  height: 21px;
  background-color: #F3F3F3;
  border: #CCCCCC 1px solid;
}
div.form div.skeleton label.checkbox span::before,
label.checkbox input + span::before,
label.checkbox input + span::after {
  border-radius: 2px;
}
div.form div.skeleton label.radio span::before,
label.radio input + span::before,
label.radio input + span::after {
  border-radius: 50%;
}
div.form div.skeleton label.checkbox span::before,
div.form div.skeleton label.radio span::before {
  background-color: rgba(0, 0, 0, 0.25);
  border-color: transparent;
}
div.form div.skeleton label.checkbox span::after,
div.form div.skeleton label.radio span::after {
  display: block;
  top: 1px;
  left: 25px;
  bottom: 1px;
  width: 160px;
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
div.form div.skeleton label:not(.checkbox):not(.radio) {
  position: relative;
}
div.form div.skeleton label:not(.checkbox):not(.radio)::after {
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  bottom: 1px;
  content: "\00a0";
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  overflow: hidden;
}
div.form div.skeleton label:not(.checkbox):not(.radio)::after {
  width: 125px;
}
div.form div.skeleton p:nth-child(odd) label:not(.checkbox):not(.radio)::after {
  width: 165px;
}
div.form div.skeleton span.input,
div.form div.skeleton span.select,
input[type="email"],
input[type="password"],
input[type="text"],
select {
  display: block;
  width: 100%;
  height: 40px;
  appearance: none;
  background-color: #F3F3F3;
  border-width: 1px;
  border-radius: 4px;
  border-style: solid;
  border-color: #CCCCCC;
  box-sizing: border-box;
  padding: 0 8px;
}
div.form div.skeleton span.textarea,
textarea {
  display: block;
  width: 100%;
  height: 120px;
  appearance: none;
  resize: vertical;
  background-color: #F3F3F3;
  border-width: 1px;
  border-radius: 4px;
  border-style: solid;
  border-color: #CCCCCC;
  box-sizing: border-box;
  padding: 6px 8px;
}
div.form div.skeleton span.input,
div.form div.skeleton span.select,
div.form div.skeleton span.textarea {
  background-color: rgba(0, 0, 0, 0.25);
  border-color: transparent;
}
div.form div.skeleton > ul,
form > ul {
  margin-bottom: 18px;
}
input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus {
  background-color: #ffffff;
  border-color: #999999;
  box-shadow: none;
  outline: none;
}
input[type="email"].issue,
input[type="password"].issue,
input[type="text"].issue,
select.issue,
textarea.issue {
  color: #CC0000 !important;
  border-color: #CC0000 !important;
}
label {
  display: block;
  cursor: pointer;
}
label.checkbox,
label.radio {
  position: relative;
  padding-left: 25px;
}
label.checkbox input,
label.radio input {
  position: absolute;
  width: 1px;
  height: 1px;
  pointer-events: none;
  opacity: 0;
}
label.checkbox input + span::after,
label.radio input + span::after {
  display: none;
  top: 3px;
  left: 3px;
  width: 15px;
  height: 15px;
  background-color: var(--accent-color);
}
label.checkbox input:checked + span::after,
label.radio input:checked + span::after {
  display: block;
}
label.checkbox:focus input + span::before,
label.checkbox:hover input + span::before,
label.radio:focus input + span::before,
label.radio:hover input + span::before {
  background-color: #ffffff;
  border-color: #999999;
}
label:not(.checkbox):not(.radio) {
  font-weight: 700;
  margin-bottom: 6px;
}
select {
  background-image: url("data:image/svg+xml,%3Csvg version='1.2' baseProfile='tiny' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' overflow='visible' xml:space='preserve'%3E%3Cpolyline fill='none' stroke='%23777777' stroke-miterlimit='10' points='2 5 8 11 14 5 '/%3E%3C/svg%3E");
  background-size: 12px auto;
  background-repeat: no-repeat;
  background-position: right 12px top 50%;
}
select.issue {
  background-image: url("data:image/svg+xml,%3Csvg version='1.2' baseProfile='tiny' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 16 16' overflow='visible' xml:space='preserve'%3E%3Cpolyline fill='none' stroke='%23A10101' stroke-miterlimit='10' points='2 5 8 11 14 5 '/%3E%3C/svg%3E") !important;
}
textarea:focus {
  background-color: #ffffff;
  border-color: #999999;
  box-shadow: none;
  outline: none;
}
@media all and (min-width: 480px) {
  div.form div.skeleton div.anchors p span:nth-child(n+4),
  div.form div.skeleton div.disclaimers p span:nth-child(n+4),
  div.form div.skeleton div.instructions p span:nth-child(n+4) {
    display: none;
  }
}
@media all and (min-width: 768px) {
  div.form div.skeleton div.anchors p span:nth-child(n+3),
  div.form div.skeleton div.disclaimers p span:nth-child(n+3),
  div.form div.skeleton div.instructions p span:nth-child(n+3) {
    display: none;
  }
}
#header {
  position: relative;
  border-bottom: #CCCCCC 1px solid;
  padding: 16px 12px;
  margin-bottom: 21px;
}
#header > div {
  display: flex;
  flex-direction: row;
}
#header > div > div {
  display: flex;
  flex: 1;
  align-items: center;
}
#header div.logo {
  font-size: 24px;
}
#header div.logo a + a {
  color: var(--body-text-color) !important;
}
#header div.logo a + a:hover {
  text-decoration: none;
}
#header div.logo img {
  display: inline-block;
  width: 48px;
  height: 48px;
  vertical-align: middle;
  transform: translateY(-4px);
  margin-right: 4px;
}
#header div.user {
  justify-content: right;
}
#header div.user > div {
  position: relative;
  display: inline-block;
}
#header div.user > div.active div.avatar a {
  background-color: #b3b3b3;
}
#header div.user > div.active div.menu,
#header div.user > div:hover div.menu {
  display: block;
}
#header div.user div.avatar {
  display: inline-block;
  vertical-align: middle;
  border: #CCCCCC 1px solid;
  border-radius: 50%;
}
#header div.user div.avatar a {
  display: block;
  width: 48px;
  height: 48px;
  text-indent: -9999px;
  background-color: #CCCCCC;
  border: #FFFFFF 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  overflow: hidden;
}
#header div.user div.avatar a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 21px;
  height: 21px;
  content: "\00a0";
  background-color: #FFFFFF;
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%);
  margin-top: -2px;
}
#header div.user div.avatar a::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z'/%3E%3C/svg%3E");
}
#header div.user div.avatar a:hover {
  background-color: #b3b3b3;
}
#header div.user div.menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #FFFFFF;
  box-sizing: border-box;
  z-index: 20;
  padding: 12px;
}
#header div.user div.menu ul li a {
  display: block;
  text-align: right;
  white-space: nowrap;
  padding: 4px;
}
#header div.user.authenticated div.avatar {
  border-color: var(--accent-color);
}
#header div.user:not(.authenticated) div.menu {
  display: none !important;
}
@keyframes authenticated {
  0% {
    border-color: var(--accent-color);
  }
  50% {
    border-color: #CCCCCC;
  }
  100% {
    border-color: var(--accent-color);
  }
}
ul.hotels {
  overflow: hidden;
}
ul.hotels > li {
  position: relative;
  padding: 12px;
}
ul.hotels > li div {
  position: relative;
}
ul.hotels > li div h3 {
  margin-bottom: 4px;
}
ul.hotels > li div p {
  margin-bottom: 0;
}
ul.hotels > li div.details div.skeleton {
  pointer-events: none;
}
ul.hotels > li div.details div.skeleton div span {
  position: relative;
  display: block;
}
ul.hotels > li div.details div.skeleton div span::after {
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  bottom: 1px;
  content: "\00a0";
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  overflow: hidden;
}
ul.hotels > li div.details div.skeleton div.comments > *,
ul.hotels > li div.details div.skeleton div.keycard > * {
  opacity: 0.4;
  animation: blink 1.2s linear infinite;
}
ul.hotels > li div.details div.skeleton div.comments > * {
  animation-delay: 0.8s;
}
ul.hotels > li div.details div.skeleton div.comments > *:nth-child(3n+2) {
  animation-delay: 0s;
}
ul.hotels > li div.details div.skeleton div.comments > *:nth-child(3n+3) {
  animation-delay: 0.4s;
}
ul.hotels > li div.details div.skeleton div.comments div.buttons span {
  margin: 0 auto;
}
ul.hotels > li div.details div.skeleton div.comments div.buttons span::after {
  display: none;
}
ul.hotels > li div.details div.skeleton div.comments p:nth-child(1) span:nth-child(1)::after {
  width: 125px;
}
ul.hotels > li div.details div.skeleton div.comments p:nth-child(1) span:nth-child(2) {
  display: none;
}
ul.hotels > li div.details div.skeleton div.comments p:nth-child(2) span:nth-child(1)::after {
  width: 95%;
}
ul.hotels > li div.details div.skeleton div.comments p:nth-child(2) span:nth-child(2)::after {
  width: 70%;
}
ul.hotels > li div.details div.skeleton div.comments span::after {
  left: 50%;
  transform: translateX(-50%);
}
ul.hotels > li div.details div.skeleton div.keycard > *:nth-child(3n+2) {
  animation-delay: 0.4s;
}
ul.hotels > li div.details div.skeleton div.keycard > *:nth-child(3n+3) {
  animation-delay: 0.8s;
}
ul.hotels > li div.details div.skeleton div.keycard span.anchor::after {
  width: 200px;
}
ul.hotels > li div.details div.skeleton div.keycard span.description::after {
  width: 160px;
}
ul.hotels > li div.overview a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  z-index: 10;
}
ul.hotels > li div.overview span.address,
ul.hotels > li div.overview span.city {
  display: block;
}
ul.hotels > li div.overview ul {
  margin-bottom: 4px;
}
ul.hotels > li div.overview ul li {
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
}
ul.hotels > li div.overview ul li span.class::after {
  display: inline;
  content: "-star";
}
ul.hotels > li div.overview ul li span.keycard {
  display: block;
  position: relative;
  width: 18px;
  height: 18px;
  line-height: 1px;
  text-indent: -9999px;
  font-size: 1px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
  box-sizing: border-box;
}
ul.hotels > li div.overview ul li span.keycard::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  background-color: #FFFFFF;
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%);
}
ul.hotels > li div.overview ul li span.keycard::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E");
}
ul.hotels > li div.overview ul li span.tag {
  display: block;
  height: 20px;
  line-height: 18px;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 700;
  background-color: #FFFFFF;
  border-radius: 4px;
  border: #333333 1px solid;
  box-sizing: border-box;
  padding: 0 4px;
}
ul.hotels > li.nn div.details div.keycard span.description,
ul.hotels > li.ny div.details div.keycard span.description {
  color: #018401;
}
ul.hotels > li.nn div.overview ul li span.keycard,
ul.hotels > li.ny div.overview ul li span.keycard {
  background-color: #00CC00;
  border: #018401 1px solid;
}
ul.hotels > li.sn div.details div.keycard span.description,
ul.hotels > li.sy div.details div.keycard span.description {
  color: #C49E00;
}
ul.hotels > li.sn div.overview ul li span.keycard,
ul.hotels > li.sy div.overview ul li span.keycard {
  background-color: #FFCC00;
  border: #DBB101 1px solid;
}
ul.hotels > li.un div.details div.keycard span.description,
ul.hotels > li.uy div.details div.keycard span.description {
  color: #404040;
}
ul.hotels > li.un div.overview ul li span.keycard,
ul.hotels > li.uy div.overview ul li span.keycard {
  background-color: #CCCCCC;
  border: #999999 1px solid;
}
ul.hotels > li.yn div.details div.keycard span.description,
ul.hotels > li.yy div.details div.keycard span.description {
  color: #A10101;
}
ul.hotels > li.yn div.overview ul li span.keycard,
ul.hotels > li.yy div.overview ul li span.keycard {
  background-color: #CC0000;
  border: #A10101 1px solid;
}
ul.hotels > li.ny div.overview ul li span.keycard::after,
ul.hotels > li.sy div.overview ul li span.keycard::after,
ul.hotels > li.uy div.overview ul li span.keycard::after,
ul.hotels > li.yy div.overview ul li span.keycard::after {
  content: "\00a0";
}
ul.hotels.skeleton > li div.overview ul li span.brand,
ul.hotels.skeleton > li div.overview ul li span.class {
  background-color: rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0);
}
ul.hotels.skeleton > li div.overview ul li span.brand::before,
ul.hotels.skeleton > li div.overview ul li span.class::before {
  display: inline;
  content: "\00a0";
}
ul.hotels.skeleton > li div.overview ul li span.brand::after,
ul.hotels.skeleton > li div.overview ul li span.class::after {
  display: none;
}
ul.hotels.skeleton > li div.overview ul li span.brand {
  width: 60px;
}
ul.hotels.skeleton > li div.overview ul li span.class {
  width: 44px;
}
ul.hotels.skeleton > li div.overview ul li span.keycard {
  background-color: rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0);
  box-shadow: none;
}
ul.hotels.skeleton > li:nth-child(3n+2) div.overview ul li span.brand {
  width: 50px;
}
ul.hotels.skeleton > li:nth-child(3n+3) div.overview ul li span.brand {
  width: 70px;
}
ul.skeleton > li {
  opacity: 0.4;
  animation: blink 1.2s linear infinite;
}
ul.skeleton > li h3,
ul.skeleton > li span.address,
ul.skeleton > li span.city {
  position: relative;
}
ul.skeleton > li h3::before,
ul.skeleton > li span.address::before,
ul.skeleton > li span.city::before {
  display: inline;
  content: "\00a0";
}
ul.skeleton > li h3::after,
ul.skeleton > li span.address::after,
ul.skeleton > li span.city::after {
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  bottom: 1px;
  content: "\00a0";
  background-color: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  overflow: hidden;
}
ul.skeleton > li h3::after {
  width: 75%;
}
ul.skeleton > li span.address::after {
  width: 180px;
}
ul.skeleton > li span.city::after {
  width: 150px;
}
ul.skeleton > li:nth-child(3n+2) {
  animation-delay: 0.4s;
}
ul.skeleton > li:nth-child(3n+2) h3::after {
  width: 80%;
}
ul.skeleton > li:nth-child(3n+2) span.address::after {
  width: 160px;
}
ul.skeleton > li:nth-child(3n+2) span.city::after {
  width: 190px;
}
ul.skeleton > li:nth-child(3n+3) {
  animation-delay: 0.8s;
}
ul.skeleton > li:nth-child(3n+3) h3::after {
  width: 65%;
}
ul.skeleton > li:nth-child(3n+3) span.address::after {
  width: 215px;
}
ul.skeleton > li:nth-child(3n+3) span.city::after {
  width: 165px;
}
#index_wrapper div.index_city_list div.list h3 {
  margin-bottom: 8px;
}
#index_wrapper div.index_city_list div.list ul {
  margin-bottom: 18px;
}
#index_wrapper div.index_hotel_search_form {
  margin-bottom: 24px;
}
@media all and (min-width: 768px) {
  #index_wrapper div.index_city_list div.list > ul {
    column-count: 2;
    column-gap: 12px;
  }
  #index_wrapper div.index_city_list div.list > ul > li {
    break-inside: avoid;
  }
  #index_wrapper div.index_hotel_search_form div.form > * {
    display: flex;
    gap: 12px;
    flex-direction: row;
  }
  #index_wrapper div.index_hotel_search_form div.form > * > p {
    flex: 2;
    margin-bottom: 0;
  }
  #index_wrapper div.index_hotel_search_form div.form > * > p:last-child {
    display: flex;
    flex: 1;
    align-items: end;
  }
}
@media all and (min-width: 1024px) {
  #index_wrapper div.index_city_list div.list > ul {
    column-count: 4;
  }
}
#notices {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 30;
  padding: 12px;
}
#notices ul li {
  position: relative;
  color: #FFFFFF;
  border-radius: 4px;
  padding: 12px 12px 12px 48px;
}
#notices ul li a {
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 36px;
  height: 36px;
  text-indent: -9999px;
  background-color: inherit;
  border-radius: 4px;
  overflow: hidden;
}
#notices ul li a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  content: "\00a0";
  background-color: #FFFFFF;
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%);
  margin-top: 1px;
}
#notices ul li a::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E");
}
#notices ul li.error {
  background-color: #990000;
}
#notices ul li.message {
  background-color: #009900;
}
#notices ul li + li:not(.template) {
  margin-top: 4px;
}
div.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 30;
}
div.overlay > div {
  position: absolute;
  background-color: #FFFFFF;
  border: #CCCCCC 1px solid;
  box-sizing: border-box;
  padding: 24px;
}
div.overlay > div div.close a {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  text-indent: -9999px;
  background-color: #CCCCCC;
  border-radius: 4px;
  overflow: hidden;
}
div.overlay > div div.close a::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  content: "\00a0";
  background-color: #FFFFFF;
  -webkit-mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-position: center center;
  mask-repeat: no-repeat;
  transform: translate(-50%, -50%);
}
div.overlay > div div.close a::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--!Font Awesome Free 6.7.2 by %40fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons  Inc.--%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E");
}
div.overlay > div div.close a:hover {
  background-color: #b3b3b3;
}
div.overlay:not(.active) {
  display: none;
}
@media all and (max-width: 767px), all and (orientation: portrait) {
  div.overlay > div {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
  }
  div.overlay > div div.close {
    position: relative;
    margin-bottom: 18px;
  }
}
@media all and (min-width: 768px) and (orientation: landscape) {
  div.overlay > div {
    top: 50%;
    left: 50%;
    width: 600px;
    transform: translate(-50%, -50%);
  }
  div.overlay > div div.close {
    position: absolute;
    top: -48px;
    left: 0;
  }
}

