/*
 * Fluent Forms, styled to match the site's Gravity forms.
 * Author: Pravash Karki - pravashkarki.com
 *
 * The site moved its forms from Gravity Forms to Fluent Forms in October 2026.
 * These rules give Fluent's markup the look forms.css, footer.css, details.css
 * and trip-planner.css gave Gravity's. The Gravity rules stay until Gravity is
 * switched off, because the Book form still uses it.
 */

/* Fields: labels, inputs, spacing */

.fluentform .frm-fluent-form .ff-el-group {
	margin-bottom: 20px;
}

.fluentform .frm-fluent-form .ff-el-input--label {
	margin-bottom: 5px;
}

.fluentform .frm-fluent-form .ff-el-input--label label {
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: normal;
	color: #2d3133;
}

/* Required fields: Fluent's own marker, one red "*" after the label. The
 * typed "*" the labels carried from Gravity is gone from the form data. */
.fluentform .frm-fluent-form .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
	content: " *";
	color: #c64d52;
	margin-left: 2px;
}

.fluentform .frm-fluent-form .ff-el-form-control {
	display: block;
	width: 100%;
	height: 46px;
	padding: 13px 20px;
	font-family: Poppins, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	color: #2d3133;
	background-color: #fff;
	border: 1px solid #2d3133;
	border-radius: 5px;
	transition: all 0.2s ease-in;
}

.fluentform .frm-fluent-form textarea.ff-el-form-control {
	height: 130px;
	line-height: 1.4;
}

.fluentform .frm-fluent-form .ff-el-form-control::placeholder {
	font-size: 15px;
	color: #2d3133;
	opacity: 1;
}

.fluentform .frm-fluent-form .ff-el-form-control:focus {
	border: 2px solid #5e9ed6;
	outline: none;
}

.fluentform .frm-fluent-form select.ff-el-form-control {
	padding-right: 36px;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9.08147 2.09703C9.4505 2.09003 9.78757 2.30858 9.93031 2.65077C10.0743 2.99408 9.99011 3.38686 9.72759 3.6424L5.73044 7.63955C5.37893 7.99106 4.80922 7.99106 4.45771 7.63955L0.459637 3.64148C0.200775 3.38729 0.118219 3.00039 0.2567 2.6609C0.393665 2.32319 0.721894 2.09928 1.08939 2.09928C1.33243 2.09928 1.56302 2.19708 1.73188 2.36827L5.09407 5.73045L8.45475 2.36978C8.62004 2.19981 8.84317 2.10401 9.07625 2.09715L9.08147 2.097L9.08147 2.09703Z' fill='%23333'/%3E%3C/svg%3E%0A");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 10px 10px;
}

/* Section headings, as Gravity's section titles */

.fluentform .frm-fluent-form .ff-el-section-break {
	margin-bottom: 20px;
}

.fluentform .frm-fluent-form .ff-el-section-break .ff-el-section-title {
	margin: 0;
	font-family: Poppins, sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #2d3133;
}

.fluentform .frm-fluent-form .ff-el-section-break hr {
	display: none;
}

/* Consent and choices */

.fluentform .frm-fluent-form .ff-el-tc label,
.fluentform .frm-fluent-form .ff-el-form-check-label {
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: #2d3133;
}

.fluentform .frm-fluent-form .ff-el-form-check {
	margin-bottom: 8px;
}

.fluentform .frm-fluent-form .ff-el-form-check-label {
	font-size: 15px;
}

.fluentform .frm-fluent-form .ff-el-form-check-input {
	margin-right: 8px;
	border: 1px solid #2d3133;
}

/* Two fields side by side, as Gravity's gf-span-6 columns */

.fluentform .frm-fluent-form .ff-el-group.gf-span-6 {
	display: inline-block;
	width: calc(50% - 10px);
	vertical-align: top;
}

.fluentform .frm-fluent-form .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 {
	margin-left: 16px;
}

.fluentform .frm-fluent-form .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 {
	margin-left: 0;
}

.fluentform .frm-fluent-form .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 {
	margin-left: 16px;
}

@media screen and (max-width: 640px) {
	.fluentform .frm-fluent-form .ff-el-group.gf-span-6 {
		display: block;
		width: 100%;
	}

	.fluentform .frm-fluent-form .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6,
	.fluentform .frm-fluent-form .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 + .ff-el-group.gf-span-6 {
		margin-left: 0;
	}
}

/* Messages */

/* A field in error: a border in the same red as its message. */
.fluentform .frm-fluent-form .ff-el-is-error .ff-el-form-control {
	border-color: #c64d52;
}

.fluentform .frm-fluent-form .error.text-danger {
	margin-top: 4px;
	font-size: 14px;
	color: #c64d52;
}

/* The form hides on success; this box takes its place, with the site's blue. */
.fluentform .ff-message-success {
	font-family: Poppins, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #2d3133;
	background: #eef4f8;
	padding: 22px 26px;
	border: 0;
	border-left: 4px solid #4384ab;
	border-radius: 5px;
	box-shadow: none;
}

.fluentform .ff-message-success p {
	margin: 0 0 8px;
}

.fluentform .ff-message-success p:last-child {
	margin-bottom: 0;
}

/* Submit button */

.fluentform .frm-fluent-form .ff_submit_btn_wrapper {
	margin-top: 10px;
	margin-bottom: 0;
}

.fluentform .frm-fluent-form .ff-btn-submit,
.fluentform .frm-fluent-form .ff-btn-submit.ff-btn-md {
	padding: 10px 32px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	color: #fff;
	background-color: #c64d52;
	border: 1px solid #c64d52;
	border-radius: 3px;
	box-shadow: none;
	cursor: pointer;
}

.fluentform .frm-fluent-form .ff-btn-submit:hover,
.fluentform .frm-fluent-form .ff-btn-submit:focus {
	color: #fff;
	background-color: rgba(198, 77, 82, 0.75);
	opacity: 1;
}

/* Trip sidebar and the reviews pop-up: full-width, taller button */

.package__details-wrapper .fluentform .frm-fluent-form .ff-btn-submit,
.package__trip-section .fluentform .frm-fluent-form .ff-btn-submit {
	width: 100%;
	height: 46px;
	font-weight: 700;
}

/* Footer newsletter */

.footer__newsletter-form .fluentform .frm-fluent-form .ff-el-group {
	margin-bottom: 10px;
}

.footer__newsletter-form .fluentform .frm-fluent-form .ff-el-form-control {
	font-size: 13px;
	color: #000;
}

.footer__newsletter-form .fluentform .frm-fluent-form .ff-el-form-control::placeholder {
	font-size: 13px;
	color: #000;
}

.footer__newsletter-form .fluentform .frm-fluent-form .ff-btn-submit {
	width: 100%;
	height: 46px;
	padding: 0 20px;
	text-transform: uppercase;
	border: none;
	border-radius: 5px;
}

.footer__newsletter-form .fluentform .frm-fluent-form .ff-el-section-break {
	display: none;
}

/* Trip planner: step titles */

.trip-planner .fluentform .frm-fluent-form .ff-step-titles {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
	counter-reset: ff-step;
}

.trip-planner .fluentform .frm-fluent-form .ff-step-titles li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	font-family: Poppins, sans-serif;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	color: #4384ab;
	counter-increment: ff-step;
}

.trip-planner .fluentform .frm-fluent-form .ff-step-titles li::before {
	content: counter(ff-step);
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	font-size: 13px;
	color: #2d3133;
	background: #fff;
	border: 1px solid #cfd3d9;
	border-radius: 50%;
}

.trip-planner .fluentform .frm-fluent-form .ff-step-titles li::after {
	content: "";
	position: absolute;
	top: 15px;
	left: 50%;
	z-index: -1;
	width: 130px;
	height: 2px;
	background: #cfd3d9;
}

.trip-planner .fluentform .frm-fluent-form .ff-step-titles li:last-child::after {
	display: none;
}

.trip-planner .fluentform .frm-fluent-form .ff-step-titles li.ff_active::before,
.trip-planner .fluentform .frm-fluent-form .ff-step-titles li.ff_completed::before {
	color: #fff;
	background: #4384ab;
	border-color: #4384ab;
}

@media screen and (max-width: 550px) {
	.trip-planner .fluentform .frm-fluent-form .ff-step-titles li {
		font-size: 0;
	}

	.trip-planner .fluentform .frm-fluent-form .ff-step-titles li::after {
		display: none;
	}
}

/* Trip planner: group size and date cards with icons */

.trip-planner .fluentform .frm-fluent-form .radio-with-icons .ff-el-input--content {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-input--content {
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

@media screen and (max-width: 1130px) {
	.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-input--content {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 768px) {
	.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-input--content {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 530px) {
	.trip-planner .fluentform .frm-fluent-form .radio-with-icons .ff-el-input--content,
	.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-input--content {
		grid-template-columns: 1fr;
	}
}

.trip-planner .fluentform .frm-fluent-form .radio-with-icons .ff-el-form-check {
	margin: 0;
	border-radius: 7px;
	box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.15);
}

.trip-planner .fluentform .frm-fluent-form .radio-with-icons .ff-el-form-check-label {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	height: 200px;
	margin: 0;
	padding: 31px 10px;
	font-family: Poppins, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.16;
	letter-spacing: 0.24px;
	text-align: center;
	text-transform: capitalize;
	color: #000;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center 30px;
	background-size: auto 100px;
	border-radius: 7px;
	cursor: pointer;
}

.trip-planner .fluentform .frm-fluent-form .radio-with-icons .ff-el-form-check-input {
	position: absolute;
	opacity: 0;
}

.trip-planner .fluentform .frm-fluent-form .radio-with-icons .ff-el-form-check-input:focus-visible + span {
	outline: 2px solid #5e9ed6;
	outline-offset: 4px;
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff_item_selected .ff-el-form-check-label {
	color: #fff;
	background-color: #ab4346;
}

.trip-planner .fluentform .frm-fluent-form .TravelDates .ff_item_selected .ff-el-form-check-label {
	color: #fff;
	background-color: #006b93;
}

@media screen and (max-width: 580px) {
	.trip-planner .fluentform .frm-fluent-form .radio-with-icons .ff-el-form-check-label {
		height: 150px;
		padding: 20px 10px;
		background-size: auto 60px;
	}
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-form-check:nth-child(1) .ff-el-form-check-label {
	background-image: url(../assets/images/group1.svg);
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-form-check:nth-child(2) .ff-el-form-check-label {
	background-image: url(../assets/images/group2.svg);
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-form-check:nth-child(3) .ff-el-form-check-label {
	background-image: url(../assets/images/group3.svg);
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-form-check:nth-child(4) .ff-el-form-check-label {
	background-image: url(../assets/images/group4.svg);
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-form-check:nth-child(1).ff_item_selected .ff-el-form-check-label {
	background-image: url(../assets/images/group1act.svg);
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-form-check:nth-child(2).ff_item_selected .ff-el-form-check-label {
	background-image: url(../assets/images/group2act.svg);
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-form-check:nth-child(3).ff_item_selected .ff-el-form-check-label {
	background-image: url(../assets/images/group3act.svg);
}

.trip-planner .fluentform .frm-fluent-form .GroupSize .ff-el-form-check:nth-child(4).ff_item_selected .ff-el-form-check-label {
	background-image: url(../assets/images/group4act.svg);
}

.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-form-check:nth-child(1) .ff-el-form-check-label {
	background-image: url(../assets/images/date1.svg);
}

.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-form-check:nth-child(2) .ff-el-form-check-label {
	background-image: url(../assets/images/date2.svg);
}

.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-form-check:nth-child(3) .ff-el-form-check-label {
	background-image: url(../assets/images/date3.svg);
}

.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-form-check:nth-child(1).ff_item_selected .ff-el-form-check-label {
	background-image: url(../assets/images/date1act.svg);
}

.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-form-check:nth-child(2).ff_item_selected .ff-el-form-check-label {
	background-image: url(../assets/images/date2act.svg);
}

.trip-planner .fluentform .frm-fluent-form .TravelDates .ff-el-form-check:nth-child(3).ff_item_selected .ff-el-form-check-label {
	background-image: url(../assets/images/date3act.svg);
}

/* Trip planner: next and previous buttons */

.trip-planner .fluentform .frm-fluent-form .step-nav {
	margin-top: 20px;
}

.trip-planner .fluentform .frm-fluent-form .step-nav .ff-btn,
.trip-planner .fluentform .frm-fluent-form .ff-btn-submit {
	height: 50px;
	padding: 10px 54px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	background: #4384ab;
	border: none;
	border-radius: 5px;
	transition: all 0.2s ease-in;
}

.trip-planner .fluentform .frm-fluent-form .step-nav .ff-btn:hover,
.trip-planner .fluentform .frm-fluent-form .ff-btn-submit:hover {
	color: #fff;
	background: #ab4346;
}

.trip-planner .fluentform .frm-fluent-form .step-nav .ff-btn-prev {
	background: #ab4346;
}

.trip-planner .fluentform .frm-fluent-form .step-nav .ff-btn-prev:hover {
	background: #006b93;
}

@media screen and (max-width: 530px) {
	.trip-planner .fluentform .frm-fluent-form .step-nav .ff-btn,
	.trip-planner .fluentform .frm-fluent-form .ff-btn-submit {
		width: 100%;
	}
}
