/*
	(c)2019 - visuallizard.com

	General styles.
	Template, view, plugin and element specific, etc.
*/


.page-title {
	margin-top: 0;
}
	.home .page-title {
		display: none;
	}

main img {
	max-width: 100%;
	height: auto;
}
.more a {
	position: relative;
}
.more a:after {
	content: '';
	display: inline-block;
	vertical-align: text-bottom;
	margin-left: .25em;
	width: 1.2em;
	height: 1.2em;
	background-image: url(../img/icon-arrow-right-circle.svg);
	transition: transform .2s;
}
.more a:hover:after {
	transform: translateX(5px);
}

/* general link styles */
.primary a:not(.button) {
	font-weight: 600;
	color: inherit;
	box-shadow: inset 0 -2px 0 #c49104;
	transition: all .2s ease-out;
}
.primary a:not(.button):hover {
	color: inherit;
	background-color: #c49104;

	box-shadow: none;
	padding: 0 .2em;
	margin: 0 -.2em;
}

/* undo box-shadow and other classes on link if it has a class .no-bs injected by JS based on image presence inside. */
.primary a.no-bs,
.primary a.no-bs:hover {
	box-shadow: none;
	margin: unset;
	padding: unset;
	background-color: unset;
}


/* buttons for Cargo Rates */
.table-wrap .button {
	width: 100%;
	min-height: 4em;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Check-In times tabel */
.check-in-times-table th { width: 25%; font-size: 70%; }



/* Datepicker JS fallback */
.ui-datepicker .ui-datepicker-calendar th {
	border-radius: 0;
}


/* Custom Forms */

/*
.no-labels label  {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
	.no-labels .fm-datepicker label,
	.no-labels .fm-radio label,
	.no-labels .fm-checkbox label {
		clip: auto;
		height: auto;
		margin: initial;

		overflow: visible;
		position: static;
		width: auto;
	}


.no-labels .required {
	position: relative;
}
.no-labels .required:after {
	content: " *";
	position: absolute;
	left: .25rem;
	top: 0rem;
	opacity: .25;
	font-size: 80%;
}
*/
.fm-form {

}
.fm-form > .cke {
	width: 100%;
}

.feedback-form .fm-form,
.corporate-travel-form .fm-form,
.agent-registration-form .fm-form,
.group-travel-form .fm-form,
.family-plan-request-form .fm-form,
.beneficiary-travel-form .fm-form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* Feedback Form */
.feedback-form [class^="input-"] {
	width: calc(50% - 1rem);
}
.feedback-form [class^="input-"]:nth-child(2),
.feedback-form [class^="input-"]:nth-child(3),
.feedback-form [class^="input-"]:nth-child(4) {
	width: calc(33.33% - 1rem);
}

/* Corporate Travel form */
.corporate-travel-form [class^="input-"] {
	width: calc(50% - 1rem);
}
.corporate-travel-form [class^="input-"]:nth-child(8) {
	width: 100%;
}
.corporate-travel-form [class^="input-"]:nth-child(9),
.corporate-travel-form [class^="input-"]:nth-child(10),
.corporate-travel-form [class^="input-"]:nth-child(11) {
	width: calc(33.33% - 1rem);
}

/* Agen Registration form */
.agent-registration-form [class^="input-"] {
	width: calc(50% - 1rem);
}
.agent-registration-form [class^="input-"]:nth-child(1),
.agent-registration-form [class^="input-"]:nth-child(2),
.agent-registration-form [class^="input-"]:nth-child(3),
.agent-registration-form [class^="input-"]:nth-child(4),
.agent-registration-form [class^="input-"]:nth-child(5),
.agent-registration-form [class^="input-"]:nth-child(6),
.agent-registration-form [class^="input-"]:nth-child(7),
.agent-registration-form [class^="input-"]:nth-child(8),
.agent-registration-form [class^="input-"]:nth-child(9),
.agent-registration-form [class^="input-"]:nth-child(10) {
	width: calc(33.33% - 1rem);
}

/* Group Travel  */
.group-travel-form [class^="input-"] {
	width: calc(50% - 1rem);
}

/* Family Travel */
.family-plan-request-form [class^="input-"] {
	width: calc(33.33% - 1rem);
}
.family-plan-request-form [class^="input-email"] {
	width: calc(66%);
}
.family-plan-request-form [class^="input-email"] ~ [class^="input-"] {
	width: calc(50% - 1rem);
}

/* Beneficiary Travel */
.beneficiary-travel-form [class^="input-"] {
	width: calc(50% - 1rem);
}
.beneficiary-travel-form [class^="input-select  fm-checkbox"] {
	width: 60%;
}

.fm-form [id^="repeating-section-"],
.fm-form [class^="input-textarea"] {
	width: 100%;
}


/* ! Hero Section */
.hero-section {
	position: relative;
	background: url(../img/hero-placeholder.jpg) center center no-repeat #ccc;
	background-size: cover;
	/* min-height: calc(100vh - 33px); /* .site-header and .site-top */
	min-height: 80vh;
	display: flex;
}
	.hero-video {
		position: absolute;
		width: 100%;
		height: 100%;
		margin: 0;
		overflow: hidden;
	}
		.hero-video iframe {
			max-width: none;
			position: absolute;

			height: 56.25vw;
			left: 50%;
			min-height: 100%;
			min-width: 100%;
			transform: translate(-50%, -50%);
			position: absolute;
			top: 50%;
			width: 177.77777778vh;
			background: #ccc !important;
			animation: none !important;
		}

	.hero-container {
		display: flex;
		justify-content: space-between;
		align-content: center;
		align-self: center;
		flex-grow: 1;
		padding-top: 90px; /* compendation for sticky header */
		padding-top: 20px; /* compendation for sticky header */
		padding-bottom: 20px;
	}
		.hero-container > * {
			max-width: 600px;
		}

.intelisys-forms {
	margin: auto;
	max-width: 550px;
	min-height: 500px;
	border-radius: 5px;
	background-color: #fff;
}
	.intelisys-forms:only-child {
		margin-left: 0; /* keep to the left even if there is no content on right side */
	}
	.intelisys-forms p,
	.intelisys-forms label {
/* 		color: #c9c9c9; */
	}
	.ias-search-widget.prestyled .passengerCount,
	.ias-search-widget.prestyled input[type="email"],
	.ias-search-widget.prestyled input[type="number"],
	.ias-search-widget.prestyled input[type="password"],
	.ias-search-widget.prestyled input[type="search"],
	.ias-search-widget.prestyled input[type="tel"],
	.ias-search-widget.prestyled input[type="text"],
	.ias-search-widget.prestyled input[type="url"],
	.ias-search-widget.prestyled select,
	.ias-search-widget.prestyled textarea {
		background-color: #f5f5f5 !important;
		border-width: 1px !important;
	}

	.intelisys-header {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 1rem;

		border-top-left-radius: 4px;
		border-top-right-radius: 4px;
		overflow: hidden;

		padding: 20px 30px 0;
	}
	.intelisys-header > .book-a-flight {
		margin: 0 auto 0 0;
	}
	[lang*="fr"] .intelisys-header > .modify-a-reservation {
		font-size: 90%;
	}
	[lang*="iu"] .intelisys-header > .book-a-flight {
		font-size: 90%;
	}
	.intelisys-header .icon {
		margin: 0 .5rem 0 auto;
		width: 2em;
		height: 2em;
	}


	.intelisys-forms .intelisys-content > div {
		padding: 10px 30px 20px 30px;
	}
	.js .intelisys-forms .intelisys-content > div {
		display: none;
	}
	.js .intelisys-forms .intelisys-content .active {
		display: block;
	}

	.ias-search-widget {
		--theme-primary-color: #c49104;
 		--theme-primary-color-lighter: hsl(44.1, 96%, 45%);
 		--theme-primary-color-lightest: hsl(44.1, 96%, 70%);
 		--theme-primary-dark: #000000;
 		--theme-primary-dark-lighter: #444444;
 		--theme-primary-light: #ffffff;
 		--theme-secondary-color: #111e40;

		--neutral-grey: #d1d1d1 !important;
	}
	.ias-search-widget form {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;

		max-width: 700px;
		margin-bottom: 0;
	}
		.ias-search-widget .fieldset {
			width: 100%;
			margin-top: 1.5rem !important;
		}
		.ias-search-widget .tripTypeSelection {
			order: -1;
		}
		.ias-search-widget .airportSelection {
			display: flex;
		}
			.ias-search-widget .departureAirport,
			.ias-search-widget .arrivalAirport {
				flex-grow: 1;
			}
			.ias-search-widget .swapAirports {
				padding: 40px 10px 0 !important;
				text-align: center !important;
			}
		.ias-search-widget .dateRangeControls span.dateIcon {
			display: inline-block;
			padding: 3px 10px 0 !important;
/* 			color: #fff; */
		}
		.ias-search-widget .passengerSelection,
		.ias-search-widget .promocodeField {
			width: 46%;
		}

		.ias-search-widget .stv-radio-buttons-wrapper {
			border: 1px solid #c49104;
			border-radius: .6rem !important;
			background-color: #fafafa !important;
			padding: 2px;
			justify-content: space-between;
		}
		.ias-search-widget .stv-radio-button + label {
			background-color: transparent !important;
			border: 2px solid transparent !important;
			border-radius: .4rem !important;
			margin-right: 0 !important;
			padding: .4rem 1rem !important;
			height: auto !important;
			color: #111e40 !important;
			font-size: 1rem;
			max-width: 225px;
		}
		.ias-search-widget.prestyled .stv-radio-button:not(:checked) + label:hover {
			color: #c49104 !important;
		}
		.ias-search-widget .stv-radio-button:checked + label {
			border-color: #111e40 !important;
			border-width: 2px !important;
			background-color: #fff !important;

		}
		.ias-search-widget .stv-radio-button:checked + label:before {
			content: '✓ ';
		}
		.ias-search-widget .react-autosuggest__suggestions-list {
			padding: .5rem .25rem !important;
		}
		.ias-search-widget .react-autosuggest__suggestion {
			padding: 0 !important;
			font-size: 13px;
			line-height: 1.5;
		}
		.ias-search-widget .react-autosuggest__suggestion div {
			padding: 0.15rem .5rem !important;
		}
		.ias-search-widget .react-autosuggest__suggestion div::before {
			font-size: 85% !important;
		}
		.ias-search-widget .react-autosuggest__suggestion div span.name {
/* 			color: #111e40; */
		}
		.ias-search-widget .react-autosuggest__suggestion div span.code {
			padding: 0 !important;
		}
		.ias-search-widget .react-autosuggest__suggestions-container--open {
			background-color: #fafafa !important;
		}
		.ias-search-widget .swapAirports a {
			transform: rotate(0) !important;
		}

		.ias-search-widget .passengerSelection .optionContainer.show {
			width: 210% !important;
		}
		.ias-search-widget .passengerSelection .passengerTypes .field label {
/* 			color: #080f20 !important; */
		}
		.ias-search-widget .passengerSelection .passengerTypes .field .stepper {
			flex-shrink: 1 !important;
		}
		.ias-search-widget .calendar .days {
/* 			color: #080f20 !important; */
		}
		.ias-search-widget.prestyled .btn:not(.trip--label),
		.ias-search-widget.prestyled .calendar--close-button {
			display: inline-block  !important;
			vertical-align: middle !important;
			padding: .8em 1em !important;
			min-width: 6em !important;
			width: auto !important;
			height: auto !important;

			/* color: #fff !important;
			background-color: #111e40 !important;
			background-repeat: no-repeat !important;
			background-repeat: repeat-x !important;
			background-origin: border-box !important; */

			text-align: center !important;
			text-decoration: none !important;
			text-transform: none !important;
			letter-spacing: 0.02em !important;

			font-family:  'Montserrat', sans-serif;
			font-size: 14px;
			font-weight: 600;
			line-height: 1;

			border: 1px solid    rgba(0, 0, 0, .05);
			border-radius: 4px;

			-webkit-appearance: none;
			   -moz-appearance: none;
			        appearance: none;

			cursor: pointer;
			transition: 0.1s linear all;
		}
		.ias-search-widget.prestyled .btn:not(.trip--label):hover,
		.ias-search-widget.prestyled .calendar--close-button:hover {
			color: #c49104;
		}
		.ias-search-widget.prestyled .calendar--close-button {
			margin-top: .5rem;
		}

	#FlightSubmit {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.round-trip-choice,
	.one-way-choice {
		margin-bottom: 1rem;
	}
	.round-trip-choice input,
	.one-way-choice input {
		float: left;
	}
	.intelisys-forms .origin-choice,
	.intelisys-forms .destination-choice,
	.intelisys-forms .departure-date,
	.intelisys-forms .return-date,
	.intelisys-forms .promo-code {
		width: calc(50% - 1rem);
	}
	.intelisys-forms .adults-choice,
	.intelisys-forms .children-choice,
	.intelisys-forms .infants-choice {
		width: calc(50% / 3 - .5rem);
	}
	.intelisys-forms .group-travel {
		font-size: 80%;
		margin-top: -.5rem;
	}
	.intelisys-forms h3:first-child {
		margin-top: 0;
	}



.hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem 2rem;
	width: 45%;
/* 	color: #fff; */
}
	.hero-content h2 {
		font-size: 2rem;
	}
	.hero-content:empty {
		margin: 0;
		padding: 0;
	}
	.hero-content img {
		display: block;
		max-width: 100%;
		height: auto;
	}
	.hero-content table {
		max-width: 100%;
		width: auto !important;
		height: auto !important;
	}



/* ! Announcement Ribbon */
.announcement {
	display: block;
	background: #111e40;
	margin-top: 65px;
	padding: 1.5rem 0;
	color: #fff;
	font-size: 24px;
	font-size: clamp(1rem, .5rem + .75vw, 2rem);
	text-align: center;
	line-height: 1.2;
}
	.announcement * {
		color: inherit;
	}
	.announcement > .container div > * {
		margin-bottom: .5em;
	}
	.announcement > .container div > *:last-child {
		margin-bottom: 0;
	}
	.announcement h2 {
		font-size: 120%;
		margin-bottom: .5rem;
	}
	.announcement a {
		color: #fff;
		text-decoration: underline;
		text-decoration-thickness: 1.5px;
	}
	.announcement a:hover {
		color: #c49104;
	}

	.announcement .button {
		color: #111e40;
		background-color: #fff;
		text-decoration: none;
	}
	.announcement .button:hover {
		background-color: #c49104;
		color: #111e40;
	}



/* FAQ */
.faq-toggles {
	margin: 2em 0;
	position: relative;
	z-index: 0;
}
	.faq-toggles:last-child {
		margin-bottom: 1em;
	}
	.faq-toggles .faq-question {
		position: relative;
		padding: .5rem 3em .5rem 2rem;
		margin-top: 1rem;
		cursor: pointer;
		border-radius: 4px;

		background-color: #f5f5f5;
		transition: all .1s;
		z-index: 1;
	}
	.faq-toggles .faq-question .faq-title {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: .25em;
		margin-top: .25em;
		cursor: pointer;
	}
	.faq-toggles .faq-question .toggle {
		position: absolute;
		border: none;
		padding: 0;
		margin: 0;
		background: transparent;
		right: .25em;
		top: .25em;
		color: inherit;
		width: 2em;
		height: 2em;
		min-width: 0;
		cursor: pointer;
		transform-origin: center;
		transition: transform .2s;
	}
	.faq-toggles .faq-question:hover,
	.faq-toggles .faq-question.is-toggle-on {
		background-color: #111e40;
		color: #fff;
	}
	.faq-toggles .faq-question .toggle:focus {
		outline: 1px dotted currentColor;
	}
	.faq-toggles .is-toggle-on .toggle {
		transform: rotate(-90deg);
	}
	.faq-toggles .faq-question.is-toggle-on {
		z-index: 1000;
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	.faq-toggles .faq-question.is-toggle-on + .faq-answer {
		position: relative;
		z-index: 999;
	}
	.faq-toggles .faq-answer {
		max-height: 9999px;
		opacity: 1;
		transition: all .2s;

		padding: 1rem 2rem;
		position: relative;

		border: 1px solid #f0f0f0;
		border-bottom-left-radius: 4px;
		border-bottom-right-radius: 4px;
		background-color: #f8f8f8;
	}

	.faq-toggles .faq-answer .table-wrap:last-child > :last-child {
		margin-bottom: 0;
	}

	.faq-toggles .is-toggle-on {

	}
	.faq-toggles .is-toggle-off + .faq-answer {
		max-height: 0;
		padding-top: 0;
		padding-bottom: 0;
		opacity: 0;
		overflow: hidden;
	}

	.faq-toggles ul,
	.faq-toggles ol {
		margin-left: 0;
	}



/* ! Bulletin Articles */
.article {
	display: flex;
	margin-bottom: 1rem;
}
	.article > .article-figure {
		width: 100%;
		max-width: 30%;
		margin: 0 5% 1rem 0;
	}
	.article > .article-content {
		width: 100%;
		max-width: 65%;
	}

	.article .article-image {
		display: block;
		width: 100%;
		border-radius: 4px;
	}
	.article-title {
		margin-bottom: .5rem;
	}
	.article-meta {
		margin-bottom: 1.25rem;
	}
	.article-meta .article-date {
		color: #999999;
	}


/* ! Promo Articles (use and inherit from .article) */



.sitemap-nav {
	margin-bottom: 1rem;
}
.sitemap-nav .sub-list {
	margin-left: 2em;
}
.sitemap-nav .nav-link {
	padding: .25rem 1rem;
}



/* Mail Chimp Subscribe form  */
.subscribe-form .fm-form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#mc_embed_signup_scroll > * {
/* 	width: 100%; */
}
.subscribe-form [class*="input-"] {
	width: calc(50% - 1rem);
	margin-bottom: 1.5rem;
}
.subscribe-form .mc-field-group.input-group {
	width: 100%;
}
.subscribe-form .mc-field-group.input-group > label {
	font-weight: bold;
}
.subscribe-form .fm-checkbox {
	width: 100%;
	columns: 3 200px;
	column-gap: 3em;
	margin-bottom: 0;
}
.subscribe-form .fm-checkbox .input-check-option {
	margin-bottom: 0;
}
.subscribe-form .fm-checkbox label {
	width: 100%;
}

#mc_embed_signup input.mce_inline_error {
	border-color: #9e2432 !important;
}
#mc_embed_signup div.mce_inline_error {
	border-radius: 4px;
	padding: .3em .5em .4em !important;
	margin-bottom: 0 !important;
	background-color: rgba(197, 61, 53, 0.1) !important;
	color: #9e2432 !important;
	line-height: 1.3;
	font-size: 14px !important;
	font-weight: normal !important;
	letter-spacing: normal !important;
}




/* Gift Card iFrames loading background animation */
iframe:not([style*="height"]) {
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
	animation-name: placeHolderShimmer;
	animation-timing-function: linear;
	background: #ddd;
	background: linear-gradient(to right, #eee 0%, #ddd 5%, #eee 10%);
	background-size: 100vw 1px;
}
@keyframes placeHolderShimmer{
	0%{ background-position: -100vw 0 }
}




.list-items {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;

}
	.list-item,
	.list-items:after {
		min-width: 200px;
		flex-basis: clamp(100px, 32%, 48%);
	}
		.list-item {
			margin-bottom: 1rem;
		}
		.list-items:after {
			content: "";

			margin: 0;
			padding: 0;
		}
	.list-item-figure {
		margin: 0;
		position: relative;
	}
		.list-item-link {
			display: block;
			box-shadow: none;
			font-weight: normal;
		}
		.list-item-link:hover {
			padding: 0 !important;
			margin: 0 !important;
		}
		.list-item-figure img {
			display: block;
		}
		.list-item-figure figcaption {
			position: absolute;
			top: 80%;
			left: 0;
			right: 0;
			bottom: 0;
			padding: .25rem;

			display: flex;
			flex-direction: column;
			align-content: center;
			justify-content: center;

			background-color: rgba(17, 30, 63, 0.5);
			color: #fff;

			text-align: center;
			text-transform: uppercase;
			font-weight: bold;

			transition: all .15s ease-out;
		}
		.list-item-figure:hover figcaption {
			top: 0;
			background-color: rgba(17, 30, 63, 0.9);
		}


/* Uplift customisations */
.uplift-experience-section img[src*="icon"] {
	display: block;
	max-height: 70px;
	margin-inline: auto;
}
.uplift-steps-section {
	margin-block: 2rem;
}
.uplift-steps-section ol li {
	margin-bottom: 1rem;
}

