body{
    user-select: none;
    font-size:var(--regular);
}

#debug {
	color: red;
	font-size: 10px;
    /* display: none; */
}

body[contrast="high"]{
    color: #000000
}
body[contrast="high"] .florabackground{
    background-color: #ffffff;
}
body[contrast="high"] .lightgreen{
    color: #000000;
}
body[contrast="high"] .headlineflora{
    color: #000000;
}
body[contrast="high"] div.florabackbutton a img{
     content:url("../icons/ag/back_black.svg");
}
body[contrast="high"] rect#positionback {
    fill: #d8d8d8;
}
/* body[contrast="high"] rect#positionrect {
    fill: black;
} */

a {
    cursor: pointer;
}

.menubar-area .toolbar-inner {
    max-width: 600px;
    margin: 0 auto;
}

.menuiconitem{
    margin-right: 10%;
    display: flex;
    width: 57px;
    height: 57px;
    padding: 16px 14px 15.826px 15px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.menuicon{
    display: flex;
    width: 27px;
    height: 27px;
    padding: 16px 14px 15.826px 15px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.legendicon{
    display: inline-block;
    width: 38px;
    height: 38px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: transparent;
    flex-shrink: 0;
}

.overviewiconitem{
    margin-right: 5%;
    min-width:92.4px;
    min-height: 92.4px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position:center;
    margin-top:3px;
    margin-bottom: 3px;
}

.settingsiconitem{
    margin-right: 5%;
    width:45px;
    height: 45px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position:center;
    margin-top:3px;
    margin-bottom: 3px;
}

.menuitemtext{
    font-family: Helvetica;
    font-size: var(--bigfont);
    font-style: normal;
    font-weight: 400;
    margin-top:16px;
    margin-bottom: 16px;
    
}

.ad-tour-icon{
    width: 60px;
    height: 60px;
}

/* hover off FS 07.10.2025 */
/*
.menuitemtext:hover{
    font-family: Helvetica;
    font-size: var(--bigfont);
    
    margin-top:16px;
    margin-bottom: 16px;
    color: inherit !important;
}
.item-content:hover{    
     color: inherit !important;
}
*/
body[contrast="regular"] div.dz-list.mainmenu a:hover,
body[contrast="regular"] div.dz-list .menuitemtext:hover{    
   color: var(--lightgreen);
}
body[contrast="regular"] main.florabackgroundlight div.dz-list.mainmenu a:hover,
body[contrast="regular"] main.florabackgroundlight div.dz-list .menuitemtext:hover{    
   color: var(--darkgreen);
}
body[contrast="high"] div.dz-list.mainmenu a:hover,
body[contrast="high"] div.dz-list .menuitemtext:hover{    
   color: #000000;
}

div.dz-list a:hover,
div.dz-list .menuitemtext:hover{
    /* color:  inherit !important; */
    /* color:  inherit; */
}

.florawelcome{
    color: var(--lightgreen);
    font-family: Helvetica;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.legendtext{
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    font-weight: 400;
    line-height: 34px;
    padding-left: 25px;
}

.florasubwelcome{
    color: var(--lightgreen);
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    /* font-weight: 700; */
    line-height: normal;
}

.florahead{
    background-image: url("./../images/flora/house.png");
    background-position:right center;
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 40px !important;
    padding-top: 0px !important;
}

.floraheader{
    background-color: var(--body-bg);
    min-height:70px;
   
    z-index: 10;
    padding: 0 15px;
}

.floraheader_small{
    background-color: var(--body-bg);
    min-height:60px;
   
    z-index: 10;
    padding: 0 15px;
}

.floraheadertitle{
    color: var(--darkgreen);
    text-align: center;
    /* Überschriften/Titel-klein */
    font-family: Helvetica;
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    padding-top:33px;
    padding-bottom:53px;
    height:45px;
}

.floraheadertitlesmall{
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    font-weight: 700;
    padding-top:20px;
    color: var(--darkgreen);
}

.floratoppaddingsmall{
    margin-top:43px;
}

.florabackground{
    background-color: var(--darkgreen);
}

.florabackgroundlight{
    background-color: var(--lightgreen);
}

.darkgreen{
    color: var(--darkgreen);
}

.lightgreentopborder{
    border-top: 1px solid var(--lightgreen);
}


.darkgreentopborder{
    border-top: 1px solid var(--darkgreen);
}

.lightgreen{
    color: var(--lightgreen);
}

.floralist{
    padding:0px !important;
    white-space: normal;
}

.floralistdouble{
    padding:16px !important;
    white-space: normal;
}

.overviewitem{
    font-family: Helvetica;
    font-size: var(--bigfont);
    font-style: normal;
    font-weight: 400;
    padding-bottom:8px;
}

.overviewitemplant{
    font-family: Helvetica;
    font-size: var(--bigfont);
    color: var(--darkgreen);
    line-height: 30px;
    font-style: normal;
    font-weight: 400;
}

.plantheadline{
    font-family: Helvetica;
    font-size: var(--verybig);
    font-style: normal;
    font-weight: 400;
    line-height: 40px;
}

.headlineflora{
    font-family: Helvetica;
    font-size: var(--bigfont);
    color: var(--lightgreen);
    line-height: 30px;
    font-style: normal;
    font-weight: 400;
}

.overviewitemsmall{
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
}

.floraplantsmall{
    font-family: Helvetica;
    font-size: var(--bigfont);
    font-style: normal;
    font-weight: 400;
    line-height: 33px; 
}

.borderbottom{
    border-bottom: 1px solid var(--darkgreen);
}

.bordertop{
    border-top: 1px solid var(--darkgreen);
}

.bordertopchat{
    border-top: 1px solid var(--darkgreen);
    /* Make the element stretch full viewport width even when inside centered containers */
    width: 100vw;
    max-width: 100vw;
    box-sizing: border-box;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.borderbottomlight{
    border-bottom: 1px solid var(--lightgreen);
}

.floratext{
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    font-weight: 400;
    line-height: 27px;
    white-space: pre-wrap;
}

/* added FS */
body.lang_EN .no_lang_EN{
    display:none;
}

.florabold{
    font-size: var(--headfnt);
    font-weight: 700;
}


.floraicon75{
    width: 75px;
    padding-bottom:10px;
}

.floraicon45{
    width: 57px;
    padding:10px;
}

.floraicon36{
    height: 36px;
   
}

.floraprofileheadline{
    font-family: Helvetica;
    font-size: var(--bigfont);
    font-style: normal;
    font-weight: 400;
    line-height: 45px;
}

.floraleft{
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    font-weight: 700;
    line-height: 27px;
}

.floralegend{
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    font-weight: 700;
    line-height: 40px;
}

.floraright{
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    font-weight: 400;
    line-height: 27px;
}

.imagetext{ 
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    padding-top: 10px;
}


.audioplayerheadline{
    font-family: Helvetica;
    font-size: var(--regular);
    font-style: normal;
    line-height: 25px;
}

video#dgsvideo::cue {
    color: white;
    font-size: var(--regular);
    background-color: rgb(0 0 0 / 60%);
}
/* --- Korrigierte DGS-Untertitel-Positionierung --- */
span#videotext {
	position: absolute;        /* vom Fluss trennen */
	bottom: 5px;          /* vom unteren Rand des Videos */
	left: 50%;
	transform: translateX(-50%);  /* horizontal zentrieren */
	width: 100%;
	padding: 6px 23px;
	opacity: 0;
	color: white;
	background: rgba(0, 0, 0, 0.4);
	text-align: center;
	font-size: 1.5vh;
	border-radius: 0 0 0 0;
	transition: opacity 0.3s ease-in-out;
	pointer-events: none;      /* Klicks gehen durchs Overlay */
}

#dgs-video-wrapper {
	position: relative;  /* Referenzpunkt für das absolute Videotext-Overlay */
}


.galleryButton{
    width:24px !important;
    height: 24px !important;
    margin:15px;
}

.florabackbutton{
    position: absolute;
    left:16px;
    top:12px;
}

.florabackbutton img{
    height: 32px;
    padding-top: 10px;
}

.downicon{
    position: fixed;
    right: 20px;
    bottom: 100px;
    right: 17px;
    bottom: 70px;
    z-index: 1000 !important;
}

/* added FS */
.spacernodownicon{
    height: 20px;
}

.space-top-big{
    margin-top: 111px;
}


.mainicon{
    width: 28px;
    height: 28px;
}

.settingicon{
    display: flex;
    width: 45px;
    height: 45px;
    padding: 8px 8px 7.998px 8px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.innerspace{
    padding-top:5px;
}

/* added FS START CHAT */
div.chat-box-area .chat-content.user .message-item .bubble {
    background: var(--darkgreen);
    color: var(--lightgreen);
    min-width: 50px;
}
body[contrast="high"] div.chat-box-area .chat-content.user .message-item .bubble {
    background: #181717;
}

div.chat-box-area .chat-content .message-item .bubble {
    background: #D1EECC;
    font-size: var(--regular);
    min-width: 50px;
}

/* Coded zippel: speech bubble tip drawn in CSS (no image assets). */
div.chat-box-area .chat-content .message-item::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #D1EECC;
    background-image: none;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.chat-box-area .chat-content.user .message-item::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: var(--darkgreen);
    background-image: none;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}

body[contrast="high"] div.chat-box-area .chat-content .message-item::before {
    background: #CCCCCC;
}

body[contrast="high"] div.chat-box-area .chat-content.user .message-item::before {
    background: #181717;
}

body[contrast="high"] div.chat-box-area .chat-content .message-item.no-zippel::before,
body[contrast="high"] div.chat-box-area .chat-content .message-item.no-zippel::after,
div.chat-box-area .chat-content .message-item.no-zippel::before,
div.chat-box-area .chat-content .message-item.no-zippel::after {
    content: none;
}
body[contrast="high"] div.chat-box-area .chat-content .message-item .bubble {
    background: #FFFFFF;
    color: #000000;
    border: 1px solid #000000;
}
body[contrast="high"] div.chat-box-area .chat-content.user .message-item .bubble {
    background: #FFFFFF;
    color: #000000;
    border: 1px solid #000000;
}

/* High contrast: make tip + bubble read as one bordered element. */
body[contrast="high"] div.chat-box-area .chat-content .message-item::before,
body[contrast="high"] div.chat-box-area .chat-content.user .message-item::before {
    background: #FFFFFF;
    border: none;
    box-sizing: border-box;
    z-index: 1;
}
body[contrast="high"] div.chat-box-area .chat-content .message-item::before {
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    left: -13px;
}
body[contrast="high"] div.chat-box-area .chat-content.user .message-item::before {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    left: auto;
    right: -13px;
}

/* High contrast tip outline layer (always visible, including far-left edges). */
body[contrast="high"] div.chat-box-area .chat-content .message-item::after,
body[contrast="high"] div.chat-box-area .chat-content.user .message-item::after {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 16px;
    background: #000000;
    z-index: 0;
}
body[contrast="high"] div.chat-box-area .chat-content .message-item::after {
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    left: -16px;
    bottom: 12px;
}
body[contrast="high"] div.chat-box-area .chat-content.user .message-item::after {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    left: auto;
    right: -16px;
    bottom: 12px;
}

div.chat-box-area .chat-content .message-item .bubble:first-child{
    border-radius: 15px;
}
/* added FS END */

/* Keep tip fixed to bubble edge (no manual horizontal drift). */
.chat-box-area .chat-content .message-item::before{
    transform: none;
}
.chat-box-area .chat-content.user .message-item::before{
    transform: none;
}

.message-item{
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    position: relative !important; /* anchors ::before to each bubble row */
    overflow: visible;
}

/* Pin zippel flush to each bubble edge. */
.chat-content {
    position: relative;
    padding-top:10px;
    overflow: visible;
}
.chat-box-area .chat-content {
    padding-right: 50px;
    padding-left: 20px;
}
.chat-box-area .chat-content.user {
    padding-right: 20px;
    padding-left: 50px;
}
.chat-box-area .chat-content .message-item::before {
    position: absolute;
    top: auto;
    bottom: 13px;
    left: -14px;
}
.chat-box-area .chat-content.user .message-item::before {
    position: absolute;
    top: auto;
    bottom: 13px;
    left: auto;
    right: -14px;
}

.bubblechat {
    background: var(--darkgreen);
    min-width: 300px;
    color: var(--lightgreen);
    font-size: var(--regular);
    border-radius: 4px;
    padding:12px;
}

/* Keep inline markup like <i> inside chat texts from breaking bubble layout. */
div.chat-box-area .chat-content .message-item .bubble,
div.chat-box-area .chat-content.user .message-item .bubble,
.bubbleanswer {
    display: block;
    white-space: normal;
    line-height: 1.4;
    overflow-wrap: anywhere;
    word-break: break-word;
}

div.chat-box-area .chat-content .message-item .bubble.bubble-image {
    padding: 0;
    background: transparent;
    overflow: hidden;
}

div.chat-box-area .chat-content .message-item .bubble.bubble-image img {
    display: block;
    width: 100%;
    height: auto;
}

.chat-image-wrap .copyrigth {
    top: 12px;
    right: 10px;
}

div.chat-box-area .chat-content .message-item .bubble i,
div.chat-box-area .chat-content.user .message-item .bubble i,
.bubbleanswer i {
    display: inline;
    font-style: italic;
}

.chat-content-chat{
    position: absolute;
    bottom: 0;
}
.bubbleanswer{
    color:var(--lightgreen);
    font-size: var(--regular);
    padding-top:8px;
    padding-bottom:8px;
    padding-left: 12px;
    padding-right: 12px;
    margin-left:20px;
    margin-right:20px;
    background-color: var(--darkgreen);
    margin-bottom:12px;
    /* border-radius: 4px; */
    border-radius: 15px;
    text-align: center;
}

body[contrast="high"] .bubbleanswer {
    background-color: #ffffff;
    color: #000000;
    border: 1px solid #000000;
}

body[contrast="high"] .bubbleanswer i {
    color: #000000;
}



.animate {
    transform: scale(0.8);
  }


.copyright{
    font-size: var(--copyfont);
    color: var(--darkgreen);
}


.copyrightprofile{
    margin-top:-15px;
    padding-right:10px;
    color:white !important;
    font-size: var(--copyfont);
    padding-bottom:10px;
}

.copyrigth,
.copyrigth-image-wrap,
#audioimage {
    position: relative;
}

.copyrigth {
    position: absolute;
    top: 10px;
    right: 8px;
    z-index: 2;
    color: var(--darkgreen);
    font-family: Helvetica;
    font-size: var(--copyfont);
    font-style: normal;
    line-height: normal;
    letter-spacing: 0.04em;
    writing-mode: vertical-rl;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    font-weight: 500;
    text-orientation: mixed;
    pointer-events: none;
}

.copyrigth.copyrigth-dark {
    color: var(--darkgreen);
}

.copyrigth.copyrigth-light {
    color: var(--lightgreen);
}

.copyrigth-image-wrap {
    width: 100%;
}

.gallery-image-bg .copyrigth {
    top: 12px;
    right: 10px;
}

#audioimage .copyrigth {
    top: var(--audioimage-copy-top, 3px);
    right: var(--audioimage-copy-right, 3px);
}

.copyrigth img {
    display: block;
}

.copyrigth-symbol {
    display: inline-block;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.introtitle{
    color: var(--lightgreen);
    font-family: Helvetica;
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.introbtext{
    color: var(--lightgreen);
    font-family: Helvetica;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.introbtn{
    width: 125px;
    height: 44px;
    padding: 8px 24px;
    justify-content: center;
    align-items: center;
    gap: 41px;
    flex-shrink: 0;
    color: var(--lightgreen);
    border: 2px solid var(--lightgreen);
    background-color: rgba(0,0,0,0);
    text-align: center;
    font-family: Helvetica;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.boldeasy {
    white-space: normal;
}

.bolddgs {
    white-space: normal;    
}

/* hover off FS 07.10.2025 */
/*
.sAAetText:hover{
    color: var(--lightgreen) !important;
}

.iAAtem-content:hover{
    color: var(--lightgreen) !important;
    font-weight: bold !important;
}
*/

/* added FS Heading Contact*/
div.container.lightgreen[data-key="contact"] h1, 
div.container.lightgreen[data-key="openinghours"] h1 {
    font-size: var(--bigfont);
    font-weight: normal;
    color: var(--lightgreen);
}

body[contrast="high"] div.container.lightgreen[data-key="contact"] h1, 
body[contrast="high"] div.container.lightgreen[data-key="openinghours"] h1 {
    color: black;
}

body[contrast="high"] div#menubar img.mainicon.settings{
    content: url(../icons/ag/settings_set_kontrast.svg);

}

/* Click-scale: briefly enlarge text on press for elements with onclick */
.click-scale{
    display: inline-block;
    transition: transform 120ms ease;
    transform-origin: left center;
}
.click-scale--active{
    transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce){
    .click-scale{ transition: none !important; }
}

/* Gallery Navigation Controls - stacked above menubar footer */
.gallery-nav-area {
    padding-top: 5px;
    position: unset;
    height: auto;
}

.gallery-nav-area.footer-fixed {
    position: fixed !important;
    bottom: 70px;
    left: 0;
    z-index: 11;
    width: 100%;
    padding: 10px 0;
}

.gallery-nav-area .gallerybuttons {
    cursor: pointer;
}

.typing{
    width: 25%;
    position: relative;
    left: -2px;
}

body[size="bigger"] .typing{
    width: 35%;
}

.chat-footer{
    padding-top: 0px !important;
}

/* Keep numbering for rules intro list (global CSS resets li markers). */
ol[data-key="rulesintro"],
ol[data-key="plantsanimalstext"],
ol[data-key="rulestext"],
ol[data-key="rulesphototext"],
ol[data-key="rulesaccesstext"],
ol[data-key="notestext"] {
    padding-left: 1.25rem;
    margin-bottom: 0;
}

ol[data-key="rulesintro"] li,
ol[data-key="plantsanimalstext"] li,
ol[data-key="rulestext"] li,
ol[data-key="rulesphototext"] li,
ol[data-key="rulesaccesstext"] li,
ol[data-key="notestext"] li {
    list-style: decimal;
    list-style-position: outside;
}

ol.floratext-as-paragraph {
    list-style: none;
    padding-left: 0;
}