a { 
	text-decoration: none;
	color: var(--color_1, #1b75d0);
	&:hover { 
		text-decoration: underline; 
		text-decoration-color: var(--color_1);
	}
    svg, svg.icon { fill: var(--color_1); } 
}
.rte a { 
	text-decoration: underline; 
	&:hover { background-color: color-mix(in srgb, var(--color_1, #000) 10%, transparent 90%); }
}

body { 
    font-size: var(--font_size); 
    font-weight: var(--font_weight); 
    color: var(--font_color); 
    font-family: var(--font_family); 
    line-height: var(--line_height); 
    min-width: 280px; 
	margin: 0;
}

button { 
    display: inline-block;
    background: #fff;
    color: var(--button_font_color, var(--color_1, #000));
    font-weight: var(--button_font_weight, normal);
    font-style: normal;
    font-size: 100%;
    border: 1px solid var(--button_border_color, var(--color_1, #000));
    border-radius: var(--button_border_radius, 0.25rem);
    text-decoration: none;
    padding: 0.25rem 2rem;
    line-height: 1.4;
    transition: all 0.25s ease-in-out;
	&:hover { 
		cursor: pointer;
		background: var(--button_color_hover, var(--color_1, #000));
		color: var(--button_font_color_hover, #fff);
		border-color: var(--button_border_color_hover, var(--color_1, #000));
		svg, svg.icon { fill: var(--button_font_color_hover, #fff); }
	}
}

dl {
    display: grid;
    grid-template-columns: auto 1fr;
	margin: 0;
    @media(max-width:1023px){ display: block; }
	dd { 
        margin-inline-start: 7px; 
    }
}

figure { 
	margin: 0;
	picture { display: contents; }
	img { 
		display: block; 
		height: auto; 
		max-width: 100%; 
		vertical-align: bottom; 
	}
    figcaption { font-size: 0.9em; }
}

h1, h2, h3, h4, h5, h6 { 
    line-height: 1.3; 
    font-weight: 300; 
    margin: 0;
	@media(max-width:1023px){ text-align: left; } 
}
h1 { font-size: 40px; line-height: 1.1; }
h2 { font-size: 26px; }
h3 { font-size: 18px; }
h4 { font-size: 19px; }

hr { 
	border: 0; 
	border-bottom: 1px solid #fff; 
	border-top: 1px solid #ccc; 
	display: block; 
	height: 0; 
	margin: 30px 0 0px; 
	padding: 0; 
	margin-bottom: 0; 
	overflow: visible;
}

iframe {
	display: block;
	margin-left: auto; 
	margin-right: auto; 
	border: 0; 
	width: 100%;
	.mod_article & { display: grid; }
}

p { margin: 0; }

svg, svg.icon { 				width: 1em;  height: 1em;  fill: currentcolor; 	vertical-align: -.125em; }
em svg, em svg.icon { 			width: 30px; height: 30px; fill: currentcolor;	vertical-align: -5px; }
strong svg, strong svg.icon {	width: 60px; height: 60px; fill: currentcolor;	vertical-align: -21px; }
code svg, code svg.icon {		width: 150px; height: 150px; fill: currentcolor;vertical-align: -70px; }

*:has( > i.svg.button ) { display: inline-block; }
i.svg {
	width: 1em;
	height: 1em;
	vertical-align: middle;
	border-radius: 50%;
	&.button {
		display: grid;
		align-items: center;
		justify-content: center;
		width: 2em;
		height: 2em;
		background-color: var(--color_1);
		svg { fill: #fff; }
	}
	svg {
		height: 1em;
		vertical-align: 0;
	}
}

table, table td, table tr { border: 0; }
table {
	td {
		padding-right: 20px;
		&:last-child { padding-right: 0; }
	}
}

video { max-width: 100%; height: auto; }
.volleBreite video { width: 100%; }