/* custom CSS */
/* Fonts lokal */
@import url("fonts.css") screen;
/* tabellenspalten */
@import url("tabellenspalten.css") screen;
/* @import url("testfarben.css") screen;  */
/* --------------------------------- */
#respident {
    display: none;
    z-index: 12000;
    position: fixed;
    top: 0;
    left: 50%;
    font-size: 0.9em;
    font-weight: normal;
    font-style: normal;
    background: #fff;
    color: #999;
    border: 1px dotted black;
}

#respident:after {
    content: "max1199";
}

html {
    overflow-y: scroll;
}

body {
    background: #FAFAFA; 
    color: #666666;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
	line-height: 1.3rem;
}

nav {
    font-family: 'Cairo', serif;
    font-size: 1.1em;
    font-weight: 400;	
}

li {line-height: 1.2rem; }
li {margin-bottom: 0.5rem;}

.nichtda {
    display: none;
}

/* Farben */
.rot {
    color: #aa0000;
}

.dunkelgrau {
    color: #666666;
}

.mittelgrau {
    color: #999999;
}

.hellgrau {
    color: #dcdcdc;
}

/* Links */
#Seiteninhalt a:link,
#Seiteninhalt a:visited {
    color: #666666;
}

#Seiteninhalt a:hover,
#Seiteninhalt a:focus,
#Seiteninhalt a:active,
.nav-link:focus,
.nav-link:hover,#katlink a.textlink:active {
    color: #aa0000;
    -webkit-transition: 0.5s ease;
    -moz-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    -ms-transition: 0.5s ease;
    transition: 0.5s ease;
}

a.nav-link.active:link {color: #ffffff!important}

a.mail-link { } /* mail Link per JS */

.stern {
		font-size: 1.1rem;
		font-weight: bold;
		margin: 0 1px;
		color: red;
		}

/* Drobdown Instrumente => Angebote (mit display ein/aus */
a.nav-angebote::before {content: "Angebote"; display: block;}

a.note {
    /* Notensymbol */
    text-decoration: none;
    margin-left: 0.3rem;
}

footer a:link,
footer a:visited {
    color: #999999;
    text-decoration: none;
}

.footer-link {
    margin-right: 2rem;
}

/* head */
/* Logo Hintergrund */
div.head-oben {
    background: #FAFAFA;
}

#logo-head {
    height: 13vh;
}

footer,
nav,
a.seitenanfang {
    background: #1C1C1C;
}

nav.navbar {
    padding-top: 0.2rem;
    padding-bottom: 0;
}

li.nav-item {margin-bottom: 0.2rem;}


/* Navigation */
.nav-item {
    padding-right: 1.3em;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: #aa0000;
}

a.navbar-brand.rechtshalter {} /* nav-mobil Platzhalter für Hamburger rechts */

/* BT5 Carousel - Einst. auch in der custom_scripts.js */
.carousel-item {
    transition: transform 6s ease-in-out;
}

/* Dauer fade effect */
.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
    transition: opacity 4.0s 0s;
}

.carousel-item > img {
    object-fit: cover;
    object-position: center;
    height: 80vh;
}

/* Foto-Position */
div.carousel-caption {
	padding: 0 0.5rem;
	margin-top: 1.3rem; /* Abstand zur nav m-t  */
	top: 0;
	left: 0;
    right: 0;
}

.carousel-caption > h5 {
	padding: 0.8rem 2rem 1.4rem  2rem;	
	border-radius: 0.5rem;
	display: inline;
	font-size: 3.7rem;
	font-family: 'Quattrocento', serif;  
	color: #ffffff; 
	background-color:  rgba(170, 0, 0, 0.6); 
}

.carousel-caption > p {
    font-size: 1.5rem;
    font-family: 'Cairo', serif;
    font-weight: 600;
	margin-top: 2rem;
}

p.start-caption {font-size: 1.2rem;}
p.start-caption small {font-size: 0.8rem;}

div.carousel-indicators,button.carousel-control-next,button.carousel-control-prev {display: none;}


/* Banner Startseite ANFANG */
div#BannerModal p a, div#banner p a {color: #666666;}
div#BannerModal p a:hover, div#banner p a:hover {color: #aa0000;}
div.bannerbox {padding: 1.2rem; border-radius: 0rem; background-color:#fff; }
#banner h2,h2.modal-title {color: #aa0000}

/* Überlagernder Hintergrund */
	#banner-overlay {
	  display: none;
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background-color: rgba(0, 0, 0, 0.3);
	  z-index: 1040;
	  transition: opacity 0.8s ease, visibility 0.8s ease;
	  pointer-events: none;
	}

	#banner-overlay.show {
	  opacity: 1;
	  display: block;
	  pointer-events: auto;
	}

	#banner-overlay.hide {
	  opacity: 0;
	  display: none;
	}

    /* Banner Styling */
	#banner {
	  pointer-events: none;
	  display: none;
	  background-color: rgba(255, 255, 255, 0.5); /* weiß, 50% transparent */
	  position: fixed;
	  top: 40%;
	  left: 0;
	  width: 100%;
	        /*  display: flex;         Flex bleibt immer aktiv */
	  justify-content: center;
	  align-items: center;
	  flex-direction: column;
	  opacity: 0;
	  transition: opacity 0.8s ease,  visibility 0.8s ease;
	  z-index: 2010;
	}

	#banner.show {
	  opacity: 1;
	  visibility: visible;
	  display: flex;
     pointer-events: auto;
	}

	#banner.hide {
	  opacity: 0;
	  visibility: hidden;
	}

	.banner-content {
	  max-width: 600px;
	  width: 100%;
	  background: #ffffff;
	  border: 0.25px solid #aa0000; 
	  border-radius: 0.25rem;
	  text-align: left;
	  padding: 1.5rem;
	}

	

	#banner h2, 
	#banner p, 
	#banner ul {
	  margin: 0.5em 0;
	}
	
	/* Banner-Link wie Button */
		#banner a.btn {
		  display: inline-block;
		  padding: 0.375rem 0.75rem; /* gleiche Höhe wie Standard Bootstrap */
		  font-size: 1rem;
		  font-weight: 400;
		  line-height: 1.5;
		  color: #fff;              /* Textfarbe */
		  background-color: #aa0000; /* wie btn-secondary */
		  border: 1px solid #aa0000;
		  border-radius: 0.25rem;
		  text-align: center;
		  text-decoration: none;
		  cursor: pointer;
		  transition: background-color 0.15s ease, border-color 0.15s ease;
		  margin-top: 1.5rem;
		}

		#banner a.btn:hover {
		  background-color: #5a6268;  /* dunkler beim Hover */
		  border-color: #545b62;
		  color: #fff;
		}

		#banner button {
		  float: right; /* Button rechts im Container */
		  margin-top: 1rem;
		}

/* Banner Startseite ENDE*/



/* Inhaltsbereich */
section#unterdemhead {}

div#katlink { /* Link über Inhalt z. B. zur Oberkategorie bei Refseiten */
	width: auto;
    padding: 0.3rem 0;
    margin: 0.5rem 0 0;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem;
}

div#katlink a.textlink {
	display: block;
	width: 100%;
	padding: 0.1rem 0.5rem;
	clear: both;
	font-weight: 400;
	color: #212529;
	text-align: inherit;
	text-decoration: none;
	white-space: nowrap;
	background-color: transparent;
	border: 0;
}

div#katlink a.textlink:hover {
    background-color: #e9ecef;   
}
div#katlink a.textlink::before {
    content: "\25b2";
    font-size: 0.8em;
	padding-right: 0.2rem;
}

div#katlink a.textlink.eins::after {
	content: "Neubauten";
}

div#katlink a.textlink.zwei::after {
	content: "Restaurierungen";
}

div#katlink a.textlink.drei::after {
	content: "Neuintonationen";
}

div#katlink a.textlink.vier::after {
	content: "Überholungen";
}

div#katlink a.textlink.fuenf::after {
	content: "Angebote";
}
	
section.refseite + div#Seiteninhalt {margin-top: 0.4rem;}

div#Seiteninhalt {
    margin-top: 2vw;
    margin-bottom: 2vh;
}

.small, .hinweistext-small { font-size: 0.75rem; }
.hinweistext-very-small { font-size: 0.55rem;}
.hinweistext-small, .hinweistext-very-small {line-height: 1rem; font-style: italic;}
.herrfunk {font-size: 0.8rem; }
h1.ohne-head {margin-top: -0.8vw;}

span.merkmalworte {display: block;}

.vorliste {
    margin-bottom: 0.35rem;
}

 .download-link { /* 2te Zeile einrücken */
	 margin-left: 0.9em; 
	 text-indent: -0.9em;
	 }
	 
 .download-link::before {
    content: "\2937"; /* \2937  \2713 */
    font-size: 1.3em;
	font-weight: bold;
	color: green;
	padding-right: 0.2rem;
}

.break-spalte {display: none} /* Klang Spalte <br> bedingt */

#osmap { height: 40vw;} 

a.fbox-titellink {color: #aa0000; text-decoration: none;}
span.fotoquelle {font-size: 0.8rem; color: #999;}

/* bild/text box */
section.sectextbox {
    margin-top: 1.5rem;
}

/* Bilder im Inhalt */
div.bildbox {
    margin-left: auto!important;
    margin-right: auto!important;
    margin-bottom: 1rem;
}

img.bildlinks {
    padding-right: 1rem;
}

img.bildrechts {
    padding-left: 1rem;
}

/* Klangseite */
table.klangtab td.wsp1 {
    width: 30%;
}

table.klangtab td.wsp2 {
    width: auto;
}

table.klangtab td.wsp3 {
    width: 12%;
}

table.klangtab td:nth-child(3) {
    font-size: 0.8rem;
}

table.klangtab td {
    padding: 0.9rem 0.5rem 0.5rem 0.5rem;
}

table.klangtab td  a::before, a.mp3::before {
    content: "\266a";
    font-size: 1.2rem;
    margin-right: 0.25rem;
}

table.klangtab td em {
    padding-left: 0.9rem;
}

table.klangtab tbody,
table.klangtab tr,
table.klangtab td {
    white-space: normal;
	border-style: none;
	}

table.klangtab tbody tr:nth-child(2)  td {
    white-space: normal;
}

/* Instrumente Bereich */
div.instrument {
    margin-bottom: 1rem;
    width: auto;
    height: 92%;
}

div.instrument img {
    object-fit: cover;
    object-position: top;
    height: 14em;
}

div.instrument .card-body {
    padding-top: 0.3rem;
}

div.instrument .text-mitte {
    /* Ref. ohne Foto */
    position: absolute;
    top: 30%;
}

.fancybox__container { 
  --fancybox-thumbs-border-radius: 5%;
  --fancybox-thumbs-ratio: 1;
  --fancybox-thumbs-width: 80px;
  --fancybox-thumbs-height: 80px;
  --fancybox-accent-color: #aa0000;
}


/* Border Ref-Tabelle u. Merkmale Box Startseite */
div.merkmale, table.klangtab,
table.tabelle-disposition,
a.seitenanfang.bginhalt {
    border: 1px solid #999999;
}


/* Referenzseiten */

.ref-titel {/* h2 Orgelname */}
span.h-small {font-size: 0.7em;padding-top: 0.5em;}
table.tabelle-disposition,table.klangtab {
    min-width: 400px;
    background: #E6E6E6;
}

table.tabelle-disposition tbody,
table.tabelle-disposition tr,
table.tabelle-disposition td {
    border-style: none;
    white-space: nowrap;
} 

.textumbruch {white-space: normal!important;}



/* Seitenanfang */
a.seitenanfang {
    position: relative;
    left: 88%;
    bottom: 0;
    padding: 0.1em 0.5em;
    font-family: 'Cairo', serif;
    font-weight: 400;
    text-decoration: none;
    border-radius: 5px;
}

a.seitenanfang.bginhalt {
    background: #e6e6e6;
    padding: 0 0.3em;
}

a.seitenanfang::before {
    content: "\25b2";
    font-size: 0.8em;
}



a.seitenanfang::after {
    content: " Nach oben";
    font-size: 0.8em;
}

a.seitenanfang::before,
a.seitenanfang::after {
    color: #999999;
}

/* Text rechts neben dem Pfeil aufw\00e4rts */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    a.seitenanfang {
        position: relative;
        left: 88%;
        bottom: -0.7em;
    }
}

/* ######### ---- MEDIA QUERIES --------- MEDIA QUERIES ------ MEDIA QUERIES ---------####### */

/* xl ab 1300 */
@media (min-width: 1300px) {
    #respident:after {
        content: "xl min1300";
    }
	
	#logo-head {
        height: 14vh;
    }
	
	.carousel-item > img {
        height: 60vh;
    }

    body {
        font-size: 1.1rem;
    }

	
/* xl ENDE */}




/* lg 992 - 1299 */
@media (max-width: 1299px) {
    #respident:after {
        content: "lg min992-max1299";
    }

    .nav-item {
        padding-right: 0.9em;
    }

    nav {
        font-size: 1.0em;
    }
	
    .carousel-item > img {
        height: 50vh;
    }
    h1 {
        font-size: 2.1rem;
    }


/* lg ENDE */}

/* md 768 - 991 */
@media (max-width: 991px) {
    #respident:after {
        content: "md min768-max991";
    }
	

    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.2rem;
    }
	
	#logo-head {
        height: 12vh;
    }
    .carousel-item > img {
        height: 40vh;
    }
	
	.carousel-caption > h5 {
		padding: 0.8rem 2rem 1.2rem  2rem;	
		font-size: 2.5rem;
	}
	.carousel-caption > p {
		font-size: 1.2rem;
	}
	
	span.merkmalworte {display: inline; margin-left: 0.5rem;}
	
	.dropdown-item {padding-left: 2rem; } /* Nav-dropdown Einzug links*/
	
	table.klangtab {font-size: 0.9rem;}
	table.klangtab td.wsp1 { width: 35%;  }
	
	.break-spalte {display: block} /* Klang Spalte <br> bedingt */
	
	table.klangtab td:nth-child(3) {
    width: 13%; font-size: 0.85em;
	}
	

/* md ENDE */}


/* sm 576 - 767 */
@media (max-width: 767px) {
    #respident:after {
        content: "sm min576-max767";
    }

    #logo-head {
        height: 9vh;
    }
	
    .carousel-item > img {
        height: 30vh;
    }
	
	div.carousel-caption {
		margin-top: 0.8rem; /* Abstand zur nav m-t*/
	}	
	
	.carousel-caption > h5 {
    padding:  0.5rem 1.6rem 1rem  1.6rem;	
	font-size: 2rem;
	}
   
   	.carousel-caption > p {
		font-size: 0.9rem;
		line-height: 1em;
		margin-top: 1.4rem;
	}

    nav {
        font-size: 1.3em;
    }
	
	 #banner {top: 40%; border: 1px dotted green;} /* Banner Startseite */

    h1 {
        font-size: 1.6rem;
    }

    /* Border Merkmale Box Startseite */
    div.merkmale {
        border: none;
    }
	
	    img.bildlinks, img.bildrechts {
        display: block;
        margin-bottom: 1rem;
		padding: 0rem 1em; 
    }
	
	table.klangtab {font-size: 0.8rem;}
	table.klangtab td.wsp1 {
    width: 35%;
}
	
	table.klangtab td:nth-child(3) {
    width: 13%; font-size: 0.85em;
	}
	

		
/* sm ENDE */}



/* xs bis 575 */
@media (max-width: 575px) {
    #respident:after {
        content: "xs max575";
    }

    body {
        font-size: 0.9rem;
    }
	
	div.head-oben { padding-bottom: 3px; 
	} /* 21.04. */


    #logo-head {
        height: 7vh; 
    }

    nav {
        padding: 0 !important;
    }
	
	 .carousel-item > img {
        height: 32vh;  /* 21.04. - alt 22vh */
    }
	
	div.carousel-caption {
		margin-top: 0.5rem; /* m-t = padding h5 */
	}	
	
	.carousel-caption > h5 {
    padding: 0.3rem 0.6rem ;	/* p-oben = margin-top div */
	font-size: 1.8rem; /* 21.04. - alt 1.2rem */
	border-radius: 0.3rem;
	}
   
   	.carousel-caption > p {
		font-size: 0.8rem;
		margin-top: 0.5rem;
	}
	
	#banner {top: 40%; border: 1px dotted red;}
    h2.modal-title {font-size: 1.5rem;}	/* Banner Startseite */
	
	p.start-caption {font-size: 0.8rem; line-height: 0.8rem;}
	p.start-caption small {font-size: 0.6rem;}


    h1 {
        font-size: 1.2rem;
    }

    h2 {
        font-size: 1rem;
    }
	
	h3 {font-size: 0.9rem;}
	 
	.lead { font-size: 0.9rem;}
	


    div.bildbox {
        max-width: 80%;
    }


    div.instrument {
        margin-left: auto;
        margin-right: auto;
        width: 70%;
        height: 92%;
    }

    table.klangtab tbody,
    	table.klangtab tr,
    	table.klangtab td {
        white-space: nowrap;
    }
	
	section#foerderung img {max-width: 60%;} /* 21.04. */
		
	#osmap { height: 55vw;}	


    /* Seitenanfang */
    a.seitenanfang::after {
        content: "";
    }

    a.seitenanfang {
        position: relative;
        right: 10%;
        top: 10px;
        padding: 0 0.5em;
        border-radius: 4px;
    }
	
	
/* xs ENDE */}