	*, *::before, *::after
	{
		box-sizing: border-box;
	}

	html, body
	{
		height: 100%;
	}
	
	body
	{
		margin: 0px;
		padding: 0px;
		background: #282828 url(images/bg01.png) repeat;
		font-family: 'Source Sans 3', 'Source Sans Pro', sans-serif;
		font-size: 12pt;
		font-weight: 400;
		color: #919191;
	}
	
	
	h1, h2, h3
	{
		margin: 0;
		padding: 0;
	}
	
	p, ol, ul
	{
		margin-top: 0;
	}
	
	ol, ul
	{
		padding: 0;
		list-style: none;
	}
	
	p
	{
		line-height: 180%;
	}
	
	a
	{
		color: #A0A0A0;
	}
	
	a:hover
	{
		text-decoration: none;
	}
	
	.clear
	{
		clear: both;
	}

	.container
	{
		margin: 0px auto;
		width: calc(100% - 32px);
		max-width: 1200px;
	}
	
/*********************************************************************************/
/* Heading Titles                                                                */
/*********************************************************************************/

	.title
	{
		margin-bottom: 2em;
	}

	.title h1,
	.title h2
	{
		letter-spacing: 0.10em;
		text-transform: uppercase;
		font-weight: 700;
		font-size: 2em;
		color: #FFF;
	}
	
	.title .byline
	{
		color: #9E9E9E;
	}

/*********************************************************************************/
/* Image Style                                                                   */
/*********************************************************************************/

	.image
	{
		display: inline-block;
	}
	
	.image img
	{
		display: block;
		width: 100%;
		height: auto;
		margin-right: 5px;
	}
	
	.image-full
	{
		display: block;
		width: 100%;
		margin: 0 0 2em 0;
	}
	
	.image-left
	{
		float: left;
		margin: 0 2em 2em 0;
	}
	
	.image-centered
	{
		display: block;
		margin: 0 0 2em 0;
	}
	
	.image-centered img
	{
		margin: 0 auto;
		width: auto;
	}

/*********************************************************************************/
/* List Styles                                                                   */
/*********************************************************************************/

	ul.style1 {
		margin: 0px;
		padding: 0px;
		list-style: none;
	}
	
	ul.style1 li {
		padding: 10px 0px 15px 0px;
		border-top: 1px solid #363636;
	}
	
	ul.style1 a {
		text-decoration: none;
		color: #919191;
	}
	
	ul.style1 a:hover {
		text-decoration: underline;
	}
	
	ul.style1 .first {
		padding-top: 0px;
		border-top: none;
	}

	ul.style2 {
		margin: 0px;
		padding: 0px;
		list-style: none;
	}
	
	ul.style2 li {
		padding: 25px 0px 15px 0px;
		border-top: 1px solid #363636;
	}
	
	ul.style2 .first {
		padding-top: 0px;
		border-top: none;
	}
	
	ul.style2 h3 {
		padding: 0px 0px 10px 0px;
		letter-spacing: 0.10em;
		color: #FFF;
	}
	
	ul.style2 a {
		text-decoration: none;
		color: #919191;
	}
	
	ul.style2 a:hover {
		text-decoration: underline;
	}

/*********************************************************************************/
/* Button Style                                                                  */
/*********************************************************************************/

	.button
	{
		display: inline-block;
		margin-top: 2em;
		background: #BC1414;
		border-radius: 5px;
		line-height: 4em;
		padding: 0 3em;
		-webkit-transition: all .25s ease-in-out;
		-moz-transition: all .25s ease-in-out;
		-ms-transition: all .25s ease-in-out;
		-o-transition: all .25s ease-in-out;
		transition: all .25s ease-in-out;
		letter-spacing: 0.25em;
		text-decoration: none;
		text-transform: uppercase;
		outline: 0;
		white-space: nowrap;
		font-family: inherit;
		font-weight: 700;
		font-size: 0.80em !important;
		color: #fff !important;
	}

		.button:hover
		{
			background: #BB1717;
			-webkit-transition: all .25s ease-in-out;
			-moz-transition: all .25s ease-in-out;
			-ms-transition: all .25s ease-in-out;
			-o-transition: all .25s ease-in-out;
			transition: all .25s ease-in-out;
		}
		
		.button:active
		{
			background: #B41313;
			-webkit-transition: all .25s ease-in-out;
			-moz-transition: all .25s ease-in-out;
			-ms-transition: all .25s ease-in-out;
			-o-transition: all .25s ease-in-out;
			transition: all .25s ease-in-out;
		}
		
/*********************************************************************************/
/* Logo                                                                          */
/*********************************************************************************/

	#logo
	{
		padding: 3em 0em;
		text-transform: uppercase;
	}
	
	#logo .site-name
	{
		margin: 0;
		font-size: 2em;
		font-weight: 700;
	}

	#logo .site-name a
	{
		text-decoration: none;
		font-size: 1.5em;
		color: #FFF;
	}
	
	#logo span
	{
		color: #E5484D;
	}
	
	#logo p
	{
		margin: 0;
		padding: 0;
		letter-spacing: 0.10em;
		font-size: 0.90em;
	}

	#logo p a
	{
		text-decoration: none;
	}


/*********************************************************************************/
/* Menu                                                                          */
/*********************************************************************************/

	#menu
	{
		background: #1B1B1B url(images/bg01.png) repeat;
		border-bottom: 4px solid #BC1414;
	}
	
	#menu ul
	{
		margin: 0;
		padding: 0px 0px 0px 0px;
		list-style: none;
		line-height: normal;
		text-align: center;
	}
	
	#menu li
	{
		display: inline-block;
	}
	
	#menu a
	{
		display: block;
		padding: 0em 2em;
		line-height: 80px;
		letter-spacing: 1px;
		text-decoration: none;
		text-transform: uppercase;
		font-size: 1em;
		font-weight: 700;
		color: #838383;
	}
	
	#menu .menu-toggle
	{
		display: none;
	}

	#menu .current_page_item a
	{
		background: #BC1414;
		color: #FFF;
	}
	
	#menu a:hover,
	#menu a:focus-visible
	{
		text-decoration: none;
		color: #FFF;
	}

/*********************************************************************************/
/* Banner                                                                        */
/*********************************************************************************/

	#banner
	{
		margin: 2em auto;
	}

	#banner img
	{
		display: block;
		width: 100%;
		height: auto;
	}

/*********************************************************************************/
/* Page                                                                          */
/*********************************************************************************/

	#page
	{
		display: flex;
		justify-content: space-between;
		gap: 100px;
		padding: 3em 0em;
		border-bottom: 1px solid #363636;
	}

/*********************************************************************************/
/* Content                                                                       */
/*********************************************************************************/

	#content
	{
		flex: 0 1 800px;
		min-width: 0;
	}

/*********************************************************************************/
/* Sidebar                                                                       */
/*********************************************************************************/

	#sidebar
	{
		flex: 0 0 300px;
	}
	
	#sidebar .title
	{
		letter-spacing: 0.10em;
		text-transform: uppercase;
		color: #FFF;
	}

/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/

	#footer {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2em 50px;
		padding: 6em 0em 4em 0em;
		border-bottom: 1px solid #363636;
	}
	
	#footer .title
	{
		letter-spacing: 0.10em;
		text-transform: uppercase;
		color: #FFF;
	}

/*********************************************************************************/
/* Copyright                                                                     */
/*********************************************************************************/

	#copyright
	{
		padding: 6em 0em;
		font-size: 0.75em;
		letter-spacing: 0.20em;
		text-align: center;
		text-transform: uppercase;
		color: #9E9E9E;
	}
	
	#copyright a
	{
		color: #A0A0A0;
	}

/*********************************************************************************/
/* Three Columns                                                                 */
/*********************************************************************************/

	#three-column
	{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		margin-bottom: 2em;
		background: #FFF;
		border-bottom: 4px solid #BC1414;
		color: #525252;
	}
	
	#three-column h2
	{
		margin: 1em 0em;
		text-transform: uppercase;
		font-size: 1.5em;
		font-weight: 700;
		color: #454445;
	}
	
	#three-column #tbox1,
	#three-column #tbox2,
	#three-column #tbox3
	{
		padding: 50px 50px 80px 50px;
	}

/*********************************************************************************/
/* Kurs, Fakten, Logo                                                            */
/*********************************************************************************/

	.kurs h2,
	.kurs h3
	{
		color: #FFF;
	}

	.kurs h2
	{
		margin-bottom: 0.25em;
		text-transform: uppercase;
		letter-spacing: 0.10em;
		font-size: 1.5em;
	}

	.kurs h3
	{
		margin: 1.5em 0 0.5em 0;
		letter-spacing: 0.05em;
	}

	.kurs-start
	{
		font-size: 1.25em;
		font-weight: 700;
		color: #E5484D;
	}

	ul.facts
	{
		margin: 0 0 1em 0;
		/* eigener Block neben gefloateten Bildern, damit die Trennlinien nicht ins Bild laufen */
		overflow: hidden;
	}

	ul.facts li
	{
		padding: 0.4em 0 0.4em 1.25em;
		border-top: 1px solid #363636;
		position: relative;
	}

	ul.facts li::before
	{
		content: "";
		position: absolute;
		left: 0;
		top: 1em;
		width: 8px;
		height: 2px;
		background: #BC1414;
	}

	.logo-box
	{
		display: inline-block;
		max-width: 100%;
		margin: 1em 0;
		padding: 12px 16px;
		background: #FFF;
		line-height: 0;
	}

	.logo-box img
	{
		display: block;
		max-width: 100%;
		height: auto;
	}

/*********************************************************************************/
/* Formular                                                                      */
/*********************************************************************************/

	.form
	{
		max-width: 560px;
		margin-top: 2em;
	}

	.form .field
	{
		margin-bottom: 1.25em;
	}

	.form label
	{
		display: block;
		margin-bottom: 0.35em;
		font-weight: 700;
		color: #FFF;
	}

	.form input,
	.form select,
	.form textarea
	{
		width: 100%;
		padding: 0.6em 0.75em;
		border: 1px solid #555;
		border-radius: 5px;
		background: #1B1B1B;
		font: inherit;
		color: #FFF;
	}

	.form input:focus,
	.form select:focus,
	.form textarea:focus
	{
		outline: 2px solid #E5484D;
		outline-offset: 1px;
		border-color: #E5484D;
	}

	.form .form-hint
	{
		font-size: 0.85em;
		line-height: 1.6;
	}

	.form .button
	{
		margin-top: 0.5em;
		border: 0;
		cursor: pointer;
	}

	.form .button:disabled
	{
		opacity: 0.6;
		cursor: wait;
	}

	.form-status
	{
		margin-top: 1em;
		font-weight: 700;
	}

	.form-status.ok
	{
		color: #7BD88F;
	}

	.form-status.error
	{
		color: #FF8A8A;
	}

/*********************************************************************************/
/* Video (Zwei-Klick-Lösung, siehe video.js)                                     */
/*********************************************************************************/

	.video
	{
		position: relative;
		width: 100%;
		margin-bottom: 2em;
		background: #111 url(images/pic03.jpg) center / cover no-repeat;
	}

	.video button
	{
		position: absolute;
		inset: 0;
		width: 100%;
		border: 0;
		background: rgba(0, 0, 0, 0.55);
		color: #FFF;
		font: inherit;
		font-weight: 700;
		letter-spacing: 0.05em;
		cursor: pointer;
	}

	.video button:hover,
	.video button:focus-visible
	{
		background: rgba(0, 0, 0, 0.35);
	}

	.video .play
	{
		display: block;
		width: 64px;
		height: 64px;
		margin: 0 auto 0.5em;
		border-radius: 50%;
		background: #BC1414;
		line-height: 64px;
		font-size: 1.5em;
	}

	.video p
	{
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0;
		padding: 0.5em 1em;
		background: rgba(0, 0, 0, 0.7);
		font-size: 0.75em;
		line-height: 1.5;
		color: #CCC;
	}

	.video p a
	{
		color: #FFF;
	}

	.video iframe
	{
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		border: 0;
	}

/*********************************************************************************/
/* Responsive                                                                    */
/*********************************************************************************/

	@media (max-width: 1000px)
	{
		#page
		{
			flex-direction: column;
			gap: 3em;
		}

		#content,
		#sidebar
		{
			flex: none;
		}

		#sidebar
		{
			max-width: 560px;
		}
	}

	@media (max-width: 860px)
	{
		#menu.js-nav .menu-toggle
		{
			display: flex;
			align-items: center;
			gap: 0.75em;
			width: 100%;
			padding: 0 1em;
			border: 0;
			background: none;
			font: inherit;
			font-weight: 700;
			line-height: 60px;
			letter-spacing: 1px;
			text-transform: uppercase;
			color: #FFF;
			cursor: pointer;
		}

		#menu .menu-icon,
		#menu .menu-icon::before,
		#menu .menu-icon::after
		{
			display: block;
			width: 22px;
			height: 2px;
			background: #FFF;
		}

		#menu .menu-icon
		{
			position: relative;
		}

		#menu .menu-icon::before,
		#menu .menu-icon::after
		{
			content: "";
			position: absolute;
			left: 0;
		}

		#menu .menu-icon::before { top: -7px; }
		#menu .menu-icon::after { top: 7px; }

		#menu.js-nav ul
		{
			display: none;
		}

		#menu.js-nav.open ul,
		#menu ul
		{
			display: block;
			text-align: left;
		}

		#menu li
		{
			display: block;
			border-top: 1px solid #363636;
		}

		#menu a
		{
			padding: 0 1em;
			line-height: 52px;
		}
	}

	@media (max-width: 800px)
	{
		#three-column,
		#footer
		{
			grid-template-columns: 1fr;
		}

		#three-column #tbox1,
		#three-column #tbox2,
		#three-column #tbox3
		{
			padding: 0 24px 40px 24px;
		}

		#footer
		{
			padding: 4em 0em 2em 0em;
		}

		#copyright
		{
			padding: 3em 0em;
			letter-spacing: 0.10em;
		}
	}

	@media (max-width: 600px)
	{
		body
		{
			font-size: 11pt;
		}

		#logo
		{
			padding: 1.5em 0em;
		}

		#logo .site-name
		{
			font-size: 1.25em;
		}

		.title h1,
		.title h2
		{
			font-size: 1.5em;
		}

		.image-left
		{
			max-width: 40%;
			margin: 0 1em 1em 0;
		}
	}
