a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
img { display: block; vertical-align: middle; }
*, *:before, *:after { box-sizing: border-box;  }
html { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-smoothing: antialiased; }

	@font-face{
		font-family:'BentonSans';
		src:url("../fonts/BentonSansBook.woff") format("woff");
		font-weight: 300;
	}

	@font-face {
		font-family:'BentonSans';
		src:url("../fonts/BentonSansRegular.woff") format("woff");
		font-weight: 400;
	}

	@font-face{
		font-family:'BentonSans';
		src:url("../fonts/BentonSansMedium.woff") format("woff");
		font-weight: 500;
	}

	@font-face{
		font-family:'BentonSans';
		src:url("../fonts/BentonSansBold.woff") format("woff");
		font-weight: 700;
	}

	@font-face {
	  font-family: 'Guardian Egyptian Web';
	  src: url('../fonts/GuardianEgyp-Medium-Web.woff') format('woff');
	  font-weight:  500;
	  font-style:   normal;
	  font-stretch: normal;
	}

	@font-face {
	  font-family: 'Guardian Egyptian Web';
	  src: url('../fonts/GuardianEgyp-Regular-Web.woff') format('woff');
	  font-weight:  400;
	  font-style:   normal;
	  font-stretch: normal;
	}

	@font-face {
	  font-family: 'Guardian Egyptian Web';
	  src: url('../fonts/GuardianEgyp-Light-Web.woff') format('woff');
	  font-weight:  300;
	  font-style:   normal;
	  font-stretch: normal;
	}

:root {
	--color-white: #fff;
	--color-blue-dark: #00175a;
	--color-blue-light: #006fcf;
	--color-grey: #e2e2e2;
	--color-dark-grey: #75787B;
	--color-text-alt: #454545;
	--color-alert: #FDB92D;
	--mb: 50px;
}


body {
	background: #f6f6f6;
	font-family: 'BentonSans', 'Helvetica Neue', Helvetica, sans-serif;
	color: #333;
}



.inav-header  [class^="axp-global-header__dls-module__module___"] [class*="axp-global-header__dls-module__navSticky"]  {
	top: -60px !important;
	left: 0 !important;
	position: relative !important;
}

.inav-header { height: 60px; }
	@media all and (max-width: 1123px) { .inav-header { height: 60px; } }


.inav-header:empty { height: 0;}

.greyBG {
	background: var(--color-grey);
	padding: var(--mb) 0;
	margin-bottom: var(--mb);
}

.blueBG {
	background: var(--color-blue-dark);
	padding: calc(1.5 * var(--mb)) 0;
	margin-bottom: var(--mb);
}

.whiteBG {
	background: #fff;
	padding-top: 5%;
}

.wstBG {
	background: #1e2f67 url(../img/world_service_tile-dark.svg);
	padding-bottom: 5%;
	margin-bottom: 40px;
}

section {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

	.section100 { width: 100%; }
	.section1600 { max-width: 1600px; }

/* nav from OptBlue */
.site-header {
	background-color: var(--color-blue-light);
	border-bottom: 1px solid var(--color-white);
	position: -webkit-sticky;
    position: sticky;
	top: 0;
	z-index: 4;
}

	.site-header--container {
		display: flex;
		flex-direction: row;
		height: 50px;
		justify-content: space-between;
		margin: 0 auto;
		position: relative;
		width: 95%;
	}

	.site-header--logo {
		align-self: center;
		color: var(--color-white);
		display: flex;
		flex-direction: row;
		text-decoration: none;
	}

		.site-header--logo img {
			height: auto;
			max-width: 96px;
			width: 100%;
		}

		.site-header--logo span {
			margin-left: 20px;
			padding-left: 20px;
			position: relative;
		}

			.site-header--logo span::before {
				background-color: var(--color-white);
				content: '';
				display: inline-block;
				height: 100%;
				left: 0;
				position: absolute;
				width: 1px;
			}

	.site-header--nav {
		align-items: center;
		display: flex;
	}




.site-header--nav a {
	color: var(--color-white);
	position: relative;
	text-align: center;
	text-decoration: none;
	font-size: calc(1.4rem * .625);
	font-weight: 500;
	padding: 0 15px;
}

	.site-header--nav a:not(:first-child) {
		border-left: 1px solid rgba(255,255,255, .2);
	}
		
			.site-header--nav a.is-active::after {
				background-color: var(--color-white);
				bottom: -4px;
				content: '';
				display: block;
				height: 1px;
				position: absolute;
				width: calc(100% - 30px);
			}

.darkBlueWSTBG {
	background: var(--color-blue-dark) url(../img/world_service_only.svg);
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 500px;
	background-position: 100% 50px;
	height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: var(--mb);
}

	.text-only-hero {
		color: #fff;
		text-align: center;
		margin: 0 auto;
		width: 90%;
	}
	
		.text-only-hero h1 { font-size: clamp(calc(2.8rem * .625), 3.5vw, calc(3.8rem * .625));}
		.text-only-hero p { max-width: 650px; margin: 0 auto; font-size: clamp(calc(1.5rem * .625), 3vw, calc(2rem * .625)); line-height: 1.5em; }

/* home */

.top-hero { padding-top: 0; height: 520px; background: none; position: relative;  }
.top-hero img:not(.svg) { object-position: 100% 0; width: 100%; height: 100%; object-fit: cover;  }

@media (max-width: 1200px) { .top-hero { height: 430px; } }
@media (max-width: 800px) { .top-hero { height: 400px; } }
@media (max-width: 620px) { .top-hero { height: auto; }  }

.top-hero-boxBG {
	margin-bottom: var(--mb);
}

	.top-hero-boxBG-benefits, .top-hero-boxBG-partner { margin-bottom: 0; }

.home-hero-content {
	width: 100%;
	height: 100%;
	max-width: 1200px;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0; right: 0;
}

.home-hero-textBG {
	/* background: url(../img/world_service_tile-white.svg); */
	width: 46%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
}

	.home-hero-text {
		text-align: center;
		background: #fff;
		padding: 5% 12%;
		width: calc(100% - 20px);
	}

	.home-hero-text p {
		font-size: calc(2rem * .625);
		line-height: 1.5em;
		margin-bottom: 1.5em;
	}
	
	.home-hero-text h1 { margin-bottom: .5em;}
	
		.home-hero-text a:not(.btn) { display: block; }

.travel-experts {
	display: flex;
	margin-bottom: var(--mb);
}

.travel-experts-image {
	background-size: cover;
	background-repeat: no-repeat;
	width: 30%;
	background-position: 50%;
}

.travel-experts-text {
	background: var(--color-blue-light);
	text-align: center;
	padding: 40px 50px;
	width: 70%;
	color: #fff;
}

	.travel-experts-text h2 { color: #fff; }
	.travel-experts-text p { margin-bottom: 1.5em; font-size: calc(1.8rem * .625); }
	.travel-experts-text .btn { margin-bottom: 0; }
	
	.travel-experts-phone { color: #fff; text-decoration: none; font-size: calc(3rem * .625);}

.browse-all {
	display: block;
	margin: calc(var(--mb) * -.5) 0 var(--mb) 0;
	text-align: center;
}

.home-benefitsBG {
	background-image: linear-gradient(var(--color-blue-dark),var(--color-blue-dark));
	background-size: 100% calc(100% - 40px);
	background-repeat: no-repeat;
	background-position: 50%;
	position: relative;
	margin-bottom: var(--mb);
}

.home-benefits {
	display: flex;
	align-items: center;
}

.home-benefits-text {
	width: 48%;
	margin-right: 30px;
	color: #fff;
	padding: 6% 0 6% 200px;
}

	.home-benefits-text h2 { color: #fff; }
	.home-benefits-text .btn { margin-bottom: 0; }
	
	.home-benefits-subhead { text-transform: uppercase; font-size: calc(1.6rem * .625); font-weight: 700; margin-bottom: .5em; letter-spacing: 1px; }
	p + .home-benefits-subhead { margin-top: 2em; }
	.home-benefits-text p + .btn { margin-top: 2em; }

.home-benefits-grid {
	width: 50%;
	flex-shrink: 0;
}
	.grid-row {
		display: flex;
		overflow: hidden;
	}

	.grid-row img {
		width: 360px;
		flex-shrink: 0;
	}
	
		.grid-row:nth-child(1) { border-radius: 4px 4px 0 0; }
		.grid-row:nth-child(3) { border-radius: 0 0 4px 4px; }

.pdt-banner { background: #63666A; border-radius: 4px; padding: 20px; display: flex; gap: 20px; margin-bottom: var(--mb); align-items: center; }
.pdt-text { width: 45%; text-align: center; color: #fff; }
	.pdt-head { font-size: calc(3.4rem * .625); margin-bottom: 1em;}
	.pdt-text p { line-height: 1.5em; max-width: 75%; margin: 0 auto 1.5em auto;}
.pdt-image { width: 55%; background-image: linear-gradient(to right, #63666A 0, #63666A 15%, transparent 15%), url(../img/world_service_tile-onBlue.svg);  }
	.pdt-image img { width: 100%; transform: scale(.9); transform-origin: 65% 50%; }

.start-planningBG {
	background: var(--color-blue-light) url(../img/world_service_tile-dark.svg);
	border-radius: 4px;
	padding: 8px;
	border: 1px solid var(--color-blue-dark);
	margin-bottom: var(--mb);
}

	.start-planning {
		background: var(--color-blue-light);
		color: #fff;
		border: 1px solid var(--color-blue-dark);
		border-radius: 4px;
		padding: 45px 0;
	}
		
		.sp-content { width: 80%; margin: 0 auto; }
	
		.sp-head { font-size: calc(3.4rem * .625); margin-bottom: .75em;  }
		
		.sp-call-msg {
			display: flex;
			justify-content: space-between;
		}
		
		.sp-label {
			font-size: calc(1.6rem * .625);
			font-weight: 700;
			text-transform: uppercase;
			margin-bottom: .5em;
			letter-spacing: 1px;
		}
		
		.sp-call {
			font-size: calc(3.4rem * .625);
			flex-shrink: 0;
		}
		
			.sp-call a { color: #fff !important; text-decoration: none; }
			
		.sp-divider {
			width: 1px;
			margin: 0 40px;
			background: #fff;
		}
		
		.sp-msg { display: flex;justify-content: space-between;}
			.spm-text { margin-right: 40px; font-size: calc(1.8rem * .625); line-height: 1.4em; }
			.spm-cta { flex-shrink: 0; }
			.sp-msg .btn { margin-bottom: 0; }

/* benefits */
.top-hero-benefits {
	position: relative;
}

	.top-hero-benefits .top-hero {
		height: 620px;
		margin-bottom: 0;
	}
	
	@media (max-width: 1200px) { .top-hero-benefits .top-hero { height: 500px; } }
	@media (max-width: 800px) { .top-hero-benefits .top-hero { height: 440px; } }
	@media (max-width: 620px) { .top-hero-benefits .top-hero { height: auto; }  }
	
	.top-hero-benefits .text-only-hero { margin-top: -10%; }


.top-hero-overlay {
	width: 100%;
	height: 100%;
	background: rgba(0,23,90,.75);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	z-index: 2;
}

	.top-hero-overlay-wst { background: url(../img/world_service_tile-white.svg); width: 100%; height: 80px; position: absolute; bottom: 0; left: 0;}


.benefits-content {
	background: #fff;
	border-radius: 4px 4px 0 0;
	padding: 50px;
	width: 95%;
	max-width: 1200px;
	margin: -15% auto 0 auto;
	z-index: 3;
	position: relative;
}

.benefits-cols {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: var(--mb);
}

	.benefits-col { width: 47%; }
		.benefits-col-text { padding-left: 80px; background-repeat: no-repeat;  }
	.benefits-col img { width: 100%;border-radius: 4px; }
	.benefits-col h2 { font-size: calc(2.1rem * .625); font-weight: 500; margin-bottom: 1em; }
	.benefits-col p { line-height: 1.7em; font-size: calc(1.8rem * .625);}
	
	.twox { background-image: url(../img/benefits-2x.svg?v=4); margin-top: 40px; }
	.pdv { background-image: url(../img/benefits-pdv.svg?v=4); background-size: 55px; }
	.cpp { background-image: url(../img/benefits-cpp-logo.svg?v=4); }
	
	.benefits-col li { font-size: calc(1.8rem * .625);}


.expertise {  color: #fff; }

.expertise h2 { font-size: clamp(calc(2.4rem * .625), 3.5vw, calc(3.4rem * .625)); color: #fff; margin-bottom: 1em;}

.expertise-cols { 
	display: flex;
	justify-content: space-between;
}

	.exp-col { width: 26%; }
	.exp-head { font-size: calc(1.6rem * .625); font-weight: 700; margin-bottom: .75em; text-transform: uppercase;}
	.exp-col p { font-size: calc(1.7rem * .625); line-height: 1.4em; }
	.exp-col img { height: 50px; margin-bottom: 20px; }

/* partner and single experience */

.partner-wrap { 
	display: flex;
	/* align-items: flex-start; */
	gap: 20px;
	margin-top: -110px;
	position: relative;
}

	.partner-content { 
		width: 100%;
	}
	
		.partner-head {
			height: 110px;
			background: linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.504306) 41.43%, rgba(0, 0, 0, 0.203652) 100%);
			display: flex;
			align-items: center;
			padding-left: 4%;
			color: #fff;
			font-size: clamp(calc(2.4rem * .625), 3.5vw, calc(3.8rem * .625));
			border-top: 3px solid var(--color-blue-dark);
			position: relative;
			padding-bottom: 10px;
			margin-bottom: 0;
			border-radius: 4px 4px 0 0;
			display: flex;
			align-items: center;
			justify-content: space-between;
		}
		
			.partner-head .btn-white { margin-bottom: 0; margin-right: 1.5em;}
		
			.experience-head { display: flex; align-items: center; justify-content: space-between; font-size: clamp(calc(1.8rem * .625), 2.8vw, calc(3rem * .625)); height: auto; min-height: 110px;  }
				
				.experience-head .partner-head-left { padding: .25em 0; }
				.experience-head .btn { margin: 0 1em; margin-bottom: 0; flex-shrink: 0; }
		
			.partner-head::after {
				position: absolute;
				bottom: 0;
				left: 0;
				width: 100%;
				content: '';
				background:url(../img/world_service_tile-white.svg);
				border-top: 1px solid rgba(255,255,255,.7);
				height: 10px;
			}
	
	
		.partner-head-eyebrow {
			width: 100%;
			display: flex;
			font-size: calc(1.3rem * .625);
			font-weight: 500;
			margin-bottom: 5px;
			gap: 20px;
		}
	
			.partner-head-eyebrow-wrap { border-left: 1px solid #fff; padding-left: 1.5em; }
		
		.partner-head-partner {
			text-transform: uppercase;
			color: #fff;
		}
		
		.partner-head-location, .partner-head-ship {
			background:url(../img/dls-icon-location-white.svg) no-repeat;
			background-size: 12px;
			background-position: 0 50%;
			padding-left: 20px; 
		}
		
			.partner-head-ship {background-image:url(../img/ship-icon-white.svg); margin-top: 4px; }
		
		.partner-head-label {
			background: var(--color-blue-dark);
			color: #fff;
			padding: .5em 1em;
			font-size: calc(1.3rem * .625);
			position: absolute;
			top: -30px;
			left: 0;
			border-radius: 2px 2px 0 0;
		}
	
		.partner-text, .experience-text {
			background: #fff;
			padding: 4% 12% 4% 4%;
			border-left: 1px solid #DEDEDE;
		}
			
			.experience-text { padding: 4% 0 0 0; }
		
		
			.partner-text h2 { font-weight: 500; font-size: calc(2.4rem * .625); }
			.partner-text p, .experience-text p { font-size: calc(1.8rem * .625); line-height: 1.8em;  }
			.experience-content {padding: 0 12% 0 4%;  }
	
		.cards-partner-page { padding: 0 6% 40px 4%; background: #fff; border-left: 1px solid #DEDEDE;}
	
	.experience-summary {
		display: flex;
		gap: 20px;
		padding-bottom: 1em;
		padding-left: 4%;
		padding-right: 4%;
		margin-bottom: 4%;
		border-bottom: 1px solid #DEDEDE;
	}
	
		.es-col:last-of-type { border-left: 1px solid #dedede; padding-left: 20px;}
	
	.es-head { font-weight: 500; font-size: calc(1.8rem * .625); margin-bottom: .25em; }
	.es-text { font-size: calc(1.5rem * .625); line-height: 1.3em; }

	.experience-tags {
		border-top: 1px solid #dedede;
		padding: 20px 4%;
		display: flex;
		gap: 15px;
		flex-wrap: wrap;
	}
	
	.brought-to-you-by {
		background: #F8F8F8;
		border: 1px solid #E2E2E2;
		padding: 30px 4%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: 15px;
	}
	
		.btyb-text { text-transform: uppercase; font-size: calc(1.4rem * .625); font-weight: 500; color: #585858; line-height: 1.5em; }
		.brought-to-you-by img { max-width: 200px;  }
		.brought-to-you-by .btn { margin-bottom: 0; flex-shrink: 0;  }
		
	.experience-also-cards { 
		background: #fff;
		padding: calc(var(--mb) * .5);
	}
	
	.partner-sidebar {
		width: 300px;
		flex-shrink: 0;
		/* position: sticky;
		align-self: start; */
		top: 55px;
		margin-right: 15px;
	}
	
		.sidebar-head {
			background: var(--color-blue-dark);
			border: 1px solid var(--color-blue-dark);
			padding: 1em;
			font-size: calc(1.3rem * .625);
			font-weight: 700;
			color: #fff;
			text-align: center;
			border-radius: 4px 4px 0 0;
			text-transform: uppercase;
		}
		
		.sidebar-content {
			border-left: 1px solid #EDECEC;
			border-right: 1px solid #EDECEC;
			border-bottom: 1px solid #EDECEC;
			border-radius: 0 0 4px 4px;
			padding: 20px;
			background: #fff;
			margin-bottom: 20px;
		}
		
			.sc-head { font-size: calc(1.8rem * .625); font-weight: 500; margin-bottom: .75em; color: var(--color-text-alt);}
				.sc-head-all-caps { font-size: calc(1.4rem * .625); font-weight: 700; text-transform: uppercase; }
			.sidebar-content p { font-size: calc(1.4rem * .625); line-height: 1.4em; color: var(--color-text-alt); margin-bottom: 0; }
			.sc-tel { display: block; font-size: calc(2.2rem * .625); color: inherit; text-decoration: none; margin-bottom: .5em; padding-bottom: .5em; border-bottom: 1px solid #EDECEC; }
		
			.sidebar-content p + .btn { margin-top: 1em; }
			
			.sidebar-content ul { margin-top: 1em; margin-bottom: 1.5em;  }
			.sidebar-content li { font-size: calc(1.4rem * .625); margin-bottom: .5em; }
						
		.sidebar-stick {
			position: sticky;
			top: 85px;
			align-self: flex-start;
			margin-bottom: 15px;
		}

/* experiences */

.experiencesBG {
	background: #fff;
	padding: 40px 40px 20px 40px;
}

.experienceH1 { font-size: clamp(calc(1.8rem * .625), 2.8vw, calc(3rem * .625)); margin-bottom: 0;}

.tag-groups {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 20px;
	padding-bottom: var(--mb);
}

	.tag-groups h2 { width: 100%; }
	
	.tag-group-button {
		text-transform: uppercase;
		background: #fff;
		border: 1px solid var(--color-blue-dark);
		border-radius: 3px;
		box-shadow: 0px 8px 8px rgba(0, 0, 0, 0.05);
		font-size: calc(1.4rem * .625);
		font-weight: 500;
		padding: 1em 1em 1em 40px;
		text-decoration: none;
		color: var(--color-blue-dark);
		transition: all .125s;
		background-repeat: no-repeat;
		background-size: 26px;
		background-position: 7px 50%;
	}
	
	.traveler-profile { background-image:url(../img/traveler-profile.svg); }
	.partner-packages { background-image:url(../img/partner-packages.svg); }
	.the-natural-world { background-image:url(../img/the-natural-world.svg); }
	.epicurean { background-image:url(../img/epicurean.svg); background-size: 18px; }
	.guided-outings { background-image:url(../img/guided-outings.svg); }
	.on-the-water { background-image:url(../img/on-the-water.svg); }
	.on-the-road { background-image:url(../img/on-the-road.svg); }
	.culture-and-creativity { background-image:url(../img/culture-and-creativity.svg); }
	.up-in-the-air { background-image:url(../img/up-in-the-air.svg);  background-size: 22px; }
	.join-in { background-image:url(../img/join-in.svg); }
	.explore-the-sites { background-image:url(../img/explore-the-sites.svg); }
	
	.tag-group-button:hover { transform: translateY(-5px); box-shadow: 0px 12px 12px rgba(0, 0, 0, 0.1); }

/* contact */

.form-head-wrap {
	display: flex;
	align-items: center;
	gap: 30px;
	max-width: 1000px;
	margin: 0 auto;
}

	.fh-call {
		font-size: calc(1.5rem * .625);
		font-weight: 700;
		text-transform: uppercase;
		flex-shrink: 0;
		color: var(--color-blue-dark);
	}
	
		.fh-call a { text-decoration: none; font-weight: 400; font-size: calc(3.4rem * .625); color: inherit; display: block; margin-top: 10px;}
		.fh-text { font-size: calc(2rem * .625); line-height: 1.5em; max-width: 650px; color: var(--color-blue-dark); border-left: 1px solid var(--color-blue-dark); padding-left: 30px; }

.formBG {
	background: var(--color-blue-dark);
	padding: 0 4%;
	border-radius: 4px 4px 0 0;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 0 auto;
	min-height: 400px;
}

	.form-head {
		background:var(--color-blue-dark);
		height: 60px;
		color: #fff;
		text-align: center;
		max-width: 1000px;
		margin: 5% auto 0 auto;
		border-radius: 4px 4px 0 0;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		padding-bottom: 10px;
		font-size: calc(2.5rem * .625);
		font-family: 'Guardian Egyptian Web';
		text-align: center;
	}
	
	.form-cols {
		border-top: 1px solid #fff;
		max-width: 900px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding: 30px 0;
		color: #fff;
	}
	
		/* .form-cols:last-child {
			justify-content: center;
		}
		*/
	
		.form-col { width: 50%; }
		.form-col:first-child {
			width: 40%;
			
		}
		
			.form-col-head { font-size: calc(2.5rem * .625); font-family: 'Guardian Egyptian Web'; margin-bottom: .75em; }
			.form-col p { line-height: 1.4em;}
			.form-col-details { font-size: calc(1.6rem * .625);}
			
			.form-fields-cols { columns:2 auto; padding: 0 0 1.5em 0; }
				.form-fields-cols .cLabel { font-size: calc(1.5rem * .625); letter-spacing: 0; }
	
	.form-label {
		color: #fff;
		font-size: calc(1.4rem * .625);
		letter-spacing: 1px;
		display: block;
		margin-bottom: 8px;
		text-transform: uppercase;
		font-weight: 500;
	}
	
		.form-label + .labelSet { margin-top: 6px; }
		.form-label + p { font-size: calc(1.4rem * .625); padding-left: 1em; border-left: 1px solid #fff; margin-bottom: 1em; line-height: 1.4em; margin-left: 4px;}


	.conditional { margin: 0 0 1em .75em; padding-left: .75em; border-left: 1px solid #fff; }

.textEntry {
	font-size: 16px;
	padding: .85em;
	display: block;
	margin-bottom: 1.3em;
	border-radius: 3px;
	background: #fbfbfb;
	-webkit-appearance: none;
	border: 0;
	width: 100%;
}

.textEntry:focus, .textArea:focus {
	background: #fff;
}

.textArea {
	-webkit-appearance: none;
	appearance: none;
	background: #fbfbfb;
	border-radius: 3px;
	font-size: 16px;
	font-family: "Helvetica",sans-serif;
	width: 100%;
	padding: .5em;
	margin-bottom: 1em;
}

.labelSet {
	margin-bottom: .5em;
	display: flex;
	flex-direction: column;
	padding-left: 4px; 
	position: relative;
}

.labelSet.yesno { flex-direction: row; margin-bottom: 22px;}

.labelSet.yesno .rLabel { margin-right: 30px; }

/* https://moderncss.dev/pure-css-custom-styled-radio-buttons/ */
/* https://moderncss.dev/pure-css-custom-checkbox-style/ */
.rLabel, .cLabel {
	cursor: pointer;
	position: relative;
	text-transform: none;
	font-weight: 400;
	font-size: calc(1.6rem * .625);
	margin-bottom: .5em;
	/* margin-right: 2em; */
	display: grid;
	grid-template-columns: 1.3em auto;
	gap: 0.5em;
}

	.cLabel + .form-label { margin-top: 1.5em; }

	.radio {
		-webkit-appearance: none;
		appearance: none;
		background-color: #fff;
		margin: 0 5px 0 0;
		font: inherit;
		color: currentColor;
		width: 1.25em;
		height: 1.25em;
		border-radius: 50%;
		display: grid;
		place-content: center;
	}
	
	.radio::before {
		content: "";
		width: 0.85em;
		height: 0.85em;
		border-radius: 50%;
		transform: scale(0);
		transition: 80ms transform ease-in-out;
		background: var(--color-blue-light);
	}

.radio:checked::before {
  transform: scale(1);
}

.checkbox:checked::before {
  transform: scale(1);
}

	.checkbox {
		-webkit-appearance: none;
		appearance: none;
		background-color: #fff;
		font: inherit;
		color: currentColor;
		width: 1.1em;
		height: 1.1em;
		display: grid;
		place-content: center;
		border-radius: 2px;
	}
	
	.checkbox:checked::before {
		content: "";
		width: 0.85em;
		height: 0.85em;
		transition: 120ms transform ease-in-out;
		box-shadow: inset 1em 1em var(--color-blue-light);
		transform-origin: bottom left;
  		clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  	}
  	
  	.cbBorder { border: 1px solid var(--color-blue-light); }

.err-box {
	background: var(--color-alert);
	padding: .5em;
	text-align: center;
	margin-bottom: 1em;
	color: #333;
	font-size: calc(1.4rem * .625);
	font-weight: 500;
}

.req { color: var(--color-alert); }

.hiddenRadio { display: none; }

.select-css {
	display: block;
	font-size: 16px;
	font-family: sans-serif;
	color: #444;
	line-height: 1.3;
	padding: .6em 1.8em .5em .8em;
	width: 100%;
	max-width: 100%; 
	box-sizing: border-box;
	margin-bottom: 1.3em;
	border: 1px solid #aaa;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
	border-radius: 2px;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: right .7em top 50%;
	background-size: .65em auto;
}
.select-css::-ms-expand {
	display: none;
}
.select-css:hover {
	border-color: #888;
}
.select-css:focus {
	border-color: #aaa;
	box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
	box-shadow: 0 0 0 3px -moz-mac-focusring;
	color: #222; 
	outline: none;
}
.select-css option {
	font-weight:normal;
}

.thanks {
	background: #fff;
	text-align: center;
	padding: 40px 0;
}

	.thanks p { font-size: calc(1.8rem * .625); max-width: 700px; margin: 0 auto; line-height: 1.6em;}

/* mad footer */

.mad-footer {
		display: flex;
		width: 100%;
		max-width: 1200px;
		align-items: center;
		margin: 0 auto;
	}
	
	.mad-footer-image {
		width: 66.666%;
		aspect-ratio: 800 / 560;
		background-size: contain;
		background-repeat: no-repeat;
		flex-shrink: 0;
		border-radius: 4px;
		position: relative;
	}
		
	.mad-footer-content {
		border: 1px solid var(--color-blue-dark);
		min-height: 200px;
		width: 100%;
		margin-left: -15%;
		background: #fff;
		border-radius: 4px;
		text-align: center;
		position: relative;
		z-index: 2;
	}
	
		.mfc-wst {
			background: var(--color-blue-dark) url(../img/world_service_tile-onBlue.svg);
			text-transform: uppercase;
			color: #fff;
			letter-spacing: 1px;
			font-size: calc(1.4rem * .625);
			font-weight: 700;
			text-align: center;
			padding: .75em 0;
		}
		
		.mad-footer-text {
			padding: 0 30px 20px 30px;
		}
		
		.mad-footer-logo {
			width: 200px;
			margin: 30px auto;
			max-height: 100px;
		}
		
		.mad-footer-head {
			font-size: clamp(calc(2rem * .625), 3.5vw, calc(3.8rem * .625));
			color: var(--color-blue-dark);
			line-height: 1.2em;
			margin-bottom: .5em;
		}

		.mad-footer-content p {
			font-size: clamp(calc(1.3rem * .625), 2.5vw, calc(1.5rem * .625));
			margin-bottom: 1.5em;
			line-height: 1.5em;
		}
		
		.partner-logo-on-image { position: absolute; top: 10px; left: 10px; background-color: #fff; width: 180px; padding: 5px;}
		.amex-travel-logo { margin: 30px auto; width: 70%; }
		

/* cards */

.cards {
	display: flex;
	justify-content: space-between;
	margin-bottom: var(--mb);
	flex-wrap: wrap;
	gap: 20px 0;
}

	.cards-indent { margin: 0 30px; padding-bottom: var(--mb); }

.card, .card-empty {
	border-radius: 3px;
	box-shadow: 0px 8px 8px rgba(0, 0, 0, 0.05);
	padding: 8px;
	border: 1px solid var(--color-blue-dark);
	background: #fff;
	display: block;
	text-decoration: none;
	position: relative;
	transition: .125s;
	width: 32%;
}

	.cards-partner-page .card { width: 49%; }

	.card-title::before {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		content: '';
	}

	.card-image { position: relative; }
		.card-image img { object-fit: cover; aspect-ratio: 36 / 22; width: 100%; object-position: 50%; }
		.card-label { position: absolute; bottom: 10px; right: 10px; background: #fff; padding: .5em 1em; font-size: calc(1.3rem * .625); border-radius: 2px; }

	.card-text { padding: 15px; display: flex; flex-direction: column; }

	.card-experience-partner { text-transform: uppercase; color: var(--color-blue-dark); font-size: calc(1.2rem * .625); margin-bottom: 5px; font-weight: 500; }
	.card-title { color: #333; text-decoration: none; display: block; letter-spacing: 1px; font-size: calc(2rem * .625); line-height: 1.2em; margin-bottom: .5em; }
	.card-experience-location, .card-subhead, .card-experience-ship { margin-bottom: 2em; font-size: calc(1.4rem * .625); padding-left: 16px; background: url(../img/dls-icon-location-filled.svg) no-repeat 0 50%; background-size: 10px; background-position: 0 2px; min-height: 14px; line-height: 1.4em;}
		.card-subhead { background: none; padding-left: 0; }
	
	.card-experience-location + .card-experience-ship { margin-bottom: 1em; margin-top: -1.75em; }
	
		.card-experience-ship { background-image: url(../img/ship-icon.svg); background-size: 12px; background-position: 0 4px;}
	
		.card:hover { transform: translateY(-5px); box-shadow: 0px 12px 12px rgba(0, 0, 0, 0.1); }

.card-partner {
	display: flex;
	flex-direction: column;
	border: 1px solid #EDECEC;
}

	.card-partner .card-image { margin-top: auto;}
	.card-partner .card-title { letter-spacing: 0; text-align: center; font-size: calc(1.6rem * .625); }
	.card-partner:empty { border: 0; width: 32%; height: 0; padding: 0; box-shadow: none; }

.card-partner-logo {
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
	width: 80%;
	height: 40px;
	margin: 0 auto 20px auto;
}

.card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 15px;
	position: relative;
	z-index:2;
	margin-top: auto;
	align-items: center;
}

	.show-more-tags { font-weight: 700; font-size: calc(1.2rem * .625); text-transform: uppercase; }

.card-tag {
	background: #f6f6f6;
	border: 1px solid #ededed;
	padding: 6px 16px;
	font-size: calc(1.3rem * .625);
	color: #333;
	border-radius: 20px;
	transition: .125s;
}

	.card-tag:hover { background: var(--color-blue-light); color: #fff; }
	.card-tag-on { background: var(--color-dark-grey); color: #fff; }

.card-empty:empty { border: 0; background: none; height: 0; box-shadow: none; }

.tagGroup-tags {
	margin-top: 2em;
	display: flex;
	align-items: flex-end;
}
	.tagGroup-tags-only { display: flex; flex-wrap: wrap; gap: 8px; margin-right: 1em; }
	.card-count { margin-left: auto; text-transform: uppercase; font-size: calc(1.4rem * .625); color: var(--color-dark-grey); font-weight: 500; flex-shrink: 0;}

.card-filters { 
	display: flex;
	gap: 15px;
	margin-bottom: 2em;
}

.legal { padding-bottom: var(--mb); }

.legal p, .footnotes p, .legal li {
	font-family: 'Helvetica Neue', Helvetica, sans-serif;
	font-size: calc(1.2rem * .625);
	line-height: 1.4em;
}

	.legal ul { margin: 1em;}
	.legal li { list-style: disc; margin-bottom: .25em;}

.dll {
	width: 90%;
	max-width: 520px;
	padding: 50px 0;
	margin: 0 auto;
}

.dllBG {
	background: #fff;
	border-bottom: 1px solid #ccc;
}

.btn {
	-webkit-appearance: none;
	appearance: none;
	background: var(--color-blue-light);
	padding: 1em 2.5em;
	display: inline-block;
	margin-bottom: 1em;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	border: 0;
	font-size: calc(1.6rem * .625);
	cursor: pointer;
	font-weight: normal;
}

	.btn:hover { text-decoration: underline;}
	
	.btn-clear { border: 1px solid #fff; background: transparent; }

	.btn-white { background: #fff; color: #333; }

.photo-with-tag {
	position: relative;
}

	.photo-with-tag .photo-link-tag { right: 20px; }
	.photo-with-tag .photo-link-tag span  { border: none; margin-right:0; padding-right: 0; }
	.photo-with-tag-reverse .photo-link-tag { right: auto; left: 20px; }

.photo-link-tag {
	text-decoration: none;
	position: absolute;
	bottom: 20px;
	right: 0;
	background: rgba(0,0,0,.7);
	padding: 1em;
	color: #fff;
	font-size: calc(1.2rem * .625);
	z-index: 3;
}

	.photo-link-tag span { text-transform: uppercase; font-weight: 500; font-size: calc(1.1rem * .625); display: inline-block; padding-right: 10px; margin-right: 10px; border-right: 1px solid #fff; }

	.photo-link-tag a { color: #fff; text-decoration: none; }

	.mad-footer-image .photo-link-tag {
		left: 20px; right: auto;
	}
	
	.mad-footer-image .photo-link-tag:empty { display: none; }

h1 {
	font-size: calc(3.8rem * .625);
	font-weight: 400;
	margin-bottom: .75em;
}

h2, .seoH1 {
	font-size: calc(3.4rem * .625);
	color: var(--color-blue-dark);
	margin-bottom: .75em;
	font-weight: 400;
}

	.narrowH2 { max-width: 1000px; margin-left: auto; margin-right: auto; font-weight: 400;}

h3 { font-size: calc(1.8rem * .625); font-weight: 500; margin-bottom: .75em; }

p {
	line-height: 1.3em;
	margin-bottom: 1em;
}

	.fineprint { font-size: calc(1.4rem * .625) !important; }
	p.fineprint-legal { font-family: "Helvetica",sans-serif; font-size: calc(1.2rem * .625); margin-top: 1.5em;}

a { color: var(--color-blue-light); }

sup {
	height: 0;
	line-height: 1;
	vertical-align: baseline;
	_vertical-align: bottom;
	position: relative;
	font-size: 66%;
}

sup {
	top: -1ex;
}

ul {
	list-style: disc;
	margin-left: 1em;
}

	.actUL li { margin-bottom: 1em;}

strong { font-weight: 500;}

.display-none {
	display: none;
}

.hide-mobile {
	display: none;
}

.hide-desktop {
	display: block;
}

#mainContent:focus {
	outline: 5px auto -webkit-focus-ring-color !important;
}

@media (min-width: 1025px) {
	.site-header--container { height: 50px; max-width: 1200px; padding: 0; }
}

@media all and (max-width: 1600px) {
	.home-benefits-text { padding-left: 5%; }
}


@media all and (max-width: 1200px) {
	.home-hero-text { padding: 20px 30px;}
		.home-hero-text p { letter-spacing: 0; font-size: calc(1.6rem * .625);}
		.home-hero-text h1 { margin-bottom: .3em; font-size: calc(3rem * .625);}
		
	.cards.cards-partner-page { flex-direction: column; gap: 20px; }
	.cards.cards-partner-page .card { width: 100%; display: flex;}
	.cards.cards-partner-page .card-image { flex-shrink: 0; width: 30%; }
	.cards.cards-partner-page .card-title { letter-spacing: 0; }

}

@media all and (max-width: 1030px) {
	.sp-call-msg, .sp-msg { flex-direction: column; text-align: center; }
	.sp-call-msg { gap: 15px; }
	.sp-head { text-align: center;}
	.spm-text { margin-right: 0; margin-bottom: 40px;}
	
	.benefits-col-text { padding-left: 0; padding-top: 70px; }
	
	.cards.cards-partner-page { padding: 15px 15px 40px 15px; }
	.partner-text{ padding: 30px 30px 1px 30px;}
	.cards.cards-partner-page .card { width: 100%; flex-direction: column; max-width: 400px; }
	.cards.cards-partner-page .card-image { width: 100%; }
}

@media (max-width: 970px) {
	.site-header--logo span { font-size: calc(1.4rem * .625); margin-left: 10px; padding-left: 10px;}
	.site-header--nav a { font-size: calc(1.3rem * .625); }
}

@media (max-width: 860px) {
	.site-header--nav a:not(:first-child) { border-left: 0; }
	.site-header--nav a.is-active::after { bottom: -2px; width: 100%; }

	.home-hero-textBG { width: 60%;}

	.pdt-banner { flex-direction: column-reverse; }
	.pdt-text { width: 100%; }
		.pdt-head { margin-bottom: .5em; line-height: 1.1em; }
		.pdt-text p { max-width: 100%; }
	.pdt-image { width: 100%; max-width: 600px; background: none; }
		.pdt-image img { transform: scale(1); }
	
	.cards { flex-direction: column; gap: 20px; }
	.card { width: 100%; display: flex; align-items: center; }
	.card-image { flex-shrink: 0; width: 30%; }
		.card-image img { aspect-ratio: 1 / 1; }
	.card-title { letter-spacing: 0; }
	.card-partner { flex-direction: row-reverse; justify-content: flex-end;}
		.card-partner .card-text { width: 100%; }
	
	.travel-experts { flex-direction: column; }
	.travel-experts-image { aspect-ratio: 3 / 1; width: 100%;}
	.travel-experts-text { width: 100%; padding: 20px 25px;}
		.travel-experts-text h2 { font-size: calc(2.6rem * .625);}
		.travel-experts-text p { font-size: calc(1.5rem * .625); }
		
	.home-benefits { flex-direction: column-reverse; }
	.home-benefits-grid { width: 100%; }
	.grid-row:nth-child(2) { display: none; }
	.grid-row:nth-child(3) { display: none; }
	.grid-row img { width: 300px; height: auto; }
	.home-benefits-text { width: 100%; margin-right: 0; padding-right: 5%; padding-top: 40px; padding-bottom: 50px; }
	.home-benefits-subhead { font-size: calc(1.4rem * .625);}
	
	.blueBG { padding: 20px 0px;}
	.expertise-cols { flex-direction: column; gap: 20px 0; }
	.exp-col { width: 100%; }
	
	.fh-text { font-size: calc(1.5rem * .625);}
	
	.partner-wrap { flex-direction: column; }
	.cards.cards-partner-page { flex-direction: column; gap: 20px; margin-bottom: 0;  }
	.cards.cards-partner-page .card { width: 100%; display: flex; max-width: 100%; flex-direction: row; }
	.cards.cards-partner-page .card-image { flex-shrink: 0; width: 30%; }
	.cards.cards-partner-page .card-title { letter-spacing: 0; }
	
	.partner-sidebar { width: 95%; margin: 0 auto; }
	
	
	h2 { font-size: calc(2.3rem * .625);}
	p { font-size: calc(1.4rem * .625);}
}

@media (max-width: 750px) {
	.section100-mobile { width: 100%; }
	.mad-footer { flex-direction: column;}
		.mad-footer-image { width: 100%; aspect-ratio: 3 / 1; background-size: cover; background-position: 50%; border-radius: 0; }
		.mad-footer-content { margin-left: 0; width: 85%; margin-top: -40px; }
		.mad-footer-image .photo-link-tag { left: auto; right: 0; bottom: auto; top: 0; }
		
	.darkBlueWSTBG { background-size: 350px; background-position: 100% 120px; }
	
	.benefits-content { padding: 30px; margin-top: -5%; }
	.benefits-col:not(.benefits-col-text) { display: none; }
	.benefits-col { width: 100%; }
	.top-hero-overlay-wst { height: 20px;}
	
	.card-filters { flex-direction: column;}
}

@media (max-width: 620px) {
	.home-hero-textBG { display: contents; }
	.home-hero-content { position: relative;}
	.home-hero-text { width: 100%; }
	.photo-link-tag { top: -40px; bottom: auto; }
	
	.card { display: block; max-width: 530px; margin: 0 auto; }
	.card-image { width: 100%; }
		.card-image img { aspect-ratio: 16 / 9; }
	
	.start-planning { padding: 20px 0; }
	.sp-content { width: 90%; }
	.sp-head { font-size: calc(3.0rem * .625);}
	.spm-text { font-size: calc(1.5rem * .625);}
	
	.form-head { font-size: calc(2rem * .625);}
	.form-head-wrap { flex-direction: column; gap: 10px; }
	.fh-call, .fh-text { text-align: center; }
	.fh-text { text-align: center; padding-left: 0; border: 0; font-size: calc(1.4rem * .625);}
	.form-cols { flex-direction: column; }
		.form-col { width: 100% !important; }
		
	.cards.cards-partner-page { padding: 15px 15px 40px 15px; }
	.partner-text{ padding: 30px 30px 1px 30px;}
	.cards.cards-partner-page .card { width: 100%; flex-direction: column; max-width: 400px; }
	.cards.cards-partner-page .card-image { width: 100%; }

	.partner-head { height: auto; background: #333; border-radius: 0; min-height: auto; padding: 10px 0 20px 4%; }
	.partner-wrap { margin-top: -70px; }
		.experience-wrap { margin-top: 0; }
	.partner-text p { font-size: calc(1.6rem * .625);}

	.narrowH2 { text-align: center; font-weight: 500;}
	
	.tag-group-button { font-size: calc(1.2rem * .625); padding: .75em .75em .75em 30px;}
	
	.experience-content { padding: 0 4%; }
	.experience-summary { margin-bottom: 1em; }
	.partner-text p, .experience-text p { font-size: calc(1.5rem * .625);}
	
	.btn-white { font-size: calc(1.4rem * .625); padding: .5em 1.25em;}
	
	.es-head { font-size: calc(1.4rem * .625); font-weight: 700; }
	.es-text { font-size: calc(1.3rem * .625);}
}

/* Mobile navigation */
@media (max-width: 860px) {
	.site-header--container { align-items: center; height: 60px; }
	.site-header--logo { font-size: calc(1.4rem * .625); line-height: 1.2; }
		.site-header--logo img { max-width: 81px; }
		.site-header--logo span { margin-left: 10px; max-width: 150px; padding-left: 10px; }
	.site-header--nav { align-items: flex-start; background-color: var(--color-blue-light); flex-direction: column; height: auto; opacity: 0; padding: 15px 0 0 0;  position: absolute; right: 0; top: 61px; transition: all 0.2s ease; visibility: hidden; z-index: -1; }
		.site-header--nav a {  display: block; margin: 0 15px 20px 0; padding: 2px 0 0 15px; text-align: left;  width: calc(100% - 20px); height: auto; }
			.site-header--nav a:not(:last-child)::before { display: none; }
			.site-header--nav a.is-active::after { bottom: -2px; }
	.nav-open { align-items: center; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 3px; cursor: pointer; display: flex; height: 40px; justify-content: center; transition: transform 0.6s ease; width: 40px; z-index: 9999; }
	.arrow { display: inline-block; height: .55rem; margin-top: 6px; position: relative; width: 1.25rem; }
	  .arrow span { background-color: var(--color-white); display: inline-block; height: 0.1rem; position: absolute; top: 0; transition: all 0.2s ease; width: 0.75rem; }
	  .arrow span:first-of-type { left: 0; transform: rotate(45deg); }
	  .arrow span:last-of-type { right: 0; transform: rotate(-45deg); }
	  .arrow.is-active span:first-of-type { transform: rotate(-45deg); background-color: var(--color-blue-light); }
	  .arrow.is-active span:last-of-type { transform: rotate(45deg); background-color: var(--color-blue-light); }
	#nav-mobile:checked~.nav-open { background-color: var(--color-white); }
	#nav-mobile:checked~.site-header--nav {  opacity: 1; visibility: visible; z-index: 100; }
}

.hideMe { display: none; }

