@font-face {
  font-family:Roboto;
  src:url('/assets/roboto-regular.woff') format('woff');
  font-display:swap
}
@font-face {
  font-family:'Roboto Condensed';
  src:url('/assets/roboto-condensed.woff') format('woff');
  font-display:swap
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:#eceff4;
  color:#3d4d65;
  font-family:Roboto,Arial,sans-serif;
  font-size:14px;
  line-height:1.6
}
h1,h2,h3,h4 {
  font-family:'Roboto Condensed',Arial,sans-serif;
  font-weight:400;
  text-transform:uppercase;
  line-height:1.25
}
h1 {
  font-size:36px
}
h2 {
  font-size:30px
}
h4 {
  font-size:20px
}
a {
  color:#c36d00;
  text-decoration:none
}
a:hover {
  text-decoration:underline
}
button,.button,summary {
  cursor:pointer
}
button,.button {
  border:1px solid #e88a24;
  background:#f99428;
  color:#fff;
  padding:11px 30px;
  border-radius:4px;
  font:inherit;
  text-transform:uppercase
}
button:hover,.button:hover {
  background:#dc7e1b;
  text-decoration:none
}
input,select {
  font:inherit;
  color:#3d4d65;
  border:1px solid #cad3df;
  border-radius:4px;
  padding:12px;
  background:#fff;
  min-width:0
}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid #3c5f88;
  outline-offset:3px
}
.container {
  width:min(1170px,calc(100% - 40px));
  margin:0 auto
}
.site-header {
  background:#3d4d65
}
.navbar {
  min-height:64px;
  display:flex;
  align-items:center;
  gap:40px
}
.logo {
  max-width:100%;
  object-fit:contain;
  height:auto
}
.nav-links {
  display:flex;
  gap:32px;
  margin:auto
}
.navbar a {
  color:#fff;
  text-transform:uppercase;
  font-size:12px
}
.home-hero {
  height:503px;
  background:#3d4d65 url('/img/gastrogate_start.jpg') center/cover no-repeat;
  color:#fff
}
.hero-content {
  max-width:900px;
  text-align:center;
  padding-top:99px
}
.hero-content h1 {
  font-size:50px;
  margin:20px 0
}
.hero-content h2 {
  font-size:18px;
  margin:16px 0 30px
}
.hero-content p {
  max-width:640px;
  margin:16px auto;
  font-size:16px;
  line-height:22px
}
.hero-content a {
  color:#ffab48
}
.search-form {
  display:flex;
  max-width:550px;
  margin:22px auto 0
}
.search-form input {
  flex:1;
  min-width:0;
  border-radius:4px 0 0 4px
}
.search-form button {
  border-radius:0 4px 4px 0
}
.quicklinks {
  text-align:center;
  padding:30px 0
}
.quicklinks h2 {
  margin:18px 0 34px
}
.quicklink-list {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px
}
.quicklink-list details {
  position:relative
}
.quicklink-list summary {
  list-style:none;
  background:#f99428;
  color:#fff;
  padding:13px 30px;
  border-radius:30px;
  text-transform:uppercase
}
.quicklink-list summary:after {
  content:' ▾'
}
.quicklink-list ul {
  position:absolute;
  top:100%;
  left:0;
  margin:4px 0;
  z-index:3;
  min-width:180px;
  max-height:300px;
  overflow:auto;
  background:#fff;
  border:1px solid #cad3df;
  box-shadow:0 4px 12px #0002;
  list-style:none;
  text-align:left;
  padding:10px
}
.quicklink-list a {
  display:block;
  padding:5px 10px;
  color:#3d4d65
}
.city-section {
  display:flex;
  justify-content:center;
  gap:40px;
  padding:40px 0
}
.city-section>img {
  object-fit:contain;
  align-self:center;
  max-height:340px
}
.city-section>div {
  flex:1
}
.city-list {
  padding:0;
  columns:4;
  list-style:none
}
.offers-subscription { background:#366072 url('/img/bg_subscribe.png');margin:60px 0 40px;color:white; }
.offers-subscription > .container { position:relative;min-height:318px; }
.offers-chef { position:absolute;bottom:0;left:100px;width:163px;height:301px; }
.offers-subscription-content { margin-left:25%;padding:35px 0 20px 10px; }
.offers-subscription h2 { font-size:32px;line-height:38px;font-weight:500;margin:0;padding-top:10px; }
.offers-subscription p { margin:0;padding-top:10px; }
.offers-subscription form { display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px 30px;margin-top:35px; }
.offers-subscription form > select, .offers-subscription form > button { grid-column:span 3; }
.offers-subscription form > input[type=email] { grid-column:span 5; }
.offers-subscription input, .offers-subscription select { width:100%;height:42px;padding:6px 12px;color:#555; }
.offers-subscription button { background:#afd32d;border-color:#afd32d;padding:6px 12px;height:42px; }
.offers-subscription .offers-privacy { grid-column:span 10;padding-top:10px; }
.offers-subscription [role=status] { grid-column:1/-1;padding-top:0; }
.offers-subscription [role=status]:empty { display:none; }
.offers-subscription a { color:#ff9800; }
.home-notice { background:#dff0d8;color:#3c763d;padding:15px;margin-top:20px;border-radius:4px; }
@media(min-width:992px) { .offers-subscription > .container { width:970px;padding:0 100px; }.offers-subscription-content { width:83.3333%; } }
@media(min-width:1200px) { .offers-subscription > .container { width:1170px; } }
@media(max-width:991px) { .offers-chef { display:none; }.offers-subscription { margin-top:0;padding:10px 0 20px;text-align:center; }.offers-subscription-content { margin:0;padding:15px 0 0; } }
@media(max-width:767px) { .offers-subscription form { grid-template-columns:1fr; }.offers-subscription form > select, .offers-subscription form > button, .offers-subscription form > input[type=email], .offers-subscription .offers-privacy { grid-column:1; }.offers-subscription h2 { font-size:24px; } }
.city-list a {
  font-size:13px;
  line-height:22px
}
.promo-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;
  margin:30px auto
}
.promo-grid article {
  padding:140px 25px 30px;
  background:linear-gradient(transparent 0 120px,#fff 120px),var(--photo) center top/100% auto no-repeat
}
.promo-grid h2 {
  font-size:24px
}
.footer-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:25px;
  border-top:1px solid #cad3df;
  padding:40px 0 20px;
  margin-top:40px;
  color:#61738c
}
.footer-grid h2 {
  font-size:20px
}
.footer-grid a {
  display:block;
  color:#61738c
}
.footer-grid p a {
  display:inline
}
.copyright {
  text-align:center;
  border-top:1px solid #cad3df;
  padding:20px
}
.visually-hidden,.skip-link {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%)
}
.skip-link:focus {
  position:fixed;
  top:8px;
  left:8px;
  width:auto;
  height:auto;
  clip-path:none;
  background:#fff;
  z-index:10;
  padding:12px
}
.search-page {
  padding-top:25px
}
.search-page>.search-form {
  max-width:100%;
  margin:20px 0
}
.filter-form {
  display:flex;
  align-items:end;
  gap:15px;
  flex-wrap:wrap;
  padding:20px;
  background:#d9e0e9
}
.filter-form label {
  display:flex;
  flex-direction:column;
  gap:5px;
  flex:1;
  min-width:140px
}
.results {
  max-width:870px
}
.restaurant {
  border:1px solid #cad3df;
  background:white;
  margin-bottom:25px
}
.restaurant-heading {
  display:flex;
  gap:20px;
  padding:15px;
  background:#f7f8fa
}
.restaurant-heading img {
  object-fit:cover
}
.restaurant h2 {
  font-size:23px;
  margin:0 0 8px
}
.restaurant-heading p {
  margin:5px 0
}
.restaurant-content {
  padding:15px
}
.restaurant-content p,.menu dt {
  white-space:pre-line
}
.menu {
  margin:15px 0
}
.menu div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid #eceff4;
  padding:8px 0
}
.menu dd {
  margin:0;
  white-space:nowrap
}
.pagination {
  display:flex;
  gap:20px;
  padding:20px
}
.empty-results {
  background:#fff;
  text-align:center;
  padding:40px
}
.static-page .background-container {
  background:#3d4d65 url('/img/gastrogate-restaurangguide.jpg') center/cover;
  color:white
}
.static-apps .background-container {
  background-image:url('/img/gastrogate-app-2.png')
}
.head-jumbotron {
  text-align:center;
  padding:90px 0 50px
}
.head-jumbotron .container {
  max-width:900px
}
.head-jumbotron h1 {
  font-size:48px
}
.content-jumbotron {
  padding:30px 0
}
.content-jumbotron>.container {
  max-width:900px
}
.content-jumbotron img {
  max-width:100%;
  height:auto
}
.content-jumbotron .col-sm-4>img {
  max-width:160px;
  float:left;
  margin:15px 40px 15px 0
}
.info-block {
  margin:20px 0
}
.download-jumbotron {
  background:#d9e0e9;
  text-align:center;
  padding:20px
}
.app-buttons img {
  max-width:200px;
  margin:15px
}
.row:after {
  content:'';
  display:table;
  clear:both
}
@media(max-width:700px) {
  .container {
    width:calc(100% - 30px)
  }
  .navbar {
    flex-direction:column;
    gap:12px;
    padding:12px 0
  }
  .nav-links {
    gap:18px;
    flex-wrap:wrap;
    justify-content:center
  }
  .navbar .logo {
    width:170px
  }
  .home-hero {
    height:auto;
    min-height:530px
  }
  .hero-content {
    padding-top:35px;
    padding-bottom:40px
  }
  .hero-content h1 {
    font-size:36px
  }
  .hero-content h2 {
    font-size:17px
  }
  .hero-content p {
    font-size:14px
  }
  .quicklinks h2 {
    font-size:25px
  }
  .quicklink-list summary {
    padding:10px 22px
  }
  .city-section {
    gap:18px
  }
  .city-section>img {
    display:none
  }
  .city-section h2 {
    font-size:25px
  }
  .city-list {
    columns:2
  }
  .promo-grid {
    grid-template-columns:1fr
  }
  .footer-grid {
    grid-template-columns:1fr 1fr
  }
  .footer-grid>div:last-child {
    display:none
  }
  .restaurant-heading {
    gap:12px
  }
  .restaurant-heading img {
    width:100px;
    height:85px
  }
  .restaurant h2 {
    font-size:21px
  }
  .head-jumbotron {
    padding:30px 0
  }
  .head-jumbotron h1 {
    font-size:36px
  }
  .filter-form button {
    width:100%
  }
}
.search-preamble {
  max-width:713px;
  margin:55px 0 65px
}
.search-preamble h1,.result-heading {
  font-size:30px
}
.search-preamble p {
  color:#8493a8
}
.results {
  max-width:713px
}
.restaurant-heading {
  padding:0;
  gap:15px;
  background:#fff
}
.restaurant-heading>img {
  width:238px;
  height:160px
}
.restaurant-heading>div {
  padding:20px 15px 12px 0
}
.restaurant h2 {
  font-size:20px
}
.restaurant h2 a {
  color:#3d4d65
}
.restaurant-content {
  padding:15px 20px;
  border-top:1px solid #cad3df
}
.restaurant-content details>summary {
  color:#54657e;
  text-transform:uppercase
}
.restaurant {
  border-radius:4px;
  overflow:hidden
}
.filter-form {
  max-width:713px;
  background:#fff;
  border:1px solid #cad3df;
  border-radius:4px
}
.search-page>.search-form {
  max-width:713px
}
.restaurant-content details:not([open]) {
  padding:5px 0
}
@media(max-width:700px) {
  .restaurant-heading>img {
    width:32%;
    height:130px
  }
  .restaurant-heading>div {
    padding:12px 10px 8px 0
  }
  .search-preamble {
    margin:30px 0
  }
  .restaurant-heading a {
    font-size:inherit
  }
}

.print-page { background: white; }
.lunch-wrapper { width: min(600px, calc(100% - 30px)); margin: 25px auto; }
.lunch-wrapper h1 { font-size: 24px; }
.lunch-wrapper h2 { background: #eceff4; font-size: 16px; padding: 10px 30px; }
.lunch-wrapper .menu { padding: 0 30px; color: #8493a8; }
.lunch-wrapper p { white-space: pre-line; }
.print-logo { text-align: center; margin-top: 40px; }
@media print { .lunch-wrapper { width: 100%; } .lunch-wrapper section { break-inside: avoid; } }

.restaurant-heading > div { position: relative; flex: 1; }
.restaurant-heading .menu-button { padding: 8px 12px; margin: 0 10px 5px 0; font-size: 12px; }
.restaurant-heading .rating { margin: 3px 0; }
.stars { display: inline-block; position: relative; color: #adbacb; letter-spacing: 1px; }
.stars > span:first-child { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: #f99428; white-space: nowrap; }
.opening-badge { border-radius: 20px; background: #d9e0e9; padding: 3px 10px; font-size: 12px; }
dialog { border: 1px solid #cad3df; border-radius: 5px; width: min(770px, calc(100% - 30px)); max-height: 90vh; padding: 25px; color: #3d4d65; }
dialog::backdrop { background: #0008; }
.dialog-close { float: right; padding: 0 10px; font-size: 28px; }
dialog details { border-bottom: 1px solid #cad3df; padding: 12px 0; }
dialog summary { font-family: 'Roboto Condensed', sans-serif; font-size: 19px; text-transform: uppercase; }
.plain-content { white-space: pre-line; }

.extra-filters { flex-basis: 100%; }
.extra-filters > div { display: flex; gap: 20px; padding: 15px 0; flex-wrap: wrap; }
.extra-filters select { min-height: 130px; }

.christmas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; margin: 30px 0; }
.christmas-card { background: white; border: 1px solid #cad3df; border-radius: 4px; overflow: hidden; align-self: start; }
.christmas-card > img { width: 100%; height: 230px; object-fit: cover; }
.christmas-body { padding: 20px; }
.christmas-body h2 { font-size: 22px; }
.christmas-body h3 { font-size: 20px; }
.christmas-price { background: #d2335c; color: white; padding: 5px 10px; display: inline-block; }
.format-jumbotron { grid-column: 1 / -1; }
.format-jumbotron > img { height: auto; }
.christmas-body summary { background: #d2335c; color: white; padding: 10px; text-transform: uppercase; text-align: center; }
@media (max-width: 800px) { .christmas-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 550px) { .christmas-grid { grid-template-columns: 1fr; } }

.guest-form { display: grid; gap: 15px; }
.guest-form[hidden] { display: none; }
.guest-form label { display: flex; flex-direction: column; gap: 5px; }
.guest-form textarea { width: 100%; border: 1px solid #cad3df; border-radius: 4px; padding: 10px; font: inherit; }
.inquiry-date-fields, .rating-fields { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.inquiry-date-fields[hidden] { display: none; }
.restaurant-actions { display: flex; gap: 10px; flex-wrap: wrap; margin: 15px 0; }
.restaurant-actions button { padding: 8px 15px; }
@media (max-width: 500px) { .inquiry-date-fields, .rating-fields { grid-template-columns: 1fr; } }

.booking-page { background: white; }
.booking-wrapper { width: calc(100% - 30px); margin: 30px auto;padding-right:15px; }
@media(max-width:767px) { .booking-wrapper { padding-right:0; } }
@media(min-width:768px) { .booking-wrapper { width:750px; } }
@media(min-width:992px) { .booking-wrapper { width:970px; } }
@media(min-width:1200px) { .booking-wrapper { width:1170px; } }
.booking-wrapper h1 { font:16px Roboto,Arial,sans-serif;text-align:center;margin-bottom:16px;color:#333; }
.booking-wrapper h2 { font-size: 24px; }
.booking-wrapper h3 { font-size: 20px;text-transform:none; }
@font-face { font-family:Gastroicons;src:url('/assets/gastroicons.woff') format('woff');font-display:block; }
.booking-icon { font:16px Gastroicons;text-transform:none; }
.booking-steps { display:flex;gap:0;margin:0 0 25px; }
.booking-steps button { flex:1;border:0;border-bottom:4px solid transparent;border-radius:0;padding:12px 0;background:transparent;color:#11273c; }
.booking-steps button[aria-current] { border-bottom-color:#11273c;color:#000; }
.booking-steps button:disabled { color:#aaa;cursor:default; }
#booking-descriptions:not(:empty), #booking-info:not(:empty) { padding:10px 15px;background:#d9edf7;border:1px solid #bce8f1;border-radius:4px;color:#31708f;margin:15px 0 20px; }
#booking-descriptions h3 { font:14px/19px Roboto,Arial,sans-serif;margin:0;color:#11273c; }
#booking-descriptions p { margin:0;line-height:19px; }
.booking-types { display:grid;gap:18px; }
.booking-types button { width:100%;padding:12px; }
.booking-types small { display:block;font-size:11px;font-style:italic;white-space:pre-line; }
.booking-summary { border:1px solid #ddd;border-radius:3px;padding:5px;font-size:12px;line-height:1.5;margin:25px 0 20px; }
#booking-calendar h3 { font-size:24px;margin:0 0 16px; }
.booking-calendar { border:1px solid #aeaeae;border-radius:5px;width:100%;font:12.8px 'Helvetica Neue',Helvetica,Arial,sans-serif;color:#000;overflow:hidden; }
.booking-calendar header { position:relative;background:#f0f0f0;border-bottom:1px solid #aeaeae;padding-top:8px;text-align:center; }
#booking-calendar-month { font-size:15.104px;font-weight:bold;line-height:18px; }
.calendar-weekdays, .calendar-days [role=row] { display:grid;grid-template-columns:repeat(7,32.512px);justify-content:center; }
.calendar-weekdays { margin-top:4px;line-height:27.2px; }
.booking-calendar button { font:inherit;border:0;background:none;color:#000;text-transform:none; }
.booking-calendar header button { position:absolute;top:1px;padding:0 14px;line-height:35px;font-size:28px;color:#aaa; }
.booking-calendar [data-calendar-nav=previous] { left:0; }.booking-calendar [data-calendar-nav=next] { right:0; }
.booking-calendar button:disabled { color:#ccc;cursor:default; }
.booking-calendar header button:disabled { visibility:hidden; }
.calendar-days { margin:6.4px 0; }
.booking-calendar [data-date] { width:27.2px;height:27.2px;margin:2.656px;padding:0;border-radius:4px;line-height:27.2px;text-align:center; }
.booking-calendar [data-date]:hover:not(:disabled) { background:#f0f0f0; }
.booking-calendar [data-date][aria-selected=true] { color:#fff;background:#11273c;font-weight:bold; }
.booking-calendar .calendar-today { display:block;width:100%;border-top:1px solid #aeaeae;border-radius:0;background:#efefef;padding:5px;line-height:17px;font-weight:bold; }
.booking-wrapper [hidden] { display:none !important; }
.booking-wrapper label.booking-checkbox { flex-direction:row;align-items:center;gap:10px; }
.booking-checkbox input { width:auto; }
.booking-wrapper fieldset { border:0;padding:0;display:grid;gap:12px; }
.booking-wrapper form { display: grid; gap: 15px; margin: 20px 0; }
.booking-wrapper form[hidden] { display: none; }
.booking-wrapper label { display: flex; flex-direction: column; gap: 5px; }
.booking-wrapper textarea { font: inherit; border: 1px solid #cad3df; border-radius: 4px; padding: 10px; }
#availability-form { grid-template-columns: 1fr; }
.booking-wrapper .account-form { max-width:none;grid-template-columns:repeat(2,1fr); }
.booking-wrapper .account-form > * { grid-column:1/-1; }
.booking-wrapper .account-form [data-field=email] { grid-column:1; }
.booking-wrapper .account-form [data-field=phone] { grid-column:2; }
@media(max-width:600px) { .booking-wrapper .account-form { grid-template-columns:1fr; }.booking-wrapper .account-form [data-field=phone] { grid-column:1; } }
.booking-slots { display: flex; flex-wrap: wrap; gap: 8px; }
.booking-slot { padding: 10px 16px; background: #c1dbdc; color: #11273c; border-color: #c1dbdc; }
.booking-slot.selected { background: #11273c; color: white; }
.booking-slot:disabled { opacity: .45; text-decoration: line-through; cursor: default; }
.reservation-page { margin-top:0;padding-right:15px; }
#manage-booking { font-size:14px;line-height:normal; }
.reservation-heading { display:flex;justify-content:space-between;align-items:center; }
.reservation-heading h2 { font-size:28px;line-height:38px;font-weight:500;text-transform:none;margin:10px 0; }
.reservation-columns.has-messages { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px; }
#reservation-details { margin:0; }
#reservation-details > div { display:grid;grid-template-columns:25% 75%;padding:4px 0;margin-inline:-15px; }
#reservation-details > div:nth-child(odd of :not([hidden])) { background:#efefef; }
#reservation-details dt, #reservation-details dd { padding:0 15px;margin:0;font-weight:400;min-width:0;line-height:19px; }
#reservation-details dd { overflow-wrap:anywhere; }
#reservation-details [data-reservation-field=miscinfo], #reservation-details [data-reservation-field=wishes] { white-space:pre-line; }
#booking-edit { display:inline-flex;align-items:center;gap:5px;margin:0;min-height:26px; }
#booking-edit select { font-size:11.2px;padding:0;border:1px solid #888;border-radius:2px;height:20px;color:#333; }
#manage-booking button { font-size:12px;padding:10px 18px;line-height:18px; }
#manage-booking button:disabled { background:#e6e6e6;border-color:#d7d7d7;color:#999;cursor:default; }
#booking-edit button { padding:1px 5px;font-size:10px;line-height:16px; }
.reservation-actions { display:flex;gap:15px;margin-top:20px; }
#booking-cancel { background:white;color:#ff8400;border-color:#ff8400; }
#booking-edit-info { margin:0 0 15px;font-style:italic; }
#booking-jump-message { display:none; }
#booking-message { display:grid;gap:0;margin:10px 0 0; }
#booking-message label { gap:0; }
#booking-message textarea { padding:6px 12px;font-size:14px;line-height:20px;border-color:#ccc;height:74px;width:100%; }
#booking-message button { justify-self:end;margin-top:5px; }
#booking-message-agreement { margin:5px 0; }
#booking-messages { padding-top:0; }
#booking-messages.has-messages { display:flex;flex-direction:column;background:#f9f9f9;padding:15px;border-radius:4px; }
#booking-messages article { max-width:100%; }
#booking-messages article.from-guest { align-self:flex-end; }
#booking-messages article.from-restaurant { align-self:flex-start; }
.message-author { font-size:11px; }
.message-bubble { position:relative;background:#d7f5ff;width:300px;max-width:100%;padding:1em;font-size:12.8px;line-height:1.5;margin-bottom:5px; }
.from-restaurant .message-bubble { background:#eceff4; }
.message-bubble::before { content:'';position:absolute;top:0;left:-20px;border:20px solid transparent;border-top-color:#d7f5ff;border-bottom-width:0;border-right-width:0; }
.from-restaurant .message-bubble::before { left:auto;right:-20px;border-top-color:#eceff4;border-right-width:20px;border-left-width:0; }
.message-bubble p { margin:0;white-space:pre-line; }
#booking-cancel-confirm { width:min(478px,calc(100vw - 30px));padding:17px;border:0;border-radius:5px;text-align:center;color:#575757; }
#booking-cancel-confirm::backdrop { background:rgba(0,0,0,.4); }
#booking-cancel-confirm h2 { font:600 30px/38px 'Roboto Condensed',Arial,sans-serif;text-transform:none;margin:25px 0 10px; }
#booking-cancel-confirm p { font-size:16px;line-height:24px;font-weight:300; }
.reservation-warning { position:relative;width:88px;height:88px;border:4px solid #facea8;border-radius:50%;margin:20px auto;color:#f8bb86;font-size:0; }
.reservation-warning::before, .reservation-warning::after { content:'';position:absolute;left:50%;transform:translateX(-50%);background:#f8bb86;border-radius:3px; }
.reservation-warning::before { top:10px;width:5px;height:47px; }
.reservation-warning::after { bottom:10px;width:7px;height:7px;border-radius:50%; }
.reservation-dialog-actions { display:flex;gap:10px;justify-content:center;margin:24px 0 5px; }
#booking-cancel-confirm button { font-size:17px;font-weight:600;line-height:21px;padding:10px 32px;text-transform:none;border:0; }
#booking-cancel-no { background:#c1c1c1;border-color:#c1c1c1; }
#booking-cancel-yes { background:#d9534f;border-color:#d9534f; }
@media(max-width:767px) {
  .reservation-page { padding-right:0; }
  .reservation-columns.has-messages { grid-template-columns:1fr;row-gap:4px; }
  #reservation-details > div { grid-template-columns:41.6667% 58.3333%; }
  #manage-booking #booking-jump-message:not([hidden]) { display:block;padding:3px 5px;font-size:10px;line-height:12px;background:#11273c;border-color:#11273c; }
}
@media(max-width:500px) { .message-bubble { width:50vw; } }
@media(max-width:400px) { .reservation-information { font-size:13px; }.reservation-actions { justify-content:space-between; } }
@media (max-width: 600px) { #availability-form { grid-template-columns: 1fr; } }

.search-form { position: relative; }
.autocomplete-suggestions { position: absolute; top: 100%; left: 0; right: 0; z-index: 20; max-height: 320px; overflow: auto; margin: 4px 0; padding: 0; list-style: none; border: 1px solid #cad3df; border-radius: 3px; background: white; text-align: left; box-shadow: 0 4px 14px #0002; }
.autocomplete-suggestions a { display: block; padding: 10px 14px; color: #3d4d65; }
.autocomplete-suggestions li[aria-selected=true], .autocomplete-suggestions a:hover { background: #eceff4; }

.advertisements { float: right; width: 24%; margin: 0 0 25px 25px; display: grid; gap: 20px; }
.advertisements img { display: block; width: 100%; height: auto; }
.search-page:has(.advertisements) .christmas-grid { width: 73%; }
@media (max-width: 900px) {
  .advertisements { float: none; width: 100%; margin: 20px 0; grid-template-columns: repeat(2,1fr); }
  .search-page:has(.advertisements) .christmas-grid { width: 100%; }
}

.dish-description { display: block; color: #67717a; font-size: 13px; font-weight: normal; text-transform: none; margin-top: 5px; }

#christmas-dialog { width: min(94vw,950px); max-width: 950px; }
#christmas-dialog-body { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 25px; }
#christmas-dialog-body img { width: 100%; height: auto; }
#christmas-dialog-body aside { background: #f4f5f7; padding: 20px; align-self: start; }
#christmas-dialog-body aside button, #christmas-dialog-body aside .button { display: block; width: 100%; margin: 15px 0; }
@media (max-width: 650px) { #christmas-dialog-body { grid-template-columns: 1fr; } }

.menu-image { max-width: 100%; height: auto; }

.account-page{padding-block:3rem;min-height:45vh}.account-form{display:grid;gap:1rem;max-width:26rem}.account-form label{display:grid;gap:.35rem}.account-form label:has(input[type="checkbox"]){display:flex;align-items:center}.account-form input:not([type="checkbox"]){padding:.7rem;border:1px solid #ccc;border-radius:3px}.account-form [role="alert"]{color:#a32616}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-block:2rem}.account-grid li{margin-block:1rem}.account-grid li form{display:inline}.account-grid details{margin-block:2rem}@media(max-width:700px){.account-grid{grid-template-columns:1fr}}

.cookie-notification-bar{position:fixed;bottom:0;left:0;right:0;background:#3b3b3b;color:white;padding:1rem;z-index:20}.cookie-notification-bar .container{display:flex;align-items:center;gap:2rem;justify-content:space-between}.cookie-notification-bar a{color:white}.cookie-notification-bar[hidden]{display:none}

.card-overlay{position:fixed;inset:0;background:rgb(0 0 0 / 55%);display:grid;place-items:center;z-index:1000;padding:1rem}.card-dialog{max-width:560px;max-height:calc(100vh - 2rem);overflow:auto;background:white;padding:1.5rem;border:0;border-radius:5px}.card-dialog p{line-height:1.5}.card-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}

/* Retained PHP account controls; dialogs replace the old Bootstrap modal plugin. */
.nav-account{position:relative;flex-shrink:0;color:#3d4d65}
.nav-account[hidden],.nav-account [hidden]{display:none}
.account-guest-controls{display:flex;gap:8px;align-items:center}
.navbar .account-signup-trigger,.navbar .account-login-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:100px;padding:10px;border:1px solid transparent;border-radius:4px;font-size:13px;line-height:20px}
.navbar .account-login-trigger{background:#f99428;border-color:#e88a24}
.account-user-icon{font:24px Gastroicons;line-height:1;text-transform:none}
.account-login-trigger .account-user-icon{display:none}
.account-member-trigger{display:flex;align-items:center;gap:15px;background:transparent;border:0;padding:10px;font-size:13px}
.account-member-trigger:hover{background:#485a74}
.account-login-panel,.account-member-panel{position:absolute;right:0;top:calc(100% + 1px);z-index:1000;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 6px 12px #0003;text-align:left}
.account-login-panel{width:300px;max-width:calc(100vw - 30px);padding:15px}
.account-login-panel h3{font:500 14px "Roboto Condensed",Arial,sans-serif;text-transform:uppercase;margin:10px 0}
.account-login-panel hr{border:0;border-top:1px solid #cad3df;margin:15px 0 10px}
.account-login-panel .account-form{gap:15px}
.account-login-panel input:not([type=checkbox]),.account-dialog input:not([type=checkbox]){background:#eceff4;border:0;height:36px;padding:8px 12px;width:100%}
.account-login-panel .account-remember{font-size:12px;font-weight:400;gap:5px}
.account-login-links{display:flex;justify-content:space-between;gap:8px}
.navbar .account-login-links a{font-size:10px;color:#ff9800;text-transform:uppercase}
.account-green-button,.navbar a.account-green-button{display:block;width:100%;background:#5cb85c;color:#fff;text-align:center;padding:10px;border:1px solid #4cae4c;border-radius:4px;font-size:12px;text-transform:uppercase}
.account-green-button:hover,.navbar a.account-green-button:hover{background:#449d44;text-decoration:none}
.account-member-panel{min-width:180px;padding:5px 0}
.navbar .account-member-panel a{display:block;padding:8px 20px;color:#3d4d65}
.account-dialog{margin:30px auto;inset-block-start:0;inset-block-end:auto;max-height:calc(100dvh - 60px);width:600px;max-width:calc(100vw - 30px);padding:0;border:0;background:#fff;box-shadow:0 5px 15px #0008}
.account-dialog header{padding:15px 30px;border-bottom:1px solid #e5e5e5}
.account-dialog h2{font-size:18px;margin:0;line-height:1.5}
.account-dialog header p{color:#8493a8;margin:10px 0 0}
.account-dialog-close{float:right;padding:0;background:transparent;border:0;color:#555;font-size:25px;line-height:24px;text-transform:none}
.account-dialog-close:hover{background:transparent;color:#111}
.account-dialog .account-form{padding:15px 30px;max-width:none;gap:15px}
.account-dialog .account-form p{margin:0;font-size:14px}
.account-dialog footer{width:100%;padding:15px 30px;margin:0;border-top:1px solid #e5e5e5;background:#fff;color:#8493a8;text-align:right}
.account-dialog footer p{font-size:12px;margin:0}
@media(max-width:1100px){.navbar{gap:20px}.nav-links{gap:20px}.navbar .logo{width:190px}}
@media(max-width:991px){.account-signup-trigger,.account-trigger-label,.account-login-trigger .account-trigger-label{display:none!important}.account-login-trigger .account-user-icon{display:inline}.navbar .account-login-trigger{min-width:40px;background:transparent;border:0;padding:8px}.navbar{gap:15px}.nav-links{gap:15px}}
@media(max-width:700px){.navbar{flex-direction:row;flex-wrap:wrap;align-items:center}.navbar>.nav-links{order:3;width:100%;margin:0}.nav-account{margin-left:auto}.account-login-panel{top:calc(100% + 15px)}.account-member-trigger{padding:8px}.account-dialog header,.account-dialog .account-form,.account-dialog footer{padding-inline:20px}}

.account-input{position:relative}
.account-input>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:16px Gastroicons;color:#8493a8;pointer-events:none}
.account-input input{padding-right:36px!important}
.account-login-panel .account-input input{border:1px solid #cad3df}
.account-dialog .account-input input{background:white;border:1px solid #ccc}
.account-login-panel input::placeholder,.account-dialog input::placeholder{color:#a4b2c7;opacity:1}
.navbar .account-login-trigger:hover,.navbar .account-signup-trigger:hover{text-decoration:none}
@media(max-width:700px){.account-dialog{margin:10px auto;max-height:calc(100dvh - 20px)}}

.member-content{width:75%;padding-right:15px}
.member-intro{margin:0 0 30px}
.member-panel{border:1px solid #ddd;border-radius:4px;background:#fff;margin-bottom:20px}
.member-panel>h2{font:14px Roboto,Arial,sans-serif;text-transform:none;color:#333;background:#f5f5f5;border-bottom:1px solid #ddd;padding:10px 15px;margin:0}
.member-panel-row{display:grid;grid-template-columns:4fr 1fr 5fr 2fr;padding:15px;gap:0}
.member-panel-row>:first-child{grid-column:1}.member-panel-row>:nth-child(2){grid-column:3}
.member-panel-row h3{font:400 18px "Roboto Condensed",Arial,sans-serif;text-transform:none;margin:10px 0}
.member-panel-row p{margin:0 0 10px}
.member-subscriptions{list-style:none;padding:0;margin:0 0 10px}
.member-subscriptions li{margin:0;line-height:24px}
.member-subscriptions form{display:inline}
.member-minus,.member-remove{display:inline-block;vertical-align:middle;border:0;border-radius:50%;background:#3d4d65;color:#fff;text-align:center;font:bold 13px/14px Arial,sans-serif;width:14px;height:14px;padding:0;text-transform:none}
.member-remove:hover{background:#29374d}
.member-settings{display:grid;gap:10px;align-content:start;padding-top:8px}
.member-settings label{display:flex;align-items:center;gap:6px}
.member-settings input[type=checkbox]{margin:0}
.member-panel .account-form{gap:15px;max-width:none}
.member-panel .account-form label{font-weight:700}
.member-panel .account-form input:not([type=checkbox]){height:34px;padding:6px 12px;font-weight:400;background:white}
.member-id{font:24px "Roboto Condensed",Arial,sans-serif;margin-bottom:5px}
.member-actions{display:flex;justify-content:flex-end;gap:5px;margin-bottom:20px}
.member-actions button{font-size:14px;padding:6px 12px;background:#ff9800;border-color:#ff9800}
.member-actions .member-danger,.member-danger{background:#d9534f;border-color:#d43f3a}
.member-danger:hover,.member-actions .member-danger:hover{background:#c9302c}
.member-empty{text-align:center}
.member-delete-dialog{width:478px;max-width:calc(100vw - 30px);padding:20px 17px 30px;text-align:center;border:0;background:white;border-radius:5px}
.member-delete-dialog h2{font:bold 30px Roboto,Arial,sans-serif;text-transform:none;color:#575757;margin:25px 0}
.member-delete-dialog p{font-size:16px;color:#797979;margin:0 0 25px}
.member-warning{width:84px;height:84px;margin:0 auto;border:4px solid #f8bb86;border-radius:50%;color:#f8bb86;font:60px/80px Arial,sans-serif}
.member-delete-actions{display:flex;justify-content:center;gap:10px}
.member-delete-actions button{padding:10px 25px;text-transform:none;border:0;font-size:17px}
.member-delete-actions [data-member-delete-close]{background:#c1c1c1}
.member-delete-dialog .member-danger{background:#dd6b55}
#member-notice-dialog button{background:#04be5e;border:0;text-transform:none;font-size:17px;padding:10px 32px}
@media(max-width:991px){.member-content{width:100%;padding-right:0}.member-panel-row{grid-template-columns:1fr;gap:15px}.member-panel-row>:first-child,.member-panel-row>:nth-child(2){grid-column:1}.member-panel-row .account-form{width:100%}}

/* Published editor content keeps its own formatting inside the page/modal. */
.editor-content{white-space:normal;max-width:100%;overflow-wrap:anywhere;overflow-x:auto}
.editor-content::after{content:"";display:block;clear:both}
.editor-content img{max-width:100%;height:auto}
.editor-content iframe{max-width:100%;border:0}
.editor-content table{max-width:100%;border-collapse:collapse}
.editor-content .text-center{text-align:center}.editor-content .text-left{text-align:left}.editor-content .text-right{text-align:right}
.editor-content p:first-child{margin-top:0}.editor-content p:last-child{margin-bottom:0}

#search-preamble-content{position:relative}
#search-preamble-content.preamble-collapsed{max-height:160px;overflow:hidden}
#search-preamble-content.preamble-collapsed::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#eceff4 0%,#eceff400 100%);pointer-events:none}
[data-preamble-toggle]{display:block;margin:0 auto;border-radius:20px;border:1px solid #cad3df;background:transparent;color:#8f9db0;font-size:12px;line-height:17.1429px;padding:10px 30px}

.editor-content .infopage-text{clear:both;margin-bottom:20px}.editor-content .infopage-text:last-child{margin-bottom:0}

.editor-content .table{width:100%;margin-bottom:20px}.editor-content .table-bordered,.editor-content .table-bordered td,.editor-content .table-bordered th{border:1px solid #ddd;padding:8px}

/* PHP's restaurant service dropdown opens one menu at a time. */
.restaurant-service-menu { position:fixed;z-index:1000;width:max-content;min-width:220px;max-width:calc(100vw - 30px);overflow:auto;padding:15px;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 6px 12px #0003;font-size:14px; }
.restaurant-service-menu[hidden] { display:none; }
.restaurant-service-menu button,.service-menu-heading { display:block;width:100%;padding:0 5px;color:#11273c;background:none;border:0;border-radius:0;font:500 14px/30px Roboto,Arial,sans-serif;text-transform:uppercase;text-align:left;white-space:normal; }
.restaurant-service-menu button:not(:last-child),.service-menu-heading { border-bottom:1px dashed #cad3df; }
.restaurant-service-menu button:hover,.restaurant-service-menu button:focus-visible { background:#f5f5f5; }
.restaurant-service-menu .service-menu-subtitle { padding-left:20px; }
.service-menu-heading { font-weight:bold; }
.service-menu-status { margin:0 5px 8px; }
.restaurant-favourite { background:none;color:#f99428;padding:0 8px;border:0;font-size:27px;line-height:30px;vertical-align:middle; }
#restaurant-dialog { width:min(600px,calc(100% - 20px));max-width:calc(100% - 20px);padding:15px;margin:30px auto; }
#restaurant-dialog .dialog-close { background:none;border:0;color:#000;opacity:.35;font:700 21px/1 Arial,sans-serif;text-shadow:0 1px 0 #fff;padding:0; }
#restaurant-dialog .dialog-close:hover { opacity:.6; }
#restaurant-dialog h2 { font:24px/1.1 'Roboto Condensed',Arial,sans-serif;margin:20px 0 30px; }
#restaurant-dialog.dish-menu-dialog { padding:15px 0; }
.dish-menu-dialog .dialog-close { margin-right:15px; }
#restaurant-dialog.dish-menu-dialog h2 { padding:0 30px; }
#restaurant-dialog .menu-category { margin:0 0 5px;padding:0 30px;background:#eceff4;font:700 16px/40px 'Roboto Condensed',Arial,sans-serif;text-transform:uppercase; }
#restaurant-dialog .menu-subtitle { padding:0 30px;margin:0 0 10px;white-space:pre-line; }
#restaurant-dialog .menu-subtitle:empty { display:none; }
#restaurant-dialog .menu { margin:0 0 10px;padding:0 30px;font:14.4px/22px Roboto,Arial,sans-serif; }
#restaurant-dialog .menu>div { border:0;padding:0 0 10px;gap:15px; }
#restaurant-dialog dt { min-width:0;flex:1;font-weight:bold;overflow-wrap:anywhere; }
#restaurant-dialog dd { color:#11273c;font-weight:bold;white-space:normal;text-align:right;max-width:25%; }
#restaurant-dialog .dish-description { display:block;color:#8493a8;font-weight:normal; }
#restaurant-dialog .restaurant-review { padding:0 0 15px;margin:0 0 15px;border-bottom:1px solid #eee; }
.review-stars { color:#f99428;font-size:20px; }
.restaurant-booking-dialog iframe { width:100%;min-height:500px;border:0;display:block; }

/* Original review modal proportions, with native radio groups and dialog focus. */
#rating-dialog { inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:auto;overscroll-behavior:contain; }
#rating-dialog::backdrop,#public-form-result::backdrop { background:#0006; }
body:has(#rating-dialog[open]),body:has(#public-form-result[open]) { overflow:hidden; }
.review-panel,.subscription-panel { position:relative;width:600px;max-width:calc(100vw - 20px);margin:30px auto;background:white;border:1px solid #0003;border-radius:6px;box-shadow:0 5px 15px #00000080;font:16px Roboto,Arial,sans-serif;color:#3d4d65; }
.review-close,.subscription-close { position:absolute;right:0;top:0;z-index:1;padding:15px;margin:0; }
:is(.review-close,.subscription-close) button { display:block;background:none;border:0;padding:0;color:black;opacity:.2;font:700 21px/1 Arial,sans-serif; }
:is(.review-close,.subscription-close) button:hover { opacity:.5; }
.review-body,.subscription-body { padding:15px; }
.review-introduction,.subscription-introduction { margin:0 0 15px; }
:is(.review-introduction,.subscription-introduction) h3 { margin:20px 0 10px;font:500 24px/39px 'Roboto Condensed',Arial,sans-serif; }
.review-scores { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 -15px 15px; }
.review-score { padding:0 15px;margin:0;border:0;min-width:0; }
.review-score legend { float:left;width:100%;padding:0;font:700 16px/22px Roboto,Arial,sans-serif; }
.review-score .review-stars { clear:both;display:flex;height:22px; }
.review-score .review-stars label { position:relative;display:block;width:16px;height:22px;cursor:pointer; }
.review-score .review-stars input { position:absolute;opacity:0;width:16px;height:22px;margin:0;padding:0; }
.review-score .review-stars span { display:block;color:#ff9800;font:16px/22px Gastroicons;pointer-events:none; }
.review-score .review-stars input:focus-visible+span { outline:2px solid #3c5f88;outline-offset:2px; }
.public-form-field { padding-top:3px;margin:0 0 15px; }
.public-form-field label { display:block;font:500 13px/18px Roboto,Arial,sans-serif;margin-bottom:5px; }
.public-form-field label>span { color:#d2335c; }
.public-form-field input,.public-form-field textarea { display:block;width:100%;height:34px;padding:6px 42.5px 6px 12px;color:#555;font:14px/20px Roboto,Arial,sans-serif;border:1px solid #cad3df;border-radius:4px;box-shadow:inset 0 1px 1px #00000013; }
.public-form-field.has-error label { color:#a94442; }
.public-form-field.has-error input,.public-form-field.has-error textarea { border-color:#a94442; }
.public-form-field.has-success label { color:#3c763d; }
.public-form-field.has-success input { border-color:#3c763d; }
.public-form-privacy { margin:0 0 10px;font:14px/22px Roboto,Arial,sans-serif; }
.public-form-privacy a { color:#ff9800; }
.public-form-footer { padding:15px;border-top:1px solid transparent;text-align:right; }
.public-form-footer button { border:1px solid #4cae4c;background:#5cb85c;padding:10px 18px;font:14px/20px Roboto,Arial,sans-serif;vertical-align:baseline; }
.public-form-footer button:hover { background:#449d44;border-color:#398439; }
.public-form-footer :is([data-review-cancel],[data-inquiry-cancel],[data-subscription-cancel]) { margin-left:5px;background:white;color:#8493a8;border-color:#cad3df;font-size:14.4px;line-height:1.428571; }
.public-form-footer :is([data-review-cancel],[data-inquiry-cancel],[data-subscription-cancel]):hover { background:#e6e6e6; }
.public-form-errors { padding:15px;margin:0 0 20px;color:#a94442;background:#f2dede;border:1px solid #ebccd1;border-radius:4px; }
.public-form-errors ul { margin:0;padding-left:40px; }
#public-form-result { position:fixed;left:calc(50% - 256px);top:50%;right:auto;bottom:auto;margin:0;width:478px;max-width:calc(100% - 30px);padding:17px;border:0;border-radius:5px;background:white;text-align:center;font:16px 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif; }
.review-success-icon { position:relative;width:88px;height:88px;border:4px solid #a5dc8633;border-radius:50%;margin:20px auto; }
.review-success-icon span { position:absolute;height:5px;background:#a5dc86;display:block;border-radius:2px; }
.review-success-tip { width:25px;left:14px;top:46px;transform:rotate(45deg); }
.review-success-long { width:47px;right:8px;top:38px;transform:rotate(-45deg); }
#public-form-result p { color:#797979;font-weight:300;margin:25px 0 0;line-height:18px; }
#public-form-result form { margin:0; }
#public-form-result button { background:#04be5e;border:0;padding:10px 32px;margin:26px 5px 0;font:500 17px 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif; }
@media(max-width:767px) { .review-panel,.subscription-panel { margin:10px auto; }.review-scores { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media(max-width:540px) { #public-form-result { left:15px;right:15px;width:auto;max-width:none; } }
.public-form-field { position:relative; }
.public-form-field:not(.inquiry-picker-field).has-error::after,.public-form-field:not(.inquiry-picker-field).has-success::after { position:absolute;right:0;top:25px;width:34px;height:34px;text-align:center;font:16px/34px PortalFeedback;pointer-events:none; }
.public-form-field:not(.inquiry-picker-field).has-error::after { content:"\e014";color:#a94442; }
.public-form-field:not(.inquiry-picker-field).has-success::after { content:"\e013";color:#3c763d; }

/* Original standalone restaurant message / booking-inquiry modal. */
#guest-dialog { inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:auto;overscroll-behavior:contain; }
#guest-dialog::backdrop { background:#0006; }
body:has(#guest-dialog[open]) { overflow:hidden; }
.inquiry-panel { width:600px;max-width:calc(100vw - 20px);margin:30px auto;background:white;border:1px solid #0003;border-radius:6px;box-shadow:0 5px 15px #00000080;font:16px 'Roboto Condensed',Arial,sans-serif; }
.inquiry-header { height:50px;padding:15px;margin:0; }
.inquiry-header button { display:block;float:right;background:none;border:0;padding:0;color:black;opacity:.2;font:700 21px/1 Arial,sans-serif; }
.inquiry-header button:hover { opacity:.5; }
.inquiry-body { padding:15px; }
.inquiry-body h3 { margin:20px 0 10px;font:500 24px/39px 'Roboto Condensed',Arial,sans-serif; }
.inquiry-panel .public-form-field label { font-family:'Roboto Condensed',Arial,sans-serif;font-weight:400;line-height:normal; }
.inquiry-panel .public-form-field label>span { font-size:.9em;font-weight:bold;color:#ce0a24; }
.inquiry-panel .public-form-field input,.inquiry-panel .public-form-field textarea { font-family:'Roboto Condensed',Arial,sans-serif; }
.public-form-field textarea { height:54px;resize:vertical;max-width:100%; }
.inquiry-panel .inquiry-date-fields { display:block; }
.inquiry-panel .inquiry-date-fields[hidden] { display:none; }
.inquiry-picker-field input { padding-right:12px; }
.inquiry-panel .public-form-privacy { font-family:'Roboto Condensed',Arial,sans-serif; }
#inquiry-deals { border:2px solid #cad3df;border-radius:4px;margin-bottom:15px; }
#inquiry-deals[hidden] { display:none; }
.inquiry-deal { padding:2px 15px; }
.inquiry-deal:not(:last-child) { border-bottom:2px solid #cad3df; }
.inquiry-deal label { position:relative;display:block;padding-left:20px;cursor:pointer;min-height:23px;font:13px/23px 'Roboto Condensed',Arial,sans-serif;margin:10px 0; }
.inquiry-deal input { position:absolute;left:0;top:0;width:13px;height:13px;margin:4px 0 0;padding:0; }
.inquiry-deal-title { font-weight:bold; }
.inquiry-deal-body { font-size:.9em; }
#public-form-result h2 { margin:25px 0;padding:0;color:#575757;font:600 30px/40px 'Roboto Condensed',Arial,sans-serif;text-transform:none; }
@media(max-width:767px) { .inquiry-panel { margin:10px auto; } }

.inquiry-picker-field { position:relative; }
.form-picker { position:absolute;z-index:2;top:100%;left:0;width:250px;padding:4px;margin-top:1px;background:white;box-shadow:0 1px 3px #0000001a;border:1px solid #f9f9f9;font:16px 'Roboto Condensed',Arial,sans-serif; }
.form-picker[hidden] { display:none; }
.form-picker table { width:100%;margin:0;border-collapse:collapse; }
.form-picker td,.form-picker th { text-align:center;height:28px;padding:0; }
.form-picker thead tr:first-child th { border-bottom:1px solid #f9f9f9; }
.form-picker button { display:block;width:100%;height:28px;padding:0;border:0;border-radius:0;background:none;color:inherit;text-transform:none;font:inherit; }
.form-picker thead th:first-child button,.form-picker thead th:last-child button { font-size:21px; }
.form-picker button:hover { background:#eee; }
.form-picker button:disabled { color:#999;cursor:not-allowed; }
.form-picker-other { color:#999!important; }
.form-picker [aria-selected=true] { background:#428bca;color:white;text-shadow:0 -1px 0 #0004; }
.form-picker [aria-current=date] { position:relative; }
.form-picker [aria-current=date]::after { content:'';position:absolute;bottom:4px;right:4px;border-left:7px solid transparent;border-bottom:7px solid #428bca; }
.form-picker [aria-current=date][aria-selected=true]::after { border-bottom-color:white; }
.form-picker-period,.form-picker-period button { height:50px!important; }
.form-time-counters { display:flex;justify-content:center;padding:2px 0 3px; }
.form-time-counter { height:100px;width:40px;text-align:center; }
.form-time-counter button { height:40px;line-height:40px; }
.form-time-count { height:20px;font-size:1.2em;line-height:normal; }
.form-time-separator { line-height:100px; }

.inquiry-panel .public-form-footer button { font-family:'Roboto Condensed',Arial,sans-serif; }
.inquiry-panel input::placeholder { color:#8493a8;opacity:1; }
.public-form-field :is(input,textarea):focus { border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px #00000013,0 0 8px #66afe999; }
.public-form-field.has-error :is(input,textarea):focus { border-color:#843534;box-shadow:inset 0 1px 1px #00000013,0 0 6px #ce8483; }
.public-form-field.has-success :is(input,textarea):focus { border-color:#2b542c;box-shadow:inset 0 1px 1px #00000013,0 0 6px #67b168; }

#subscription-dialog { inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:auto;overscroll-behavior:contain; }
#subscription-dialog::backdrop { background:#0006; }
body:has(#subscription-dialog[open]) { overflow:hidden; }
.subscription-types { padding-top:3px;margin-bottom:15px; }
#subscription-type-label { font:500 13px/18px Roboto,Arial,sans-serif;margin-bottom:5px; }
.subscription-option { margin-bottom:5px; }
.subscription-option:last-child { margin-bottom:0; }
.subscription-option label { display:inline-block;position:relative;padding-left:20px;min-height:20px;font:500 13px Roboto,Arial,sans-serif;cursor:pointer; }
.subscription-option input { position:absolute;left:0;top:4px;margin:0;padding:0;width:13px;height:13px; }

@font-face { font-family:PortalFeedback;src:url('/assets/feedback-icons.woff') format('woff');font-display:block; }

#public-form-result.public-result-error .review-success-icon { border-color:#f27474; }
#public-form-result.public-result-error .review-success-icon span { background:#f27474;width:47px;top:37px; }
#public-form-result.public-result-error .review-success-tip { left:17px;transform:rotate(45deg); }
#public-form-result.public-result-error .review-success-long { right:16px;transform:rotate(-45deg); }

.password-status { padding:15px;margin-bottom:20px;border:1px solid #d6e9c6;border-radius:4px;color:#3c763d;background:#dff0d8; }
.password-field-error { display:block;margin-top:-10px;color:#a94442;font-size:14px; }
.password-has-error { color:#a94442; }
.account-form .password-has-error input { border-color:#a94442; }
