: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;
}

.rightmenulist
{
	padding-top:1em;
	font-weight:700;
	font-size:1em;
	cursor:pointer;
	color:#666666;
}

.rightmenulist:last-child
{
	padding-bottom:1em;
}

.rightmenulist:not(:last-child)::after
{
	content:"";
	width:100%;
	height:1px;
	background-color:#d9d9d9;
	display:block;
	margin:1em auto 0 auto;
}

#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;
}

.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;
}

.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)
{
	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; }
}