/* NON-CRITICAL CSS - load async with media="print" onload trick */

/* Layout */
.pageaccount #site_content .container, body:not(.page1) #site_content {
    margin: 20px auto auto; max-width: 1200px;
}
.fulltextarea, .pageaccount #site_content { max-width: initial !important; }
#google_square_div, #restricted_area_login_form, .banner_item.venue_page_top,
.plan_box, .service_item, .special_box, .special_price, .special_sub, .venueboxlist {
    text-align: center;
}
.button, .flexnav li a, .menu-button, .special_name { text-transform: uppercase; }
.button, .current_plan_text, .flexnav li a, .form_settings .submit,
.menu-button, .service_item_heading, .special_price { font-weight: 700; }

/* Venue boxes */
.venuebox, #div_venues ins {
    display: flow-root; position: relative; text-decoration: none;
    padding: 10px; margin-left: auto; margin-right: auto;
    border-radius: 5px; margin-bottom: 6px; color: #bbb;
    border: solid #e4c868 1px;
}
.venuebox img { float: left; width: 150px; margin-right: 21px; }
a.venuebox { text-decoration: none; line-height: initial; }
a.venuebox h3 { font-size: 130%; margin-top: -10px; }
.venueboxlist { padding-bottom: 30px; }
.pageaccount, .venueboxlist h2 { margin-bottom: 0; }
.distance_item { font-size: 1rem; margin-bottom: 5px; }
#div_venues { width: 100%; margin: auto; max-width: 1200px; }
#div_venues ul { margin-left: 0; padding-left: 0; }
#div_venues hr { margin-bottom: 10px; }
ul.venue_list_item { padding: 0; }

/* Buttons */
.button {
    cursor: pointer; background-color: #e4c868; font-size: 14px;
    color: #000; padding: 9px 20px; border-radius: 20px;
    margin: 0 2% 5px 0; display: inline-block; border: 0;
}
#restricted_area_login_form .button { padding-left: 40px; padding-right: 40px; }

/* Footer */
#footer_container {
    display: flow-root; margin-top: 40px; padding: 10px 0 1px;
    background: #333; width: 100%;
}
#footer_container .container { padding-top: 0; padding-bottom: 0; }
footer { font: 100% 'Open Sans', sans-serif; text-align: center; margin: 0; }
footer p { line-height: 1.7em; padding: 0 0 2px; }
.pageaccount #footer_container { clear: both; bottom: 0; width: 100%; position: fixed; }
.page17 #footer_container, .page18 #footer_container, .page21 #footer_container { position: absolute; bottom: 0; width: 100%; }

/* Locality dropdown */
#div_country, #div_locality {
    border: 1px solid #ccc; position: absolute; background: #fff;
    margin-top: 30px; z-index: 10; min-width: 240px;
    -webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,.3);
    box-shadow: 0 0 5px 0 rgba(0,0,0,.3);
}
#div_country img, #div_locality img { display: block; margin: auto; padding: 15px; width: auto !important; }
div.locality_section.locality_section_wrapper { box-sizing: border-box; }
#div_country div, #div_locality div { font-size: 14px; padding: 7px 10px; cursor: pointer; color: #000; text-align: left; }
#div_country div:hover, #div_locality div:hover { background: #efefef; }

/* Specials */
.plan_box, .special_box, .special_price { flex-grow: 1; margin: 0 3px 0 0; text-align: center; }
.plan_box, .special_box { border-bottom: 0 !important; flex-basis: 0px; }
.special_sub { flex-direction: column; flex-grow: 1; flex-basis: 0px; display: flex; }
.venuepage .special_day { padding-top: 8px; font-size: 1.2rem; background-color: #ffffff0f; }
.special_text { padding: 5px; font-size: .9rem; }
.special_name { padding: 5px; font-size: 1.1rem; }
.special_price { font-size: 1.7rem; padding: 10px 5px 8px; border-top: 0; flex-basis: 0px; }
#specialsbox div.special_box:last-of-type, #wheretoplay .button { margin-right: 0; }
.prorata { margin-top: 10px; font-size: 1rem; }
.current_plan_text { color: #e4c868; font-size: 1.5rem; margin-bottom: 8px; }
.daily_specials { display: flex; flex-wrap: wrap; }
.flex_break { flex-basis: 100%; width: 0; }
.special_name_heading { font-weight: 700; text-decoration: underline; }
.special_name_meal { margin-top: 8px; }
.special1, .special6 { border: 1px solid #c14525; }
.special1background, .special6background { background-color: #c14525; }
.special2, .special7 { border: 1px solid #1c5b7a; }
.special2background, .special7background { background-color: #1c5b7a; }
.special3 { border: 1px solid #1a8a4b; }
.special3background { background-color: #1a8a4b; }
.special4 { border: 1px solid #e0917c; }
.special4background { background-color: #e0917c; }
.special5 { border: 1px solid #9bd745; }
.special5background { background-color: #9bd745; }

/* Services */
.service_item {
    display: inline-block; width: 120px; padding: 10px 5px; margin-right: 3px;
    background-color: #202020; min-height: 116px; vertical-align: top;
    margin-top: 4px; flex-grow: 1; position: relative;
}
div.service_item.simplelist { width: initial; text-align: left; flex-grow: 2; }
.service_item_body { font-size: .8rem; line-height: .9rem; }
.service_item.simplelist ul li {
    line-height: 1.1rem; margin: 0; padding: 0;
    list-style-type: disc; font-size: .9rem;
}
.service_item.simplelist h4 { padding: 5px; margin: 0; color: #e4c868; }
.service_item .optiontext { font-size: .8rem; margin-top: 3px; line-height: 1rem; }
#venue_services { text-align: left; }
.venue_utility_links>span {
    display: inline-block; margin: 1rem 1.5rem 1rem 0;
    color: #e4c868; cursor: pointer;
}
#specials_heading, #venue_slideshow ul li, .box_item_heading h2, .item_content h2, ul.rslides, ul.utility_list { padding: 0; margin: 0; }
#events_heading, #specials_heading {
    text-align: center; background-color: #303030;
    margin-top: 15px; padding: 12px;
}
.spotlight { display: flex; }
.spotlight img { width: 330px; margin-right: 15px; clear: both; }
.venue_services { display: flex; }

/* Opening hours */
.view_opening_hours { background-color: #202020; padding: 14px; margin-bottom: 5px; }
.view_opening_hours>h2 { margin-top: 6px; margin-bottom: 3px; padding-top: 8px; }
.view_opening_hours .highlight_date { color: #cc704b; }
.mobile_item .view_opening_hours {
    max-width: 370px; margin-left: auto; margin-right: auto;
    text-align: center; padding-top: 8px;
}
#venue_plans h3.first_h3, .mobile_item .view_opening_hours h2, .page18 h3.first_h3 { margin-top: 0; }
.meal_hours { margin-bottom: 8px; padding-bottom: 5px; }
.time_item { margin-bottom: 2px; padding-bottom: 3px; }
.time_item span.day_cont { width: 130px; display: inline-block; text-align: left; }
.time_item span.time_cont { display: inline-block; text-align: left; }
.edit_table .time_item { padding-bottom: 0; padding-top: 8px; }
.edit_table .time_item>span:first-of-type { width: 9rem; }
.edit_table>div>span:last-of-type { width: 70%; display: inline-block; }
#venue_hours .edit_table .time_item>div:last-of-type { display: flex; }
.pageaccount .view_opening_hours { padding: 20px; }
.pageaccount .edit_table .time_item { padding-bottom: 0; padding-top: 8px; }
.pageaccount .times_table { padding: 20px 0; }
.details_table .table_item:first-of-type, .pageaccount .edit_table .time_item:first-of-type { border-top: 1px solid #404040; }
.hours-summary {
    font-size: 1.1rem; color: #e4c868; padding: 12px 15px;
    background-color: #303030; border-left: 3px solid #e4c868;
    margin: 0 0 15px 0; border-radius: 0 4px 4px 0;
    text-align: left; line-height: 1.4;
}
.status-open, .status-opening, .status-closed, .always-open { display: flex; align-items: center; }
.status-open:before { content: "\f058"; font-family: "Font Awesome 6 Free"; margin-right: 10px; font-weight: 900; font-size: 1.1rem; color: #1a8a4b; }
.status-opening:before { content: "\f017"; font-family: "Font Awesome 6 Free"; margin-right: 10px; font-weight: 900; font-size: 1.1rem; color: #cc704b; }
.status-closed:before { content: "\f057"; font-family: "Font Awesome 6 Free"; margin-right: 10px; font-weight: 900; font-size: 1.1rem; color: #a72054; }
.always-open:before { content: "\f017"; font-family: "Font Awesome 6 Free"; margin-right: 10px; font-weight: 900; font-size: 1.1rem; }

/* Reviews */
.reviewboxlist { background-color: #303030; padding: 20px; margin-bottom: 3px; display: flow-root; }
.review_list_body {
    display: grid;
    grid-template-areas: "author rating" "time time" "text text";
    gap: 0.5rem;
}
.reviewauthor { grid-area: author; text-align: left; color: #e4c868; }
.reviewauthor span { cursor: pointer; }
.reviewrating { grid-area: rating; justify-self: end; margin: 4px 0; }
.reviewtime { grid-area: time; color: #bbb; font-size: 0.9rem; }
.text { grid-area: text; line-height: 1.5; margin-top: 5px; }
.review_list_response, .review_list_special { background-color: #242424; padding: 8px; margin-top: 10px; }
.pageaccount .review_list_response { margin-top: 0; padding-top: 15px; }
.pageaccount #daily_specials .table_item { border-bottom: 0; padding-bottom: 0; }
.pageaccount .review_list_special { padding: 20px; margin-top: 0; }
.response_heading, .special_heading { color: #e4c868; font-weight: 700; }
.review_list_body strong { font-weight: 600; color: #fff; }
#btnLoadMoreReviews { margin-top: 3px; }

/* Ratings */
.rating { --rating-width: 20px; --rating-height: 20px; --rating-gap: 5px; }
.stars {
    display: inline-block; position: relative;
    width: calc((var(--rating-width) * 5) + (var(--rating-gap) * 4));
    height: var(--rating-height); margin: 4px 0;
    background-image: url('/images/stars_empty.png'), url('/images/stars_empty.png'), url('/images/stars_empty.png'), url('/images/stars_empty.png'), url('/images/stars_empty.png');
    background-size: var(--rating-width) var(--rating-height);
    background-repeat: no-repeat;
    background-position: 0 center, calc(var(--rating-width) + var(--rating-gap)) center, calc((var(--rating-width) + var(--rating-gap)) * 2) center, calc((var(--rating-width) + var(--rating-gap)) * 3) center, calc((var(--rating-width) + var(--rating-gap)) * 4) center;
}
.stars::after {
    content: ''; position: absolute; left: 0; top: 0; height: 100%;
    background-image: url('/images/stars_new.png'), url('/images/stars_new.png'), url('/images/stars_new.png'), url('/images/stars_new.png'), url('/images/stars_new.png');
    background-size: var(--rating-width) var(--rating-height);
    background-repeat: no-repeat;
    background-position: 0 center, calc(var(--rating-width) + var(--rating-gap)) center, calc((var(--rating-width) + var(--rating-gap)) * 2) center, calc((var(--rating-width) + var(--rating-gap)) * 3) center, calc((var(--rating-width) + var(--rating-gap)) * 4) center;
}
.rating[data-rating="1"] .stars::after { width: calc(var(--rating-width) + (var(--rating-gap) * 0)); }
.rating[data-rating="2"] .stars::after { width: calc((var(--rating-width) * 2) + (var(--rating-gap) * 1)); }
.rating[data-rating="3"] .stars::after { width: calc((var(--rating-width) * 3) + (var(--rating-gap) * 2)); }
.rating[data-rating="4"] .stars::after { width: calc((var(--rating-width) * 4) + (var(--rating-gap) * 3)); }
.rating[data-rating="5"] .stars::after { width: 100%; }
.rating_item { width: 26px; height: 26px; display: inline-block; }
.rating_full { background: url('/images/stars_new.png') 0/20px 20px no-repeat; }
.rating_half { background: url('/images/stars_new.png') -76px/20px 20px no-repeat; }
.rating_empty { background: url('/images/stars_new.png') -38px/20px 20px no-repeat; }

/* FAQ */
#faq_list { background-color: #202020; padding: 20px; margin: 20px 0; border-radius: 5px; }
#faq_list h2 { margin-bottom: 25px; text-align: center; }
.faq_item { margin-bottom: 15px; border-bottom: 1px solid rgba(227,179,113,0.2); padding-bottom: 15px; }
.faq_item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.faq_item h3 { font-size: 1.1rem; margin-bottom: 10px; padding-left: 30px; position: relative; }
.faq_item h3:before { content: '_'; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(90deg); color: #E3B371; font-size: 0.9rem; }
.faq_item.expandable h3 { cursor: pointer; }
.faq_item.expandable h3:before { content: '+'; font-size: 1.2rem; transition: transform 0.3s ease; }
.faq_item.expandable.active h3:before { transform: translateY(-50%) rotate(45deg); }
.faq_answer { padding-left: 30px; line-height: 1.5; color: #f9f4ee; }
.faq_item.expandable .faq_answer { display: none; }
.faq_item.expandable.active .faq_answer { display: block; }

/* Map popup / info window */
.infowindow_content { min-height: 200px; width: 100%; overflow-x: hidden; text-align: left; }
.heading_row { display: block; }
.firstHeading { font-weight: 600; font-size: 1.2rem; margin-right: 30px; color: #202020; }
.driving_div { display: block; clear: both; padding: 5px 0; }
.main_content { margin-top: 12px; display: flex; }
.left_content { width: 170px; padding: 2px 5px; }
.bodyContent { color: #333; padding-left: 6px; }
.left_content .imgdiv { height: 120px; overflow: hidden; }
.gm-svpc div img { position: relative !important; }
.gm-ui-hover-effect { top: 0px !important; right: 0px !important; }
.gm-style-iw { width: 400px; }
.number_of_machines, .venue_type { margin-top: 6px; }
.popup_driving_item:before { margin-right: 8px; }
.address_div { margin-top: 8px; }
.infowindow_content .left_content { width: 35%; padding: 0; }
.infowindow_content h4 { margin: 0 0 10px 0; padding: initial; font-weight: 600; font-size: 13px; font-family: roboto; }
.infowindow_content .bodyContent ul { padding-left: 15px; margin: 0; }
.infowindow_content .bodyContent ul li { padding: 0 !important; }
.infowindow_content .bodyContent { width: 65%; margin-left: 5%; position: relative; }
.infowindow_content ul li { list-style-type: initial; line-height: initial; }
.infowindow_content .distance_div { margin-top: 10px; padding-left: 1px; }
.infowindow_content .driving_div { margin-top: 3px; padding-left: 1px; }
.infowindow_content .view_more_item { text-decoration: underline; position: absolute; bottom: 0px; right: 0px; }
.gm-style-iw-c { max-width: 98% !important; }

/* Venue page */
.venuepage h1 { text-align: center; margin-bottom: 3px; }
.venuepage .subheader { text-align: center; margin-bottom: 8px; font-size: larger; }
.venuepage .address_item { margin-top: -3px; margin-bottom: 10px; font-size: 1rem; color: #e4c868; }
#listingleft { max-width: 620px; padding: 15px 0; }
#listingright { display: flow-root; margin: 0 5px 10px 20px; }
#map_area, #reviewbox { padding: 15px 0 0; }
#map_area, #reviewbox h2 { margin-bottom: 5px; }
#reviewbox { margin: 30px 5px 10px 0; }
.flexrow { display: block; }
#venue-map-canvas { overflow: hidden; width: 390px; height: 390px; background-color: #ccc; }
#venue_details_links { display: table !important; margin: auto; min-width: 100%; min-height: 80px; }
#venue_details_links_mobile { min-width: 375px; display: none; }
#venue_ad_space_1 { padding-left: 10px; flex-grow: 1; }
#venue_slideshow { min-height: 330px; overflow: hidden; aspect-ratio: 1/1; position: relative; }
.imageslide img { aspect-ratio: auto 600 / 600; max-width: 100%; height: auto; min-height: 300px; }
#venue_slideshow img, .event_item img, .flexnav li ul { width: 100%; }
.hidden_image { display: none; }
#top_banner_container { min-height: 280px !important; }

/* Slideshow nav */
.next3, .prev3 {
    cursor: pointer; position: absolute; top: 50%; width: auto;
    margin-top: -22px; padding: 16px; color: #fff; font-weight: 700;
    font-size: 18px; transition: .6s; border-radius: 0 3px 3px 0;
    user-select: none; background-color: rgba(0,0,0,.3);
}
.next3 { right: 0; border-radius: 3px 0 0 3px; }
.next3:hover, .prev3:hover { background-color: rgba(0,0,0,.8); }
.slideshow_nav {
    position: absolute; top: 52%; left: 0; opacity: .5; z-index: 3;
    text-indent: -9999px; overflow: hidden; text-decoration: none;
    height: 61px; width: 38px;
    background: url("/js/themes/themes.gif") left top no-repeat;
    margin-top: -45px; -webkit-tap-highlight-color: transparent;
}
.slideshow_nav:active { opacity: 1; }
.slideshow_nav.next { left: auto; background-position: right top; right: 0; }

/* Venue page map */
#venue_slideshow, .input-symbol-dollar, ul.sortable .sortableUtilityRow { position: relative; }
#venue-map-canvas { position: relative; }
.page1 .messagecont { width: 850px; max-width: 90%; line-height: 1.4rem; font-size: 1rem; }
.messagecont { line-height: 1.4rem; width: 650px; margin: auto; text-align: center; }

/* Navigation dropdown */
.dropotron { background: #1d1d1d; border-radius: .5em; list-style: none; margin: 0; min-width: 10em; padding: .75em 1em; }
.dropotron>li { border-top: 1px solid #555; margin: 0; padding: 0; }
.dropotron>li:first-child { border-top: 0; }
.dropotron>li>a { color: #fff; display: block; padding: .5em 0; }
.dropotron.level-0 { margin-top: 1.25em; }
.dropotron.level-0:before { content: ''; position: absolute; border-bottom: .5em solid #444; border-left: .5em solid transparent; border-right: .5em solid transparent; top: -.5em; }
#main-nav ul { font: 120% 'News Cycle', arial; float: right; list-style: none; margin-top: 0; padding-bottom: .5em; }
#main-nav ul li { display: block; margin: 0 1em; padding: .35em 0; border-radius: .5em; }
#main-nav ul li a { font-size: .9rem; }
#main-nav ul li a.active { color: #0074b6; }

/* Where to play */
.whereto { font-size: 1.2rem; display: flex; background-color: #e8e0c4; width: 390px; text-align: center; }
.whereto a { text-decoration: none; }
.whereto.reliefitem { color: #212121; display: block; width: 100%; }
.whereto a, .whereto a:active, .whereto a:visited { color: #212121; }
.whereto a:hover { color: #111; }
#wheretoplay { margin-top: 20px; padding: 20px 30px 10px; text-align: center; }
#wheretoplay ul { padding: 0; margin: 0; text-align: center; }
#wheretoplay, .itemboxlist, .subintro { background-color: #303030; }

/* Events */
.banner_item.venue_page_top { display: flex; flex-direction: column; align-items: center; margin-bottom: 15px; }
.event_item { display: flex; flex-direction: column; box-shadow: 0 0 10px rgb(228 200 104 / 50%); margin: 10px; }
.event_item .body_content { flex-grow: 1; position: relative; gap: 10px; }
.event_item .info_link { position: absolute; bottom: 5px; width: 100%; left: 0; text-align: center; }
.event_item h2 { font-size: 120%; }
.event_item h3 { font-size: 100%; margin: 0; }
.event_item .item_content { text-align: center; margin-bottom: 10px; }
.event_item .item_heading { font-size: 1.05rem; color: #e4c868; margin: 8px 0 3px; }
.event_item .info_cont { font-size: .9rem; text-align: center; margin-top: 5px; }
.event_more h2 { color: #404040; font-weight: 700; margin-bottom: 0; }
.event_more .item_date { margin-bottom: 8px; font-size: .9rem; margin-left: 3px; }
.event_more .info_link a { color: #404040; text-decoration: underline; }
.event_more .info_cont, .event_more .info_link, .mt10 { margin-top: 10px; }
.responsive_events, .responsive_meals { visibility: hidden; margin: 15px auto; max-width: 95%; }
.event_wrapper .body_content, .event_wrapper .box_item_heading { background: rgba(0,0,0,0); }
.event_wrapper .body_content { color: #fff; padding-top: 0; }
div#events_heading { padding: 0; background: 0 0; }
div#events_heading h2 { color: #fff; margin: 2.5rem 0 0; padding: 0; }

/* Plans */
.secure_info { display: flex; margin-top: 50px; }
#eWAYBlock { margin-right: 1rem; }
#eWAYBlock img { width: 200px; }
#secure_text { margin-top: .5rem; max-width: 400px; font-size: .9rem; }
#ssl_info { margin: 7px 1rem 0 0; }
#venue_plans .daily_specials, .page18 .daily_specials { display: initial; margin-bottom: 12px; }
#venue_plans .special_box, .page18 .plan_box { max-width: 500px; margin: 0 auto 10px; }
#venue_plans .special_day, .page18 .special_day { font-size: 1.8rem; margin-top: 20px; }
#venue_plans .special_text>div.included:before, .page18 .special_text>div.included:before { content: '\f00c'; font-family: 'Font Awesome 5 Free'; font-weight: 700; margin-right: 10px; }
#venue_plans .special_text>div.excluded, .page18 .special_text>div.excluded { text-decoration: line-through; color: #ccc; }
#venue_plans .special_plan, .page18 .special_plan { flex-grow: 1; text-align: center; font-size: 1rem; flex-basis: 0px; }
#venue_plans .special_plan .fa, .page18 .special_plan .fa { font-size: 3rem; }
#venue_plans h3, .page18 h3 { margin-top: 18px; margin-bottom: 10px; }
#venue_plans .subintro h2, .page18 .subintro h2 { margin-bottom: 0; padding-bottom: 0; }
.plan_display { font-weight: 700; color: #e4c868; }
.dashboard_row { padding: 7px 0; font-size: 1.1rem; }
.dashboard_row i { margin-right: 10px; display: inline-block; width: 20px; }
.package_link_item { margin-top: 15px; color: #e4c868; display: block; }
.package_upgrade_div { padding: 12px; background-color: #1a8a4b; margin-top: -8px; margin-bottom: 8px; }
.package_upgrade_div>.link_item { color: #fff; font-weight: 700; }
.expiry_message { font-size: .9rem; margin-left: 30px; }
.annual_info { font-size: .9rem; font-weight: 400; }
.btnPlan { margin-left: 10px !important; }

/* Forms */
.fulltextarea { width: 98% !important; height: 10rem; }
.form_settings { margin: 1em 0 0; }
.form_settings p { padding: 0 0 .25em; }
.form_settings span { float: left; width: 22em; text-align: left; }
.form_settings input, .form_settings textarea { padding: .25em; width: 20em; font: 100% arial; margin-bottom: 1em; border: 1px solid #bbb; color: #47433f; }
.form_settings input[type=checkbox] { padding: 0; width: 1em; font: 100% arial; border: 0; color: #47433f; }
.form_settings .submit {
    font-family: 'Source Sans Pro'; border: 1px solid; width: 6em; margin: 0 0 0 14em;
    height: 2em; cursor: pointer; background: #0196e8;
    background: -webkit-linear-gradient(#0196e8, #0074b6);
    background: linear-gradient(#0196e8, #0074b6);
    border-radius: 5px; color: #fff; font-weight: 700;
}
.form_settings .submit:hover { background: linear-gradient(#0074b6, #0196e8); }
select.input { max-width: 545px; width: 100%; padding-top: 8px; padding-bottom: 8px; }
.inputfill { width: 300px; }
.input.inputmedium { width: 200px !important; font-size: .9rem; }
.input.inputlarge { width: 450px !important; font-size: .9rem; }
.page2 .input { max-width: 99%; }
textarea { font: 1rem 'Open Sans', sans-serif; }
#restricted_area_login_form .input, .sidebar-menu { width: 250px; }
.error_container { margin: 20px 0; }
.error_items { display: inline-block; margin: auto; min-width: 300px; }
label.standard_text { font-size: initial; display: inline !important; }
label.error { font-size: .9rem; margin-top: 3px; color: red; font-weight: 400; margin-left: 5px !important; float: right; }
input.error { border: 1px solid red; }
.error_textual, .success_textual { padding: 10px 0; height: 25px; font-size: 1.1rem; }
.success_textual { margin-top: -45px; color: #77a724; }
.error_textual { margin-top: -20px; color: red; }
#btnViewVenue { float: right; }

/* Account pages */
.pageaccount #site_content { max-width: initial !important; }
.pageaccount #footer_container { clear: both; bottom: 0; width: 100%; }
.pageaccount #site_content .container { padding-bottom: 150px; display: flex; }
section.bodycontent { padding-left: 30px; padding-right: 30px; flex-grow: 1; }
.pageaccount .table_item { padding-bottom: 10px; padding-top: 10px; }
.pageaccount .edit_table .table_item { border-bottom: 1px solid #404040; }
#services_table { color: #ccc; background-color: #202020; }
#services_table input[type=checkbox]+label.topoption { color: #fff; }
#services_table input[type=checkbox]:checked+.fa-check-square-item:before,
#services_table input[type=checkbox]:checked+label>.fa-check-square-item:before,
#venue_plans .highlight, .event_item .fancy_link,
.review_list_response .response_heading, .review_list_special .special_heading { color: #e4c868; }

/* Misc utilities */
hr { border: 0; border-top: 1px solid #e4c868; width: 100px; }
blockquote { margin: 2em 0; padding: 1em 2em 0; border: 1px solid #e5e5db; background: #fff; }
table { margin: 1em 0 3em; }
table tr td, table tr th { background: #bbb; padding: .75em .5em; text-align: left; }
table tr td { background: #ddd; color: #47433f; border-top: 1px solid #fff; }
.left { float: left; width: auto; margin-right: 1em; }
.right { float: right; width: auto; margin-left: 1em; }
.center { display: block; text-align: center; margin: 2em auto; }
.imagesubinfo { margin-top: -2px; font-size: .9rem; }
.imagesubinfo_title a, .imagesubinfoinside { color: #666; }
#matched_content, .mt15 { margin-top: 15px; }
#venue_name_div, .mt20 { margin-top: 20px; }
#venue_name_div { text-align: center; }
.mb8 { margin-bottom: 8px; }
.mb10 { margin-bottom: 10px; }
.my5 { margin-bottom: 6px; }
.p10 { padding: 10px; }
.nota { font-size: .8rem; }
.link_item { text-decoration: underline; cursor: pointer; }
.more_item { font-size: .7rem; background-color: #812020; padding: 2px 3px; border-radius: 5px; }
.mainheading { font-size: 140%; margin-bottom: 5px; }
.centred_item { text-align: center; }
.centeredinfo { text-align: center; margin-bottom: 15px; }
.playpokiesfree { padding: 20px; display: inline-block; background-color: #fff; line-height: 1.5rem; }
.blurb_display { margin: 15px auto; background-color: #222; padding: 20px; }
.body_content { background-color: #202020; padding: 20px; }
.intro { background-color: #404040; padding: 20px; }
.itemboxlist { padding: 20px; }
.subintro { padding: 20px; background-color: #303030; }
.box_item { margin-bottom: 15px; }
.box_item_heading { text-align: center; background-color: #303030; padding: 12px; }
.front_page_info.contrast { text-align: left; margin: 15px auto; background-color: #222; padding: 18px; }
#scrolldown { display: none; text-align: center; }
#google_square_div { text-align: center; }
.modal { display: none; position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.4); }
.nsw_results { background-color: #dbca6d; color: #202020; text-align: center; padding: 20px; margin-top: -150px; z-index: 99; position: relative; }
.nsw_results span, .nsw_results a { color: #202020 !important; font-weight: 600; text-decoration: underline !important; cursor: pointer; }
.covid_message { color: #444; z-index: 9999; background-color: #e4c868; padding: 10px; border-radius: 5px; position: fixed; bottom: 4px; }
.fancywidthmedium { padding: 10px; width: 250px; }
.fancywidth { padding: 10px; width: 600px; }
.h1 { font: 140% Poppins, arial; margin: 0 0 1em; padding: 0 0 .5em; color: #e4c868; }
.h2 { font: 140% 'News Cycle', arial, sans-serif; border-bottom: 0; margin-top: -1em; text-transform: none; color: #676767; }
.noprorata>div { text-decoration: none !important; }
ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }

/* Icon fonts */
.fa-question-o:before { content: "\f128"; color: #e4c868; font-size: 3rem; }
.fa-link-o:before { content: "\f0c1"; color: #e4c868; margin-right: 5px; }
.fa-phone-o:before { content: "\f095"; color: #e4c868; margin-right: 5px; }
.fa-car-o:before { content: "\f1b9"; color: #202020; margin-right: 5px; }
.fa-star-o:before { content: "\f005"; color: #e4c868; margin-right: 5px; }
.fa-bus-o:before { content: "\f207"; color: #c14525; font-size: 3rem; }
.fa.goback::before { content: '\f053'; font-size: .8rem; }
.fa-stars::before { content: "\f005"; font-size: 1rem; color: #cc704b; }
.fa-check { color: #1a8a4b; margin-right: 6px; }
.elements_link:after { content: '\f05a'; font-family: 'Font Awesome 5 Free'; font-weight: 700; margin-left: 10px; }
.elements_link, .flexnav .touch-button:hover, .tooltip_item_help { cursor: pointer; }
.tooltip_item_help::before { position: absolute; bottom: 5px; right: 5px; color: #e4c868; font-size: .9rem; }
.tooltip_item.fas::before { font-size: 1rem; margin-right: 10px; }
.tooltip_item.text { margin-top: .8rem; font-size: .9rem; }

/* Input dollar symbol */
.input-symbol-dollar input { padding-left: 18px; }
.input-symbol-dollar:before { position: absolute; top: 10px; content: "$"; left: 5px; color: #202020; font-size: 1.2rem; margin-top: -3px; }

/* Directions */
.directions_car:before { margin-right: 5px; }

/* Sortable images */
ul.sortable { padding: 0; }
ul.sortable li { overflow: hidden; position: relative; cursor: move; padding-bottom: 0 !important; margin-bottom: 15px; float: left; width: 250px; height: 250px; margin-right: 15px; }
ul.sortable.inactive li { cursor: initial; }
ul.sortable li img { width: 100%; height: auto; }
ul.sortable li .sortableUtilityRow { position: absolute; bottom: 0; width: 100%; }
ul.sortable li .sortableUtilityRow img { padding: 8px; cursor: pointer; width: 16px; }
ul.sortable .sortableUtilityActions { background: url(/images/transdark.png); position: absolute !important; left: auto !important; bottom: 0; width: 100% !important; }
ul.sortable .sortableUtilityActions .icheck-item { float: right; display: block; margin-top: 10px; }
.disable-image, .restore-image { color: #fff; margin-top: -35px; position: relative; display: block; margin-left: 58%; margin-bottom: 5px; font-size: .8rem; text-decoration: underline; cursor: pointer; }

/* Tooltipster */
.tooltipster-sidetip .tooltipster-box { background-color: #fff !important; padding: 15px !important; }
.tooltipster-content { color: #202020 !important; }
.close_tooltip { position: absolute; right: 10px; top: 10px; cursor: pointer; }

/* Slick */
.slick-initialized { visibility: visible; }
.responsive_events, .responsive_meals { visibility: hidden; }
.slick-track:after { display: grid; grid-auto-flow: column; gap: var(--gap, 1rem); }
ul.utility_list>li { padding-left: 0; }

/* Town list */
.town_list_container, .top-rated-container { margin: 30px auto; text-align: center; }
.top-rated-container { padding: 0; }
.top-rated-wrapper { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; width: 100%; }
.top-rated-items { padding: 15px; background-color: #303030; border-radius: 4px; transition: all 0.2s ease; border-bottom: 3px solid #e4c868; text-align: center; }
.top-rated-items:hover { transform: translateY(-2px); }
.top-rated-items a { color: #f9f4ee; text-decoration: none; display: block; line-height: 1.4; }
.top-rated-items i { font-size: 0.7rem; opacity: 0.8; color: #e4c868; float: right; margin-top: 3px; }

/* Nearby list */
#ul_nearby li { text-align: left; }
#ul_nearby li a { border: solid #e4c868 1px; }
#ul_nearby { margin-top: 10px; padding: 0; }

/* Suburb focus */
.suburb_focus { margin: -25px 0 15px 0; line-height: 1.5; background-color: #202020; padding: 8px; }

/* Tram */
.tram_span img { width: 30px; top: -2px; margin-right: 3px; }
span.tram_span { display: inline-block; padding: 5px 10px 5px 5px; margin-left: 20px; font-size: .9rem; background-color: #080504; border-radius: 5px; float: right; }
.tram_span_text { margin-top: 3px; display: inline-block; }

/* RSL */
#rsl_flag_div { margin-bottom: 5px; }

/* Breadcrumbs */
#breadcrumbs { max-width: 1200px; margin: auto; padding: 10px; }
#breadcrumbs>div { padding: 10px; }

/* Explore section */
.explore-section { background: linear-gradient(135deg, #2a2a2a 0%, #1f1f1f 100%); border: 1px solid #444; border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center; position: relative; overflow: hidden; }
.explore-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #d4af37, #f4d03f, #d4af37); }
.explore-section h3 { color: #d4af37; font-size: 18px; margin: 0 0 10px 0; font-weight: bold; }
.explore-link { display: inline-block; background: transparent; color: #d4af37; text-decoration: none; padding: 12px 28px; border: 2px solid #d4af37; border-radius: 25px; font-weight: 600; font-size: 15px; transition: all 0.3s ease; letter-spacing: 0.3px; position: relative; overflow: hidden; }
.explore-link:before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(212,175,55,0.1), transparent); transition: left 0.5s ease; }
.explore-link:hover { background: rgba(212,175,55,0.1); color: #f4d03f; border-color: #f4d03f; transform: translateY(-1px); }
.explore-link:hover:before { left: 100%; }
.explore-description { color: #bbb; margin: 15px 0; font-size: 14px; line-height: 1.4; }

/* Page-specific */
.page4 #site_content .container { padding: 30px; }
.page4 ul { margin: 0 0 20px; }
.page4 ul li { list-style-type: disc; }
.page4 h2 { margin-bottom: 10px; padding-bottom: 0; }
.page10 ul li { list-style-type: initial; }
.pageitem h2, .pageitem h3, .pageitem h4 { margin-top: 10px; margin-bottom: 3px; }
.pageitem li { list-style-type: initial; }
.sipnsave_icon { float: left; margin-right: 8px; background-color: #fd0; }
.survey_item { background-color: orange; padding: 8px; color: #222; text-align: center; font-weight: bold; }
.survey_item_link { padding: 10px; display: block; padding-bottom: 0; text-decoration: none; }
.survey_item:hover { background-color: #f1b74e; }
.option_items>div::before { content: '-'; margin-right: 10px; }
.option_items>div { margin-left: 15px; }
.option_items>div.andmore::before { content: ''; margin-right: 60px; }
.intro.heading_only h2 { margin: initial; padding: initial; }
.mealtype_checkbox { display: inline-block !important; }
.fancybox-inner h3 { color: #202020; }
ul.list_disc>li { list-style-type: disc !important; }
ul.erslides { margin-left: 20px; }
ul.erslides li { padding-left: 10px; }
.content_data { min-width: 550px; max-width: 98%; }
ol { margin: .1em 0 2em 2em; }
ol li { margin: 0 0 .5em; }
#banner { text-align: center; box-shadow: rgba(0,0,0,.5) 0 3px 5px; }
#sidebar { margin: 2em 0; text-shadow: 1px 1px #fff; background: url(../images/transparent.png); padding: 1em 1em 1em 2em; border-radius: 7px; box-shadow: rgba(0,0,0,.5) 0 3px 5px; }

/* Responsive - non-critical breakpoints */
@media (max-width: 1260px) { .venuebox { width: 90%; } }
@media (max-width: 1025px) {
    .hide_device_item { display: none; }
    .device_item { display: block; }
}
@media all and (max-width: 780px) {
    .mobile_para { display: inline-block; margin-top: 15px; }
    #locbox, .reviewrating { text-align: center; }
    #locbox { max-width: 85%; }
    #map_area, .pageaccount #site_content .container { display: block; }
    #venue_ad_space_1 { padding-left: 0; padding-top: 5px; display: none; flex-grow: unset; min-height: 50px; }
    #venue_details_links_mobile { min-width: 375px; display: table; }
    #venue_details_links { width: 0; display: none !important; }
    #venue_slideshow { width: 100%; overflow: hidden; }
    .whereto { width: 100%; margin-left: 0; text-align: center; }
    .whereto a { width: 100%; }
    #main-nav>ul { left: -240px; width: 240px; background-color: #fff; }
    section.bodycontent { padding-left: 0; }
    h2 { margin-top: 20px; }
    .venue_services { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 1rem; }
    span.service_item.simplelist { width: 120px; }
    #listingleft { max-width: initial; }
    .imagesubinfo { text-align: center; }
    #venue-map-canvas { width: initial; margin-bottom: 7px; }
    .time_item span:first-of-type, .time_item span:last-of-type { width: initial; text-align: center; }
    .view_opening_hours { text-align: center !important; width: 100%; }
    .review_list_body { grid-template-areas: "author" "rating" "time" "text"; }
    .reviewauthor { text-align: center; }
}
@media (max-width: 680px) { #div_venues, #venue-map-canvas { width: 100%; } }
@media (max-width: 600px) {
    #wheretoplay, .imagesubinfo { text-align: center; }
    #locbox .button { width: 80%; display: block; margin: auto auto 8px; }
    #map_area { margin-top: 15px; }
    #reviewbox { padding: 15px 5px 0 10px; }
    .edit_table>div>span:last-of-type, .view_opening_hours { width: 100%; }
    #venue_ad_space_1 { padding-left: 0; }
    #listingright { margin: 0 5px 10px; }
    .container ul:not(.rslides):not(.simplelist ul) { text-align: initial; padding-left: 0; }
    .input.inputlarge, .input.inputmedium { width: 98% !important; }
    .pageaccount .times_table { padding: 20px 0; }
    .pageaccount .view_opening_hours { padding: 0; }
}
@media (max-width: 480px) {
    .covid_message { max-width: 460px; }
    #map_area { margin-top: 15px; }
    #restricted_area_login_form .input { width: 90%; }
    span.service_item.simplelist { flex-grow: 1; }
    span.service_item .tooltip_item_help:before { font-size: 1.3rem; right: 8px; bottom: 8px; }
}
@media (max-width: 395px) {
    #venue-map-canvas { width: 100%; height: 365px; }
    .covid_message { max-width: 375px; }
}
@media (max-width: 360px) {
    #venue-map-canvas { width: 100%; height: 310px; }
    .covid_message { max-width: 340px; }
    .gm-style-iw { width: 310px; }
}
@media (max-width: 320px) {
    #listingright { padding-left: 10px; }
    #venue-map-canvas { width: 100%; height: 310px; }
    .covid_message { max-width: 300px; }
}
@media (max-width: 400px) { .gm-style-iw { width: 350px; } }
@media (max-width: 300px) { .gm-style-iw { width: 250px; } }
@media all and (min-width: 780px) {
    .flexnav li ul li a { text-transform: none; font-weight: 400; padding: 10px 16px; }
    .flexnav li ul li a { background: #064b92; border-bottom: 1px solid #2067b1; }
    .flexnav li ul li ul li a { background: #197ebf; border-bottom: 1px solid #3193d2; }
    .flexnav li ul.open li { overflow: visible; max-height: 100px; }
    #matched_content { margin-top: 10px; }
    #listingright { padding: 10px 5px 0 20px; }
    #map_area, #reviewbox { padding: 15px 0 0; }
    #reviewbox { margin: 30px 0 10px; }
}
@media all and (min-width: 520px) { #venue_slideshow { min-height: 480px; } }
@media all and (min-width: 700px) { #venue_slideshow { min-height: 600px; } }
@media all and (min-width: 460px) and (max-width: 480px) { #top_banner_container { min-height: 400px !important; } }
@media all and (min-width: 1024px) {
    .content_data { min-width: 900px; max-width: 98%; }
    #venue_slideshow { width: 600px; height: 600px; }
    .flexrow { display: flex; }
}
@media all and (min-width: 1280px) {
    .content_data { min-width: 900px; max-width: 98%; }
    #venue_slideshow { width: 600px; height: 600px; }
}
@media all and (min-width: 1380px) {
    .content_data { min-width: 1100px; max-width: 98%; }
    .pageaccount .content_data { min-width: 110px; max-width: 100%; }
    .flexnav li { float: left; }
    #main-nav ul li { display: inline-block; }
    .flexnav li a { padding: 0; }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) and (orientation: portrait) {
    .frontend div, .frontend p { text-align: left; }
}
@media (max-width: 940px) {
    .town_list_container, .top-rated-container { max-width: 95%; margin: 30px auto; }
    .top-rated-wrapper { grid-template-columns: 1fr; }
}
@media (min-width: 780px) {
    .navigationarea ul { margin: 0 !important; padding-left: 0; }
}
