/* GENERAL FORMATTING AND RESETS */
@media (max-width:950px) {
	h1 {
		font-size:2.875rem; /* 46px */
	}
	h2 {
		font-size:2.15625rem; /* 34.5px */
	}
	h3 {
		font-size:1.5rem; /* 24px */
	}
	h4 {
		font-size:1.15625rem; /* 18.5px */
	}
}
@media (max-width:800px) {
	h1 {
		font-size:2.75rem; /* 44px */
		letter-spacing:-.045em;
	}
	h2 {
		font-size:2.0625rem; /* 33px */
		letter-spacing:-.035em;
	}
	h3 {
		font-size:1.4375rem; /* 23px */
		letter-spacing:-.02em;
	}
	h4 {
		font-size:1.125rem; /* 18px */
	}
}
@media (max-width:600px) {
	h1 {
		font-size:calc(6vw + 8px);
		margin:0 0 1.5625rem;
	}
	h2 {
		font-size:calc(3.5vw + 12px);
		margin:3.125rem 0 1.5625rem;
	}
	h3 {
		font-size:calc(1.5vw + 14px);
		margin:2.0625rem 0 1.03125rem;
	}
	h4 {
		font-size:1.09375rem; /* 17.5px */
		margin:1.5625rem 0 1.03125rem;
	}
}
@media (max-width:400px) {
	h1 {
		font-size:2rem; /* 32px */
		letter-spacing:-.04em;
		margin:0 0 1.25rem;
	}
	h2 {
		font-size:1.625rem; /* 26px */
		letter-spacing:-.03em;
		margin:2.8125rem 0 1.25rem;
	}
	h3 {
		font-size:1.25rem; /* 20px */
		letter-spacing:-.015em;
		margin:1.875rem 0 .9375rem;
	}
	h4 {
		font-size:1.0625rem; /* 17px */
		letter-spacing:-.015em;
		margin:1.5625rem 0 .9375rem;
	}
}
@media (max-width:500px) {
	p.hanging,
	div.hanging,
	p.indent,
	div.indent {
		padding-left:30px;
	}
	p.hanging i[class^="icon-"]:first-child {
		font-size:20px;
		margin-left:-30px;
	}
}

/* INLINE IMAGES */
@media (max-width:500px) {
	img.alignleft,
	img.alignright {
		float:none;
		margin-top:1em;
		margin-left:0;
		margin-right:0;
	}
}
@media (max-width:500px) {
	div.alignleft,
	div.alignright {
		float:none;
		margin:1em 0;
	}
}
/* Image enlargements at this size are rather pointless. Then again, any screen this size is a touchscreen which doesn't have a hover state... */
@media (max-width:400px) {
	a.enlarge {
		cursor:default;
	}
	a.enlarge::after {
		display:none;
	}
}
*/

/* CONTENT TABLES */
@media (max-width:625px) {
	table.ledger {
		font-size:.9375rem; /* 15px */
		border-width:.5em .625em; /* simulate padding */
	}
	table.ledger input[type=checkbox],
	table.ledger input[type=radio] {
		margin-top:.3em;
	}
}
@media (max-width:500px) {
	table.ledger {
		border-width:.5em;
	}
}
@media (max-width:400px) {
	table.ledger {
		font-size:.90625rem; /* 14.5px */
		border:none;
		background:none;
	}
	table.ledger tr td:first-child {
		padding-left:.25em;
	}
	table.ledger tr td:last-child {
		padding-right:.25em;
	}
	table.ledger input[type=checkbox],
	table.ledger input[type=radio] {
		margin-top:.25em;
	}
}
@media (max-width:500px) {
	div.fieldset {
		padding:1em;
		border:none;
	}
}
@media (max-width:400px) {
	div.fieldset {
		font-size:.90625rem; /* 14.5px */
		padding:0;
		background:none;
	}
}
@media (max-width:500px) {
	table.fieldset {
		border-width:.75em .625em;
	}
}
@media (max-width:400px) {
	table.fieldset {
		font-size:.90625rem; /* 14.5px */
		border-width:.25em .125em;
	}
}
@media (max-width:450px) {
	.cleanTable td {
		padding:.6em .8em;
	}
}
@media (max-width:600px) {
	.datesTable th {
		font-size:1.25m;
	}
}
@media (max-width:500px) {
	.datesTable th {
		font-size:1.2em;
	}
}

/* TOUR PRICE DISCOUNTS WIDGET */
@media screen and (max-width:600px) {
	div.tourBanners > div {
		margin-bottom:1.6em; /* 32px */
	}
	div.tourBanners strong {
		font-size:1.1em;
	}
	div.tourDiscounts.multiple {
		padding-left:2.25em; /* 45px */
	}
	div.tourDiscounts.multiple i[class^="icon-"] {
		font-size:2em;  /* 40px */
		top:-.15em;
	}
	div.tourDiscounts.multiple div.big {
		font-size:1.1em;
		letter-spacing:-.02em;
	}
}
@media screen and (max-width:500px) {
	div.tourBanners > div,
	div.tourDiscounts.multiple {
			padding-left:1.7em; /* 34px */
	}
	div.tourBanners strong {
		font-size:1em;
	}
	div.tourBanners img,
	div.tourBanners i[class^="icon-"],
	div.tourDiscounts.multiple i[class^="icon-"] {
		font-size:1.5em;  /* 30px */
		top:-.1em;
	}
	div.tourDiscounts.multiple div.big {
		border-bottom:0;
		font-size:1em;
		letter-spacing:-.01em;
	}
}

/* TOUR TILE LISTINGS */
@media (max-width:950px) {
	div.tiles .title {
		font-size:1.625rem; /* 26px */
	}
	div.tiles.tours .price big,
	div.tiles.tours .duration big {
		font-size:1.5625rem; /* 25px */
	}
}
@media (max-width:800px) {
	div.tiles .title {
		font-size:1.5625rem; /* 25px */
		letter-spacing:-.04em;
	}
	div.tiles.tours .price big,
	div.tiles.tours .duration big {
		font-size:1.5rem; /* 24px */
		letter-spacing:-.025em;
	}
}
@media (max-width:600px) {
	div.tiles .title {
		font-size:calc(2vw + 13px);
		letter-spacing:-.03em;
	}
	div.tiles.tours .price big,
	div.tiles.tours .duration big {
		font-size:calc(1.5vw + 15px);
		letter-spacing:-.02em;
	}
	div.tiles.tours a.btn {
		font-size:.78125rem; /* 12.5px */
		padding:.2em 1.375em .3em;
	}
}
@media (max-width:400px) {
	div.tiles .tileImg {
		max-height:150px;
	}
	div.tiles .title {
		font-size:1.3125rem; /* 21px */
		letter-spacing:-.02em;
	}
	div.tiles.tours .price,
	div.tiles.tours .duration {
		font-size:.75rem; /* 12px */
	}
	div.tiles.tours .price big,
	div.tiles.tours .duration big {
		font-size:1.3125rem; /* 21px */
		letter-spacing:-.015em;
	}
	div.tiles.tours a.btn {
		font-size:.75rem; /* 12px */
		padding:.15em 1.25em .25em;
	}
}

/* FEEFO REVIEWS */
@media screen and (max-width:600px) {
	#reviewsBox .review,
	#reviewsBox .review:nth-child(odd) {
		padding-left:0;
		padding-right:0;
		background:none;
	}
}
@media (max-width:500px) {
	#reviewsBox .review .review-meta {
		padding-right:0;
	}
	#reviewsBox .review a.review-share {
		display:none;
	}
}

/* FANCYBOX */
@media (max-width:600px), screen and (max-height:600px) {
	body .fancybox-slide--iframe {
		padding:40px 20px 20px;
	}
	body .fancybox-slide--iframe .fancybox-iframe {
		padding:20px;
	}
	body .fancybox-content {
		padding:40px 20px 20px;
	}
}
@media (max-width:500px), screen and (max-height:500px) {
	body .fancybox-slide--iframe {
		padding:40px 10px 10px;
	}
	body .fancybox-slide--iframe .fancybox-iframe {
		padding:15px;
	}
	body .fancybox-content {
		padding:40px 15px 15px;
	}
}
@media (max-width:360px), screen and (max-height:360px) {
	body .fancybox-slide--iframe {
		padding:40px 0 0;
	}
	body .fancybox-slide--iframe .fancybox-iframe {
		padding:10px;
	}
	body .fancybox-content {
		padding:40px 10px 10px;
	}
}

/* TEMPLATE STYLES: formerly in layout.css. */
#template {
	min-width:320px;
}
.pageWidth,
#pageContent {
	width:100%;
	max-width:1150px;
}
@media (max-width:625px) {
	.pageWidth,
	#pageContent {
		padding-left:15px;
		padding-right:15px;
	}
	.pageWidth .row.max-gutter,
	#pageContent .row.max-gutter {
		margin-left:-15px;
		margin-right:-15px;
	}
	#pageContent .row.max-gutter > [class*="col"],
	.pageWidth .row.max-gutter > [class*="col"] {
		padding-left:15px;
		padding-right:15px;
	}
}

/* HEADER */
@media (max-width:1050px) {
	div#headerSearch,
	.jsActive div#headerSearch {
		display:none;
	}
	div#headerSearchMobile {
		display:block;
	}
}
@media (max-width:1000px) {
	div#headerMenuMobile {
		display:block;
	}
}
@media (max-width:950px) {
	div#headerHelpBtns {
		display:none;
	}
}
@media (max-width:750px) {
	header#siteHeader {
		padding-top:20px;
		padding-bottom:20px;
	}
	#masthead a {
		padding:14% 0 0;
	}
	#masthead img {
		width:13%;
	}
	#masthead .logotype {
		top:11%;
		width:83%;
		height:86.56%;
	}
	#masthead .slogan {
		display:none;
	}
	div#headerPhone a big {
		font-size:3.6vw;
		letter-spacing:-.035em;
	}
	div#headerPhone small {
		display:none;
	}
}
@media (max-width:660px) {
	div#headerPhone,
	html.crjs div#headerPhone {
		display:none;
	}
	div#headerPhoneMobile {
		display:block;
	}
	div#headerSearchMobile a,
	div#headerMenuMobile a,
	div#headerPhoneMobile a {
		font-size:4.15vw;
		line-height:1em;
		height:1em;
		width:auto;
		margin:0;
	}
	div#headerSearchMobile a:before {
		font-size:3.5vw;
	}
	div#headerMenuMobile a:before,
	div#headerPhoneMobile a:before {
		font-size:4.15vw;
	}
}
@media (max-width:578px) {
	header#siteHeader {
		padding-top:15px;
		padding-bottom:15px;
	}
	div#headerSearchMobile a,
	div#headerMenuMobile a,
	div#headerPhoneMobile a,
	#siteSearchBox .search-button {
		font-size:1.5rem; /* 24px */
	}
	div#headerMenuMobile a:before,
	div#headerPhoneMobile a:before {
		font-size:1.5rem; /* 24px */
	}
	div#headerSearchMobile a:before {
		font-size:1.25rem; /* 20px */
	}
}

/* TOP MENU */
@media (max-width:1000px){
	.menuzord-responsive.menuzord {
		padding:0;
	}
	#menuzord-overlay.clicked {
		display:none;
	}
	.menuzord-responsive .menuzord-menu {
		width:100%;
		max-width:600px;
		float:right !important;
		display:none;
		border-left:none;
		border-right:none;
		box-shadow:0 3px 15px rgba(0,0,0,.35);
	}
	.menuzord-responsive .menuzord-menu.open {
		display:block;
	}
	.menuzord-responsive .menuzord-menu.scrollable {
		overflow-y:auto;
		-webkit-overflow-scrolling:touch;
	}
	.menuzord-responsive .menuzord-menu.scrollable > .scrollable-fix {
		display:block;
	}
	.menuzord-responsive .menuzord-menu > li {
		width:100%;
		display:block;
		position:relative;
	}
	.menuzord-responsive .menuzord-menu > li > a {
		width:100%;
		padding:12px 20px;
		display:block;
		border-top:1px solid rgba(255,255,255,.3);
		border-bottom:1px solid rgba(0,0,0,.3);
		text-align:left;
		transition:none;
	}
	.menuzord-responsive .menuzord-menu > li:first-child > a {
		border-top:solid 1px #f0f0f0;
	}
	.menuzord-menu > li > a,
	.menuzord-menu > li.clicked > a {
		border-right:none;
		border-left:none;
	}
	.menuzord-menu > li.clicked > a {
		font-weight:700;
	}
	.menuzord-responsive .menuzord-menu li .indicator {
		display:block;
		width:60px;
		height:100%;
		position:absolute;
		right:0;
		top:0;
		font-size:22px;
		font-weight:600;
		text-align:center;
		line-height:43px;
		border-left:solid 1px #f5f5f5;
		border-left:1px solid rgba(255,255,255,.3);
	}
	.menuzord-responsive .menuzord-menu li .indicator i {
		font-style:normal;
		display:inline-block;
		margin:0 auto;
		transition:transform .2s linear;
	}
	.menuzord-responsive .menuzord-menu li.clicked .indicator i {
		transform:rotate(45deg) scale(1.4);
	}
	.menuzord-responsive .menuzord-menu > li > .megamenu {
		width: 100% !important;
		left: 0 !important;
		position: static;
		border-top: none;
		border-bottom: solid 1px #f0f0f0;
		box-shadow:none;
	}
	.menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-row {
		margin-top:0;
	}
	.menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-content {
		padding:20px 20px 25px;
	}
	.menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-sidebar {
		padding:20px 20px 4025px;
	}
	.menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-row [class*="col"],
	.menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-content[class*="col"],
	.menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-sidebar[class*="col"] {
		float:none;
		display:block;
		width:100% !important;
		margin-left:0;
		margin-top:0;
	}
	.menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-row [class*="col"] {
		margin-top:20px;
	}
	.menuzord-responsive .menuzord-menu > li > .megamenu .megamenu-row:first-child [class*="col"]:first-child {
		margin-top: 0;
	}
}
@media (max-width:1000px){
	nav#headerMenu {
		padding:0;
		background:#ccc;
		box-shadow:none;
	}
	.menuzord #homeMenu {
		display:none;
	}
	.menuzord #destinationsMenu .countrySelect {
		display:block;
	}
	.menuzord #destinationsMenu .regionCountryList,
	.menuzord #destinationsMenu .megamenu-sidebar,
	.menuzord #toursMenu .tourSearch,
	.menuzord #toursMenu .toursImg,
	.menuzord #groupsMenu .groupsImg,
	.menuzord #aboutMenu .megamenu-sidebar,
	.menuzord #bookingMenu .megamenu-sidebar {
		display:none;
	}
	.menuzord #toursMenu .megamenu-row .col6,
	.menuzord #groupsMenu .groupsText {
		margin-top:0;
	}
	.menuzord #toursMenu .megamenu-row:last-child .col6:last-child h3 {
		margin-bottom:0;
	}
	.menuzord #aboutMenu .megamenu-row .col6:last-child,
	.menuzord #bookingMenu .megamenu-row .col6:last-child {
		margin-top:10px;
	}
	.megamenu img {
		max-width:320px;
	}
	.megamenu h3 {
		font-size:1.0625rem; /* 17px */
		line-height:1.2;
		letter-spacing:-.015em;
		margin:15px 0 10px;
	}
	.megamenu h4 {
		font-size:.96875rem; /* 15.5px */
		line-height:1.25;
		letter-spacing:-.01em;
		margin:10px 0;
	}
}

/* PHOTO REEL & TITLE BAR; latter on tour pages only */
@media (max-width:1000px) {
	div#photoPageTitle {
		display:none;
	}
	div#pageTitle {
		display:block;
	}
}

/* STICKY NAV BAR */
@media (max-width:1100px) {
	body.stickyNavStuck div#stickyPageTitle {
		z-index:1; /* over nav drop shadow */
	}
	div#stickyPageTitle ul.tourSelector {
		display:none;
	}
	div#stickyNavBar nav {
		height:2.5em;
		position:relative;
		box-sizing:content-box; /* so border is not counted towards height */
	}
	/* remove background & drop shadow, which would stretch to include dropdowns, and instead use a pseudoelement to create the same effect */
	/*
	body.stickyNavStuck div#stickyNavBar nav {
		background:none;
		box-shadow:none;
	}
	body.stickyNavStuck div#stickyNavBar nav::before {
		content:'';
		position:absolute;
		width:100%;
		height:100%;
		z-index:-1;
		background:#fff;
		box-shadow:0 2px 6px rgba(0,0,0,.3);
	}
	*/
	div#stickyNavBar nav .pageWidth {
		padding:0;
	}
	div#stickyNavBar.sticky nav .pageWidth {
		position:absolute; /* this takes the nav out of the flow */
	}
	div#stickyNavBar nav .pageWidth > span {
		border-left:thin solid #ddd;
	}
	div#stickyNavBar nav .pageWidth > span:first-child {
		border:none;
	}
	body.stickyNavStuck div#stickyNavBar.sticky nav .pageWidth > span.tourSelector {
		display:block;
	}
	div#stickyNavBar nav label {
		display:block;
		position:relative;
		padding:.5em 3em .5em 25px; /* match .pageWidth side padding and allow room for arrow */
		line-height:inherit;
		cursor:pointer;
		font-weight:600;
	}
	div#stickyNavBar nav label::before {
		content:'\e809';
		position:absolute;
		right:25px; /* match .pageWidth side padding */
		width:1em;
		top:.7em;
		font-family:'friendlyplanet';
		font-size:.8em;
		line-height:inherit;
		font-weight:normal;
		speak:none;
		margin:0;
		color:#999;
	}
	div#stickyNavBar nav span.open label::before {
		content:'\e80a';
	}
	div#stickyNavBar nav span:hover label::before {
		color:inherit;
	}
	body.stickyNavStuck div#stickyNavBar.sticky nav label::before {
		right:1em; /* make right position more modest once backToTop link appears */
	}
	div#stickyNavBar.sticky nav a.backToTop {
		display:none;
	}
	body.stickyNavStuck div#stickyNavBar.sticky nav .backToTop {
		display:block;
		padding:.75em 25px .25em; /* match .pageWidth side padding */
		border-left:thin solid #ddd;
	}
	div#stickyNavBar nav ul {
		/* margin:0 -1px; /* compensate for border */
		max-height:0;
		overflow:hidden;
		transition:max-height .25s ease-out;
		box-shadow:0 2px 6px rgba(0,0,0,.3);
	}
	div#stickyNavBar nav span.open ul {
		max-height:480px;
	}
	div#stickyNavBar nav ul li {
		display:block;
		margin:0;
		border-top:1px solid #ddd;
	}
	div#stickyNavBar nav ul li span,
	div#stickyNavBar nav ul li a {
		display:block;
		padding:.5em 25px; /* match .pageWidth side padding */
		color:inherit;
	}
}
@media (max-width:625px) {
	/* match .pageWidth padding */
	div#stickyNavBar nav label {
		padding-left:15px;
		padding-right:2em;
	}
	body.stickyNavStuck div#stickyNavBar.sticky nav a.backToTop {
		padding-left:15px;
		padding-right:15px;
	}
}
@media (max-width:500px) {
	body.stickyNavStuck div#stickyNavBar.sticky nav .pageWidth > span.tourSelector {
		display:none;
	}
}

/* FOOTER */
@media (max-width:900px) {
	ul#footerSocial a {
		font-size:3.75rem;
	}
}
@media (max-width:767px) {
	div#footerConnect {
		margin-top:0;
	}
	ul#footerSocial {
		margin-left:auto !important;
		margin-right:auto  !important;
		text-align:center;
	}
	ul#footerSocial a {
		font-size:4rem;
	}
	nav#footerMenu ul ul li {
		margin-top:.65em;
	}
}
@media (max-width:600px) {
	div#footerCatalog img {
		display:none;
	}
	nav#footerMenu ul {
		display:none;
	}
	#footerMobileMenu {
		display:block;
		width:100%;
	}
	#footerMobileMenu select {
		border:1px solid #aaa;
		box-shadow:0 1px 0 1px rgba(0,0,0,.04);
	}
	.jsActive #footerMobileMenu input {
		display:none;
	}
	.jsActive #footerMobileMenu select {
		width:100%;
	}
	div#footerTrust li {
		list-style:none;
		margin:0;
		padding:20px 10px;
	}
	div#footerCatalog, div#footerConnect {
		text-align:center;
	}
	ul#footerSocial a {
		font-size:3.5rem;
	}
}

/* TOUR PAGE */

/* TOUR PAGE CONSOLES */
@media (max-width:1000px) {
	#tourConsoles {
		display:none;
	}
	#tourConsoleBtns {
		display:block;
	}
	#bookingConsole,
	#notifyConsole {
		display:none !important;
	}
}

/* DATES & FESS TABLES */
@media (max-width:700px) {
	#tourOptionsFees {
		display:none;
	}
}

/* TOUR FAQS */
@media (max-width:500px) {
	ul.tourFAQs li {
		padding-left:54px;
	}
	ul.tourFAQs li img {
		margin-left:-54px;
		max-width:42px;
	}
	ul.tourFAQs a {
		font-size:1.1em;
	}
}
@media (max-width:800px) {
	#tourCommonFAQs #FAQsBlock {
		margin-left:0;
	}
}

/* TOUR PAGE HEADINGS & PRICES */
@media (max-width:950px) {
	div.tourPriceBar big {
		font-size:2.25rem; /* 36px */
		line-height:2.25rem;
	}
	div.tourPriceBar .rating .stars-outer,
	div.tourPriceBar .rating .stars-inner {
		font-size:1.75rem; /* 28px */
	}
}
@media (max-width:800px) {
	div.tourPriceBar > span {
		margin-right:1.0625rem;
		padding-right:1.28125rem;
	}
	div.tourPriceBar big {
		font-size:2.125rem; /* 34px */
		line-height:2.125rem;
		letter-spacing:-.035em;
	}
	div.tourPriceBar .rating .stars-outer,
	div.tourPriceBar .rating .stars-inner {
		font-size:1.625rem; /* 26px */
	}
}
@media (max-width:600px) {
	div.tourPriceBar {
		font-size:.8125rem; /* 13px */
	}
	div.tourPriceBar big {
		font-size:calc(4vw + 10px);
		line-height:calc(4vw + 10px);
	}
	div.tourPriceBar .rating .stars-outer,
	div.tourPriceBar .rating .stars-inner {
		font-size:1.5rem; /* 24px */
	}
}
@media (max-width:400px) {
	div.tourPriceBar {
		font-size:.78125rem; /* 12.5px */
	}
	div.tourPriceBar > span {
		margin-right:.9375rem;
		padding-right:1.125rem;
	}
	div.tourPriceBar big {
		font-size:1.625rem; /* 26px */
		line-height:1.625rem;
		letter-spacing:-.03em;
	}
	div.tourPriceBar .rating .stars-outer,
	div.tourPriceBar .rating .stars-inner {
		font-size:1.375rem; /* 22px */
	}
}

/* TOUR OVERVIEW */
@media (max-width:525px) {
	table.tourOverview,
	table.tourOverview td {
		display:block;
	}
	table.tourOverview td:nth-child(odd) {
		width:auto;
		border:none;
		padding:1em 0 .25em;
	}
	table.tourOverview td:nth-child(even) {
		padding:.25em 0 1em;
	}
}
/* TOUR INTRO, FEATURES & HIGHLIGHT */
@media (max-width:600px) {
	div.tourIntro {
		font-size:1.09375rem; /* 17.5px */
	}
}
@media (max-width:500px) {
	div.tourIntro {
		font-size:1.03125rem; /* 16.5px */
	}
}
@media (max-width:400px) {
	div.tourIntro {
		font-size:.96875rem; /* 15.5px */
	}
}

/* TOUR ITINERARY & MAP */
@media (max-width:750px) {
	figure.itinMap {
		float:none;
		width:100%;
		max-width:480px;
		margin:1em 0 3em;
		padding:0;
	}
}

/* DETAILED ITINERARIES & COLLAPSIBLE SECTIONS */
@media (max-width:800px) {
	.expandoBlock > h3.title {
		font-size:1.375rem; /* 22px */
	}
}
@media (max-width:625px) {
	.expandoBlock {
		padding-left:15px;
		padding-right:15px;
	}
	.expandoBlock > .title {
		margin-left:-15px;
		margin-right:-15px;
		padding-left:15px;
	}
}
@media (max-width:600px) {
	.expandoBlock {
		margin-top:20px;
		margin-bottom:20px;
	}
	.expandoBlock > div.title {
		font-size:1.25em;
	}
	.expandoBlock > h3.title {
		font-size:calc(1.5vw + 13px);
	}
}
@media (max-width:500px) {
	.expandoBlock > div.title {
		font-size:1.2em;
		font-weight:600;
	}
}
@media (max-width:400px) {
	.expandoBlock > div.title {
		font-size:1.15em;
	}
	.expandoBlock > h3.title {
		font-size:1.1875rem; /* 19px */
		padding-top:12px;
		padding-bottom:12px;
	}
	.expandoBlock > .title > .expandBtn {
		top:10px;
	}
}
@media (max-width:625px) {
	.expandoList .item .title {
		padding-left:15px;
	}
	.expandoList .item .detail {
		padding-left:15px;
		padding-right:15px;
	}
}
@media (max-width:500px) {
	.expandoList > p.instructions,
	.expandoList .expandAll {
		display:none;
	}
	.expandoList > p.instructions + div.day {
		/* get rid of border & extra space when hiding instructions */
		border-top:none;
		padding-top:0;
	}
}
@media (max-width:700px) {
	.expandoList.itinerary div.day {
		padding-left:1.75em;
	}
	.expandoList.itinerary div.day span.itinDay {
		margin:0 1em 0 -1.75em;
		width:auto;
		height:auto;
		padding:.25em .75em;
		border-radius:1em;
		line-height:inherit;
		text-align:left;
	}
	.expandoList.itinerary > .item {
		margin-left:1.75em;
	}
}
@media (max-width:600px) {
	.expandoList.itinerary div.day span.itinPlace {
		font-size:1.25em;
	}
}
@media (max-width:500px) {
	.expandoList.itinerary div.day {
		padding-left:0;
	}
	.expandoList.itinerary div.day span.itinDay {
		float:none;
		margin:0 .4em 0 0;
		padding:0;
		border:none;
		background:none;
	}
	.expandoList.itinerary div.day span.itinDay:after {
		content:':';
	}
	.expandoList.itinerary div.day span.itinPlace {
		font-size:1.2em;
	}
	.expandoList.itinerary > .item {
		margin-left:0;
	}
}

/* TOUR & COUNTRY SELECTORS (BYG, terms, visas page, etc.) */
@media screen and (max-width:500px) {
	form.selectorForm {
		flex-flow:row wrap;
		font-size:1em;
	}
}

/* MODALS/FRAMED PAGES */
@media (max-width:600px), screen and (max-height: 600px) {
	/* frameset bar is not really useful on mobile devices and takes up room, so hide it */
	#framesetBar {
		display:none;
	}
}