﻿/* FONTS */

/* Google Open Sans. We're only loading the base Latin charset; Latin Extended is also available. 300 and 800 weight faces also available in both normal and italic. */
@import url(//fonts.googleapis.com/css?family=Open+Sans:400,400italic,600,600italic,700,700italic);

/* Custom icon font from Fontello. This section copied from fontello-6710faa8/css/friendlyplanet.css.
	 Only changes are paths to font files, which don't get served correctly through static.friendlyplanet.com on Cloudflare.

	CSS & font files generated by Fontelle, set fontello-e9a9769c
	Icons created by Cameron Clark for Friendly Planet and others below

	TheNounProject.com

	Font Awesome (http://fortawesome.github.com/Font-Awesome/)
	copyright 2016 by Dave Gandy
	SIL License (http://scripts.sil.org/OFL)

	Iconic (http://somerandomdude.com/work/iconic/)
	copyright 2012 by P.J. Onori
	SIL License (http://scripts.sil.org/OFL)

	Elusive (http://aristeides.com/)
	copyright 2013 by Aristeides Stathopoulos
	SIL License (http://scripts.sil.org/OFL)

	Entypo (http://www.entypo.com)
	copyright 2012 by Daniel Bruce
	SIL License (http://scripts.sil.org/OFL)

	Web Symbols (http://www.justbenicestudio.com/)
	copyright 2011 by Just Be Nice studio
	SIL License (http://scripts.sil.org/OFL)

	NOTE: Like all fonts, icons rendered as fonts are sharpened by the browser/OS (e.g. Microsoft ClearType), with subpixel sampling, slight vertical adjustments, etc.
	That's usually a good thing, as they'll appear sharper than even antialiased vectors. But one side effect is that CSS transforms can sometimes behave unpredictably,
	with icons going blurry during animations, only to sharpen again when they complete, and icons appearing to jump around a bit when doing subtle scaling operations.
	See  https://css-tricks.com/forums/topic/transforms-cause-font-smoothing-weirdness-in-webkit/  and  https://www.icondeposit.com/blog:how-to-properly-smooth-font-using-css3
 */

@font-face {
	font-family: 'friendlyplanet';
	src: url('fontello-6710faa8/font/friendlyplanet.eot?75265703');
	src: url('fontello-6710faa8/font/friendlyplanet.eot?75265703#iefix') format('embedded-opentype'),
			 url('fontello-6710faa8/font/friendlyplanet.woff2?75265703') format('woff2'),
			 url('fontello-6710faa8/font/friendlyplanet.woff?75265703') format('woff'),
			 url('fontello-6710faa8/font/friendlyplanet.ttf?75265703') format('truetype'),
			 url('fontello-6710faa8/font/friendlyplanet.svg?75265703#friendlyplanet') format('svg');
	font-weight: normal;
	font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
	@font-face {
		font-family: 'friendlyplanet';
		src: url('../font/friendlyplanet.svg?75265703#friendlyplanet') format('svg');
	}
}
*/

[class^="icon-"]:before, [class*=" icon-"]:before {
	font-family: 'friendlyplanet';
	font-style: normal;
	font-weight: normal;
	speak: none;
	display: inline-block;
	text-decoration: none;
	width: 1em;
	/*margin-right: .2em;*/
	text-align: center;
	/* opacity: .8; */

	/* For safety - reset parent styles, that can break glyph codes*/
	font-variant: normal;
	text-transform: none;

	/* fix buttons height, for twitter bootstrap */
	line-height: 1em;

	/* Animation center compensation - margins should be symmetric */
	/* remove if not needed */
	/*margin-left: .2em;*/

	/* you can be more comfortable with increased icons size */
	/* font-size: 120%; */

	/* Font smoothing. That was taken from TWBS */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	/* Uncomment for 3D effect */
	/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-heart:before { content: '\e800'; }
.icon-camera:before { content: '\e801'; }
.icon-chat:before { content: '\e802'; }
.icon-cancel:before { content: '\e803'; }
.icon-resize-full:before { content: '\e804'; }
.icon-pencil:before { content: '\e805'; }
.icon-play:before { content: '\e806'; }
.icon-pause:before { content: '\e807'; }
.icon-th:before { content: '\e808'; }
.icon-down-open:before { content: '\e809'; }
.icon-up-open:before { content: '\e80a'; }
.icon-left-open:before { content: '\e80b'; }
.icon-right-open:before { content: '\e80c'; }
.icon-down-arrow:before { content: '\e80d'; }
.icon-up-arrow:before { content: '\e80e'; }
.icon-location:before { content: '\e80f'; }
.icon-print:before { content: '\e810'; }
.icon-cog:before { content: '\e811'; }
.icon-flag:before { content: '\e812'; }
.icon-megaphone:before { content: '\e813'; }
.icon-resize-small:before { content: '\e814'; }
.icon-ok-circled:before { content: '\e815'; }
.icon-lock:before { content: '\e816'; }
.icon-comment:before { content: '\e817'; }
.icon-attention-circled:before { content: '\e818'; }
.icon-help-circled:before { content: '\e819'; }
.icon-info-circled:before { content: '\e81a'; }
.icon-home:before { content: '\e81b'; }
.icon-phone-circle:before { content: '\e81c'; }
.icon-magnifying-glass:before { content: '\e81d'; }
.icon-envelope:before { content: '\e81e'; }
.icon-i:before { content: '\e81f'; }
.icon-clock:before { content: '\e820'; }
.icon-bus:before { content: '\e821'; }
.icon-train:before { content: '\e822'; }
.icon-cruise-ship:before { content: '\e823'; }
.icon-hotel:before { content: '\e824'; }
.icon-bed:before { content: '\e825'; }
.icon-silverware:before { content: '\e826'; }
.icon-dollar-circle:before { content: '\e827'; }
.icon-dollar-burst:before { content: '\e828'; }
.icon-youtube-round:before { content: '\e829'; }
.icon-compass:before { content: '\e82a'; }
.icon-umbrella:before { content: '\e82b'; }
.icon-girl:before { content: '\e82c'; }
.icon-woman-plus:before { content: '\e82d'; }
.icon-coin-stacks:before { content: '\e82e'; }
.icon-hand-dollar:before { content: '\e82f'; }
.icon-ticket:before { content: '\e830'; }
.icon-calendar:before { content: '\e831'; }
.icon-contract:before { content: '\e832'; }
.icon-credit-cards:before { content: '\e833'; }
.icon-webpage:before { content: '\e834'; }
.icon-checklist:before { content: '\e835'; }
.icon-checkbox:before { content: '\e836'; }
.icon-plane:before { content: '\e837'; }
.icon-car:before { content: '\e838'; }
.icon-coach:before { content: '\e839'; }
.icon-plate-silverware:before { content: '\e83a'; }
.icon-keys:before { content: '\e83b'; }
.icon-passport:before { content: '\e83c'; }
.icon-man:before { content: '\e83d'; }
.icon-group-people:before { content: '\e83e'; }
.icon-tour-guide:before { content: '\e83f'; }
.icon-woman-headset:before { content: '\e840'; }
.icon-signpost:before { content: '\e841'; }
.icon-mandolin:before { content: '\e842'; }
.icon-facebook-round:before { content: '\e843'; }
.icon-twitter-round:before { content: '\e844'; }
.icon-instagram-round:before { content: '\e845'; }
.icon-pinterest-round:before { content: '\e846'; }
.icon-yelp-round:before { content: '\e847'; }
.icon-cancel-circled:before { content: '\e848'; }
.icon-ok:before { content: '\e849'; }
.icon-clipboard:before { content: '\e84a'; }
.icon-download-alt:before { content: '\e84b'; }
.icon-plus-circled:before { content: '\e84c'; }
.icon-search:before { content: '\e84d'; }
.icon-deny:before { content: '\e84e'; }
.icon-docket:before { content: '\e84f'; }
.icon-star-outline:before { content: '\e850'; }
.icon-wifi:before { content: '\e851'; }
.icon-export:before { content: '\e852'; }
.icon-thumbs-up:before { content: '\e853'; }
.icon-thumbs-down:before { content: '\e854'; }
.icon-forward:before { content: '\e855'; }
.icon-share:before { content: '\e856'; }
.icon-cloud-sun:before { content: '\e857'; }
.icon-windows:before { content: '\e858'; }
.icon-popup:before { content: '\e859'; }
.icon-star:before { content: '\e85a'; }
.icon-star-half:before { content: '\e85b'; }
.icon-tag:before { content: '\e85c'; }
.icon-credit-card:before { content: '\e85d'; }
.icon-wrench:before { content: '\e85e'; }
.icon-package:before { content: '\e85f'; }
.icon-boarding-pass:before { content: '\e860'; }
.icon-basket:before { content: '\e861'; }
.icon-lightbulb:before { content: '\e862'; }
.icon-binoculars:before { content: '\e863'; }
.icon-wrench-circled:before { content: '\e864'; }
.icon-question:before { content: '\e865'; }
.icon-mobile:before { content: '\e866'; }
.icon-syringe:before { content: '\e867'; }
.icon-plug:before { content: '\e869'; }
.icon-left-arrow:before { content: '\e86a'; }
.icon-right-arrow:before { content: '\e86b'; }
.icon-menu:before { content: '\f0c9'; }
.icon-money:before { content: '\f0d6'; }
.icon-mail:before { content: '\f0e0'; }
.icon-suitcase:before { content: '\f0f2'; }
.icon-quote-left:before { content: '\f10d'; }
.icon-quote-right:before { content: '\f10e'; }
.icon-shield:before { content: '\f132'; }
.icon-left-circled:before { content: '\f137'; }
.icon-right-circled:before { content: '\f138'; }
.icon-up-circled-up:before { content: '\f139'; }
.icon-down-circled-down:before { content: '\f13a'; }
.icon-play-circled:before { content: '\f144'; }
.icon-page:before { content: '\f15b'; }
.icon-cubes:before { content: '\f1b3'; }
.icon-map:before { content: '\f279'; }
.icon-bag:before { content: '\f290'; }
/* end fontello */

/* GENERAL FORMATTING AND RESETS */
html {
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}
body {
	padding:0;
	margin:0;
	background:#fff;
	font-family:'Open Sans','Segoe UI',Arial,Helvetica,sans-serif; /* IE<11 ignores font shorthand properties that include rems: www.caniuse.com/#feat=rem */
	font-size:.8125rem; /* 13px */
	line-height:1.5;
	color:#333;
}
/* html5 elements */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
	display:block;
}
audio,
canvas,
video {
	display:inline-block;
}
img {
	image-rendering:optimizeQuality; /* https://developer.mozilla.org/En/CSS/Image-rendering */
	-ms-interpolation-mode:bicubic;
	min-width:1px; /* MS Edge requires a width and height for IntersectionObserver to work */
	min-height:1px;
}
a img, img {
	color:rgba(0,0,0,0); /* make alt text transparent */
}
img[data-src] {
	background-color:#eee;
	background-image:radial-gradient(#f4f4f4, #d6d6d6);
}
html:not(.jsActive) img[data-src] {
	display:none !important;
}
#iframe {
	display:block;
	background:url(../media/template/loading_bar.gif) center 200px no-repeat;
}
form {
	margin:0;
}
optgroup,
label {
	font-family:inherit;
	font-size:1em;
}
input,
select {
	font-family:inherit;
	font-size:1rem; /* 16px */
	line-height:1;
}
textarea {
	font-family:inherit;
	font-size:1rem; /* 16px */
	line-height:1.4;
}
input[type=text],
input[type=password],
input[type=datetime],
input[type=date],
input[type=email],
input[type=tel],
input[type=month],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
	background-color:#fff;
	border:thin solid #808080;
	border-radius:.15em;
	padding:.35em .5em;
	min-height:2.1875rem; /* 35px, https://stackoverflow.com/questions/9767612/issue-with-input-select-tag-height-in-form#answer-47409771 */
}
input[type=text]:disabled,
input[type=password]:disabled,
input[type=datetime]:disabled,
input[type=date]:disabled,
input[type=email]:disabled,
input[type=tel]:disabled,
input[type=month]:disabled,
input[type=number]:disabled,
input[type=search]:disabled,
input[type=tel]:disabled,
input[type=time]:disabled,
input[type=url]:disabled,
input[type=week]:disabled,
select:disabled,
textarea:disabled {
	background-color:#e4e8ed;
	/* following two properties are to override user-agent stylesheets */
	opacity:1;
	color:#444;
	cursor:not-allowed;
}
input[type=text]:hover,
input[type=password]:hover,
input[type=datetime]:hover,
input[type=date]:hover,
input[type=email]:hover,
input[type=tel]:hover,
input[type=month]:hover,
input[type=number]:hover,
input[type=search]:hover,
input[type=tel]:hover,
input[type=time]:hover,
input[type=url]:hover,
input[type=week]:hover,
textarea:hover,
select:hover {
	border-color:#599eff;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=datetime]:focus,
input[type=date]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
textarea:focus,
select:focus {
	border-color:#599eff;
	box-shadow:0 0 .8em rgba(89,158,255,.5);
}
input[type=submit]:focus, input[type=reset]:focus, input[type=button]:focus, input[type=image]:focus, .btn:focus {
	box-shadow:none;
}
/* Remove padding in FF: http://stackoverflow.com/questions/1679952/input-type-submit-text-vertical-alignment-in-firefox */
input::-moz-focus-inner  {
	border:0;
	padding:0;
}
a, a:visited {
	color:#06F;
	cursor:pointer;
	transition:color .1s;
}
a:hover, a:active {
	color:#F60;
}
a:focus {
	outline:thin dotted;  /* Addresses inconsistency between Chrome and other browsers */
}
a[href^="tel:"] {
	text-decoration:none;
	color:inherit;
	white-space:nowrap;
}
area, area:hover, area:active {
	outline:none;
	border:none;
}
sup {
	font-weight:normal;
	font-size:70%;
	padding-left:1px;
}
h1 {
	font-size:3rem; /* 48px */
	line-height:1.02;
	letter-spacing:-.05em;
	margin:0 0 1.875rem;
	text-align:left;
	color:#1655bc;
}
h2 {
	font-size:2.25rem; /* 36px */
	line-height:1.1;
	letter-spacing:-.04em;
	clear:both;
	margin:3.75rem 0 1.875rem;
	text-align:left;
	padding-bottom:.1875rem;
	border-bottom:2px solid #eee;
	color:#1655bc;
	font-weight:normal;
}
h3 {
	font-size:1.5625rem; /* 25px */
	line-height:1.25;
	letter-spacing:-.025em;
	margin:2.5rem 0 1.25rem;
	text-align:left;
	color:#1655bc;
}
h4 {
	font-size:1.1875rem; /* 19px */
	line-height:1.25;
	margin:1.875rem 0 1.25rem;
	text-align:left;
	color:#1655bc;
}
h3,
h3 i,
h3 em,
h3 b,
h3 strong {
	font-weight:600;
	font-style:normal;
}
h1 a,
h1 a:visited,
h2 a,
h2 a:visited,
h3 a,
h3 a:visited {
	color:#1655bc;
	text-decoration:none;
}
h1 a:hover,
h1 a:active,
h2 a:hover,
h2 a:active,
h3 a:hover,
h3 a:active {
	color:#F60;
	text-decoration:underline;
}
h5 {
	font-size:.90625rem; /* 14.5px */
	line-height:1.35;
	margin:1.5625rem 0 1.25rem;
}
table {
	font-size:100%;
}
p {
	margin:1.25em 0;
	line-height:1.55;
}
hr {
	color:#cee3f2;
	background-color:#cee3f2;
	height:2px;
	border:none;
	clear:both;
	margin:0 0 1.25rem;
}
section {
	clear:both;
}
.clear {
	clear:both;
}
.top {
	margin-top:0;
}
.hide {
	display:none;
}
@media screen {
	.print {
		display:none;
	}
}
.center {
	text-align:center;
}
.emphasis {
	font-style:italic;
}
.subtle {
	font-weight:normal;
	color:#808080;
}
.small {
	font-size:85%;
	font-weight:normal;
}
div.small {
	line-height:1.3;
}
.big {
	font-size:125%;
}
.notes {
	font-size:.8125rem; /* 13px */
}
p.notes {
	line-height:1.5;
	margin:1rem 0;
}
.details {
	font-size:.75rem; /* 12px */
	color:#808080;
}
p.details {
	line-height:1.3;
}
.disclaimer {
	font-size:.78125rem; /* 12.5px */
	line-height:1.4;
	font-weight:normal;
	letter-spacing:normal;
	text-transform:none;
	color:#999;
	margin-top:.25rem;
}
.bright {
	color:#f50;
}

label.indent,
label.hanging {
	display:block;
	padding-left:25px;
}
label.hanging input[type=checkbox]:first-child,
label.hanging input[type=radio]:first-child {
	float:left;
	margin-left:-25px;
}
p.hanging,
div.hanging,
p.indent,
div.indent {
	padding-left:40px;
}
p.hanging i[class^="icon-"]:first-child {
	color:#999;
	font-size:26px;
	float:left;
	margin-left:-40px;
}

/* LIST ITEMS */
ol.demispaced li,
ul.demispaced li {
	margin-bottom:.5em;
}
ol.spaced li,
ul.spaced li {
	margin-bottom:1em;
}
ol.demispaced li li,
ul.demispaced li li,
ol.spaced li li,
ul.spaced li li {
	margin-bottom:0;
}

/* STYLIZED BUTTONS */
.btn {
	cursor:pointer;
	font-family:inherit;
	font-size:94%;
	line-height:1.5;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:.05em;
	text-decoration:none;
	text-align:center;
	overflow:visible;
	padding:.4em 1.5em .5em;
	-webkit-border-radius:.4em;
	-moz-border-radius:.4em;
	border-radius:.4em;
	/* vertical-align:middle; causes button to be offset from its border in IE9 */
	border:thin solid;
	transition:none; /* until gradient bg transitions are supported */
	display:inline-block;
	min-height:2.1875rem; /* 35px, to match inputs */
}
a.btn,
.btn a {
	text-decoration:none !important;
	outline:none;
	/* prevent the text in buttons from being (intionally or unintentionally) selectable: https://stackoverflow.com/questions/21003535/anyway-to-prevent-the-blue-highlighting-of-elements-in-chrome-when-clicking-quic */
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-khtml-user-select:none;
	-moz-user-select:none;
	-ms-user-select:none;
	user-select:none;
}
.btn a {
	color:inherit;
}
input.btn,
button.btn {
	width:auto;  /* correct button width in IE - see http://jehiah.cz/archive/button-width-in-ie */
	-webkit-appearance:none;
	outline:none;
	/* *border-style:none; */ /* removes black borders on buttons in IE7, but then they have no borders at all */
	white-space:normal; /* otherwise, Chrome defaults to "pre" */
}
.btn.big {
	font-size:112.5%;
}
.btn,
.btn:visited {
	background:#ff780a; /* Old browsers */
	background:-moz-linear-gradient(top, #ff8c19 0%, #ff6600 100%); /* FF3.6+ */
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff8c19), color-stop(100%,#ff6600)); /* Chrome,Safari4+ */
	background:-webkit-linear-gradient(top,  #ff8c19 0%,#ff6600 100%); /* Chrome10+,Safari5.1+ */
	background:-o-linear-gradient(top, #ff8c19 0%,#ff6600 100%); /* Opera 11.10+ */
	background:-ms-linear-gradient(top, #ff8c19 0%,#ff6600 100%); /* IE10+ */
	background:linear-gradient(to bottom, #ff8c19 0%,#ff6600 100%); /* W3C */
	border-color:#ff9326 #e55c00 #e55c00 #ff9326;
	/* gradients in all versions of IE & MS Edge have aliasing problems at edges; this seems to fix it */
	border-color:rgba(255,147,38,1) rgba(229,92,0,1) rgba(229,92,0,1) rgba(255,147,38,1);
	color:#fff;
	text-shadow:0 0 1px rgba(0,0,0,.2);
}
.btn:hover {
	background:#fff; /* Old browsers */
	background:-moz-linear-gradient(top, #fff 0%, #fff2e5 100%); /* FF3.6+ */
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#fff2e5)); /* Chrome,Safari4+ */
	background:-webkit-linear-gradient(top, #fff 0%,#fff2e5 100%); /* Chrome10+,Safari5.1+ */
	background:-o-linear-gradient(top, #fff 0%,#fff2e5 100%); /* Opera 11.10+ */
	background:-ms-linear-gradient(top, #fff 0%,#fff2e5 100%); /* IE10+ */
	background:linear-gradient(to bottom, #fff 0%,#fff2e5 100%); /* W3C */
	border-color:#ff9326 #e55c00 #e55c00 #ff9326;
	/* gradients in all versions of IE & MS Edge have aliasing problems at edges; this seems to fix it */
	border-color:rgba(255,147,38,1) rgba(229,92,0,1) rgba(229,92,0,1) rgba(255,147,38,1);
	color:#f60;
	text-shadow:0 0 1px rgba(255,255,255,.8);
}
.btn.subtle {
	font-weight:600;
	background:#fff; /* Old browsers */
	background:-moz-linear-gradient(top, #fff 0%, #eee 100%); /* FF3.6+ */
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#eee)); /* Chrome,Safari4+ */
	background:-webkit-linear-gradient(top, #fff 0%,#eee 100%); /* Chrome10+,Safari5.1+ */
	background:-o-linear-gradient(top, #fff 0%,#eee 100%); /* Opera 11.10+ */
	background:-ms-linear-gradient(top, #fff 0%,#eee 100%); /* IE10+ */
	background:linear-gradient(to bottom, #fff 0%,#eee 100%); /* W3C */
	border-color:#83b8fe;
	/* gradients in all versions of IE & MS Edge have aliasing problems at edges; this seems to fix it */
	border-color:rgba(131,184,254,1);
	color:#06F;
	text-shadow:0 0 1px rgba(255,255,255,1);
}
.btn.subtle:hover {
	background:#fff; /* Old browsers */
	background:-moz-linear-gradient(top, #fff 0%, #fff2e5 100%); /* FF3.6+ */
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#fff2e5)); /* Chrome,Safari4+ */
	background:-webkit-linear-gradient(top, #fff 0%,#fff2e5 100%); /* Chrome10+,Safari5.1+ */
	background:-o-linear-gradient(top, #fff 0%,#fff2e5 100%); /* Opera 11.10+ */
	background:-ms-linear-gradient(top, #fff 0%,#fff2e5 100%); /* IE10+ */
	background:linear-gradient(to bottom, #fff 0%,#fff2e5 100%); /* W3C */
	border-color:#ff9326 #e55c00 #e55c00 #ff9326;
	/* gradients in all versions of IE & MS Edge have aliasing problems at edges; this seems to fix it */
	border-color:rgba(255,147,38,1) rgba(229,92,0,1) rgba(229,92,0,1) rgba(255,147,38,1);
	color:#f60;
}
input[disabled].btn,
input[disabled].btn:hover,
button[disabled].btn,
button[disabled].btn:hover,
.btn.disabled,
.btn.disabled:hover,
.btn.locked,
.btn.locked:hover {
	background:#c4c4c4; /* Old browsers */
	background:-moz-linear-gradient(top, #c7c7c7 0%, #c1c1c1 100%); /* FF3.6+ */
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#c7c7c7), color-stop(100%,#c1c1c1)); /* Chrome,Safari4+ */
	background:-webkit-linear-gradient(top, #c7c7c7 0%,#c1c1c1 100%); /* Chrome10+,Safari5.1+ */
	background:-o-linear-gradient(top, #c7c7c7 0%,#c1c1c1 100%); /* Opera 11.10+ */
	background:-ms-linear-gradient(top, #c7c7c7 0%,#c1c1c1 100%); /* IE10+ */
	background:linear-gradient(to bottom, #c7c7c7 0%,#c1c1c1 100%); /* W3C */
	border-color:#cbcbcb #bbbbbb #bbbbbb #cbcbcb;
	/* gradients in all versions of IE & MS Edge have aliasing problems at edges; this seems to fix it */
	border-color:rgba(203,203,203,1) rgba(187,187,187,1) rgba(187,187,187,1) rgba(203,203,203,1);
	color:#fff;
	text-shadow:0 0 1px rgba(0,0,0,.2);
	cursor:not-allowed;
}

/* INFO & ERROR MSGS: based on Bootstrap alerts, with additions by Cameron */
.alert {
	padding:.75em 1.25em .75em 3.5em;
	margin-bottom:1rem;
	border:thin solid transparent;
	border-radius:0.25em;
	position:relative;
	clear:both;
	text-align:left;
}
.alert:before {
	position:absolute;
	top:.55em;
	left:.75em;
	font-family:'friendlyplanet';
	font-style:normal;
	font-weight:normal;
	speak:none;
	text-decoration:none;
	width:1em;
	text-align:center;
	font-variant:normal;
	text-transform:none;
	font-size:1.5em;
	line-height:1;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
.alert ul {
	margin:0;
	padding:0 0 0 15px; /* indent on bullets; is this fixed or relative to the font-size? */
}
.alert ul li {
	margin:0 0 .25em;
	padding:0;
}
.alert ul li:last-child {
	margin:0;
}
.alert-heading {
	color:inherit;
}
.alert-link {
	font-weight:bold;
}
.alert-dismissible .close {
	position:relative;
	top:-.46875rem;
	right:-.78125rem;
	padding:.46875rem .78125rem;
	color:inherit;
}
.alert-success {
	background-color:#dff0d8;
	border-color:#d0e9c6;
	color:#3c763d;
}
.alert-success:before {
	content:'\e815';
}
.alert-success hr {
	border-top-color:#c1e2b3;
}
.alert-success .alert-link {
	color:#2b542c;
}
.alert-info {
	background-color:#d9edf7;
	border-color:#bcdff1;
	color:#31708f;
}
.alert-info:before,
.alert-warning:before {
	content:'\e81a';
}
.alert-info hr {
	border-top-color:#a6d5ec;
}
.alert-info .alert-link {
	color:#245269;
}
.alert-warning {
	background-color:#fcf8e3;
	border-color:#e5dcc1;
	color:#8a6d3b;
}
.alert-warning hr {
	border-top-color:#f7ecb5;
}
.alert-warning .alert-link {
	color:#66512c;
}
.alert-danger {
	background-color:#f2dede;
	border-color:#ebcccc;
	color:#a94442;
}
.alert-danger:before {
	content:'\e818';
}
.alert-danger hr {
	border-top-color:#e4b9b9;
}
.alert-danger .alert-link {
	color:#843534;
}
.close {
	float:right;
	font-size:.9375rem;
	font-weight:bold;
	line-height:1;
	color:#000;
	text-shadow:0 1px 0 #fff;
	opacity:.5;
}
.close:focus, .close:hover {
	color:#000;
	text-decoration:none;
	cursor:pointer;
	opacity:.75;
}
button.close {
	padding:0;
	cursor:pointer;
	background:transparent;
	border:0;
	-webkit-appearance:none;
}

/* SITE NOTICES */
#jsErrorRibbon {
	background:#e00;
	text-align:center;
}
#jsErrorRibbon p {
	margin:0 auto;
	padding:.375rem 0 .5rem;
	text-align:center;
	color:#fff;
	font-size:.875rem; /* 14px */
	line-height:1.5;
}
#jsErrorRibbon p a {
	color:inherit;
}

/* VIDEOS */
figure.video {
	display:inline-block;
	position:relative;
	min-width:280px;
	max-width:480px;
	margin:0;
	padding:0;
	border:none;
}
figure.video a {
	display:block;
	padding:0 0 56.25%; /* use padding to maintain aspect ratio; this is always relative to the parent */
	background-color:#eee;
	background-image:radial-gradient(#f4f4f4, #d6d6d6);
}
figure.video noscript {
	position:absolute;
	top:0;
	left:0;
}
/* play button, modeled after Vimeo's */
figure.video a::before {
	content:url('../media/gallery/svg/triangle-right-white.svg');
	width:65px;
	height:40px;
	padding:10px 21.5px 10px 23.5px;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	background-color:#515a59;
	background-color:rgba(0,0,0,.6);
	border-radius:5px;
	z-index:1;
	transition:background-color .1s;
}
figure.video a:hover::before {
	background-color:#00adef;
	box-shadow:0 0 8px rgba(0,0,0,.4);
}
figure.video img {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:auto;
	border-radius:3px;
}
/* list of videos, modeled after tour tiles; see those for explanation */
div.videos {
	clear:both;
	margin:0;
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
	grid-template-rows:auto;
	grid-column-gap:30px;
	grid-row-gap:30px;
	justify-items:stretch;
	align-items:stretch;
	grid-auto-flow:row;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	div.videos {
		margin:0 -15px;
		display:-ms-flexbox;
		display:flex;
		-ms-flex-direction:row;
		-ms-flex-wrap:wrap;
		flex-flow:row wrap;
	}
	div.videos figure {
		border:15px solid transparent;
		-ms-flex-order:1;
		order:1;
	}
	div.videos::before,
	div.videos::after {
		content:'';
		display:block;
		-ms-flex-order:2;
		order:2;
	}
	div.videos figure,
	div.videos::before,
	div.videos::after {
		min-width:310px; /* including border */
		max-width:510px; /* including border */
		-ms-flex-positive:1;
		flex-grow:1;
		-ms-flex-negative:1;
		flex-shrink:1;
		-ms-flex-preferred-size:30%;  /* should be 33.333% here, but for some reason, that doesn't work as expected in IE; this does */
		flex-basis:30%;
	}
}

/* NUMBERED LISTS (BLOG) */
h3 span.numbered {
	float:left;
	min-width:2.8125rem; /* 45px */
	margin:0 1.25rem 0 0;
	padding:.3125rem .375rem .4375rem;
	background:#e9f8fe;
	border-radius:50%;
	font-size:1.875rem; /* 30px */
	line-height:1.5;
	font-weight:600;
	color:#1655bc;
	text-align:center;
	letter-spacing:-.05em;
}

/* PULLQUOTES & FEATURES */
div.topicBox {
	clear:both;
	overflow:auto;
	margin:1.25em 0;
	padding:.75rem 1rem 1px;
	border:thin solid #e0ebf0;
	border-radius:.625rem;
	background:#fff; /* Old browsers */
	background:-moz-linear-gradient(top, #fff 0%, #edf7f9 100%); /* FF3.6-15 */
	background:-webkit-linear-gradient(top, #fff 0%,#edf7f9 100%); /* Chrome10-25,Safari5.1-6 */
	background:linear-gradient(to bottom, #fff 0%,#edf7f9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#edf7f9',GradientType=0 ); /* IE6-9 */
}
div.topicBox h2 {
	margin:0 0 .25em;
	padding:0;
	clear:none;
	border:none;
}
div.topicBox h2 a,
div.topicBox h2 a:visited {
	text-decoration:none;
}
div.topicBox h2 a:hover {
	text-decoration:underline;
}

/* INLINE IMAGES */
img.alignleft,
img.alignright,
img.aligncenter
img.alignfull {
	max-width:100%;
	border:none;
	font-size:.8125rem; /* 13px */
	line-height:1.3;
	font-weight:normal;
	letter-spacing:normal;
}
img.alignleft {
	float:left;
	clear:both;
	margin:0 1.6em 1em 0;
}
img.alignright {
	float:right;
	clear:both;
	margin:0 0 1em 1.6em;
}
/* add a little extra space so top of images align better with text */
p > img.alignleft,
p > img.alignright {
	margin-top:.15em;
}
img.aligncenter {
	display:block;
	clear:both;
	margin:1em auto;
}
img.alignfull {
	display:block;
	clear:both;
	margin:3em auto 1em;
	width:100%;
	height:auto;
}
/* block out approximate space below images for captions, to minimize layout changes when the captions are added by JS
	 .3em + 4em padding + 1.3em line-height = 2em + 1em = 3em bottom margin + border */
.jsActive img.alignleft[alt],
.jsActive img.alignright[alt],
.jsActive img.aligncenter[alt],
.jsActive img.alignfull[alt] {
	border-bottom:thin solid transparent;
	margin-bottom:3em;
}
noscript img.alignleft,
noscript img.alignright,
img.noCaption {
	border-bottom:none;
	margin-bottom:1em;
}
/* keep headings close to these images */
img.alignfull + h1,
img.alignfull + h2,
img.alignfull + h3 {
	margin-top:1em;
}
div.alignleft,
div.alignright,
div.aligncenter,
div.alignfull {
	position:relative;
	max-width:100%;
	/* overflow-x:hidden; */
	background:#fff;
	font-size:.8125rem; /* 13px */
}
div.alignleft {
	float:left;
	margin:1.45em 1.6em 1em 0;
}
div.alignright {
	float:right;
	margin:1.45em 0 1em 1.6em;
}
div.aligncenter {
	display:block;
	clear:both;
	margin:1em auto;
}
div.alignfull {
	display:block;
	clear:both;
	margin:3em auto 1em;
}
/* keep headings close to these images */
div.alignfull + h1,
div.alignfull + h2,
div.alignfull + h3 {
	margin-top:1em;
}
/* add a little extra space so top of images align better with text */
p > div.alignleft,
p > div.alignright {
	margin-top:.15em;
}
div.alignleft a,
div.alignright a,
div.aligncenter a,
div.alignfull a {
	position:relative;
	color:#666;
}
div.alignleft br,
div.alignright br,
div.aligncenter br,
div.alignfull br {
	display:none;
}
div.alignleft img,
div.alignright img {
	display:block;
	max-width:100%;
	height:auto;
	margin:0;
	float:none;
	border:none;
}
div.aligncenter img,
div.alignfull img {
	display:block;
	max-width:100%;
	height:auto;
	margin:0 auto;
	border:none;
}
div.alignfull img {
	width:100%;
	height:auto;
}
div.imgCaption,
p.wp-caption-text {
	margin:0;
	padding:.3em 0 .4em;
	line-height:1.3em;
	font-weight:normal;
	color:#808080;
	text-align:left;
	letter-spacing:0;
	border-bottom:thin solid #eee;
}
span.imgCredit {
	display:block;
	font-weight:normal;
	color:#afafaf;
	font-size:.6875rem; /* 11px */
}
span.imgCredit a,
span.imgCredit a:visited {
	color:#afafaf;
	text-decoration:none;
}
span.imgCredit a:hover {
	color:#00F;
	text-decoration:underline;
}
a.enlarge {
	position:relative;
	display:block;
	text-decoration:none;
}
a.enlarge::after {
	content:'\e81d';
	position:absolute;
	display:block;
	visibility:hidden;
	opacity:0;
	top:50%;
	left:50%;
	width:40px;
	height:40px;
	margin:-20px 0 0 -20px;
	padding:8px;
	z-index:1;
	font-size:24px;
	line-height:24px;
	background:#fff;
	color:#000;
	border-radius:50%;
	font-family:'friendlyplanet';
	font-style:normal;
	font-weight:normal;
	text-transform:none;
	speak:none;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
a.enlarge:hover::after {
	visibility:visible;
	opacity:.85;
}

/* CONTENT TABLES */
div.wrapper {
	margin:2em 0; /* since tables don't do margin-collapsing */
}
table.aligncenter {
	margin:0 auto;
	clear:both;
}
table.alignleft,
table.alignleft {
	margin-left:0;
	margin-right:1.6em;
	float:left;
	clear:both;
	max-width:45%;
}
table.alignright,
table.alignright {
	margin-left:1.6em;
	margin-right:0;
	float:right;
	clear:both;
	max-width:45%;
}

/* only used in checkout & Merchant Tools */
table.ledger {
	border-collapse:separate; /* collapse sometimes results in cells of different heights */
	border-spacing:0; /* cellspacing */
	font-size:1rem; /* 16px */
	line-height:1.5;
	margin-bottom:1em;
	background:#f5f8fc;
	border-style:solid;
	border-width:1em; /* simulate padding */
	border-color:#f5f8fc;
	clear:both;
}
table.ledger tr td {
	padding:.5em;
	border-bottom:thin dotted #d4d4d4;
	vertical-align:baseline;
}
table.ledger td:last-child {
	text-align:right;
	white-space:nowrap;
}
table.ledger td:first-child {
	text-align:left;
	white-space:normal;
}
table.ledger tr:last-child td {
	border-bottom:none;
}
table.ledger tr.head td {
	padding-bottom:.5em;
	font-weight:bold;
	border-bottom:thin solid #ddd;
}
table.ledger tr.subhead td {
	padding-top:.5em;
	padding-bottom:.375em;
	font-size:95%;
}
table.ledger tr.key td {
	padding-top:0;
	font-size:80%;
	color:#808080;
	font-style:italic;
}
table.ledger tr.underline td {
	padding-top:.375em;
	padding-bottom:.5em;
	border-bottom:thin solid #ddd;
}
table.ledger tr.spacer td {
	height:.75em;
	border-bottom-style:none;
}
table.ledger tr.sum td {
	padding-top:.5em;
	border-top:thin solid #ddd;
	border-bottom-style:none;
}
table.ledger input[type=checkbox],
table.ledger input[type=radio] {
	margin:.35em .5em 0 0;
	vertical-align:top;
}
/* true HTML fieldsets are maddeningly hard to reset and restyle, so just make our own */
div.fieldset {
	font-size:.9375rem; /* 15px */
	line-height:1.5;
	margin:1em 0;
	padding:.5rem 1.5rem 1.5rem;
	background:#f5f8fc;
	border:thin solid #cee3f2;
	border-radius:.25rem;
}
/* when used with Bootstrap grid */
div.fieldset.row {
	margin-left:0;
	margin-right:0;
	padding-left:0;
	padding-right:0;
	align-items:center;
}
div.fieldset > div.indent {
	padding-left:25px;
}
/* use Bootstrap pt-3 instead */
div.fieldset > div.spaceBefore {
	padding-top:1rem;
}
div.fieldset > div.spaceAfter {
	padding-bottom:1rem;
}
div.fieldset label {
	display:block;
	margin:1rem 0 0;
}
div.fieldset label + label {
	margin-top:.5rem;
}
div.fieldset label.inline {
	display:inline-block;
	margin:0 1.5rem 0 0;
}
div.fieldset div.label {
	font-size:.9em;
	margin:0 0 .75rem;
}
div.fieldset label span.label {
	display:block;
	font-size:.9em;
	margin:0 0 .25rem;
}
table.fieldset {
	border-collapse:separate;
	font-size:.9375rem; /* 15px */
	margin:1em 0;
	background:#f5f8fc;
	border-style:solid;
	border-width:1.25em 1.125em; /* simulate padding */
	border-color:#f5f8fc;
}
table.fieldset tr td {
	padding:.25em .375em;
	line-height:1.25;
	vertical-align:middle;
	border-bottom:thin dotted #dedede;
}
table.fieldset tr:last-child td {
	border-bottom:none;
}
table.fieldset th {
	padding:.2em .5em .3em;
	font-size:.84375rem; /* 13.5px */
	line-height:1.4;
	font-weight:normal;
	text-align:left;
	vertical-align:middle;
	border-bottom:thin dotted #dedede;
}
.fieldset input[type=checkbox],
.fieldset input[type=radio] {
	margin:.25em .5em 0 0;
	vertical-align:top;
}
div.fieldset input[type=text],
div.fieldset input[type=password],
div.fieldset input[type=datetime],
div.fieldset input[type=date],
div.fieldset input[type=email],
div.fieldset input[type=tel],
div.fieldset input[type=month],
div.fieldset input[type=number],
div.fieldset input[type=search],
div.fieldset input[type=tel],
div.fieldset input[type=time],
div.fieldset input[type=url],
div.fieldset input[type=week],
div.fieldset select,
div.fieldset textarea {
	font-size:1.067em;
	width:100%;
}
div.fieldset .inline input[type=text],
div.fieldset .inline input[type=password],
div.fieldset .inline input[type=datetime],
div.fieldset .inline input[type=date],
div.fieldset .inline input[type=email],
div.fieldset .inline input[type=tel],
div.fieldset .inline input[type=month],
div.fieldset .inline input[type=number],
div.fieldset .inline input[type=search],
div.fieldset .inline input[type=tel],
div.fieldset .inline input[type=time],
div.fieldset .inline input[type=url],
div.fieldset .inline input[type=week],
div.fieldset .inline select {
	width:auto;
	margin-right:.5em;
}

/* DATES & PRICES TABLES
	 .cleanTable is currently used for datesTables and feeTables */
.cleanTable {
	margin:2em 0;
}
.cleanTable table {
	font-size:.90625rem; /* 14.5px */
	width:auto;
	border-collapse:separate;
	border-spacing:0;
	border:2px solid #ebebeb;
	border-radius:3px;
	background:#fff;
}
.cleanTable td {
	background:#fff;
	padding:.75em 1em;
	vertical-align:top;
	line-height:1.5;
	text-align:left;
	border-top:thin dotted #e0e0e0;
	empty-cells:show;
}
.cleanTable th,
.cleanTable tr.head td,
.cleanTable td.head {
	background:#f5f5f5;
	vertical-align:middle;
	text-align:center;
	border:none;
	font-weight:normal;
	padding:.75em 1em;
	font-size:1.3em;
	line-height:1.25;
	color:#333;
}
.cleanTable th a,
.cleanTable tr.head td a,
.cleanTable td.head a {
	color:#555;
	text-decoration:none;
}
.cleanTable th .small,
.cleanTable tr.head td .small,
.cleanTable td.head .small {
	margin-top:.2em;
}
.cleanTable tr.groupHead td {
	border-top:2px solid #fff;
	background:#ebebeb;
	text-align:center;
	font-weight:600;
	color:#555;
}
.cleanTable tr.key td,
.cleanTable td.key {
	padding-top:.2em;
	padding-bottom:.2em;
	line-height:1.3;
	font-weight:600;
	vertical-align:middle;
	text-align:center;
	color:#333;
}
.cleanTable tr.alt td,
.cleanTable td.alt {
	/* background:#fffcf0; */
}
.cleanTable tr.key td.bright {
	color:#f50;
}
.cleanTable tr.divider td,
.cleanTable td.divider {
	padding-top:.3em;
	border-top:thin solid #e3e3e3;
}
.cleanTable table p {
	margin:0;
}

.feeTable table {
	width:460px; /* on tables, width acts like min-width */
	max-width:100%;
}
.feeTable td.child {
	font-size:.85em;
	padding-top:.7em;
	padding-left:1.8em;
}
.feeTable td.price {
	text-align:right;
	white-space:nowrap;
}
.datesTable .disclaimer small {
	display:block;
}
.datesTable table {
	width:460px; /* on tables, width acts like min-width */
	max-width:100%;
}
.datesTable th {
	padding:.8em 1em;
	font-size:1.3em;
	font-weight:bold;
}
.datesTable td {
	padding-left:.75em;
	padding-right:.75em;
	vertical-align:middle;
	text-align:center;
	white-space:nowrap;
}
.datesTable tr.key td {
	padding:.5em;
	border:none;
}
.datesTable tr.key td.discount {
	color:#f50;
}
.datesTable td.ddate {
	padding-left:1em; /* default in case JS doesn't load and no tooltip appears; see layout.css */
	font-weight:bold;
	text-align:left;
}
.datesTable td.price,
.datesTable td.discount {
}
.datesTable td.sprice {
	padding-left:.75em;
	padding-right:.75em;
	font-weight:bold;
}
.datesTable td.discount {
	color:#f60;
}
.datesTable td.featured {
	color:#f00;
	/* allow this column to completely collapse when empty */
	padding-left:0;
	padding-right:0;
}
.datesTable td.featured img {
	margin:0 .75em; /* margin to compensate for no padding */
}
.datesTable td.status {
	padding-right:.75em;
	text-align:center;
}
.datesTable td.status a.btn {
	padding:1px 6px 2px;
	min-height:0;
}
.datesTable td.status a.btn b {
	font-weight:600;
}
.datesTable tr.featured td.discount {
	color:#f00;
	font-weight:600;
}
.datesTable tr.featured td.sprice {
	color:#f00;
}
.datesTable tr.dim td,
.datesTable td.dim {
	color:#a3a3a3;
}

/* used on tours.asp */
h2.datesTableHead {
	margin-bottom:.75rem;
	padding-bottom:0;
	border:none;
}
h2.datesTableHead:first-child {
	margin-top:0
}
h3.datesTableHead {
	margin-top:0
}
div.datesTableLink {
	margin-top:-.5rem;
	margin-bottom:.75rem;
}

/* TOUR BANNERS */
div.tourBanners {
	margin:2.5rem 0;
}
div.tourBanners > div {
	font-size:1.25rem;    /* 20px, for simplicity of child element sizing */
	position:relative;
	padding-left:2.25em; /* 45px */
	margin-bottom:2em;   /* 40px */
}
div.tourBanners > div > div {
	font-size:.725em; /* 14.5px */
	margin-bottom:.25em;
}
div.tourBanners img,
div.tourBanners i[class^="icon-"] {
	font-size:1.8em;  /* 36px */
	position:absolute;
	width:1em;
	height:1em;
	left:-.1em;
	top:-.15em;
	line-height:1;
	color:#5278c4;
}
div.tourBanners strong {
	color:#5278c4;
	font-size:1.2em;
	letter-spacing:-.02em;
	margin-right:.375em;
}
div.tourBanners b {
	display:inline-block; /* to prevent linewrapping */
}

/* TOUR PRICE DISCOUNTS WIDGET
	 Used on top of tour pages and checkout */
div.tourDiscounts.multiple {
	padding-left:3.25em; /* 65px */
}
div.tourDiscounts i[class^="icon-"] {
	font-size:2em;  /* 40px, a little bigger than the others */
	color:#F60;
}
div.tourDiscounts.multiple i[class^="icon-"] {
	font-size:3em; /* 60px */
	top:-.05em;
}
div.tourDiscounts.multiple div.big {
	margin:0 0 .4em;
	padding-bottom:.4em;
	color:#F60;
	font-size:1.2em;
	line-height:1.15;
	font-weight:600;
	letter-spacing:-.025em;
	border-bottom:2px solid #eee;
}
div.tourDiscounts strong {
	color:#F60;
}

/* CATEGORY COLORS */
.cat1 {
	color:#5278c4;
	background:#5278c4;
	border-color:#5278c4;
}
.cat2, .cat7 {
	color:#757575;
	background:#757575;
	border-color:#757575;
}
.cat3 {
	color:#8ab354;
	background:#8ab354;
	border-color:#8ab354;
}
.cat4 {
	color:#5ea9e7;
	background:#5ea9e7;
	border-color:#5ea9e7;
}
.cat6 {
	color:#b39741;
	background:#b39741;
	border-color:#b39741;
}

/* TOUR TILE LISTINGS */
div.tiles {
	clear:both;
	margin:0;
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
	grid-template-rows:auto;
	grid-column-gap:30px;
	grid-row-gap:30px;
	justify-items:stretch;
	align-items:stretch;
	grid-auto-flow:row;
}
div.tiles .tile {
	position:relative;
	min-width:280px;
	max-width:480px;
	border:none;
	background:#f2f2f2;
	border-radius:6px;
}
/* IE10 & 11 have limited, prefixed support for grid layout and don't really support an implicit grid, so...fall back to flex with hacks.
	 Conditional CSS for IE: https://philipnewcomer.net/2014/04/target-internet-explorer-10-11-css/ */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	div.tiles {
		margin:0 -15px;                /* compensate for gutters */
		display:-ms-flexbox;
		display:flex;
		-ms-flex-direction:row;
		-ms-flex-wrap:wrap;
		flex-flow:row wrap;
	}
	div.tiles .tile {
		border:15px solid transparent; /* to create gutters, use a transparent border; could use padding, but this simplifies internal positioning w/o wrappers */
		background:none;               /* see simulated bg below*/
		-ms-flex-order:1;
		order:1;
	}
	/* Insert psuedo elements to finish the last row: https://codepen.io/lukejacksonn/pen/dozqVq
	https://stackoverflow.com/questions/18744164/flex-box-align-last-row-to-grid#comment-49885839 */
	div.tiles:before,
	div.tiles:after {
		content:'';
		display:block;
		-ms-flex-order:2;
		order:2;
	}
	div.tiles .tile,
	div.tiles:before,
	div.tiles:after {
		min-width:310px; /* including border */
		max-width:510px; /* including border */
		-ms-flex-positive:1;
		flex-grow:1;
		-ms-flex-negative:1;
		flex-shrink:1;
		-ms-flex-preferred-size:30%;  /* should be 33.333% here, but for some reason, that doesn't work as expected in IE; this does */
		flex-basis:30%;
	}
	/* psuedo-element for background color */
	div.tiles .tile:before {
		content:'';
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		background:#f2f2f2;
		border-radius:6px;
	}
}
div.tiles .tileFlag {
	position:relative; /* place element above the bg */
	z-index:1;         /* and above category */
	float:right;
	background:#ff8b26;
	color:#fff;
	text-transform:uppercase;
	padding:.375rem 17px;
	font-size:.90625rem;
	line-height:1.0625rem;
	margin-left:.9375rem;
	border-left:thin solid #f2f2f2;
	border-radius:0 6px 0 0;
}
div.tiles .tileCategory {
	position:relative; /* place element above the bg */
	display:block;
	color:#fff;
	text-transform:uppercase;
	padding:.375rem 17px;
	font-size:.90625rem;
	line-height:1.0625rem;
	border-bottom:thin solid #f2f2f2;
	border-radius:6px 6px 0 0;
}
/*
Create an image container with a 2:1 aspect ratio but also a max-height, then absolutely position image inside of it.
This works even if images aren't 2:1, and doesn't have to wait for them load to determine layout.
https://stackoverflow.com/questions/10062811/can-i-set-the-height-of-a-div-based-on-a-percentage-based-width#answer-10441480
*/
div.tiles .tileImg {
	position:relative;
	max-height:180px; /* limit height of img */
	overflow:hidden;
	display:block;
	background-color:#eee;
	background-image:radial-gradient(#f4f4f4, #d6d6d6);
	-webkit-print-color-adjust: exact !important;   /* Make background print in Chrome, Safari */
	color-adjust: exact !important; /* Firefox */
}
div.tiles.locations .tileImg {
	border-radius:6px 6px 0 0;
}
/* use a psuedo element to maintain aspect ratio below the max-height */
div.tiles .tileImg::before {
	content:'';
	display:block;
	width:100%;
	height:0;
	padding-top:50%; /* relative to parent */
}
div.tiles .tileImg img {
	width:100%;
	height:auto;
	min-width:100%;
	min-height:100%; /* in case for some reason the image is too short */
	display:block;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
	border:none;
	background:none; /* override ajax loader on images, since we don't know the height yet */
	transition:transform 0.3s;
}
div.tiles .tileImg img:hover {
	-webkit-transform:translate(-50%,-50%) scale(1.05);
	transform:translate(-50%,-50%) scale(1.05);
}
div.tiles .tileText {
	padding:10px 17px 17px;
	position:relative; /* or they're hidden in IE */
}
div.tiles.tours .tileText {
	padding-bottom:4.5rem; /* room for buttons */
}
div.tiles .title {
	margin:0;
	padding:0;
	font-size:1.6875rem; /* 27px */
	line-height:1.15;
	font-weight:600;
	letter-spacing:-.045em;
	color:#06F;
}
div.tiles .title a {
	color:#06F;
	text-decoration:none;
}
div.tiles .title a:hover,
div.tiles .hover .title a {
	color:#F60;
}
div.tiles.tours .subtitle {
	margin:.625rem 0 0;
	padding:0;
	display:block;
	font-weight:normal;
	font-size:.875rem;
	line-height:1.45;
	color:#666;
}
div.tiles.tours.compact .subtitle {
	display:none;
}
div.tiles.tours .status {
	margin:.75rem 0 0;
	font-weight:normal;
	font-size:1.09375rem;
	line-height:1.25;
	color:#737373;
}
div.tiles.tours.compact .status {
	margin:10px 0 0;
}
/* make these inline blocks and align them to each other on the bottom, so that if for
	 some reason the duration wraps to the next line, there isn't a huge gap above it */
div.tiles.tours .price,
div.tiles.tours .duration {
	display:inline-block;
	vertical-align:bottom;
	text-align:center;
	font-size:.78125rem;
	line-height:1.4;
	color:#666;
	text-transform:uppercase;
}
div.tiles.tours .price {
	margin:1.875rem .843755rem .625rem 0;
	padding:0 1.0625rem 0 0;
	border-right:thin solid #aaa;
	text-align:left;
}
div.tiles.tours .duration {
	margin:0 0 .625rem;
	padding:0;
}
div.tiles.tours .price big,
div.tiles.tours .duration big {
	display:block;
	margin-bottom:.1875rem;
	font-size:1.625rem;
	line-height:1;
	font-weight:600;
	letter-spacing:-.03em;
	text-transform:none;
}
div.tiles.tours .price big {
	color:#f60;
}
div.tiles.tours .price small {
	font-size:inherit;
	display:block;
	margin-top:-1.0625rem;
}
div.tiles.tours .disclaimer {
	clear:left;
	margin:0;
	font-size:.75rem;
	line-height:1.2;
}
div.tiles.tours .savings {
	margin:.75rem 0 0;
	font-size:.90625rem;
	font-weight:600;
	color:#f60;
}
div.tiles.tours .tileBtns {
	position:absolute;
	bottom:14px;
	left:17px;
	right:17px;
}
div.tiles.tours a.btn {
	float:left;
	margin:.25em 1em 0 0;
	padding:.25em 1.5em .35em;
	font-size:.8125rem;
	min-height:0;
}
div.tiles.tours a.map,
div.tiles.tours a.dates {
	float:right;
	margin-left:1em;
	font-size:.8125rem;
	line-height:1;
	text-decoration:none;
	text-align:center;
	opacity:.75;
	transition:opacity .1s;
}
div.tiles.tours a.map:hover,
div.tiles.tours a.dates:hover {
	opacity:1;
}
div.tiles.tours a.map::before,
div.tiles.tours a.dates::before {
	display:block;
	vertical-align:middle;
	line-height:inherit;
	font-family:'friendlyplanet';
	speak:none;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	margin-bottom:.125rem;
}
div.tiles.tours a.map::before {
	content:'\e80f';
	font-size:1.25rem;
}
div.tiles.tours a.dates::before {
	content:'\e84f';
	font-size:1.25rem;
}

/* GAUGES FOR ACTVITIY LEVELS */
span.thermometer {
	display:inline-block;
	width:5rem;
	height:1.125rem;
	border:thin solid #808080;
	border-radius:.5rem;
	vertical-align:text-top;
	margin-right:1.25rem;
	white-space:nowrap;
	overflow:hidden;
}
span.thermometer i {
	display:inline-block;
	height:1.125rem;
	background:#5278c4;
	border-right:thin solid #fff;
}
span.thermometer i:last-child {
	border-right-color:#5278c4;
}
/* 4 increments; could easily create more */
span.thermometer.scale4 i {
	width:25%;
	/* use borders for fill, since borders print but backgrounds don't */
	border-left:1.1875rem solid #5278c4;
}

/* PHOTOSLURP */
html:not(.jsActive) #fanPhotoBlock {
	display:none;
}
#fanPhotoBlock {
	padding-bottom:35px;
}
body .ps-carousel.ps-theme-modern .ps-carousel-slider.ps-slider-horizontal {
	padding:12px 0;
}
body .ps-theme-modern .ps-note-add-pics-submit {
	background:linear-gradient(to bottom,#fff 0%,#eee 100%);
	border:thin solid;
	border-color:#83b8fe;
	border-radius:.4em;
	color:#06f;
	cursor:pointer;
	font-family:'Open Sans','Segoe UI',Arial,Helvetica,sans-serif;
	font-size:.84375rem;
	font-weight:600;
	float:left;
	clear:both;
	padding:.4em 1.2em .5em;
	line-height:1.5;
	touch-action:manipulation;
	text-shadow:0 0 1px #fff;
	letter-spacing:.05em;
}
body .ps-theme-modern .ps-note-add-pics-submit:hover {
	background:#fff; /* Old browsers */
	background:-moz-linear-gradient(top, #fff 0%, #fff2e5 100%); /* FF3.6+ */
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#fff2e5)); /* Chrome,Safari4+ */
	background:-webkit-linear-gradient(top, #fff 0%,#fff2e5 100%); /* Chrome10+,Safari5.1+ */
	background:-o-linear-gradient(top, #fff 0%,#fff2e5 100%); /* Opera 11.10+ */
	background:-ms-linear-gradient(top, #fff 0%,#fff2e5 100%); /* IE10+ */
	background:linear-gradient(to bottom, #fff 0%,#fff2e5 100%); /* W3C */
	border-color:#ff9326 #e55c00 #e55c00 #ff9326;
	/* gradients in all versions of IE & MS Edge have aliasing problems at edges; this seems to fix it */
	border-color:rgba(255,147,38,1) rgba(229,92,0,1) rgba(229,92,0,1) rgba(255,147,38,1);
	color:#f60;
	font-size:.84375rem;
	padding:.4em 1.2em .5em;
	line-height:1.5;
}
body .ps-theme-modern .ps-note-add-pics-submit>span {
	background:none;
	position:relative;
	margin-right:8px;
}
body .ps-theme-modern .ps-note-add-pics-submit>span:before {
	content:'\e84c';
	font-size:20px;
	font-family:friendlyplanet;
	font-style:normal;
	font-weight:400;
	speak:none;
	display:inline-block;
	text-decoration:none;
	width:1em;
	margin-right:.3em;
	text-align:center;
	font-variant:normal;
	text-transform:none;
	-webkit-font-smoothing:antialiased;
}
body .ps-carousel.ps-theme-modern .ps-carousel-slider nav span.ps-prev {
	background: rgba(0,102,255,.8);
	color: #fff;
	width: 34px;
	height: 34px;
	padding: 2px 4px 0 0;
	font-size: 20px;
	opacity: 1;
	text-indent: 0;
	text-align:center;
}
body .ps-carousel.ps-theme-modern .ps-carousel-slider.ps-slider-horizontal nav span.ps-prev{
	left: -15px;
}
body .ps-carousel.ps-theme-modern .ps-carousel-slider.ps-slider-horizontal nav span.ps-next{
	right: -15px;
}
body .ps-carousel.ps-theme-modern .ps-carousel-slider nav span.ps-next {
	background:rgba(0,102,255,.8);
	color:#fff;
	width:34px;
	height:34px;
	padding:2px 4px 0 0;
	font-size:20px;
	opacity:1;
	text-indent:5px;
	text-align:center;
}
body .ps-carousel.ps-theme-modern .ps-carousel-slider nav span.ps-prev:hover,
body .ps-carousel.ps-theme-modern .ps-carousel-slider nav span.ps-prev:focus,
body .ps-carousel.ps-theme-modern .ps-carousel-slider nav span.ps-next:hover,
body .ps-carousel.ps-theme-modern .ps-carousel-slider nav span.ps-next:focus {
	background:rgba(0,102,255,1);
	text-shadow:1px 1px 2px rgba(0,0,0,.5);
}
body .ps-carousel.ps-theme-modern .ps-carousel-slider nav span.ps-prev:before {
	content:'\e80b';
	font-size:20px;
	font-family:friendlyplanet;
	font-style:normal;
	font-weight:600;
	speak:none;
	display:inline-block;
	text-decoration:none;
	width:1em;
	text-align:center;
	font-variant:normal;
	text-transform:none;
	-webkit-font-smoothing:antialiased;
}
body .ps-carousel.ps-theme-modern .ps-carousel-slider nav span.ps-next:before {
	content:'\e80c';
	font-size:20px;
	font-family:friendlyplanet;
	font-style:normal;
	font-weight:600;
	speak:none;
	display:inline-block;
	text-decoration:none;
	width:1em;
	text-align:center;
	font-variant:normal;
	text-transform:none;
	-webkit-font-smoothing:antialiased;
}

/* STAR RATINGS */
.stars-outer {
	position:relative;
	display:inline-block;
	vertical-align:baseline;
	margin-right:.75em;
	font-weight:normal;
	font-family:'friendlyplanet';
	font-size:1.5625rem;
	line-height:1;
	color:#bbb;
}
.stars-outer::before {
	content:'\e850 \e850 \e850 \e850 \e850';
}
.stars-inner {
	position:absolute;
	top:0;
	left:0;
	white-space:nowrap;
	overflow:hidden;
	width:0;
}
.stars-inner::before {
	content:'\e85a \e85a \e85a \e85a \e85a';
	color:#ffc100;
}

/* FEEFO REVIEWS */
.avgRating {
	/* based on H3 */
	margin:1em 0;
}
.avgRating b {
	display:inline-block;
	font-size:1.7em;
	font-weight:600;
	letter-spacing:-.025em;
	margin-bottom:.5rem;
}
.avgRating .stars-outer {
	margin-right:1.25rem;
	margin-bottom:.5rem;
	font-size:1.875rem;
}
.avgRating small {
	display:block;
	font-size:.90625rem;
}
#reviewsBox {
	font-size:inherit;
	margin:30px 0;
}
#reviewsBox .reviews-load {
	min-height:35px;
	text-align:center;
	margin:15px 0;
	font-size:1rem;
}
#reviewsBox .reviews-load a {
	text-decoration:none;
	font-weight:bold;
}
#reviewsBox.loading .reviews-load {
	background:url(../media/gallery/icons/loading.gif) center top no-repeat;
}
#reviewsBox.loading .reviews-load a {
	display:none;
}
#reviewsBox .review {
	padding:1.25rem 1.5rem 1.375rem;
	border-bottom:thin solid #eee;
}
#reviewsBox .review:first-child {
	border-top:thin solid #eee;
}
#reviewsBox .review:nth-child(odd) {
	background:#f5f5f5;
}
#reviewsBox .review .stars-outer {
	margin-right:.9375rem;
	font-size:1.375rem;
}
#reviewsBox .review strong {
	font-size:.96875rem;
	line-height:1.375rem;
}
#reviewsBox .review blockquote {
	display:block;
	margin:.75rem 0 1.125rem;
}
#reviewsBox .review .review-meta {
	position:relative;
	padding-left:1.5em;
	padding-right:5em;
	line-height:1.6em; /* set explicitly so review-share can inherit */
}
#reviewsBox .review .review-name {
	font-weight:600;
	margin-right:1em;
}
#reviewsBox .review .review-name:before {
	font-family:'friendlyplanet';
	content:'\e83d';
	opacity:.3;
	position:absolute;
	top:0;
	left:0;
}
#reviewsBox .review .review-date {
	color:#808080;
}
#reviewsBox .review .review-tour {
	display:block;
	margin-top:.125rem;
	font-size:.8125rem;
	color:#808080;
}
#reviewsBox .review .review-tour.private {
	display:none;
}
#reviewsBox .review .review-tour a {
	color:inherit;
	text-decoration:none;
}
#reviewsBox .review .review-thumbs {
	margin-top:.9375rem;
}
#reviewsBox .review .review-thumbs a {
	margin:0 .1875rem;
	float:left;
}
#reviewsBox .review .review-thumbs img {
	height:4.6875rem; /* 75px */
	width:auto;
}
#reviewsBox .review a.review-share {
	color:#999;
	text-decoration:none;
	font-size:.9em;
	line-height:inherit;
	position:absolute;
	bottom:0;
	right:0;
}
#reviewsBox .review .review-tour a:hover,
#reviewsBox .review .review-tour a:active,
#reviewsBox .review a.review-share:hover,
#reviewsBox .review a.review-share:active {
	color:#06f;
	text-decoration:underline;
}
#reviewsBox .review a.review-share i {
	margin-right:4px;
}
#reviewsBox .review .review-response {
	margin-top:1.5rem;
	padding-left:3.125rem;
}
#reviewsBox .review .review-response strong {
	font-weight:600;
	color:#f60;
	margin-right:.625rem;
	position:relative;
	padding-left:1.375rem;
}
#reviewsBox .review .review-response strong:before {
	font-family:'friendlyplanet';
	content:'\e83d';
	opacity:.4;
	position:absolute;
	top:0;
	left:0;
}

/* GOOGLE MAPS */
div#map {
	min-height:300px;
	margin:2em 0 1em;
	overflow:hidden;
}
div#map .gm-style-iw div {
	overflow:hidden !important;
}
.mapInfoWindow { /* http://goo.gl/DsnXaK */
	font:100%/1.3 'Open Sans','Segoe UI',Arial,Helvetica,sans-serif !important;
	font-weight:normal;
	white-space:nowrap;
}
.mapInfoWindow strong {
	font-weight:bold;
}

/* FANCYBOX */
body .fancybox-slide--video {
padding:40px 0;
}
.fancybox-slide--html .fancybox-content {
	border-radius:5px;
}
body .fancybox-slide--iframe .fancybox-iframe {
	padding:29px;
}
.fancybox-slide .fancybox-content {
	overflow:visible; /* prevent scrollbars on content */
}
/* To add an outline on the modals in a way that doesn't cause a lot of side effects, fake it with a drop-shadow on a psuedo-element. Inspired by https://tobiasahlin.com/blog/how-to-animate-box-shadow/
	 However, multiple problems with this: 1) Have to show it after the "zoom" animation (images only) is complete, which is weird; 2) since the border is outside the calculated modal area, the "close"
	 button (when using the small version) is no longer aligned with the modal; and 3) for modals that extend right to the screen edges, part of this border will be off-screen. */
.fancybox-content::after {
	content:"";
	box-sizing:content-box;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:-1;
	opacity:0;
	transition:opacity .5s;
}
.fancybox-slide--complete .fancybox-content::after {
	box-shadow:0 3px 20px rgba(0,0,0,.7);
	opacity:1;
}
.fancybox-content > :first-child {
	margin-top:0 !important;
}
.fancybox-content > :last-child {
	margin-bottom:0 !important;
}
.fancybox-caption span.imgCredit {
	margin-top:5px;
}
.fancybox-caption a:hover,
.fancybox-caption span.imgCredit a:hover {
	color:#fff;
}
#modalAlert {
	padding:50px 30px 25px; /* override padding on alerts only */
	font-size:1rem;
	max-width:640px;
}
#modalAlert input.btn {
	margin:10px 0 0 10px;
	float:right;
}

/* elements to hide if JavaScript is functioning */
.jsActive .noJs {
	display:none;
}

/* TOOLTIPS: hide by default, until script (in plugin) runs */
.tooltip {
	display:none;
}

/* TEMPLATE STYLES: formerly in layout.css. */

#template {
	width:auto;
	min-width:1150px;
}
/* generic class for limiting elements to our max site width */
.pageWidth {
	width:1150px;
	padding:0 25px;
	margin:0 auto;
	/* position:static; */
}
#pageContent {
	width:1150px;
	min-height:400px;
	padding:30px 25px;
	margin:0 auto;
	position:relative;
	clear:both;
	float:none;
}
/* override for Bootstrap to increase gutter, but DO NOT exceed padding on body or scrollbars will appear (unless overflow:hidden) */
.pageWidth .row.max-gutter,
#pageContent .row.max-gutter {
	margin-left:-25px;
	margin-right:-25px;
}
.pageWidth .row.max-gutter > [class*="col"],
#pageContent .row.max-gutter > [class*="col"] {
	padding-left:25px;
	padding-right:25px;
}
main {
	display:block;
	width:100%;
	margin:0 auto;
	padding:0;
	background:#fff;
	font-size:.90625rem;
	line-height:1.6;
}

/* SITE NOTICES (see also common.css) */
#jsErrorRibbon {
	padding:0 15px;
}
#jsErrorRibbon p {
	max-width:1100px;
}
#newsRibbon {
	background:#fff;
	padding:8px 15px 6px;
	text-align:center;
	border-bottom:1px solid #a0d7ff;
}
#newsRibbon p {
	margin:0 auto 4px;
	max-width:1100px;
	text-align:center;
	color:#1655bc;
	font-size:15px;
	line-height:1.5;
}
p#cookieConsentRibbon {
	text-align:left;
	font-size:14.5px;
}
p#cookieConsentRibbon input {
	float:right;
	margin:5px 0 10px 20px;
}

/* HEADER */
header#siteHeader {
	display:block;
	width:100%;
	height:auto;
	max-height:125px;
	margin:0 auto;
	padding:25px 0;
	background:#1655bc url(../media/template/header-map-bg.png) top center repeat-x;
	position:relative;
	z-index:110; /* just over the megamenu overlay */
}
#masthead {
	display:block;
	float:left;
	width:318px;
	max-width:45%;
	min-width:165px;
	margin:0;
}
#masthead a {
	width:100%;
	height:0;
	padding:18.23% 0 0; /* keep aspect ratio */
	outline:0;
	position:relative;
}
#masthead img { /* the globe */
	position:absolute;
	top:0;
	left:0;
	/* width:57px; */
	width:18%;
	height:auto;
	filter:drop-shadow(2px 2px 2px rgba(0,0,0,.3));
}
#masthead .logotype {
	position:absolute;
	top:3%;
	right:0;
	width:78.62%;
	/* height:auto;  this works in Chrome & Firefox, but not IE; see https://tympanus.net/codrops/2014/08/19/making-svgs-responsive-with-css/ */
	height:62.97%;
	fill:#fff;
	filter:drop-shadow(2px 2px 2px rgba(0,0,0,.3));
}
#masthead .slogan {
	position:absolute;
	top:66%;
	right:0;
	width:78.63%;
	height:34.78%;
	fill:#b6e3f6;
	stroke:#b6e3f6;
	stroke-width:.25;
	stroke-miterlimit:10;
	filter:drop-shadow(1px 1px 1px rgba(0,0,0,.3));
}
#siteHeader a,
#siteHeader a:hover {
	display:block;
	text-decoration:none;
	color:#fff;
}
div#headerSearch,
div#headerSearchMobile,
div#headerMenuMobile,
div#headerHelpBtns,
div#headerPhone,
div#headerPhoneMobile {
	font-size:1.09375rem; /* 17.5px */
	float:right;
	margin:0;
	padding:0;
	text-shadow:1px 1px 2px rgba(0,0,0,.4);
}
div#headerMobile {
	float:right;
	margin-left:33px;
	padding:0;
}
div#headerSearch,
div#headerHelpBtns {
	margin-left:45px;
}
div#headerSearchMobile,
div#headerMenuMobile,
div#headerPhoneMobile {
	margin-left:12px;
}
div#headerSearchMobile a,
div#headerMenuMobile a,
div#headerHelpBtns a,
div#headerPhone a,
div#headerPhoneMobile a {
	display:block;
	font-size:inherit; /* 17.5px */
	line-height:1.55em;  /* 27px */
	font-weight:600;
}
div#headerPhone a.holidayHours {
	text-align:center;
}
div#headerPhone a.holidayHours:before {
	content:unset;
}
div#headerSearchMobile a:before,
div#headerMenuMobile a:before,
div#headerHelpBtns a:before,
div#headerPhone a:before,
div#headerPhoneMobile a:before {
	font-family:'friendlyplanet';
	font-style:normal;
	font-weight:normal;
	font-variant:normal;
	speak:none;
	display:inline-block;
	text-decoration:none;
	font-size:1.6875rem; /* 27px */
	text-align:left;
	text-transform:none;
	color:#ffee7f;
	transition:color .15s;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	vertical-align:top;
}
div#headerSearchMobile a:before {
	content:'\e84d';
	font-size:1.4375rem; /* 23px */
}
div#headerMenuMobile a:before {
	content:'\f0c9';
}
div#headerPhoneMobile a:before {
	content:'\e81c';
}
div#headerPhone a:before {
	content:'\e81c';
	margin-right:.35em;
}
div#headerEmail a:before {
	content:'\e81e';
	margin-right:.35em;
}
div#headerBooking a:before {
	content:'\e830';
	margin-right:.35em;
}
div#headerSearchMobile a:hover:before,
div#headerMenuMobile a:hover:before,
div#headerHelpBtns a:hover:before,
div#headerPhone a:hover:before,
div#headerPhoneMobile a:hover:before {
	color:#fff;
}
div#headerSearchMobile,
div#headerSearch,
div#headerMenuMobile,
div#headerPhoneMobile,
.jsActive div#headerPhone {
	display:none;
}
.jsActive div#headerSearch,
html.crjs div#headerPhone {
	display:block;
}
div#headerPhone a {
	margin:.15em 0 .3em;
}
div#headerPhone a big {
	font-size:1.55em; /* 27px */
	font-weight:600;
	letter-spacing:-.045em;
}
div#headerPhone small {
	display:block;
	color:#b6e3f6;
	font-weight:normal;
	font-size:.8em;
	text-transform:uppercase;
	letter-spacing:0;
	text-align:right;
}
div#headerPhone small b {
	display:none;
}
div#headerHelpBtns a {
	min-width:150px;
}
div#headerEmail {
	margin:0 0 .25em;
}
div#headerSearch {
	font-size:1rem;
	margin-top:.75em;
	min-width:150px;
}
#siteSearchBox {
	display:block;
	z-index:inherit;
	position:relative;
}
#siteSearchBox .search-input {
	height:2.25em; /* 36px */
	min-height:0;
	width:150px;
	max-width:250px;
	padding:0 2.25em 0 .5em; /* 0 36px 0 8px */
	line-height:2.125em; /* 34px */
	color:#333;
	-webkit-appearance:none;
	outline:0;
	transition:width .4s ease;
	border:thin solid #1244a9;
	background:#fff;
}
#siteSearchBox .search-input:hover {
	border-color:#599eff;
}
#siteSearchBox .search-input:focus {
	width:250px;
	border-color:#599eff;
	box-shadow:0 0 .5em rgba(89,158,255,.5);
}
#siteSearchBox .search-button {
	font-size:1em;
	position:absolute;
	top:0;
	right:0;
	width:2.25em;
	height:2.25em;
	margin:0;
	padding:0;
	overflow:hidden;
	z-index:10;
	border:none;
	background:none;
	color:#808080;
	transition:color .15s;
	outline:0;
	overflow:visible;
}
#siteSearchBox .search-button:hover,
#siteSearchBox .search-button:active,
#siteSearchBox .search-button:focus {
	color:#333;
}
#siteSearchBox .search-button:before {
	content:'\e81d';
	font-family:'friendlyplanet';
	font-style:normal;
	font-weight:normal;
	font-variant:normal;
	speak:none;
	display:inline-block;
	text-decoration:none;
	font-size:1.375rem; /* 22px */
	text-align:left;
	text-transform:none;
	color:inherit;
	transition:color .15s;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	vertical-align:top;
}
#siteSearchBox label {
	position:absolute;
	left:-9999px;
	top:-9999px;
}
#siteSearchBox #search_autocomplete {
	font-size:.8125rem;
}

/* CLUDO SEARCH MODAL */
/* if the modal loads before the external stylesheet does, make sure the modal form is hidden; these styles will be overidden by the Cludo stylesheet */
.cludo-search-modal {
	position:absolute;
	top:-5000px;
}
#cludo-search-form-content button:focus, #cludo-search-form-content input[type=search]:focus {
	border-width:1px !important;
	padding:0 99px 0 39px;
}
#cludo-search-form .search_autocomplete li.active, #cludo-search-form .search_autocomplete li:hover,  .search_autocomplete li.active,  .search_autocomplete li:hover, .cludo-search-form .search_autocomplete li.active, .cludo-search-form .search_autocomplete li:hover, .cludo-search_autocomplete .search_autocomplete li.active, .cludo-search_autocomplete .search_autocomplete li:hover {
	background-color:#ff780a !important;
}
#cludo-search-results .cludo-search-modal-body .search-results .search-results-item a,
#cludo-search-results .cludo-search-modal-body .search-results .search-results-item a h2 {
	color:#1655bc !important;
	text-decoration:none !important;
	transition:color .1s;
}
#cludo-search-results .cludo-search-modal-body .search-results .search-results-item a:hover,
#cludo-search-results .cludo-search-modal-body .search-results .search-results-item a:hover h2 {
	color:#f60 !important;
	text-decoration:none !important;
}
#cludo-search-results .search-filters ul a.active {
	background-color:#f2f2f2 !important;
	color:#06f !important;
}
#cludo-search-results .search-filters ul a:hover,
#cludo-search-results .search-filters ul a.active:hover {
	color:#f60 !important;
}
#cludo-search-results .cludo-search-modal-body #cludo-load-more {
	background-color:#9e9e9e !important;
}
#cludo-search-results .cludo-search-modal-body #cludo-load-more:hover {
	background-color:#ff780a !important;
}

/* TOP MENU */

/* Menuzord
 * http://codecanyon.net/item/menuzord-responsive-megamenu/8536398
 * by marcoarib (marco.arib@gmail.com)
 * License: http://codecanyon.net/licenses
 *
 * Highly customized by Cameron: color and gradient specifications merged in, custom styles added by Cameron, and superfluous/unused features removed.
*/
.menuzord,
.menuzord * {
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
.menuzord {
	position:relative;
	background:#5d9cec;
	background:-moz-linear-gradient(top,  #5d9cec 0%, #4a89dc 100%);
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#5d9cec), color-stop(100%,#4a89dc));
	background:-webkit-linear-gradient(top,  #5d9cec 0%,#4a89dc 100%);
	background:-o-linear-gradient(top,  #5d9cec 0%,#4a89dc 100%);
	background:-ms-linear-gradient(top,  #5d9cec 0%,#4a89dc 100%);
	font-size:14.5px;
}
/* Overlay: http://www.corelangs.com/css/box/fulloverlay.html */
#menuzord-overlay {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:98; /* just below header & nav */
	display:none;
	background-color:rgba(0,0,0,.5);
}
.menuzord-menu {
	margin:0 auto;
	padding:0;
	list-style:none;
	display:table;
	width:100%;
	border-left:1px solid rgba(255,255,255,.15);
	border-right:1px solid rgba(0,0,0,.15);
}
.menuzord-menu > li {
	display:table-cell;
	float:none;
	vertical-align:top;
}
.menuzord-menu > li > a {
	position:relative; z-index:100; /* above submenu's drop shadow */
	display:block;
	outline:0;
	padding:14px 16px;
	min-height:49px;
	width:100%;
	color:#fff;
	text-align:center;
	text-decoration:none;
	border-right:1px solid rgba(255,255,255,.15);
	border-left:1px solid rgba(0,0,0,.15);
	-o-transition:color .2s linear, background .2s linear, border-color .2s;
	-moz-transition:color .2s linear, background .2s linear, border-color .2s;
	-webkit-transition:color .2s linear, background .2s linear, border-color .2s;
	transition:color .2s linear, background .2s linear, border-color .2s;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	-webkit-tap-highlight-color:transparent;
}
.menuzord-menu > li.clicked > a {
	background:#fff;
	color:#06f;
	border-right-color:#fff;
	border-left-color:#427bc1;
}
.menuzord-menu > li.clicked > .megamenu {
	display:block;
}
#menuzord-overlay.clicked {
	display:block;
}
/* Effects: http://www.greywyvern.com/?post=337 */
.menuzord-menu > li > .megamenu,
#menuzord-overlay {
	display:block;
	visibility:hidden;
	opacity:0;
	transition:visibility 0s linear .2s,opacity .2s linear;
}
.menuzord-menu > li.clicked > .megamenu,
#menuzord-overlay.clicked {
	visibility:visible;
	opacity:1;
	transition-delay:0s;
}
.menuzord-menu li .indicator {
	display:none;
}
.menuzord-menu > li > .megamenu {
	width:100%;
	padding:0;
	left:0;
	position:absolute;
	display:none;
	z-index:99;
	background:#fff;
	overflow:hidden; /* to hide bottom of sidebar */
	box-shadow:0 3px 15px rgba(0,0,0,.35);
}
.menuzord-menu > li > .megamenu .megamenu-content {
	background:#fff;
	padding:30px;
}
.menuzord-menu > li > .megamenu .megamenu-sidebar {
	background:#f2f2f2;
	padding:30px 30px 4030px;
	margin-bottom:-4000px;
}
.menuzord-menu > li > .megamenu .megamenu-content.col4,
.menuzord-menu > li > .megamenu .megamenu-sidebar.col4 {
	float:left;
	width:33.4%;
}
.menuzord-menu > li > .megamenu .megamenu-content.col6,
.menuzord-menu > li > .megamenu .megamenu-sidebar.col6 {
	float:left;
	width:50%;
}
.menuzord-menu > li > .megamenu .megamenu-content.col8,
.menuzord-menu > li > .megamenu .megamenu-sidebar.col8 {
	float:left;
	width:66.6%;
}
.menuzord-menu > li > .megamenu .megamenu-row {
	width:100%;
	margin-top:30px;
}
.menuzord-menu > li > .megamenu .megamenu-row:first-child {
	margin-top:0;
}
.menuzord-menu > li > .megamenu .megamenu-row:before,
.menuzord-menu > li > .megamenu .megamenu-row:after {
	display:table;
	content:"";
	line-height:0;
}
.menuzord-menu > li > .megamenu .megamenu-row:after {
	clear:both;
}
.menuzord-menu > li > .megamenu .megamenu-row .col1,
.menuzord-menu > li > .megamenu .megamenu-row .col2,
.menuzord-menu > li > .megamenu .megamenu-row .col3,
.menuzord-menu > li > .megamenu .megamenu-row .col4,
.menuzord-menu > li > .megamenu .megamenu-row .col5,
.menuzord-menu > li > .megamenu .megamenu-row .col6,
.menuzord-menu > li > .megamenu .megamenu-row .col7,
.menuzord-menu > li > .megamenu .megamenu-row .col8,
.menuzord-menu > li > .megamenu .megamenu-row .col9,
.menuzord-menu > li > .megamenu .megamenu-row .col10,
.menuzord-menu > li > .megamenu .megamenu-row .col11,
.menuzord-menu > li > .megamenu .megamenu-row .col12 {
	display:block;
	min-height:20px;
	float:left;
	margin-left:3%;
}
.menuzord-menu > li > .megamenu .megamenu-row [class*="col"]:first-child {
	margin-left:0;
}
.menuzord-menu > li > .megamenu .megamenu-row .col1 {
	width:5.583333333333%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col2 {
	width:14.166666666666%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col3 {
	width:22.75%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col4 {
	width:31.333333333333%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col5 {
	width:39.916666666667%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col6 {
	width:48.5%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col7 {
	width:57.083333333333%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col8 {
	width:65.666666666667%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col9 {
	width:74.25%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col10 {
	width:82.833333333334%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col11 {
	width:91.416666666667%;
}
.menuzord-menu > li > .megamenu .megamenu-row .col12 {
	width:100%;
}

nav#headerMenu {
	display:block;
	width:100%;
	margin:0 auto;
	padding:0;
	clear:both;
	position:relative;
	z-index:99; /* just over the megamenu overlay */
	box-shadow:0 3px 10px rgba(0,90,182,.2);
}
nav#headerMenu,
nav#headerMenu .menuzord-menu {
	background:#5d9cec;
	background:-moz-linear-gradient(top,  #5d9cec 0%, #4a89dc 100%);
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#5d9cec), color-stop(100%,#4a89dc));
	background:-webkit-linear-gradient(top,  #5d9cec 0%,#4a89dc 100%);
	background:-o-linear-gradient(top,  #5d9cec 0%,#4a89dc 100%);
	background:-ms-linear-gradient(top,  #5d9cec 0%,#4a89dc 100%);
}

.menuzord-menu > li > a {
	font-size:1.0625rem;
	line-height:1.2;
	font-weight:600;
}
.megamenu hr {
	height:0;
	margin:30px 0 0;
}
.megamenu img {
	width:100%;
	height:auto;
	border:none;
	color:#666;
}
.megamenu p {
	margin:20px 0;
}
.megamenu h3,
.megamenu h4 {
	margin:20px 0 15px;
	border-bottom:1px solid #a6caff;
	padding-bottom:5px;
	font-weight:600;
}
.megamenu h3 {
	font-size:1.1875rem;
	line-height:1.15;
	letter-spacing:-.025em;
}
.megamenu h4 {
	font-size:1.09375rem;
	line-height:1.2;
	letter-spacing:-.015em;
}
.megamenu a  {
	text-decoration:none !important;
}
.megamenu a h3,
.megamenu a h4,
.megamenu a:visited h3,
.megamenu a:visited h4,
.megamenu h3 a,
.megamenu h4 a,
.megamenu h3 a:visited,
.megamenu h4 a:visited {
	color:#06f;
	transition:color .2s;
}
.megamenu a:hover h3,
.megamenu a:hover h4,
.megamenu h3 a:hover,
.megamenu h4 a:hover {
	color:#f60;
}
.megamenu .megamenu-content ul {
	list-style:none;
	padding:0 0 0 5px;
	margin:10px 0;
}
.megamenu .megamenu-content ul li {
	list-style:none;
	padding:0;
	margin:0 0 5px;
	line-height:1.3;
}
.megamenu .megamenu-content ul li a {
	font-size:100%;
	color:#666;
	text-decoration:none;
}
.megamenu .megamenu-content ul li a:hover {
	color:#f60;
	text-decoration:underline;
}
.megamenu [class*="col"]:first-child,
.megamenu [class*="col"] :first-child,
.megamenu .megamenu-sidebar :first-child {
	margin-top:0;
}
.megamenu [class*="col"]:last-child,
.megamenu [class*="col"] :last-child,
.megamenu .megamenu-sidebar :last-child {
	margin-bottom:0;
}
/* content-specific menu styles */
.menuzord #homeMenu a {
	font-size:19.5px;
	padding:14px 19px;
}
.menuzord #homeMenu a:before {
	content:'\e81b';
	font-size:inherit;
	line-height:1em;
	font-family:'friendlyplanet';
	font-style:normal;
	font-weight:normal;
	text-transform: none;
	text-decoration:none;
	speak:none;
	display:inline-block;
	width:1em;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
.menuzord #homeMenu a span {
	display:none;
}
.menuzord #destinationsMenu .countrySelect {
	display:none;
}
.menuzord #destinationsMenu form,
.menuzord #toursMenu form {
	margin:0;
	font-size:15px;
}
.menuzord #toursMenu form table {
	border-collapse:collapse;
	width:100%;
}
.menuzord #toursMenu form td {
	padding:10px 10px 10px 0;
}
.menuzord #toursMenu form td:last-child {
	padding-right:0;
}
.menuzord #toursMenu form label {
	display:block;
	font-weight:normal;
	font-size:100%;
	line-height:1.25;
}
.menuzord #toursMenu form input,
.menuzord #toursMenu form select {
	vertical-align:baseline;
}
.menuzord #destinationsMenu form select,
.menuzord #toursMenu form select {
	max-width:100%;
	padding:5px;
}
.menuzord #toursMenu form .tourSearchBudget,
.menuzord #toursMenu form .tourSearchLength {
	padding:4px 0 7px 0;
}
.menuzord #toursMenu form .tourSearchBudget label,
.menuzord #toursMenu form .tourSearchLength label {
	padding:0;
	min-width:50px;
	min-width:3.5em;
	text-align:left;
	white-space:nowrap;
}
.menuzord #toursMenu form .tourSearchBudget input,
.menuzord #toursMenu form .tourSearchLength input {
	font-weight:bold;
	text-align:center;
	padding:3px;
}
.menuzord #toursMenu form .rangeWrapper {
	margin:5px 11px;
}
.menuzord #toursMenu form .range.noUi-horizontal {
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	display:block;
	height:16px;
	width:100%;
	min-width:50px;
	margin:0;
	padding:0;
	text-align:center;
}
.menuzord #toursMenu form .noUi-connect {
	background:#ff8c19;
}
.menuzord #toursMenu form .noUi-handle {
	border-color:#bbb;
	width:24px;
	height:26px;
	left:-12px;
}
.menuzord #toursMenu form .noUi-handle:before,
.menuzord #toursMenu form .noUi-handle:after {
	background:#ddd;
	height:12px;
}
.menuzord #toursMenu form .noUi-handle:before {
	left:9px;
}
.menuzord #toursMenu form .noUi-handle:after {
	left:13px;
}
.menuzord #toursMenu .tourSelect {
	padding:10px 0;
	margin-bottom:10px;
}
.menuzord #toursMenu .tourAllBtn {
	min-height:32px;
}
.menuzord #toursMenu .tourSearch {
	margin-top:30px;
}
.menuzord #toursMenu form .tourSearchSubmit input {
	padding-left:15px;
	padding-right:15px;
	max-width:100%;
}
.menuzord #offersMenu div.ajaxSubscribe form {
	background:none;
	border:none;
	padding:0;
	width:auto;
}
.menuzord #offersMenu .ajaxSubscribe {
	width:auto;
	/*max-width:245px;*/
	margin:1.15em 0 0;
	padding:0;
}
.menuzord #offersMenu .ajaxSubscribe div {
	margin-bottom:8px;
}
.menuzord #offersMenu .ajaxSubscribe input[name="email"] {
	width:100%;
	padding:6px 8px 8px;
	border:none;
	border-radius:5px;
	background:#fff;
	box-shadow:inset 1px 1px 1px 0 rgba(0,0,0,.15);
	font-size:16px;
	line-height:1.3;
}
.menuzord #offersMenu .ajaxSubscribe input[type="submit"] {
	-webkit-appearance:none;
}
.menuzord #offersMenu .ajaxSubscribeStatus {
	margin:1.15em 0;
	border-radius:5px;
	padding:15px;
	width:100%;
}

/* CHANNEL HEAD: currently only used for blog and BJ */
#channelHead {
	clear:both;
	box-sizing:border-box;
	margin:0;
	padding:.46875rem 0 .3125rem;
	font-size:.90625rem;
}
#channelHead .pageWidth {
	border-bottom:2px solid #eee;
}
#channelLogo {
	display:block;
	float:left;
	width:318px;
	max-width:45%;
	min-width:190px;
	margin:.9375rem 0;
}
#channelLogo img {
	width:100%;
	height:auto;
}
#channelTitle {
	float:left;
	margin:.9375rem 0;
	font-size:1.5em;
	line-height:1.05;
	font-weight:400;
	text-align:left;
	letter-spacing:-.5px;
}
#channelHead a {
	color:#aaa;
	text-decoration:none;
}
#channelHead ul {
	list-style:none;
	float:right;
	margin:.9375rem 0;
	padding:0;
}
#channelHead ul li {
	display:inline;
	margin:0 5px;
	padding:0;
}
#channelHead ul li a,
#channelHead a:hover strong {
	color:#06f;
	text-decoration:underline;
}
@media screen and (max-width: 600px) {
	#channelLogo,
	#channelTitle,
	#channelHead ul {
		float:none;
	}
}

/* PHOTO REEL & TITLE BAR; latter on tour pages only */
div#photoReel {
	position:relative;
	background:#666;
	z-index:11; /* over stickyNavBar below */
	width:100%;
	/*min-width:1100px;*/
	height:40.9vw; /* relative to viewport; this is critical for providing a set height to child elements! */
	/*min-height:450px;*/
	max-height:700px;
}
div#photoReelInner {
	width:100%;
	height:100%;
	overflow:hidden;
}
div#photoReelInner figure {
	position:relative;
	width:100%;
	/*min-width:1100px;*/
	height:40.9vw; /* relative to viewport; this is critical for providing a set height to child elements! */
	/*min-height:450px;*/
	max-height:700px;
	margin:0;
	padding:0;
	overflow:hidden;
}
/* center images and make them slightly larger than container to prevent subpixel feathering on edges
	 consider redoing this with negative margines */
div#photoReelInner figure img {
	position:absolute;
	top:50.5%;
	left:50.5%;
	transform:translate(-50.5%, -50.5%);
	min-width:101%;
	min-height:101%;
	width:101%;
	height:auto;
}
/*
div#photoReelInner .slick-next {
	right:5px;
}
div#photoReelInner .slick-prev {
	left:5px;
}
div#photoReelInner .slick-next,
div#photoReelInner .slick-prev {
	background:none;
	color:rgba(255,255,255,.8);
	width:36px;
	height:36px;
	top:25%;
	font-size:27px;
}
div#photoReelInner .slick-prev:hover,
div#photoReelInner .slick-prev:focus,
div#photoReelInner .slick-next:hover,
div#photoReelInner .slick-next:focus {
	color:rgba(255,255,255,1);
	box-shadow:none;
	text-shadow:1px 1px 2px #000;
}
*/
div#photoReel figcaption {
	position:absolute;
	bottom:10px;
	right:20px;
	z-index:1000;
	font-size:12px;
	line-height:1.25;
	color:#fff;
	text-shadow:0 1px 5px rgba(0,0,0,.75);
	opacity:.75;
	text-align:right;
	z-index:1;
	transition:opacity .2s linear; /* fade out when changing opacity */
}
div#photoReel figcaption.hidden {
	opacity:0;
}
div#photoReel figcaption small {
	display:block;
	font-size:11px;
}
div#photoReel figcaption small,
div#photoReel figcaption small a {
	color:#ccc;
	text-decoration:none;
}
div#photoReel figcaption small a:hover {
	color:#ccc;
	text-decoration:underline;
}
div#photoPageTitle {
	z-index:1;
	width:100%;
	position:absolute;
	bottom:0;
	padding:1.875rem 15px .9375rem; /* prevent margin-collapsing */
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.4+30,0.6+45,0.7+60,0.8+100 */
	background:-moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.4) 30%, rgba(0,0,0,0.6) 45%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.8) 100%); /* FF3.6-15 */
	background:-webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.4) 30%,rgba(0,0,0,0.6) 45%,rgba(0,0,0,0.7) 60%,rgba(0,0,0,0.8) 100%); /* Chrome10-25,Safari5.1-6 */
	background:linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.4) 30%,rgba(0,0,0,0.6) 45%,rgba(0,0,0,0.7) 60%,rgba(0,0,0,0.8) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#cc000000',GradientType=0 ); /* IE6-9 */
}
div#photoPageTitle h1 {
	margin:0 0 1.25rem;
	font-size:3.4375rem;
	color:#fff;
	text-shadow:0 1px 8px rgba(0,0,0,9);
}
div#photoPageTitle ul.tourSelector {
	margin:1.25rem 0 0;
	font-size:1.125rem;
}
div#photoPageTitle ul.tourSelector li span,
div#photoPageTitle ul.tourSelector li a {
	box-shadow:0 1px 7px rgba(0,0,0,.6);
}
div#photoPageTitle h3 {
	font-size:1.4375rem;
	clear:both;
	margin:.625rem 0 1.25rem;
	font-weight:600;
	color:#fff;
	text-shadow:0 1px 6px rgba(0,0,0,.9);
}
div#pageTitle {
	margin:1.875rem 0;
	padding:0;
}
div#pageTitle h3 {
	margin:.625rem 0 0;
}

/* STICKY NAV BAR */
div#stickyNavSentinel {
	/* Edge (and possibly older versions of Safari) need this to have some height & width. */
	height:10px;
	margin:0 auto;
}
div#stickyNavBar {
	z-index:10; /* below photoReel */
	position:relative;
	clear:both;
	margin:0 0 30px;
	padding:0;
}
div#stickyPageTitle {
	display:none;
}
div#stickyNavBar nav {
	margin:0;
	font-size:1rem;
	line-height:1.5em;
	/* z-index:100; */
	background:#fff;
	border-top:2px solid #ddd;
	border-bottom:2px solid #ddd;
}
div#stickyNavBar nav .pageWidth {
	padding:0;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-direction:row;
	-ms-flex-wrap:nowrap;
	flex-flow:row nowrap;
	-ms-flex-pack:justify;
	justify-content:space-between;
	align-items:flex-start;
	padding:0 20px;
}
div#stickyNavBar nav .pageWidth > span {
	-ms-flex-negative:0;
	flex-shrink:0;
	position:relative;
}
div#stickyNavBar nav .pageWidth > span.tourSelector {
	display:none;
	-ms-flex-positive:0;
	flex-grow:0;
	white-space:nowrap;
}
div#stickyNavBar nav .pageWidth > span.sectionSelector {
	-ms-flex-preferred-size:auto;
	-ms-flex-positive:1;
	flex-grow:1;
}
div#stickyNavBar nav a.backToTop {
	display:none;
	background:#fff;
}
div#stickyNavBar nav label {
	display:none;
	background:#fff;
}
div#stickyNavBar nav ul {
	margin:0;
	padding:0;
	max-height:none;
	list-style:none;
	background:#fff;
}
div#stickyNavBar nav ul li {
	display:inline-block;
	margin:0 1em 0 0;
	list-style:none;
	color:inherit;
}
div#stickyNavBar nav ul li.active {
	color:#f60;
}
div#stickyNavBar nav ul li span,
div#stickyNavBar nav ul li a {
	display:block;
	padding:.5em 5px;
	font-weight:600;
	color:inherit;
}
div#stickyNavBar nav a {
	text-decoration:none;
	display:block;
	transition:color .1s;
}
div#stickyNavBar nav a:hover,
div#stickyNavBar nav a:hover::before {
	color:#f60;
}
@media screen {
	div#stickyNavBar.sticky {
		top:0;
		position:-webkit-sticky;
		position:-moz-sticky;
		position:-ms-sticky;
		position:-o-sticky;
		position:sticky;
	}
	body.stickyNavStuck div#stickyNavBar.sticky {
		* z-index:12; /* above photoReel */
	}
	div#stickyPageTitle {
		display:block;
		padding:2px 0;
		position:relative;
		background:#fff;
		opacity:0;
		transition:opacity .2s linear; /* fade out when changing opacity */
	}
	body.stickyNavStuck div#stickyPageTitle {
		opacity:1;
	}
	div#stickyPageTitle .pageWidth {
		display:-ms-flexbox;
		display:flex;
		-ms-flex-direction:row;
		-ms-flex-wrap:nowrap;
		flex-flow:row nowrap;
		justify-content:flex-start;
		align-items:stretch;
	}
	div#stickyPageTitle h1 {
		flex-shrink:1; /* this should shrink if necessary */
		/* display:inline-block;
		vertical-align:bottom; */
		position:relative;
		overflow:hidden;
		margin:0;
		padding:0 3em 0 0; /* room for mask */
		font-size:1.375rem;
		line-height:2.5rem;
		font-weight:600;
		letter-spacing: -.02em;
		white-space:nowrap;
	}
	/* mask for overflowed title */
	div#stickyPageTitle h1:after {
		content:'';
		background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 75%);
		width:3em;
		height:100%;
		position:absolute;
		right:0;
		top:0;
	}
	div#stickyPageTitle ul.tourSelector {
		flex-shrink:0; /* this should not shrink */
		/* display:inline-block;
		vertical-align:bottom; */
		line-height:2.5rem; /* match H1 */
		margin:0;
		padding:0;
	}
	div#stickyPageTitle ul.tourSelector li {
		font-size:.84375rem;
		line-height:1.5;
		margin:0 .75em 0 0;
	}
	div#stickyPageTitle ul.tourSelector li:last-child {
		margin-right:0;
	}
	div#stickyPageTitle ul.tourSelector li span,
	div#stickyPageTitle ul.tourSelector li a {
		padding-top:.1em;
		padding-bottom:.1em;
	}
	body.stickyNavStuck div#stickyNavBar.sticky nav {
		border-bottom:none; /* hide bottom border when drop shadow appears */
		box-shadow:0 2px 6px rgba(0,0,0,.3);
	}
	div#stickyNavBar.sticky nav a.backToTop {
		display:inline-block;
		line-height:inherit;
		padding:.75em 5px .25em;
		white-space:nowrap;
		text-transform:lowercase;
		font-variant:small-caps;
		position:relative;
		color:inherit;
		visibility:hidden;
		opacity:0;
		transition:opacity .2s linear;
	}
	div#stickyNavBar.sticky nav a.backToTop::before {
		content:'\e80e';
		position:absolute;
		display:block;
		text-align:center;
		top:.5em;
		left:0;
		width:100%;
		font-family:'friendlyplanet';
		font-size:1em;
		line-height:.5em;
		font-weight:normal;
		speak:none;
		margin:0;
		color:#999;
		transition:color .1s;
	}
	body.stickyNavStuck div#stickyNavBar.sticky nav a.backToTop {
		visibility:visible;
		opacity:1;
	}
}

/* FOOTER */
footer#siteFooter {
	display:block;
	width:100%;
	margin:0 auto;
	padding:1.875rem 0 1px; /* prevent margin collapsing */
	background:#e9f8fe;
	border-top:2px solid #5d9cec;
	clear:both;
	text-align:left;
	line-height:1.25;
	font-size:16.5px;
	color:#808080;
}
footer .row {
	/* margin:0; */
}
footer#siteFooter hr {
	margin:0;
}
nav#footerMenu {
	margin:0 0 1.875rem;
}
#footerMobileMenu {
	display:none;
}
nav#footerMenu ul {
	/* float:left;
	width:185px;
	margin:0 0px 30px 0;
	padding:0 15px; */
	margin-top:1.5em;
	margin-bottom:0;
	list-style:none;
	color:#808080;
}
nav#footerMenu ul li {
	margin:1.5em 0 0;
	padding:0;
	list-style:none;
	font-size:18px;
	font-weight:600;
	letter-spacing:-.02em;
}
nav#footerMenu ul > li:first-child {
	margin:0;
}
nav#footerMenu ul a {
	color:#1655bc;
	text-decoration:none;
}
nav#footerMenu ul a:hover,
nav#footerMenu ul a:active {
	color:#f60;
	text-decoration:underline;
}
nav#footerMenu ul ul {
	float:none;
	margin:1.05em 0 0;
	padding:0;
}
nav#footerMenu ul ul li {
	margin:.85em 0 0;
	font-size:14.5px;
	font-weight:normal;
}
nav#footerMenu ul ul a {
	color:#808080;
}
nav#footerMenu ul ul a:hover {
	color:#F60;
}
div#footerCatalog,
div#footerConnect {
	font-size:.90625rem;
	/* margin:0 0 25px;
	padding:0 0 25px; */
	margin-top:1.875rem;
	margin-bottom:1.875rem;
}
div#footerCatalog h5,
div#footerConnect h5 {
	margin:0;
	font-size:1.125rem;
	color:#1655bc;
	text-decoration:none;
	font-weight:700;
}
div#footerCatalog p,
div#footerConnect p {
	font-size:.90625rem;
	margin:1.15em 0;
}
div#footerCatalog img {
	width:200px;
	max-width:40%;
	float:right;
	margin:0 0 0 20px;
}
ul#footerSocial {
	max-width:500px;
	font-size:12.5px;
	margin-top:35px;
	padding:0;
	list-style:none;
	text-align:left;
}
ul#footerSocial li {
	display:inline-block;
	margin:0;
	list-style:none;
}
ul#footerSocial a {
	display:inline-block;
	margin:0;
	padding:0;
	opacity:0.6;
	filter:alpha(opacity=60); /* <= IE8 */
	transition:opacity .2s;
	font-size:4.0625rem;
	line-height:1;
	width:.84em;
	height:.84em;
	text-decoration:none;
}
/* compensate for icon padding */
ul#footerSocial a::before {
	margin:-.08em;
}
ul#footerSocial a:hover {
	opacity:1;
	filter:alpha(opacity=100); /* <= IE8 */
}
ul#footerSocial a.icon-facebook-round {
	color:#4d67a3;
}
ul#footerSocial a.icon-twitter-round {
	color:#25a7df;
}
ul#footerSocial a.icon-instagram-round {
	color:#125587;
}
ul#footerSocial a.icon-pinterest-round {
	color:#c62325;
}
ul#footerSocial a.icon-yelp-round {
	color:#c41200;
}
ul#footerSocial a span {
	display:none;
}
ul#footerSocial .like_btn {
	clear:both;
}
div#footerTrust {
	width:100%;
	max-width:800px;
	vertical-align:top;
	margin:30px auto;
}
div#footerTrust ul {
	list-style:none;
	margin:0;
	padding:0;
}
div#footerTrust li {
	list-style:none;
	margin:0;
	padding:0 10px;
	text-align:center;
}
div#footerTrust li img {
	opacity:0.6;
	filter:alpha(opacity=60); /* <= IE8 */
	transition:opacity .2s;
	background:none;
}
div#footerTrust li img:hover {
	opacity:1;
	filter:alpha(opacity=100); /* <= IE8 */
}

div#footerDisclaimer {
	margin:0;
	padding:0 0 15px;
	background:#e9f8fe;
	color:#808080;
	font-size:12.5px;
	line-height:1.5;
	text-align:left;
}
div#footerDisclaimer a {
	text-decoration:underline;
	color:inherit;
}
div#footerDisclaimer a:hover,
div#footerDisclaimer a:active {
	color:#f60;
}

/* SUBSCRIBE BAR & MODAL */
#subscribeBar {
	background:#f80;
	box-sizing:border-box;
	padding:10px 35px;
	position:relative;
	text-align:center;
	color:#fff;
}
#subscribeBar button.close {
	width:32px;
	height:32px;
	font-size:26px;
	font-weight:400;
	color:#fff;
	text-shadow:none;
	opacity:.75;
	float:none;
	position:absolute;
	top:0;
	right:16px; /* avoid scrollbar */
}
#subscribeBar button.close:hover {
	color:#fff;
	opacity:1;
}
#subscribeBar strong {
	display:inline-block;
	margin:2px 0;
	font-size:18.5px;
	line-height:26px;
}
#subscribeBarBtns {
	margin:2px 30px;
	display:inline-block;
	vertical-align:top;
}
#subscribeBarBtns a.no {
	color:#ffedd9;
	font-size:100%;
	line-height:26px;
	text-decoration:none;
}
#subscribeBarBtns a.no:hover {
	text-decoration:underline;
	color:#fff;
}
#subscribeBarBtns a.btn {
	margin-right:20px;
	padding:2px 1.5em 3px;
	background:#fff;
	color:#f60;
	font-size:100%;
	text-shadow:none;
}
#subscribeBarBtns a.btn:hover {
	color:#f30;
}

/* TOUR PAGE */

body.tourPage section#tab1 h2 {
	display:none;  /* hide Overview heading */
}

/* TOUR PAGE CONSOLES */
.console {
	min-width:280px;
	max-width:320px;
}
.console * {
	text-align:left;
}
.console h4 {
	margin:0;
	padding:14px 22px;
	background:#aaa;
	border-radius:8px 8px 0 0;
	color:#fff;
	font-size:1rem;
	letter-spacing:0;
	font-weight:600;
}
.consoleInner {
	margin:0;
	padding:15px;
	background:#f3f3f3;
	border:2px solid #cecece;
	border-top:none;
	border-radius:0 0 8px 8px;
}
.console fieldset {
	margin:0;
	padding:0;
	border:none;
}
.console a.btn {
	display:inline-block;
	text-align:center;
}
#tourConsoles {
	display:none;
}
#tourConsoleBtns {
	display:block;
}
a#bookingConsoleBtn,
a#notifyConsoleBtn {
	margin:10px 10px 10px 0;
}
a#notifyConsoleBtn {
	display:none;
}
.jsActive a#notifyConsoleBtn {
	display:inline-block;
}
/* fancybox will set these to display:none after opening in modal, so override */
#tourConsoles {
	display:block;
}
#tourConsoleBtns {
	display:none;
}
#bookingConsole,
#notifyConsole {
	display:block !important;
}
.fancybox-slide #bookingConsole,
.fancybox-slide #notifyConsole {
	display:inline-block !important;
	margin:0;
}

#bookingConsole {
	margin-bottom:2.5rem;
}
#bookingConsole h4 {
	background-color:#ff780a;
}
#bookingConsole .consoleInner {
	background-color:#fff8eb;
	border-color:#ffeacc;
	font-size:16px;
}
#bookingConsole .consoleInner table {
	border-collapse:collapse;
}
#bookingConsole .consoleInner td {
	padding:4px 5px;
	vertical-align:middle;
}
#bookingConsole .consoleInner label {
	display:block;
	font-size:16px;
	line-height:36px;
}
#bookingConsole .consoleInner label b {
	font-weight:600;
}
#bookingConsole .consoleInner .label {
	display:block;
	margin-bottom:4px;
	font-size:13.5px;
	line-height:16px;
	font-weight:normal;
}
#bookingConsole .consoleInner label i[class^="icon"] {
	position:absolute;
	padding:8px 0 9px 7px;
	color:#bbb;
	font-size:22px;
	line-height:22px;
	z-index:2;
}
#bookingConsole .consoleInner select,
#bookingConsole .consoleInner input[type=text] {
	width:100%;
	padding:7px 8px;
	line-height:24px;
	font-weight:normal;
	cursor:default;
}
#bookingConsole .consoleInner optgroup.closed {
	color:#d42221;
}
#bookingConsole .consoleInner .selectBox {
	position:relative;
	width:100%;
}
#bookingConsole .consoleInner .selectBox select {
	box-sizing:border-box;
	height:40px;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
#bookingConsole .consoleInner .selectBox select::-ms-expand {
	display:none;
}
#bookingConsole .consoleInner .selectBox:after {
	position:absolute;
	top:1px;
	right:1px;
	box-sizing:border-box;
	height:38px;
	padding:7px 4px;
	line-height:24px;
	color:#999;
	cursor:pointer !important;
	pointer-events:none;
	background:#eee;
	content:'\e809';
	font-family:'friendlyplanet';
	font-style:normal;
	font-weight:normal;
	speak:none;
	text-align:center;
	font-variant:normal;
	text-transform:none;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	z-index:4;
}
/* turn off fancy dropdown for <=IE10, in which it doesn't work right */
.ie10lower #bookingConsole .consoleInner .selectBox select::-ms-expand {
	display:block;
}
.ie10lower #bookingConsole .consoleInner .selectBox:after {
	display:none;
}
#bookingConsole .consoleInner select.hasIcon,
#bookingConsole .consoleInner input[type=text].hasIcon {
	position:relative;
	padding-left:32px;
	z-index:1;
}
#bookingConsole .consoleInner select.hasIcon:focus,
#bookingConsole .consoleInner select.hasIcon:active,
#bookingConsole .consoleInner input[type=text].hasIcon:focus,
#bookingConsole .consoleInner input[type=text].hasIcon:active {
	padding-left:6px;
	z-index:3;
}
/* largely redundant of plugins.css */
#bookingConsole .consoleInner .tooltipIcon {
	position:relative;
	width:21px;
	height:21px;
	vertical-align:text-top;
	margin:0 5px 0 0;
	padding:0;
	cursor:help;
	font-size:21px;
	line-height:21px;
	color:#3b8afd;
}
#bookingConsole #bookingConsoleLandOrAir label {
	display:inline;
	margin-left:15px;
}
#bookingConsole #bookingConsoleLandOrAir label:first-child {
	margin-left:0;
}
#bookingConsole #bookingConsolePrice {
	clear:both;
	margin-top:15px;
	padding:5px;
}
#bookingConsole #bookingConsolePrice .price {
	margin-right:10px;
	font-size:20px;
	font-weight:600;
	color:#737373;
	text-decoration:line-through;
}
#bookingConsole #bookingConsolePrice .sprice {
	font-size:24px;
	font-weight:800;
	color:#f60;
	letter-spacing:-.025em;
}
#bookingConsole #bookingConsolePrice .disclaimer {
	margin-top:0;
}
#bookingConsole #bookingConsolePrice .discount {
	display:block;
	margin-top:15px;
	font-size:15.5px;
	line-height:1.6;
	font-weight:bold;
	color:#f60;
}
/*
#bookingConsole #bookingConsolePrice .sprice-closed {
	display:block;
	font-size:20px;
	font-weight:800;
	color:#f00;
}
*/
#bookingConsole #bookingConsolePrice .deposit {
	display:block;
	margin-top:10px;
	font-size:14.5px;
	line-height:1.6;
	font-weight:400;
	color:#737373;
}
#bookingConsole #bookingConsoleStatus {
	clear:both;
	position:relative;
	margin-top:15px;
	padding:5px 5px 5px 45px;
	font-weight:600;
	color:#d42221;
	line-height:1.4;
}
#bookingConsole #bookingConsoleStatus i[class^="icon"] {
	position:absolute;
	left:7px;
	top:5px;
	padding:0;
	font-size:28px;
	line-height:28px;
	color:#d42221;
}
#bookingConsole #bookingConsoleSubmit {
	clear:both;
	margin-top:15px;
	padding:5px;
}
/*
#bookingConsole #callUsDiv {
	clear:both;
	margin-top:15px;
	padding:5px;
}
#bookingConsole #callUsDiv b {
	display:block;
	color:red;
	font-size:18px;
}
#bookingConsole #callUsDiv .disclaimer {
	margin-top:10px;
}
*/
#bookingConsole .consoleInner .spaceBefore {
	margin-top:12px;
}
#bookingConsole .consoleInner .spaceAfter {
	margin-bottom:12px;
}
#bookingConsole .consoleInner label.spaceBefore {
	margin-top:20px; /* same height as span.label */
}
#bookingConsole .consoleInner label.spaceAfter {
	margin-bottom:20px; /* same height as span.label */
}
/* adapted from Bootstrap grid system */
#bookingConsole .col-1,
#bookingConsole .col-2,
#bookingConsole .col-3 {
	max-width:none; /* override Bootstrap for these conflicting class names, until we can fix them */
}
/* adapted from Bootstrap grid system */
#bookingConsole .consoleInner .col1,
#bookingConsole .consoleInner .col2,
#bookingConsole .consoleInner .col3 {
	position:relative;
	overflow:visible;
	padding:0 5px 5px;
}
#bookingConsole .consoleInner .col1 {
	width:33.333333%;
	float:left;
}
#bookingConsole .consoleInner .col2 {
	width:66.666667%;
	float:left;
}
#bookingConsole .consoleInner .col3 {
	width:100%;
	clear:both;
}
/* extensions */
/*
#bookingConsole .consoleInner table.extn-table {
	border-collapse:collapse;
}
#bookingConsole .consoleInner table.extn-table td {
	padding:0;
}
#bookingConsole .consoleInner table.extn-table .extn-check {
	padding:2px 8px 2px 0;
}
#bookingConsole .consoleInner table.extn-table .extn-name,
#bookingConsole .consoleInner table.extn-table .extn-dates,
#bookingConsole .consoleInner table.extn-table .extn-status {
	padding:2px 0;
}
#bookingConsole .consoleInner .extn-name label {
	line-height:24px;
}
#bookingConsole .consoleInner .extn-name.sold-out {
	text-decoration:line-through;
}
#bookingConsole .consoleInner .extn-dates,
#bookingConsole .consoleInner .extn-status {
	font-size:13.5px;
	line-height:16px;
}
#bookingConsole .consoleInner .extn-dates.sold-out,
#bookingConsole .consoleInner .extn-status {
	display:none;
}
#bookingConsole .consoleInner .extn-status.sold-out {
	color:red;
	display:block;
}
*/
#bookingConsoleCall {
	min-height:140px;
	margin:0;
	padding:15px 15px 15px 120px;
	background:#fff8eb;
	border:2px solid #ffeacc;
	border-top:none;
	border-radius:0 0 8px 8px;
	font-size:16px;
	background:#fff url(../media/gallery/customer-service-big.jpg) -20px 8px no-repeat;
	font-weight:600;
}
#bookingConsole a.btn {
	font-size:120%;
	width:100%;
}

#notifyConsole {
	margin-bottom:2.5rem;
}
#notifyConsole h4 {
	background-color:#aaa;
}
#notifyConsole .consoleInner {
	background-color:#f3f3f3;
	border-color:#cecece;
	font-size:14.5px;
	line-height:22px;
	min-height:25px;
	overflow:hidden;
}
#notifyConsole fieldset {
	margin:0;
	padding:0;
	border:none;
}
#notifyConsole p {
	margin:0 0 15px;
}
#notifyConsoleEmail {
	position:relative;
	height:36px;
	margin-bottom:20px;
}
#notifyConsole input[type=email] {
	position:absolute;
	top:0;
	left:0;
	width:250px;
	padding:5px 10px;
	font-size:16px;
	line-height:24px;
	height:36px;
	font-weight:normal;
	cursor:default;
	border-radius:2px 0 0 2px;
}
#notifyConsole input[type=email]:-webkit-autofill,
#notifyConsole input[type=email]:-webkit-autofill:hover,
#notifyConsole input[type=email]:-webkit-autofill:focus,
#notifyConsole input[type=email]:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px white inset !important; /* https://stackoverflow.com/questions/2781549/removing-input-background-colour-for-chrome-autocomplete */
}
#notifyConsole input[type=submit] {
	position:absolute;
	top:0;
	right:0;
	font-size:22px;
	line-height:22px;
	font-weight:normal;
	padding:0;
	height:36px;
	width:36px;
	text-align:center;
	border-radius:0 2px 2px 0;
	border:1px solid;
	border-left:none;
	border-color:#e55c00;
	border-color:rgba(229,92,0,1);
}
#notifyConsole input[type=submit]:disabled {
	border-color:gray;
}
#notifyConsoleOptions {
	margin-bottom:15px;
}
#notifyConsole label {
	display:block;
	margin-top:10px;
	font-size:16px;
}
#notifyConsole input[type=checkbox] {
	vertical-align:baseline;
	margin:0 8px 0 2px;
}
#notifyConsole .disclaimer {
	margin-top:20px;
}
#notifyConsoleStatus {
	display:none;
	margin:0 0 15px;
	padding:15px;
	border:1px solid #ffbf2f;
	background:#FFFFB8;
	font-size:14px;
	border-radius:5px;
}

/* DATES & FESS TABLES; see more above */
.datesTable .discountDisclaimer {
	display:none;
}
.jsActive .datesTable td.ddate {
	padding-left:46px;
	padding-left:calc(.75em + 35px);
}
.datesTable td.ddate.hasTooltip {
	padding-left:.75em;
}
.datesTable td.ddate .tooltipIcon {
	margin:0 14px 0 0;
}
.datesTable td.status a.btn::after {
	display:none;
	content:'\e80c';
	text-decoration:none;
	font-family:'friendlyplanet';
	font-style:normal;
	font-weight:normal;
	speak:none;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* some classes to hide various elements to achieve increasing compactness; used by resizeFeeDateTables() in template-bottom.js */
.datesTable.medium td.discount,
.datesTable.medium td.featured {
	display:none;
}
.feeTable.narrow table,
.datesTable.narrow table {
	width:100%;
	border-left:none;
	border-right:none;
}
.datesTable.narrow .saleDisclaimer {
	display:none;
}
.datesTable.narrow .discountDisclaimer {
	display:inline;
}
.datesTable.narrow td.ddate,
.datesTable.narrow td.ddate.hasTooltip {
	padding-left:0;
}
.datesTable.narrow td.price {
	display:none;
}
.datesTable.compact td.status b {
	display:none;
}
.datesTable.compact td.status a.btn {
	padding:1px 3px 0 5px;
}
.datesTable.compact td.status a.btn::after {
	display:inline;
}
.datesTable.tiny .rdate {
	display:none;
}

/* if no JS to resize tables, just make them similar to the compact size to be safe */
html:not(.jsActive) .feeTable table,
html:not(.jsActive) .datesTable table {
	width:auto;
}
html:not(.jsActive) .datesTable td.price,
html:not(.jsActive) .datesTable td.discount,
html:not(.jsActive) .datesTable td.featured,
html:not(.jsActive) .datesTable td.status b {
	display:none;
}
html:not(.jsActive) .datesTable td.status a.btn {
	padding:1px 3px 0 5px;
}
html:not(.jsActive) .datesTable td.status a.btn::after {
	display:inline;
}

/* TOUR FAQS
	 See similar on your-booking.html */
ul.tourFAQs {
	list-style:none;
	padding:0;
	margin:1em 0;
}
ul.tourFAQs li {
	margin:0 0 2em;
	padding:0 0 0 68px;
	overflow:auto;
}
ul.tourFAQs li img {
	float:left;
	margin-left:-68px;
	max-width:54px;
	border:none;
}
ul.tourFAQs a {
	display:block;
	font-size:1.15em;
	font-weight:600;
	line-height:1.4;
	text-decoration:none;
	margin-bottom:.3em;
}
ul.tourFAQs a:not([href]) {
	color:inherit;
	cursor:auto;
}
ul.tourFAQs a[href]:hover {
	text-decoration:underline;
}
#tourCommonFAQs #FAQsBlock {
	margin-left:68px;
	margin-top:1.5em;
	border-bottom:none;
}

/* TOUR PAGE HEADINGS & PRICES */
h1.tourHead {
	margin-bottom:.9375rem;
}
ul.tourSelector {
	list-style:none;
	margin:1.2em 0 0;
	padding:0;
}
ul.tourSelector li {
	list-style:none;
	display:inline-block;
	margin:0 .75em 1em 0;
	font-size:1rem;
	line-height:1.5;
	letter-spacing:.025em;
	text-shadow:0 0 1px rgba(0,0,0,.2);
}
ul.tourSelector li span,
ul.tourSelector li a {
	display:block;
	padding:.35em 1.3em;
	border-radius:20px;
	color:#fff;
}
ul.tourSelector li.active span {
	background:#ff780a;
	font-weight:700;
}
ul.tourSelector li a {
	background:#aaa;
	font-weight:600;
	transition:background-color .2s linear;
	text-decoration:none;
}
ul.tourSelector li a:hover {
	background:#3385ff;
	text-decoration:none;
}
div.tourPriceBar {
	margin:0;
	/* padding:1.25rem 0 0; */
	font-size:.84375rem;
	line-height:1.125rem;
	color:#666;
	text-transform:uppercase;
}
div.tourPriceBar > span {
	display:inline-block;
	vertical-align:bottom;
	margin:0 1.1875rem .9375rem 0;
	padding:0 1.4375rem 0 0;
	text-align:center;
	border-right:thin solid #aaa;
}
div.tourPriceBar > span:last-child {
	padding-right:0;
	margin-right:0;
	border-right:none;
}
div.tourPriceBar .price {
	text-align:left;
}
div.tourPriceBar a {
	text-decoration:none;
}
div.tourPriceBar a:hover {
	text-decoration:underline;
}
div.tourPriceBar big {
	display:block;
	margin-bottom:.25rem;
	font-size:2.375rem; /* 38px */
	line-height:2.375rem;
	font-weight:600;
	letter-spacing:-.04em;
	text-transform:none;
}
div.tourPriceBar small {
	display:block;
	margin-top:-1.25rem;
	font-size:.78125rem;
	line-height:1.25rem;
	text-transform:uppercase;
	color:#808080;
}
div.tourPriceBar .rating .stars-outer {
	margin-left:.075em; /* to balance letter-spacing */
	margin-right:0;
}
div.tourPriceBar .rating .stars-outer,
div.tourPriceBar .rating .stars-inner {
	font-size:1.875rem;
	line-height:inherit;
}
.tourPriceDisclaimer {
	margin:0 0 .625rem;
}
div.tourAvailabilityMsg {
	margin:0 0 1.875rem;
}
/* see tour price discounts widget above */
div.tourSavings {
	margin:12px 0 25px;
	line-height:1.5;
	color:#f60;
	font-weight:bold;
	text-align:left;
}
div.tourNotices {
	clear:both;
	margin:35px 0 0;
}

/* TOUR OVERVIEW */
table.tourOverview {
	font-size:inherit;
	width:100%;
	margin:2.5rem 0;
	border-collapse:collapse;
	border-top:2px solid #eee;
}
table.tourOverview td {
	padding:15px 15px 15px 0;
	vertical-align:top;
	border-bottom:2px solid #eee;
}
table.tourOverview td:last-child {
	padding-right:0;
}
table.tourOverview td:nth-child(odd) {
	font-weight:bold;
	background:none;
	padding-right:20px;
	width:18%;
}
table.tourOverview p {
	margin-top:0;
	margin-bottom:1em;
}
table.tourOverview p:last-child {
	margin-bottom:0;
}
table.tourOverview ul {
	list-style:disc;
	margin:0 0 -3px;
	padding:0;
}
table.tourOverview ul li {
	margin:0 0 9px 18px;
	padding:0;
}
table.tourOverview .tourStyle span[class^="cat"] {
	padding:1px 10px;
	text-transform:uppercase;
	font-weight:600;
	border-radius:4px;
	font-size:125%;
	letter-spacing:-.025em;
}
table.tourOverview .tourStyle div {
	margin-top:5px;
}
table.tourOverview span.tooltip {
	display:none;
}
@media screen {
	table.tourOverview .tourStyle span[class^="cat"] {
		color:#fff;
		border:none;
	}
}

/* TOUR INTRO, FEATURES & HIGHLIGHT */
/* see similar size & breakpoints for H4s in common.css */
div.tourIntro {
	font-size:1.125rem;
	line-height:1.7;
	margin-bottom:2.5rem;
}
/* force sponsor logos to fit */
div.tourIntro table {
	width:100%;
	margin:1em 0;
}
div.tourIntro table tr {
	display:flex;
	flex:1 0 auto;
	flex-flow:row wrap;
	justify-content:space-around;
	align-items:center;
}
div.tourIntro table tr td,
div.tourIntro table tr td:last-child,
div.tourIntro table tr td:first-child {
	width:auto;
	margin:.5em;
	vertical-align:middle;
}
div.tourIntro img {
	max-width:100%;
	height:auto;
	min-width:150px;
}
div.tourFeaturesOptionals,
div.tourHighlights {
	font-size:inherit;
	margin-bottom:2.5rem;
}
div.tourFeaturesOptionals ul,
div.tourHighlights ul {
	list-style:disc;
	margin:.5em 0 40px;
	padding:0 0 0 18px;
}
div.tourFeaturesOptionals ul li,
div.tourHighlights ul li {
	margin-bottom:5px;
}
div.tourFeaturesOptionals ul.features {
	list-style:none;
	margin:0 0 0 -7px;
	padding:0;
	overflow:auto;
	font-size:13px;
	line-height:17px;
	color:#666;
	text-transform:uppercase;
}
div.tourFeaturesOptionals ul.features li {
	list-style:none;
	display:block;
	float:left;
	min-height:55px;
	min-width:55px;
	margin:0 7px 15px;
	padding:0;
	text-align:center;
	border:none;
}
div.tourFeaturesOptionals ul.features i[class^="icon-"] {
	display:block;
	margin:2px auto 5px;
	font-size:30px;
	line-height:30px;
}
div.tourIntro > :first-child,
div.tourFeaturesOptionals > :first-child,
div.tourHighlights > :first-child {
	margin-top:0;
}
div.tourIntro > :last-child,
div.tourFeaturesOptionals > :last-child,
div.tourHighlights > :last-child {
	margin-bottom:0;
}

/* TOUR ITINERARY & MAP */
div.itinSummary {
	font-size:inherit;
	margin:0 0 3em;
}
div.itinSummary .itinTitle {
	margin:1.5em 0 1em;
}
div.itinSummary .itinTitle a {
	text-decoration:none;
}
div.itinSummary ul {
	list-style:none;
	margin:1em 0 1em 16px;
	padding:0;
	border-left:2px solid #e5e5e5;
	z-index:1;
}
div.itinSummary li {
	padding:0 0 0 27px;
}
div.itinSummary li.day {
	list-style:none;
	margin:1em 0 .25em;
	position:relative;
	font-weight:600;
}
div.itinSummary li.excursion {
	list-style:none;
	margin:.5em 0;
}
div.itinSummary li.day .itinDay {
	position:absolute;
	left:-16px;
	top:-4px;
	border-radius:50%;
	padding:6.5px 0 9.5px;
	color:#999;
	background:#eee;
	border:1px solid #e5e5e5;
	font-size:14px;
	line-height:14px;
	width:30px;
	height:30px;
	text-align:center;
	font-weight:700;
}
div.itinSummary li.day a.itinPlace {
	text-decoration:none;
	font-size:1.075em;
}
figure.itinMap {
	float:right;
	width:50%;
	margin:0 0 .9375rem 1.875rem; /* to match other columns */
	padding:0 0 0 1.875rem; /* to match other columns */
}
figure.itinMap a {
	display:block;
	width:100%;
	position:relative;
	z-index:2; /* put map above itinerary; must be paired with position:relative */
}
figure.itinMap img {
	width:100%;
}
div.tourItinerarySummary {
	margin-bottom:2.5rem;
}
div.tourItinerarySummary:first-child,
div.tourItinerarySummary :first-child {
	margin-top:0;
}
div.tourItinerarySummary:last-child,
div.tourItinerarySummary :last-child {
	margin-bottom:0;
}

/* DETAILED ITINERARIES & COLLAPSIBLE SECTIONS */
blockquote {
	margin:0;
	padding:0;
	background:transparent;
}
blockquote > ol {
	margin:0;
	padding:0;
	list-style:none;
}
blockquote > ol > li {
	margin:0 0 1em;
	padding:0;
	list-style:none;
	clear:both;
}
blockquote span.itinDay {
	font-weight:bold;
	color:#888;
}
blockquote span.itinExcursion {
	font-weight:bold;
	color:#888;
}
blockquote .day span.itinPlace {
	font-weight:bold;
}
blockquote .excursion span.itinPlace {
	/*font-weight:normal;*/
}
blockquote span.itinHotel,
blockquote span.itinMeals {
}

.expandoBlock {
	margin:25px 0;
	padding:0 25px 1px; /* prevent margin collapsing */
	clear:both;
	position:relative;
	border:1px solid #eee;
	border-radius:6px;
}
.expandoBlock > .title {
	position:relative;
	margin:0 -25px;
	padding:15px 60px 15px 25px;
	background:#f5f5f5;
	border:none;
	text-align:left;
	cursor:pointer;
}
.expandoBlock > div.title {
	font-size:1.3em;
	font-weight:bold;
	letter-spacing:-.025em;
}
.expandoBlock > h3.title {
	font-size:1.4375rem;
}
.expandoBlock > .title,
.expandoBlock > .title i,
.expandoBlock > .title em,
.expandoBlock > .title b,
.expandoBlock > .title strong, {
	font-weight:normal;
	font-style:normal;
}
.expandoBlock.open > .title {
}
.expandoBlock > .detail {
	position:relative;
	padding:5px 0 0;
	overflow:auto;
}
.expandoBlock > .detail > table {
	margin-bottom:1.25em;
}
.expandoBlock > .title > .expandBtn {
	height:25px;
	width:25px;
	overflow:hidden;
	border:none;
	z-index:1;
	position:absolute;
	right:15px;
	top:14px;
}
.expandoBlock > .title > .expandBtn img {
	height:122px;
	border:none;
	position:absolute;
	right:0;
	top:0;
}
.expandoBlock > .title:hover > .expandBtn img,
.expandoBlock .expandBtn img:hover {
	top:-64px;
}
.expandoBlock.open > .title > .expandBtn img {
	top:-32px;
}
.expandoBlock.open > .title:hover > .expandBtn img,
.expandoBlock.open > .title > .expandBtn img:hover {
	top:-96px;
}

.expandoList {
	margin:30px 0;
	clear:both;
	position:relative;
}
.expandoList > p.instructions {
	font-style:italic;
	color:#999;
}
.expandoList > p.instructions.hidden {
	opacity:0;
	visibility:hidden;
	transition:opacity .3s, visibility .3s;
}
.expandoList ol {
	list-style:none;
	margin:0;
	padding:0;
}
.expandoList .item {
	clear:both;
	margin:15px 0;
	position:relative;
	border:1px solid #eee;
	border-radius:6px;
	list-style:none;
}
.expandoList .item .title {
	position:relative;
	margin:0;
	padding:15px 55px 15px 20px;
	background:#f5f5f5;
	font-size:100%;
	line-height:1.4;
	font-weight:bold;
	color:#333;
	cursor:pointer;
}
.expandoList .item .detail {
	clear:both;
	padding:1.2em 20px; /* prevent margin collapsing */
	overflow:auto;
}
.expandoList .item .detail p {
	margin:1.2em 0;
}
.expandoList .item .detail p:first-child {
	margin-top:0;
}
.expandoList .item .detail p:last-child {
	margin-bottom:0;
}
.expandoList .item .title .expandBtn {
	height:25px;
	width:25px;
	overflow:hidden;
	border:none;
	z-index:1;
	position:absolute;
	right:15px;
	top:12px;
}
.expandoList .expandAll {
	height:26px;
	width:113px;
	overflow:hidden;
	border:none;
	cursor:pointer;
	position:relative;
	float:right;
	display:block;
	margin-bottom:20px;
}
.expandoList .item .title .expandBtn img,
.expandoList .expandAll img {
	height:122px;
	border:none;
	position:absolute;
	right:0;
	top:0;
}
.expandoList .item .title:hover .expandBtn img,
.expandoList .item .title .expandBtn img:hover,
.expandoList .expandAll img:hover {
	top:-64px;
}
.expandoList .item.open .title .expandBtn img,
.expandoList.open .expandAll img {
	top:-32px;
}
.expandoList .item.open .title:hover .expandBtn img,
.expandoList .item.open .title .expandBtn img:hover,
.expandoList.open .expandAll img:hover {
	top:-96px;
}
.expandoList.itinerary {
	border-bottom:2px solid #eee;
}
.expandoList.itinerary div.day {
	clear:both;
	width:auto !important;
	margin-top:1.75em;
	margin-bottom:1.5em;
	padding-top:.35em;
	padding-left:5.5em;
	border-top:2px solid #eee;
}
.expandoList.itinerary div.day span.itinDay {
	font-size:inherit;
	float:left;
	margin-top:-.2em;
	margin-left:-5.5em;
	width:4.3em;
	height:4.3em;
	padding:.95em .8em .65em;
	background:#f5f5f5;
	border-radius:50%;
	border:thin solid #eee;
	line-height:1.2;
	letter-spacing:0;
	font-weight:600;
	text-transform:uppercase;
	text-align:center;
	color:#999;
}
.expandoList.itinerary div.day span.itinDay b {
	display:none;
}
.expandoList.itinerary div.day span.itinPlace {
	font-size:1.3em;
	line-height:1.5;
	letter-spacing:-.025em;
}
.expandoList.itinerary div.day p {
	margin-top:1em;
	margin-bottom:1em;
	margin-left:0;
}
.expandoList.itinerary div.day ul {
	margin-top:1em;
	margin-bottom:1em;
	margin-left:0;
	padding-left:20px; /* for bullets */
}
.expandoList.itinerary .item {
	margin:1em 0;
}
.expandoList.itinerary > .item {
	margin:1em 0 1em 5.5em;
}
.expandoList.itinerary div.day .item {
	margin:1em 0 0 0;
}
.expandoList.itinerary div.day + .item {
	margin-top:1.5em;
}
.expandoList.itinerary .item .title {
	font-weight:normal;
	padding-top:.6em;
	padding-bottom:.7em;
	border:none; /* Plex */
}
.expandoList.itinerary .item .detail {
}
.expandoList.itinerary .item .detail p {
	margin-top:0;
}
.expandoList.itinerary .item .detail p:last-child {
	margin-bottom:0;
}
.expandoList.itinerary .item .detail img {
	max-width:250px;
	max-height:250px;
}
.expandoList.itinerary img.alignleft,
.expandoList.itinerary img.alignright {
	margin-top:.2em;
}
.expandoList.itinerary div.alignleft,
.expandoList.itinerary div.alignright {
	margin-top:.2em;
	max-width:250px; /* will be overridden by JS when processing images, and that's fine */
}
.expandoList.itinerary .item .title .expandBtn {
	top:6px;
}
/* old-school */
.expandoList.itinerary i.icon-bed,
.expandoList.itinerary i.icon-silverware {
	font-size:20px;
	margin-left:1.8em;
	margin-right:.4em;
	color:#999;
	top:1px;
}
.expandoList.itinerary i.icon-bed:first-child,
.expandoList.itinerary i.icon-silverware:first-child {
	margin-left:0;
}
/* new-school */
.expandoList.itinerary .itinHotel,
.expandoList.itinerary .itinMeals {
	display:inline-block;
	margin-right:2.5em;
	font-style:italic;
}
.expandoList.itinerary .itinHotel:last-child,
.expandoList.itinerary .itinMeals:last-child {
	margin-right:0;
}
.expandoList.itinerary .itinHotel:before,
.expandoList.itinerary .itinMeals:before {
	font-size:20px;
	font-family:'friendlyplanet';
	font-weight:normal;
	font-style:normal;
	margin-right:.4em;
	color:#999;
	top:1px;
}
.expandoList.itinerary .itinHotel:before {
	content:'\e825';
}
.expandoList.itinerary .itinMeals:before {
	content:'\e826';
}

/* HOTEL LISTINGS */
.hotelClass {
	line-height:1.875rem;
	margin:1.25em 0; /* match paragraphs */
	/* overflow:auto;   /* since all the stars are floated */
}
.hotelClass .stars-outer {
	vertical-align:top;
	line-height:inherit;
	margin-right:.5em;
}
.hotelClass i {
	/*display:inline-block;*/
	vertical-align:top;
	font-size:.84375rem;
	font-style:normal;
	line-height:inherit;
	text-transform:uppercase;
	color:#808080;
	white-space:nowrap;
}
.expandoBlock.hotel img,
.expandoBlock.ship img {
	max-width:250px;
	max-height:250px;
}

/* TOUR & COUNTRY SELECTORS (BYG, terms, visas page, etc.) */
form.selectorForm {
	max-width:100%;
	display:flex;
	flex:1 0 auto;
	flex-flow:row nowrap;
	align-items:center;
	font-size:1.1em;
}
form.selectorForm > span {
	margin:0 .5em .25em 0;
}
form.selectorForm select {
	width:100%;
	font-size:1.2em; /* larger than submit */
}
form.selectorForm input {
	padding-left:.9em;
	padding-right:.9em;
}

/* BLOG POSTS */
ul.blogPostTiles {
	margin:30px -18px 0;
	padding:0;
	list-style:none;
	text-align:left;
	position:relative;
}
ul.blogPostTiles li {
	width:228px;
	min-height:231px;
	margin:0 18px 36px;
	padding:0;
	float:left;
	position:relative;
	border-radius:4px;
	background:#f2f2f2;
}
ul.blogPostTiles li a {
	text-decoration:none;
}
ul.blogPostTiles li div {
	width:228px;
	height:114px;
	display:block;
	border-radius:4px 4px 0 0;
	overflow:hidden;
}
ul.blogPostTiles li div img {
	width:100%;
	min-width:228px;
	height:auto;
	min-height:114px;
	border:none;
}
ul.blogPostTiles li a b {
	display:block;
	padding:10px 16px 15px;
	font-size:18px;
	line-height:22px;
	font-weight:600;
	letter-spacing:-.015em;
	text-decoration:none;
}

/* AJAX SUBSCRIBE FORM */
div.ajaxSubscribe {
	width:285px;
	margin:1em auto;
	position:relative;
}
div.ajaxSubscribe form {
	padding:10px 15px;
	border:1px solid #ffbf2f;
	background:#FFFFB8;
}
div.ajaxSubscribe form input[name="email"] {
	width:170px;
}
div.ajaxSubscribe label {
	font-size:90%;
	margin-right:10px;
}
div.ajaxSubscribe div {
	margin:0 0 8px;
}
div.ajaxSubscribeStatus {
	display:none;
	padding:10px 15px 8px;
	border:1px solid #ffbf2f;
	background:#FFFFB8;
	font-size:90%;
}

/* WAIT OVERLAY */
div.waitOverlay {
	display:none;
	background:#fff url(../media/template/loading_bar.gif) 50% 50% no-repeat;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	opacity:.75;
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
	filter:alpha(opacity=75);
	z-index:200;
}

/* MODALS/FRAMED PAGES */
html.inFrame {
	min-width:0;
	padding:15px;
}
html.inFrame main {
	min-width:0;
	padding:0;
}
html.inFrame .pageWidth {
	min-width:0;
	width:auto;
	padding:0;
	margin:0;
	border-radius:0;
	box-shadow:none;
}
html.inFrame div#pageTitle {
	margin-top:0;
	padding:0;
}
html.inFrame div#pageTitle h1 {
	margin:0;
}
html.inFrame div#pageContent {
	padding:0;
	margin:0;
	width:auto;
	min-width:0;
	max-width:none;
	min-height:0;
}
html.inFrame header#siteHeader,
html.inFrame nav,
html.inFrame footer#siteFooter,
html.inFrame #newsRibbon,
html.inFrame #channelHead {
	display:none !important;
}
/* override this where you need to */
html.inFrame div#photoReel {
	display:none;
}
html.inFrame div#footerDisclaimer {
	background:none;
	padding:0;
	margin:2rem 0 0;
	color:inherit;
}