@charset "utf-8";

/*
==================================================================
Style-Sheet Brinz Karosserie GmbH - Friedrichshafen/Fischbach
Copyrights:  Brinz Karosserie GmbH - Friedrichshafen am Bodensee - Deutschland
Webdesign: Werbemanufaktur Bodensee - Dominik R. F. Wolff (Dipl.-Kfm./Uni)
Stand: November 2025
Inhalt:

1. Kalibrierung
2. Allgemeine Styles
3. Layout-Styles
4. Formular
==================================================================
*/

/*
==================================================================
1. Kalibrierung
==================================================================
*/

* {
	margin: 0;
  	padding: 0;
	border: 0;
}

html { height: 101%; } /* Kein Sprung bei Mozilla, wenn die Seite sehr kurz ist (Erscheinen und Verschwinden der Scrollbalken). */

main { display: block; } /* main - Element nicht im IE unterstüzt. */

/*
==================================================================
2. Allgemeine Styles
==================================================================
*/

/*
Text
*/

@font-face {
    font-family: 'palanquin-thin';
    src: url('../fonts/palanquin-thin-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-thin-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin-light';
    src: url('../fonts/palanquin-light-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-light-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin-regular';
    src: url('../fonts/palanquin-regular-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'palanquin-bold';
    src: url('../fonts/palanquin-bold-webfont.woff2') format('woff2'),
         url('../fonts/palanquin-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {
	font-family: 'palanquin-regular', sans-serif;
    letter-spacing: 0.01em;
	color: #FFF;
}

p {	
	font-size: 18px;
    line-height: 1.6;
	padding-bottom: 20px;
	text-align: justify;
}

@media only screen and (max-width : 700px) {
	p {	
		font-size: 16px;
		line-height: 1.4;
	}
}

#untenNavigation,
#untenAnschrift,
#untenAnschrift address,
#untenOeffnungszeiten {	
	font-family: 'palanquin-regular', sans-serif;
	font-size: 18px;
	font-style: normal;
	line-height: 1.6;
}

.gold { color: #e7b040; }

.fett { font-family: 'palanquin-bold', sans-serif; }

.klein { font-size: 14px; }

.gross { font-size: 22px; }

.keinBottom { padding: 0px !important; }

/*
Überschriften
*/

h1, h2, h3, h4 {
	font-family: 'palanquin-thin', serif;
	font-weight: normal;
	letter-spacing: 0.01em;
	line-height: 1.6;
    text-align: center;
}

h1 {
	font-size: 50px;
	padding-bottom: 80px;
    line-height: 1;
}
.zweiteZeile { 
    font-size: 30px;
    color: #e7b040;
}

h2 { 
	font-size: 40px;
	padding: 0px 0px 80px 0px;
}

h3 { 
	font-size: 30px;
	padding: 0px 0px 20px 0px;
}

h4 { 
	font-size: 18px;
	padding: 0px 0px 20px 0px;
}

@media only screen and (max-width : 1000px) {
	
	h1 { 
        font-size: 30px;
        padding-bottom: 40px;
    }
	.zweiteZeile { font-size: 18px; }
	
	h2 { 
        font-size: 28px;
        padding-bottom: 40px;
    }
	
	h3 { font-size: 22px; }
	
	h4 { font-size: 16px; }
}

@media only screen and (max-width : 700px) {
	
	h1 { font-size: 24px; }
	
	.zweiteZeile { font-size: 16px; }
	
	h2 { font-size: 22px; }
	
	h3 { font-size: 20px; }
	
	h4 { font-size: 16px; }
}

/*
Hyperlinks
*/

a {
	outline: none;
	text-decoration: none;
}

a:link, a:visited {
	color: #FFF;
	-webkit-transition: color 0.5s ease-in-out;
	transition: color 0.5s ease-in-out;
}

a:hover, a:focus { 
	color: #e7b040;
	border-bottom: 1px dotted;
}

main a:link, main a:visited { border-bottom: 1px dotted; }

.nodot,
#ueberNavigation a,
#navigationObenResponsive { border-bottom: none !important; }

#untenNavigation a:hover,
#untenNavigation a:focus {
	color: #e7b040;
	text-decoration: none;
	border-bottom: none;
}

address a,
.dotted { border-bottom: 1px dotted; }

#werbemanufaktur:link, 
#werbemanufaktur:visited { 
	color: #e7b040;
	border-bottom: 1px dotted;
}

#werbemanufaktur:hover,
#werbemanufaktur:focus { color: #FFF; }

/* 
Trennlinie
*/

hr {
	border-bottom: 1px solid #e7b040;
	width: 100%;
	margin: 0px;
	text-align: left; /* Extra für Opera und IE - das Sie eine Linie automatisch in der Mitte zentrieren und damit margin nicht wirkt. */
}

/*
==================================================================
3. Layout-Styles
==================================================================
*/

body { background-color: #000000; }

/* 
Navigation 
*/

#ueberNavigation { padding: 10px 2%; }

#facebookOben, #instagramOben {
	vertical-align: middle;
	height: 16px;
	width: auto;
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	text-decoration: none;
}

#instagramOben { margin-right: 4px; }

#facebookOben:hover, #instagramOben:hover { 
	transform: scale(0.8);
	text-decoration: none;
}

#mobilOben, #emailOben { float: right; }

#mobilOben { margin-right: 20px; }

#obenNavigation { 
    padding: 60px 2% 0px 2%;
    text-align: center;
}

#logoOben {
    width: 20%;
    height: auto;
    vertical-align: middle;
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	text-decoration: none;
}

#logoOben:hover { 
	transform: scale(0.96);
	text-decoration: none;
}

#obenNavigation a:link, 
#obenNavigation a:visited { 
	font-family: 'palanquin-regular', sans-serif;
	font-size: 22px;
	line-height: 1.8;
}

#obenNavigation a:hover,
#obenNavigation a:focus {
	color: #e7b040;
	text-decoration: none;
	border-bottom: none;
}

#obenNavigation a { padding-right: 24px; }

@media only screen and (max-width : 1150px) { 
	#obenNavigation a:link, 
	#obenNavigation a:visited { 
		font-size: 14px;
		line-height: 1.6;
	}
}

@media only screen and (max-width : 800px) {
	
    #obenNavigation { 
		display: none;
		margin: 0;
        padding: 0;
	}
    
    #logoObenResponsive {
        display: inline;
        width: 120px;
        height: auto;
        margin: 0 auto;
        margin-top: 10px;
	}
	
	#navigationObenResponsive { 
		display: inline;
		float: right;
        margin-top: 0px;
        font-size: 30px;
	}
    
    #facebookOben,
    #instagramOben,
    #mobilOben,
    #emailOben { display: none; }
}

@media only screen and (min-width : 801px) { 
    
    #logoObenResponsive, #navigationObenResponsive { display: none; }

}

/* 
Ende Navigation 
*/

section { padding: 80px 2%; }

@media only screen and (max-width : 960px) { 
    
	section { padding: 40px 2% 20px 2%; }
}

#headerBild {
	width: 100%;
	height: auto;
	margin-bottom: 60px;
}

.linksInhalt {
	width: 47%;
	padding-right: 3%;
	float: left;
}

.rechtsInhalt {
	width: 47%;
	padding-left: 3%;
	float: left;
}

.linksInhalt img, 
.rechtsInhalt img {
	width: 100%;
	height: auto;
}

@media only screen and (max-width : 800px){ 
	.linksInhalt, .rechtsInhalt { 
		width: 100%;
		padding: 0;
	}
}

.zweiSpaltenInhalt {
	column-count: 2;
	column-gap: 4%;
}

@media only screen and (max-width : 800px) { .zweiSpaltenInhalt { column-count: 1; } }

section ul {
  list-style-type: none;
  padding-left: 0;
}

section ul li {
  position: relative;
  padding-left: 40px;
  padding-bottom: 20px;
}

section ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 30%; 
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent; 
  border-bottom: 8px solid transparent;
  border-left: 14px solid #e7b040; 
}

#linkZustimmungGoogleBewertungen {
    width: 100%;
    height: auto;
    cursor: pointer;
}

#logoKontaktdaten {
    width: 40%;
    height: auto;
}

/* 
Startseite 
*/

#startSection { padding: 0px 2% 40px 2%; }

.startKasten {
	float: left;
	width: 30%;
	padding: 0 0 40px 0;
	text-align: left;
	/* min-height: 430px; Sonst Probleme mit Floaten wegen der unterschiedlich langen Schrift. */
}

.startKasten:nth-child(2),
.startKasten:nth-child(3),
.startKasten:nth-child(5),
.startKasten:nth-child(6) { padding: 0 0 40px 5%; }

.startKasten:nth-child(7) { padding: 0; }

.startKasten:nth-child(8) { padding: 0 0 0 5%; }

@media only screen and (max-width : 960px){
	.startKasten {
		width: 47%;
	}
	
	.startKasten:nth-child(1),
	.startKasten:nth-child(3),
	.startKasten:nth-child(5) { padding: 0 3% 10px 0; }
	.startKasten:nth-child(7) { padding: 0 3% 0 0; }
	
	.startKasten:nth-child(2),
	.startKasten:nth-child(4),
	.startKasten:nth-child(6) { padding: 0 0 10px 3%; }
	.startKasten:nth-child(8) { padding: 0 0 0 3%; }
}

@media only screen and (max-width : 559px) {
    
    .startKasten { width: 100%; }
	
	.startKasten:nth-child(1),
	.startKasten:nth-child(2),
	.startKasten:nth-child(3),	
	.startKasten:nth-child(4),
	.startKasten:nth-child(5),
	.startKasten:nth-child(6) { padding: 0 0 30px 0; }
	
	.startKasten:nth-child(7),
	.startKasten:nth-child(8) { padding: 0; }
}

.startKasten p { text-align: left; }

@media only screen and (max-width : 960px){
	.startKasten p {
		font-size: 16px;
	}
}

.startKasten a:link,
.startKasten a:visited,
#startLink:link,
#startLink:visited {
	color: #FFF;
	font-family: 'palanquin-bold', sans-serif;
	-webkit-transition: color 1s ease-in-out;
	transition: color 1s ease-in-out;
	border-bottom: none;
}

.startKasten a:hover,
.startKasten a:focus,
#startLink:hover,
#startLink:focus { color: #e7b040; }

@media only screen and (max-width : 960px) {
    
    #startLink { font-size: 10px; }
}

.pfeil {
	font-family: 'palanquin-bold', sans-serif;
	color: #e7b040;
	margin-left: 6px;
}

.startKastenBild {
	width: 100%;
	height: auto;
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

.startKastenBild:hover { 
	transform: scale(0.96);
}

/* Ende Startseite */

/* 
Linkempfehlungen
*/

.linkRahmen {
	padding: 20px 20px 10px 20px;
	margin: 0px 0px 30px 0px;
	border: 1px solid #b0b0b0;
}

.linkRahmen p { text-align: center; }

/* 
Ende Linkempfehlungen
*/

/* 
Footer 
*/

footer { padding: 80px 2%; }

@media only screen and (max-width : 800px) {
    
	footer { padding: 40px 2%; }
}

#untenNavigation,
#untenAnschrift,
#untenOeffnungszeiten,
#untenLogo {
	width: 23.5%; /* 23,5% x 4 = 94 + 3 x 2% = 100% */
	float: left;
}

#untenNavigation,
#untenAnschrift, 
#untenOeffnungszeiten { padding-right: 2%; }

#untenNavigation a {
	display: block;
	line-height: 1.6;
}

@media only screen and (max-width : 800px) {
	#untenAnschrift,
	#untenNavigation a,
    #untenAnschrift address,
	#untenOeffnungszeiten {	
		font-size: 16px;
		line-height: 1.4;
	}
}

#logoUnten {
    width: 80%;
    height: auto;
}

#instagramUnten {
	display:  inline-block;
	margin: 10px 15px 0px 0px; 
}

#logoUnten,
#facebookUnten,
#instagramUnten {
	-webkit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
	text-decoration: none;
}

#logoUnten:hover,
#facebookUnten:hover,
#instagramUnten:hover { transform: scale(0.8); }

#untenOeffnungszeiten a:hover { border-bottom: none; }

@media only screen and (max-width : 1100px) {
	#untenNavigation {
		width: 30%;
		padding: 0 5% 0 0;
	}
    
    #untenAnschrift {
		width: 30%;
		padding: 0 5% 0 0;
	}
	
	#untenOeffnungszeiten { 
		width: 30%;
		padding-right: 0%;
	}
    
    #untenLogo { 
        display: none;
        margin: 0;
        padding: 0;
    }
}

@media only screen and (max-width : 800px) {
	#untenNavigation,	
	#untenAnschrift,
	#untenOeffnungszeiten {
		float: none;
		width: 100%;
		padding: 0px 0px 20px 0px;
	}
    
    #untenOeffnungszeiten { padding: 0; }
}

#copyrights { padding: 20px 2% 0px 2%; }

#copyrights p { text-align: center; }

@media only screen and (max-width : 800px) {
	
	#copyrights p { text-align: left; }
}

@media only screen and (max-width : 679px) { #copyrights p { font-size: 14px; } }

#pdfDownload {
	margin: 0px 5px 0px 0px;
	vertical-align: middle;
}

.clear {
	clear: both;
	width: 0px;
	height: 0px;
}

/*
==================================================================
4. Formular
==================================================================
*/

/* 
Kontaktseite
*/

#kontaktLinks {
	width: 37%;
	padding-right: 3%;
	float: left;
    text-align: left;
}

#kontaktRechts {
	width: 57%;
	padding-left: 3%;
	float: left;
}

@media only screen and (max-width : 800px) {
    
	#kontaktLinks, #kontaktRechts { 
        width: 100%;
        padding: 0;
    }
    
    #kontaktLinks { 
        padding-bottom: 20px;
        text-align: center;
        border-bottom: 1px solid #e7b040;
    }
    
    #kontaktLinks p { text-align: center; }
    
    #kontaktRechts { padding-top: 40px; }
}

/* Ende Kontaktseite */

/* Google Map */

@media only screen and (max-width : 960px) { 
    
	#anfahrtKarte { padding-bottom: 30px; }
}

#zustimmungGoogleMap {
	width: 100%; 
	height: 600px;
}

#zustimmungGoogleMap img { 
	object-fit: cover; 
	width: 100%; 
	height: 100%;
	cursor: pointer;
}

#ladenGoogleMap { 
	opacity: 0; 
	transition: opacity 3s;
}

#ladenGoogleMap.fadeJavascript { opacity: 1; }

/* Ende Google Map */

label {
	display: block;
	font-family: 'palanquin-regular', sans-serif;
	font-style: normal;
	font-size: 18px;
	text-align: left;
	line-height: 1.6;
}

input {
	width: 98%;
	height: 30px;
	margin: 5px 0 25px 0;
	background-color: #1f1f1f;
	border: 1px solid #b0b0b0;
	font-family: 'palanquin-regular', sans-serif;
	font-style: normal;
	font-size: 18px;
	line-height: 1.6;
	color: #FFF;
	padding: 5px;
}

textarea {
	height: 200px;
	width: 98%;
	padding: 5px;
	margin: 5px auto 20px auto;
	background-color: #1f1f1f;
	border: 1px solid #b0b0b0;
	font-family: 'palanquin-regular', sans-serif;
	font-style: normal;
	font-size: 18px;
	line-height: 1.6;
	color: #FFF;
}

input:focus, 
textarea:focus { border: 1px solid #e7b040; }

#testfeld { 
	visibility: hidden; 
	display: none; 
}

#sendenButton {	
	width: 100%;
	height: 50px;
	cursor: pointer;
	border: 1px solid #b0b0b0;
	background-color: #1f1f1f;
	margin: 0px;
	font-family: 'palanquin-bold', sans-serif;
	font-style: normal;
	font-size: 18px;
	color: #FFF;
	-webkit-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}

#sendenButton:hover, 
#sendenButton:active { 
	background-color: #e7b040;
	border: 1px solid #e7b040;
	color: #1f1f1f;
}

@media only screen and (max-width : 800px) {
    
	label {
        font-size: 16px;
        text-align: center;
    }
}

/*
==================================================================
Ende Stylesheet
==================================================================
*/