.container h2, 
.container h3, 
.container h4 {font-weight: 600; padding-left: 0;}

.container h2 {
	text-transform: uppercase; 
}
.container h2.underline,
.container.first > .row > div > h2:first-child,
.container.first > .row > main > h2:first-child {
	position: relative;
	margin-bottom: 1.25em;
	text-align: center;
}
.container h2.underline:after,
.container.first > .row > div > h2:first-child:after,
.container.first > .row > main > h2:first-child:after {
	content: "";
	border-bottom: 2px black solid;
    display: inline-block;
    width: 150px;
    position: absolute;
    bottom: -5px;
    left: calc(50% - 75px);
}


.container h2.underline.underline-left {
    text-align: left;
}
.container h2.underline.underline-left:after {
    left: 0px;
}
.is-mobile .container h2.underline.underline-left {
    text-align: center;
}
.is-mobile .container h2.underline.underline-left:after {
    left: calc(50% - 75px);
}

span.hidethis {display: inline;}

@media(min-width:992px){
	#wrap>.container:not(.first) {
		margin-top: 0;
	}
}

body {font-family: 'Open Sans', sans-serif;font-weight: 400;font-size: 1.5em;line-height: 1.5;}
a {font-weight: 400;}
p:not(:empty) {margin-bottom: 1em;}

.container .row img {
    width: auto;
	max-width: 100%;
}

.container.maincontent, 
.container.maincontent.firstfirst + .container.maincontent,
#footer {
	padding-top: 40px; padding-bottom: 40px;
}

.container > .row .rowinrow {
	margin-left: -10px; 
	margin-right: -10px;
}

.startpagelinks .holder .inner .mininav li { min-height: 47px; margin-bottom: 5px; width: 100%;}
.startpagelinks .holder .inner .mininav li a {min-width: 200px; float: none; display: inline-block; margin: 0 auto; border-radius: 25px;}
.startpagelinks .holder .inner .mininav li a:focus-visible {outline-offset: 2px;outline-style: solid;outline-width: 1px;}

.container.maincontent.first + .container.maincontent  + .container.maincontent{
	background-color: #fff !important;
}
.container.maincontent.first,
.container.myteam {
	background-color: #fff !important;
}

.container.jumbotron {
	width: 100%;
	height: calc(100vh - 100px);
	min-height: 100%;
	position: relative;
	overflow: hidden;
	text-align: center;
	background-repeat: no-repeat !important;
	background-attachment: scroll !important;
	background-position: center center !important;
	background-size: cover !important;
}

.is-mobile .container.jumbotron {
	height: calc(100vh - 120px);
}

.container:not(.jumbotron) > .row {width: 100%;max-width: 1100px; margin: 0 auto;}
.container:not(.jumbotron) .row > div,
.container:not(.jumbotron) .row > main {min-height: auto !important;}

.container.jumbotron + .container {
	position: relative;
}

.container.jumbotron + .container:before {
	font-family: FontAwesomeSolid;
	position: absolute;
	content: "\f078";
	top: 5px;
	left: 50%;
	color:#666;
	font-size: 20px;
}

#wrap>.container.jumbotron,
#wrap>.container.jumbotron + .container {
    margin-top: 0;
}

#wrap>.container.jumbotron + .container h2 {
    padding-top: 20px;

}

#wrap>.container.jumbotron {
    margin-top: 70px;
}

#wrap>.container.jumbotron .jumbotron-flex {
	display: flex;
	align-items: center;
	justify-content: center;
}

.is-mobile #wrap>.container.jumbotron + .container.welcome {
	padding-top: 20px;
}

.container.jumbotron .row, 
.container.jumbotron .row > div,
.container.jumbotron .row > main {height: 100%;}
.container.jumbotron h2 {border: none; padding-top: 0; font-size: 3em; margin-bottom: 1em;font-weight: 600;} 
.container.jumbotron h2 span {display: block; font-size: 2rem;font-weight: 600;}
.container.jumbotron .logo {
	display: inline-block;
	padding: 0 10px; 
	margin: 0 auto; 
	position: relative;
	width: auto; 
	height: auto;
}
.container.jumbotron .logo img {
	width: 100%;
}

.navbar .navbar-header {
	padding-left: 10px;
}
.navbar .navbar-header,
.navbar .navbar-header h1,
.navbar-default .navbar-nav>li.active ,
.navbar-default .navbar-nav>.active>a, 
.navbar-default .navbar-nav>.active>a:hover, 
.navbar-default .navbar-nav>li>a:hover, 
.navbar-default .navbar-nav>.active>a:focus {
    background-color: transparent !important;
}

.navbar .navbar-header h1 {
	max-width: 250px;
	white-space: nowrap;
    text-overflow: ellipsis;
	overflow: hidden;
	font-size: 17px;
}

.navbar-nav li a {
    font-weight: 400;
}

.grouplistContainer>.col-md-12 {
    padding-left: 10px;
    padding-right: 10px;
}

.container.maincontent:nth-child(even), 
.container.maincontent.first.firstfirst,
.container.maincontent.first.firstfirst + .container.maincontent + .container.maincontent,
.container.maincontent.first:not(.firstfirst) + .container.maincontent {background-color: #f1f1f1;}


.container .holder{display: table;position: relative;width: 100%;height: 100%;}
.container .holder .inner {display: table-cell;vertical-align: middle;position: relative;width: 100%; text-align: center;}
.container .holder .inner ul {margin: 0;}
.container .holder .inner li {display: inline-block; width: auto;}
.container .holder .inner li a {width: auto; height: auto;min-width: 170px; padding: 10px 7px;}
.container .holder .inner li a .fa {float: none !important; margin-right: 3px;}
.container .holder .inner li a .fa.fa-chevron-right {display: none;}
.container .holder .inner li a:after {border-left: none;}
#footer {margin-top: 0; color: #fff;}
	
.alert {padding: 15px;}
.alert.alert-danger {background-color: transparent; border-color: #ea4335; color: #222;}
.alert.alert-danger .fas {color: #ea4335;}
.alert.alert-info {background-color: transparent; border-color: #6ba4ff; color: #222;}
.alert.alert-info .fas {color: #6ba4ff;}
.alert.alert-success {background-color: transparent; border-color: #34a853; color: #222;}
.alert.alert-success .fas {color: #34a853;}

@media(max-width:992px){
	.startpagelinks .holder .inner .mininav {display: flex;flex-direction: row;gap: 15px;justify-content: center;flex-wrap: wrap;}
	.startpagelinks .holder .inner .mininav li {width: auto; min-height: 40px; margin-bottom: 0;}
	.startpagelinks .holder .inner .mininav li a {min-width: unset; font-size: 16px; padding: 8px 25px;}

	.container.maincontent.first,
	.container.myteam {
		min-height: calc(100vh - 350px);
	}
	
	.container.jumbotron h2 span {margin-top: .5em;}
	
	.is-mobile #footer>.container>.row.foot, .fromApp #footer>.container>.row.foot {
		display: block;
	}
	.container >.row > .col-sm-12 {width: 100%;}
}
@media(min-width:992px){
	
	.container h2.underline,
	.container.first > .row > div > h2:first-child,
	.container.first > .row > main > h2:first-child {
		margin-bottom: 2em;
	}

	#wrap>.container.jumbotron + .container h2 {
		padding-top: 5px;
	}

	.container h2.underline:after,
	.container.first > .row > div > h2:first-child:after,
	.container.first > .row > main > h2:first-child:after {
		bottom: -12px;
	}

	.container.maincontent.first,
	.container.myteam {
		min-height: calc(100vh - 300px);
	}

	.form-horizontal .control-label, 
	.form-horizontal .radio, 
	.form-horizontal .checkbox, 
	.form-horizontal .radio-inline, 
	.form-horizontal .checkbox-inline {
		padding-top: 9px;
	}
	.form-group .form-control {
		height: 40px;
	}
	
	.container.maincontent, 
	.container.maincontent.firstfirst + .container.maincontent,
	#footer {
		padding-top: 80px; padding-bottom: 70px;
	}
	
	.container.maincontent.firstfirst{
		margin-top: 70px !important;
	}
	
	#wrap  {width: 100%;margin:0;padding: 0;}
	
	.navbar {
		position: fixed;
		width: 100%;
		min-height: 70px;
		z-index: 1000;
		margin-bottom: 0;
		top: 0;
	}
	
	.navbar h2 {
		font-size: 1em;
		padding: 10px 10px 10px 15px;
		margin: 0;
	}

	.navbar .flex-box .flex-box_col + .flex-box_col {
		margin-top: 1em;
	}

	.is-lg .navbar .flex-box .flex-box_col + .flex-box_col {
		margin-top:0;
	}
	
	.navbar>.container {
		max-width: 1400px; 
		margin-top: 15px;
	}
	
	.navbar .navbar-header {width: auto !important;}

	.container.jumbotron h2 {
		padding-top: 0;
		font-size: 5em;
		margin-bottom: 3rem;
	} 
	.container.jumbotron h2 span {
		font-size: 3rem;
		padding-top: 3rem;
	}
	
	.navbar .navbar-header  h1{
		margin-top: 10px;
		background-image: none !important; 
		background-color: transparent !important; 
		border: none !important;
		height: auto !important;
		min-height: 20px !important;
		width: auto !important;
		text-indent: 0px !important;
		padding-top: 0 !important;
	}
	.navbar .navbar-collapse {width: auto !important; float: right !important;}
	.navbar .navbar-collapse ul {width: auto !important; }
	.navbar .navbar-collapse ul li.lang {display: none !important;}
	.navbar .navbar-collapse ul li a {display: block; width: 100%; padding: 2px 0 ;}
	.navbar .navbar-collapse ul li a:hover {text-decoration: none;}
	.navbar .navbar-collapse > ul > li {max-width: 125px;}
	.navbar .navbar-collapse > ul > li > a {
		padding: 10px 15px 22px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.navbar .navbar-collapse ul li.active, 
	.navbar .navbar-collapse ul li.active a:hover{background-color: transparent;}
	.navbar .navbar-collapse ul li.active a, 
	.navbar .navbar-collapse ul li a:hover {background-color: transparent;}
	
	.navbar .navbar-nav > li > span {
		display: none;
		position: absolute;
		top: 52px;
		left: 0;
		padding: 0;
		min-width: 200px;
	}
	.navbar .navbar-nav > li.has-submenu span .list-unstyled {
		visibility: hidden;
		opacity: 0.3;
	}
	/*.navbar .navbar-nav > li.has-submenu:focus-within > span,*/
	.navbar .navbar-nav > li.has-submenu.clicked > span {
		display: block !important;
	}
	/*.navbar .navbar-nav > li.has-submenu:focus-within .list-unstyled,*/
	.navbar .navbar-nav > li.has-submenu.clicked .list-unstyled {
		opacity: 1;
		visibility: visible;
	}
	
	/*.navbar .navbar-nav > li.has-submenu:focus-within .list-unstyled,*/
	.navbar .navbar-nav > li.has-submenu.clicked .list-unstyled {
		min-width: 150px;
		max-width: 200px;
		/*box-shadow: 0px 1px rgb(0, 0, 0, .2);*/
		border-bottom: none;
	}

	.navbar .navbar-nav > li.has-submenu.clicked span > .list-unstyled, 
	.navbar .navbar-nav > li.has-submenu.clicked .flex-box {
		padding-top: 5px;
		border-right: 1px solid rgba(0,0,0,0.05);
		border-bottom: 1px solid rgba(0,0,0,0.05);
		border-left: 1px solid rgba(0,0,0,0.05);
	}

	/*.navbar .navbar-nav > li.has-submenu:focus-within .list-unstyled li a,*/
	.navbar .navbar-nav > li.has-submenu.clicked .list-unstyled li a {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		padding: 8px 15px;
	}

	/*.navbar .navbar-nav > li.has-submenu:focus-within .list-unstyled li a,*/
	.navbar .navbar-nav > li.has-submenu.clicked .list-unstyled li a {
		/*box-shadow: 0px -1px rgb(0, 0, 0, .2);*/
	}
	
	.navbar .navbar-collapse > ul > li ul + ul {
		margin-top: 1em;
	}
	
	.navbar .navbar-nav > li a:focus-visible {
		outline-offset: 1px;
	  	outline-style: solid;
	  	outline-width: 1px;
	  	outline-color:#fff;
		box-shadow: 0 0 0 1px #222;
	}

	.navbar .navbar-nav > li.has-submenu .list-unstyled a:focus-visible {
		outline: none;
		box-shadow: none;
	  	text-decoration: underline !important;
	}
	
	.languages.has-submenu a:focus img,
	.languages.has-submenu a:focus-visible img {
	  outline-offset: 1px;
	  outline-style: solid;
	  outline-width: 1px;
	  outline-color:#fff;
	}
	
	/*.has-submenu:focus-within .list-unstyled a,*/
	.has-submenu.clicked .list-unstyled a  {
		opacity: 1;
	  }
  
	  /*.has-submenu:focus-within:after,*/
	  .has-submenu.clicked:after {
		opacity: 1;
	  }
	
	.container {width: 100%;}
	.container > .row > div,
	.container > .row > main {padding: 0 10px !important}
	.container .row > div.secondary,
	.container .row > aside.secondary {padding-left: 30px !important;}
	.container.maincontent.first,
	.container.myteam {margin-top: 70px; padding-top: 80px;}
	/*.container.maincontent.first:not(.no-bg) {padding-top: 300px;position: relative;}
	.container.maincontent.first:not(.no-bg):before {
		height: 250px;
	}
	.container.maincontent.first:not(.no-bg):after {
		height: 250px;
	}*/
	
	.container.maincontent.first.firstfirst {padding-top: 110px; padding-bottom: 50px;}
	.container.maincontent.facetwitt .fblikebox, .container.maincontent.facetwitt  .twitterbox{width: 60%;}
	.container.maincontent.facetwitt.double .fblikebox {float: left;width: 45%;}
	.container.maincontent.facetwitt.double .twitterbox {float: right;width: 45%;}
	.container.maincontent.facetwitt.single .fblikebox, .container.maincontent.facetwitt.single  .twitterbox{margin: 0 auto;}
	.container >.row > .col-md-12 {width: 100%;/*max-width: 80%;*/margin: 0 auto;}
	.container >.row > .col-md-10 {width: 83.33333333%;margin: 0 auto;}
	.container >.row > .col-md-9 {width: 75%; margin: 0 auto;}
	.container >.row > .col-md-8 {width: 66.66666667%;margin: 0 auto;}
	#footer > .container {max-width: 1100px;}
	
	/**/
	
	.textColumns {margin-bottom: 1em;}

	/* */
	
	/*.anmklasser li {
		float: left;
		display: inline-block;
		width: 33%;
		height: 150px;
	}*/

	.anmklasser li span{
		display: block;
		width: 100%;
	}
	span.hidethis {display: none !important;}
	
	/* Bildarkiv */
	.picarchive li {
		display: inline-block;
		float: left;
		width:32%;
		height: 285px;
		margin-right: 1.33%;
		padding: 8px;
		border: 1px solid #eee;
	}
	.picarchive li .img{
		display: inline-block;
		height: 230px; 
		overflow: hidden;
		margin-bottom: 5px;
	}
	.picarchive li .imgcomment{
		height: 25px; 
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.picarchive li img{
		width: 100%;
	}
	/* Contact */
	.container.maincontent.contact.first.firstfirst { min-height: 100px;}
	.contact .holder .inner .mininav li { width: 24.5%; height: 60px;}
	.contact .holder .inner .mininav li .fa { font-size: 2em;}
	.contact .holder .inner .mininav li p { font-size: 15px;}
	.contact .holder .inner .mininav li span {display: inline-block; width: 100%; float: left; text-align: center; height: 45px; vertical-align: middle;}
	.contact .holder .inner .mininav li span:first-child {height: 40px;}
	.contact .form-group {margin: 0 !important;}
	.contact .form-group.col {display: inline-block; float: left; width: 50%;}
	.contact .form-group label {display: block; width: 100%; text-align: left !important;}
	.contact .form-group label + div {display: block; width: 100%;}
	.contact .form-group.btnArea > div,
	.contact .form-group.btnArea > main {display: block; width: 100%; margin-top: 5px;}
	.contact .form-group.btnArea .btn {width: auto; min-width: 200px; float: right;}
	
	.startpagelinks .holder .inner .mininav li {width: auto; margin: 8px;}
	.startpagelinks .holder .inner .mininav li a {min-width: 170px; float: left; padding: 12px 25px;}
	
	.sponsorlist li {
		width: 160px;
		height: 160px;
		border: 1px solid #eee;
		float: left;
		margin-right: 5px;
		padding: 0;
		text-align: center;
	}
	.sponsorlist li:before {    /* create a full-height inline block pseudo=element */
		content: ' ';
		display: inline-block;
		vertical-align: middle;  /* vertical alignment of the inline element */
		height: 100%;
	}
	
	.sponsorlist li a {
		display: inline-block;
		vertical-align: middle;
		max-width: calc(100% - 5px);
	}
	
	.cupinfo.container .cupmateFooter {
		padding: 15px 0 !important;
		display: block;
		background: #fff;
		text-align: center;
		color: #333;
	}
	.cupinfo.container .cupmateFooter a {
		display: block;
	}
	.cupinfo.container .cupmateFooter img.cupmateLogo {
		margin-top: 8px;
		width: 150px;
	}
	
}