/* Desktop retains the original theme. Reflow only when its fixed width cannot fit. */
@media (max-width: 999px) {
  body { font-size: 16px; line-height: 1.55; }
  #container { display: grid; grid-template-columns: minmax(0, 1fr); width: min(100%, 760px); top: 0; margin: 0 auto; }
  #container > *, #leftcolumn > * { min-width: 0; }
  #header { order: 0; width: 100%; height: auto; min-height: 190px; box-sizing: border-box; padding: 16px; background-color: #f8d651; background-size: auto 190px; }
  #logo { position: absolute; top: 14px; left: 14px; float: none; }
  #logo img { width: 84px; height: auto; }
  #number { position: static; width: auto; height: auto; padding-top: 8px; font: inherit; line-height: 1.4; }
  #number p { margin: 0 0 9px; font-size: 14px !important; }
  #number p:first-child { font-size: 18px !important; line-height: 1.2; }
  #price { position: relative; top: auto; right: auto; margin: 0 -5px 0 auto; padding-top: 23px; height: 131px; box-sizing: content-box; font: 12px/20px Arial, sans-serif; }
  #price .price-rotate { margin-top: 12px; margin-bottom: 12px; }
  #price .price-rotate:first-child { margin-bottom: 4px; }
  #price .price-rotate:nth-child(2) { margin-top: 4px; }
  #price .rate-note { margin-top: -10px; margin-bottom: 10px; }
  #pride { display: none; }
  #mainimage { order: 1; margin: 0; width: 100%; height: auto; aspect-ratio: 725 / 349; }
  #mainimage img { display: block; width: 100%; height: 100%; object-fit: cover; }
  #container > nav { order: 2; }
  #nav { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; height: auto; margin: 0; box-sizing: border-box; }
  #nav li { float: none; display: block; }
  #nav a:link, #nav a:visited { display: flex; align-items: center; justify-content: center; float: none; min-height: 44px; padding: 4px 13px; box-sizing: border-box; font-size: 16px; }
  #leftcolumn { display: contents; }
  #reservation { order: 3; width: 100%; margin: 0; padding: 18px 20px; box-sizing: border-box; background: #f8d651; }
  #reservation table { width: 100%; max-width: 500px; margin: 0 auto; border-spacing: 0 8px; }
  #reservation td { width: 50%; vertical-align: middle; }
  #reservation span { font-size: 16px !important; padding-left: 0 !important; }
  #reservation input.forms1 { width: 100%; min-height: 44px; padding: 7px !important; font-size: 16px !important; line-height: 1.3 !important; }
  #reservation select { min-height: 44px; min-width: 58px; margin-left: 5px; font-size: 16px; }
  #reservation input[type=image] { display: none; }
  #reservation .mobile-book-button { display: block; width: 100%; min-height: 44px; padding: 8px; border: 0; background: #0071ae; color: #fff; font: bold 16px Arial, sans-serif; cursor: pointer; }
  #reservation-error:empty { display: none; }
  #content { order: 4; width: 100%; height: auto; min-height: 0; margin: 0; padding: 8px 0 28px; overflow: visible; }
  body:not(#home) #reservation { order: 5; }
  #box-left { padding: 16px; }
  #content .box { padding: 8px; }
  #content #box-left #box-left { padding: 0; }
  #title { padding: 12px 0 20px; font-size: 20px; line-height: 1.4; }
  #title span { display: block; padding-left: 0 !important; }
  #content h1, #content h4 { font-size: 18px; line-height: 1.4; }
  #content h2, #content h3 { font-size: 16px; line-height: 1.5; }
  #content p { margin: 0 0 16px; }
  #content ul, #content ol { padding-left: 22px; }
  #content li, #content .box li { line-height: 1.55; margin-bottom: 8px; }
  #leftcolumn > #parkandfly, #leftcolumn > #specials, #leftcolumn > #pets, #leftcolumn > .TA_cdsratingsonlynarrow { order: 5; background: #f8d651; width: 100%; max-width: none; box-sizing: border-box; margin: 0 !important; padding: 20px 24px !important; }
  #leftcolumn > hr { display: none; }
  #leftcolumn > #specials { order: 6; }
  #leftcolumn > #pets { order: 7; }
  #leftcolumn > .TA_cdsratingsonlynarrow { order: 8; }
  #parkandfly > img { display: block; max-width: 100%; margin-bottom: 12px; }
  #parkandfly ul, #specials ul, #pets ul { font-size: 16px !important; line-height: 1.5; padding-left: 22px !important; }
  #parkandfly ul ul { font-size: 14px !important; }
  #pets p { font-size: 16px !important; }
  #TA_cdsratingsonlynarrow413 .TA_links img { width: 170px; }
  #footer { margin: 16px 0; }
  .super8-map { height: 340px; }
  #super8-attraction-map .leaflet-popup-content { max-width: calc(100vw - 120px); }
  #super8-attraction-map .leaflet-top.leaflet-left { top: auto; bottom: 35px; }
  .super8-directions input { width: 100%; max-width: none; min-height: 44px; font-size: 16px; }
  .super8-directions button { min-height: 44px; margin-top: 8px; font-size: 16px; }
  .super8-group-form { max-width: none; }
  .super8-group-form label { padding-top: 10px; }
  .super8-group-form input:not([type=hidden]), .super8-group-form textarea { width: 100%; max-width: none; min-height: 44px; padding: 8px; font-size: 16px; }
  .super8-group-form textarea { height: 160px; }
  .super8-group-form .super8-captcha { max-width: none; }
  .super8-group-form .super8-captcha input { width: 90px; }
  .super8-group-form button[type=submit] { min-height: 44px; padding: 8px 24px; font-size: 16px; }
  .ui-datepicker { font-size: 16px; width: 320px; max-width: calc(100vw - 16px); box-sizing: border-box; }
  .ui-datepicker .ui-datepicker-header { padding: 0; min-height: 44px; }
  .ui-datepicker .ui-datepicker-title { line-height: 44px; }
  .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { top: 0; min-width: 44px; min-height: 44px; display: flex; align-items: center; justify-content: center; font-size: 14px; }
  .ui-datepicker td a, .ui-datepicker td span { min-height: 40px; box-sizing: border-box; padding: 0; display: flex; align-items: center; justify-content: center; }
  #content .bwg-container { justify-content: center; }
  #spider_popup_wrap .spider_popup_close, #spider_popup_wrap .spider_popup_close_fullscreen { width: 32px; height: 32px; top: 0; right: 0; margin: 0; font-size: 22px; background: #000b; }
  #spider_popup_wrap .spider_popup_close_fullscreen span { display: table-cell; text-align: center; vertical-align: middle; }
}
@media (min-width: 600px) and (max-width: 999px) {
  #header { padding-left: 120px; padding-right: 205px; min-height: 170px; }
  #number { padding-top: 14px; }
  #price { position: absolute; right: 5px; top: 15px; margin: 0; }
  #pride { display: none; }
  #mainimage { max-height: 310px; }
}
@media (min-width: 1000px) {
  #reservation .mobile-book-button { display: none; }
}
/* Leave room for the rotated price text at the narrowest desktop widths. */
@media (min-width: 1000px) and (max-width: 1023px) {
  #price { right: -23px; }
}
