@font-face {font-family: RobotoCondensed; font-style: normal; font-weight: 900; src:url("fonts/RobotoCondensed-Bold.ttf") format("truetype");}
@font-face {font-family: RobotoCondensed; font-style: normal; font-weight: 700; src:url("fonts/RobotoCondensed-Regular.ttf") format("truetype");}
@font-face {font-family: RobotoCondensed; font-style: normal; font-weight: 400; src:url("fonts/RobotoCondensed-Light.ttf") format("truetype");}

@font-face {font-family: Poppins; font-style: normal; font-weight: 100; src:url("fonts/Poppins-ExtraLight.ttf") format("truetype");}
@font-face {font-family: Poppins; font-style: normal; font-weight: 400; src:url("fonts/Poppins-Light.ttf") format("truetype");}
@font-face {font-family: Poppins; font-style: normal; font-weight: 700; src:url("fonts/Poppins-Regular.ttf") format("truetype");}
@font-face {font-family: Poppins; font-style: normal; font-weight: 900; src:url("fonts/Poppins-SemiBold.ttf") format("truetype");}



/* RESET BROWSERSTYLE */
body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,hr,blockquote {padding: 0; margin: 0;}

/* GLOBAL */
h1, h2, h3, h4, h5, h6 {color: #222;}
h1 {font-family: Poppins, arial, sans-serif; font-size: 28px; line-height: 1.2em; font-weight: 100; padding: 12px 0 6px 0; margin: 0;}
h2 {font-family: Poppins, arial, sans-serif; font-size: 26px; line-height: 1.2em; font-weight: 100; padding: 12px 0 6px 0; margin: 0;}
h3 {font-family: Poppins, arial, sans-serif; font-size: 24px; line-height: 1.2em; font-weight: 100; padding: 12px 0 6px 0; margin: 0;}
h4 {font-family: Poppins, arial, sans-serif; font-size: 22px; line-height: 1.2em; font-weight: 100; padding: 12px 0 6px 0; margin: 0;}
h5 {font-family: Poppins, arial, sans-serif; font-size: 20px; line-height: 1.2em; font-weight: 100; padding: 12px 0 6px 0; margin: 0;}
h6 {font-family: Poppins, arial, sans-serif; font-size: 18px; line-height: 1.2em; font-weight: 100; padding: 12px 0 6px 0; margin: 0;}
p {padding: 10px 0;}
ol {margin: 6px 0 6px 20px;}
ol li {line-height: 1.3em; border: 0; padding: 3px 0; margin: 2px 0;}
ul {list-style: disc; margin: 6px 0 6px 20px;}
ul li {line-height: 1.3em; border: 0; padding: 3px 0; margin: 2px 0;}
hr {height: 1px; clear: both; color: #cbb89d; background-color: #cbb89d; border: 0; margin: 16px 0;}
blockquote {background: #f5efe0; color: #444; border-left: 3px solid #cbb89d; padding: 6px 20px; margin: 10px 0;}
img {box-sizing: border-box; max-width: 100%; height: auto;}





/* 
##############################
 C O N T E N T  C L A S S E S 
##############################
*/

img.tplge_left {display: block; float: left; max-width: 44%; border: 0; margin: 0 20px 16px 0;}
img.tplge_right {display: block; float: right; max-width: 44%; border: 0; margin: 0 0 16px 20px;}
img.tplge_centered {display: block; border: 0; margin: 24px auto;}
img.tplge_left_noborder {display: block; float: left; max-width: 44%; border: 0; margin: 0 20px 16px 0;}
img.tplge_right_noborder {display: block; float: right; max-width: 44%; border: 0; margin: 0 0 16px 20px;}
img.tplge_centered_noborder {display: block; border: 0; margin: 24px auto;}
img.tplge_left_border {display: block; background: #fff; float: left; max-width: 44%; border: 1px solid #d8cbb5; padding: 6px; margin: 0 20px 16px 0;}
img.tplge_right_border {display: block; background: #fff; float: right; max-width: 44%; border: 1px solid #aaa; padding: 6px; margin: 0 0 16px 20px;}
img.tplge_centered_border {display: block; background: #fff; border: 1px solid #d8cbb5; padding: 6px; margin: 24px auto;}
img.tplge_border {background: #fff; border: 1px solid #d8cbb5; padding: 6px;}

.tplge_clearLeft {clear: left;}
.tplge_clearRight {clear: right;}
.tplge_clearBoth {clear: both;}

/* Contentboxen */
div.tplge_contentboxleft {width: 47%; min-height: 60px; float: left; box-sizing: border-box; background: #f8f4ec; font-size: 17px; line-height: 1.5em; border: 0px solid #ddd2bf; border-radius: 6px; padding: 16px 24px 16px 24px; margin: 14px 3% 14px 0;}
div.tplge_contentboxright {width: 47%; min-height: 60px; float: right; box-sizing: border-box; background: #f8f4ec; font-size: 17px; line-height: 1.5em; border: 0px solid #ddd2bf; border-radius: 6px; padding: 16px 24px 16px 24px; margin: 14px 0 14px 3%;}
div.tplge_contentboxfullsize {clear: both; width: 100%; min-height: 60px; box-sizing: border-box; background: #f8f4ec; font-size: 17px; border: 0px solid #ddd2bf; border-radius: 6px; padding: 16px 24px 16px 24px; margin: 14px 0 14px 0;}
.tplge_headlineContentBox {font-size: 22px; font-weight: 500; colour: #7d6850; padding: 0; margin: 0;}
.tplge_contentboxesClear {clear: both; height: 1px; overflow: hidden;}

.tplge_code {clear: both; background: #fcfaf6; color: #444; font-family: 'courier new', monospace; font-size: 15px; border: 1px solid #aaa; padding: 16px 25px; margin: 10px 0; overflow: scroll;}
.tplge_box01 {clear: both; background: #fcfaf6; color: #444; border: 1px solid #d8cbb5; border-radius: 5px; padding: 16px 25px; margin: 10px 0;}
.tplge_legal {padding: 6px 0;}

/* TinyMCE image descriptions */
figure.image {display: table; background: #d0d9df; border: 3px solid #a0a9af; border-radius: 3px; padding: 0; margin: 10px auto 20px auto;}
figure.align-left {max-width: 40%; float: left; margin: 10px 20px 20px 0;}
figure.align-right {max-width: 40%; float: right; margin: 10px 0 20px 20px;}
figure.align-center {float: none; margin: 20px auto;}
figure.vorstand {width: 186px; height: 328px; float: left; margin: 10px 1% 8px 1%;}
figure.image img {display: block; width: 100%; padding: 0; margin: 0 auto;}
figure.image figcaption {background: #F7F3EE; color: #222; text-align: center; font-size: 16px; line-height: 1.2em; padding: 9px 12px;}

/* table basic design */
table {border-collapse: collapse;}
td {min-width: 20px!important;}

/* table design beige */
table.grey {width: 100%; height: auto; background: #fff; border: 0; margin: 2px 0 16px 0; border-collapse: separate;}
table.beige td {width: auto; height: auto; vertical-align: top; background: #f5efe0; color: #444; line-height: 1.4em; border: 0!important; padding: 10px 14px;}
table.grey td p {margin: 6px 0;} 

/* table design white */
table.white {width: 100%; height: auto; background: #fff; border: 0; border-collapse: collapse; margin: 2px 0 16px 0;}
table.white td {width: auto; height: auto; vertical-align: top; background: #fff; color: #444; line-height: 1.4em; border: 1px solid #d8cbb5 !important; padding: 10px 14px;}
table.white td p {margin: 6px 0;} 

/* unsichtbare Tabelle linksbündig / unvisible table align left */
table.transparent {width: 100%; height: auto; border: 0; border-collapse: collapse; margin: 2px 0 16px 0;}
table.transparent td {width: auto; height: auto; vertical-align: top; line-height: 1.2em; border: 0px solid!important; padding: 8px 24px 8px 0;}
table.transparent td p {margin: 6px 0;}





/* 
##############################
      B E R E I C H E
############################## 
*/

/* BODY UND SEITE / BODY AND PAGE */
body {background: #fff; color: #345; font-family: RobotoCondensed, arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 1.4em; text-align: left;}
.body {background: #ffffff;}
#top {font-size: 0; line-height: 0;} 





/* FIXED NAVIGATION */

.tplge_pageNav {display: block; position: fixed; top: 0; box-sizing: border-box; width: 1200px; min-width: 300px; max-width: 100%; height: 48px; background: #101619; color: #fff; font-size: 17px; padding: 0; margin: 0 auto; z-index: 998; overflow: hidden; opacity: 1;}

/* buttons */
img.tplge_homelinkButton {float: left;}
img.tplge_sitemaplinkButton {float: left; padding: 3px 3px 7px 1px;}
img.tplge_menulinkButton {float: right;}
img.tplge_searchlinkButton {float: right;}
img.tplge_newslinkButton {float: right;}
img.tplge_toplinkButton {float: right;}

img.tplge_homelinkButton:hover,
img.tplge_sitemaplinkButton:hover,
img.tplge_menulinkButton:hover,
img.tplge_newslinkButton:hover,
img.tplge_searchlinkButton:hover,
img.tplge_toplinkButton:hover,
img.tplge_scrolltoTopButton:hover {background: #c64640;}





/* HEADER */

header {padding: 48px 0 0 0;}
.tplge_sitename {position: absolute; font-family: Helvetica, arial, sans-serif; color: #fff; font-weight: 100; font-size: 40px; line-height: 1.1em; letter-spacing: 3px; text-transform: none; padding: 24px 30px 9px 30px;}

/* image header */
.tplge_headerimage {display: table; width: 100%; background: #F7F3EE; border: 0; border-collapse: collapse;}
.tplge_header_tr {display: table-row;}
.tplge_header_tdsmall {
    display: table-cell;
    width: 18%;
    vertical-align: middle;
    background: white;
}

.tplge_header_tdsmall img {
    display: block;
    width: 60%;
    max-width: 170px;
    margin: 40px auto;
}

.tplge_header_tdwide {
    display: table-cell;
    width: 82%;
}

.tplge_header_tdwide img {
    display: block;
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: center center;
}




/* INHALTSBEREICH / CONTENTS */

.tplge_content {min-width: 300px; background: #fff;}
.tplge_contentIn {font-size: 20px; padding: 16px 30px 36px 30px;}

/* locator */
.tplge_locatorIn {background: #046; color: #fff; font-size: 17px; padding: 12px 30px; margin: 0; overflow: hidden;}
.tplge_locatorDelimiter {color: #ddd; font-size: 20px; font-weight: 900; padding: 0 5px;}
.tplge_locator span.tplge_locatortext {font-weight: 900; padding: 0 6px 0 0;}
.tplge_locator span.cmsimpleLocatorElement {font-weight: 700;}
.tplge_locator span.cmsimpleLocatorElementLast {font-weight: 900;}

article {padding: 0 0 16px 0;}

/* language menu */
.tplge_langmenu {min-height: 16px; text-align: right; padding: 6px 0;}
.tplge_langmenu img {background: #fff; border: 1px solid #999; border-radius: 3px; padding: 3px; margin: 0 0 0 20px;}

/* CMSimple mailform */
.tplge_contentIn input {background: #fff; border: 1px solid #aaa; border-radius: 0; padding: 4px 6px;}
.tplge_contentIn input.text {width: 80%; background: #fff; border: 1px solid #aaa; border-radius: 0; padding: 4px 6px;}
.tplge_contentIn textarea {width: 94%; background: #fff; font-family: RobotoCondensed, arial, sans-serif; border: 1px solid #aaa; border-radius: 0; padding: 6px;}
.captchainput {background: #fff; border: 1px solid #aaa; border-radius: 0;}
.tplge_contentIn input.submit, .tplge_contentIn input#submit {background: url(images/button.jpg) repeat-x!important; color: #333; font-size: 15px; line-height: 20px; border: 1px solid #aaa; border-radius: 3px; padding: 2px 12px 4px 12px; margin: 0 auto 0 0;} 

/* submenu siblingsmenu subsibmenu */
nav.tplge_subsibmenus {clear: both; font-size: 18px; margin: 24px 0;}
.tplge_subsibmenus span {font-weight: 700; color: #910;}
.tplge_subsibmenus p {font-size: 20px; font-weight: 700;}
.tplge_subsibmenus .parentLink {font-size: 24px; font-weight: 400; padding: 6px 0 0 0; margin: 0;}
.tplge_subsibmenus .heading {font-size: 20px; font-weight: 700; padding: 6px 0 0 0; margin: 0;}

/* prev-top-next */
.tplge_prevtopnext {clear: both; text-align: center; padding: 0; margin: 36px 0 0 0;}
.tplge_prevtopnext img {background: #d0d6d9; border: 0px solid #999; border-radius: 5px; padding: 10px; margin: 0 16px;}
.tplge_prevtopnext img:hover {background: #ccc;}

/* sitemap */
ul.sitemaplevel1 {list-style: none; font-weight: 700; padding: 20px 0 0 0!important; margin: 0!important;}
ul.sitemaplevel1 li {list-style: none; font-size: 20px; font-weight: 900; border: 0px solid #aaa; border-radius: 5px; padding: 6px 0; margin: 6px 0;}

ul.sitemaplevel2 {list-style: none; font-weight: 700; padding: 0!important; margin: 0!important;}
ul.sitemaplevel2 li {font-size: 17px; font-weight: 400; border: 0; padding: 4px 0 0 0; margin-left: 0;}

ul.sitemaplevel3 {list-style: none; font-weight: 700; padding: 0!important; margin: 0!important;}
ul.sitemaplevel3 li {margin-left: 20px;}

ul.sitemaplevel4 {list-style: none; font-weight: 700; padding: 0!important; margin: 0!important;}
ul.sitemaplevel5 {list-style: none; font-weight: 700; padding: 0!important; margin: 0!important;}
ul.sitemaplevel6 {list-style: none; font-weight: 700; padding: 0!important; margin: 0!important;}





/* SIDEBAR NAV */

.tplge_sidebarNavIn {padding: 35px 28px 45px 28px;}

.tplge_menuAnchor {display: block; height: 0; border: 10px solid transparent; margin: -6px 0 6px 0;}

/* searchbox */
.tplge_searchboxContainer {clear: both; text-align: left; border-radius: 0; margin: 6px auto 6px 0; overflow: hidden;}
.tplge_searchboxInput {width: 196px; background: #fff; color: #333; float: left; font-size: 16px; border: 1px solid #999; border-radius: 5px; line-height: 20px; padding: 8px; margin: 0;}
.tplge_searchboxSubmit {background: url('images/lupedark.png') 9px 6px no-repeat; width: 40px; height: 38px; border: 0; padding: 0; margin: 0;}
.tplge_searchboxSubmit:hover {cursor: pointer;}

.tplge_toc h4 {font-weight: 700; font-size: 20px;}

/* menulevel 1 */
.tplge_sidebarNavIn ul.menulevel1 {list-style: none; padding: 6px 0 22px 0; margin: 0;}
.tplge_sidebarNavIn ul.menulevel1 li{
    font-size:24px;
    font-weight:300;
    text-transform:none;
    letter-spacing:0;
    padding:14px 0;
    border-bottom:1px solid #edf2f5;
}

.tplge_sidebarNavIn ul.menulevel1 span {color: #910;}

/* menulevel 2 */
.tplge_sidebarNavIn ul.menulevel1 li ul {padding: 0; margin: 0;}
.tplge_sidebarNavIn ul.menulevel1 li ul li {list-style: none; font-family: RobotoCondensed, sans-serif; font-size: 17px; line-height: 20px; font-weight: 400; letter-spacing: 0; text-transform: none; text-align: left; border: 0; padding: 10px 0 0 0; margin: 0;}

/* menulevel 3 */
.tplge_sidebarNavIn ul.menulevel1 li ul li ul {list-style: none; border: 0; padding: 0; margin: 0;}
.tplge_sidebarNavIn ul.menulevel1 li ul li ul li {list-style: none; padding: 10px 0 0 20px;}

/* docs & sdocs */
.tplge_sidebarNavIn li.docs a::after, 
.tplge_sidebarNavIn li.sdocs a::after, 
.tplge_sidebarNavIn li.sdocs span::after 
{content: "+"; font-family: arial, sans-serif; color: #900; font-size: 15px; line-height: 16px; font-weight: 700; margin-left: 3px;}
.tplge_sidebarNavIn li.doc a::after, .tplge_sidebarNavIn li.sdoc span::after 
{content: ""; font-size: 16px; line-height: 17px; font-weight: 700;}

/* icons div */
.tplge_icons {margin: 9px 0 36px 0;}
.tplge_icons img {display: block; float: left; background: #046; border-radius: 5px; padding: 4px; margin: 0 12px 0 0;}
.tplge_icons img:hover {background: #c42;}

/* Newsarea and Newsboxes */
.tplge_newsAnchor {display: block; border: 1px solid transparent; margin: -60px 0 60px 0;}
.tplge_newsArea {padding: 16px 0 0 0;}
.tplge_newsBox {font-size: 18px; line-height: 1.3em; padding: 0 0 12px 0; margin: 0;}
.tplge_sidebarNav h1, .tplge_sidebarNav h2, .tplge_sidebarNav h3, .tplge_sidebarNav h4 {font-size: 20px; font-weight: 700; padding: 0 0 9px 0;}
.tplge_sidebarNav h5, .tplge_sidebarNav h6 {font-size: 18px;}





/* contentPlus */
.tf_cplus {clear: both; background: #e6ece9;}
.tf_cplusIn {max-width: 1260px; padding: 48px 4%; margin: 0 auto;}
.tf_cplus2 {clear: both; background: url(images/bginfobox2.jpg) top left no-repeat; background-size: 600px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; margin: -1px 0;}
.tf_cplus2In {background: #ccc; color: #000; box-sizing: border-box; width: 60%; border: 4px double #999; border-radius: 5px; padding: 16px 4%; margin: 120px 12% 48px auto; opacity: 0.75;}





/* FOOTER */

.tplge_footer {max-width: 1200px; background: #046; color: #fff; font-size: 16px; text-align: right; margin: 0 auto;}
footer p {padding: 12px 20px 96px 20px; margin: 0;}
footer p span {opacity: 0.7;}





/* LINKFORMATIERUNG */
a:link {color: #058; text-decoration: none;}
a:visited {color: #058; text-decoration: none;}
a:hover {color: #910; text-decoration: underline;}
a:active {color: #910; text-decoration: underline;}
a:focus {color: #910; text-decoration: underline;}

.tplge_sidebarNavIn ul.menulevel1 a:link {color: #111; text-decoration: none;}
.tplge_sidebarNavIn ul.menulevel1 a:visited {color: #111; text-decoration: none;}
.tplge_sidebarNavIn ul.menulevel1 a:hover {color: #910; text-decoration: underline;}
.tplge_sidebarNavIn ul.menulevel1 a:active {color: #910; text-decoration: none;}
.tplge_sidebarNavIn ul.menulevel1 a:focus {color: #931; text-decoration: none;}

.tplge_locatorIn a:link {color: #fff; text-decoration: none; font-weight: 400;}
.tplge_locatorIn a:visited {color: #fff; text-decoration: none;}
.tplge_locatorIn a:hover {color: #fc0; text-decoration: none;}
.tplge_locatorIn a:active {color: #fc0; text-decoration: none;}
.tplge_locatorIn a:focus {color: #fc0; text-decoration: none;}

.tplge_footer a:link {color: #fff; text-decoration: none;}
.tplge_footer a:visited {color: #fff; text-decoration: none;}
.tplge_footer a:hover {color: #fc0; text-decoration: underline;}
.tplge_footer a:active {color: #fc0; text-decoration: none;}
.tplge_footer a:focus {color: #fc0; text-decoration: none;}

.tplge_olMenu a:link {color: #222; text-decoration: none;}
.tplge_olMenu a:visited {color: #222; text-decoration: none;}
.tplge_olMenu a:hover {color: #c40; text-decoration: none;}
.tplge_olMenu a:active {color: #c40; text-decoration: none;}
.tplge_olMenu a:focus {color: #c40; text-decoration: none;}





/* 
##############################
       O V E R L A Y S
##############################
*/

/* background */
.tplge_olBG {display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #000; opacity: 0.33; z-index: 9992;}


/* OVERLAY MENU */

.tplge_olMenu {display: none; position: fixed; top: 0; right: 0; width: 280px; height: 100%; background: #012; font-family: RobotoCondensed, arial, sans-serif; border-left: 3px solid #ccc; overflow: auto; z-index: 9994; animation: menuopen 0.5s;}
.tplge_olMenuIn {padding: 32px 0 16px 0; margin: 0; color: #fc0; border-radius: 0; overflow: auto; opacity: 1;}
button.tplge_olMenuClose {display: none; position: fixed; top: 9px; right: 24px; width: 32px; text-align: center; background: #c20; color: #fff; font-family: verdana, arial, sans-serif; font-weight: 700; font-size: 18px; line-height: 24px; border: 0px solid #999; border-radius: 3px; padding: 2px 0 3px 0; margin: 0; cursor: pointer; z-index: 9996; animation: menuopen 0.5s;}
button.tplge_olMenuClose:hover {background: #f30;}
@keyframes menuopen{from{margin-right: -320px;}to{margin-right: 0;}}


/* toc */
.tplge_olMenuToc {box-sizing: border-box; width: 100%; margin: 12px 0 0 0;}

.tplge_olMenu ul {margin: 0 20px; float: none; clear: both;}
.tplge_olMenu ul li {list-style: none; font-size: 17px; line-height: 24px; font-weight: 700; padding: 12px 0 0 0; margin: 0; text-transform: uppercase;}

.tplge_olMenu ul ul {float: none; clear: both; margin: 0;}
.tplge_olMenu ul ul li {font-size: 17px; line-height: 20px; font-weight: 400; padding: 12px 0 0 0; margin: 0; text-transform: none;}

.tplge_olMenu ul ul ul li {padding: 12px 0 0 0; margin: 0 0 0 16px;}

/* doc docs */
.tplge_olMenu li.docs a::after, 
.tplge_olMenu li.sdocs a::after, 
.tplge_olMenu li.sdocs span::after 
{content: "+"; font-family: arial, sans-serif; color: #fc0; font-size: 15px; line-height: 16px; font-weight: 700; margin-left: 3px;}
.tplge_olMenu li.doc a::after, .tplge_olMenu li.sdoc span::after 
{content: ""; font-size: 16px; line-height: 17px; font-weight: 700;}

.tplge_olMenu ul.menulevel1 li.sdocs, .tplge_olMenu ul.menulevel1 li.sdoc {background: #058; color: #fc0; border-radius: 0; padding: 9px 20px; margin: 10px -20px 2px -20px;}
.tplge_olMenu ul.menulevel2 li.sdocs, .tplge_olMenu ul.menulevel2 li.sdoc {padding: 12px 0 0 0; margin: 0;}
.tplge_olMenu ul.menulevel3 li.sdocs, .tplge_olMenu ul.menulevel3 li.sdoc {padding: 12px 0 0 16px; margin: 0;}

.tplge_olMenu a:link {color: #eee; text-decoration: none;}
.tplge_olMenu a:visited {color: #eee; text-decoration: none;}
.tplge_olMenu a:hover {color: #fc0; text-decoration: none;}
.tplge_olMenu a:active {color: #fc0; text-decoration: none;}
.tplge_olMenu a:focus {color: #fc0; text-decoration: none;}


/* OVERLAY SEARCH */

.tplge_olSearch {display: none; position: fixed; top: 0; right: 0; border-radius: 0 0 0 3px; width: 420px; max-width: 100%; background: #245; border-left: 3px solid #ccc; border-bottom: 3px solid #ccc; z-index: 9994; animation: searchopen 0.4s;}
.tplge_olSearchIn {padding: 12px 0 0 0; margin: 0; opacity: 1;}
button.tplge_olSearchClose {display: none; position: fixed; top: 9px; right: 24px; width: 32px; text-align: center; background: #c20; color: #fff; font-family: verdana, arial, sans-serif; font-weight: 700; font-size: 18px; line-height: 24px; border: 0px solid #999; border-radius: 3px; padding: 2px 0 3px 0; margin: 0; cursor: pointer; z-index: 9996; animation: searchopen 0.4s;}
button.tplge_olSearchClose:hover {background: #f30;}
@keyframes searchopen{from{margin-top: -100px;}to{margin-top: 0;}}

/* searchbox */
.tplge_olSearchbox {border: 0px solid; padding: 36px 0 16px 16px;}
.tplge_olSearchbox .tplge_searchboxContainer {clear: both; margin: 0;}
.tplge_olSearchbox .tplge_searchboxInput {width: 320px; background: #fff; color: #333; font-size: 16px; border: 1px solid #999; border-radius: 5px; padding: 8px; margin: 3px;}
.tplge_olSearchbox .tplge_searchboxSubmit {background: url('images/lupe.png') 6px 10px no-repeat; width: 40px; height: 38px; border: 0; padding: 0; margin: 0;}

/* END OVERLAYS */





/* 
##############################
 S O N S T I G E S / R E S T
############################## 
*/

img.tplge_scrolltoTopButton {background: #000; position: fixed; bottom: 48px; right: 0; display: block; border-radius: 20px 0 0 20px;}
img.tplge_scrolltoTopButton:hover {background: #c31;}

/* MailForms Plugin */
div.ddfmwrap {font-family: RobotoCondensed, arial, sans-serif!important; font-size: 18px!important;}
div.ddfmwrap input.ddmf_text {width: 360px!important; min-width: 240px!important; max-width: 90%!important; background: #fff!important; color: #333!important; font-family: RobotoCondensed, arial, sans-serif!important; font-size: 18px!important; border: 1px solid #aaa!important; border-radius: 0; padding: 4px 6px!important;}
div.ddfmwrap input.ddmf_verify {min-width: 106px!important; background: #fff!important; color: #333!important; font-family: RobotoCondensed, arial, sans-serif!important; font-size: 18px!important; border: 1px solid #aaa!important; width: 106px!important;}
div.ddfmwrap textarea {width: 99%!important; background: #fff!important; color: #333!important; font-family: RobotoCondensed, arial, sans-serif!important; font-size: 18px!important; border: 1px solid #aaa!important; border-radius: 0; padding: 4px 6px!important;}
div.ddfmwrap div.submitButton {width: 116px!important;}
div.ddfmwrap div.submitButton input {width: 100%!important;}

/* CookieLaw Plugin */
.cookielawHinttop {display: block; padding-top: 50px!important;}





/* 
############################## 
   R E S P O N S I V E  CSS
############################## 
*/

/* CONTAINERS */

.tplge_outerContainer{

    width:95%;
    max-width:1700px;

    margin:0 auto;

}
.tplge_contentsContainer {clear: both; display: flex; flex-wrap: wrap; padding: 0;}
.tplge_sidebarNav {flex: 0 0 300px; order: 1; background: #ffffff; border-right:1px solid #e7edf2;}
.tplge_content {flex: 0 0 900px; order: 2;}



/* 1 column */
@media (max-width: 1220px) {
#body {min-width: 300px; font-size: 17px;}

.tplge_pageNav {display: block;}
.tplge_locatorIn {padding: 12px 4%;}

.tplge_outerContainer {}
.tplge_contentsContainer {max-width: none;}

.tplge_content {flex: 1 1 100%;}
.tplge_contentIn {max-width: 840px; margin: 0 auto;}

.tf_cplusIn {width: 92%;}
.tf_cplus2 {background-size: 480px;}
.tf_cplus2In {margin: 120px 10% 48px auto;}

.tplge_sidebarNav {flex: 0 0 100%; order: 2;}
.tplge_sidebarNavIn {width: 260px; padding: 32px 20px; margin: 0 auto;}
.tplge_menuArea {width: 260px; float: right; margin-left: 40px;}
.tplge_newsArea {width: 260px; float: right;}
.tplge_menuAnchor {margin: -48px 0 48px 0;}

img.tplge_menulinkButton {display: block;}
img.tplge_searchlinkButton {display: block;}

/* scroll buttons */
img.tplge_scrolltoTopButton {display: none;}
}



@media (max-width: 740px) {
.tplge_sitename {font-size: 32px; padding: 10px 4%;}
.tplge_contentIn {font-size: 18px; padding: 10px 4% 24px 4%;}
header {}
div.tplge_contentboxleft {width: 100%;}
div.tplge_contentboxright {width: 100%;}
}



@media (max-width: 680px) {
.tplge_sitename {font-size: 28px; letter-spacing: 2px; padding-top: 9px;}
.tplge_sidebarNavIn {width: 260px; float: none;}
.tplge_menuArea {width: 260px; float: none; margin-left: 0;}
.tplge_newsArea {width: 260px; float: none;}
img.tplge_right_border, img.tplge_left_border, img.tplge_right_noborder, img.tplge_left_noborder, img.tplge_right, img.tplge_left {display: block; float: none; max-width: 100%; margin: 0 0 16px 0;}
}



@media (max-width: 580px) {
.tplge_sitename {font-size: 24px;}
.tf_cplus2 {background-size: 360px;}
.tf_cplus2In {background-size: 300px; width: 92%; margin: 120px 4% 48px auto;}

/* image header */
.tplge_headerimage {display: block; border: 0; border-collapse: collapse;}
.tplge_header_tr {display: block;}
.tplge_header_tdsmall {display: block; width: 100%; vertical-align: middle; padding: 6px 0;}
.tplge_header_tdsmall img {display: block; width: 120px;}
.tplge_header_tdwide {
    display: block;
    width: 100%;
}

.tplge_header_tdwide img {
    display: block;
    height: 260px;
    object-fit: cover;
}
}

@media (max-width: 480px) {
h1 {font-size: 26px;}
h2 {font-size: 24px;}
h3 {font-size: 22px;}
h4 {font-size: 20px;}
h5 {font-size: 18px;}
h6 {font-size: 17px;}
.tplge_sitename {font-size: 20px;}
.tplge_olSearch {width: 280px;}
.tplge_olSearchbox .tplge_searchboxInput {width: 190px;}
}


/* =========================================
   MODERNISIERUNG CHOR CANTABILE
   ========================================= */

/* Hintergrund außen entfernen */
body,
.body {
    background: #ffffff !important;
}

/* Gesamtcontainer weiß und ohne grauen Eindruck */
.tplge_outerContainer {
    background: #ffffff !important;
}

/* Schwarze obere Leiste freundlicher machen */
.tplge_pageNav {
    background: #ffffff !important;
    border-bottom: 1px solid #e8edf2 !important;
}

/* Icons oben dezenter */
.tplge_pageNav img {
    filter: invert(28%) sepia(27%) saturate(1132%) hue-rotate(166deg) brightness(89%) contrast(89%);
}

/* Headerbereich */
.tplge_headerimage {
    background: #ffffff !important;
}

/* Logo-Spalte heller und ruhiger */
.tplge_header_tdsmall {
    background: #ffffff !important;
    vertical-align: middle !important;
}


/* Headerfoto */
.tplge_header_tdwide img {
    display: block !important;
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Linke Seitenleiste moderner */
.tplge_sidebarNav {
    background: #f3f8fb !important;
    color: #1f3f57 !important;
}

/* Abstand in der Seitenleiste */
.tplge_sidebarNavIn {
    padding-top: 36px !important;
}

/* Menü links */
.tplge_sidebarNavIn ul.menulevel1 li {
    color: #2f5f88 !important;
    border-bottom: 1px solid #d9e6ee !important;
    padding: 10px 0 !important;
    letter-spacing: 0.5px !important;
}

/* Menülinks links */
.tplge_sidebarNavIn ul.menulevel1 a:link,
.tplge_sidebarNavIn ul.menulevel1 a:visited {
    color: #2f5f88 !important;
}

/* Aktive/markierte Menübereiche */
.tplge_sidebarNavIn ul.menulevel1 span {
    color: #2f5f88 !important;
}

/* Pluszeichen dezenter blau */
.tplge_sidebarNavIn li.docs a::after,
.tplge_sidebarNavIn li.sdocs a::after,
.tplge_sidebarNavIn li.sdocs span::after {
    color: #5e97c9 !important;
}

/* Breadcrumb-Leiste */
.tplge_locatorIn {
    background: #4a83b6 !important;
    color: #ffffff !important;
}

/* Hauptinhalt */
.tplge_content {
    background: #ffffff !important;
}

/* Mehr Luft im Inhalt */
.tplge_contentIn {
    padding: 34px 46px 46px 46px !important;
}

/* Überschriften moderner */
h1 {
    color: #2f5f88 !important;
    font-size: 48px !important;
    line-height: 1.15em !important;
    font-weight: 100 !important;
    padding-bottom: 18px !important;
}

h2,
h3 {
    color: #2f5f88 !important;
}

/* Fließtext */
.tplge_contentIn p {
    color: #243746 !important;
    font-size: 22px !important;
    line-height: 1.45em !important;
}

/* Links */
a:link,
a:visited {
    color: #4a83b6 !important;
}

a:hover,
a:active,
a:focus {
    color: #2f5f88 !important;
}

/* Trennlinien dezenter */
hr {
    background-color: #d9e6ee !important;
    color: #d9e6ee !important;
}

/* Footer */
.tplge_footer {
    background: #2f5f88 !important;
}

/* Neuer Hero-Header Chor Cantabile */

.chor_hero_header {
    position: relative;
    width: 100%;
    height: 560px;
    overflow: hidden;
    background: #ffffff;
}

.chor_hero_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.chor_hero_overlay {
    position: absolute;
    left: 60px;
    top: 60px;
    bottom: 60px;
    width: 330px;
    background: rgba(255,255,255,0.92);
    padding: 34px 32px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.chor_hero_logo {
    width: 170px;
    margin: 0 auto 28px auto;
    display: block;
}

.chor_hero_text h1 {
    color: #2f6f9c !important;
    font-size: 38px !important;
    line-height: 1.1em !important;
    font-weight: 100 !important;
    text-align: center;
    padding: 0 0 14px 0 !important;
}

.chor_hero_text p {
    color: #243746;
    font-size: 20px;
    line-height: 1.35em;
    text-align: center;
    padding: 0 0 24px 0;
}

.chor_hero_buttons {
    text-align: center;
}

.chor_hero_button {
    display: inline-block;
    background: #2f6f9c;
    color: #ffffff !important;
    padding: 11px 18px;
    margin: 4px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none !important;
}

.chor_hero_button.secondary {
    background: #ffffff;
    color: #2f6f9c !important;
    border: 1px solid #2f6f9c;
}

.chor_hero_button:hover {
    background: #235577;
    color: #ffffff !important;
}

.chor_hero_button.secondary:hover {
    background: #eef6fb;
    color: #235577 !important;
}

/* alte Header-Tabellenstruktur im neuen Header nicht mehr nötig */
.tplge_headerimage {
    background: #ffffff !important;
}

/* Handyansicht */
@media (max-width: 760px) {
    .chor_hero_header {
        height: auto;
    }

    .chor_hero_image {
        height: 320px;
    }

    .chor_hero_overlay {
        position: relative;
        left: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        padding: 28px 24px;
        background: #ffffff;
    }

    .chor_hero_logo {
        width: 140px;
    }

    .chor_hero_text h1 {
        font-size: 32px !important;
    }
}
/* =========================================
   CHOR CANTABILE – FILIGRANES DESIGN
   ========================================= */

:root {
    --cantabile-blue: #17365f;
    --cantabile-blue-light: #315c86;
    --cantabile-red: #c93c32;
    --cantabile-orange: #e88924;
    --cantabile-yellow: #f2c94c;
    --cantabile-text: #293743;
    --cantabile-light: #f7f9fb;
    --cantabile-line: #dce5ec;
    --cantabile-white: #ffffff;
}

/* Grundschrift */
body {
    background: var(--cantabile-white) !important;
    color: var(--cantabile-text) !important;
    font-family: Poppins, Arial, sans-serif !important;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6em;
}

/* Musikalisch-elegante Überschriften */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Georgia, "Times New Roman", serif !important;
    color: var(--cantabile-blue) !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em;
}

h1 {
    font-size: 42px !important;
    line-height: 1.18em !important;
    padding: 10px 0 18px 0 !important;
}

h2 {
    font-size: 32px !important;
    line-height: 1.25em !important;
}

h3 {
    font-size: 26px !important;
}

/* Oberer Navigationsbalken */
.tplge_pageNav {
    background: var(--cantabile-blue) !important;
    border-bottom: 3px solid var(--cantabile-orange) !important;
}

/* Navigationssymbole wieder hell darstellen */
.tplge_pageNav img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.92;
}

.tplge_pageNav img:hover {
    background: var(--cantabile-orange) !important;
}

/* Ausklappbares Seitenmenü */
.tplge_olMenu {
    background: var(--cantabile-blue) !important;
    border-left: 3px solid var(--cantabile-orange) !important;
}

.tplge_olMenuIn {
    color: var(--cantabile-yellow) !important;
}

.tplge_olMenu ul.menulevel1 li.sdocs,
.tplge_olMenu ul.menulevel1 li.sdoc {
    background: var(--cantabile-blue-light) !important;
    color: var(--cantabile-yellow) !important;
}

.tplge_olMenu a:hover,
.tplge_olMenu a:focus {
    color: var(--cantabile-yellow) !important;
}

/* Linke Navigation */
.tplge_sidebarNav {
    background: var(--cantabile-light) !important;
    border-right: 1px solid var(--cantabile-line) !important;
}

.tplge_sidebarNavIn ul.menulevel1 li {
    border-bottom: 1px solid var(--cantabile-line) !important;
    padding: 12px 0 !important;
}

.tplge_sidebarNavIn ul.menulevel1 a:link,
.tplge_sidebarNavIn ul.menulevel1 a:visited,
.tplge_sidebarNavIn ul.menulevel1 span {
    color: var(--cantabile-blue) !important;
}

.tplge_sidebarNavIn ul.menulevel1 a:hover {
    color: var(--cantabile-orange) !important;
    text-decoration: none !important;
}

/* Breadcrumb-Leiste */
.tplge_locatorIn {
    background: var(--cantabile-blue) !important;
    color: var(--cantabile-white) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.tplge_locatorIn a:hover {
    color: var(--cantabile-yellow) !important;
}

/* Hauptinhalt */
.tplge_contentIn {
    padding: 42px 52px 54px 52px !important;
}

.tplge_contentIn p {
    color: var(--cantabile-text) !important;
    font-size: 20px !important;
    line-height: 1.65em !important;
}

/* Links */
a:link,
a:visited {
    color: var(--cantabile-blue-light) !important;
}

a:hover,
a:active,
a:focus {
    color: var(--cantabile-orange) !important;
}

/* Filigrane Trennlinie */
hr {
    height: 1px !important;
    border: 0 !important;
    background: linear-gradient(
        to right,
        transparent,
        var(--cantabile-orange),
        var(--cantabile-red),
        transparent
    ) !important;
    margin: 30px 0 !important;
}

/* Bilder etwas weicher und hochwertiger */
.tplge_contentIn img {
    border-radius: 4px;
}

figure.image {
    background: var(--cantabile-white) !important;
    border: 1px solid var(--cantabile-line) !important;
    border-radius: 4px !important;
    overflow: hidden;
}

figure.image figcaption {
    background: var(--cantabile-light) !important;
    color: var(--cantabile-blue) !important;
    font-size: 15px !important;
}

/* Inhaltsboxen */
div.tplge_contentboxleft,
div.tplge_contentboxright,
div.tplge_contentboxfullsize {
    background: var(--cantabile-light) !important;
    border-left: 3px solid var(--cantabile-orange) !important;
    border-radius: 3px !important;
}

/* Buttons */
.chor_hero_button {
    background: var(--cantabile-blue) !important;
    border-radius: 3px !important;
    font-weight: 400 !important;
    letter-spacing: 0.03em;
    transition: background 0.2s ease;
}

.chor_hero_button:hover {
    background: var(--cantabile-orange) !important;
}

.chor_hero_button.secondary {
    background: var(--cantabile-white) !important;
    color: var(--cantabile-blue) !important;
    border: 1px solid var(--cantabile-blue) !important;
}

/* Footer */
.tplge_footer {
    background: var(--cantabile-blue) !important;
    border-top: 3px solid var(--cantabile-orange);
}

/* Nach-oben-Schaltfläche */
img.tplge_scrolltoTopButton {
    background: var(--cantabile-blue) !important;
}

img.tplge_scrolltoTopButton:hover {
    background: var(--cantabile-orange) !important;
}

/* Mobile Anpassungen */
@media (max-width: 740px) {
    h1 {
        font-size: 34px !important;
    }

    h2 {
        font-size: 28px !important;
    }

    .tplge_contentIn {
        padding: 28px 6% 38px 6% !important;
    }

    .tplge_contentIn p {
        font-size: 18px !important;
    }
}
/* ==================================================
   CHOR CANTABILE – NEUES DESIGN
   SCHRITT 1: NAVIGATION UND KOPFBEREICH
   ================================================== */

:root {
    --cantabile-dunkelblau: #17365f;
    --cantabile-blau: #315c86;
    --cantabile-orange: #e88924;
    --cantabile-gelb: #f2c94c;
    --cantabile-rot: #c8473d;
    --cantabile-text: #2e3d49;
    --cantabile-hell: #f6f8fa;
    --cantabile-linie: #dce4ea;
    --cantabile-weiss: #ffffff;
}

/* Alte obere Symbolleiste ausblenden */
.tplge_pageNav {
    display: none !important;
}

/* Neue dunkelblaue Hauptnavigation */
.chor_topbar {
    position: relative;
    width: 100%;
    background: var(--cantabile-dunkelblau);
    border-bottom: 3px solid var(--cantabile-orange);
    z-index: 1000;
}

/* Inhalt der Navigation */
.chor_topbar_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    min-height: 76px;
    box-sizing: border-box;
    padding: 9px 38px;
    margin: 0 auto;
}

/* Logo in der Navigation */
.chor_topbar_logo {
    display: block;
    flex: 0 0 auto;
}

.chor_topbar_logo img {
    display: block;
    width: 108px;
    max-height: 58px;
    object-fit: contain;
}

/* Hauptmenü */
.chor_mainnav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
}

/* Menülinks */
.chor_mainnav a:link,
.chor_mainnav a:visited {
    position: relative;
    display: inline-block;
    color: var(--cantabile-weiss) !important;
    font-family: Poppins, Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.025em;
    text-decoration: none !important;
    padding: 10px 0;
}

/* Feine Linie unter dem Menüpunkt */
.chor_mainnav a::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 2px;
    height: 2px;
    background: var(--cantabile-gelb);
    transition: left 0.25s ease, right 0.25s ease;
}

/* Menüpunkt beim Überfahren */
.chor_mainnav a:hover,
.chor_mainnav a:focus {
    color: var(--cantabile-gelb) !important;
    text-decoration: none !important;
}

.chor_mainnav a:hover::after,
.chor_mainnav a:focus::after {
    left: 0;
    right: 0;
}

/* Hero-Kopfbereich */
.chor_hero_header {
    position: relative;
    width: 100%;
    height: 530px;
    overflow: hidden;
    background: var(--cantabile-weiss);
}

/* Großes Headerbild */
.chor_hero_image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Dezente dunkle Überblendung über dem Bild */
.chor_hero_header::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(16, 41, 70, 0.27) 0%,
        rgba(16, 41, 70, 0.08) 42%,
        rgba(16, 41, 70, 0) 72%
    );
    pointer-events: none;
}

/* Weiße Textfläche auf dem Headerbild */
.chor_hero_overlay {
    position: absolute;
    left: 7%;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    width: 390px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.94);
    border-left: 4px solid var(--cantabile-orange);
    padding: 38px 42px;
    box-shadow: 0 14px 38px rgba(20, 42, 65, 0.17);
    z-index: 2;
}

/* Kleine musikalische Note */
.chor_hero_overlay::before {
    content: "♫";
    display: block;
    color: var(--cantabile-orange);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1;
    text-align: center;
    margin-bottom: 13px;
}

/* Überschrift im Header */
.chor_hero_overlay h1 {
    color: var(--cantabile-dunkelblau) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 43px !important;
    line-height: 1.08em !important;
    font-weight: 400 !important;
    text-align: center;
    letter-spacing: 0.01em;
    padding: 0 0 13px 0 !important;
    margin: 0 !important;
}

/* Unterzeile im Header */
.chor_hero_overlay p {
    color: var(--cantabile-text) !important;
    font-family: Poppins, Arial, sans-serif;
    font-size: 19px !important;
    line-height: 1.45em !important;
    text-align: center;
    padding: 0 0 24px 0 !important;
    margin: 0 !important;
}

/* Buttonbereich */
.chor_hero_buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px;
}

/* Hauptbutton */
.chor_hero_button {
    display: inline-block;
    background: var(--cantabile-dunkelblau) !important;
    color: var(--cantabile-weiss) !important;
    border: 1px solid var(--cantabile-dunkelblau);
    border-radius: 2px !important;
    font-family: Poppins, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400 !important;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    padding: 11px 17px;
    margin: 0 !important;
    transition: all 0.2s ease;
}

/* Hauptbutton beim Überfahren */
.chor_hero_button:hover,
.chor_hero_button:focus {
    background: var(--cantabile-orange) !important;
    border-color: var(--cantabile-orange) !important;
    color: var(--cantabile-weiss) !important;
    text-decoration: none !important;
}

/* Zweiter Button */
.chor_hero_button.secondary {
    background: transparent !important;
    color: var(--cantabile-dunkelblau) !important;
    border: 1px solid var(--cantabile-dunkelblau) !important;
}

/* Zweiter Button beim Überfahren */
.chor_hero_button.secondary:hover,
.chor_hero_button.secondary:focus {
    background: var(--cantabile-dunkelblau) !important;
    color: var(--cantabile-weiss) !important;
}

/* Breadcrumb-Leiste unter dem Bild */
.tplge_locatorIn {
    background: var(--cantabile-hell) !important;
    color: #657583 !important;
    font-size: 15px !important;
    border-bottom: 1px solid var(--cantabile-linie);
    padding: 9px 5% !important;
}

.tplge_locatorIn a:link,
.tplge_locatorIn a:visited {
    color: var(--cantabile-blau) !important;
}

.tplge_locatorIn a:hover,
.tplge_locatorIn a:focus {
    color: var(--cantabile-orange) !important;
}

.tplge_locatorDelimiter {
    color: var(--cantabile-orange) !important;
}

/* Linke alte Navigation zunächst ausblenden */
.tplge_sidebarNav {
    display: none !important;
}

/* Inhalt über die gesamte Breite */
.tplge_content {
    flex: 1 1 100% !important;
    width: 100% !important;
}

.tplge_contentIn {
    width: auto;
    max-width: 1120px;
    box-sizing: border-box;
    padding: 48px 55px 60px 55px !important;
    margin: 0 auto;
}

/* Mobile Ansicht */
@media (max-width: 820px) {

    .chor_topbar_inner {
        display: block;
        min-height: 0;
        padding: 14px 5%;
    }

    .chor_topbar_logo img {
        width: 96px;
        margin: 0 auto 12px auto;
    }

    .chor_mainnav {
        justify-content: center;
        flex-wrap: wrap;
        gap: 3px 18px;
    }

    .chor_mainnav a:link,
    .chor_mainnav a:visited {
        font-size: 15px;
        padding: 6px 0;
    }

    .chor_hero_header {
        height: auto;
    }

    .chor_hero_image {
        height: 330px;
    }

    .chor_hero_overlay {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        transform: none;
        background: var(--cantabile-weiss);
        border-left: 0;
        border-top: 3px solid var(--cantabile-orange);
        box-shadow: none;
        padding: 30px 7% 36px 7%;
    }

    .chor_hero_overlay h1 {
        font-size: 35px !important;
    }

    .tplge_contentIn {
        padding: 32px 6% 42px 6% !important;
    }
}
/* ==================================================
   CHOR CANTABILE – STARTSEITE
   Emotionaler Einstieg und Bildkarten
   ================================================== */

.cantabile-welcome {
    width: 100%;
}

/* Einleitungsbereich */

.cantabile-intro {
    max-width: 860px;
    text-align: center;
    padding: 20px 20px 66px 20px;
    margin: 0 auto;
}

.cantabile-eyebrow {
    display: block;
    color: var(--cantabile-orange, #e88924);
    font-family: Poppins, Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3em;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.cantabile-intro h1 {
    color: var(--cantabile-dunkelblau, #17365f) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 54px !important;
    line-height: 1.08em !important;
    font-weight: 400 !important;
    text-align: center;
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
}

.cantabile-lead {
    max-width: 760px;
    color: #40515f !important;
    font-size: 21px !important;
    line-height: 1.65em !important;
    text-align: center;
    padding: 0 !important;
    margin: 0 auto 32px auto !important;
}

.cantabile-intro-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

/* Buttons */

.cantabile-btn {
    display: inline-block;
    box-sizing: border-box;
    min-width: 165px;
    font-family: Poppins, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2em;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none !important;
    border-radius: 2px;
    padding: 13px 22px;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.cantabile-btn:hover,
.cantabile-btn:focus {
    transform: translateY(-2px);
}

.cantabile-btn-primary:link,
.cantabile-btn-primary:visited {
    background: var(--cantabile-dunkelblau, #17365f);
    color: #ffffff !important;
    border: 1px solid var(--cantabile-dunkelblau, #17365f);
}

.cantabile-btn-primary:hover,
.cantabile-btn-primary:focus {
    background: var(--cantabile-orange, #e88924);
    color: #ffffff !important;
    border-color: var(--cantabile-orange, #e88924);
}

.cantabile-btn-outline:link,
.cantabile-btn-outline:visited {
    background: transparent;
    color: var(--cantabile-dunkelblau, #17365f) !important;
    border: 1px solid var(--cantabile-dunkelblau, #17365f);
}

.cantabile-btn-outline:hover,
.cantabile-btn-outline:focus {
    background: var(--cantabile-dunkelblau, #17365f);
    color: #ffffff !important;
}

/* Kartenraster */

.cantabile-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    margin: 0 0 72px 0;
}

.cantabile-card {
    position: relative;
    background: #ffffff;
    border: 1px solid #e1e8ed;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(23, 54, 95, 0.08);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.cantabile-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(23, 54, 95, 0.15);
}

/* Kartenbilder */

.cantabile-card-image {
    display: block;
    height: 245px;
    overflow: hidden;
    background: #edf1f4;
}

.cantabile-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.5s ease;
}

.cantabile-card:hover .cantabile-card-image img {
    transform: scale(1.035);
}

/* Karteninhalte */

.cantabile-card-content {
    position: relative;
    padding: 31px 29px 34px 29px;
}

.cantabile-card-number {
    display: block;
    color: var(--cantabile-orange, #e88924);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    line-height: 1em;
    letter-spacing: 0.12em;
    margin-bottom: 14px;
}

.cantabile-card h2 {
    color: var(--cantabile-dunkelblau, #17365f) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 29px !important;
    line-height: 1.2em !important;
    font-weight: 400 !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
}

.cantabile-card p {
    color: #41515e !important;
    font-size: 17px !important;
    line-height: 1.6em !important;
    padding: 0 !important;
    margin: 0 0 23px 0 !important;
}

.cantabile-textlink:link,
.cantabile-textlink:visited {
    display: inline-block;
    color: var(--cantabile-dunkelblau, #17365f) !important;
    font-family: Poppins, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    border-bottom: 1px solid var(--cantabile-orange, #e88924);
    padding-bottom: 3px;
}

.cantabile-textlink:hover,
.cantabile-textlink:focus {
    color: var(--cantabile-orange, #e88924) !important;
}

/* Zitatbereich */

.cantabile-quote-section {
    position: relative;
    max-width: 920px;
    background: #f4f7f9;
    text-align: center;
    border-top: 3px solid var(--cantabile-orange, #e88924);
    padding: 52px 8% 48px 8%;
    margin: 0 auto 32px auto;
}

.cantabile-note {
    display: block;
    color: var(--cantabile-orange, #e88924);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    line-height: 1em;
    margin-bottom: 18px;
}

.cantabile-quote-section blockquote {
    max-width: 740px;
    background: transparent !important;
    color: var(--cantabile-dunkelblau, #17365f) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    line-height: 1.4em;
    font-weight: 400;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 auto 18px auto !important;
}

.cantabile-quote-section p {
    color: #607181 !important;
    font-size: 16px !important;
    line-height: 1.5em !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Bestehende Navigation unter dem Inhalt ausblenden */

.cantabile-welcome + div + hr {
    display: none;
}

/* Tablet */

@media (max-width: 980px) {

    .cantabile-card-grid {
        grid-template-columns: 1fr;
        max-width: 720px;
        gap: 30px;
        margin-right: auto;
        margin-left: auto;
    }

    .cantabile-card {
        display: grid;
        grid-template-columns: 45% 55%;
    }

    .cantabile-card-image {
        height: 100%;
        min-height: 310px;
    }

    .cantabile-card-content {
        padding: 36px 34px;
    }
}

/* Smartphone */

@media (max-width: 680px) {

    .cantabile-intro {
        padding: 10px 0 48px 0;
    }

    .cantabile-intro h1 {
        font-size: 40px !important;
    }

    .cantabile-lead {
        font-size: 18px !important;
    }

    .cantabile-intro-buttons {
        display: block;
    }

    .cantabile-btn {
        display: block;
        width: 100%;
        margin-bottom: 10px;
    }

    .cantabile-card {
        display: block;
    }

    .cantabile-card-image {
        height: 240px;
        min-height: 0;
    }

    .cantabile-card-content {
        padding: 28px 24px 31px 24px;
    }

    .cantabile-quote-section {
        padding: 42px 7% 40px 7%;
    }

    .cantabile-quote-section blockquote {
        font-size: 25px;
    }
}


/* Sichtbare Hauptüberschrift der Startseite */

.cantabile-intro-title {
    color: var(--cantabile-dunkelblau, #17365f);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 54px;
    line-height: 1.08em;
    font-weight: 400;
    text-align: center;
    margin: 0 0 24px 0;
}

/* Überschriften in den Bildkarten */

.cantabile-card-title {
    color: var(--cantabile-dunkelblau, #17365f);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    line-height: 1.2em;
    font-weight: 400;
    margin: 0 0 16px 0;
}

@media (max-width: 680px) {
    .cantabile-intro-title {
        font-size: 40px;
    }
}
/* Headertext – Cantabile Startseite */

.chor_hero_claim {
    color: #e87516 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 27px !important;
    line-height: 1.28em !important;
    text-align: left !important;
    padding: 0 0 18px 0 !important;
    margin: 0 !important;
}

.chor_hero_intro {
    color: #293743 !important;
    font-size: 17px !important;
    line-height: 1.55em !important;
    text-align: left !important;
    border-top: 1px solid #e8a66b;
    padding: 20px 0 24px 0 !important;
    margin: 0 !important;
}

.chor_hero_overlay h1 {
    text-align: left !important;
}

.chor_hero_overlay::before {
    text-align: left !important;
}

.chor_hero_buttons {
    justify-content: flex-start !important;
}
/* ==================================================
   HEADERBILD VOLLSTÄNDIG ANZEIGEN
   ================================================== */

.chor_hero_header {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
}

.chor_hero_image {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center top !important;
}
/* ==================================================
   KLEINERE HERO-TEXTBOX
   ================================================== */

.chor_hero_overlay {
    position: absolute !important;
    left: 36px !important;
    top: 36px !important;
    bottom: auto !important;

    transform: none !important;

    width: 310px !important;
    max-width: calc(100% - 72px);

    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.93) !important;

    border-left: 3px solid #e88924 !important;
    padding: 23px 25px 25px 25px !important;

    box-shadow: 0 10px 30px rgba(15, 40, 70, 0.15) !important;
}

/* Note über der Überschrift */

.chor_hero_overlay::before {
    font-size: 22px !important;
    line-height: 1 !important;
    text-align: left !important;
    margin-bottom: 8px !important;
}

/* Chor Cantabile */

.chor_hero_overlay h1 {
    font-size: 34px !important;
    line-height: 1.08em !important;
    text-align: left !important;
    padding: 0 0 10px 0 !important;
}

/* Orangefarbener Claim */

.chor_hero_claim {
    font-size: 22px !important;
    line-height: 1.25em !important;
    text-align: left !important;
    padding: 0 0 13px 0 !important;
}

/* Kurzer Beschreibungstext */

.chor_hero_intro {
    font-size: 15px !important;
    line-height: 1.45em !important;
    text-align: left !important;
    padding: 14px 0 17px 0 !important;
}

/* Buttons kleiner nebeneinander */

.chor_hero_buttons {
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.chor_hero_button {
    font-size: 14px !important;
    padding: 9px 12px !important;
}
/* ==================================================
   NEUES LOGO IM NAVIGATIONSBALKEN
   ================================================== */

.chor_brand {
    display: flex !important;
    align-items: center;
    gap: 13px;
    text-decoration: none !important;
}

.chor_brand_symbol {
    display: block;
    width: 55px !important;
    height: 50px;
    object-fit: contain;
}

.chor_brand_name {
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1em;
    font-weight: 400;
    white-space: nowrap;
}

.chor_brand:hover .chor_brand_name,
.chor_brand:focus .chor_brand_name {
    color: #f2c94c;
}
@media (max-width: 760px) {

    .chor_hero_overlay {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: none !important;
        transform: none !important;

        background: #ffffff !important;
        border-left: 0 !important;
        border-top: 3px solid #e88924 !important;

        padding: 28px 7% 32px 7% !important;
        box-shadow: none !important;
    }

    .chor_hero_overlay h1,
    .chor_hero_claim,
    .chor_hero_intro,
    .chor_hero_overlay::before {
        text-align: center !important;
    }

    .chor_hero_buttons {
        justify-content: center !important;
    }

    .chor_brand_name {
        font-size: 23px;
    }

    .chor_brand_symbol {
        width: 46px !important;
        height: 42px;
    }
}
/* ==================================================
   CANTABILE HEADER – BEREINIGTE ENDFASSUNG
   Dieser Block muss ganz am Ende der CSS-Datei stehen.
   ================================================== */

/* Hauptnavigation */

.chor_topbar {
    background: #17365f !important;
    border-bottom: 3px solid #e88924 !important;
}

.chor_topbar_inner {
    min-height: 82px !important;
    padding: 10px 55px !important;
}

/* Neues Logo aus Notenzeichen und Schrift */

.chor_brand,
.chor_brand:link,
.chor_brand:visited {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.chor_brand_notes {
    display: flex;
    align-items: flex-end;
    height: 48px;
    letter-spacing: -11px;
    padding-right: 7px;
}

.chor_note {
    display: inline-block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 48px;
    line-height: 1;
    font-weight: 400;
}

.chor_note_red {
    color: #e3342f;
    transform: translateY(3px) rotate(-5deg);
}

.chor_note_orange {
    color: #f28c18;
    transform: translateY(-2px) rotate(1deg);
}

.chor_note_yellow {
    color: #f3d321;
    transform: translateY(-7px) rotate(5deg);
}

.chor_brand_name {
    color: #ffffff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 29px !important;
    line-height: 1em;
    font-weight: 400;
    white-space: nowrap;
}

.chor_brand:hover .chor_brand_name,
.chor_brand:focus .chor_brand_name {
    color: #f2c94c !important;
}

/* Das Bild wird vollständig und unverdeckt angezeigt */

.chor_hero_header {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    background: #ffffff !important;
}

.chor_hero_header::after {
    display: none !important;
    content: none !important;
}

.chor_hero_header .chor_hero_image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Die bisherige weiße Overlaybox wird nicht mehr verwendet */

.chor_hero_overlay {
    display: none !important;
}

/* Neuer Textbereich unter dem Chorfoto */

.chor_hero_textpanel {
    background: #ffffff;
    border-bottom: 1px solid #e2e8ed;
}

.chor_hero_textpanel_inner{
    max-width:900px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
}

.chor_hero_text {
    max-width: 720px;
}

.chor_hero_kicker {
    display: block;
    color: #e88924;
    font-family: Poppins, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 9px;
}

.chor_hero_title{
    font-family:Georgia,serif;
    font-size:3.0rem;
    color:#17365f;
    margin:8px 0 10px;
    line-height:1.15;
}

.chor_hero_text p {
    color: #40505d !important;
    font-family: Poppins, Arial, sans-serif;
    font-size: 17px !important;
    line-height: 1.55em !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Buttons neben dem Einführungstext */

.chor_hero_textpanel .chor_hero_buttons {
    display: flex !important;
    flex: 0 0 auto;
    justify-content: flex-end !important;
    flex-wrap: wrap;
    gap: 10px;
}

.chor_hero_textpanel .chor_hero_button {
    display: inline-block;
    font-size: 15px !important;
    line-height: 1.2em;
    white-space: nowrap;
    padding: 11px 17px !important;
}

/* Responsive Darstellung */

@media (max-width: 900px) {

    .chor_topbar_inner {
        padding-right: 5% !important;
        padding-left: 5% !important;
    }

    .chor_brand_name {
        font-size: 24px !important;
    }

    .chor_note {
        font-size: 42px;
    }

    .chor_hero_textpanel_inner {
        display: block;
        padding: 30px 7% 34px 7%;
    }

    .chor_hero_text {
        flex:1;
text-align:left;
    }

    .chor_hero_textpanel .chor_hero_buttons {
        justify-content: center !important;
        margin-top: 23px;
    }
}

@media (max-width: 620px) {

    .chor_brand {
        justify-content: center;
    }

    .chor_brand_name {
        font-size: 22px !important;
    }

    .chor_note {
        font-size: 38px;
    }

    .chor_hero_title {
        font-size: 29px;
    }

    .chor_hero_textpanel .chor_hero_button {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}
/* ==================================================
   CANTABILE LOGO AUS USERFILES
   ================================================== */

.chor_brand,
.chor_brand:link,
.chor_brand:visited {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.chor_brand_logo {
    display: block !important;
    width: 62px !important;
    height: 58px !important;
    max-width: none !important;
    object-fit: contain !important;
}

.chor_brand_text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.chor_brand_name {
    color: #ffffff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    line-height: 1.05em !important;
    font-weight: 400 !important;
    white-space: nowrap;
}

.chor_brand_sub {
    color: #f2c66d !important;
    font-family: Poppins, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1.3em !important;
    font-weight: 400 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 5px;
    white-space: nowrap;
}

.chor_brand:hover .chor_brand_name,
.chor_brand:focus .chor_brand_name {
    color: #f2c94c !important;
}

@media (max-width: 760px) {
    .chor_brand_logo {
        width: 52px !important;
        height: 48px !important;
    }

    .chor_brand_name {
        font-size: 23px !important;
    }

    .chor_brand_sub {
        font-size: 8px !important;
        letter-spacing: 0.07em;
    }
}
/* ==================================================
   HEADER WIEDERHERSTELLEN
   ================================================== */

.chor_header {
    display: block !important;
    width: 100%;
}

.chor_topbar {
    display: block !important;
    width: 100%;
    background: #17365f !important;
    border-bottom: 3px solid #e88924 !important;
}

.chor_topbar_inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-width: 1200px;
    min-height: 80px;
    box-sizing: border-box;
    padding: 10px 38px;
    margin: 0 auto;
}

.chor_brand,
.chor_brand:link,
.chor_brand:visited {
    display: flex !important;
    align-items: center !important;
    gap: 14px;
    color: #ffffff !important;
    text-decoration: none !important;
}

.chor_brand_logo {
    display: block !important;
    width: 58px !important;
    height: 58px !important;
    max-width: none !important;
    object-fit: contain !important;
}

.chor_brand_text {
    display: flex;
    flex-direction: column;
}

.chor_brand_name {
    color: #ffffff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    line-height: 1em;
    white-space: nowrap;
}

.chor_brand_sub {
    color: #f2c66d !important;
    font-size: 10px !important;
    line-height: 1.3em;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    margin-top: 5px;
    white-space: nowrap;
}

.chor_hero_header {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    overflow: hidden !important;
}

.chor_hero_image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}

.chor_hero_textpanel {
    display: block !important;
    background: #ffffff;
    border-bottom: 1px solid #e2e8ed;
}

.chor_hero_textpanel_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    max-width: 1120px;
    box-sizing: border-box;
    padding: 30px 45px 34px 45px;
    margin: 0 auto;
}

.chor_hero_kicker {
    display: block;
    color: #e88924;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.chor_hero_title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1.2em;
    margin-bottom: 10px;
}

.chor_hero_text p{
    max-width:620px;
    margin:18px 0 0;
    font-size:1.35rem;
    line-height:1.6;
    color:#3f4a56;
}

.chor_hero_buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 800px) {

    .chor_topbar_inner {
        display: block !important;
        padding: 14px 5%;
    }

    .chor_brand {
        justify-content: center;
        margin-bottom: 12px;
    }

    .chor_mainnav {
        justify-content: center;
        flex-wrap: wrap;
    }

    .chor_hero_textpanel_inner {
        display: block;
        text-align: center;
        padding: 28px 7% 32px 7%;
    }

    .chor_hero_buttons {
        justify-content: center;
        margin-top: 22px;
    }
}
/* Für CMSimple notwendige Seitenüberschrift,
   auf der gestalteten Seite aber nicht sichtbar */

.cmsimple-structure-title {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
/* ==================================================
   GROSSE BILD-TEXT-BEREICHE DER STARTSEITE
   ================================================== */

.cantabile-home-sections {
    width: 100%;
    margin: 0 auto;
}

.cantabile-feature {
    display: grid;
    grid-template-columns: 58% 42%;
    min-height: 390px;
    background: #f7f4ee;
    margin-bottom: 2px;
    overflow: hidden;
}

.cantabile-feature-reverse {
    grid-template-columns: 42% 58%;
}

.cantabile-feature-reverse .cantabile-feature-image {
    order: 2;
}

.cantabile-feature-reverse .cantabile-feature-content {
    order: 1;
}

.cantabile-feature-image {
    min-height: 390px;
    overflow: hidden;
}

.cantabile-feature-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 390px;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.5s ease;
}

.cantabile-feature:hover .cantabile-feature-image img {
    transform: scale(1.025);
}

.cantabile-feature-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding: 48px 50px;
}

.cantabile-feature-kicker {
    display: block;
    color: #e88924;
    font-family: Poppins, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.cantabile-feature-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 34px;
    line-height: 1.18em;
    margin-bottom: 17px;
}

.cantabile-feature-content p {
    color: #354653 !important;
    font-size: 17px !important;
    line-height: 1.6em !important;
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
}

.cantabile-feature-button {
    align-self: flex-start;
    display: inline-block;
    background: #17365f;
    color: #ffffff !important;
    font-size: 15px;
    text-decoration: none !important;
    padding: 11px 18px;
    border-radius: 2px;
}

.cantabile-feature-button:hover,
.cantabile-feature-button:focus {
    background: #e88924;
    color: #ffffff !important;
}

@media (max-width: 820px) {
    .cantabile-feature,
    .cantabile-feature-reverse {
        display: block;
        min-height: 0;
    }

    .cantabile-feature-image {
        min-height: 280px;
    }

    .cantabile-feature-image img {
        height: 280px;
        min-height: 280px;
    }

    .cantabile-feature-content {
        padding: 34px 7% 40px 7%;
    }

    .cantabile-feature-title {
        font-size: 29px;
    }
}
/* ==================================================
   HERO-TEXT – LINKSBÜNDIG UND ELEGANT
   ================================================== */

.chor_hero_textpanel_inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 55px !important;

    width: 100%;
    max-width: 1120px !important;
    box-sizing: border-box;

    padding: 42px 48px 46px 48px !important;
    margin: 0 auto !important;
}

.chor_hero_text {
    flex: 1 1 auto;
    max-width: 700px;
    text-align: left !important;
}

.chor_hero_kicker {
    display: block;
    color: #e88924 !important;
    font-family: Poppins, Arial, sans-serif;
    font-size: 13px !important;
    font-weight: 700;
    line-height: 1.3em;
    letter-spacing: 0.16em;
    text-align: left !important;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.chor_hero_title {
    color: #17365f !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px !important;
    line-height: 1.08em !important;
    font-weight: 400;
    text-align: left !important;
    margin: 0 0 20px 0 !important;
}

.chor_hero_title span {
    display: block;
}

.chor_hero_title span:nth-child(3) {
    color: #315c86;
}

.chor_hero_text p {
    max-width: 650px;
    color: #3e4e5b !important;
    font-size: 19px !important;
    line-height: 1.65em !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
}

.chor_hero_textpanel .chor_hero_buttons {
    display: flex !important;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: center !important;
    gap: 10px !important;
    min-width: 180px;
}

.chor_hero_textpanel .chor_hero_button {
    box-sizing: border-box;
    width: 100%;
    text-align: center;
}

@media (max-width: 850px) {
    .chor_hero_textpanel_inner {
        display: block !important;
        padding: 34px 7% 40px 7% !important;
    }

    .chor_hero_text,
    .chor_hero_kicker,
    .chor_hero_title,
    .chor_hero_text p {
        max-width: none;
        text-align: center !important;
    }

    .chor_hero_title {
        font-size: 38px !important;
    }

    .chor_hero_textpanel .chor_hero_buttons {
        flex-direction: row;
        justify-content: center !important;
        margin-top: 27px;
    }

    .chor_hero_textpanel .chor_hero_button {
        width: auto;
    }
}

@media (max-width: 560px) {
    .chor_hero_title {
        font-size: 33px !important;
    }

    .chor_hero_text p {
        font-size: 17px !important;
    }

    .chor_hero_textpanel .chor_hero_buttons {
        display: block !important;
    }

    .chor_hero_textpanel .chor_hero_button {
        display: block;
        width: 100%;
        margin-bottom: 10px !important;
    }
}
/* ==================================================
   UNTERSEITE MITSINGEN
   ================================================== */

.cantabile-join-hero {
    width: 100%;
    height: 520px;
    overflow: hidden;
    margin-bottom: 3px;
}

.cantabile-join-hero img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: center center;
}

.cantabile-join-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
}

.cantabile-join-block {
    background: #f7f4ee;
    box-sizing: border-box;
    padding: 52px 50px;
}

.cantabile-join-highlight {
    background: #edf3f7;
}

.cantabile-join-block p {
    color: #354653 !important;
    font-size: 17px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 0 22px 0 !important;
}

.cantabile-info-list {
    margin-top: 28px;
    border-top: 1px solid #d5dee5;
}

.cantabile-info-item {
    display: grid;
    grid-template-columns: 125px 1fr;
    gap: 18px;
    border-bottom: 1px solid #d5dee5;
    padding: 15px 0;
}

.cantabile-info-item strong {
    color: #17365f;
}

.cantabile-info-item span {
    color: #40515f;
}

.cantabile-join-cta {
    max-width: 860px;
    text-align: center;
    padding: 58px 30px 30px 30px;
    margin: 0 auto;
}

.cantabile-join-cta-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    line-height: 1.2em;
    margin-bottom: 17px;
}

.cantabile-join-cta p {
    color: #40515f !important;
    font-size: 18px !important;
    line-height: 1.6em !important;
    padding: 0 !important;
    margin: 0 0 26px 0 !important;
}

.cantabile-join-cta .cantabile-feature-button {
    display: inline-block;
}

@media (max-width: 760px) {

    .cantabile-join-hero {
        height: 330px;
    }

    .cantabile-join-grid {
        display: block;
    }

    .cantabile-join-block {
        padding: 39px 7%;
        margin-bottom: 3px;
    }

    .cantabile-info-item {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .cantabile-join-cta-title {
        font-size: 31px;
    }
}
/* ==================================================
   UNTERSEITE TERMINE
   ================================================== */

.cantabile-next-event {
    display: grid;
    grid-template-columns: 220px 1fr;
    background: #17365f;
    color: #ffffff;
    margin-bottom: 58px;
    overflow: hidden;
}

.cantabile-next-event-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #e88924;
    color: #ffffff;
    box-sizing: border-box;
    padding: 38px 20px;
}

.cantabile-event-day {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 74px;
    line-height: 0.9em;
}

.cantabile-event-month {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 13px;
}

.cantabile-event-year {
    font-size: 15px;
    margin-top: 5px;
}

.cantabile-next-event-content {
    box-sizing: border-box;
    padding: 48px 54px;
}

.cantabile-next-event-content .cantabile-feature-kicker {
    color: #f2c66d;
}

.cantabile-next-event-title {
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 39px;
    line-height: 1.2em;
    margin-bottom: 18px;
}

.cantabile-next-event-content p {
    max-width: 720px;
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 0 28px 0 !important;
    opacity: 0.92;
}

.cantabile-event-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    padding-top: 24px;
}

.cantabile-event-detail {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.cantabile-event-detail strong {
    color: #f2c66d;
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.cantabile-event-detail span {
    color: #ffffff;
    font-size: 16px;
}

.cantabile-events-heading {
    text-align: center;
    margin-bottom: 28px;
}

.cantabile-events-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    line-height: 1.2em;
}

.cantabile-events-list {
    display: grid;
    gap: 18px;
}

.cantabile-event-card {
    display: grid;
    grid-template-columns: 170px 1fr;
    background: #f7f4ee;
    border-left: 4px solid #e88924;
}

.cantabile-event-card-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-right: 1px solid #ddd8cf;
    padding: 26px 18px;
}

.cantabile-event-card-day {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 46px;
    line-height: 1em;
}

.cantabile-event-card-month {
    color: #e88924;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    margin-top: 7px;
}

.cantabile-event-card-year {
    color: #607181;
    font-size: 14px;
    margin-top: 3px;
}

.cantabile-event-card-content {
    box-sizing: border-box;
    padding: 29px 34px;
}

.cantabile-event-card-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 28px;
    line-height: 1.25em;
    margin-bottom: 9px;
}

.cantabile-event-card-content p {
    color: #40515f !important;
    font-size: 16px !important;
    line-height: 1.6em !important;
    padding: 0 !important;
    margin: 0 0 17px 0 !important;
}

.cantabile-event-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    color: #315c86;
    font-size: 15px;
}

.cantabile-event-card-meta span::before {
    content: "•";
    color: #e88924;
    margin-right: 7px;
}

.cantabile-events-note {
    max-width: 820px;
    text-align: center;
    background: #edf3f7;
    box-sizing: border-box;
    padding: 48px 55px;
    margin: 58px auto 10px auto;
}

.cantabile-events-note-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    line-height: 1.25em;
    margin-bottom: 15px;
}

.cantabile-events-note p {
    color: #40515f !important;
    font-size: 17px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 0 25px 0 !important;
}

.cantabile-events-note .cantabile-feature-button {
    display: inline-block;
}

@media (max-width: 760px) {

    .cantabile-next-event {
        display: block;
    }

    .cantabile-next-event-date {
        padding: 25px 20px;
    }

    .cantabile-event-day {
        font-size: 58px;
    }

    .cantabile-next-event-content {
        padding: 36px 7% 40px 7%;
    }

    .cantabile-next-event-title {
        font-size: 32px;
    }

    .cantabile-event-details {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .cantabile-event-card {
        display: block;
    }

    .cantabile-event-card-date {
        border-right: 0;
        border-bottom: 1px solid #ddd8cf;
        padding: 20px;
    }

    .cantabile-event-card-content {
        padding: 26px 7% 30px 7%;
    }

    .cantabile-events-note {
        padding: 40px 7%;
    }
}
/* ==================================================
   UNTERSEITE VORSTAND
   ================================================== */

/* Großes Gemeinschaftsbild */

.cantabile-board-group {
    width: 100%;
    height: 520px;
    overflow: hidden;
    margin-bottom: 3px;
}

.cantabile-board-group img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: center center;
}


/* Einleitung vor den Portraits */

.cantabile-board-intro {
    max-width: 820px;
    text-align: center;
    box-sizing: border-box;
    padding: 52px 25px 42px 25px;
    margin: 0 auto;
}

.cantabile-board-intro-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    line-height: 1.2em;
    margin-bottom: 17px;
}

.cantabile-board-intro p {
    color: #40515f !important;
    font-size: 18px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 !important;
}


/* Kartenraster */

.cantabile-board-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin-bottom: 62px;
}


/* Einzelne Vorstandskarte */

.cantabile-board-card {
    background: #f7f4ee;
    border-top: 4px solid #e88924;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(23, 54, 95, 0.09);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.cantabile-board-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 17px 38px rgba(23, 54, 95, 0.15);
}


/* Portrait */

.cantabile-board-image {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    width: 100%;
    height: 300px;
    box-sizing: border-box;

    background: #e9edf0;
    overflow: hidden;
}

.cantabile-board-image img {
    display: block;

    width: auto !important;
    max-width: 100% !important;
    height: 100% !important;

    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center top !important;

    transition: transform 0.45s ease;
}

.cantabile-board-card:hover .cantabile-board-image img {
    transform: none;
}


/* Karteninhalt */

.cantabile-board-content {
    box-sizing: border-box;
    padding: 32px 34px 36px 34px;
}

.cantabile-board-role {
    display: block;
    color: #e88924;
    font-family: Poppins, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3em;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    margin-bottom: 9px;
}

.cantabile-board-name {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    line-height: 1.2em;
    margin-bottom: 18px;
}

.cantabile-board-text {
    color: #40515f !important;
    font-size: 16px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
}


/* Persönlicher kleiner Bereich */

.cantabile-board-personal {
    border-top: 1px solid #d8d5cf;
    padding-top: 18px;
}

.cantabile-board-personal strong {
    display: block;
    color: #17365f;
    font-size: 14px;
    line-height: 1.4em;
    margin-bottom: 5px;
}

.cantabile-board-personal span {
    display: block;
    color: #607181;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    line-height: 1.5em;
    font-style: italic;
}


/* Abschlussbereich */

.cantabile-board-cta {
    max-width: 860px;
    background: #edf3f7;
    text-align: center;
    box-sizing: border-box;
    padding: 52px 55px;
    margin: 0 auto 15px auto;
}

.cantabile-board-cta-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    line-height: 1.2em;
    margin-bottom: 16px;
}

.cantabile-board-cta p {
    color: #40515f !important;
    font-size: 17px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 0 26px 0 !important;
}

.cantabile-board-cta-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

.cantabile-board-cta .cantabile-feature-button {
    display: inline-block;
}


/* Tablet */

@media (max-width: 900px) {

    .cantabile-board-group {
        height: 400px;
    }

    .cantabile-board-grid {
        gap: 20px;
    }

    .cantabile-board-image {
        height: 260px;
    }

    .cantabile-board-content {
        padding: 28px 27px 32px 27px;
    }
}


/* Smartphone */

@media (max-width: 680px) {

    .cantabile-board-group {
        height: 290px;
    }

    .cantabile-board-intro {
        padding: 40px 7% 34px 7%;
    }

    .cantabile-board-intro-title {
        font-size: 31px;
    }

    .cantabile-board-grid {
        display: block;
    }

    .cantabile-board-card {
        margin-bottom: 24px;
    }

    .cantabile-board-image {
        height: 300px;
    }

    .cantabile-board-name {
        font-size: 28px;
    }

    .cantabile-board-cta {
        padding: 42px 7%;
    }

    .cantabile-board-cta-title {
        font-size: 31px;
    }

    .cantabile-board-cta-buttons {
        display: block;
    }

    .cantabile-board-cta .cantabile-feature-button {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 10px;
    }
}
/* ==================================================
   KONTAKT
================================================== */

.cantabile-contact-wrapper{

display:grid;
grid-template-columns:1fr 1fr;
gap:28px;

margin-bottom:40px;

}

.cantabile-contact-card{

background:#f7f4ee;

padding:45px;

border-top:4px solid #e88924;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.cantabile-contact-title{

font-family:Georgia,serif;

font-size:30px;

color:#17365f;

margin-bottom:18px;

}

.cantabile-contact-card p{

line-height:1.8;

font-size:17px;

}

.cantabile-contact-card a{

color:#17365f;

font-weight:bold;

text-decoration:none;

}

.cantabile-contact-card a:hover{

color:#e88924;

}

.cantabile-contact-image{

height:420px;

overflow:hidden;

margin:50px 0;

}

.cantabile-contact-image img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

.cantabile-contact-cta{

background:#edf3f7;

padding:60px;

text-align:center;

}

@media(max-width:850px){

.cantabile-contact-wrapper{

display:block;

}

.cantabile-contact-card{

margin-bottom:25px;

}

.cantabile-contact-image{

height:280px;

}

.cantabile-contact-cta{

padding:40px 8%;

}

}
/* ==================================================
   CANTABILE – GESAMTE WEBSITE BREITER
   MUSS GANZ AM ENDE DER CSS-DATEI STEHEN
   ================================================== */

/* Gesamte Website */
.tplge_outerContainer {
    width: calc(100% - 40px) !important;
    max-width: 1600px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Inhaltscontainer */
.tplge_contentsContainer {
    width: 100% !important;
    max-width: none !important;
}

/* Hauptinhalt */
.tplge_content {
    width: 100% !important;
    max-width: none !important;
    flex: 1 1 100% !important;
}

/* Inhalt der normalen Unterseiten */
.tplge_contentIn {
    width: 100% !important;
    max-width: 1400px !important;
    box-sizing: border-box !important;
    padding-right: 55px !important;
    padding-left: 55px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Oberer Navigationsbereich */
.chor_topbar_inner {
    width: 100% !important;
    max-width: 1500px !important;
    box-sizing: border-box !important;
    padding-right: 55px !important;
    padding-left: 55px !important;
}

/* Headerbild */
.chor_hero_header {
    width: 100% !important;
    max-width: none !important;
}

.chor_hero_image {
    width: 100% !important;
    height: auto !important;
}

/* Einführung unter dem Header */
.chor_hero_textpanel_inner {
    width: 100% !important;
    max-width: 1400px !important;
    box-sizing: border-box !important;
    padding-right: 55px !important;
    padding-left: 55px !important;
}

/* Startseitenbereiche */
.cantabile-home-sections {
    width: 100% !important;
    max-width: none !important;
}

/* Breadcrumb-Leiste */
.tplge_locator,
.tplge_locatorIn {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Footer ebenfalls breiter */
.tplge_footer {
    width: calc(100% - 40px) !important;
    max-width: 1600px !important;
    box-sizing: border-box !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

/* Auf kleineren Bildschirmen keine unnötigen Außenränder */
@media (max-width: 900px) {
    .tplge_outerContainer,
    .tplge_footer {
        width: 100% !important;
    }

    .tplge_contentIn,
    .chor_topbar_inner,
    .chor_hero_textpanel_inner {
        padding-right: 6% !important;
        padding-left: 6% !important;
    }
}
/* ==================================================
   HERO-TEXTBEREICH – AUSGEWOGENE ENDFASSUNG
   ================================================== */

.chor_hero_textpanel {
    width: 100% !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8ed !important;
}

.chor_hero_textpanel_inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 250px !important;
    align-items: center !important;
    gap: 60px !important;

    width: 100% !important;
    max-width: 1250px !important;
    box-sizing: border-box !important;

    padding: 52px 55px 56px 55px !important;
    margin: 0 auto !important;
}

/* Textbereich */

.chor_hero_text {
    width: 100% !important;
    max-width: 820px !important;
    text-align: left !important;
    margin: 0 !important;
}

.chor_hero_kicker {
    display: block !important;
    color: #e88924 !important;
    font-family: Poppins, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3em !important;
    letter-spacing: 0.16em !important;
    text-align: left !important;
    text-transform: uppercase !important;
    margin: 0 0 15px 0 !important;
}

/* Überschrift:
   Singen. Lachen.
   Gemeinschaft erleben. */

.chor_hero_title {
    max-width: 820px !important;
    color: #17365f !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 48px !important;
    line-height: 1.1em !important;
    font-weight: 400 !important;
    text-align: left !important;
    margin: 0 0 21px 0 !important;
}

.chor_hero_title span {
    display: inline !important;
}

.chor_hero_title span::after {
    content: " ";
}

.chor_hero_title span:nth-child(2)::after {
    content: "\A";
    white-space: pre;
}

.chor_hero_title span:nth-child(3) {
    color: #315c86 !important;
}

/* Beschreibung */

.chor_hero_text p {
    width: 100% !important;
    max-width: 790px !important;
    color: #3e4e5b !important;
    font-family: Poppins, Arial, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.65em !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Buttons rechts neben dem Text */

.chor_hero_textpanel .chor_hero_buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 12px !important;

    width: 250px !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.chor_hero_textpanel .chor_hero_button {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;

    font-size: 15px !important;
    line-height: 1.3em !important;
    text-align: center !important;
    white-space: normal !important;

    padding: 13px 18px !important;
    margin: 0 !important;
}

/* Tablet */

@media (max-width: 900px) {

    .chor_hero_textpanel_inner {
        display: block !important;
        max-width: 800px !important;
        padding: 40px 7% 44px 7% !important;
    }

    .chor_hero_text,
    .chor_hero_kicker,
    .chor_hero_title,
    .chor_hero_text p {
        max-width: none !important;
        text-align: center !important;
    }

    .chor_hero_textpanel .chor_hero_buttons {
        flex-direction: row !important;
        justify-content: center !important;
        width: 100% !important;
        margin-top: 28px !important;
    }

    .chor_hero_textpanel .chor_hero_button {
        width: auto !important;
        min-width: 210px !important;
    }
}

/* Smartphone */

@media (max-width: 600px) {

    .chor_hero_title {
        font-size: 35px !important;
    }

    .chor_hero_title span {
        display: block !important;
    }

    .chor_hero_title span::after,
    .chor_hero_title span:nth-child(2)::after {
        content: none !important;
    }

    .chor_hero_text p {
        font-size: 17px !important;
    }

    .chor_hero_textpanel .chor_hero_buttons {
        display: block !important;
    }

    .chor_hero_textpanel .chor_hero_button {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 10px !important;
    }
}
/* Vorstandsportraits – endgültige Darstellung */

.cantabile-board-image {
    height: 270px !important;
}

.cantabile-board-image img {
    width: auto !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center top !important;
}

.cantabile-board-card:hover .cantabile-board-image img {
    transform: none !important;
}

@media (max-width: 900px) {
    .cantabile-board-image {
        height: 250px !important;
    }
}

@media (max-width: 680px) {
    .cantabile-board-image {
        height: 340px !important;
    }
}

/* ==================================================
   UNTERSEITE IMPRESSIONEN
   ================================================== */


/* Großes Einstiegsbild */

.cantabile-impressions-hero {
    position: relative;
    width: 100%;
    height: 520px;
    overflow: hidden;
    margin-bottom: 58px;
}

.cantabile-impressions-hero img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: center center;
}

.cantabile-impressions-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(15, 38, 65, 0.65) 0%,
        rgba(15, 38, 65, 0.08) 52%,
        rgba(15, 38, 65, 0) 75%
    );
}

.cantabile-impressions-hero-caption {
    position: absolute;
    left: 48px;
    right: 48px;
    bottom: 38px;
    z-index: 2;
}

.cantabile-impressions-hero-caption .cantabile-feature-kicker {
    color: #f2c66d;
}

.cantabile-impressions-hero-title {
    max-width: 720px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    line-height: 1.15em;
}


/* Einleitung vor der Galerie */

.cantabile-impressions-heading {
    max-width: 800px;
    text-align: center;
    padding: 0 25px 40px 25px;
    margin: 0 auto;
}

.cantabile-impressions-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    line-height: 1.2em;
    margin-bottom: 17px;
}

.cantabile-impressions-heading p {
    color: #40515f !important;
    font-size: 18px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 !important;
}


/* Bilderraster */

.cantabile-impressions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: dense;
    gap: 18px;
    margin-bottom: 62px;
}

.cantabile-impression {
    position: relative;
    height: 340px;
    background: #edf1f4;
    overflow: hidden;
    margin: 0 !important;
}

.cantabile-impression-wide {
    grid-column: span 2;
    height: 430px;
}

.cantabile-impression-tall {
    height: 500px;
}

.cantabile-impression img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.5s ease;
}

.cantabile-impression:hover img {
    transform: scale(1.035);
}


/* Bildbeschriftung */

.cantabile-impression::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(17, 45, 75, 0.74) 0%,
        rgba(17, 45, 75, 0.04) 58%
    );
    opacity: 0.82;
    transition: opacity 0.25s ease;
}

.cantabile-impression:hover::after {
    opacity: 1;
}

.cantabile-impression figcaption {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 26px;
    z-index: 2;

    background: transparent !important;
    color: #ffffff !important;
    text-align: left !important;
    padding: 0 !important;
}

.cantabile-impression figcaption strong {
    display: block;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.25em;
    margin-bottom: 5px;
}

.cantabile-impression figcaption span {
    display: block;
    color: rgba(255, 255, 255, 0.9);
    font-size: 15px;
    line-height: 1.5em;
}


/* Abschlussbox */

.cantabile-impressions-cta {
    max-width: 860px;
    background: #edf3f7;
    text-align: center;
    box-sizing: border-box;
    padding: 52px 55px;
    margin: 0 auto 15px auto;
}

.cantabile-impressions-cta-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 36px;
    line-height: 1.2em;
    margin-bottom: 16px;
}

.cantabile-impressions-cta p {
    color: #40515f !important;
    font-size: 17px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 0 26px 0 !important;
}

.cantabile-impressions-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}

.cantabile-impressions-buttons .cantabile-feature-button {
    display: inline-block;
}


/* Tablet */

@media (max-width: 850px) {

    .cantabile-impressions-hero {
        height: 400px;
    }

    .cantabile-impressions-grid {
        gap: 12px;
    }

    .cantabile-impression {
        height: 290px;
    }

    .cantabile-impression-wide {
        height: 360px;
    }

    .cantabile-impression-tall {
        height: 410px;
    }
}


/* Smartphone */

@media (max-width: 620px) {

    .cantabile-impressions-hero {
        height: 310px;
        margin-bottom: 42px;
    }

    .cantabile-impressions-hero-caption {
        left: 7%;
        right: 7%;
        bottom: 25px;
    }

    .cantabile-impressions-hero-title {
        font-size: 31px;
    }

    .cantabile-impressions-title {
        font-size: 31px;
    }

    .cantabile-impressions-grid {
        display: block;
    }

    .cantabile-impression,
    .cantabile-impression-wide,
    .cantabile-impression-tall {
        width: 100%;
        height: 310px;
        margin-bottom: 12px !important;
    }

    .cantabile-impression figcaption {
        left: 22px;
        right: 22px;
        bottom: 21px;
    }

    .cantabile-impression figcaption strong {
        font-size: 22px;
    }

    .cantabile-impressions-cta {
        padding: 42px 7%;
    }

    .cantabile-impressions-cta-title {
        font-size: 30px;
    }

    .cantabile-impressions-buttons {
        display: block;
    }

    .cantabile-impressions-buttons .cantabile-feature-button {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 10px;
    }
}
/* ==================================================
   ÜBER UNS – GESCHICHTE DES CHORES
   ================================================== */

.cantabile-history {
    width: 100%;
}


/* Einleitung */

.cantabile-history-intro {
    max-width: 880px;
    text-align: center;
    box-sizing: border-box;
    padding: 35px 30px 58px 30px;
    margin: 0 auto;
}

.cantabile-history-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 42px;
    line-height: 1.2em;
    margin-bottom: 22px;
}

.cantabile-history-intro p {
    color: #40515f !important;
    font-size: 18px !important;
    line-height: 1.7em !important;
    padding: 0 !important;
    margin: 0 0 18px 0 !important;
}


/* Jubiläumsbereich */

.cantabile-history-feature {
    display: grid;
    grid-template-columns: 48% 52%;
    background: #f7f4ee;
    margin-bottom: 55px;
    overflow: hidden;
}

.cantabile-history-feature-image {
    min-height: 610px;
    background: #edf1f4;
    overflow: hidden;
}

.cantabile-history-feature-image img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    object-fit: contain;
    object-position: center center;
}

.cantabile-history-feature-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding: 58px 55px;
}

.cantabile-history-feature-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 40px;
    line-height: 1.2em;
    margin-bottom: 21px;
}

.cantabile-history-feature-content p {
    color: #40515f !important;
    font-size: 17px !important;
    line-height: 1.7em !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
}

.cantabile-history-quote {
    background: transparent !important;
    color: #17365f !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    line-height: 1.45em;
    font-style: italic;
    border-left: 3px solid #e88924 !important;
    padding: 8px 0 8px 25px !important;
    margin: 15px 0 0 0 !important;
}


/* Drei Werte */

.cantabile-history-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 65px;
}

.cantabile-history-value {
    background: #edf3f7;
    box-sizing: border-box;
    border-top: 3px solid #e88924;
    padding: 39px 34px 42px 34px;
}

.cantabile-history-number {
    display: block;
    color: #e88924;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    letter-spacing: 0.12em;
    margin-bottom: 18px;
}

.cantabile-history-value-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    line-height: 1.2em;
    margin-bottom: 15px;
}

.cantabile-history-value p {
    color: #40515f !important;
    font-size: 16px !important;
    line-height: 1.65em !important;
    padding: 0 !important;
    margin: 0 !important;
}


/* Abschluss */

.cantabile-history-closing {
    max-width: 880px;
    text-align: center;
    background: #f7f4ee;
    box-sizing: border-box;
    padding: 58px 65px;
    margin: 0 auto 15px auto;
}

.cantabile-history-closing-title {
    color: #17365f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 38px;
    line-height: 1.2em;
    margin-bottom: 19px;
}

.cantabile-history-closing p {
    color: #40515f !important;
    font-size: 18px !important;
    line-height: 1.7em !important;
    padding: 0 !important;
    margin: 0 0 28px 0 !important;
}

.cantabile-history-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 11px;
}

.cantabile-history-buttons .cantabile-feature-button {
    display: inline-block;
}

.cantabile-history-buttons .secondary {
    background: #ffffff;
    color: #17365f !important;
    border: 1px solid #17365f;
}


/* Tablet */

@media (max-width: 850px) {

    .cantabile-history-feature {
        display: block;
    }

    .cantabile-history-feature-image {
        min-height: 0;
        height: auto;
        padding: 25px;
    }

    .cantabile-history-feature-image img {
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 650px;
        margin: 0 auto;
    }

    .cantabile-history-feature-content {
        padding: 43px 7% 48px 7%;
    }

    .cantabile-history-values {
        grid-template-columns: 1fr;
    }
}


/* Smartphone */

@media (max-width: 620px) {

    .cantabile-history-title {
        font-size: 34px;
    }

    .cantabile-history-feature-title {
        font-size: 33px;
    }

    .cantabile-history-feature-image {
        padding: 15px;
    }

    .cantabile-history-closing {
        padding: 45px 7%;
    }

    .cantabile-history-closing-title {
        font-size: 31px;
    }

    .cantabile-history-buttons {
        display: block;
    }

    .cantabile-history-buttons .cantabile-feature-button {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 10px;
    }
}