﻿/*
**********************************************
***      created by Boris Schmakowski      ***
***          www.schmakowski.de            ***
**********************************************
*/

::-moz-selection {
    color: #000000;
    background: rgba(255, 255, 0, 0.7);
    text-shadow: none;
}
::selection {
    color: #000000;
    background: rgba(255, 255, 0, 0.7);
    text-shadow: none;
}

.tsv-blau 	{ color: #002e52; }
.tsv-rot 	{ color: #cf1011; }
.tsv-gelb 	{ color: #efca00; }

body {font-family:sans-serif}
body {
    font-family: "Noto Sans", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-variant: normal;
    font-size: 20px;
    line-height: 1.4em;
    margin: 0;
    padding: 0;
    overflow-y:scroll;
    color: #333333;
    -webkit-hyphens: manual;
    -moz-hyphens: manual;
    -ms-hyphens: manual;
    hyphens: manual;
}
@media all and (max-width: 900px) {
	body {
		font-size: 18px;
	    line-height: 1.3em;
	    color: #222222;
	}
}
@media all and (max-width: 600px) {
	body {
		font-size: 16px;
	    line-height: 1.3em;
	    color: #000000;
	}
}

.clr 	{
	clear:both;
}
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

p       { padding: 0 0 1em 0; margin: 0; }

table   { border-collapse: collapse; margin: 0 0 1em 0; padding: 0;}
tr, td, th, tbody  { margin: 0; padding: 0; text-align: left; border: none;}
tr 		{ }
td 		{ padding: 0 0.25em 0.25em 0.25em; }
td:first-child 	{  padding-left: 0; }
th 		{ padding: 0 0.25em 0.25em 0.25em; font-weight: 600; color: #002e52; }
th:first-child  { padding-left: 0; }

strong, b { 
	font-weight: 600;
	color: #002e52;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	letter-spacing: 0.05em;
	text-rendering: optimizeLegibility;
	font-weight: 400;
	color: #002e52;
}
h1 {  font-size: 1.6em;	line-height: 1.25; 	margin: 0 0 0.5em 0; }
h2 {  font-size: 1.5em; line-height: 1.25;  margin: 0 0 0.5em 0; }
h3 {  font-size: 1.2em;	line-height: 1.25;  margin: 0 0 0.5em 0; }
h4 {  font-size: 1em;   }
h5 {  font-size: 1em;   }
h6 {  font-size: 1em;   }

.hero {
	color: #ffffff;
	background-color: transparent;
	background-image: url('../images/tsv-strich3-rot.svg');
	background-size: 100% 100%;
	background-repeat: no-repeat;
	padding-top: 1em;
	padding-bottom: 1em;
	font-weight: 600;
}

a {
	-webkit-transition: all .35s ease;
       -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
         -o-transition: all .35s ease;
            transition: all .35s ease;
}
a, :focus 	{ outline: 0; }
a 			{ color: #cf1011; text-decoration: none; border-bottom: 1px solid rgba(207, 17, 17, 0);}
a:visited 	{ color: #cf1011; text-decoration: none; border-bottom: 1px solid rgba(207, 17, 17, 0);}
a:hover 	{ color: #cf1011; text-decoration: none; border-bottom: 1px solid rgba(207, 17, 17, 1);}
a:active 	{ color: #cf1011; text-decoration: none; border-bottom: 1px solid rgba(207, 17, 17, 1);}
a img 		{ border: 0 none; }

h2 a 			{ color: #002e52; text-decoration: none; border:none;}
h2 a:visited 	{ color: #002e52; text-decoration: none; border:none;}
h2 a:hover 		{ color: #002e52; text-decoration: none; border:none;}
h2 a:active 	{ color: #002e52; text-decoration: none; border:none;}

a.herolink 			{ display: inline-block; padding: 0.75em 3em; font-weight: 700; position: relative; z-index: 2; border: none;}
a.herolink			{ color: #ffffff; text-decoration: none;}
a.herolink:visited 	{ color: #ffffff; text-decoration: none;}
a.herolink:hover 	{ color: #ffffff; text-decoration: none;}
a.herolink:active 	{ color: #ffffff; text-decoration: none;}
a.herolink::after,
a.herolink::before {
	-webkit-transition: all .35s ease;
       -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
         -o-transition: all .35s ease;
            transition: all .35s ease;
	position: absolute;
	z-index: -2;
	content: '';
	width: 100%;
	height: 100%;
	top: 0; left: 0; bottom: 0; right: 0;
	background-color: transparent;
	background-image: url('../images/tsv-strich3-rot.svg');
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
a.herolink::before {
	background-image: url('../images/tsv-strich3-blau.svg');
	z-index: -1;
	opacity: 0;
}
a.herolink:hover::before 	{opacity: 1;} a.herolink:active::before 	{opacity: 1;}
a.herolink:hover::after 	{opacity: 0;} a.herolink:active::after 		{opacity: 0;}




a.wf_file::before {
    content: '';
    font-family: "Font Awesome 5 Pro";
    font-style: normal;
    font-weight: 900;
    display: inline-block;
    height: 14px;
    line-height: 14px;
    width: 28px;
    padding: 0 2px 0 2px;
}

div.download {
	text-align: center;
	padding: 2em 0 0 0;
}


/*--- diverse ----*/

blockquote {
	margin:0;
	padding: 1em 1.5em 1em 1.5em;
	margin: 0 0 1em 0;
	font-style: italic;
	color: #000000;
	background: #fafafa;
	border-left: 5px dotted #cf1011;
}
blockquote p:last-child {
	margin: 0;
	padding: 0;
}

pre {
	font-family: Consolas, "Lucida Console", Monaco, monospace;
	white-space: pre; white-space: pre-wrap; word-wrap: break-word;
	background-color: #ffffee;
	border: 5px dotted #880000;
	padding: 1em 1.5em 1em 1.5em;
	margin: 0 0 1em 0;
}


/*---- FlexContainer ---*/

div.flexdiv {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;	
}
div.flexdiv > div {
	order: 1;
	flex-grow: 0;
	flex-basis: auto;
	align-self: stretch;
/* 	width: 100%; */
	margin: 0 0 1.5em 0;
}
div.flex50 > div { width: 50% }
div.flex33 > div { width: 33.33% }
div.flex25 > div { width: 25% }
div.flex20 > div { width: 20% }
div.flex16 > div { width: 16.66% }

@media all and (max-width: 700px)
{
	div.flex50 > div { width: 100% }
}
@media all and (max-width: 470px)
{
	div.flex25 > div { width: 50% }
}




div.sportbuttons {
	padding: 0 0 1em 0;
}
@media all and (min-width: 950px)
{
	.mp-start section#content {
	/*   padding: 5vh 0 5vh 0; */
	  margin-top: -9em;
	}
}

div.sportbuttons > div {
	text-align: center;
	font-size: 16px;
	line-height: 18px;
	text-transform: uppercase;
	margin: 0 0 1.5em 0;
	padding: 0;
}
div.flex50.sportbuttons > div { width: 48% }
div.flex33.sportbuttons > div { width: 30% }
div.flex25.sportbuttons > div { width: 23% }
div.flex20.sportbuttons > div { width: 18% }
div.flex16.sportbuttons > div { width: 15% }

@media all and (max-width: 700px)
{
	div.flex16.sportbuttons > div { width: 30% }
}


div.sportbuttons > div a img {
	width: 100%;
	height: auto;
	transform: scale(1);
	-webkit-transition: all .55s ease;
       -moz-transition: all .55s ease;
        -ms-transition: all .55s ease;
         -o-transition: all .55s ease;
            transition: all .55s ease;
}
div.sportbuttons > div a:hover img {
	transform: scale(1.05) rotateZ(5deg);
}
div.sportbuttons a 			{ color: #002e52; text-decoration: none; border:none;}
div.sportbuttons a:visited 	{ color: #002e52; text-decoration: none; border:none;}
div.sportbuttons a:hover 	{ color: #cf1011; text-decoration: none; border:none;}
div.sportbuttons a:active 	{ color: #cf1011; text-decoration: none; border:none;}


/*--- Galerie im Flex ----*/

div.galerie {
	padding: 1em 0 0.25em 0;
}

div.galerie > div {
	text-align: center;
	font-size: 16px;
	text-transform: uppercase;
	margin: 0 0 1em 0;
	padding: 0;
}
div.flex50.galerie > div { width: 48% }
div.flex33.galerie > div { width: 30% }
div.flex25.galerie > div { width: 23% }
div.flex20.galerie > div { width: 18% }
div.flex16.galerie > div { width: 15% }

@media all and (max-width: 470px)
{
	div.flex25.galerie > div { width: 48% }
	div.flex20.galerie > div { width: 23% }
	div.flex16.galerie > div { width: 30% }
}


div.galerie > div img {
	width: 100%;
	height: auto;
	transform: scale(1);
	border-radius: 100%;
	-webkit-transition: all .55s ease;
       -moz-transition: all .55s ease;
        -ms-transition: all .55s ease;
         -o-transition: all .55s ease;
            transition: all .55s ease;
}
div.galerie > div:hover img {
	border-radius: 10px;
	transform: scale(1.05) rotateZ(5deg);
	-webkit-transition: all .35s ease;
       -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
         -o-transition: all .35s ease;
            transition: all .35s ease;
}
div.galerie.notround > div img {
	width: 100%;
	height: auto;
	transform: scale(1);
	border-radius: 5px;
	-webkit-transition: all .55s ease;
       -moz-transition: all .55s ease;
        -ms-transition: all .55s ease;
         -o-transition: all .55s ease;
            transition: all .55s ease;
}
div.galerie.notround > div:hover img {
	border-radius: 5px;
	transform: scale(1.05) rotateZ(0deg);
	-webkit-transition: all .35s ease;
       -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
         -o-transition: all .35s ease;
            transition: all .35s ease;
}

div.galerie a 			{ color: #002e52; text-decoration: none; border:none;}
div.galerie a:visited 	{ color: #002e52; text-decoration: none; border:none;}
div.galerie a:hover 	{ color: #cf1011; text-decoration: none; border:none;}
div.galerie a:active 	{ color: #cf1011; text-decoration: none; border:none;}


/*--- team ----*/

div.team-rund {
	margin: 1em 0 1em 0;
}
div.team-rund > div {
	text-align: center;
	margin: 0;
}
div.team-rund img {
	border-radius: 2000px;
	width: 250px;
	height: auto;
}

/*--- sportorte ----*/

div.sportorte {
	margin: 0;
	padding: 0;
}
div.flexsport {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: center;	
}
div.flexsport > div {
	order: 1;
	flex-grow: 0;
	flex-basis: auto;
	align-self: center;
	margin: 0 0 2em 0;
}
div.txtsport {
	width: 65%;
}
div.imgsport {
	width: 30%;
}
div.imgsport img {
	border-radius: 20000px;
	width: 100%;
	height: auto;
}

/*--- Map ---*/

div.tsv-map {
	font-size: 0;
	line-height: 0;
}
div.tsv-map img {
	width: 100%;
	height: auto;
}
div.tsv-map a 			{ color: transparent; text-decoration: none; border: none;}
div.tsv-map a:visited 	{ color: transparent; text-decoration: none; border: none;}
div.tsv-map a:hover 	{ color: transparent; text-decoration: none; border: none;}
div.tsv-map a:active 	{ color: transparent; text-decoration: none; border: none;}

/*---- Angebote ----*/

div.imgangebot {
	float: right;
	width: 33%;
	max-width: 250px;
	margin: 0 0 1em 1em;
}
div.imgangebot img {
	width: 100%;
	height: auto;
	border-radius: 100%;
}
div.imgangebot img.not-round {
	border-radius: 0px;
}
@media all and (max-width: 600px)
{
	div.imgangebot {
		float: none;
		width: 33%;
		max-width: 250px;
		margin: 0 0 1em auto;
	}
}

/*---- print via Browser (copied from Joomla Protostar-Template ----*/
@media print {
	* {
		text-shadow: none !important;
		color: #000 !important;
		background: transparent !important;
		box-shadow: none !important;
		font-size: 100% !important;
		font-family: arial, sans-serif !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 0.5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
	nav {
		display: none;
	}
	.mobileonly {
		display: none;
	}
	#content_outright {
		float:none;
		width: 100%;
	}
	#rightcolumn {
	    width: 100%;
		float: none;
	}
	#rightcolumn div.moduletable {
		border-top: 1px solid #eeeeee;
		padding: 2.5% 0 2.5% 0;
	}
	#leftcolumn {
	    width: 100%;
		float: none;
	}
	#leftcolumn div.moduletable {
		border-top: 1px solid #eeeeee;
		padding: 2.5% 0 2.5% 0;
	}
	body:before {
		display: none;
	}
	body {
		height: auto;
	}
}


/*---- JCE Editor Spezial ----*/

body.jce-content, body.jce-content td, body.jce-content pre  {
	font-size: 18px;
	background: #ffffff;
}
img.wf_file_icon {
    height: 30px;
    width: auto;
    margin-right: 10px;
    margin-bottom: 2px;
    vertical-align: text-bottom !important;
 }
 table.mce-item-table {
	 width: auto;
 }
 table.mce-item-table td {
 	vertical-align: top;
 }
 
 
 