/* @gula-code */

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

html {
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	margin: 0;
	font-family: var( --body-font );
	font-weight: var( --bodyweight );
	font-size: var( --fontsize );
	line-height: var( --lineheight );
	color: var( --sitefgcolor );
	background-color: var( --sitebgcolor );
}

hr {
	margin-top: 0rem;
	margin-bottom: 0rem;
	border: 0;
	border-top: 0px solid transparent;
}

img, video, svg { max-width: 100%; height: auto; }

a, a:visited {
	color: var( --site_link_color );
	text-decoration-line: underline;
	text-decoration-style: dotted;
	text-decoration-thickness: 1px;
	text-underline-offset: calc( var( --size-1 ) * 0.3 );
	transition: all .2s ease-in-out;
}
a:hover   { color: var( --site_linkhover_color ); }

a[id*="dest"] {
	display: block;
	width: 0;
	height: 0;
	position: relative;
	top: calc( -1 * var( --sprungmarke-versatz ) );
	visibility: hidden;
}

::-moz-selection { background-color: var( --selection_color ); color: rgba( var(--white), 1 ); }
::selection      { background-color: var( --selection_color ); color: rgba( var(--white), 1 ); }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	color: var( --title_color );
	font-family: var( --title-font );
	font-style: var( --font-normal );
	font-weight: var( --titleweight );
	margin: 0;
	padding: 0;
}
h1, .h1 { font-size: calc( var( --size-1 ) * 2 );    line-height: calc( var( --size-1 ) * 2.2 );  margin-bottom: calc( var( --size-1 ) * 0.45 ); letter-spacing:  0.05rem;  }
h2, .h2 { font-size: calc( var( --size-1 ) * 1.6 );  line-height: calc( var( --size-1 ) * 1.8 );  margin-bottom: calc( var( --size-1 ) * 0.4 );  letter-spacing: -0.05rem;  }
h3, .h3 { font-size: calc( var( --size-1 ) * 1.45 ); line-height: calc( var( --size-1 ) * 1.65 ); margin-bottom: calc( var( --size-1 ) * 0.4 );  letter-spacing: -0.05rem;  }
h4, .h4 { font-size: calc( var( --size-1 ) * 1.25 ); line-height: calc( var( --size-1 ) * 1.45 ); margin-bottom: calc( var( --size-1 ) * 0.3 );  letter-spacing: -0.025rem; }
h5, .h5 { font-size: calc( var( --size-1 ) * 1.13 ); line-height: calc( var( --size-1 ) * 1.33 ); margin-bottom: calc( var( --size-1 ) * 0.25 ); letter-spacing: -0.025rem; }
h6, .h6 { font-size: calc( var( --size-1 ) * 1 );    line-height: calc( var( --size-1 ) * 1.2 );  margin-bottom: calc( var( --size-1 ) * 0.15 ); letter-spacing: -0.025rem; }


p {
	margin: 0 0 calc( var( --size-1 ) * 0.65 );
	padding: 0;
	-webkit-hyphens: auto;
	hyphens: auto;
}

b, strong {
	font-weight: var( --strongweight );
}

ul { margin: 0; padding: 0; list-style: none; text-align: left; }
ol { margin: 0; padding: 0; text-align: left; }

p ~ ul, p ~ ol { margin-top: calc( var( --size-1 ) * -0.65 ); }

ul li, ol li {
	padding-left: 0;
	margin-bottom: calc( var( --size-1 ) * 0.2 );
	-webkit-hyphens: auto;
	hyphens: auto;
}
ul li { margin-left: calc( var( --size-1 ) * 0.8 ); }
ol li { margin-left: calc( var( --size-1 ) * 2 ); }

ul li::before {
	background-color: var( --title_color );
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 8px;
	width: 8px;
	margin-right: 10px;
	margin-bottom: 2px;
	margin-left: -1.05rem;
}

.small ul li { margin-left: calc( var( --size-1 ) * 0.8 ); }
.small ol li { margin-left: calc( var( --size-1 ) * 1.5 ); }

:focus-visible { outline: 2px solid var( --site_linkhover_color ); outline-offset: 2px; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip-path: inset( 50% );
	white-space: nowrap;
}



.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 10px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 10px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
