/* CSS Document */

html, body {
	width:100%;
	height:100%;
}

html {
	font-size:100%;
}

body {
	line-height:1.5em;
}

h1 {
	font-size:150%;
	line-height:1.2em;
	margin-top:0.5em;
	margin-bottom:1.2em;
	font-weight:bold;
}
h2 {
	font-size:140%;
	line-height:1.2em;
	margin-bottom:0.5em;
	font-weight:400;
}
h3 {
	font-size:100%;
	font-weight:bold;
	margin-top:1em;
	margin-bottom:0px;
	
	padding:0px;
	line-height:1.2em;
}

h4 {
	font-size:100%;
	font-weight:normal;
	margin-top:0.5em;
	margin-bottom:0px;
	
	padding:0px;
	line-height:1.2em;
	
	text-transform:uppercase;
}

p, main p {
	margin-bottom:0.8em;
}

a {
	/*
	color:#2e7d32;
	*/
	color:inherit;
}

ul, ul li {
	list-style-type:disc;
}
ul li {
	margin-left:2em;
}

.table {
	display:table;
	table-layout:auto;
	border-collapse:collapse;
}
.tr {
	display:table-row;
}
.td {
	display:table-cell;
	vertical-align:top;
}

.td p {
	margin-bottom:0px;
}


a {
	color:#162883;
}
a:hover {
	color:#2C5AFF;
}
a.linkonly {
	margin:0px !important;
	padding:0px !important;
	text-transform:none;
	display:inline;
	height:auto !important;
	overflow:hidden !important;
}
a.linkonly *, a.linkonly .row, a.linkonly .col {
	text-transform:none;
}

a.linkonly .tr {
	width:100% !important;
}

.missing {
	background-color:#ffc;
	padding:1em;
	border:1px solid #900;
	border-left-width:10px;
	color:#900;
}

ul.list, ul.list ul {
	margin-left:2rem;
	margin-bottom:1rem;
	list-style-type:disc;
	list-style-position:inside;
}
ul.list li {
}

.middletext {
	position:relative;
	margin-top:-1em;
	line-height:2rem;
	display:inline-block;
	vertical-align:middle;
}


/* ---- Material Design: ---- */
.card .card-image {
	vertical-align:middle;
	padding-bottom:0px;
	overflow:hidden;
	background-position:center;
	white-space:nowrap;
	white-space-collapse:collapse;
}

.card figure.card-image {
	margin:0px;
}
.card .card-image img {
	margin:0px;
	padding:0px;
}
.card .card-title {
	color:#000;
}
.card .card-image .card-title {
	text-shadow:0px 0px 5px #000;
	color:#fff;
}
.card .card-action {
	text-align:right;
}

.card+.card {
	margin-top:1.5rem;
}

.col {
	/* background-color:#fff; fraglich! */
}
.col>h2 {
	/*
	margin-top:0px;
	*/
}

.row .col.nopadding {
	padding:0px;
}

.card a.linkonly {
	color:inherit;
	text-transform:none;
}

.container {
	padding:0px;
	position:relative;
}
.container .row {
	margin-left:0px;
	margin-right:0px;
}
.row {
	margin-bottom:0px;
	margin-top:0px;
	/*
	padding-top:1.5rem;
	*/
}

.row.usepadding {
	padding-top:1.5rem !important;
}

.row.mtop_abs {
	margin-top:3rem;
}

.row+.row, main+.row {
	padding-top:0px;
}
.row.line {
	/*
	padding-bottom:1em;
	*/
	border-bottom:1px solid #ccc;
}
/* ENDE Material Design: ---- */

#H0 {
	height:12rem;
	background-color:#fcfcfc;
	border-bottom:1px solid #eee;
	padding:1em;
	overflow:visible;
}

#CHeader {
	position:relative;
}

#CImagepic {
	background-image:url(../images/TBI_Helm2.jpg);
	background-image:url(../images/TBI_Home_2019.jpg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:auto 100%;
	background-size:cover;
	background-color:#eceeed;
	height:50vh;
	
	border-top:2px solid #fff;
	background-clip:border-box;
	
	position:relative;
}

	#CTexte {
		position:absolute;
		top:50%;
		right:0px;
		height:auto;
		width:auto;
		z-Index:1;
		text-align:right;
		text-transform:uppercase;
		line-height:1em;
	}
	#CTexte p {
		text-align:right;
		padding-right:2rem;
	}
	#CTexte p:nth-of-type(1) {
		font-size:300%;
		text-shadow:0px 0px 5px #333;
		color:#fff;
	}
	#CTexte p:nth-of-type(2) {
		font-size:300%;
		width:12em;
		background-color:#162883;
		color:#fff;
		height:auto;
		padding:1em;
		padding-right:2rem;
		box-shadow:0px 0px 5px #333;
	}

#Content {
	display:block;
	
	color:#333;
	
	position:relative;
	top:0px;
	left:0px;
	bottom:0px;
	right:0px;
}

#F0 {
	margin-top:2em;
	border-top:2px solid #fff;
	background-color:#eceeed;
	padding-bottom:2em;
}
#F0 .container {
}

#F0 img {
	display:block;
	max-width:20rem;
	margin:auto;
	margin-top:1em;
}
nav {
	background:none;
	color:#000;
	height:auto;
	box-shadow:none;
	height:auto;
	
	font-size:150%;
	line-height:1em;
}


#nav0 ul {
	box-sizing:border-box;
	position:relative;
	height:auto;
	padding:0px;
	text-align:right;
	border-bottom:1px solid #eceeed;
	
	list-style-type:none;
}
#CNavinfo {
	display:none;
}
#nav0 ul li {
	display:inline-block;
	float:none;
	margin-left:1em;
	margin-right:1em;
	padding:0.5em;
	border-bottom:2px solid rgba(255,255,255,0);
	
	/*
	border:1px solid #eceeed;
	border-bottom:0px;
	border-radius:0.5em 0.5em 0px 0px;
	*/
	
	line-height:1em;
}
#nav0 ul a {
	color:#666;
	text-shadow:1px 1px 1px #fff, 3px 3px 1px #eceeed;
	padding:0px;
	padding-left:0.5rem;
	font-size:inherit;
	line-height:1em;
}
#nav0 ul li:hover {
	border-bottom:2px solid #162883;
}
#nav0 ul a i {
	margin-right:0.75em;
}


#nav1 {
	font-size:100%;
	margin-top:1em;
	padding-top:1em;
	border-top:1px solid #fff;
}
#nav1 ul {
	list-style-type:none;
	text-align:center;
}
#nav1 li {
	display:inline-block;
	margin-left:1em;
	margin-right:1em;
	float:none;
	padding:1em;
	border-radius:5px;
}
#nav1 ul a {
	color:#666;
	text-shadow:1px 1px 1px #fff, 3px 3px 1px #eceeed;
}
#nav1 ul a:hover {
	color:#162883;
}
ul.lightbox {
}
ul.lightbox li {
	box-shadow:none;
	border:none;
	margin:2px;
}

ul.lightbox li a {
	display:inline;
	font-size:0px;
}
ul.lightbox li img {
	border:1px solid #eee;
	padding:2px;
	width:75px;
	height:auto;
}

ul.lightbox li:hover {
	box-shadow:none;
}

ul.lightbox li:hover img {
    box-shadow: 0px 0px 5px #bb1540;
}
ul.lightbox li button, ul.lightbox li a.menu {
	display:block;
	font-size:90%;
	color:#900;
	padding:0.1em;
}

#SEO {
	background-color:#eee;
	border-bottom:1px solid #c6c6c6;
	padding-bottom:1em;
}

.teaser {
	font-size:120%;
}


/* ---- INDEX: ---- */
#H0 h1 {
	margin-bottom:0px;
}

#CHeader {
	width:100%;
}
#CHeader .td:first-of-type {
	width:204px;
}
#CHeader .td:nth-of-type(2) {
	padding-left:2em;
	line-height:1.2em;
	vertical-align:middle;
	font-size:150%;
	text-align:center;
	color:#666;
	text-align:left;
}
#CHeader .td:last-of-type {
	text-align:right;
	vertical-align:middle;
}
#CHeader .td:last-of-type img {
	height:50px;
}


#CLogo {
	height:7em;
	width:auto;
}

#F0 dl dd, #F0 dl dt {
	padding:1em;
}
#F0 dl dt {
	font-size:130%;
	padding-bottom:0px;
}
#F0 dl dd:not(.addr) {
	background-color:#fff;
	line-height:2em;
	margin-bottom:1px;
}
#F0 dl i {
	margin-right:1em;
}
#F0 dl dd:not(.url) a {
	display:block;
	width:100%;
	height:100%;
}
/* ENDE INDEX: ---- */


/* ---- Team: ---- */
.teampic {
	box-shadow:0px 0px 5px #999;
	border:1px solid #fff;
	display:block;
	margin-bottom:1em;
}
/* ENDE Team: ---- */


/* ---- Referenzen: ---- */
/*
#tblReferenzen .thumb {
	width:6rem;
	height:6rem;
	border-radius:0.5rem;
	border:1px solid #ccc;
	
	background-color:#fff;
	background-size:contain;
	background-position:center;
	background-repeat:no-repeat;
}

#tblReferenzen a {
	display:block;
}

#tblReferenzen .td {
	border-bottom:1px solid #ccc;
	padding:0.5em;
}
#tblReferenzen .tr:nth-of-type(even) .td {
	background-color:#eceeed;
}

#tblReferenzen .tr:last-of-type .td {
	border-bottom:none;
}

#tblReferenzen h2 {
	font-size:100%;
	font-weight:normal;
	margin-top:0px;
	margin-bottom:0px;
}
*/
#tblReferenzen {
    margin-bottom:2em;
}
.flexbox {
    display:flex;
    align-content: stretch;
    justify-content:space-between;
    flex-wrap:wrap;
}
.flexbox > * {
    flex-basis:25%;
    flex-shrink:0;
    flex-grow:0;
    padding:2px;
    box-sizing:border-box;
}

.flexbox a:before {
    content:"";
    padding-bottom:25%;
    display:block;
}

.flexbox a:hover {
}
.flexbox a:hover img {
     box-shadow:0px 0px 3px grey;
   filter: grayscale(0%);
}

.flexbox img {
    object-fit: contain;
    object-position: center;
    border:1px solid #ccc;
    border-radius:0.2em;
    height:100%;
    width:100%;
    display:block;
    filter: grayscale(100%);
    
    transition: filter 0.5s;
}
/* ENDE Referenzen: ---- */
fieldset {
	border:none;
	margin:0px;
	padding:0px;
}

a.btn, button.btn, input[type=button].btn, input[type=submit].btn {
	color:#fff;
	font-weight:bold;
}

.input-field label {
	left:0px;
	top:1.5rem;
}

h2+.input-field {
	margin-top:0px;
}

select {
	display:inline-block;
	width:auto;
	color:#fff;
	border:none;
	
	box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);
}
@media only screen and (min-width: 992px) {
}


@media only screen and (max-width: 1252px) {
}

/* ---- Tablet, etc.: ---- */
@media only screen and (max-width: 992px) {
	body {
		padding-top:4rem;
	}
	#H0 {
		position:fixed;
		left:0px;
		top:0px;
		height:4rem;
		width:100%;
		z-Index:999;
		box-shadow:0px 5px 5px #999;
		padding:0px;
	}
	
		#H0 a {
			color:#162883;
		}
		
		#H0 .td {
			vertical-align:middle;
			padding-right:1em;
		}
	
	#CNavinfo {
		display:block;
		color:#333;
		height:100%;
	}
		#CNavinfo .td {
			padding-top:1em;
		}
	nav ul.fixed {
		position:fixed;
		z-Index:1000;
		left:-240px;
		box-sizing:border-box;
		display:none;
	}
	#nav0 {
		z-Index:999;
		top:0px;
		height:100%;
	}
	#nav0 ul {
		height:100%;
		background-color:#fff;
		width:240px;
	}
	#nav0 li {
		display:block;
		float:none;
		margin-left:0px;
		margin-right:0px;
		text-align:left;
	}
	
	#CHeader {
		display:none;
	}
}

@media only screen and (min-width: 600px) {
}
/* ENDE Tablet, etc.: ---- */


/* ---- Smartphones, etc. ---- */
@media handheld, only screen and (max-width: 600px) {
	#CTexte p {
		padding-right:1rem;
	}
	#CTexte p:nth-of-type(1) {
		font-size:120%;
	}
	#CTexte p:nth-of-type(2) {
		font-size:120%;
		padding-right:1rem;
	}
	
	#tblReferenzen {
		display:block;
	}
	#tblReferenzen .tr, #tblReferenzen .td {
		display:block;
	}
	
	#tblReferenzen .td {
		border-bottom:none;
		padding:0.2em;
	}
	#tblReferenzen .tr {
		border-bottom:1px solid #ccc;
		clear:both;
		overflow:hidden;
	}
	
	#tblReferenzen ul.lightbox {
		margin-bottom:0px;
		clear:none;
	}
	
	#tblReferenzen .thumb {
		float:right;
		margin-left:0.2em;
		margin-bottom:0.2em;
	}

	#tblReferenzen .tr:nth-of-type(even) .td {
		background:none;
	}
	
	#tblReferenzen .tr:nth-of-type(even) {
		background-color:#eceeed;
	}
}
/* ENDE Smartphones, etc. ---- */

