/**
 * Prep101 — Open Soon notification modal.
 *
 * Deliberately unopinionated: sizing and chrome only, so the Gravity Form inside
 * inherits the theme's existing form styling rather than fighting it.
 */

.p101-modal {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
}

.p101-modal.is-open {
	display: flex;
	align-items: center;
}

.p101-modal__overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.6);
}

.p101-modal__dialog {
	position: relative;
	width: calc(100% - 2rem);
	max-width: 520px;
	margin: 8vh auto 2rem;
	max-height: 84vh;
	-webkit-overflow-scrolling: touch;
	background: #fff;
	border-radius: 4px;
	padding: 2.5rem 2rem 2rem;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
	border-top: 5px solid #1087fc;
	background-color: #f2f4f7;
}

.p101-modal__close {
	position: absolute;
		top: -5px;
		right: -2px;
		border-radius: 0 0 0 50%;
	width: 48px;
	height: 48px;
	padding: 0;
	font-size: 20px;
	background-color: #1087fc;
	color: #fff;
	line-height: 48px;
	cursor: pointer;
	text-align: center;
	border: 0px;
}

@media (min-width: 1350px) {
	.p101-modal__close {
		position: absolute;
		top: -29px;
		right: -29px;
		border-radius: 50%;
	}
}

.p101-modal__title {
	margin: 1rem 0 2.5rem;
	font-family: "jubilat",serif;
	font-style: normal;
	font-size: 28px;
}

.gform_required_legend {
	display: none;
}

.p101-modal__session {
	margin: 0 0 1.5rem;
	font-weight: 700;
}

.p101-modal__session:empty {
	display: none;
}

/* Visible keyboard focus inside the dialog. */
.p101-modal :focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 0px;
}

/*
 * The session drop down is set by JS from the CTA, so it is hidden from sight
 * but kept in the accessibility tree and the tab order — Gravity Forms skips
 * fields it considers display:none, which would drop the value on submit.
 */
.p101-modal .gf-session-id {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* The CTA is a div, so it needs the affordance a button would have. */
.js-open-soon {
	cursor: pointer;
}

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

@media (max-width: 640px) {

	.p101-modal__dialog {
		margin-top: 4vh;
		max-height: 92vh;
		padding: 2.5rem 1.25rem 1.5rem;
	}
}


.course-detail__action.course-detail__action .c-btn--gray.js-open-soon:hover {
	cursor: pointer!important;
	background-color: white;
	color: #9fa9b8;
}

.open-soon .js-open-soon {
	font-weight: bold;
		color: #1087fc;
}

.p101-modal__dialog .gform_footer.top_label {
	justify-content: center;
}


.p101-modal__dialog .gform_footer.top_label button {
	max-width: 200px!important;
}


