/* Scheffey Slide-In: the panel only. Copy, colors, and buttons come from the Divi Library layout. */

.sch-slide-in {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9990;
	box-sizing: border-box;
	width: 340px;
	max-width: calc(100vw - 32px);
	padding: 26px 26px 24px;
	background: #322650; /* the header's purple */
	border: 1px solid rgba(169, 214, 243, .35); /* keeps it apart from the purple bands it floats over */
	border-radius: 6px;
	box-shadow: 0 14px 40px rgba(24, 16, 47, .45), 0 2px 8px rgba(24, 16, 47, .25);
	transform: translateX(calc(100% + 40px));
	transition: transform .35s ease-out;
}

.sch-slide-in[hidden] {
	display: none;
}

.sch-slide-in.is-open {
	transform: none;
}

.sch-slide-in__close {
	position: absolute;
	top: 8px;
	right: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	color: rgba(255, 255, 255, .75);
	background: none;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	z-index: 10; /* Divi gives .et_pb_column z-index 2 */
}

.sch-slide-in__close:hover,
.sch-slide-in__close:focus-visible {
	color: #fff;
	background: rgba(255, 255, 255, .12);
}

/* Divi's section/row/column defaults are page-sized; flatten them inside the panel. */
.sch-slide-in .et_pb_section,
.sch-slide-in .et_pb_row,
.sch-slide-in .et_pb_column {
	width: 100%;
	margin: 0;
	padding: 0;
}

.sch-slide-in .et_pb_text h2,
.sch-slide-in .et_pb_text h3 {
	padding-right: 24px; /* clear the close button */
	padding-bottom: 6px;
}

.sch-slide-in .et_pb_text p {
	padding-bottom: 0;
}

.sch-slide-in .et_pb_button_module_wrapper {
	margin-bottom: 0;
}

.sch-slide-in .et_pb_button {
	display: block;
	text-align: center;
	font-size: 17px;
}

/* Phones: a short bar along the bottom with the buttons side by side. */
@media (max-width: 767px) {
	.sch-slide-in {
		right: 0;
		bottom: 0;
		left: 0;
		width: auto;
		max-width: none;
		padding: 16px 16px 14px;
		border-width: 1px 0 0;
		border-radius: 0;
		transform: translateY(calc(100% + 20px));
	}

	.sch-slide-in .et_pb_text {
		margin-bottom: 10px !important;
	}

	.sch-slide-in .et_pb_text h2,
	.sch-slide-in .et_pb_text h3 {
		font-size: 26px !important;
	}

	.sch-slide-in .et_pb_text p {
		display: none; /* headline + buttons only; keeps the bar small */
	}

	.sch-slide-in .et_pb_column {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.sch-slide-in .et_pb_column > .et_pb_text {
		flex: 1 0 100%;
	}

	.sch-slide-in .et_pb_button_module_wrapper {
		flex: 1 1 0;
		margin: 0 !important;
	}

	/* Divi's per-button rule sets 1.5rem with a stronger selector, hence !important. */
	.sch-slide-in .et_pb_button {
		padding: .35em .4em !important;
		font-size: 15px !important;
		line-height: 1.5em !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sch-slide-in {
		transition: none;
	}
}
