/* ************************************* */
/*                                       */
/* theme.css Global                      */
/*                                       */
/* ************************************* */

/* --------------------------------------------|
|                                              |
| Headlines                                    |
|                                              |
|-------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-headline);
	margin: 0;
	padding: 0;
	position: relative;
	font-weight: normal;
	text-wrap: balance;
}

h1,
.h1 {
	font-size: 24px;
	font-family: var(--font-headline-big);
	margin-bottom: 18px;
	line-height: 130%;
	color: var(--color-accent);
}

h2,
.h2 {
	font-size: 18px;
	font-family: var(--font-headline);
	text-transform: none;
	line-height: 140%;
	margin-bottom: 18px;
	color: var(--color-accent-light);
}

h3,
.h3 {
	font-size: 16px;
	font-weight: bold;
	line-height: 140%;
	margin-block-end: 16px;
}

h4,
.h4,
h5,
.h5,
h6,
.h6 {
	font-size: 18px;
	line-height: 150%;
	margin-bottom: 20px;
}

/* ************************************* */
/*                                       */
/* Links                                 */
/*                                       */
/* ************************************* */

a,
span {
	text-decoration: none;
	color: inherit;
}

.area a {
	color: var(--color-accent);
	font-weight: 700;
}

.area a.active,
.area a:hover {
	text-decoration: underline;
}

/* ************************************* */
/*                                       */
/* Paragraphs                            */
/*                                       */
/* ************************************* */

.area {
	overflow-wrap: anywhere;
}

p {
	font-size: var(--font-primary-size);
	line-height: var(--font-primary-lineheight);
	margin-top: 0;
	margin-bottom: 24px;
}

.area p,
p.area {
	font-size: var(--font-fulltext-size);
	line-height: var(--font-fulltext-lineheight);
}

p:last-child {
	margin-bottom: 0;
}

/* ************************************* */
/*                                       */
/* Lists                                 */
/*                                       */
/* ************************************* */

ul,
.ul,
ol,
.ol {
	margin: 0;
	padding: 0;
}

.ol {
	list-style: decimal;
	padding-left: 17px;
}

li {
	list-style: none;
}

li:last-child {
	margin-bottom: auto;
}

.ol li {
	list-style: decimal;
	padding-left: 7px;
}

.area ul,
.area ol,
.area .ol {
	margin-bottom: 24px;
	font-size: var(--font-fulltext-size);
	line-height: var(--font-fulltext-lineheight);
}

.area ul:last-child,
.area ol:last-child,
.area .ol:last-child {
	margin-bottom: 0;
}

.area ul li,
.area ol li,
.area .ol li {
	list-style: disc;
	margin-left: 25px;
}

.area ol li,
.area .ol li {
	list-style: decimal;
}

/* --------------------------------------------|
|  LI Arrow                                    |
|-------------------------------------------- */

.list--arrow li,
.list--arrow.area li,
ul.arrow li {
	list-style: none;
	margin-bottom: 10px;
	position: relative;
	margin-left: 40px;
}

.list--arrow li::before,
ul.arrow li::before {
	content: "\2192 \0020";
	position: absolute;
	top: 0;
	left: -30px;
	color: #d78051;
	font-family: "btpnormal", sans-serif;
	font-size: 22rem;
}

/* ************************************* */
/*                                       */
/* Inline                                */
/*                                       */
/* ************************************* */

hr,
.hr {
	border: 0;
	border-bottom: 1px dotted currentColor;
	margin-bottom: 20px;
}

/* --------------------------------------------|
|                                              |
| Buttons                                      |
|                                              |
|-------------------------------------------- */

.button,
.area .button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 12px 20px 12px 20px;
	border: 1px solid var(--color-accent-light);
	cursor: pointer;
	color: var(--color-light);
	background-color: var(--color-accent-light);
	appearance: none;
	font-family: "btpnormal", sans-serif;
	font-weight: 700;
}

.button:hover {
	opacity: 0.9;
}

.button--inverted {
	color: var(--color-accent-light);
	background-color: var(--color-light);
}

.button--small {
	padding: 3px 6px 2px 4px;
}

.button--large {
	padding-left: 30px;
	padding-right: 30px;
}

.button.button--centered {
	color: var(--color-button);
	background-color: var(--color-accent);
	display: flex;
	margin-left: auto;
	margin-right: auto;
}

.button.button--dark {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
}

/* Button right alignment helper */
.button.button--right {
	display: inline-flex;
	margin-left: auto;
}

/* Button huge size mapping (alias) */
.button.button--huge {
	padding: 18px 36px;
	font-size: 1.125em;
}

/* Block wrapper spacing utilities for button block */
.block.block--button.block--space-none    { margin-block: 0; }
.block.block--button.block--space-min     { margin-block: 12px; }
.block.block--button.block--space-max     { margin-block: 36px; }
.block.block--button.block--space-min-top { margin-top: 12px; }
.block.block--button.block--space-max-top { margin-top: 36px; }
.block.block--button.block--space-min-bottom { margin-bottom: 12px; }
.block.block--button.block--space-max-bottom { margin-bottom: 36px; }

/* Color mapping via CSS variables in :root from event.css.php */
.block.block--button { display: flex; }
.block.block--button .button { margin-inline: 0; }
.block.block--button .button + .button { margin-left: 12px; }
.block.block--button.has-bg-white .button { color: #000; }
/* --------------------------------------------|
| Conference reference block                   |
|-------------------------------------------- */
.block.block--conference { margin-block: 20px; }
.block.block--conference.block--center { text-align: center; }
.block.block--conference.block--right  { text-align: right; }
.block.block--conference .conference__title { margin: 0 0 8px; }
.block.block--conference .conference__intro { margin: 0 0 12px; }
.block.block--conference .conference__link .button { margin-top: 8px; }

/* --------------------------------------------|
| Generic reference block                       |
|-------------------------------------------- */
.block.block--reference { margin-block: 20px; }
.block.block--reference.block--center { text-align: center; }
.block.block--reference.block--right  { text-align: right; }
.block.block--reference .reference__title { margin: 0 0 8px; }
.block.block--reference .reference__intro { margin: 0 0 12px; }
.block.block--reference .reference__link .button { margin-top: 8px; }

/* Ensure inline SVG icon inherits text color and aligns nicely */
.block.block--button .button .button__icon svg {
	width: 1em;
	height: 1em;
	display: inline-block;
}
.block.block--button .button .button__icon svg [fill]:not([fill="none"]) {
	fill: currentColor !important;
}
.block.block--button .button .button__icon svg [stroke]:not([stroke="none"]) {
	stroke: currentColor !important;
}

.block.block--button.has-bg-primary    .button { background-color: var(--color-primary);    border-color: var(--color-primary); }
.block.block--button.has-bg-accent     .button { background-color: var(--color-accent);     border-color: var(--color-accent); }
.block.block--button.has-bg-accent-light .button { background-color: var(--color-accent-light); border-color: var(--color-accent-light); }
.block.block--button.has-bg-secondary  .button { background-color: var(--color-secondary);  border-color: var(--color-secondary); }
.block.block--button.has-bg-tertiary   .button { background-color: var(--color-tertiary);   border-color: var(--color-tertiary); }
.block.block--button.has-bg-quaternary .button { background-color: var(--color-quaternary); border-color: var(--color-quaternary); }
.block.block--button.has-bg-black      .button { background-color: #000; border-color: #000; }
.block.block--button.has-bg-white      .button { background-color: #fff; border-color: #fff; }

.block.block--button.has-fg-primary    .button { color: var(--color-primary) !important; }
.block.block--button.has-fg-accent     .button { color: var(--color-accent) !important; }
.block.block--button.has-fg-accent-light .button { color: var(--color-accent-light) !important; }
.block.block--button.has-fg-secondary  .button { color: var(--color-secondary) !important; }
.block.block--button.has-fg-tertiary   .button { color: var(--color-tertiary) !important; }
.block.block--button.has-fg-quaternary .button { color: var(--color-quaternary) !important; }
.block.block--button.has-fg-black      .button { color: #000 !important; }
.block.block--button.has-fg-white      .button { color: #fff !important; }
