.ijb-divi-modal {
	display: none !important;
}

.ijb-divi-modal.is-open {
	display: block !important;
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	max-width: none !important;
	height: 100vh !important;
	height: 100dvh !important;
	min-height: 0 !important;
	padding: 32px 24px !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	transform: none !important;
	z-index: 2147483646 !important;
}

/* Keep the CF7 success confirmation above the full-screen Divi request modal. */
.swal2-container {
	z-index: 2147483647 !important;
}

.ijb-divi-modal.ijb-modal-builder {
	display: block !important;
	position: relative !important;
	inset: auto !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

body.ijb-modal-open {
	overflow: hidden;
}

/* Divi places post content in a low stacking context. Raise that context while
 * a popup is open so the popup can cover the Theme Builder header and footer
 * without removing the popup from the Divi layout that styles it. */
body.ijb-modal-open .et-l--post .et_builder_inner_content {
	position: relative !important;
	z-index: 2147483645 !important;
}

.ijb-divi-modal.is-open > .et_pb_row {
	width: calc(100% - 48px) !important;
	max-width: 980px !important;
	margin-top: 0 !important;
	margin-bottom: 32px !important;
}

#ijb-login-modal.is-open > .et_pb_row {
	max-width: 720px !important;
}

.ijb-divi-modal .et_pb_column {
	position: relative;
}

.ijb-divi-modal > .et_pb_row .ijb-modal-close-shell {
	display: flex !important;
	justify-content: flex-end !important;
	align-self: stretch !important;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: right !important;
	transform: none !important;
}

.ijb-divi-modal .ijb-modal-close-control {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto !important;
	min-height: 40px;
	margin: 0 !important;
	padding: 9px 15px !important;
	border: 1px solid #0f3128 !important;
	border-radius: 999px !important;
	background: #0f3128 !important;
	box-shadow: 0 6px 18px rgba(15, 49, 40, .1);
	color: #f5f1e7 !important;
	-webkit-text-fill-color: #f5f1e7 !important;
	font-family: "urw-din", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	cursor: pointer;
	z-index: 2;
}

.ijb-divi-modal .ijb-modal-close-control:focus {
	border-color: #0f3128 !important;
	background: #0f3128 !important;
	color: #f5f1e7 !important;
	-webkit-text-fill-color: #f5f1e7 !important;
	box-shadow: 0 6px 18px rgba(15, 49, 40, .1);
	outline: 0;
}

.ijb-divi-modal .ijb-modal-close-control:focus-visible {
	box-shadow: 0 0 0 3px rgba(182, 155, 88, .42);
}

.ijb-divi-modal .ijb-modal-close-control:hover,
.ijb-divi-modal .ijb-modal-close-control:active {
	border-color: #84243c !important;
	background: #84243c !important;
	color: #f5f1e7 !important;
	-webkit-text-fill-color: #f5f1e7 !important;
	box-shadow: 0 0 0 3px rgba(182, 155, 88, .24);
	outline: 0;
}

.ijb-password-modal.is-open {
	background: rgba(5, 22, 18, .82);
}

.ijb-password-modal__dialog {
	position: relative;
	box-sizing: border-box;
	width: calc(100% - 48px);
	max-width: 720px;
	margin: 24px auto 32px;
	padding: 76px 30px 30px;
	border: 1px solid #d8cda9;
	border-radius: 10px;
	background: #f5f1e7;
	box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

.ijb-password-modal .ijb-password-modal__close {
	position: absolute !important;
	top: 18px !important;
	right: 18px !important;
	bottom: auto !important;
	left: auto !important;
	margin: 0 !important;
	transform: none !important;
}

.ijb-password-modal__title {
	margin: 0 0 12px;
	color: #0f3128;
	font-family: "sofia-pro-narrow", Arial, sans-serif;
	font-size: 42px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.ijb-password-modal__introduction {
	margin: 0 0 22px;
	color: #102820;
	font-family: "urw-din", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.5;
}

.ijb-auth-form label {
	display: block;
	margin-bottom: 8px;
	color: #0f3128;
	font-family: "urw-din", Arial, sans-serif;
	font-weight: 700;
}

.ijb-auth-form input[type="text"],
.ijb-auth-form input[type="email"],
.ijb-auth-form input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 13px 16px;
	border: 1px solid #d8cda9;
	border-radius: 8px;
	background: #fff;
	color: #102820;
	font-size: 17px;
}

.ijb-auth-form button,
.ijb-auth-button {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border: 1px solid #0f3128;
	border-radius: 999px;
	background: #0f3128;
	color: #f5f1e7;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.ijb-auth-form__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 0;
}

.ijb-auth-button--secondary {
	background: transparent;
	color: #0f3128;
}

.ijb-auth-button--secondary:hover,
.ijb-auth-button--secondary:focus-visible {
	background: #0f3128;
	color: #f5f1e7;
}

.ijb-auth-notice {
	margin: 0 0 22px;
	padding: 14px 16px;
	border-left: 4px solid #b69b58;
	background: #fff;
	color: #102820;
}

.ijb-auth-notice--error {
	border-left-color: #84243c;
}

.ijb-page-notice {
	box-sizing: border-box;
	max-width: 1120px;
	margin: 20px auto;
}

.ijb-request-confirmation {
	display: block !important;
	margin-top: 20px !important;
	padding: 16px !important;
	border: 2px solid #0f3128 !important;
	background: #fff !important;
	color: #0f3128 !important;
	font-weight: 700;
}

#ijb-request-modal .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 24px;
	margin: 26px 0 0;
}

#ijb-request-modal .wpcf7-form > p {
	margin: 0;
}

#ijb-request-modal .wpcf7-form > p:nth-of-type(7),
#ijb-request-modal .wpcf7-form > p:nth-of-type(8),
#ijb-request-modal .wpcf7-response-output {
	grid-column: 1 / -1;
}

#ijb-request-modal .wpcf7-form label {
	display: block;
	margin: 0 0 8px;
	color: #0f3128;
	font-family: "urw-din", Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.2;
	text-transform: uppercase;
}

#ijb-request-modal .wpcf7-form br {
	display: none;
}

#ijb-request-modal .wpcf7-form-control-wrap {
	display: block;
}

#ijb-request-modal .wpcf7-form input[type="text"],
#ijb-request-modal .wpcf7-form input[type="email"],
#ijb-request-modal .wpcf7-form input[type="tel"],
#ijb-request-modal .wpcf7-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 13px 16px;
	border: 1px solid #d8cda9;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 49, 40, .06);
	color: #102820;
	font-family: "urw-din", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.35;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

#ijb-request-modal .wpcf7-form textarea {
	min-height: 138px;
	resize: vertical;
}

#ijb-request-modal .wpcf7-form input:focus,
#ijb-request-modal .wpcf7-form textarea:focus {
	border-color: #b69b58;
	box-shadow: 0 0 0 3px rgba(182, 155, 88, .22), 0 8px 24px rgba(15, 49, 40, .08);
	outline: 0;
}

#ijb-request-modal .wpcf7-form input[type="submit"] {
	min-height: 52px;
	padding: 0 30px;
	border: 1px solid #0f3128;
	border-radius: 999px;
	background: #0f3128;
	color: #f5f1e7;
	cursor: pointer;
	font-family: "urw-din", Arial, sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

#ijb-request-modal .wpcf7-form input[type="submit"]:hover {
	border-color: #84243c;
	background: #84243c;
	transform: translateY(-1px);
}

#ijb-request-modal .wpcf7-not-valid-tip {
	margin-top: 6px;
	color: #84243c;
	font-size: 14px;
}

#ijb-request-modal .wpcf7-response-output {
	margin: 0 !important;
	padding: 12px 15px !important;
	border-radius: 8px;
}

@media (max-width: 760px) {
	.ijb-divi-modal.is-open {
		padding: 14px 10px !important;
	}

	.ijb-divi-modal.is-open > .et_pb_row,
	.ijb-password-modal__dialog {
		width: calc(100% - 20px) !important;
	}

	.ijb-password-modal__dialog {
		margin-top: 10px;
		padding: 70px 18px 20px;
	}

	.ijb-password-modal__title {
		font-size: 34px;
	}

	#ijb-request-modal .wpcf7-form {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	#ijb-request-modal .wpcf7-form > p:nth-of-type(7),
	#ijb-request-modal .wpcf7-form > p:nth-of-type(8),
	#ijb-request-modal .wpcf7-response-output {
		grid-column: auto;
	}
}
