.lsp-seminar,
.lsp-seminar * {
	box-sizing: border-box;
}

.lsp-seminar {
	color: var(--lsp-text);
	width: 100%;
}

.lsp-seminar-header {
	margin-bottom: 28px;
	text-align: center;
}

.lsp-logo-wrap {
	/* background: #050505; */
	background: transparent;
	border-radius: var(--lsp-radius);
	margin-bottom: 0px;
	padding: 0px;
}

.lsp-logo {
	display: block;
	height: auto;
	margin: 0 auto;
	width: 100%;
}

.lsp-seminar-heading h1,
.lsp-seminar-heading h2,
.lsp-seminar-heading h3,
.lsp-seminar-heading p {
	color: inherit;
	margin-bottom: 0;
}

.lsp-seminar-heading p {
	margin-top: 8px;
}

.lsp-date-selector {
	border: 0;
	margin: 0 0 22px;
	min-width: 0;
	padding: 0;
}

.lsp-date-options {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.lsp-date-option {
	align-items: flex-start;
	background: var(--lsp-header-bg);
	border: 2px solid transparent;
	border-radius: calc(var(--lsp-radius) * .75);
	color: var(--lsp-header-text);
	cursor: pointer;
	display: grid;
	gap: 10px;
	grid-template-columns: auto minmax(0, 1fr);
	margin: 0;
	padding: 16px;
	transition: border-color .2s ease, transform .2s ease, opacity .2s ease;
}

.lsp-date-option:hover {
	border-color: var(--lsp-accent);
	transform: translateY(-1px);
}

.lsp-date-option.is-selected {
	border-color: var(--lsp-accent);
	box-shadow: 0 0 0 1px var(--lsp-accent), 0 6px 18px rgba(0, 0, 0, .2);
}

.lsp-date-option.is-sold-out {
	cursor: not-allowed;
	opacity: .56;
	transform: none;
}

.lsp-date-radio {
	accent-color: var(--lsp-accent);
	margin: 4px 0 0;
}

.lsp-date-copy,
.lsp-date-copy > span,
.lsp-date-copy > strong {
	display: block;
}

.lsp-date-meta {
	font-size: .92em;
	margin-top: 3px;
}

.lsp-date-status {
	color: var(--lsp-accent);
	font-weight: 700;
	font-size: 1.1em;
	margin-top: 9px;
}

.lsp-selected-date {
	color: var(--lsp-text);
	margin: 0 0 18px;
	text-align: center;
}

.lsp-package-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--lsp-min-box-width)), 1fr));
	align-items: stretch;
}

.lsp-pricebox {
	background: var(--lsp-box-bg);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--lsp-radius);
	box-shadow: 0 12px 34px rgba(0, 0, 0, .2);
	color: var(--lsp-text);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	scroll-margin-top: 100px;
}

.lsp-pricebox[hidden] {
	display: none !important;
}

.lsp-pricebox-header {
	background: var(--lsp-header-bg);
	color: var(--lsp-header-text);
	padding: 24px var(--lsp-padding);
	text-align: center;
}

.lsp-pricebox-header h1,
.lsp-pricebox-header h2,
.lsp-pricebox-header h3,
.lsp-pricebox-header h4,
.lsp-pricebox-header h5,
.lsp-pricebox-header h6,
.lsp-pricebox-header p {
	color: inherit;
	margin-bottom: 0;
}

.lsp-pricebox-header p {
	margin-top: 7px;
}

.lsp-pricebox-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--lsp-padding);
}

.lsp-items {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 0 0 var(--lsp-list-indent) !important;
	text-align: var(--lsp-list-align, left);
}

.lsp-items + .lsp-items {
	margin-top: 18px !important;
}

.lsp-items li {
	align-items: start;
	display: grid;
	gap: 10px;
	grid-template-columns: 1.2em minmax(0, 1fr);
	list-style: none !important;
	margin: 0 !important;
	padding: calc(var(--lsp-item-gap) / 2) 0 !important;
}

.lsp-symbol {
	color: var(--lsp-symbol-color, var(--lsp-accent));
	font-weight: 700;
	text-align: center;
}

.lsp-item-text,
.lsp-item-text p,
.lsp-item-text h1,
.lsp-item-text h2,
.lsp-item-text h3,
.lsp-item-text h4,
.lsp-item-text h5,
.lsp-item-text h6 {
	color: inherit;
}

.lsp-items-excluded {
	color: var(--lsp-excluded-color, var(--lsp-muted));
	text-decoration: line-through;
}

.lsp-items-excluded .lsp-symbol {
	color: var(--lsp-excluded-color, var(--lsp-muted));
}

.lsp-pricebox-bottom {
	margin-top: auto;
	padding-top: 22px;
}

.lsp-bottom-text {
	background: var(--lsp-bottom-bg);
	color: var(--lsp-bottom-text);
	margin: 0 calc(var(--lsp-padding) * -1) 20px;
	padding: 16px var(--lsp-padding);
	text-align: center;
}

.lsp-bottom-text > :first-child {
	margin-top: 0;
}

.lsp-bottom-text > :last-child {
	margin-bottom: 0;
}

.lsp-price {
	margin-bottom: 16px;
	text-align: center;
}

.lsp-price strong,
.lsp-price span {
	display: block;
}

.lsp-price strong {
	color: var(--lsp-text);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
}

.lsp-price span {
	color: var(--lsp-muted);
	margin-top: 5px;
}

.lsp-button {
	background: var(--lsp-button-bg);
	border: 0;
	border-radius: calc(var(--lsp-radius) * .55);
	box-shadow: 0 5px 13px rgba(0, 0, 0, .28);
	color: var(--lsp-button-text) !important;
	cursor: pointer;
	display: block;
	font-weight: 700;
	line-height: 1.3;
	padding: 14px 18px;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
	width: 100%;
}

.lsp-button-main,
.lsp-button-date {
	display: block;
}

.lsp-button-date {
	font-size: .86em;
	font-weight: 600;
	margin-top: 4px;
}

.lsp-button:hover,
.lsp-button:focus-visible {
	background: var(--lsp-button-hover-bg);
	color: var(--lsp-button-hover-text) !important;
	transform: translateY(-1px);
}

.lsp-button.is-disabled {
	background: var(--lsp-disabled-bg);
	color: var(--lsp-disabled-text) !important;
	cursor: not-allowed;
	opacity: .75;
	transform: none;
}

.lsp-change-date {
	color: var(--lsp-muted) !important;
	display: block;
	font-size: .84em;
	line-height: 1.35;
	margin-top: 11px;
	text-align: center;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

.lsp-change-date:hover,
.lsp-change-date:focus-visible {
	color: var(--lsp-accent) !important;
}

.lsp-date-selector {
	scroll-margin-top: 100px;
}

.lsp-empty-message,
.lsp-noscript {
	background: var(--lsp-header-bg);
	border-radius: calc(var(--lsp-radius) * .75);
	color: var(--lsp-header-text);
	margin: 18px 0 0;
	padding: 18px;
	text-align: center;
}

.lsp-sr-only {
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

@media (max-width: 680px) {
	.lsp-package-grid,
	.lsp-date-options {
		grid-template-columns: 1fr;
	}

	.lsp-pricebox-body,
	.lsp-pricebox-header {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lsp-date-option,
	.lsp-button {
		transition: none;
	}
}
