* {
margin: 0;
padding: 0;
outline: none;
}
/*
.w25 { width: calc((100% - 3*var(--gap))/4               ); }
.w33 { width: calc((100% - 2*var(--gap))/3               ); }
.w50 { width: calc((100% -   var(--gap))/2               ); }
.w67 { width: calc((100% - 2*var(--gap))/3*2 + var(--gap)); }
.w-auto { width: auto; }
*/


html, body {
	height: 100%;
}

.w33 {
	width: 32%;
}

.w66 {
	width: 65%;
}

.w50 {
	width: 49%;
}

img {
	width: 100%;
	height: auto;
}

joomla-alert[type="danger"] {
	display: none!important;
}

iframe {
	width: 100%;
	height: 400px;
}

.facebook iframe {
	height: 550px!important;
}


.clr, .clearfix {
clear: both;
float: none;
display: block;
height: 0;
width: 100%;
line-height: 0px;
font-size: 0px;
}

body {
background: #fff;/*linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(193,158,128,1) 100%);*/
color: #000;
font-size: 1.2em;
text-align: left;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-family: 'Open Sans';
font-weight: 400;
}

header .moduletable.sliderbild {
  display: none;
}


a {
	color: #494948;
	text-decoration: none;
	transition: ease 0.5s all;
}

main a {
	font-weight: 700;
}


header .dj-megamenu-default li:hover a.dj-up_a, 
header .dj-megamenu-default li.hover a.dj-up_a, 
header .dj-megamenu-default li.active a.dj-up_a,
a:hover {
	color: #ed1e24;
}

header .dj-megamenu-default li a.dj-up_a {
	font-size: 1rem;
}

.inner,
.headline-small {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}

li {
	list-style-type: none;
}

p {
	margin-bottom: 10px;
}

header p {
	margin-bottom: 0;
}

main li {
	list-style-type: '⁓ ';
  	list-style-position: outside;
  	margin-left: 18px;
}

li a {
	text-decoration: none;
	color: inherit;
}

#widget1,
#widget2,
#widget3 {
	margin-top: 100px;
}

h1, h2, h3 {
	margin: 20px 0;
	font-family: 'Exo';
	color: #ed1e24;
	line-height: 1.2em;
	font-weight: bold;
}

h1 {
	font-size: 3rem;
	line-height: 2em;
	margin: 20px 0;
}

header h1 {
  color: #9b6e37!important;
  text-align: center!important;
  font-size: 22pt!important;
}

h2 {
	font-size: 2rem;
	text-align: left;
	color: #000;
}

h2(:not.error)::after {
	content: '';
	width: 65px;
	height: 2px;
	color: #fff;
	background: #000;
	display: block;
	margin-top: 15px;
}

header h2 {
	text-align: center;
}

h3 {
	font-size: 1.5rem;
	color: #616161;
	text-transform: uppercase;
}

h4 {
	font-size: 1.3rem;
	margin: 10px 0;
	font-weight: bold;
	color: #fff;
	background-color: #909090; 
	width: 300px; 
	margin-left: -20%;
	padding: 10px 0 10px 19%;
}

.rechtliches h4 {
	background: none;
	color: inherit;
	width: 100%;
	margin-left: 0;
	padding: 0;
}

header .menu {
	display: flex;
	justify-content: flex-end;
}


header .logo .custom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 5%;
}

header .logo .custom p {
	font-size: 1.5em;
}

header .dj-megamenu-default {
	background: none;
}

header .dj-megamenu-default li a.dj-up_a {
	border: none;
}

.entry-content h1, 
.entry-content h2, 
.entry-content h3, 
.entry-content h4, 
.entry-content h5, 
.entry-content h6 {
    scroll-margin-top: 120px;
}


/* HEADER */

header,
header .headbox .moduletable.schriftzug h2 {
		transition: all 0.5s ease;
}

header a {
	color: #fff;
	font-family: 'Exo';
}

header .headbox {
	background: #000;
	color: #fff;
	position: fixed;
	width: 100%;
	height: 100px;
	top: 0;
	z-index: 1001;
	padding: 7px 0;
	transition: all 0.5s ease;
}

header .headbox .logo .custom p {
	transition: all 0.5s ease;
}

header .headbox.small {
	padding-bottom: 0;
}

header .headbox.small .moduletable.logo img {
	width: 85px;
}


header .inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}



header .moduletable.schriftzug {
	width: 45%;
}

header .moduletable.menuicon {
	text-align: right;
}


header .moduletable.logo img {
	width: 95px;
	height: auto;
	transition: all 0.5s ease;
}
/*

header a.dj-mobile-open-btn {
	width: 60px;
	z-index: 99999;
} 
*/
header .dj-megamenu-default li:hover a.dj-up_a, 
header .dj-megamenu-default li.hover a.dj-up_a, 
header .dj-megamenu-default li.active a.dj-up_a {
	border: none;
	background: none;
}




header .dj-subcol {
	background: #000;
	width: 250px!important;
}

header .dj-subwrap-in {
	width: 250px!important;
}


header .dj-megamenu-default li ul.dj-submenu>li>a {
	font-weight: bold;
	text-transform: uppercase;
}

header .dj-megamenu-default li ul.dj-submenu>li>a:hover, 
header .dj-megamenu-default li ul.dj-submenu>li>a.active, 
header .dj-megamenu-default li ul.dj-submenu>li.hover:not(.subtree)>a {
	background: #000;
	color: #ed1e24;
	font-weight: bold!important;
}


header .dj-megamenu-default li ul.dj-submenu>li>a {
	font-size: 1rem;
}

header .dj-megamenu-default li ul.dj-submenu > li.parent > a .arrow,
header .dj-megamenu-default li ul.dj-submenu > li.parent:not(.subtree) > a:hover .arrow {
	right: 1px;
}


/* MAIN */
main {
	padding-top: 114px;
  	background: #fff;
}

.rechtliches main {
	padding-top: 70px;
}

main a:hover,
main li.active a,
main li.active span {
	color: #ed1e24;
}

body.start main table tr td:nth-child(1) {
	color: #6F0001;
	font-weight: bold;
}


main .breadcrumbs {
	background: #AB998A;
	margin: 0 0 30px 0;
  	padding: 5px 0;
}

.com-content-article {
	margin: 0 0 calc(2em + 20px) 0;
}

/*
main .moduletable.breadcrumbs li {
	float: left;
	list-style-type: none;
	margin-left: 0;
}

main .moduletable.breadcrumbs li::before {
	content: none;
}

main .moduletable.breadcrumbs li a span::after {
	content: '⁓';
	margin: 0 5px;
}

main .moduletable.breadcrumbs li.float-start {
	display: none;
}
*/

#wirsuchendich,
#news2,
#news3 {
	visibility: hidden; 
	height: 0px !important; 
	position: absolute; 
	margin: -200px;
}

figure.right {
	float: right;
	width: 49%;
	margin: 0 0 0 2%;
}

figure.left {
	float: left;
	width: 49%;
	margin: 0 2% 0 0;
}

figure.wide {
	float: none;
	width: 100%;
}

.bildrechts {
	width: 49%;
}

.news-home,
.team,
.nachwuchs,
.contenbox,
.aktuelles {
	margin: 2% 0;
	padding: 2% 0;
}

main .news-home ul li {
	position: relative;
}

main .news-home ul li a {
	position: absolute;
	bottom: 0;
	width: 100%;
}

main .news-home h2 {
	color: #000;
}

main .news-home a {
	display: inline-block;
	position: static !important;
}

main .news-home a button {
	position: absolute;
	bottom: 0;
	margin: 0;
	width: 100%;
}

main .moduletable.news {
	margin: 0 0 80px 0;
}


.nachwuchs {
	text-align: center;
	padding: 2% 0;
}

.contentbox:before {
	content: "";
	width: 100%;
	max-width: 1400px;
	height: 2px;
	background: #000;
	display: block;
	margin: 0 auto 20px;
}

.mannschaften .contentbox:before {
	width: 0;
	height: 0;
}


button {
	background: #ed1e24;
	color: #fff;
	margin: 5% 0;
	padding: 10px 0;
	width: 50%;
	text-align: center;
	transition: all 0.5s ease;
	border: none;
	font-size: 1.2rem;
}

.facebook button {
	width: 100%;
	background: #494948;
}

button a {
	font-size: 1.2rem;
}

button:hover {
	cursor: pointer;
	background: #000;
}

button:hover a {
	color: #ed1e24;
}

.dark {
	color: #fff;
}

.dark h3 {
	color: #fff;
}

main .contentbox .custom {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1em;
}

main .contentbox .custom p:last-child {
	display: flex;
	width: 100%;
	justify-content: center;
}

.team,
.aktuelles {
	background: #494948;
}

.aktuelles {
	text-align: center;
}

.aktuelles h2 {
	text-align: center;
	color: #fff;
}

.team .inner {
	display: flex;
	flex-wrap: wrap;
	gap: 2%;
}

.team h2 {
	color: #fff;
}

.team h2:after {
	background: #fff;
}

.team.w33 {
	width: 32%;
	height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.5rem;
}

body.team .team h2 {
	display: none;
}

.team a {
	color: #494948;
	text-transform: uppercase;
	font-weight: bold;
}
button a {
	color: #fff;
	text-transform: uppercase;
}

.team a:hover {
	color: #000;
}

.team .moduletable.team,
.moduletable.jugend.team a {
	background: #fff;
	color: #494948;
	border-radius: 20px;
}


.team.jugend .custom {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 5%;
}

.team.jugend p {
	width: 20%;
	display: flex;
}

.team.jugend a {
	padding: 10%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
}

.team.jugend a:hover {
	color: #000;
}

.sponsoren {
	display: flex;
	flex-wrap: wrap;
}

.sponsoren p {
	display: flex;
	align-items: center;
}

.sponsoren img {
	width: 200px;
	height: auto;
	transition: all 0.5s ease;
}

.sponsoren img:hover {
	transform: scale(1.2);
}

body .dj-offcanvas-pusher-in {
	position: static;
}

/* MITGLIEDSBEREICH */

.login {
	margin: 5% 0;
}

.mod-login .form-group,
.control-group {
	padding: 10px 0;
}

#user-registration fieldset {
	border: none;
}

.mod-login input,
#user-registration .controls input {
	height: auto;
	font-size: 18px;
}

.icons div {
	display: none;
}



/* FOOTER */

footer {
	background: #000;
	color: #fff;
	font-size: 14pt;
	width: 100%;
	height: auto;
	padding: 10px 0;
}

footer .inner {
	display: flex;
}

footer .moduletable {
	width: 33%;
}

footer .social table {
	border-spacing: 10px;
}

footer .social td {
	text-align: center;
}

footer button {
	display: none;
}

footer nav ul li ul li {
	margin-left: 15px;
}

footer nav ul li {
	transition: all 0.5s ease;
}

footer ul li.item-121 {
	margin: 15px 0 0 0;
}

footer nav ul li:hover a,
footer nav ul li.active a {
	color: #616161;
}


footer img {
	width: auto;
	transition: all 0.5s ease;
}

footer img:hover {
	transform: scale(1.2);
}
/* MEDIA QUERIES */


@media ( max-width: 1500px ) {
	.inner,
	.headline-small {
		width: 96%;
	}
	
	header .moduletable.logo {
		width: 65%;
	}
	
	header .logo .custom {
		justify-content: flex-start;
	}
	
	header .moduletable.menuicon {
		display: block;
	}
	
	header .moduletable.mobilemenu {
		display: flex;
		justify-content: flex-end;
	}
	
	header .dj-megamenu-offcanvas-light .dj-mobile-open-btn,
	header .dj-megamenu-offcanvas-light .dj-mobile-open-btn:hover, 
	header .dj-megamenu-offcanvas-light .dj-mobile-open-btn:focus {
		background: none;
		padding: 0;
	}
	
	.dj-offcanvas,
	.dj-offcanvas-light,
	.dj-offcanvas-light .dj-offcanvas-top,
	aside ul.dj-mobile-light li.dj-mobileitem>a,
	aside ul.dj-mobile-light ul li.dj-mobileitem>a {
		background: #000!important;
		color: #fff;
}
	
	aside ul.dj-mobile-light li.dj-mobileitem:hover>a, 
	aside ul.dj-mobile-light li.dj-mobileitem.active>a {
		color: #ed1e24!important;
	}
	
	ul.dj-mobile-light {
		width: 90%;
	}
	
	header .dj-mobile-open-btn span {
		width: 5px;
		height: 40px;
		display: block;
		background: #fff;
		margin-right: 5px;
		float: left;
		transition: all 0.5s ease;
	}
	
	header .dj-megamenu-select-light .dj-mobile-open-btn span+span, 
	header .dj-megamenu-offcanvas-light .dj-mobile-open-btn span+span, 
	header .dj-megamenu-accordion-light .dj-mobile-open-btn span+span {
		margin-left: 0;
	}
	
	header .dj-mobile-open-btn:hover span.line3 {
		height: 25px;
		margin-top: 15px;
	}

	header .dj-mobile-open-btn ul {
		background: none;
	}

	header .dj-mobile-open-btn ul li a {
		border: none;
	}

	header .dj-mobile-open-btn ul li:hover a {
		color: #000;
	}
}

@media ( max-width: 1474px ) {}

@media ( max-width: 1330px ) {
	
	main .contentbox .moduletable {
		width: 100%;
		margin: 0 0 20px 0;
	}	
}


@media ( max-width: 1200px ) {}


@media ( max-width: 1100px ) {
	.team.w33 {
		text-align: center;
		width: 49%;
	}

	.team.w33:last-child {
		width: 100%;
	}
}

@media ( max-width: 980px ) {
	
	h3 {
		text-transform: none;
	}
	
	.news-home {
		margin: 50px 0;
	}
	
	.team {
		padding: 50px 0;
	}
	
	.team.w33 {
		width: 100%;
		height: 100px;
		padding: 0;
	}
	
	figure.right,
	figure.left,
	.bildrechts,
	.bildlinks {
		float: none;
		width: 100%;
		margin: 0 auto;
		order: 2;
	}
	
	figure.right img,
	figure.left img {
		margin-bottom: 50px;
	}
	
	.schiedsrichter .com-content-article {
		display: flex;
		flex-wrap: wrap;
	}
	
	.schiedsrichter .com-content-article__body {
		order: 1;
	}
}
@media ( max-width: 900px ) {}


@media ( max-width: 780px ) {
	
	footer .inner {
		display: block;
	}
	footer .moduletable {
		width: 100%;
		margin: 0 0 3% 0;
	}
	
	footer .social table {
		border-spacing: 0px 10px;
	}
}


@media ( max-width: 643px ) {
	
	h1 {
		font-size: 2.5rem;
	}
	
	header .moduletable.logo {
		width: 85%;
	}
	
	header .moduletable.mobilemenu {
		width: 15%;
	}
	
	.team.jugend .custom {
		display: block;
	}
	
	.team.jugend p {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}
	
	.team.jugend p:last-child {
		margin-bottom: 0;
	}
	
	.team.jugend a {
		padding: 2%;
	}
	
	footer .moduletable {
		width: 100%;
		margin-bottom: 20px;
	}
}


@media ( max-width: 600px ) {
	
	header .logo .custom p {
		font-size: 1.2em;
	}
	
	.mod-articlesnews-horizontal {
		display: block;
	}
	
	main .news-home a button {
		position: static;
		margin: 2% 0;
	}


}
@media ( max-width: 540px ) {}

@media ( max-width: 500px ) {
	.sponsoren img {
		width: 150px;
	}
}
@media ( max-width: 428px ) {
	
	h1 {
		line-height: 1em;
		font-size: 2.3rem;
	}
	
	header .logo .custom p {
		font-size: 1em;
	}
}

@media ( max-width: 355px ) {
	header .logo .custom p {
		font-size: 0.9em;
	}
	
	.sponsoren img {
		width: 130px;
	}
}