/* Contact page form. The long prefix outranks the per-widget rules Elementor generates. */
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf {
	--pdl-navy: #01075f;
	--pdl-blue: #415bd2;
	--pdl-pink: #e544bf;
	--pdl-h: 58px;
	font-family: "Nunito Sans", sans-serif;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-form-fields-wrapper {
	margin-bottom: -20px;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-field-group {
	margin-bottom: 20px;
	align-items: flex-start;
	align-self: flex-start;
	align-content: flex-start;
}

.pdl-cf .pdl-cf-box {
	position: relative;
	display: block;
	flex: 1 0 100%;
	width: 100%;
	min-width: 0;
}

/* Fields */
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field {
	display: block;
	width: 100%;
	box-sizing: border-box;
	height: var(--pdl-h);
	min-height: var(--pdl-h);
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--pdl-navy);
	border-radius: 5px;
	background: #fff;
	color: var(--pdl-navy);
	font-family: inherit;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	outline: 0 solid transparent;
	box-shadow: none;
	scroll-margin-top: 130px;
	transition: border-color .15s ease-out;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box textarea.elementor-field {
	height: auto;
	min-height: 148px;
	padding: 18px 16px;
	line-height: 1.5;
	resize: vertical;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field:hover {
	border-color: var(--pdl-blue);
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field:focus {
	border-color: var(--pdl-blue);
	outline: 2px solid var(--pdl-blue);
	outline-offset: -1px;
}

/* Keeps Chrome and Safari's tinted autofill from hiding behind the label. */
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field:-webkit-autofill {
	-webkit-text-fill-color: var(--pdl-navy);
	caret-color: var(--pdl-navy);
	box-shadow: inset 0 0 0 1000px #fff;
}

/* Floating label */
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field-label {
	position: absolute;
	top: 0;
	left: 12px;
	z-index: 1;
	display: block;
	max-width: calc(100% - 22px);
	margin: 0;
	padding: 0 5px;
	overflow: hidden;
	background: transparent;
	color: var(--pdl-navy);
	font-size: 17px !important; /* The widget's own Custom CSS forces 14px !important on every label. */
	font-weight: 500;
	line-height: 20px;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: none;
	transform: translateY(calc((var(--pdl-h) - 20px) / 2));
	transform-origin: left center;
	transition: transform .15s ease-out, color .15s ease-out;
}

.pdl-cf .pdl-cf-mark {
	color: var(--pdl-blue);
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field:focus + .elementor-field-label,
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field:not(:placeholder-shown) + .elementor-field-label,
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field:-webkit-autofill + .elementor-field-label,
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field:autofill + .elementor-field-label {
	max-width: calc(123% - 22px);
	background: #fff;
	font-weight: 600;
	transform: translate(1px, -50%) scale(.8125);
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field:focus + .elementor-field-label {
	color: var(--pdl-blue);
}

/* Errors: pink line plus a navy message, so the state never rests on colour alone. */
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-invalid .pdl-cf-box .elementor-field,
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-error .pdl-cf-box .elementor-field {
	border-color: var(--pdl-pink);
	outline: 1px solid var(--pdl-pink);
	outline-offset: -1px;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-invalid .pdl-cf-box .elementor-field:focus,
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-error .pdl-cf-box .elementor-field:focus {
	outline-width: 2px;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-invalid .pdl-cf-box .elementor-field:focus + .elementor-field-label {
	color: var(--pdl-navy);
}

.pdl-cf .pdl-cf-error,
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-help-inline {
	display: block;
	flex: 1 0 100%;
	margin: 6px 0 0;
	color: var(--pdl-navy);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

/* Consent checkbox */
.pdl-cf .elementor-field-type-acceptance .elementor-field-subgroup {
	flex: 1 0 100%;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-field-option {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-acceptance-field {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	margin: 2px 0 0;
	border: 1px solid var(--pdl-navy);
	border-radius: 4px;
	background: #fff center / 14px 14px no-repeat;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-acceptance-field:hover {
	border-color: var(--pdl-blue);
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-acceptance-field:checked {
	border-color: var(--pdl-blue);
	background-color: var(--pdl-blue);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-acceptance-field:focus-visible {
	outline: 2px solid var(--pdl-blue);
	outline-offset: 2px;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-invalid .elementor-acceptance-field {
	border-color: var(--pdl-pink);
	outline: 1px solid var(--pdl-pink);
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-field-option label {
	color: var(--pdl-navy);
	font-size: 15px !important;
	font-weight: 500;
	line-height: 1.5;
	cursor: pointer;
}

/* Submit and form-level messages */
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-button:focus-visible {
	outline: 2px solid var(--pdl-navy);
	outline-offset: 2px;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf.elementor-form-waiting .elementor-button,
body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-button:disabled {
	cursor: progress;
	opacity: .65;
}

body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf > .elementor-message {
	margin-top: 16px;
	color: var(--pdl-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
}

@media (max-width: 767px) {
	body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf {
		--pdl-h: 56px;
		box-sizing: border-box;
		padding: 0 10px;
	}

	body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-field-group {
		width: 100%;
		max-width: 100%;
		flex: 0 0 100%;
	}

	body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field {
		font-size: 16px;
	}

	body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .pdl-cf-box .elementor-field-label {
		font-size: 16px !important;
	}

	body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-acceptance-field {
		flex-basis: 24px;
		width: 24px;
		height: 24px;
		margin-top: 0;
	}

	body.page-id-116 .elementor-form.pdl-cf.pdl-cf.pdl-cf .elementor-button {
		width: 100%;
		min-height: 56px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pdl-cf .pdl-cf-box * {
		transition: none !important;
	}
}
