.istb-shortcode,
.istb-shortcode *,
.istb-shortcode *::before,
.istb-shortcode *::after {
	box-sizing: border-box;
}

.istb-shortcode {
	--istb-navy: #123646;
	--istb-blue: #0097d7;
	--istb-blue-dark: #087ca8;
	--istb-mist: #e7f2f6;
	--istb-cream: #f7f3ea;
	--istb-gold: #c89b45;
	--istb-line: #c7d6dc;
	--istb-text: #213d49;
	width: min(1440px, calc(100% - 40px));
	max-width: 100%;
	margin-inline: auto;
	color: var(--istb-text);
	overflow-wrap: break-word;
	word-break: normal;
}

.istb-seminar-title h1 {
	margin: 0;
	color: #fff;
	font-size: clamp(2.25rem, 5vw, 4.8rem);
	line-height: 1.06;
}

.istb-seminar-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(24px, 4vw, 56px);
	padding: clamp(24px, 4vw, 48px);
	background: var(--istb-cream);
	border-top: 5px solid var(--istb-gold);
}

.istb-eyebrow,
.istb-timeline__type {
	margin: 0 0 8px;
	color: var(--istb-blue-dark);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.istb-facts__date {
	margin: 0 0 14px;
	color: var(--istb-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.75rem, 4vw, 2.7rem);
	font-weight: 700;
	line-height: 1.12;
}

.istb-status {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 5px 11px;
	border-radius: 99px;
	color: #fff;
	background: var(--istb-blue-dark);
	font-size: 0.82rem;
	font-weight: 700;
}

.istb-status--soldout {
	background: #785025;
}

.istb-facts__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
	gap: 1px;
	margin: 0;
	background: var(--istb-line);
	border: 1px solid var(--istb-line);
}

.istb-facts__grid div {
	min-width: 0;
	padding: 15px 17px;
	background: #fff;
}

.istb-facts__grid div:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.istb-facts__grid dt {
	margin-bottom: 4px;
	color: #58717c;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.istb-facts__grid dd {
	margin: 0;
	color: var(--istb-navy);
	font-weight: 700;
}

.istb-facts__grid small {
	display: block;
	margin-top: 2px;
	color: #62747c;
	font-weight: 400;
}

.istb-timeline__day + .istb-timeline__day {
	margin-top: 54px;
}

.istb-timeline__day-heading {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
	margin: 0 0 24px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--istb-navy);
	color: var(--istb-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.2;
}

.istb-timeline__day-heading time {
	color: #58717c;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.95rem;
	font-weight: 400;
}

.istb-timeline__items {
	position: relative;
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.istb-timeline__items::before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 146px;
	width: 2px;
	background: var(--istb-line);
}

.istb-timeline__item {
	position: relative;
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 52px;
	min-width: 0;
}

.istb-timeline__item::before {
	content: "";
	position: absolute;
	top: 25px;
	left: 140px;
	width: 14px;
	height: 14px;
	border: 4px solid #fff;
	border-radius: 50%;
	background: var(--istb-blue);
	box-shadow: 0 0 0 2px var(--istb-blue);
}

.istb-timeline__time {
	margin: 22px 0 0;
	color: #496672;
	font-weight: 700;
	text-align: right;
}

.istb-timeline__card {
	min-width: 0;
	padding: 20px 22px;
	background: #fff;
	border: 1px solid var(--istb-line);
}

.istb-timeline__card h4 {
	margin: 0 0 7px;
	color: var(--istb-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.25rem;
	line-height: 1.25;
}

.istb-timeline__card p {
	margin: 0;
}

.istb-timeline__speaker {
	margin-top: 10px !important;
	color: var(--istb-navy);
	font-weight: 700;
}

.istb-registration__choices {
	margin: 0;
	padding: 0;
	border: 0;
}

.istb-registration__choices legend {
	margin-bottom: 12px;
	color: var(--istb-navy);
	font-size: 1.15rem;
	font-weight: 700;
}

.istb-registration__choice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.istb-registration__choice {
	display: grid;
	gap: 4px;
	width: 100%;
	min-height: 72px;
	padding: 15px 17px;
	color: var(--istb-navy);
	background: #fff;
	border: 2px solid var(--istb-line);
	border-radius: 0;
	font: inherit;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	appearance: none;
}

.istb-registration__choice:hover,
.istb-registration__choice:focus-visible,
.istb-registration__choice.is-selected {
	border-color: var(--istb-blue);
}

.istb-registration__choice.is-selected {
	background: var(--istb-mist);
}

.istb-registration__summary {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin: 22px 0;
	padding: 14px 16px;
	color: #fff;
	background: var(--istb-navy);
}

.istb-registration__prompt,
.istb-registration__state,
.istb-editor-message {
	padding: 15px 17px;
	background: var(--istb-mist);
	border: 1px solid var(--istb-line);
}

.istb-registration__form {
	min-width: 0;
}

.istb-registration__form--mitglied .istb-gf-member-only,
.istb-registration__form--nichtmitglied .istb-gf-nonmember-only {
	display: block !important;
}

.istb-registration__form--mitglied .istb-gf-nonmember-only,
.istb-registration__form--nichtmitglied .istb-gf-member-only {
	display: none !important;
}

.istb-registration__form .gform_wrapper,
.istb-registration__form .gform_body,
.istb-registration__form .gform_fields,
.istb-registration__form .gfield {
	min-width: 0;
	max-width: 100%;
}

.istb-registration__form .gform_fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
}

.istb-registration__form .gfield,
.istb-registration__form .gfield.gsection,
.istb-registration__form .gform_footer,
.istb-registration__form .gform_confirmation_wrapper {
	grid-column: 1 / -1;
}

.istb-registration__form .gfield input:not([type="checkbox"]):not([type="radio"]),
.istb-registration__form .gfield select,
.istb-registration__form .gfield textarea {
	width: 100%;
	max-width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--istb-line);
	border-radius: 0;
}

.istb-registration__form .gfield_checkbox label,
.istb-registration__form .gfield_consent_label {
	display: inline;
}

.istb-registration__form .gfield_checkbox a,
.istb-registration__form .gfield_consent_label a {
	color: var(--istb-blue-dark);
	text-decoration: underline;
}

.istb-registration__form .gform_button {
	min-height: 46px;
	padding: 11px 20px;
	border: 0;
	color: #fff;
	background: var(--istb-navy);
	font-weight: 700;
	cursor: pointer;
}

.istb-registration__form .validation_error,
.istb-registration__form .validation_message {
	color: #7d2525;
	font-weight: 700;
}

@media (max-width: 700px) {
	.istb-shortcode {
		width: min(100%, calc(100% - 28px));
	}

	.istb-seminar-facts,
	.istb-facts__grid,
	.istb-registration__choice-grid,
	.istb-registration__form .gform_fields {
		grid-template-columns: 1fr;
	}

	.istb-timeline__day-heading {
		flex-direction: column;
		gap: 4px;
	}

	.istb-timeline__items::before {
		left: 8px;
	}

	.istb-timeline__item {
		grid-template-columns: 24px minmax(0, 1fr);
		gap: 10px;
	}

	.istb-timeline__item::before {
		top: 6px;
		left: 2px;
	}

	.istb-timeline__time,
	.istb-timeline__card {
		grid-column: 2;
	}

	.istb-timeline__time {
		margin-top: 0;
		text-align: left;
	}

	.istb-registration__summary {
		flex-direction: column;
		gap: 4px;
	}
}
