:root
{
	color-scheme: only light;
	--gutter: clamp(0.75rem, 3vw, 2rem);
}

html
{
	touch-action: manipulation;
}

body
{
	margin:0;
	height:100%;
	font-family: "News Cycle", sans-serif;
	font-size:14px;
	background-color:#dddddd;
	color:#1c1c1c;
	-webkit-text-size-adjust:none;
	text-size-adjust:none;
	-webkit-font-smoothing: antialiased;
	-webkit-tap-highlight-color:transparent;
	-khtml-user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-ms-user-select:none;
	user-select:none;
	line-height:1.5;
}

td
{
	margin:0;
	padding:0;
}

select, option, button
{
	font-family: Arial, sans-serif;
	cursor:pointer;
	border:0;
}

input[type=text][disabled],input[type=password][disabled],input[type=number][disabled],select:disabled, option:disabled, button:disabled
{
	opacity: 0.5;
	cursor: default;
}

a, a:active, a:visited
{
	text-decoration:none;
	font-weight:700;
	color:#0099cc;
	-webkit-text-decoration-color:#0099cc;
	text-decoration-color:#0099cc;
}

a.caution_text, a.caution_text:active, a.caution_text:visited
{
	color:#ed7014;
	-webkit-text-decoration-color:#ed7014;
	text-decoration-color:#ed7014;
}

a.warning_text, a.warning_text:active, a.warning_text:visited
{
	color:#ff0000;
	-webkit-text-decoration-color:#ff0000;
	text-decoration-color:#ff0000;
}

a:hover
{
	text-decoration:underline;
}

select
{
	text-align:center;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	border-radius:3px;
	background-image:url('../sysimg/dropdown_black.webp');
	background-size:10px;
	background-repeat:no-repeat;
	background-position:calc(100% - 0.5em) 50%;
	padding-right:calc(10px + 0.9em) !important;
}

.white_theme
{
	color:#1c1c1c;
	transition:background-color 0.1s ease, color 0.1s ease, opacity 0.1s ease;
}

.black_theme
{
	color:#dddddd;
	transition:background-color 0.1s ease, color 0.1s ease, opacity 0.1s ease;
}

select.white_theme
{
	background-color:#fdfdfd;
	border:1px solid #cfd8de;
}

#dateselector select.white_theme, #dateselector input.white_theme
{
	box-sizing:border-box;
	width:100%;
	height:3.2em;
	margin:0;
	padding:0 0.85em;
	border:0;
	border-radius:12px;
	background-color:#fdfdfd;
	color:#1c1c1c;
	font-size:1.05em;
	text-align:left;
	text-overflow:ellipsis;
	box-shadow:0 1px 2px rgba(0,0,0,0.15);
}

select.black_theme
{
	background-color:rgba(0,153,204,0.5);
}

input.checkbold:checked ~ span
{
	font-weight:700;
}

input.checkbold ~ span::before
{
	display:block;
	content:attr(data-checkbold-content);
	font-weight:700;
	height:0;
	overflow:hidden;
	visibility:hidden;
}

input.checkbold ~ span
{
	display:inline-block;
}

input[type=radio][disabled] + span[data-checkbold-content]
{
	text-decoration: line-through;
}

input[type=text],input[type=number],input[type=password],input[type=email],input[type=tel],input[type=date],textarea
{
	-khtml-user-select:initial;
	-moz-user-select:initial;
	-webkit-user-select:initial;
	-ms-user-select:initial;
	user-select:initial;
	font-family: Arial, sans-serif;
}

input.white_theme[type=text],input.white_theme[type=number],input.white_theme[type=password],input.white_theme[type=email],input.white_theme[type=tel],input.white_theme[type=date],textarea.white_theme
{
	border:1px solid #cfd8de;
	border-radius:10px;
	background-color:#fdfdfd;
	transition:border-color 0.1s ease, box-shadow 0.1s ease;
}

input.white_theme[type=text]:focus,input.white_theme[type=number]:focus,input.white_theme[type=password]:focus,input.white_theme[type=email]:focus,input.white_theme[type=tel]:focus,input.white_theme[type=date]:focus,textarea.white_theme:focus,select.white_theme:focus
{
	background-color:#fdfdfd;
	border-color:#0099cc;
	box-shadow:0 0 0 3px rgba(0,153,204,0.15);
}

input.white_theme[type=date]
{
	cursor:pointer;
}

input.white_theme.like_normal_text
{
	font-family: "News Cycle", sans-serif;
	background-color: transparent;
}

/*#noticebox, #headerboxparent, #contentbox, #footer_logo, #global_navigation, #global_copyright
{
	-webkit-tap-highlight-color:transparent;
	-khtml-user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-ms-user-select:none;
	user-select:none;
}*/

#printable
{
	display: none;
}

.printshow
{
	display: none;
}

.selectable_text
{
	-khtml-user-select:text;
	-moz-user-select:text;
	-webkit-user-select:text;
	-ms-user-select:text;
	user-select:text;
}

.selectable_text a
{
	-khtml-user-select:text;
	-moz-user-select:text;
	-webkit-user-select:text;
	-ms-user-select:text;
	user-select:text;
}

input:focus,select:focus,textarea:focus,button:focus
{
	outline:none;
}

::-webkit-input-placeholder
{
	color:#bbbbbb;
	font-style:italic;
}

:-ms-input-placeholder
{
	color:#bbbbbb;
	font-style:italic;
}

::placeholder
{
	color:#bbbbbb;
	font-style:italic;
}

#noticebox
{
	box-sizing:border-box;
	background-color:#fdfdfd;
	border-radius:18px;
	padding:clamp(1.25em,4vw,2em);
	box-shadow:0 20px 50px rgba(0,0,0,0.35);
	min-width:min(230px,calc(100% - 2 * var(--gutter)));
	max-width:min(36em,calc(100% - 2 * var(--gutter)));
	max-height:calc(100% - 6em);
	overflow:auto;
	/* centred with auto margins rather than left:50%, which capped the popup at half the screen width on phones */
	top:50%;
	left:0;
	right:0;
	margin:0 auto;
	width:fit-content;
	transform:translateY(-50%);
}

#footer_logo
{
	margin-top:2.5em;
	text-align:center;
}

#footer_logo img
{
	width:auto;
	height:58px;
}

#payment_methods_logo
{
	margin-top:3em;
	margin-bottom:2.5em;
}

#payment_methods_logo .payment_methods_logo_flexbox
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:1.5em 2.5em;
	margin-left:2em;
	margin-right:2em;
}

#payment_methods_logo .payment_methods_logo_flexbox .payment_methods_logo_flexbox_item
{
	min-width:0;
	min-height:0;
}

/* The button that opens the right side panel below, in every header it appears in: a
   round hit area that stays invisible until it is hovered or pressed, so it answers a
   pointer the way the panel's own close button does without painting a permanent chip
   over the header photo. */
.rightmenutrigger
{
	box-sizing:border-box;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1.55em;
	height:1.55em;
	border-radius:999px;
	background-color:transparent;
	cursor:pointer;
	transition:background-color 0.1s ease, color 0.1s ease;
}

/* Held while a finger is down on it: `:hover` is behind (pointer:fine), and `:active`
   needs a touch listener on the element before iOS will honour it, so the scripts
   carry the pressed state and the colours stay here. */
.rightmenutrigger.rightmenutrigger_pressed
{
	background-color:#f1f5f7;
	color:#0088b8;
}

.logoheadertable .logoheader_menu .rightmenutrigger.rightmenutrigger_pressed
{
	background-color:rgba(253,253,253,0.22);
	color:#fdfdfd;
}

/* Right side panel: a drawer over a scrim, shared by the booking site and hostxcess.
   The slide is a transform so it is composited, and `.rightmenu_open` is the only
   state the scripts toggle -- they must not write `display` or `right` inline,
   or the closed drawer stays in the layout and in the tab order. */
#rightmenu
{
	position:fixed;
	top:0;
	right:0;
	z-index:5;
	box-sizing:border-box;
	width:min(21rem, calc(100vw - 4.5rem));
	height:100%;
	display:flex;
	flex-direction:column;
	row-gap:0.25em;
	padding:0;
	background-color:#fdfdfd;
	border-radius:20px 0 0 20px;
	box-shadow:-14px 0 36px rgba(12,18,22,0.22);
	transform:translateX(100%);
	visibility:hidden;
	transition:transform 0.25s ease, visibility 0.25s ease;
}

#rightmenu.rightmenu_open
{
	transform:none;
	visibility:visible;
}

/* Header and footer hold their height; only the list between them scrolls, so the
   drawer never depends on a hardcoded content height. */
#rightmenu .rightmenu_header
{
	flex:none;
	display:flex;
	align-items:flex-start;
	column-gap:0.5em;
	padding:1.25em 1.25em 1em 1.25em;
	border-bottom:1px solid #edf1f3;
}

#rightmenu .rightmenu_header .rightmenu_brand
{
	flex:1 1 auto;
	min-width:0;
}

#rightmenu .rightmenu_header .rightmenu_brand img
{
	display:block;
	width:auto;
	height:42px;
	pointer-events:none;
}

#rightmenu .rightmenu_close
{
	flex:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	width:2.5em;
	height:2.5em;
	padding:0;
	border:1px solid #dfe6ea;
	border-radius:999px;
	background-color:#fdfdfd;
	color:#6b7278;
	font-size:1em;
	line-height:1;
	cursor:pointer;
	transition:background-color 0.1s ease, color 0.1s ease;
}

#rightmenu .rightmenu_body
{
	flex:1 1 auto;
	min-height:0;
	overflow-y:auto;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
	padding:0.75em;
}

#rightmenu .rightmenu_selectors
{
	display:flex;
	flex-direction:column;
	row-gap:0.5em;
	margin-bottom:0.75em;
	padding-bottom:0.75em;
	border-bottom:1px solid #edf1f3;
}

#rightmenu .rightmenu_selectors select.white_theme
{
	box-sizing:border-box;
	width:100%;
	padding:0.6em 1em;
	border-radius:10px;
	font-size:1em;
	font-weight:700;
}

#rightmenu .rightmenu_footer
{
	flex:none;
	padding:0.9em 1.25em 1.1em 1.25em;
	border-top:1px solid #edf1f3;
	color:#8a9399;
	line-height:1.35;
	text-align:center;
}

/* One row per destination: the chevron is the affordance, so no divider rules and
   no :last-child padding exceptions. */
.rightmenulist
{
	display:flex;
	align-items:center;
	column-gap:0.75em;
	padding:0.8em 0.9em;
	border-radius:12px;
	font-weight:700;
	font-size:1.05em;
	line-height:1.3;
	text-align:left;
	color:#4f575d;
	cursor:pointer;
	transition:background-color 0.1s ease, color 0.1s ease;
}

.rightmenulist > .rightmenulist_icon
{
	flex:0 0 1.35em;
	text-align:center;
	color:#0099cc;
	font-size:1.05em;
}

.rightmenulist > .rightmenulist_label
{
	flex:1 1 auto;
	min-width:0;
}

.rightmenulist > .rightmenulist_chevron
{
	flex:none;
	font-size:0.75em;
	color:#c2cbd1;
}

#global_navigation
{
	
	width:calc(100% - 6em);
	margin:3em 3em 5em 3em;
	/*margin-bottom:1em;*/
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	align-items:flex-start;
	gap:6em 6em;
}

/*#global_navigation .global_navigation_section
{
	margin:2em;
}*/

#global_navigation .global_navigation_section .global_navigation_section_header
{
	font-weight:700;
	font-size:1.5em;
	padding:0.15em;
	color:#666666;
	text-align:center;
}

#global_navigation .global_navigation_section .global_navigation_section_header::after
{
	content:"";
	width:80px;
	height:2px;
	background-color:#aaaaaa;
	display:block;
	margin:1em auto;
	border-radius:1px;
}

#global_navigation .global_navigation_section .global_navigation_section_content
{
	font-weight:700;
	font-size:1.15em;
	padding:0.15em;
	color:#777777;
	text-align:center;
}

#global_navigation .global_navigation_section .global_navigation_section_content_icon
{
	font-size:2.25em;
}

#global_navigation .global_navigation_section .global_navigation_section_content a,
#global_navigation .global_navigation_section .global_navigation_section_content a:active,
#global_navigation .global_navigation_section .global_navigation_section_content a:visited,
#global_navigation .global_navigation_section .global_navigation_section_content_icon a,
#global_navigation .global_navigation_section .global_navigation_section_content_icon a:active,
#global_navigation .global_navigation_section .global_navigation_section_content_icon a:visited
{
	color:#777777;
	-webkit-text-decoration-color:#777777;
	text-decoration-color:#777777;
}

#global_navigation .global_navigation_section .global_navigation_section_content_icon_container
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:0.5em 3em;
	color:#777777;
}

#global_copyright
{
	font-size:1em;
	margin-top:1em;
	margin-bottom:1em;
	text-align:center;
	color:#777777;
	padding:1em;
	line-height:120%;
}

select.lang_selector, select.country_selector
{
	font-size:0.9em;
}

/* Search: one frosted card whose fields wrap from a single row on desktop to one per line on phones */
.search_card
{
	box-sizing:border-box;
	width:calc(100% - 2 * var(--gutter));
	max-width:66rem;
	margin:clamp(0.75em,2vw,1.25em) auto 0 auto;
	padding:clamp(0.9em,2.5vw,1.4em);
	border-radius:20px;
	background-color:rgba(10,20,30,0.38);
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
	border:1px solid rgba(255,255,255,0.16);
	text-shadow:none;
}

.search_fields
{
	display:flex;
	flex-wrap:wrap;
	gap:0.85em 0.9em;
	text-align:left;
}

.search_field
{
	flex:1 1 11.5em;
	min-width:0;
	display:flex;
	flex-direction:column;
	row-gap:0.35em;
}

.search_field.search_field_wide
{
	flex:1.4 1 14em;
}

#dateselector #datesloader
{
	position:absolute;
}

.search_field label
{
	font-size:0.95em;
	font-weight:700;
	color:#fdfdfd;
}

.search_actions
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:0.75em 1.5em;
	margin-top:1.1em;
}

.search_days
{
	font-family:Helvetica, sans-serif;
	font-weight:700;
	font-size:clamp(1.15em,0.9em + 0.8vw,1.5em);
	text-transform:uppercase;
	color:#fdfdfd;
}

.search_actions .searchtime
{
	flex:1 1 16em;
	max-width:26em;
	box-sizing:border-box;
	min-height:3.2em;
	padding:0.75em 1.5em;
	border-radius:12px;
	font-size:1.05em;
	font-weight:700;
	color:#fdfdfd;
	box-shadow:0 6px 16px rgba(237,112,20,0.35);
}

.search_enquiry
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:0.5em 0.75em;
	margin:1.1em auto 0.1em auto;
	font-weight:700;
}

.search_enquiry_text
{
	color:#edab58;
	font-size:1.15em;
}

.search_enquiry .theme_btn
{
	font-size:0.9em;
	padding:0.55em 1.4em;
	border-radius:999px;
	color:#fdfdfd;
}

.datecontainerloader
{
	transition:opacity 0.3s ease;
	opacity:0;
}

.header
{
	font-size:clamp(1.4em,0.8em + 2.9vw,3em);
	margin-bottom:0.35em;
	padding:0 var(--gutter);
}

/* Hero logo row: logo centred, menu on the right, spacing scales with the viewport */
.logoheadertable
{
	position:relative;
	display:grid;
	grid-template-columns:1fr minmax(0,14em) 1fr;
	align-items:center;
	column-gap:0.5em;
	box-sizing:border-box;
	width:calc(100% - 2 * var(--gutter));
	max-width:72rem;
	margin:0 auto;
	padding-top:clamp(0.9em,2.5vw,1.5em);
	min-height:clamp(58px,3vw + 44px,85px);
	color:#fdfdfd;
}

.logoheadertable .logoheader.clickablelogo
{
	height:clamp(38px,2.5vw + 28px,56px);
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
	cursor:pointer;
}

.logoheadertable .logoheader_menu
{
	text-align:right;
}

.logoheader .check_booking_btn
{
	font-size:1em;
}

#daycounter
{
	margin-top:0;
}

.type_selector, .with_driver_selector, .car_details_header_selector
{
	color:#dddddd;
}

.type_selector_active, .with_driver_selector_active
{
	background-color:#22bbee;
	color:#fdfdfd;
}

/* Callout for notes and requirements (replaces the bright yellow boxes) */
.notice_callout
{
	box-sizing:border-box;
	padding:1em 1.15em;
	background-color:#fff8e6;
	border:1px solid #f6dfa4;
	border-left:4px solid #f0a500;
	border-radius:12px;
	color:#3d3320;
	line-height:1.5;
}

/* Car cards: photo and details sit side by side when there is room and stack otherwise */
.list_ani_parent
{
	box-sizing:border-box;
	width:calc(100% - 2 * var(--gutter));
	max-width:60rem;
	margin:1em auto 1em auto;
	background-color:#fdfdfd;
	border-radius:18px;
	border-width:0;
	border-color:#0099cc;
	border-style:solid;
	box-shadow:0 2px 10px rgba(0,0,0,0.07);
	overflow:hidden;
	transition:background-color 0.1s ease;
	font-size:clamp(13px,0.35vw + 11.5px,16px);
}

.list_card_row
{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:0.5em clamp(1em,3vw,2em);
	padding:clamp(1em,2.5vw,1.5em);
}

.list_card_media
{
	flex:1 1 14em;
	max-width:22em;
	margin:0 auto;
	padding:0.25em;
	box-sizing:border-box;
}

.list_card_body
{
	flex:999 1 20em;
	min-width:0;
}

.list_ani_parent.list_ani_parent_preferred
{
	background-color:#fdfdfd;
	border-width:2px;
	border-style:solid;
	border-color:#ed7014;
	transition:border-color 0.1s ease;
}

.host_comparison_container
{
	padding:clamp(0.5em,2vw,1em);
	background-color:#f4f6f8;
	border-top:1px solid #e6eaed;
}

/*.provider_list:nth-child(odd)
{
	background-color:#f1f1f1;
}

.provider_list:nth-child(even)
{
	background-color:#fafafa;
}*/

.provider_list
{
	margin:0.6em 0;
	background-color:#fdfdfd;
	border:1px solid #e3e8eb;
	border-radius:14px;
}

.provider_list.provider_list_preferred, .provider_list.provider_list_preferred:not(:last-of-type), .provider_list.provider_list_preferred:last-of-type
{
	background-color:#fdfdfd;
	border-radius:14px;
	border-width:2px;
	border-style:solid;
	border-color:#ed7014;
	transition:border-color 0.1s ease;
}

#secondheader
{
	box-sizing:border-box;
	width:calc(100% - 2 * var(--gutter));
	max-width:34em;
	margin:0.25em auto 0.75em auto;
	padding:clamp(0.9em,2.5vw,1.25em);
	border-radius:20px;
	background-color:rgba(10,20,30,0.38);
	-webkit-backdrop-filter:blur(8px);
	backdrop-filter:blur(8px);
	border:1px solid rgba(255,255,255,0.16);
	text-shadow:none;
}

#secondheader .changedatebtn
{
	border-radius:12px !important;
	padding:0.7em 1em !important;
}

#secondheadertime
{
	font-size:clamp(1em,0.9em + 0.4vw,1.2em);
}

.error_field
{
	outline: 2px solid #ff0000;
}

.theme_text, .caution_text, .warning_text, .white_text, .black_text
{
	font-weight:700;
}

.theme_text
{
	color:#0099cc;
	-webkit-text-decoration-color:#0099cc;
	text-decoration-color:#0099cc;
}

.caution_text
{
	color:#ed7014;
	-webkit-text-decoration-color:#ed7014;
	text-decoration-color:#ed7014;
}

.warning_text
{
	color:#ff0000;
	-webkit-text-decoration-color:#ff0000;
	text-decoration-color:#ff0000;
}

.white_text
{
	color:#fdfdfd;
	-webkit-text-decoration-color:#fdfdfd;
	text-decoration-color:#fdfdfd;
}

.black_text
{
	color:#1c1c1c;
	-webkit-text-decoration-color:#1c1c1c;
	text-decoration-color:#1c1c1c;
}

.theme_bg, .highlight_bg, .caution_bg, .warning_bg, .white_bg, .black_bg
{
	font-weight:700;
}

.theme_bg, .highlight_bg, .caution_bg, .warning_bg, .black_bg
{
	color:#fdfdfd;
	-webkit-text-decoration-color:#fdfdfd;
	text-decoration-color:#fdfdfd;
}

.white_bg
{
	color:#1c1c1c;
	-webkit-text-decoration-color:#1c1c1c;
	text-decoration-color:#1c1c1c;
}

.theme_bg
{
	background-color:#0099cc;
}

.highlight_bg
{
	background-color:#22bbee;
}

.caution_bg
{
	background-color:#ed7014;
}

.warning_bg
{
	background-color:#ff0000;
}

.white_bg
{
	background-color:#fdfdfd;
}

.black_bg
{
	background-color:#1c1c1c;
}

.theme_btn, .green_btn, .caution_btn, .warning_btn, .share_btn, .black_btn
{
	font-size:1.2em;
	padding:0.66em;
	font-weight:700;
	border-radius:0.5em;
	border:0;
	transition:background-color 0.1s, color 0.1s, opacity 0.1s ease;
}

.theme_btn
{
	background-color:#0099cc;
	color:#fdfdfd;
}

.green_btn
{
	background-color:#00a651;
	color:#fdfdfd;
}

.caution_btn
{
	background-color:#ed7014;
	color:#fdfdfd;
}

.warning_btn
{
	background-color:#ff0000;
	color:#fdfdfd;
}

.share_btn
{
	background-color:#eeeeee;
	color:#1c1c1c;
}

.black_btn
{
	background-color:#1c1c1c;
	color:#fdfdfd;
}

.loading
{
	background-image:url('../sysimg/loading-theme.gif');
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center;
	display:inline-block;
	width:59px;
	height:9px;
}

.loading.loading_textsize
{
	width:39px;
	height:6px;
}

.loading.loading_theme
{
	background-image:url('../sysimg/loading-theme.gif');
}

.loading.loading_highlight
{
	background-image:url('../sysimg/loading-highlight.gif');
}

.loading.loading_caution
{
	background-image:url('../sysimg/loading-caution.gif');
}

.loading.loading_black
{
	background-image:url('../sysimg/loading-black.gif');
}

.loading.loading_white
{
	background-image:url('../sysimg/loading-white.gif');
}

.loading.loading_gray
{
	background-image:url('../sysimg/loading-gray.gif');
}

.loading.loading_initiallogo
{
	background-image:url('../sysimg/loading-initiallogo.gif');
}

.subheader td
{
	text-align:center;
}

.subheader td:nth-child(2)
{
	padding-left:4em;
	padding-right:4em;
}

.subheader td:nth-child(1), .subheader td:nth-child(3)
{
	width:150px;
}

.topbar
{
	position:fixed;
	z-index:4;
	top:-100%;
	left:0;
	width:100%;
	box-shadow:0 1px 3px #aaaaaa;
	padding:1.25em 2em 1em 2em;
	box-sizing:border-box;
}

.topbar_bg
{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#fdfdfd;
	opacity:1;
	z-index:-1;
}

.topbar_content
{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}

.booking_popup
{
	box-sizing:border-box;
	position:fixed;
	z-index:7;
	left:32px;
	bottom:32px;
	width:380px;
	max-width:calc(100vw - 64px);
	display:flex;
	align-items:center;
	column-gap:0.9em;
	padding:0.9em 1.1em 1.05em 0.9em;
	overflow:hidden;
	background-color:#fdfdfd;
	border:1px solid rgba(15,23,42,0.06);
	border-radius:14px;
	box-shadow:0 14px 34px rgba(15,23,42,0.18),0 2px 6px rgba(15,23,42,0.08);
	color:#333333;
	font-size:1.1em;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transform:translateY(24px) scale(0.96);
	transition:opacity 0.45s ease,transform 0.6s cubic-bezier(0.16,1,0.3,1),visibility 0s linear 0.6s;
}

.booking_popup.is_visible
{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transform:none;
	transition:opacity 0.45s ease,transform 0.6s cubic-bezier(0.16,1,0.3,1),visibility 0s;
}

.booking_popup_icon
{
	flex-shrink:0;
	width:2.8em;
	height:2.8em;
	border-radius:12px;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:#fdecec;
	color:#e53935;
	font-size:1.1em;
}

.booking_popup_label
{
	display:flex;
	align-items:center;
	column-gap:0.5em;
	font-size:0.75em;
	font-weight:700;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:#e53935;
}

.booking_popup_dot
{
	position:relative;
	flex-shrink:0;
	width:0.6em;
	height:0.6em;
	border-radius:50%;
	background-color:#e53935;
}

.booking_popup_dot::after
{
	content:"";
	position:absolute;
	inset:0;
	border-radius:50%;
	background-color:#e53935;
	animation:booking_popup_ping 1.4s cubic-bezier(0,0,0.2,1) infinite;
}

.booking_popup_car
{
	margin-top:0.15em;
	font-family:Newsreader,serif;
	font-weight:700;
	font-size:1.25em;
	line-height:1.2;
	color:#1f2328;
	overflow-wrap:anywhere;
}

.booking_popup_meta
{
	display:flex;
	flex-wrap:wrap;
	gap:0.2em 0.9em;
	margin-top:0.3em;
	font-size:0.85em;
	font-weight:700;
	color:#374151;
}

.booking_popup_meta i
{
	margin-right:0.35em;
	color:#6b7280;
}

/* drains over the 6.5s the popup stays up (index.php loopRecentBooking) */
.booking_popup_progress
{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:3px;
	background:linear-gradient(90deg,#ff7a59,#e53935);
	transform-origin:left;
	transform:scaleX(0);
}

.booking_popup.is_visible .booking_popup_progress
{
	animation:booking_popup_drain 6.5s linear forwards;
}

@keyframes booking_popup_ping
{
	75%, 100%
	{
		transform:scale(2.6);
		opacity:0;
	}
}

@keyframes booking_popup_drain
{
	from
	{
		transform:scaleX(1);
	}
	to
	{
		transform:scaleX(0);
	}
}

@media (prefers-reduced-motion:reduce)
{
	.booking_popup, .booking_popup.is_visible
	{
		transform:none;
	}

	.booking_popup_dot::after, .booking_popup.is_visible .booking_popup_progress
	{
		animation:none;
	}
}

.contactus_popup
{
	width:4em;
	height:4em;
	right:48px;
	bottom:48px;
	font-size:1.3em;
	position:fixed;
	z-index:4;
	color:#fdfdfd;
	border-radius:2em;
	box-shadow:2px 2px 8px #000000;
	display:flex;
	justify-content:center;
	align-items:center;
	cursor:pointer;
}

.contactus_popup_bg
{
	width:100%;
	height:100%;
	z-index:-1;
	position:absolute;
	background-color:#0099cc;
	opacity:0.75;
	border-radius:2em;
	transition:opacity 0.1s ease;
}

.car_summary_layout_container
{
	position:relative;
	top:25px;
	opacity:0;
}

/* Car details: summary panel and form sections are cards; the two columns wrap when there is not enough room */
table.car_summary_page, table.car_summary_page > tbody
{
	display:block;
	width:100%;
	max-width:84rem;
	box-sizing:border-box;
}

table.car_summary_page > tbody > tr
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:flex-start;
}

td.car_summary_layout
{
	display:block;
	box-sizing:border-box;
	padding:clamp(0.5em,2vw,1em);
	vertical-align:top;
}

td.car_summary_layout:nth-child(1)
{
	flex:1 1 22em;
	max-width:30em;
}

td.car_summary_layout:nth-child(2)
{
	flex:999 1 30em;
	max-width:52em;
	min-width:0;
}

table.car_summary_panel
{
	width:100%;
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 0 0 2px #0099cc, 0 6px 18px rgba(0,153,204,0.15);
}

.car_summary_section
{
	box-sizing:border-box;
	margin-bottom:1em;
	padding:clamp(1.1em,3vw,1.75em);
	background-color:#fdfdfd;
	border-radius:18px;
	box-shadow:0 2px 10px rgba(0,0,0,0.06);
}

/* customer review cards (car details + payment): tinted so they read as their own block on white or grey */
.car_review_list
{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(16em,1fr));
	/* each card keeps its own height: a long review would otherwise pad the short ones with blank space */
	align-items:start;
	gap:0.75em;
}

.car_review_card
{
	position:relative;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	row-gap:0.75em;
	padding:1.1em 1.25em;
	background-color:#fff7eb;
	border:1px solid #ffe0b2;
	border-radius:14px;
}

.car_review_quote_mark
{
	position:absolute;
	top:0.1em;
	right:0.3em;
	font-size:3.2em;
	color:rgba(255,165,0,0.18);
	pointer-events:none;
}

.car_review_stars
{
	display:flex;
	column-gap:0.15em;
	font-size:0.9em;
}

.car_review_text
{
	position:relative;
	color:#333333;
	font-size:1.05em;
	line-height:1.45;
	/* guard against the rare essay-length review (all-time max 1761 chars) stretching the card;
	   ~500 chars fit, which covers 98.7% of reviews written so far */
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:10;
	line-clamp:10;
	overflow:hidden;
}

/* shown by JS only when the text is actually clamped; expanding is one-way */
.car_review_more
{
	display:none;
	align-self:flex-start;
	padding:0;
	background:none;
	border:0;
	font:inherit;
	font-weight:700;
	color:#b36200;
	text-decoration:underline;
	cursor:pointer;
}

.car_review_card.car_review_clamped .car_review_more
{
	display:inline-block;
}

.car_review_card.car_review_expanded .car_review_text
{
	display:block;
	overflow:visible;
	-webkit-line-clamp:unset;
	line-clamp:unset;
}

.car_review_author
{
	display:flex;
	align-items:center;
	column-gap:0.6em;
	margin-top:auto;
	padding-top:0.75em;
	border-top:1px solid #ffe0b2;
	font-size:0.85em;
	color:#666666;
}

.car_review_author strong
{
	color:#333333;
}

.car_review_avatar
{
	flex:0 0 2.2em;
	width:2.2em;
	height:2.2em;
	border-radius:50%;
	background:linear-gradient(135deg,#f0a030,#b36200);
	color:#fdfdfd;
	font-size:1.1em;
	font-weight:700;
	display:flex;
	align-items:center;
	justify-content:center;
}

/* about us: a marketing page rather than a short notice, so it is given more of the screen than the other dialogs */
#noticebox:has(.aboutus_dialog)
{
	max-width:min(52em,calc(100% - 2 * var(--gutter)));
}

.about_page
{
	line-height:1.5;
}

.about_page h2
{
	margin:2em 0 0.5em;
	font-size:1.3em;
	color:#0099cc;
}

.about_page p
{
	margin:0 0 1em;
}

.about_page ol
{
	margin:0 0 1em;
	padding-left:1.5em;
}

.about_page ol li
{
	margin-bottom:0.5em;
}

.about_lead
{
	font-size:1.05em;
}

/* the numbers are read live from the database, so the tiles are sized for a count that may grow another digit */
.about_stat_grid
{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(9em,1fr));
	gap:0.75em;
	max-width:34em;
	margin:1.5em auto 0.75em;
}

.about_stat
{
	padding:0.9em 0.75em;
	background-color:#f2fafd;
	border:1px solid #cceaf4;
	border-radius:14px;
	text-align:center;
}

.about_stat_num
{
	font-size:1.6em;
	font-weight:700;
	line-height:1.15;
	color:#0099cc;
}

.about_stat_label
{
	font-size:0.85em;
	color:#666666;
}

.about_stat_note
{
	font-size:0.8em;
	color:#808080;
	text-align:center;
}

.about_steps
{
	display:flex;
	flex-direction:column;
	row-gap:1.25em;
	margin:1em 0 1.5em;
	padding:0;
	list-style:none;
	counter-reset:about_step;
}

.about_steps li
{
	display:grid;
	grid-template-columns:2.4em 1fr;
	column-gap:0.9em;
	margin:0;
}

.about_steps li::before
{
	counter-increment:about_step;
	content:counter(about_step);
	grid-row:span 2;
	width:2.4em;
	height:2.4em;
	border-radius:50%;
	background-color:#0099cc;
	color:#fdfdfd;
	font-family:Helvetica,sans-serif;
	font-size:1.1em;
	font-weight:700;
	display:flex;
	align-items:center;
	justify-content:center;
}

.about_step_title
{
	font-weight:700;
	color:#333333;
}

.about_reasons
{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(17em,1fr));
	align-items:start;
	gap:1em;
	margin:1em 0 1.5em;
}

.about_reason
{
	display:flex;
	column-gap:0.7em;
}

.about_reason_icon
{
	flex:0 0 auto;
	color:#0099cc;
}

.about_locations
{
	display:flex;
	flex-direction:column;
	row-gap:1em;
	margin:1em 0 1.5em;
}

.about_location_country
{
	font-weight:700;
	color:#333333;
}

.about_location_chips
{
	display:flex;
	flex-wrap:wrap;
	gap:0.4em;
	margin-top:0.4em;
}

.about_location_chip
{
	padding:0.3em 0.85em;
	background-color:#eeeeee;
	border-radius:999px;
	font-size:0.9em;
}

.about_cta
{
	margin-top:2em;
	padding:1.25em;
	background-color:#f2fafd;
	border:1px solid #cceaf4;
	border-radius:14px;
	text-align:center;
}

.about_cta_title
{
	margin-bottom:0.4em;
	font-size:1.15em;
	font-weight:700;
	color:#0099cc;
}

.about_cta_action
{
	margin-top:0.9em;
	font-weight:700;
}

.about_contact
{
	margin-top:1.5em;
	text-align:center;
}

.car_summary_cus_fillable_container
{
	display:inline-block;
	width:calc(300px - 2em);
	max-width:100%;
	margin:1em 2em 1em 0;
	vertical-align:top;
}

/* driver form: two columns when there is room, one otherwise (inline-block above is the fallback) */
.car_summary_cus_fillable_container .iti
{
	width:100%;
}

.car_summary_section:has(> .car_summary_cus_fillable_container)
{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	column-gap:1.5em;
}

.car_summary_section:has(> .car_summary_cus_fillable_container) > *
{
	flex:1 1 100%;
}

.car_summary_section > .car_summary_cus_fillable_container
{
	flex:1 1 15em;
	width:auto;
	margin:0.6em 0;
}

/* A printed copy has no page around it, so it carries the masthead the screen does
   not need: .printshow keeps this block out of the dialog and puts it at the top of
   the print. Only the popups that call printSetup() have one. */
.notice_print_header
{
	text-align:center;
	margin-bottom:1.5em;
}

.notice_print_header .notice_print_corporate
{
	font-size:0.9em;
	line-height:1.3;
	color:#808080;
}

.notice_print_header .notice_print_corporate .notice_print_name
{
	font-size:1.05em;
	font-weight:700;
}

/* Popup toolbars (Print, and anything that joins it later) */
.notice_actions
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:0.5em;
	margin:1em 0 1.25em 0;
}

.notice_btn
{
	box-sizing:border-box;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	column-gap:0.5em;
	padding:0.65em 1.25em;
	border:0;
	border-radius:999px;
	font-size:0.95em;
	font-weight:700;
	line-height:1.3;
}

.notice_subtitle
{
	margin:0 0 1.25em 0;
	font-size:clamp(1.05em,1em + 0.3vw,1.15em);
	font-weight:700;
	line-height:1.35;
	text-align:center;
}

/* Contact details: one labelled row per channel, each with its own icon, instead of
   a row of icons stacked above a list of handles. */
.notice_contact
{
	display:flex;
	flex-direction:column;
	row-gap:0.7em;
	margin-bottom:1.25em;
}

/* Every popup leads with the same centred title; it was the same inline style in
   four files. */
.notice_title
{
	margin:0 0 0.25em 0;
	padding:0;
	font-size:clamp(1.3em,1.15em + 0.5vw,1.5em);
	font-weight:700;
	line-height:1.25;
	text-align:center;
}

/* Check booking: a title and two fields. The logo and company registration that
   used to lead this dialog are on the page footer and in the side panel already,
   and they pushed the two fields that do the work below the fold on a phone. */
.check_booking_title
{
	display:flex;
	align-items:center;
	justify-content:center;
	column-gap:0.5em;
	margin-bottom:1.5em;
}

.check_booking_field
{
	display:block;
	margin-bottom:1.25em;
}

.check_booking_field .check_booking_label
{
	font-weight:700;
}

.check_booking_field .check_booking_hint
{
	font-size:0.9em;
	color:#6b7278;
}

.check_booking_field .check_booking_input
{
	box-sizing:border-box;
	width:100%;
	max-width:100%;
	height:2.6em;
	margin-top:0.35em;
	padding:0 0.85em;
	font-size:1.1em;
}

/* Icon beside the first line, with wrapped lines aligned under the text rather than
   under the icon.
   This must never be hung on .check_booking_msg itself: contactus.php and
   view_booking.php both replace that slot's contents, so a `> div:first-child` rule
   there lands on markup this file does not own -- which is how the no-records
   warning ended up 1.15em wide and blue instead of red. */
.notice_line
{
	display:flex;
	align-items:baseline;
	column-gap:0.5em;
	font-weight:700;
	line-height:1.45;
	text-align:left;
}

.notice_line > div:first-child
{
	flex:none;
	width:1.15em;
	text-align:center;
}

.notice_line.notice_line_info
{
	color:#4f575d;
}

.notice_line.notice_line_info > div:first-child
{
	color:#0099cc;
}

.check_booking_actions
{
	margin-top:1.5em;
	text-align:center;
}

.check_booking_submit
{
	box-sizing:border-box;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	column-gap:0.5em;
	width:100%;
	max-width:18em;
	padding:0.8em 1.5em;
	border-radius:999px;
	font-size:1.05em;
}

.check_booking_result_table
{
	border-collapse:collapse;
}

.check_booking_result_table tr + tr td
{
	border-top:1px solid #eef1f3;
}

.check_booking_result_table td:nth-child(1)
{
	width:34%;
	padding:0.6em 0.75em 0.6em 0;
	vertical-align:top;
	color:#6b7278;
}

.check_booking_result_table td:nth-child(2)
{
	padding:0.6em 0 0.6em 0.25em;
	font-weight:700;
	vertical-align:top;
	-khtml-user-select:text;
	-moz-user-select:text;
	-webkit-user-select:text;
	-ms-user-select:text;
	user-select:text;
}

.check_booking_result_table td:nth-child(2) span
{
	-khtml-user-select:text;
	-moz-user-select:text;
	-webkit-user-select:text;
	-ms-user-select:text;
	user-select:text;
}

.blog_topbar
{
	background-color:#fdfdfd;
	padding:2em 8em;
	box-sizing:border-box;
	display:flex;
	justify-content:space-between;
}

.blogheader_container
{
	position:relative;
	box-sizing:border-box;
	padding:3em 8em;
}

.breadcrumb_navigator_container
{
	background-color:#fdfdfd;
	box-sizing:border-box;
	padding:3em 8em 1.5em 8em;
	display:flex;
}

.breadcrumb_navigator
{
	padding:0;
	margin:0;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	font-size:1.25em;
}

.breadcrumb_navigator li
{
	display:flex;
	align-items:center;
}

/* Separator - non-breaking space before > */
.breadcrumb_navigator li:not(:last-child)::after
{
	content:"\00a0\00a0\00a0>\00a0\00a0\00a0"; /* \00a0 is non-breaking space */
	color:#808080;
}

/* Current page (last item) */
.breadcrumb_navigator [aria-current]
{
	color:#333;
	font-weight:700;
}

#blogcontent h1, #blogcontent h2, #blogcontent h3, #blogcontent h4, #blogcontent h5, #blogcontent h6
{
	font-family: Helvetica;
}

#blogcontent h4, #blogcontent h5, #blogcontent h6
{
	margin:1em 0;
	padding:0;
}

#blogcontent h1
{
	font-size:2em;
	margin:0;
	padding:0;
}

#blogcontent h2
{
	font-size:1.75em;
	margin:1em 0;
	padding:0;
}

#blogcontent h3
{
	font-size:1.2em;
	margin:1em 0;
	padding:0;
}

#blogcontent p, #blogcontent dl
{
	margin:1em 0;
	padding:0;
	font-family:Arial;
}

#blogcontent div, #blogcontent dt
{
	font-family:Arial;
}

#blogcontent ul, #blogcontent ol, #blogcontent dd
{
	box-sizing:border-box;
	margin:1em 0;
	padding-left:2em;
	font-family:Arial;
}

.blogcontent_frame
{
	width:100%;
	display:flex;
	gap:6em 8em;
	justify-content:space-between;
	width:100%;
}

#blogcontent
{
	background-color:#fdfdfd;
	box-sizing:border-box;
	padding:2em 8em;
}

.blog_suggestion_container
{
	display:flex;
	flex-direction:column;
	gap:2em 2em;
	width:100%;
	flex-wrap:wrap;
	justify-content:center;
}

.blog_social_link_container
{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:0.5em 2em;
	font-size:2em;
	background-color:#fdfdfd;
	padding:1em;
}

.blog_social_link_container a,
.blog_social_link_container a:active,
.blog_social_link_container a:visited
{
	color:#1c1c1c;
}

/** SUBMIT PHOTOS OF DESTINATIONS **/

.submitphotosofdestinations_steps_container
{
	display:flex;
	flex-direction:column;
	row-gap:3em;
}

.submitphotosofdestinations_steps
{
	display:flex;
	gap:0.25em 1.2em;
	align-items:center;
}

/** END OF SUBMIT PHOTOS OF DESTINATIONS **/

@media (pointer:fine)
{
	.rightmenulist:hover
	{
		background-color:#f1f5f7;
		color:#0088b8;
	}

	.rightmenulist:hover > .rightmenulist_chevron
	{
		color:#0099cc;
	}

	#rightmenu .rightmenu_close:hover
	{
		background-color:#f1f5f7;
		color:#0088b8;
	}

	.rightmenutrigger:hover
	{
		background-color:#f1f5f7;
		color:#0088b8;
	}

	/* Over the hero photo the icon is white, so it lifts on a wash of its own colour
	   rather than flipping to the light chip the topbars use. */
	.logoheadertable .logoheader_menu .rightmenutrigger:hover
	{
		background-color:rgba(253,253,253,0.22);
		color:#fdfdfd;
	}

	select.white_theme:hover
	{
		background-color:#fdfdfd;
		color:#1c1c1c;
	}
	
	#dateselector select.white_theme:hover, #dateselector input.white_theme:hover
	{
		background-color:#fdfdfd;
		color:#1c1c1c;
	}
	
	select.black_theme:hover
	{
		background-color:rgba(0,153,204,0.7);
		color:#fdfdfd;
	}

	input.white_theme[type=text]:hover,input.white_theme[type=number]:hover,input.white_theme[type=password]:hover,input.white_theme[type=email]:hover,input.white_theme[type=tel]:hover,input.white_theme[type=date]:hover,textarea.white_theme:hover
	{
		background-color:#fdfdfd;
	}
	
	.theme_btn:hover
	{
		background-color:#22bbee;
	}
	
	.green_btn:hover
	{
		background-color:#22c873;
	}
	
	.caution_btn:hover
	{
		background-color:#ff9236;
	}
	
	.warning_btn:hover
	{
		background-color:#ff7777;
	}
	
	.share_btn:hover
	{
		background-color:#fdfdfd;
	}
	
	.black_btn:hover
	{
		background-color:#6f6f6f;
	}
	
	.contactus_popup:hover .contactus_popup_bg
	{
		opacity:1;
	}
	
	.type_selector.type_selector_clickable:hover, .with_driver_selector.with_driver_selector_clickable:hover, .car_details_header_selector.car_details_header_selector_clickable:hover
	{
		background-color:#22bbee;
		color:#fdfdfd;
	}
	
	.list_ani_parent:hover
	{
		background-color:#fdfdfd;
	}

	.list_ani_parent.list_ani_parent_preferred:hover, .provider_list.provider_list_preferred:hover
	{
		border-color:#ffb458;
	}
}

.book_col_break_small
{
	width:250px;
}

.book_col_break_small.book_col_pricing
{
	padding-left:1em;
}

@media only screen and (max-height:600px)
{
	select.lang_selector, select.country_selector
	{
		font-size:0.8em;
	}
	.logoheader .check_booking_btn
	{
		font-size:0.8em;
	}
	
	.hide_height_600
	{
		display:none;
	}
}

@media only screen and (max-width:1100px)
{
	.subheader
	{
		width:100%;
	}
	
	.subheader td:nth-child(1)
	{
		width:auto;
	}

	.subheader td:nth-child(2)
	{
		padding-left:0;
		padding-right:0;
	}
	
	.subheader td:nth-child(3)
	{
		width:0;
	}
	
	.booking_popup
	{
		left:16px;
		bottom:24px;
		width:calc(100vw - 114px); /* keeps clear of .contactus_popup */
		max-width:380px;
		column-gap:0.75em;
		padding:0.8em 0.95em 0.95em 0.8em;
		font-size:1em;
	}

	.contactus_popup
	{
		width:4em;
		height:4em;
		right:24px;
		bottom:24px;
		font-size:1.1em;
	}
	
	.hide_width_1100
	{
		display:none;
	}

	.blog_topbar
	{
		padding:2em 4em;
	}
	
	.blogheader_container
	{
		padding:3em 4em;
	}
	
	.breadcrumb_navigator_container
	{
		padding:3em 4em 1.5em 4em;
	}

	#blogcontent
	{
		padding:2em 4em;
	}
	
	.breadcrumb_navigator_container
	{
		justify-content:center;
	}

	.blogcontent_frame
	{
		flex-direction:column;
		gap:4em 4em;
	}
	
	.blogcontent_heading
	{
		text-align:center;
	}

	.blog_suggestion_container
	{
		flex-direction:row;
	}
}

@media only screen and (max-width:900px)
{
	.book_col_break_small
	{
		display:block;
		width:100%;
	}
	
	.book_col_break_small.book_col_pricing
	{
		padding-top:0.5em;
		padding-left:0;
		width:100%;
	}

	.hide_width_900
	{
		display:none;
	}
}

@media only screen and (max-width:720px)
{
	.logoheader .check_booking_btn
	{
		font-size:0.8em;
	}

	.hide_width_720
	{
		display:none;
	}

	.blog_topbar
	{
		padding:2em 2em;
	}
	
	.blogheader_container
	{
		padding:3em 2em;
	}
	
	.breadcrumb_navigator_container
	{
		padding:3em 2em 1.5em 2em;
	}

	#blogcontent
	{
		padding:2em 2em;
	}
	
	/** SUBMIT PHOTOS OF DESTINATIONS **/

	.submitphotosofdestinations_steps
	{
		flex-direction:column;
	}

	/** END OF SUBMIT PHOTOS OF DESTINATIONS **/
}

@media only screen and (max-width:355px)
{
	.hide_width_355
	{
		display:none;
	}
}

@media only screen and (max-width:320px)
{
	.hide_width_320
	{
		display:none;
	}
}

@media print
{
	@page { margin:0.5in; }
	body { overflow:auto !important; }
	body * { visibility:hidden;	margin:0; width:0; height:0; }
	#printable, #printable * { visibility:visible; width:initial; height:auto; }
	#printable { display:block; position:absolute; top:0; left:0; min-width:100%; min-height:100%; background-color:#ffffff; color:#000000; }
	.noprint { display:none !important; }
	.printshow { display:block !important; }
}