/* CSS Document */

/* color definition 
blau #0062A9
*/
* {
	font-family:'Noto Sans Display', sans-serif !important;
}

body {
	min-height: 100%; /* enforce height */
	padding:0;
	margin:0;
	font-family:'Noto Sans Display', sans-serif;
	font-size:16px;
	font-weight:400;
	color:#1B3853;
	background: #fff;
	line-height:1.5em;
}
h1, .h1 {
	font-size: 24px;
	font-weight: 500;
	color:#0056a4;
	padding-bottom:0;
	line-height:1.4;
}
main h1 {
	padding-bottom:2rem;
}

@media only screen and (min-width: 768px) {
	#startseite .h1 {
		margin-top: 40px;
	}
}
@media only screen and (min-width: 992px) {
	#startseite h1, #startseite .h1 {
		padding-bottom:1em;
	}
}
h2, .h2 {        
	font-size:20px;
	font-weight:500;
	line-height: 1.5em;
	color:#1F68B1;
	margin-bottom: 0.5em;
}
h3, .h3 {
	font-size:20px;
	font-weight: 500;
	color:#000;
	margin:0.5em 0 0.5em;
}
h4, .h4 {
	font-size:20px;
	font-weight:500;
	color:#1F68B1;
	margin-bottom:0.5em;
}
h5 {
	font-size:20px;
	font-weight:700;
	color:#000;
}
em {
	font-style:oblique;
}
img {
	max-width:100%;
	height:auto;
}
p, table {
	margin-bottom: 1em;
}
strong, strong a {
	font-weight:600 !important;
}
main a:link, main a:visited {
	color: #0062A9;
	font-weight: 400;
	text-decoration: underline;
	text-decoration-style: solid;
	text-underline-offset: 3px;
}
main a:hover, main a:focus {
	text-decoration: none;
}
main a.button {
	display:inline-block;
	padding: 10px 40px;
    margin: 1em 0;
    width: auto;
    background-color: #6ab023;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    text-decoration:none;
    border: 1px solid #6ab023;
    border-radius: 8px;
   }
 main a.button:hover { 
   background-color:#1F68B1;
}
a.pfeil:link::before {
	content: '>';
	text-align:left;
	margin-right: 8px;
}
a.pfeil:link, a.pfeil:visited {
	color: #0062A9;
	margin-top:5px;
	margin-bottom:5px;
	display:block;
	font-weight: 500;
	text-decoration: none;
}
a.pfeil:hover, a.pfeil:focus {
	color: #1F68B1;
}
a.flaeche:link, a.flaeche:visited {
	font-size: 16px;
	color: #fff;
	margin-top:15px;
	margin-bottom:15px;
	background-color: #1F68B1;
	padding: 0.8em 30px 0.9em 35px;
	display:inline-block;
	width: auto;
	font-weight: 600;
	text-align: left;
	text-decoration: none;
	border-radius: 5px;
	transition: all .2s ease-in-out;
}

 a.flaeche::before {
	content: url("../_gfx/icon-pfeil-weiss.svg");
	display: flex;
	align-content: center;
	float: right;
	padding-left: 20px;
}

.banner a.flaeche:link, .banner a.flaeche:visited {
	margin-bottom:30px;
}
a.flaeche:hover, a.flaeche:focus {
	background-color: #1F68B1;
	transform: scale(1.04);
}
.logout a {
	padding:10px 40px;
	border-radius:4px;
	background-color: #e3f0bf;
}
.submenu {
	justify-content: space-between;
	display: flex;
	flex-wrap:wrap;
}
.bereich-a {
	padding:1rem;
	border: 5px solid #00a4ff;
}
	.bereich-a strong {
		color: #00a4ff;
	}
.bereich-b {
	padding:1rem;
	border: 5px solid #6ab023;
}
	.bereich-b strong {
		color: #6ab023;
	}
.bereich-c {
	padding:1rem;
	border: 5px solid #af03ff;
}
	.bereich-c strong {
		color: #af03ff;
	}
.bereich-d {
	padding:1rem;
	border: 5px solid #ec607d;
}
	.bereich-d strong {
		color: #ec607d;
	}
.standbereiche-plan img {
	border: 2px solid silver;
}
 @media (max-width: 895px) {
.hide {
	display: none;
}
.container.inhalt .box1.no-marg-bot {
	margin-bottom: 0;
}
}

 @media only screen and (min-width: 768px) {
.submenu a.flaeche:link, .submenu a.flaeche:visited {
	width:30%;
}
}

.submenu a.flaeche.active {
	background-color: #1F68B1;
}
main ol {
	list-style:decimal;
}
main ol li {
	list-style-position: outside;
	margin-bottom: 0.5em;
	margin-top: 5px;
	margin-right: 10px;
	margin-left: 1.1em;
	padding-left: 5px;
}
main ul {
	margin-top:1em;
	margin-bottom:1em;
	padding-left: 25px;
}
main ul li {
	list-style-position: outside;
	list-style-type: disc;
	margin-bottom: 0.5em;
	margin-top: 5px;
	margin-right: 10px;
	padding-left: 5px;
}
main ul li::marker {color: #1F68B1;}

ul.navigation-pdf {
	margin-top:0em;
	padding:0px 0 20px 40px;
	list-style-image: url(../_gfx/navigation-pdf.png);
	list-style-position:inside;
	line-height:35px;
}

ul.navigation-pdf li {
    margin-right: 0px;
}
td {
    padding-right:0.5em;
}

/*------------------------------------------------------ admin-blueba --------------------------------------------------------*/

.aussteller-waehlen p {
    margin: 0;
    line-height: 2;
    border-bottom: 1px solid #ddd;
}
.aussteller-waehlen a:link {
	text-decoration: none;
}
.aussteller-waehlen a:hover {
	text-decoration: underline;
}
.geht-was {
	float:right;
}

/*------------------------------------------------------ main --------------------------------------------------------*/

main {
	margin-top:180px;
}


.content.partner .outer-container, .content.icon-linkfeld .outer-container, .content.produkte .outer-container {
  margin-bottom: 60px;
}

@media only screen and (max-width: 895px) {
main {
	margin-top:60px;
}
}

@media only screen and (min-width: 895px) {

main .content .outer-container {
	padding: 0;
}
a.flaeche:link, a.flaeche:visited {
	width: 60%;
}
}


/* Zusatzelemente */

.buchung-uebernommen {
	color:#cc0000;
	font-weight:600;
}
.farbe {background-color: #D5E0EB;}
.farbe-dunkel {background-color: #1F68B1;}

/* Icon-Linkfeld Startseite */

.icon-linkfeld {background-color: #EDEEF2;}
.content.icon-linkfeld .container {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 2em;
	padding-bottom: 30px;
}
.content.icon-linkfeld .box 
{
	display: grid;
	align-content: flex-end;
	background-color: #fff;
	text-align: center;
	font-weight: 400;
	padding: 60px 20px;
	min-height: 265px;
	margin: 30px 0 0 0;
}
.content.icon-linkfeld img {
 	display: block;
	padding-bottom: 25px;
	margin: auto;
}

@media only screen and (min-width: 682px) {
.icon-linkfeld {background-color: #EDEEF2;}
.content.icon-linkfeld .container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	display: -ms-grid;
	-ms-grid-columns: 1fr 1fr;
	column-gap: 2em;
	padding-bottom: 0;
}
.content.icon-linkfeld .box 
{
	margin: 15px 0;
}
#startseite .content.icon-linkfeld .outer-container {
  padding: 40px 0;
}
}

@media only screen and (min-width: 1232px) {
.icon-linkfeld {background-color: #EDEEF2;}
.content.icon-linkfeld .container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.content.icon-linkfeld .box 
{
	min-height: 265px;
	min-width: 250px;
}
}

/* Icon linkfeld */

.icon-linkfeld a {
text-decoration: none!important;
text-color: #000000!important;
}
.icon-linkfeld a:hover {
text-decoration: underline!important;
text-color: BLUE!important;
}

/* Kontaktformular */

.content.kontakt .container {
display: grid;
grid-template-columns: 1fr;
align-items: start !important;
column-gap: 2em;
}

.content.kontakt h2 {        
	margin-bottom: 65px;
}

.content.kontakt .outer-container {
  padding-top: 55px;
}

@media only screen and (min-width: 705px) {
.content.kontakt .container {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
align-items: start !important;
column-gap: 2em;
}

.content.kontakt .box1 {
grid-column: 1 / 5;
}
.content.kontakt .box2 {
grid-column: 1 / 3;
}
.content.kontakt .box3 {
grid-column: 3 / 5;
}
.content.kontakt .box4 {
grid-column: 1 / 5;
}
}

@media only screen and (min-width: 990px) {
.content.kontakt .box4 {
  grid-column: 1 / 4;
}
}

/* Bottom */

.content.bottom .container {
  display: grid;
  grid-template-columns: 1fr;
  -ms-grid-columns: 1fr;
  color: #FFF;
  font-weight: 500;
  font-size: 21px;
  align-items: left;
  line-height: 2.4em;	
}

@media only screen and (min-width: 670px) {
.content.bottom .container {
  display: grid;
  grid-template-columns: 230px auto;
  -ms-grid-columns: 230px auto;
  column-gap: 40px;
}
}

@media only screen and (min-width: 1120px /*995px*/) {
.content.bottom .container {
	display: flex;
	justify-content: space-between;
	grid-template-columns:  auto auto auto auto;
	-ms-grid-columns: 1fr 1fr 1fr 1fr;
}
}

.bottom .outer-container {
	background-color: #0062A9;
	padding-top:1.6em !important;
	padding-bottom: /*1.4em*/ 3em !important;
	text-align: left;
	color:#FFF;
	font-weight: 400;
	font-size: 18px;
}
.bottom p {
	margin-bottom: 0em;
}
.bottom img {
	vertical-align: middle;
	margin-right: 12px;
}
.bottom img.telefon {
margin-right: 6px;
}
.bottom {
	color:#fff;
	padding-bottom:0.6em;
	text-align:center;
	text-decoration:none;
	text-transform:none;
	text-wrap:none;
	margin-top: 50px;
	margin-bottom: 0;
}
.bottom a:link {
	font-size: 21px;
	color:#fff;
	padding-top:0.6em;
	padding-bottom:0.6em;
	text-align: left;
	text-decoration: none;
	text-transform: none;
	text-underline-offset: 4px;
	font-weight: 500;
	margin-left:3em;
}
.bottom a:hover {
	text-decoration: underline;
}
.bottom .box3 img {
	margin-top: -5px;
}

.bottom .box2, .bottom .box3 {
white-space: nowrap;
}
.bottom .box4 {
/*padding-left: 1.7em;
text-indent: -1.6em;*/
line-height: unset;
}

@media only screen and (max-width: 1180px) {
.bottom .box4 {
padding-left: 1.7em;
text-indent: -1.6em;
line-height: 1.3em;
}
}

@media (min-width: 825px) {
.bottom .box4 {
  margin-top: 0.5em;
}
.bottom .outer-container {
  padding-bottom: 2.0em !important;
}
}

@media (max-width: 825px) {
.bottom .box4 {
  padding-top: 0.6em;
  }
}

@media (min-width: 1181px) {
.bottom .box4 {
  margin-top: 0;
}
}

#startseite .bottom, #kontakt .bottom, #polierkugeln .bottom {
  margin-top: 0px;
}

/*------------------------------------------------------ footer --------------------------------------------------------*/

footer a {
text-decoration: none;
margin-left: 20px;
color: #000;	
margin-left: 16px;
display: inline;
}


#starticon {
	display: block;
}
#starticon a {
	margin-right:5px;
	width: 40px;
	display: inline-block;
}
header .box2 {
	display: flex;
	justify-content: end;
	align-content: unset;
	margin-top: 2px;
}
#starticon a.eins img {border-radius: 0;}

 @media only screen and (min-width: 895px) {
	 
header .box2 {
	margin-top: 14px;
}
	 
footer a {
	display:inline-block;
	margin-left: 40px;
}
#starticon a {
	display: block; /* Hidden by default */
	position: fixed; /* Fixed/sticky position */
	z-index: 99; /* Make sure it does not overlap */
	border: none; /* Remove borders */
	outline: none; /* Remove outline */
	cursor: pointer; /* Add a mouse pointer on hover */
	opacity:1;
	text-decoration: none;
	margin-right:0px;
	width: 40px;
}
#starticon a.eins {
	top: 92px; /* Place the button at the bottom of the page */
	right: 0px; /* Place the button 30px from the right */
}
#starticon a.zwei {
	top: 153px; /* Place the button at the bottom of the page */
	right: 0px; /* Place the button 30px from the right */
}
}
/*table {
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	text-align:top;
	line-height: 2.2em;
	margin-top:2em;
	margin-bottom:2em;
}
table thead {
	background-color:rgba(0, 98, 169, 0.32) !important;
	text-align:center;
}
table tbody th, table tbody td {
	border-bottom:2px solid #fff;
	padding:5px 10px;
	vertical-align:top;
	background-color:#EEEFF1;
	text-align:center;
}*/

/*.table {
	width:100%;
	margin:20px 0 20px 0px;
	background: #fff;
	text-align:center;
	border-spacing: 0px 3px;
	border-collapse:separate;
	table-layout:fixed;
	padding:3px;
	line-height:2em;
}
.table_td {
	background:#eeeff1;
	text-align:center;
	table-layout:fixed;
	padding:6px;
	line-height:15px;
}
.table_td_color {
	background:#f3f6f9;
	text-align:center;
	table-layout:fixed;
	padding:6px;
	line-height:15px;
}
.table_td_color2 {
	background:#f9fafb;
	text-align:center;
	table-layout:fixed;
	padding:6px;
	line-height:15px;
}
.table_head_td {
	background:#adcde3;
	padding:6px;
	color: #000!important;
	font-weight:600;
}
.table_klein {
	text-align:center;
	border-collapse:separate;
	width:80px;
	table-layout:fixed;
}*/


.table {
	width:100%;
	background: #ADCDE3;
	border-spacing:3px 3px;
	border-collapse:separate;
	padding:0px;
	margin:0px 0 40px 0px;
	white-space: nowrap;
	vertical-align: middle;
}
.anwendung .table_td {
	text-align:left !important;
}
.table_head_td {
	background:#ADCDE3;
	padding:6px 10px;
	color: #000;
	font-weight:600;
	display: table-cell;
	text-align:left;
	vertical-align: middle;
}
.table_td {
	width:12%;
	background:#fff;
	padding:6px 10px;
	line-height:15px;
	display: table-cell;
	vertical-align: middle;
	text-align:center;
}
#materialien .table .table_td:nth-child(odd) {
	background:#eee;
}
/*.table td:nth-child(1) {
	background:#F00 !important;
}*/


.table_td_color {
	width:40%;
	background:#e6eef5;
	text-align:left;
	padding:6px 10px;
	vertical-align: middle;
}
.table_td_color2 {
	background:#f3f6f9;
	text-align:center;
	padding:6px;
	vertical-align: middle;
	white-space: nowrap;
}
.table_klein {
	text-align:center !important;
	border-collapse:separate;
	vertical-align: middle;
	width:100%;
}
.table_klein td {
	width:50%;
}
.margin-top {
	margin-top:50px !important;
}

/* Übersicht nach Buchung */
 .modern-table {
    width: 100%;
    max-width: 800px;
    margin: 2rem auto;
    border-collapse: collapse;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.5);
    border-radius: 8px;
    overflow: hidden;
  }
  .modern-table th {
    background: #005a9c; /* dunkelblau Akzentfarbe */
    color: #ffffff;
    text-align: left;
    padding: 16px;
    font-size: 1.25em;
  }
  .modern-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e0e0e0;
    color: #333333;
  }
  .modern-table tr:last-child td {
    border-bottom: none;
  }
  .modern-table .label {
    width: 35%;
    font-weight: bold;
    vertical-align: top;
  }
  .modern-table .input-cell input {
    width: 100%;
    padding: 8px;
    font-size: 1em;
    border: 1px solid #cccccc;
    border-radius: 4px;
    box-sizing: border-box;
  }
  .modern-table .actions {
    text-align: right;
    padding: 16px;
  }
  .modern-table .actions button {
    padding: 10px 20px;
    font-size: 1em;
    color: #ffffff;
    background: #0078d4; /* helleres Blau für Button */
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }
  .modern-table .actions button:hover {
    background: #005a9c;
  }
  @media (max-width: 480px) {
    .modern-table th, .modern-table td {
      padding: 10px;
    }
    .modern-table .label {
      display: block;
      width: 100%;
      margin-bottom: 4px;
    }
    .modern-table .input-cell {
      width: 100%;
    }
    .modern-table .actions {
      text-align: center;
    }
  }