body {
	background-color: var(--third-color)!important;
}

footer, header {
    z-index: 2;
    position: relative;
}


/*
body.no-scroll {
    overflow: hidden;
}*/

/* Desktop (Standard) */
html {
    font-size: 16px!important; /* 1rem = 16px */
}

/* Tablet */
@media (max-width: 768px) {
    html {
        font-size: 14px!important; /* 1rem = 14px */
    }
}

/* Smartphone */
@media (max-width: 480px) {
    html {
        font-size: 12px!important; /* 1rem = 12px */
    }
}

h1 {
    font-size: 30px;
}

h2 {
    font-size: 1.3rem;
}

h3 {
    font-size: 22px;
}

h4 {
    font-size: 18px;
}

h5 {
    font-size: 16px;
}

h6 {
    font-size: 14px;
}




.header-container {
    background-color: var(--secondary-color)!important;
}

.et_pb_menu_0_tb_header.et_pb_menu ul li a{
	color: var(--primary-color)!important;
}



/*loading page*/

.userEmptyNote {
    margin-left: 5%;
	margin-right: 5%;
	width: 90%;
}

.userEmptyNoteInner {
    max-width: 500px;
    min-width: 300px;
    margin: 100px auto;
    padding: 40px;
    border: 2px solid var(--secondary-color);
    border-radius: 20px;
    color: var(--secondary-color);
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    background-color: var(--primary-color);
}


.userEmptyNote button {
    margin: 40px auto 0px auto;
}

/* call div */

div#callDisplay {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
}


.call-info {
    margin-bottom: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}

div#openCallOrganization {
    border: 2px solid var(--secondary-color);
    padding: 5px 10px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    line-height: 20px;
    font-size: 15px;
    font-weight: 600;
    text-transform: capitalize;
}

/*tooltip styling*/

.tooltipIconContainer {
    position: absolute;
    height: 2rem;
    border: 2px solid;
    border-radius: 50%;
    width: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--primary-color);
    top: 0px;
    left: 50%;
    transform: translate(-50%, 0px);
    z-index: 2;
	transition: 0.5s;
    font-size: 0.7rem;
}

.tooltipIconContainer.inactive {
	display: none;
}

.tooltipIconContainer:hover,
[id^="iconButton"]:hover + [id$="Tooltip"],
[id^="iconButtonMap"]:hover + [id$="Tooltip"] {
    top: -2.2rem; /* Verschiebt das Element leicht nach oben */
}


.tooltipIconContainer.vertical {
    top: 50%;
    transform: translate(-50%, -50%);
}


.tooltipIconContainer.vertical:hover,
[id^="iconButtonGrid"]:hover + [id$="Tooltip"] {
    top: 50%;
    left: calc(2vw + 70px);
}



.tooltipContainer {
   	display: none;
    padding: 20px;
    margin: 0;
    max-width: 400px;
	min-width: 300px;
    word-wrap: break-word;
    z-index: 99;
    background-color: var(--primary-color);
    border-radius: 20px;
    color: var(--third-color);
    border: 2px solid var(--secondary-color);
}


.tooltipContainer h3{
	 color: var(--secondary-color);
	font-weight: 600;
}

.tooltipContainer img{
	border-radius: 20px;
	width: 100%;
}


/* tooltip tour */

button#startTourButton {
    position: absolute;
    top: 0px;
    z-index: 99;
    right: 50px;
    height: 30px;
    border-radius: 0px;
    border: none;
    background-color: transparent;
    color: var(--primary-color);
    font-weight: 600;
    font-size: 16px;
	display: none;
	cursor: pointer;
	transition: 0.5s;
}

button#startTourButton:hover {
	transform: scale(1.05); 
}

#tourOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Halbtransparentes Schwarz */
    z-index: 3;
    display: none; /* Zunächst versteckt */
}

.tooltip-content {
    position: relative;
    z-index: 10000; /* Sicherstellen, dass die Tooltips über dem Overlay liegen */
}


.buttonStyling.end {
    background-color: #800000; /* Rote Farbe für den Beenden-Button */
	margin-right: 20px;
}

button.buttonStyling.tourButton {
    float: left;
    margin-top: 20px;
}

/* Hebe das Element hervor, indem der z-index erhöht wird */
.highlighted {
    position: relative; /* Stellt sicher, dass das z-index funktioniert */
    z-index: 10001!important; /* Höher als der Tooltip */
	pointer-events: none;
}



/* Overlay, wenn es die Klasse 'loading' hat */
/* Vollbild-Overlay */
.loadingOverlay.loading {
    opacity: 1;
}

/* Overlay ohne die 'loading'-Klasse, macht es unsichtbar */
.loadingOverlay {
	position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--third-color);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
	/*height: 0px;*/
	transition: opacity 1s ease;
	 z-index: 9;
}

#loadingOverlayBox1{
    position: absolute;
    z-index: 1;
}

/* Container für Spinner und Logo */
.spinnerOverlay-container {
    position: relative;
    width: 200px; /* Größe des Containers anpassen */
    height: 200px;
    text-align: center;
}

/* Stil für das Logo (SVG) */
.logoOverlay {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    transform: translate(-50%, -50%);
    background-image: var(--logo-url);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Stil für den Spinner */
.spinnerOverlay {
    box-sizing: border-box; /* Berücksichtigt die Rahmenbreite in der Größe */
    width: 100%; /* Passt die Breite an den Container an */
    height: 100%; /* Passt die Höhe an den Container an */
    border: 10px solid var(--secondary-color); /* Heller Rand */
    border-top: 10px solid var(--primary-color); /* Blauer Rand für den Spinner */
    border-radius: 50%;
    animation: spin 2s linear infinite;
}

.spinnerOverlay-container{
	opacity: 0;
}

/* Spinner-Animation */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}






/* overview */


#organizationSidebarSettingsContainer {
    display: none; /* Standardmäßig ausgeblendet */
    /* Optional: Füge eine Transition hinzu, um das Ein-/Ausblenden zu animieren */
    transition: all 0.3s ease-in-out;
}

#organizationSidebarSettingsContainer.visible {
    display: block; /* Sichtbar, wenn die Klasse 'visible' hinzugefügt wird */
}



.buttonStyling {
	 padding: 10px 20px;
    border: none;
    border-radius: 5px;
    background-color: var(--primary-color);
    color: var(--secondary-color);
    font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
	cursor: Pointer;
	transition: 1s;
	display: flex;
    align-items: center;
    justify-content: center;
	border: 2px solid var(--secondary-color);
}

.noProjects {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    padding-top: 20px;
}

.noProjects a{
    color: var(--secondary-color);
}

.organizationContainer {
    display: flex;
	gap: 5%;
    width: 90%;
    margin-left: 5vw;
}

.organizationSidebarContainer {
    min-width: 250px;
    color: var(--primary-color);
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 50px;
	max-width:350px;
    transition: flex-basis 0.6s ease, transform 0.6s ease; /* Smoothes Ein- und Ausfahren */
    transform: translateX(calc(-100% - 5vw));
}

.organizationSidebarContainer.hidden {
    flex-basis: 0; /* Nimmt keinen Platz mehr im Layout ein */
    min-width: 0; /* Überschreibt die Standardbreite */
    max-width: 0;
}

.organizationSidebarInnerContainer {
    border: 4px solid var(--secondary-color);
    padding: 20px;
    border-radius: 10px;
    border-top-right-radius: 0px;
    display: flex;
    flex-direction: column;
    background-color: var(--third-color);
    max-height: 90vh;
    overflow: auto;
}

.organizationSidebarInnerContainer.hidden {
    border: none;
    padding: 0;
}

.organizationBetaString {
    position: absolute;
    font-weight: 900;
    font-style: italic;
    -webkit-text-stroke: 0.5px var(--primary-color);
    color: var(--secondary-color);
    font-size: 22px;
    top: 0px;
    left: 50%;
    transform: translate(-50%, 10px);
}


.organizationSidebarToggle {
    position: absolute;
    top: 0px;
    right: -40px; /* Der Button ragt aus der Sidebar heraus */
    z-index: 10;
}

.toggleSidebarButton {
    width: 40px;
    height: 40px;
    background-color: var(--secondary-color);
    color: white;
    border: none;
    cursor: pointer;
    text-align: center;
    line-height: 30px;
    font-size: 16px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.toggleSidebarButton:hover {

}

#sidebarHome {
    fill: var(--third-color);
    width: 25px;
    height: 25px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}





.organizationUrl.waiting {
    border-color: red !important;
}

button#verifyDomainButton {
    margin-left: auto;
}



div#organizationSettingsIcon {
    width: 20px;
    margin-left: auto;
	fill: var(--primary-color);
}

#organizationSettingsIcon.iconToolTip::after {
    background-color: var(--secondary-color);
    color: var(--primary-color);
	margin-left: -200px;
    position: relative;
}

#verifyDomainOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: -9;
    display: flex;
    opacity: 0;
    pointer-events: none;
    transition: 1s;
}

#verifyDomainOverlay.active {
    
    z-index: 9;
    opacity: 1;
    pointer-events: all;
}




#verifyDomainPopup {
    background-color: var(--third-color);
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, 0%);
    padding: 50px;
    color: var(--primary-color);
    border-radius: 10px;
}

#verifyDomainPopup h2{
	color: var(--primary-color);
	font-weight: 600;
}

button#verifyNowButton {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
}
div#domainIsApproved {
    color: green;
    text-align: right;
}

.verifyErrorMessage {
    margin-top: 30px;
	margin-bottom: -20px;
    font-weight: 600;
    color: red;
    display: none;
}

#closePopupButtonVerifyDomain {
    position: absolute;
    top: -30px;
    right: -30px;
    font-size: 36px;
    color: var(--secondary-color);
	cursor: pointer;
}

/* Container für das Formular */
#organizationSettingsForm {
    max-width: 500px;
    margin: 50px auto;
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Formular-Gruppen */
.form-group {
    margin-bottom: 20px;
}

/* Labels */
.form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
    color: #555;
}

/* Textfelder */
.form-group input[type="text"],
.form-group input[type="file"] {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.form-group input[type="text"]:focus,
.form-group input[type="file"]:focus {
    border-color: var(--secondary-color, #3bb2d0);
    outline: none;
}

/* Color Picker */
.form-group input[type="color"] {
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 100%;
    height: 50px;
    cursor: pointer;
    background: none;
}

.form-group input[type="color"]::-webkit-color-swatch-wrapper {
    padding: 0;
}

.form-group input[type="color"]::-webkit-color-swatch {
    border: none;
}

.form-group input[type="color"]:focus {
    border-color: var(--secondary-color, #3bb2d0);
    outline: none;
}

.organizationFormHeader {
    font-size: 22px;
    font-weight: 600;
    text-transform: uppercase;
}

#iframeHeader{
	margin-top: 50px;
}

/* Buttons */
#saveOrganizationSettings {
    margin: 0 auto;
}

#saveOrganizationSettings:hover {
    background-color: var(--secondary-color, #3bb2d0);
	color: var(--primary-color);
}

button#goProButton {
    position: absolute;
    top: 0px;
    height: 30px;
    left: 50%;
    transform: translate(-50%, 0px);
    border: none;
    padding: 0px 30px;
    background-color: var(--primary-color);
    color: var(--secondary-color);
    font-size: 20px;
    border: 2px solid;
	display: none;
	cursor: pointer;
	transition: 0.5s;
}

button#goProButton:hover {
	transform: translate(-50%, 0px) scale(1.05); 
}

#ownerContactContainer {
    position: absolute;
    top: 0px;
    left: 0px;
}

#ownerContactDropdown {
    height: 30px;
    border: none;
    color: var(--primary-color);
    font-weight: 700;
}

/* Bildvorschau */
.current-logo img {
    display: block;
    margin: 0 auto 20px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Platzhaltertext */
::placeholder {
    color: #aaa;
    font-style: italic;
}

/* Responsive Design */
@media (max-width: 600px) {
    #organizationSettingsForm {
        padding: 15px;
    }

    #saveOrganizationSettings {
        font-size: 14px;
        padding: 10px;
    }
}

#companyBoxHeaderLogo {
    background-image: var(--logo-url);
    height: 50px;
    background-repeat: no-repeat;
    background-size: contain;
}

#companyBoxHeader{
	margin-bottom: 30px;
}


#newContactForm {
    overflow: hidden;
    transition: 0.5s ease-out;
    width: 100%;
    float: right;
    background: var(--primary-color);
    border-radius: 10px;
    color: var(--secondary-color);
    margin-bottom: 10px;
    /* max-height: 0px; */
    position: relative;
    font-size: 12px;
	height: 0px;
	transition: 1s;
	opacity: 0;
}

#newContactForm.active{
	padding: 20px 0px;
    margin: 20px 0px;
	height: auto;
	opacity: 1;
}

#newContactButton {
        fill: var(--secondary-color);
    float: right;
    background-color: var(--primary-color);
    width: 2rem;
    height: 2rem;
    padding: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 50%;
	position: relative;
	border: none;
    margin-top: -5px;
}

#newContactButton.iconToolTip::after, #resendInvitation.iconToolTip::after{
	background-color: var(--secondary-color);
	color: var(--primary-color);
	transform: translateX(-50%);
    left: -60px;
	position: absolute;
    text-align: center;
    top: -30px;
}

.spinnerResendEmail{
    width: 20px!important;
    height: 20px!important;
}


.organizationViewFullHeight {
    min-height: 100vh;
    min-width: 200px;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 150px;
}

.rightHeaderContainer {
    margin-bottom: 20px;
    width: 90%;
    margin: 50px auto;
    height: 50px;
}

#testPeriodContainer {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
}

button#newAnalysisButton {
    float: right;
}




#organizationContainerOwned.active{
    opacity: 0;
    height: 0px;
	display: none;
}

#organizationContainerNotOwned.active{
    opacity: 0;
    height: 0px;
	display: none;
}

#showOwnCompaniesButton.active{
	transform: rotate(90deg);
}

#showNotOwnCompaniesButton.active{
	transform: rotate(90deg);
}





.showCompaniesButton svg {
    width: 20px;
    height: 20px;
}

.organizatinOwnedDivider{
	width: 100%;
}

.showCompaniesButton {
    float: right;
}

.organizationTeamHeader {
    float: left;
}




.analysis-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: -9;
	display: flex;
	opacity: 0;
	pointer-events: none;
	transition: 1s;
}

.analysis-overlay.active{
	z-index: 1000;
	opacity: 1;
	pointer-events: all;
}

.analysis-popup {
    background: var(--primary-color);
    width: 80vw;
    position: relative;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    z-index: 1001;
	border-radius: 20px;
}

.analysis-popup .analysis-close-btn {
    position: absolute;
    top: -30px;
    right: -30px;
    background: transparent;
    color: var(--secondary-color);
    border: none;
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    font-weight: 600;
}

.analysis-popup .analysis-close-btn:hover {
    background: var(--primary-color);
}








.organizationViewContainer {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    overflow:auto;
    position: relative;
}


div#paginationOrganization {
    position: absolute;
    right: 0;
    top: 30px;
}







input#searchField {
    width: 40%;
    border-radius: 20px;
    line-height: 40px;
    padding-left: 20px;
    min-width: 200px;
}

p#noResultsMessage {
    width: 100%;
    margin-top: 20px;
}



/*filter and sort*/

div#sortContainerHeader {
    display: flex;
    gap: 5px;
    background: none;
    box-shadow: none;
}


.sortContainerItem {
    display: flex; /* Nebeneinander anordnen */
    align-items: center; /* Vertikale Zentrierung */
    gap: 5px; /* Abstand zwischen Name und Pfeilen */
}

.sortContainerHeader.grid .sortContainerItem {
    min-width: 10px!important;
    margin: 0px!important;
}

.sortContainerHeader.grid {
    justify-content: space-between;
    padding: 10px 30px;
}

.sortContainerHeader.grid #indexSortItemContainer {
    display: none;
}
.sortContainerHeader.grid #buttonSortItemContainer {
    display: none;
}

svg#filterIcon {
    width: 15px;
    pointer-events: none;
}

.sort-title {
    font-size: 16px; /* Schriftgröße des Titels */
    font-weight: bold; /* Fettgedruckter Titel */
}

div#iconsSortItemContainer {
    margin-left: auto;
    max-width: none;
}

div#buttonSortItemContainer {
    width: 130px!important;
    margin-right: 0px;
}

#dateSortItemContainer {
    margin-left: 10px;
    min-width: 70px !important;
}



.arrow {
    font-size: 10px; /* Größe der Pfeile */
    color: gray; /* Standardfarbe der Pfeile */
    cursor: pointer; /* Mauszeiger ändern */
    user-select: none; /* Verhindert Textauswahl */
}

.arrow.active {
    color: var(--secondary-color);
}

/* Optional: Hover-Effekt */
.arrow:hover {
    color: darkgray; /* Hover-Farbe */
    transform: scale(1.1); /* Vergrößerung bei Hover */
}

.dateSort-popup, .followUpSort-popup {
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    background: #ffffff; /* Heller Hintergrund */
    padding: 30px 20px;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.15); /* Stärkerer Schatten für modernes Design */
    border-radius: 8px; /* Abgerundete Kanten */
    z-index: 1000;
    min-width: 300px;
    max-width: 500px;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
}

.dateSort-popup .close-popup {
    position: absolute;
    right: 15px;
    top: 15px;
    background: none;
    border: none;
    font-size: 30px;
    font-weight: 500;
    color: #555;
    cursor: pointer;
    transition: color 0.3s ease;
    line-height: 15px;
}

.dateSort-popup .close-popup:hover {
    color: #f44336; /* Rot beim Hover */
}

.dateSort-popup label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    color: #555;
}

.dateSort-popup input[type="date"], .followUpSort-popup input[type="date"] {
    width: 100%;
    padding: 8px 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    transition: border-color 0.3s ease;
}

.dateSort-popup input[type="date"]:focus, .followUpSort-popup input[type="date"]:focus {
    border-color: #007bff; /* Fokusfarbe */
    outline: none;
}

.dateSort-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.dateSort-filters button {
    background-color: var(--secondary-color);
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease;
}

.dateSort-filters button:hover {
    background-color: #0056b3; /* Dunkleres Blau beim Hover */
}

.dateSort-popup .reset-filter {
    margin-top: 15px;
    text-align: center;
}

.dateSort-popup .reset-filter button, .followUpSort-popup .reset-filter button {
    background-color: #f44336; /* Rotes Design für Zurücksetzen */
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease;
}

.dateSort-popup .reset-filter button:hover, .followUpSort-popup .reset-filter button:hover {
    background-color: #d32f2f; /* Dunkleres Rot beim Hover */
}


.iconSort-popup {
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    border: 1px solid #ccc;
    padding: 20px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    z-index: 1000;
    min-width: 300px;
    max-width: 400px;
}

.iconSort-popup .close-popup {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 30px;
    font-weight: 500;
    color: #555;
    cursor: pointer;
}

.iconSort-popup .close-popup:hover {
    color: #f44336;
}

.sortCheckbox-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sortCheckbox {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sortCheckbox-input {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.sortCheckbox label {
    font-size: 14px;
    color: #333;
    cursor: pointer;
}

.ownerSort-popup {
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    border: 1px solid #ccc;
    padding: 20px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    z-index: 1000;
    min-width: 300px;
    max-width: 400px;
}

.ownerSort-popup .close-popup {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 18px;
    font-weight: bold;
    color: #555;
    cursor: pointer;
}

.ownerSort-popup .close-popup:hover {
    color: #f44336;
}

.sortCheckbox-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
}







/* Styling für den Umschaltbereich */
.viewToggle {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    margin-left: auto;
}

.viewToggle button {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    background-color: #007bff;
    color: white;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.viewToggle button:hover {
    background-color: #0056b3;
}

#iconList, #iconGrid {
    width: 20px;
    fill: var(--primary-color);
}

#iconList.activeIcon, #iconGrid.activeIcon {
    fill: var(--secondary-color);
}





/* Allgemeine Organisationen-Container (unabhängig von der Ansicht) */
.organizationsContainer {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* Abstand zwischen den Organisationen */
    width: 100%;
}

/* Listenansicht: Elemente nebeneinander */
.organizationsContainer.list .singleorganizationContainer {
    display: flex; /* Inhalte nebeneinander */
    flex-direction: row; /* Horizontal anordnen */
    align-items: center; /* Vertikale Zentrierung */
    gap: 5px; /* Abstand zwischen Feldern */
    color: var(--primary-color);
}

/* Kachelansicht: Elemente untereinander */
.organizationsContainer.grid .singleorganizationContainer {
    display: flex; /* Inhalte untereinander */
    flex-direction: column; /* Vertikale Anordnung */
    align-items: flex-start;
    gap: 10px;
    flex: 1 1 auto;
    box-sizing: border-box;
    min-width: 200px;
    max-width: 600px;
    height: auto;
    width: unset;
    position: relative;
    padding-bottom: 40px;
}

.organizationStatusIconContainer {
    display: flex;
    gap: 10px;
    margin-left: auto;
}

.organizationStatusIcon {
    width: 20px;
    fill:#b1b1b1;
    position: relative;
}
.iconNumberCount {
    position: absolute;
    top: -2px;
    right: -2px;
    font-size: 10px;
    line-height: 10px;
}

.organizationStatusIcon svg {
    vertical-align: middle;
}

.organization-field.organizationDate {
    margin-left: 10px;
    min-width: 70px !important;
}

.organizationsContainer.grid .organization-field{
    margin: auto;
    text-align: center;
}

.organizationsContainer.grid .projects-popup-toggle{
    margin: auto;
    margin-top: 20px;
}

.organization-field a {
    color: var(--primary-color-70);
}

.organizationsContainer.grid .organization-field.organizationDate {
    position: absolute;
    right: 10px;
}

.organizationsContainer.grid .organization-field.organizationIndex {
    margin: 0px !important;
}

.organizationsContainer.grid .organization-field.organizationName {
    font-size: 1.2rem;
    margin-top: 30px;
}

div#organizationIconContainer {
    min-width: 260px !important;
    overflow: inherit;
}


    /* Felder der Organisation (gemeinsam für beide Ansichten) */
.organization-field {
    flex-shrink: 0;
    margin-right: 10px;
    text-align: left;
    white-space: nowrap;
    font-size: 0.9rem;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.organizationFollowUp.followUp {
    color: red;
}

.chat-date-input.followUp{
    color: red;
}

/* Button für Projekte (bleibt in beiden Ansichten gleich) */
.toggleProjectsButton {
    padding: 8px 12px;
    background-color: #007bff;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    align-self: flex-start; /* Links ausgerichtet */
}


/* Projekt-Container (wird standardmäßig ausgeblendet) */
.singleorganizationProjects {
    display: none;
    margin-top: 10px;
    padding: 10px;
    background-color: #e9ecef;
    border-radius: 5px;
}

/* Popup-Hintergrund */
.projects-popup-container {
   position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

.projects-popup-inner-content {
    min-width: 400px;
    max-height: calc(100% - 80px);
    height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Popup-Inhalt */
.projects-popup-content {
    position: relative;
    background: white;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    min-width: 400px;
    max-height: 90vh;
    overflow-y: auto;
    width: 90vw;
}

.projects-popup-content.followUp{
    border: 5px solid red;
}

div#projectsPopupHeader {
    height: 100%;
    flex: 1;
    overflow: auto;
    display: flex;
    gap: 40px;
    padding: 40px;
    padding-bottom: 20px;
}

div#projectsPopupHeaderGradient {
    width: 100%;
    height: 20px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    position: relative;
    z-index: 1;
}

div#projectsPopupContainer {
    position: relative;
    z-index: 0;
    padding-top: 20px;
    margin-top: -20px;
    min-width: 200px;
    height: auto;
    flex: 0 1 auto;
    max-height: 30vh;
    min-height: 200px;
    overflow: auto;
}

/* Schließen-Button */
.projects-popup-close {
    position: absolute;
    top: 5px;
    right: 5px;
    background: transparent;
    border: none;
    font-size: 30px;
    cursor: pointer;
    font-weight: bold;
    color: #333;
}

/* Dynamischer Projekte-Container */
#projectsPopupContainerInner {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: calc(100% - 40px);
    margin: auto;
    margin-bottom: 40px;
}

/* oranization crm container */

.chat-display {
    flex: 1;
    padding: 10px;
    border-radius: 10px;
    overflow-y: auto;
}

.chat-message {
    margin: 20px 0;
    padding: 10px;
    border-radius: 10px;
    background-color: #444444; /* Nachrichten-Hintergrund */
    position: relative;
}

.chat-message.sent {
    background-color: #dedcdc;
    margin-left: auto;
    width: 90%;
}

#message-0 {
    background-color: #4e4d4d;
    color: var(--third-color);
}

div#message-text-0 {
    -webkit-line-clamp: none;
    margin: 5px;
}

.chat-message-meta {
    position: absolute;
    font-size: 12px;
    width: 100%;
}

span.chat-message-name {
    position: absolute;
    left: -40px;
    top: -10px;
    font-weight: 600;
    background-color: darkgray;
    color: white;
    border-radius: 50%;
    padding: 5px;
    cursor: default;
    width: 25px;
    height: 25px;
    line-height: 16px;
    text-align: center;
}

span.chat-message-datetime {
    position: absolute;
    right: 10px;
    top: -33px;
    font-weight: 400;
}

.chat-input.placeholder {
    color: #aaa; /* Placeholder-Farbe */
}

button.toggle-more {
    background: transparent;
    border: none;
    font-weight: 300;
}

.message-type-icons-chat {
    display: flex;
    gap: 5px;
    position: absolute;
    left: 0px;
    top: -9px;
}

span.chat-message-icon {
    width: 15px;
    height: 15px;
    fill: #c4c0c0;
}

.chat-message-icon.active {
    fill: black;
}

.chat-message-container.blurred {
    filter: blur(2px);
    position: relative;
}

.delete-chat-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.8);
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

.delete-chat-icon svg {
    width: 24px;
    height: 24px;
}






.chat-message-text {
    margin: 5px;
    /*display: -webkit-box; /* Flexibles Layout für Mehrzeilen-Kürzungen */
    display: flex;
    -webkit-box-orient: vertical; /* Textfluss vertikal anordnen */
    overflow: hidden; /* Text, der nicht passt, ausblenden */
    text-overflow: ellipsis; /* Drei Punkte am Ende anzeigen */
    -webkit-line-clamp: 2; /* Maximale Anzahl der sichtbaren Zeilen */
    cursor: pointer; /* Zeigt, dass der Text interaktiv ist */
    transition: all 0.3s ease; /* Für sanfte Übergänge */
    padding: 5px;
    padding-top: 10px;
}

.chat-message-text p {
    padding: 1px;
}

.chat-message-text.expanded {
    -webkit-line-clamp: unset; /* Hebt die Begrenzung der Zeilen auf */
    display: block; /* Ermöglicht die Anzeige von beliebig vielen Zeilen */
    overflow: visible;
}

.edit-message-icon {
    width: 40px;
    height: 40px;
    fill: var(--third-color);
}

.save-icon {
    width: 20px;
    height: 20px;
}

.delete-icon {
    width: 40px;
    height: 40px;
    fill: #f95c5c;
}

.more-icon {
    width: 20px;
    height: 20px;
}

.action-icons {
    opacity: 0;
    transition: 0.5s;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #0000009e;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    gap: 25%;
    align-items: center;
    pointer-events: none;
}

.action-icons.active {
    opacity: 1;
    pointer-events: all;
}

.show-more-option-icons {
    position: absolute;
    right: 10px;
    top: 5px;
}


/* Popup-Container */
.chat-popup-container {
    width: calc(60% - 30px);
    margin-left: auto;
    border-radius: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    padding-left: 10px;
    display: flex;
    flex-direction: column;
    gap: 0px;
    padding-right: 10px;
}

div#chatInputContainer {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    border-radius: 20px;
    padding: 10px;
    margin-bottom: 10px;
}

/* Oberste Zeile mit dem Eingabefeld */
.input-row {
    display: flex;
    align-items: center;
    width: 100%;
}

.chat-input {
    flex: 1;
    border: none;
    outline: none;
    background: none;
    font-size: 14px;
    padding: 10px;
    resize: none; /* Verhindert manuelle Größenänderung */
    max-height: 200px; /* Maximale Höhe */
    overflow-y: auto; /* Scrollbar bei Überlauf */
    border-radius: 10px;
}

/* Placeholder-Stil */
.chat-input::placeholder {
    color: #aaaaaa;
}

/* Untere Zeile mit den Icons und dem Senden-Button */
.icon-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.message-type-icons {
    display: flex;
    gap: 10px;
}

.message-type-icons .icon, .icon-chat-datepicker {
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    fill: lightgrey;
}

.message-type-icons .icon svg, .icon-chat-datepicker svg {
    width: 25px;
    height: 25px;
}

.date-picker-container {
    display: flex;
    gap: 10px;
    margin: auto;
}

.date-picker-container input#chat-date-input {
    border: none;
    font-size: 14px;
    text-align: center;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    display: none; /* Versteckt das Standardsymbol */
}


.message-type-icons .icon.active {
    fill: var(--primary-color);
}

.message-type-icons .icon:hover {
    fill: var(--primary-color);
}

#aiSvgIcon {
    width: 30px;
    height: 30px;
    margin-left: auto;
    margin-top: 15px;
    margin-right: 10px;
    fill: lightgray;
}

#aiSvgIcon.active{
    fill: var(--primary-color);
}

/* Senden-Button */
.send-message-button {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-color);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease, transform 0.2s ease;
    fill: white;
    position: relative;
}

.send-message-button svg{
    width: 40px;
    height: 40px;
}

.send-message-button:hover {
    background-color: var(--secondary-color);
    transform: scale(1.1);
}

/* Spinner mit `::after` erzeugen */
.send-message-button::after {
    content: '';
    position: absolute;
    top: 50%; /* Zentriere den Spinner vertikal */
    left: 50%; /* Zentriere den Spinner horizontal */
    width: 24px; /* Spinner-Breite */
    height: 24px; /* Spinner-Höhe */
    border: 3px solid rgba(255, 255, 255, 0.5); /* Halbtransparenter Rahmen */
    border-top-color: #fff; /* Farbe für die Vorderseite des Spinners */
    border-radius: 50%; /* Macht den Spinner rund */
    transform: translate(-50%, -50%) scale(0); /* Spinner verstecken */
    transition: transform 0.3s ease; /* Animation beim Erscheinen */
    z-index: 1; /* Überlagert den Button-Inhalt */
    animation: none; /* Keine Animation standardmäßig */
}

/* Aktiviert den Spinner */
.send-message-button.loading::after {
    transform: translate(-50%, -50%) scale(1); /* Spinner anzeigen */
    animation: spinSendButton 1s linear infinite; /* Rotation starten */
}

/* Spinner-Animation */
@keyframes spinSendButton {
    from {
        transform: translate(-50%, -50%) rotate(0deg); /* Initialer Zustand */
    }
    to {
        transform: translate(-50%, -50%) rotate(360deg); /* Endzustand */
    }
}

/* Button-Inhalt bei aktiviertem Spinner ausblenden */
.send-message-button.loading {
    fill: transparent; /* Text unsichtbar machen */
}



/* project popup left side informations*/
.projects-popup-details {
    max-width: 40%;
    float: left;
    position: relative;
    overflow-y: auto;
    flex: 1;
}

div#projectPopupDetailsMap {
    height: 25vh;
    width: 98%;
}

input#projects-popup-organization-name {
    font-size: 20px;
    font-weight: 600;
}

input#projects-popup-organization-address {
    font-size: 14px;
    margin-top: 0px;
}

.projects-popup-details h2 {
    font-size: 16px;
}

div#projectPopupDetailsContact {
    margin-top: 30px;
    overflow-y: auto;
    position: relative;
}



/* Felder */
.projects-popup-field-group,
.projects-popup-field-group-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

.projects-popup-field-group label {
    min-width: 80px;
    font-weight: bold;
}

.projects-popup-input {
    background-color: #ffffff;
    border: none!important;
    border-radius: 5px;
    color: #333;
    width: 100%;
    max-width: 300px;
    cursor: pointer;
}

.projects-popup-input:focus,
.projects-popup-input-active {
    outline: 2px solid #4caf50;
    cursor: text;
    background-color: #ffffff;
}


/* raing*/

div#organizationRatingContainer {
    display: flex;
    justify-content: center;
    margin-left: auto;
}

.ratingIcon {
    width: 20px;
    fill: lightgray;
}

.ratingIcon.active{
    fill: var(--primary-color);
}


/* Allgemeiner Container */
.projects-popup-contact {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: calc(100% - 50px);
    padding: 3px 0px;
    position: relative;
    height: 40px;
}

.projects-popup-contact.blurred{
    filter: blur(5px);
    pointer-events: none;
}

.projects-popup-contact.blurredSave{
    filter: blur(5px);
    pointer-events: none;
}

/* Zeilen */
.projects-popup-contact-row {
    display: flex;
    gap: 20px; /* Abstand zwischen den Feldern */
    justify-content: space-between;
    align-items: center;
    height: 40px;
}

/* Felder */
.projects-popup-contact-field {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px; /* Abstand zwischen Label und Input */
    position: relative;
}

.projects-popup-input:focus {
    border-color: #4caf50;
    outline: none;
    background-color: #ffffff;
}

/* Buttons für Telefon und E-Mail */
.projects-popup-contact-button {
    padding: 0px;
    background-color: var(--primary-color);
    fill: var(--third-color);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    width: 25px;
    transition: background-color 0.3s ease;
    margin: auto;
    height: 25px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

button.projects-popup-contact-button svg {
    fill: var(--third-color);
    height: 15px;
    width: 15px;
}

.projects-popup-contact-button:hover {
    background-color: #45a049;
}

/* Popup-Feld (Overlay für Eingabefeld) */
.projects-popup-overlay {
    position: absolute;
    left: 50%;
    top: 50%;
    margin: auto;
    width: 300px;
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 20px;
    transform: translate(-50%, -50%);
}
div#phone-popup {
    width: 200px;
}

.projects-popup-contact-action {
    position: absolute;
    top: 0;
    right: -40px;
    display: flex;
    gap: 5px;
    height: 40px;
}

/* Input-Feld im Popup */
.projects-popup-overlay input {
    flex: 1;
    padding: 5px 10px !important;
    font-size: 14px;
    border: none;
    border-bottom: 2px solid #ddd;
    outline: none;
    transition: border-color 0.3s ease;
    height: 40px;
    max-width: calc(100% - 40px);
    border-radius: 20px;
}

.projects-popup-overlay input:focus {
    border-color: #4caf50;
}

/* Icon-Button im Popup */
.projects-popup-icon-button {
    background-color: var(--primary-color);
    fill: var(--third-color);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease;
    position: absolute;
    right: 0;
    top: 0;
}

.projects-popup-icon-button:hover {
    background-color: #45a049;
}

.projects-popup-address-container {
    position: relative;
    width: 100%;
    max-width: 400px;
}

.projects-popup-input {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 14px;
}

.address-suggestions {
    position: absolute;
    top: 100%; /* Direkt unter dem Input-Feld */
    left: 0;
    right: 0;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    max-height: 200px; /* Maximalhöhe für das Dropdown */
    overflow-y: auto; /* Scrollbar für lange Listen */
    z-index: 1000;
    display: none; /* Standardmäßig ausgeblendet */
    list-style: none;
    margin: 0;
    padding: 0;
}

.address-suggestions li {
    padding: 10px;
    cursor: pointer;
}

.address-suggestions li:hover {
    background-color: #f0f0f0;
}

ul#address-suggestions {
    list-style: none;
    width: 90%;
    background: var(--third-color);
}










/*prject List*/

div#singleProjectsContainer {
    min-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Container für jede Organisation */
.singleorganizationContainer {
    display: flex; /* Flexbox aktivieren */
    flex-direction: row; /* Inhalte nebeneinander */
    align-items: center; /* Vertikale Zentrierung */
    gap: 15px; /* Abstand zwischen den Spalten */
    padding: 10px;
    background-color: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1);
    min-width: 100%;
    flex: 0 0 auto;
}

.organizationB2B {
    border: 1px solid red;
}
.organizationB2BWaiting {
    border: 1px solid var(--primary-color);
}


.projects-popup-toggle {
    padding: 5px 10px;
    font-size: 14px;
    width: 130px;
}



.project-row {
    display: flex;
    flex-direction: row; /* Zeilenlayout */
    align-items: center; /* Vertikale Zentrierung */
    justify-content: space-between; /* Abstand zwischen den Feldern */
    padding: 10px;
    background-color: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1);
}

.project-field {
    flex: 1; /* Gleiche Breite für alle Felder */
    padding: 0 10px;
    text-align: left;
    white-space: nowrap; /* Kein Zeilenumbruch */
    overflow: hidden; /* Überlauf verstecken */
    text-overflow: ellipsis; /* Zeigt "..." bei Überlänge */
}

.project-button {
    flex-shrink: 0; /* Button bleibt unverändert */
    padding: 8px 12px;
    background-color: var(--primary-color);
    color: var(--secondary-color);
    border: 1px solid var(--secondary-color);
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    text-transform: uppercase;
    font-weight: 600;
}

.project-button:hover {
    background-color: white;
    color: #28a745;
}

#project-index {
    max-width: 40px;
}

#project-size, #project-timeStamp {
    max-width: 100px;
}

.organizationName {
    font-weight: 600;
}




.singleorganizationProjects {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    align-items: center;
}*/

.pdLockIconOverview {
    fill: var(--primary-color);
    position: absolute;
    top: 17px;
}

.projectLocked{
	opacity: 0.5;
}

.creationDateOverview {
    position: absolute;
    bottom: 0px;
    right: 10px;
    font-size: 10px;
}

.creationDateProjectOverview {
    position: absolute;
    bottom: 20px;
    font-size: 0.7rem;
}

.singleorganizationContainer h2 {
    text-align: left;
    font-weight: 600;
    font-size: 1rem;
    color: var(--primary-color);
    padding: 0px;
}

.singleorganizationContainer p {
    font-size: 1rem;
    font-weight: 500;
    padding: 0px;
    text-align: left;
}



.singleorganizationProject {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1 1 6rem;
    min-width: 6rem;
    max-width: 6rem;
    border-radius: 50%;
    height: 6rem;
	width: 6rem;
    box-shadow: inset 4px 4px 8px rgba(0, 0, 0, 0.3), inset -20px -20px 40px rgba(255, 255, 255, 0.2);
	background: var(--third-color);
    transition: box-shadow 0.3s ease, transform 0.5s ease;
	margin-left: auto;
    margin-right: auto;
	position: relative;
}



.circular-chart {
    position: absolute;
    margin: 10px auto;
    max-width: 100%;
    max-height: 250px;
}

.circular-chart.deleted {
	border: 2px solid red;
    border-radius: 50%;
}
.circle-bg {
    fill: none;
    stroke: #eee;
    stroke-width: 3.8;
}

.circle {
    fill: none;
    stroke-width: 2.8;
    stroke-linecap: round;
    stroke: var(--secondary-color); /* Farbe der Border */
    transition: stroke-dasharray 0.3s ease;
}

.percentage {
    fill: #666;
    font-size: 0.5em;
    text-anchor: middle;
    alignment-baseline: middle;
}



.singleorganizationProject:hover {
    box-shadow: inset 2px 2px 4px rgba(0, 0, 0, 0.4), 
                inset -2px -2px 4px rgba(255, 255, 255, 0.2);
    transform: scale(0.9);
	cursor: pointer;
}

.singleorganizationProject:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

.singleorganizationProject.active {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
    z-index: 100;
}

.cirlceContainer {
    font-weight: 600;
    font-size: 0.8rem;
}



/* Analyse*/

#energyExpertsCopyright {
    position: absolute;
    z-index: 1;
    bottom: 0;
    font-weight: 600;
    font-size: 0.5rem;
    height: 1rem;
}

#energyExpertsCopyrightLogo {
    background-image: url(/wp-content/plugins/energyExperts/assets/media/energyExpertsLogo.png);
    width: 1rem;
    height: 0.5rem;
    float: right;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 0.5rem ;
}

.mapboxgl-ctrl-attrib-inner {
    font-size: 0.4rem;
    height: 1rem;
}

a.mapboxgl-ctrl-logo{
    height: 1rem;
    width: 4rem;
}

.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl {
    float: left;
    margin: 0 0 5px 5px;
}




.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: all 0.5s ease;
	position: fixed;
    z-index: 1;
}

.popup-content-inner {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    overflow: auto;
    left: 0;
}
.popup-content-inner.expanded {
	/*padding: 40px;*/
}

.popup-content {
    background: var(--primary-color);
    transition: transform 0.5s ease, width 0.5s ease, height 0.5s ease, border-radius 0.5s ease, padding 0.5s ease;
    width: 100%;
    height: 100%;
    cursor: pointer;
    position: absolute;
	color: var(--secondary-color);
    padding: 40px;
}

.popup-overlay.active {
    visibility: visible;
    opacity: 1;
}

.popup-overlay.resizeMap {
    visibility: visible;
    opacity: 0;
}
.popup-overlay.resizeMap .popup-content {
    transform: scale(1);
}

.popup-overlay.active .popup-content {
    transform: scale(1);
}

.popupText.expanded{
	display: none;
}



/*preview*/

.popupText {
    height: 50%;
}

.previewKwhKwp {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -10px;
    color: black;
    font-weight: 600;
}

.previewAlignment {
    float: left;
    padding-left: 10px;
	width: 33%;
}
.previewCity {
    text-align: center;
    padding-right: 10px;
    float: right;
    width: 33%;
}

.previewDate {
    text-align: right;
    padding-right: 10px;
	float: right;
	width: 33%;
}

.previewSize {
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
    margin-top: 10px;
}
.previewTitle {
    width: 100%;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 600;
	    padding-top: 50px;
}

.previewProjectButtonContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.openProjectButton {
    text-align: center;
    border: 2px solid var(--secondary-color);
    display: inline-block;
    padding: 5px 10px;
    min-width: 100px;
    max-width: 80%;
    margin-top: 2vw;
    background-color: var(--secondary-color);
    color: var(--primary-color);
    border-radius: 10px;
	text-transform: uppercase;
    font-weight: 800;
    font-size: 16px;
}



#mapContainerEntry {
	z-index: 0;
    position: relative;
    width: 100%;
	height: 50%;
    overflow: hidden;
}
#mapContainerEntry.active {
    z-index: 2;
}
#mapContainerEntry.expanded {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

#mapContainerEntry.expanded::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: radial-gradient(circle, transparent 10%, rgba(255, 255, 255, 1) 90%);*/
    pointer-events: none; /* Stellen Sie sicher, dass das Overlay keine Mausereignisse blockiert */
    transition: 2s;
}

#mapContainerEntry.expanded.active::after {
    opacity: 0;
}

#mapContainerEntry.expanded.black-overlay::after {
    background: radial-gradient(circle, transparent 40%, rgb(16 36 72) 70%);
}

#mapContainerEntry.expanded.black-overlay.active::after {
    background: none;
}

#customTablePopup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80vw;
    height: 60vh;
    background-color: var(--third-color);
    border: 1px solid #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    z-index: 1000;
    padding: 20px;
    overflow: auto;
    display: flex;
    flex-direction: column;
}

#customTablePopup.hidden {
    display: none;
}

#customTablePopupContent {
    flex: 1;
    overflow: auto;
}

#customTablePopupOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

#customTablePopupOverlay.hidden {
    display: none;
}

#closeTablePopup {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    cursor: pointer;
}

#closeTablePopup svg {
    fill: #000;
    width: 30px;
    height: 30px;
}

#mapEntryWatermarks{
	background-image: url(/wp-content/plugins/energyExperts/assets/media/energyExpertsLogo-T.png);
	width: 100%;
    height: 100%;
	position: absolute;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40%;
    opacity: 0;
    pointer-events: none;
}


#mapEntry {
    width: 100%;
    height: 100%;
    clip-path: ellipse(50% 100% at 50% 100%);
}
#mapEntry.expanded {
    clip-path: none;
    transition: 0.5s ease;
}



#turnTiltContainer{
	opacity: 0;
	z-index: -1;
	transition: 0.5s;
}

#turnTiltContainer.visible{
	opacity: 1;
	z-index: 1;
}


#iconTilt, #iconTurn {
    position: absolute;
    top: 50%;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
	z-index: 1;
}

#iconTilt {
    left: 20px;
}
#iconTilt::after {
    top: 20vh;
}

#iconTurn {
    right: calc(50% - 20vw);
    top: 30px;
}
#iconTurn::after {
    top: -7px;
    left: calc(20vw + 80px);
}

.slider-container-tilt-turn {
    position: relative;
    height: 30px;
}

#iconTilt .slider-container-tilt-turn {
    width: 30px;
    height: 40vh;
}
#iconTurn .slider-container-tilt-turn {
    width: 40vw;
    height: 20px;
}

.slider-background-tilt-turn {
    position: absolute;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--secondary-color);
    z-index: -1;
    top: 50%;
    transform: translateY(-50%);
	border-radius: 5px;
}

#iconTilt .slider-background-tilt-turn {
    width: 4px;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
#iconTurn .slider-background-tilt-turn {
    margin-top: 6px;
}


input#turnSlider {
    width: 100%;
    height: 4px;
    background-color: var(--secondary-color);
}

.slider-container-tilt-turn input[type=range]::-webkit-slider-thumb {
            -webkit-appearance: none;
            height: 24px;
            width: 24px;
            background: var(--primary-color);
            cursor: pointer;
            position: relative;
            z-index: 3;
        }

        .slider-container-tilt-turn input[type=range]::-moz-range-thumb {
            height: 24px;
            width: 24px;
            background: var(--primary-color);
            border-radius: 50%;
            cursor: pointer;
            position: relative;
            z-index: 3;
        }

       .slider-container-tilt-turn input[type=range]::-ms-thumb {
            height: 24px;
            width: 24px;
            background: var(--primary-color);
            border-radius: 50%;
            cursor: pointer;
            position: relative;
            z-index: 3;
        }



input#tiltSlider {
    transform: rotate(90deg);
    width: 40vh;
    position: absolute;
    left: -20vh;
    top: calc(30vh - 140px);
    height: 4px;
    background-color: var(--secondary-color);
}

.mapControls {
    position: absolute;
    opacity: 0;
    top: 100px;
    right: 10px;
    z-index: -5;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    display: flex;
    fill: var(--secondary-color);
    stroke: var(--secondary-color);
    padding: 20px 10px;
    background-color: var(--primary-color);
    border-radius: 10px;
}

#mapControlsTopRight.visible {
	opacity: 1;
	z-index: 1;
	
}

#areaDiv {
    position: absolute;
    top: 200px;
    left: 50%;
	transform: translateX(-50%);
    background-color: var(--primary-color);
    padding: 10px 20px;
	opacity: 0;
	z-index: -1;
	font-weight: 700;
    font-size: 25px;
    color: var(--secondary-color);
    border-radius: 5px;
    box-shadow: 0 20px 30px rgb(0 0 0 / 21%);
	pointer-events: none;
}

#areaDiv.active {
    opacity: 1;
	z-index: 0;
}

.distanceDivFixed, .distanceDivVar{
	color: var(--primary-color);
	font-weight: 700;
}


#iconTiltTurn {
	transition: 0.5s;
    width: 3rem;
    height: 3rem;
    cursor: pointer;
}


 #resizeMap {
            margin-top: 30px;
        }
        .resizeMapIcon {
            width: 1rem;
            height: 1rem;
            cursor: pointer;
            margin-bottom: 20px;
        }


div#measureTool {
    width: 1.5rem;
    height: 1.5rem;
}

#analyse-container{
	position: absolute;
	top: 0;
	min-height: 100vh;
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	left: 0px;
	display: none;
}

#analyse-container.visible{
	opacity: 1;
	display: unset;
}


.pd-container {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: var(--third-color);
   transition: left 1s ease, z-index 0s 1s; 
    z-index: -1; /* Standardmäßig hinter anderen Elementen */
	display: none;
}

#grid-connection-container.visible {
    left: 0;
    z-index: 3;
	transition: left 1s ease;
    pointer-events: none;
}

#grid-connection-container.hidden {
    left: -100%;
    z-index: -1;
    transition: left 1s ease, z-index 0s 1s; /* Delay z-index change */
}


#grid-connection-container {
    background: none;
}

.pdDetailsContainer {
    width: 100%;
    height: 100%;
}

.pdDetailsContainerInner {
    padding-top: 130px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.pdHeader {
    font-size: 30px;
    font-weight: 600;
	text-transform: uppercase;
	color: var(--primary-color);
}

.grid-connection-button-Box {
    background-color: var(--secondary-color);
	color: var(--primary-color);
    border-radius: 10px;
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
    width: 350px;
    height: 70px;
    margin-top: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 700;
	position: relative;
	transition: 0.5s;
}


.grid-connection-button-Box::before {
    content: '';
    background-image: url(/wp-content/plugins/energyExperts/assets/media/lock.png);
    background-size: 30px;
    border-radius: 10px;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: #00000063;
    background-position: center;
}



        .slider-container {
			opacity: 1;
			transition: 0.5s;
            position: absolute;
			width: 80vw;
			z-index: -1;
        }
#time-slider-container.active, #month-slider-container.active {
	z-index: 2;
}

#time-slider-container{
	left: 10vw;
	top: 60px;
}

#month-slider-container{
	left: 10vw;
	bottom: 6rem;
}

        .slider-container input[type=range] {
            -webkit-appearance: none;
            background: transparent;
            position: absolute;
            z-index: 1;
			width: 100%;

        }

        .slider-container input[type=range]::-webkit-slider-thumb {
            -webkit-appearance: none;
            height: 1rem;
            width: 1rem;
            background: var(--primary-color);
            border-radius: 50%;
            cursor: pointer;
            position: relative;
            z-index: 3;
        }

        .slider-container input[type=range]::-moz-range-thumb {
            height: 1rem;
            width: 1rem;
            background: var(--primary-color);
            border-radius: 50%;
            cursor: pointer;
            position: relative;
            z-index: 3;
        }

       .slider-container input[type=range]::-ms-thumb {
            height: 1rem;
            width: 1rem;
            background: var(--primary-color);
            border-radius: 50%;
            cursor: pointer;
            position: relative;
            z-index: 3;
        }

       .slider-container input[type=range]::-webkit-slider-runnable-track {
            height: 8px;
            background: transparent;
            cursor: pointer;
            border-radius: 5px;
        }

       .slider-container input[type=range]::-moz-range-track {
            height: 8px;
            background: transparent;
            cursor: pointer;
            border-radius: 5px;
        }

       .slider-container input[type=range]::-ms-track {
            height: 8px;
            background: transparent;
            cursor: pointer;
            border-radius: 5px;
            border-color: transparent;
            color: transparent;
        }

       .slider-container input[type=range]::-ms-fill-lower {
            background: transparent;
        }

       .slider-container input[type=range]::-ms-fill-upper {
            background: transparent;
        }

        .tick-container {
           
			height: 0.5rem;
			margin-top: 5px;
        }

		.timeMonthLabel {
			display: block;
    		margin-top: 0.3rem;
			width: 100%;
    		text-align: center;
			color: #8a8585;
    		font-weight: 700;
            font-size: 0.7rem;
		}

        .tick {
            position: absolute;
            width: 0.03rem;
            height: 0.5rem;
            background: var(--primary-color);
            opacity: 0.8;
        }

        .tick-label {
            position: absolute;
            top: -30px;
            width: 1rem;
            text-align: center;
            transform: translateX(-50%);
            font-size: 0.8rem;
            color: black;
        }

        .tick-container .tick.active {
            background: var(--primary-color);
        }

        .tick-container .tick-label.active {
            color: var(--primary-color);
        }

        .selected-value {
            position: absolute;
            top: -40px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 0.8rem;
            color: var(--primary-color);
            white-space: nowrap;
            z-index: 3;
        }


/*PD SLider*/

.pd-slider-container {
    width: 100%;
    position: absolute;
    top: 30px;
    overflow: auto;
    opacity: 0;
    transition: 0.5s;
	pointer-events: none;
	z-index: 4;
}

#pd-slider-container.visible {
    opacity: 1;
	pointer-events: all;
}

.pd-icon-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    position: relative;
   /* animation: slideIn 2s forwards;*/
    min-width: 1000px;
	text-transform: uppercase;
    font-size: 0.7rem;
}

.iconBoxPd {
    flex-grow: 1;
    position: relative;
    margin: 0px -9px;
}

.iconButtonPd {
    width: 100%;
    height: 3rem;
    background-color: var(--secondary-color);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--primary-color);
    font-weight: bold;
    clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 20px 50%);
    opacity: 1;
    position: relative; /* Ensure position relative for after element */
}

#iconPdButtonPd1 {
    clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0px 50%);
}

#iconPdButtonPd8 {
    clip-path: polygon(0 0, calc(100% - 0px) 0, 100% 50%, calc(100% - 0px) 100%, 0 100%, 20px 50%);
}

.iconButtonPd.active {
    background-color: var(--primary-color);
	color: var(--secondary-color);
    opacity: 1;
}

.iconButtonPd.active.clicked {
 	background-color: var(--primary-color);
    
}

.iconButtonPd.disabled {
    background-color: var(--secondary-color-50);
    pointer-events: none;
    color: var(--primary-color);
}

.iconButtonPd.disabled .label {
    opacity: 0.5;
}
.pdLockIcon {
    margin-right: 5px;
    fill: var(--primary-color);
}



@keyframes slideIn {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0);
    }
}






/*box */

.box-container{
	display: flex;
	position: absolute;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    min-width: 300px;
    top: 140px;
    margin-left: 20px;
    margin-right: 20px;
	color: var(--primary-color);
}
.boxContent{
	opacity: 1;
	transition: 0.25s;
	height: calc(95vh - 290px);
    overflow: auto;
}

#generalDetails {
    padding: 1rem;
}



.box{
	position: relative;
	flex: 1 1 250px;
	border-radius: 20px;
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
	background-color: var(--third-color);
	transition: opacity 0.5s ease-in-out;
	height: calc(95vh - 240px);
    overflow: auto;
	
}
#box1 {
	opacity: 1;
	max-width: 400px;
	background-color: var(--third-color);
    min-width: 300px;
    width: 33vw;
    overflow: hidden;
}

#box1Header {
    margin-bottom: 30px;
    text-align: center;
	position: relative;
}

#box1 .indicatorSend {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 10px;
    height: 10px;
    background-color: var(--primary-color);
    border-radius: 50%;
}
.roiDashboard{
    width: 80%;
    margin-left: 10%;
    min-height: 150px;
    position: relative;
    height: 15vw;
    max-height: 200px;
    margin-bottom: 30px;
}
.roi-chart-container {
    width: 20vh;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

#roi-pointer {
    width: 100%;
    bottom: 0;
}
#roi-text {
    position: absolute;
    left: 50%;
    top: 60%;
    transform: translate(-50%, 0%);
    font-weight: 600;
}

#amort-text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, 0%);
    font-weight: 600;
}

#box1Content p {
    width: calc(100% - 20px);
	float: left;
	padding-bottom: 0px;
	line-height: 20px;
}  

div#contactContainer {
    margin-top: 40px;
}

span.detailBoxOneItem {
    margin-bottom: 10px;
}

.detailBoxOneItemContainer {
    width: 100%;
    float: left;
    line-height: 20px;
    font-size: 0.9rem;
    position: relative;
}

.detailBoxOneItemSvgContainer {
    width: 10px;
    fill: var(--third-color);
    position: absolute;
    right: 10px;
}

.projectTitleSvgContainer {
    width: 10px;
    position: absolute;
    right: 10px;
    top: 0;
}

span.detailBoxOneItem {
    max-width: 150px;
    display: block;
    float: left;
	cursor: pointer;
}
span.detailBoxOneItemValue {
    margin-right: 30px;
	font-weight: 550;
    float: right;
}

.detailBoxOneItemValue.blurred {
    filter: blur(5px);
}


#address .detailBoxOneLabelSub {
    margin-left: 0px;
    margin-bottom: 50px;
}

.dummyData {
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
	flex-direction: column;
}

.detailBoxLock {
    fill: var(--primary-color);
	font-size: 12px;
}


#createInfoPdfButton {
            margin-left: calc(50% - 4rem);
            background-color: var(--primary-color);
            color: var(--secondary-color);
            padding: 0px 20px;
            clip-path: polygon(0% 0%, 100% 0%, 80% 100%, 20% 100%);
            width: 8rem;
            text-align: center;
            font-weight: 600;
            height: 30px;
            transition: height 0.5s ease, clip-path 0.5s ease, box-shadow 0.5s ease;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
	cursor: pointer;
	margin-top: -1px;
    pointer-events: all;
        }

        #createInfoPdfButton:hover {
            height: 30px; /* End-Höhe beim Hover */
            clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 15% 100%);
        }




.pdfLockIcon {
    fill: var(--secondary-color);
}



.pdf-button-container {
    position: absolute;
    top: 0px;
    width: 100%;
    z-index: 1;
    left:0px;
    pointer-events: none;
}

#createInfoPdfButton:hover {
    background-color: #005177;
}

#pdfDropdown {
    position: relative;
    width: 100%;
    border-radius: 3px;
    background-color: var(--primary-color);
    border-radius: 20px 20px 0px 0px;
    max-height: 0; /* Startzustand: Höhe ist 0 */
    overflow: hidden; /* Verhindert das Anzeigen des Inhalts */
    transition: max-height 0.3s ease-out, padding 0.3s ease-out; /* Animation */
	color: var(--third-color);
    pointer-events: all;
}

#pdfDropdown a {
    color: var(--secondary-color);
}

/* Wenn das Dropdown sichtbar ist */
#pdfDropdown.open {
    max-height: 500px; /* oder eine andere maximale Höhe, die für den Inhalt ausreichend ist */
    padding: 30px; /* Sicherstellen, dass das Padding zurückkommt */
    transition: max-height 0.5s ease-in, padding 0.5s ease-in; /* Animation */
}

#pdfFilesTable {
    width: 100%;
    border-collapse: collapse;
	border: none;
	margin-top: 20px;
}

#pdfFilesTable th {
    color: var(--secondary-color);
    font-size: 16px;
}

#pdfFilesTable tr td{
	border-bottom: 0.5px solid var(--third-color);
	border-top: 0.5px solid var(--third-color);
}

#pdfFilesTable th, #pdfFilesTable td {
    padding: 8px;
    text-align: left;
}

#pdfFilesTable tbody tr:hover {
    transform: scale(1.05);
	transition: 0.3s;
}

#closePdfContainer{
    z-index: 1;
    width: 200px;
    margin-left: auto;
    margin-right: auto;
}

#closePdfContainer svg path {
    fill: var(--secondary-color);
    stroke: var(--secondary-color);
}





#address p{
	line-height: 30px;
}

#connectionsContainer .detailBoxOneItem {
    margin-bottom: 10px;
}

#iconMail {
    margin-right: 50px;
}

#iconPhone {
    margin-right: 24px;
}

#resendInvitation svg {
    width: 15px;
    height: 15px;
    fill: var(--secondary-color);
}

.editIcon {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 5px;
    right: 0px;
    background-color: var(--primary-color);
    border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	fill: var(--secondary-color);
	stroke: var(--secondary-color);
}

#connectionDetail1 span.detailBoxOneLabelSub {
    width: 60px;
}



.detailBoxOneItemSubContainerDetails {
    display: flex;
    flex-direction: column;
	 margin-top: 20px;
}

.detailBoxOneItemSubContainer {
    display: flex;
    align-items: center;
    margin-bottom: 10px; /* Optional: Abstand zwischen den Zeilen */
	flex-wrap: wrap;
	width: 100%;
    min-height: 20px;
}

#addressDisplay {
    position: relative;
}


.contactDetailBoxItemSubContainer {
    position: relative;
    margin-bottom: 15px;
}

.contactDetailBoxInput {
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 12px;
    box-sizing: border-box;
}

.contactDetailBoxInput::placeholder {
    color: #aaa;
    font-size: 14px;
}

.contactDetailBoxInput:focus {
    border-color: #007bff;
    outline: none;
}

.disabled-email {
    background-color: #e0e0e0 !important;
    cursor: not-allowed;
    opacity: 0.5;
}

.tooltip-container {
    position: relative;
    display: inline-block;
	width: 100%;
}

.tooltip-text {
    visibility: hidden;
    width: 100px;
    background-color: var(--primary-color);
    color: var(--secondary-color);
    text-align: center;
    padding: 5px 10px;
    border-radius: 5px;
    border: 2px solid var(--secondary-color);
    position: absolute;
    z-index: 1;
    bottom: 115%; /* Position über dem Tooltip-Container */
    left: 50%;
    margin-left: -50px; /* Zentrieren */
    
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip-container:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}


/*.contactSaveButton {
    background-color: var(--secondary-color);
    color: var(--primary-color);
    padding: 5px 10px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    margin-top: 10px;
    float: right;
    margin-right: 10px;
}


.contactSaveButton:hover {
    background-color: var(--primary-color-70);
	 color: var(--secondary-color);
}*/

.contactSaveButton {
    font-size: 12px;
    margin-left: auto;
    margin-right: 10px;
    padding: 5px 10px;
}

.salutationForm {
    padding: 0px;
    margin-left: 10px;
	width: calc(100% - 20px) !important;
	margin-top: 10px;
}

.contactDetailBoxItemSubContainer {
    position: relative;
    margin-bottom: 15px;
    width: calc(50% - 20px);
    float: left;
    margin-left: 10px;
	margin-right: 10px;
}

.contactDetailBoxItemSubContainer input {
    width: 100%;
}



.iconDetailBoxOneSub {
            position: absolute;
            right: 0px;
            cursor: pointer;
            width: 20px;
            height: 20px;
            background-size: 10px;
			background-repeat: no-repeat;
			background-position: center;
			background-color: var(--primary-color);
			border-radius: 50%;
			transition: 0.5s;
			display: flex;
			justify-content: center;
			align-items: center;
			fill: var(--secondary-color);
        }

.iconDetailBoxOneSub svg {
    pointer-events: none;
}

 .detailBox {
    opacity: 0;
    transition: 0.5s ease-out;
    width: 100%;
    float: right;
    background: var(--primary-color);
    border-radius: 10px;
    color: var(--secondary-color);
    margin-bottom: 10px;
    max-height: 0px;
    position: relative;
    font-size: 12px;
     overflow: auto;
}


        .detailBox.open {
            opacity: 1;
            max-height: 500px;
			padding: 10px 5px;
        }


.detailBoxOneLabelSub {
    min-width: 150px; /* Diese Breite kannst du anpassen */
    text-align: left;
    font-weight: bold; /* Optional: Um das Label hervorzuheben */
    padding-right: 10px; /* Abstand zwischen Label und Value */
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
}

.detailBoxOneLabelSubSub {
    margin-left: 10px;
}

.disclaimerSub {
    color: var(--third-color);
    font-weight: 300;
    font-size: 10px;
}

.detailBoxOneValueSub {
	color: var(--third-color);
    font-size: 0.7rem;
    min-width: 80px;
    width: calc(20px + 30%);
}

.detailBoxOneValueSub a {
    color: inherit; /* Optional: Um die Linkfarbe beizubehalten */
    text-decoration: none; /* Optional: Entfernt die Unterstreichung bei Links */
}

@media (max-width: 768px) {
    .detailBoxOneItemSubContainer {
        flex-direction: column; /* Bei kleineren Bildschirmen Labels und Werte untereinander anordnen */
        align-items: flex-start;
    }

    .detailBoxOneLabelSub {
        padding-right: 0;
    }

    .detailBoxOneValueSub {
        width: 100%;
    }
	
	#connectionDetail1 span.detailBoxOneLabelSub {
    width: 100%;
}
}




/*span.detailBoxOneLabelSub {
    min-width: 50px;
    display: block;
    float: left;
    width: 50%;
}

span.detailBoxOneValueSub {
    min-width: 100px;
    width: calc(50% - 5px);
    text-align: right;
    display: block;
    float: right;
    max-width: calc(100% - 60px);
	color: var(--third-color);
}

.subLoanHeader .detailBoxOneLabelSub {
    float: none;
    font-weight: 700;
}*/


#box2 {
	display: none;
    opacity: 0;
	max-width: calc(100% - 400px);
}
.boxHeader {
    font-size: 1rem;
    font-weight: bolder;
    margin-top: 30px;
    margin-bottom: 0px;
    color: var(--primary-color);
	text-transform: uppercase;
}

.boxHeader svg {
    fill: var(--primary-color);
}

#box2Header{
	 margin-top: 100px;
	text-align: left;
	color: var(--text-color);
}


.boxLeftImage{
	height: calc(95vh - 240px);
	width: 70%;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}



.boxright {
    position: absolute;
    top: 0px;
    left: 50%;
    width: 50%;
    height: 100%;
	overflow: auto;
}

.companyLogo {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 150px;
    height: 50px;
    background-position: top left;
    background-size: contain;
    background-repeat: no-repeat;
}

#brandingLogo {
    background-image: var(--logo-url);
    height: 30px;
}

.construction-details {
    color: var(--text-color);
	position: relative;
	overflow: auto;
    min-height: 600px;
    max-width: 400px;
}

.dropDownContainer {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
}

.fixedValueContainer {
    display: flex;
    gap: 10px;
    padding: 10px 10px 10px 0px;
}

.boxright select {
    padding: 10px;
    border: none;
    appearance: none; /* Entfernt das Standardstyling des Select-Elements */
    background: transparent;
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px; /* Größe des Pfeils */
    color: black; /* Farbe des Textes */
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
	padding-right: 25px;
    width: 150px;
}

.boxright select:focus {
    outline: none;
}

.select-arrow {
    width: 30px;
    height: 30px;
    pointer-events: none;
    margin-left: -30px;
}

.select-arrow svg path {
    fill: var(--primary-color);
}

.hardwarelockIcon {
    display: flex;
    left: 20%;
    height: 100%;
    position: absolute;
    width: 100%;
    top: 0;
    align-items: center;
    fill: var(--primary-color);
	flex-direction: column;
    transform: translate(-50%, 50%);
    gap: 10px;
    font-size: 16px;
}



.readMoreConstruction {
    display: inline-block;
    padding: 10px 20px;
    margin-top: 30px;
    font-size: 16px;
    /*color: var(--secondary-color);*/
	color:var(--third-color);
    border: none;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s, background-color 0.2s;
    cursor: pointer;
	text-transform: uppercase;
}

.readMoreConstruction:hover {
    background-color: #0056b3;
    transform: translateY(-2px);
}

.readMoreConstruction:active {
    transform: translateY(1px);
}

#box3container, #box4container{
	padding: 20px;
	padding-bottom: 0px;
}

.organizationIcon{
	z-index: 1;
    position: absolute;
    top: 10px;
    left: 50px;
    width: 1.8rem;
    height: 1.8rem;
    border: 2px solid var(--primary-color);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
	fill: var(--primary-color);
	opacity: 1;
	transition: 0.5s;
	
}

.organizationIcon.active{
	opacity: 0;
}

/*delete Popup styling*/

div#deleteProjectButton {
    left: 10px;
}

#deleteProjectButton svg {
    width: 80%;
}

.deleteEntryOverlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 999999;
            justify-content: center;
            align-items: center;
        }

        .deleteEntryContent {
            background: var(--third-color);
            padding: 20px;
            border-radius: 5px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            text-align: center;
        }

        .deleteEntryButton, .cancelEntryButton {
            margin: 10px;
            padding: 10px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
        }

        .deleteEntryButton, .cancelEntryButton {
            background-color: #ccc;
            color: black;
        }


.generalorganizationDetails {
    padding: 20px 20px 20px 40px;
}


.detailBoxOneItemSubContainer a {
    color: rgb(255 255 255);
    font-weight: 600;
}





.closeBox{
	z-index: 1;
	position: absolute;
	top: 10px;
	right:10px;
	width: 20px;
	height: 20px;
	
}
.closeBox svg{
	 pointer-events: none;
}
   

.closeBox svg path {
    fill: var(--third-color);
    stroke: var(--third-color);
}

#closeBox1 svg path, #closeBox2 svg path {
    fill: var(--primary-color);
    stroke: var(--primary-color);
}


#closePopupButton {
	z-index: -1;
	transition: 0.5s;
}

#closePopupButton.visible {
    top: 0px;
	right: 0px;
	z-index: 99;
	background-color: #800000;
    height: 30px;
    width: 30px;
}

#closePopupButton:hover {
	transform: scale(1.05);
}


#box3Header{
	margin-bottom: 10px;
	text-align: center;
}

#box4Header {
    text-align: center;
}




/*edit values*/

/* Styling für das Input-Feld im readonly-Zustand (sieht wie ein <p>-Tag aus) */
.read-only-input {
  border: none!important;
  background: none!important;
  cursor: pointer; /* Verhindert, dass das Input-Feld bearbeitet werden kann */
	padding: 5px;
}

/* Entfernt die Fokussier-Border */
.read-only-input:focus {
  outline: none;
}

/* Styling für das Input-Feld im aktiven Zustand (sieht wie ein normales Input-Feld aus) */
.read-only-input.active {
  border: 1px solid var(--primary-color)!important; /* Füge eine sichtbare Umrandung hinzu */
  background: var(--third-color)!important;
  pointer-events: auto; /* Ermöglicht Bearbeitung im aktiven Zustand */
	color: var(--primary-color) !important;
}

#saveValueButton {
    position: sticky;
    bottom: 0px;
    width: 100%;
    height: 50px;
    background-color: var(--secondary-color);
    border: none;
    color: var(--primary-color);
    font-weight: 600;
    font-size: 22px;
}




#projectTitleInput{
	text-align: center;
	width: calc(100% - 50px);
}

.darkStyleInputContainer {
    color: var(--third-color) !important;
    font-size: 0.7rem;
    min-width: 80px;
    width: calc(20px + 30%);
}

.listContainer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out; /* Hier wird die Übergangszeit und der -typ gesetzt */
}

.listContainer.active {
    max-height: 500px; /* Setze dies auf eine Höhe, die groß genug für dein Inhaltssein */
}

.workCostsDropDownIcon {
    width: 10px;
    height: 10px;
    fill: var(--third-color);
    margin-left: 5px;
}

.inputContainerDiv {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 5px;
    margin-bottom: 5px;
}

.inputContainerDivInput {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--secondary-color);
}

.editSplit1 {
    width: 100%;
}

.editSplit2 {
    width: 100%;
}

.editSplit3 {
    width: 100%;
}
/* main Icons */


 .iconToolTip::after {
    content: attr(data-tooltip);
    position: absolute;
     top: -40px;
    transform: translateX(-50%);
    background-color: var(--third-color);
    color: #8a8585;
    padding: 5px;
    border-radius: 3px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
    margin-bottom: 5px;
    z-index: 1000;
	font-size: 12px;
}

.iconToolTip:hover::after {
    opacity: 1;
}

.iconToolTip90::after {
    content: attr(data-tooltip);
    position: absolute;
    top: 25%;
    left: 60%;
    transform: translateY(-50%);
    background-color: var(--third-color);
    color: #8a8585;
    padding: 5px;
    border-radius: 3px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
    margin-left: 5px; /* Abstand zwischen Tooltip und dem Element */
    z-index: 1000;
}

.iconToolTip90:hover::after {
    opacity: 1;
}


.icon-container{
	opacity: 0;
	position: absolute;
    transition: 0.5s;
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
    width: calc(100vw - 40px);
    bottom: 1.5rem;
    margin-left: 20px;
    margin-right: 20px;
	pointer-events: none;
	font-weight: 600;
    font-size: 20px;
    z-index: 3;
}

.icon-container.active{
	opacity: 1;
	transition: 0.5s;
	pointer-events: all;
}


.iconBox, .iconBoxMap{
	flex: 1 1 auto;
	position: relative;
}

.iconButton, .iconButtonMap{
    width: 5vw;
    height: 5vw;
    min-width: 40px;
    min-height: 40px;
    max-width: 70px;
    max-height: 70px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px;
	background-color: var(--secondary-color);
	border-radius: 50%;
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
	margin-left: auto;
    margin-right: auto;
	transition: 0.5s;
	display: flex;
    justify-content: center;
    align-items: center;
    fill: var(--primary-color);
    stroke: var(--primary-color);
	position: relative;
	z-index: 3;
}

#iconButtonMap2.active{
    fill: var(--primary-color);
    stroke: var(--primary-color);
    background-color: var(--secondary-color);
}

#iconButtonMap3.active{
    fill: var(--secondary-color);
    stroke: var(--secondary-color);
    background-color: #800000;
}

.iconButtonMap.inactive{
    opacity: 0;
    pointer-events: none;
}

#iconButtonMap5{
    background-color: #800000;
}




.iconButtonMap:hover {
    transform: scale(1.1);
}

.iconButton svg, .iconButtonMap svg {
    height: 1.5rem;
    width: 1.5rem;
}

#iconButtonMap1 svg, #iconButtonMap2 svg {
    height: 4rem;
    width: 4rem;
}

.iconButton.active, .iconButtonMap.active{
	background-color: var(--primary-color);
	fill: var(--secondary-color);
    stroke: var(--secondary-color);
}



.iconButton:hover {
	transform: scale(1.1);
}

/*map Icons*/
.spinner {
      width: 40px;
      height: 40px;
      animation: spin 1s linear infinite;
    }

.spinner .path {
      stroke: var(--primary-color);
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }







/*map settings*/

.mapSettingsContainer {
    position: absolute;
    top: -120px;
    left: 29.5%;
    transform: translateX(-50%);
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px;
    opacity: 0;
    z-index: -1;
    transition: opacity 0.3s ease, z-index 0s ease 0.3s;
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
	pointer-events: none;
}

.mapSettingsContainer.active {
    opacity: 1;
    z-index: 10;
    transition: opacity 0.3s ease;
	pointer-events: all;
}

.mapSettingsItem {
	flex: 1 1 5rem;
    width: 5rem;
    box-sizing: border-box;
	transition: 0.5s;
}

.mapSettingsItem.inactive{
	opacity: 0;
	pointer-events: none;
}

.mapSettingsSliderContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.circular-slider {
    position: relative;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.circular-slider .handle {
    position: absolute;
    width: 15px;
    height: 15px;
    background-color: var(--secondary-color);
    border-radius: 50%;
    cursor: pointer;
	z-index: 1;
}


.center-icon{
	position: absolute;
    background: var(--secondary-color);
	color: var(--primary-color);
    border-radius: 50%;
    width: 3rem;
    height: 3rem;
	fill: var(--primary-color);
    stroke: var(--primary-color);
}

.center-icon svg {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
}

.buttonDegree {
    width: 5rem;
    height: 2.5rem;
    position: absolute;
	background-size: 10px;
	background-repeat: no-repeat;
	opacity: 0.6;
}
.buttonDegree:hover {
	opacity: 1;
}

.buttonPlus{
	top: 0;
	border-bottom: 1px solid var(--secondary-color);
}

.buttonPlus svg{
	position: absolute;
    top: 3px;
    left: calc(50% - 3px);
	fill: var(--secondary-color);
    stroke: var(--secondary-color);
	
}

.buttonMinus{
	bottom: 0;
}

.buttonMinus svg {
    position: absolute;
    bottom: 3px;
    left: calc(50% - 3px);
	fill: var(--secondary-color);
    stroke: var(--secondary-color);
}

.changeMwpLabel {
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translate(-50%, 0px);
    font-size: 8px;
    line-height: 8px;
}

#changeMwpInputId {
    width: 40px;
    background-color: rgba(256, 256, 256, 0.3);
    border: 1px solid var(--primary-color);
    border-radius: 5px;
    text-align: center;
}



.buttonDegreeBackground{
	background-color: var(--primary-color);
	border-radius: 50%;
	width: 5rem;
	height: 5rem;
	transition: 0.5s;
}

.axisLockIcon {
    fill: var(--primary-color);
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
}


.workingWidth-buttons {
    position: relative;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
	transition: 0.5s;
}




#boundaryAdjustment{
	display: flex;
    justify-content: center;
    align-items: center;
	background-color: var(--secondary-color);
	fill: var(--primary-color);
    stroke: var(--primary-color);
}

#boundaryAdjustmentBackground.active{
	background-color: var(--secondary-color);
}

/*map planning*/

.mapPlanningContainer {
    position: absolute;
    top: -120px;
    left: calc(10% + 112px);
    transform: translateX(-50%);
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px;
    opacity: 0;
    z-index: -1;
    transition: opacity 0.3s ease, z-index 0s ease 0.3s;
	display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start;
	pointer-events: none;
}

.mapPlanningContainer.active {
    opacity: 1;
    z-index: 10;
    transition: opacity 0.3s ease;
	pointer-events: all;
}


.mapPlanningItem {
    position: relative;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mapPlanningIcon {
    position: relative;
    width: 5rem;;
    height: 5rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.center-value {
    position: absolute;
    font-size: 0.8rem;
    background: var(--secondary-color);
	color: var(--primary-color);
    border: 1px solid #ccc;
    border-radius: 50%;
    width: 3rem;
    height: 3rem;
    text-align: center;
    line-height: 3rem;
}
.center-value svg {
    width: 2rem;
    height: 2rem;
}


.buttonPlanningBackground{
	background-color: var(--primary-color);
	border-radius: 50%;
	width: 5rem;
	height: 5rem;
	transition: 0.5s;
}


/* Construction Icon */


.iconBoxConstruction{
	flex: 1 1 40px;
	height: 40px;
	pointer-events: all;
}



.iconButtonConstruction{
	display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--secondary-color);
	border: 3px solid var(--secondary-color);
	fill: var(--primary-color);
    stroke: var(--primary-color);
	width: 40px;
	height: 40px;
	border-radius: 50%;
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
	transition: 0.5s;
	margin-left: auto;
    margin-right: auto;
}


.iconButtonConstruction:hover {
	transform: scale(1.1);
}

#icon-container-construction {
    opacity: 1;
    z-index: 0;
    width: 100%;
    margin-left: 0px;
    bottom: 0px;
    pointer-events: all;
    padding-bottom: 3vh;
    padding-top: 50px;
    background: linear-gradient(0deg, var(--third-color) 0%, var(--third-color) 30%, var(--third-color) 50%, transparent 100%);
	pointer-events: none;
}

.iconButtonConstruction.active{
	background-color: var(--primary-color);
	border: 3px solid var(--primary-color);
	fill: var(--secondary-color);
    stroke: var(--secondary-color);
}



/* box 2 */

.box2Container {
    overflow: auto;
}

.chart-container {
    width: 100%;
	min-height: 40vh;
}

.chart-canvas {
    width: 100%;
    height: 40vh;
	max-height: 40vh;
}

.chartlockIcon {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 40vh;
    position: absolute;
    width: 100%;
    fill: var(--primary-color);
	flex-direction: column;
    gap: 10px;
    font-size: 16px;
	z-index: 1;
}

/* Bilanz toggle buttons */

.toggle-buttons {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    gap: 5px;
}

.tab {
    padding: 5px;
    background-color: var(--primary-color);
    border: 1px solid #ccc;
    cursor: pointer;
    transition: background-color 0.3s;
    text-align: center;
    flex-grow: 1;
    position: relative;
	color: var(--secondary-color);
	border-radius: 10px;
}

.tab.active {
    background-color: var(--secondary-color);
    color: var(--primary-color);
    font-weight: bold;
}

.tab:hover {
    background-color: var(--primary-color-50);
	color: rgb(37, 55, 69);
}

.tab[title]:hover:after {
    content: attr(title);
    position: absolute;
    background: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    top: -40px; /* Positioniere den Tooltip über der Box */
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    z-index: 10;
    pointer-events: none; /* Tooltip nicht klickbar */
}

.tab[title]:hover:before {
    content: '';
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #333 transparent;
}




/*Payment Styling */

.paymentOverlay {
    background-color: black;
    width: 100vw;
    height: 100vh;
    position: absolute;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}

.paymentOverlay.active {
    opacity: 0.8;
    visibility: visible;
}


#paymentNavigationBar {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1px;
}

.paymentNavItem {
    cursor: pointer;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: center;
    flex: 1;
    background-color: #ece7e7;
}

.paymentNavItem:hover, .paymentNavItem.active {
    background-color: var(--primary-color);
    color: white;
}

#paymentFunctionContentContainer {
    position: absolute;
    width: 60%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    left: 50%;
    text-align: center;
    transform: translate(-50%, 0px);
    top: 100px;
    overflow: scroll;
    height: calc(100% - 160px);
    max-width: 600px;
}

#paymentFunctionContentContainer h2 {
    margin-top: 20px;
    font-weight: 600;
}

.paymentFunctionSlide {
    position: absolute;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: all 0.5s ease;
    opacity: 0;
}

.paymentFunctionSlide.active {
    left: 0;
    opacity: 1;
}

.paymentFunctionSlide.prev {
    left: -100%;
    opacity: 0;
}

.paymentFunctionSlide img {
    max-width: 100%;
    border-radius: 10px;
    margin-bottom: 20px;
}

#paymentPaginationButtons {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    position: absolute;
    left: 0;
    bottom: 10px;
    width: 100%;
    background-color: white;
}


#paymentPaginationButtons button:disabled {
    background-color: #ffffff;
    cursor: not-allowed;
}

#paymentFunctionContentContainer img {
    border-radius: 20px;
}




button#analyzeButton {
    margin: 0 auto;
}

div#paymentPopup {
    z-index: 1;
    width: 80vw;
    height: 80vh;
    background-color: white;
    position: relative;
}
button.paymentCloseBtn {
    position: absolute;
    right: -40px;
    top: -40px;
    background: none;
    border: none;
    color: red;
    font-size: 30px;
    font-weight: 600;
}

div#checkoutContainer {
    height: 100%;
    display: none;
    position: absolute;
    top: 0;
    width: 100%;
    left: 0;
}
div#openCheckoutDiv {
    width: 300px;
    position: absolute;
    left: 50%;
    bottom: 15px;
    transform: translate(-50%, 0px);
}
#demoCheckoutContainer{
    height: 80vh;
    width: 100%;
}

/*
        .paymentOverlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 999;
        }

        .paymentCloseBtn {
            position: absolute;
            top: 10px;
            right: 10px;
            color: var(--secondary-color);
            background: none;
            border: none;
            border-radius: 50%;
            cursor: pointer;
            font-size: 36px;
            line-height: 20px;
            width: 30px;
            height: 30px;
            text-align: center;
        }

*/

        /*icon Grid connection*/

.icon-containerGrid {
    opacity: 0;
    position: absolute;
    transition: 0.5s;
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    justify-content: flex-start;
    width: 100px;
    top: 150px;
    pointer-events: none;
    font-weight: 600;
    font-size: 20px;
    z-index: 3;
    flex-direction: column;
    height: calc(100vh - 200px);
    left: 5%;
}

.icon-containerGrid.active{
    opacity: 1;
    transition: 0.5s;
    pointer-events: all;
}


.iconBoxGrid {
    flex: 1 1 auto;
    position: relative;
    display: grid;
    place-items: center;
}

.iconButtonGrid{
    width: 5vw;
    height: 5vw;
    min-width: 40px;
    min-height: 40px;
    max-width: 70px;
    max-height: 70px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40px;
    background-color: var(--secondary-color);
    border-radius: 50%;
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.5);
    margin-left: auto;
    margin-right: auto;
    transition: 0.5s;
    display: flex;
    justify-content: center;
    align-items: center;
    fill: var(--primary-color);
    stroke: var(--primary-color);
    position: relative;
    z-index: 3;
}

.iconButtonGrid:hover {
    transform: scale(1.1);
}

.iconButtonGrid svg {
    height: 1.5rem;
    width: 1.5rem;
}


.iconButtonGrid.active{
    background-color: var(--primary-color);
    fill: var(--secondary-color);
    stroke: var(--secondary-color);
}

#iconGrid5{
    display: none;
}

/* Container-Styling */
#grid-connection-overview-container {
    opacity: 0;
    padding: 20px;
    border: 1px solid var(--secondary-color);
    border-radius: 5px;
    width: calc(95% - 200px);
    position: absolute;
    bottom: 30px;
    left: calc(5% + 150px);
    background-color: var(--third-color);
    transition: 0.5s;
}

/* Überschrift */
.grid-header {
    font-size: 1.5rem;
    margin-bottom: 10px;
    text-align: left;
}

/* Flexbox für Zeilen */
.grid-row {
    display: flex;
    flex-wrap: wrap; /* Nebeneinander oder Umbruch bei Platzmangel */
    gap: 10px; /* Abstand zwischen den Elementen */
}

.grid-item {
    min-width: 200px; /* Mindestbreite */
    flex: 1; /* Flexlayout */
    display: flex; /* Flexlayout für vertikale Textanordnung */
    flex-direction: column; /* Elemente untereinander anordnen */
    justify-content: center; /* Vertikale Zentrierung der Inhalte */
    align-items: center; /* Horizontale Zentrierung */
    text-align: center; /* Textzentrierung */
    padding: 10px;
    border: 1px solid #ddd; /* Rahmen */
    border-radius: 5px;
    background-color: #f9f9f9;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Schatten */
}

/* Styling der Beschriftung */
.grid-label {
    font-weight: bold; /* Fett für die Beschriftung */
    margin-bottom: 5px; /* Abstand zur zweiten Zeile */
    font-size: 0.8rem;
    color: #555;
}

/* Styling der Werte */
.grid-value {
    font-size: 1rem; /* Größerer Text für Werte */
    color: #333;
}


#grid-connection-pdf-container {
    opacity: 0;
    padding: 20px;
    border: 1px solid var(--secondary-color);
    border-radius: 5px;
    width: calc(95% - 200px);
    position: absolute;
    top: 200px;
    left: calc(5% + 150px);
    background-color: var(--third-color);
    transition: 0.5s;
    pointer-events: none;
    overflow: auto;
    height: calc(100vh - 300px);
    max-width: 600px;
}

#grid-connection-pdf-container.active{
    pointer-events: all;
    opacity: 1;
}


/* Allgemeines Styling für das Formular */
.e8pdf-styled-form {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Zwei-Spalten-Layout */
    gap: 20px; /* Abstand zwischen den Feldern */
    max-width: 900px;
    margin: auto;
    background-color: #f7f7f7;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Überschrift */
.e8pdf-section-header {
    grid-column: span 2; /* Überspannt beide Spalten */
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #333;
    text-align: center;
}

/* Einzelne Felder */
.e8pdf-form-field {
    display: flex;
    flex-direction: column;
}

.e8pdf-form-field label {
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 14px;
    color: #4CAF50; /* Grün für Labels */
}


/* Fortschrittsanzeige */
#e8pdf-progress-container {
    width: 100%;
    height: 10px;
    background-color: #e0e0e0;
    border-radius: 5px;
    margin-bottom: 20px;
    position: relative;
}

#e8pdf-progress-bar {
    height: 100%;
    background-color: #4CAF50;
    width: 0;
    border-radius: 5px;
    transition: width 0.3s;
}

/* Abschnitt */
.e8pdf-form-section {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f7f7f7;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    height: calc(100vh - 470px);
    overflow: auto;
}

/* Überschrift */
.e8pdf-section-header {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-bottom: 20px;
    text-align: center;
}

/* Flexbox für Zwei-Spalten-Layout */
.e8pdf-form-row {
    display: flex;
    flex-wrap: wrap; /* Damit es bei kleineren Bildschirmen umbricht */
    gap: 20px;
}

/* Einzelne Felder */
.e8pdf-form-field {
    flex: 1 1 calc(50% - 20px); /* Nimmt 50% Breite minus Abstand */
    display: flex;
    flex-direction: column;
}

/* Label */
.e8pdf-form-field label {
    margin-bottom: 5px;
    font-weight: bold;
    color: #4CAF50; /* Modernes Grün */
    font-size: 14px;
}

/* Input */
.e8pdf-form-field input {
    padding: 12px!important;
    border: 1px solid #ccc!important;
    border-radius: 4px;
    font-size: 16px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

/* Nur für Checkbox und Label */
.e8pdf-checkbox-field {
    display: flex; /* Flexbox aktivieren */
    align-items: center; /* Vertikale Ausrichtung */
    gap: 10px; /* Abstand zwischen Checkbox und Label */
    justify-content: flex-start; /* Links ausrichten */
}

/* Optional: Checkbox Styling */
.e8pdf-checkbox {
    margin: 0; /* Entfernt Standardabstand */
}

/* Optional: Label Styling */
.e8pdf-checkbox-label {
    font-size: 14px; /* Schriftgröße */
    font-weight: bold; /* Fettgedruckt */
    color: #333; /* Farbe des Textes */
}


/* Input Fokus */
.e8pdf-form-field input:focus {
    border-color: #4CAF50;
    outline: none;
    box-shadow: 0 0 8px rgba(76, 175, 80, 0.5);
}

/* Navigation */

#e8pdf-form-navigation {
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 20px;
    left: 5%;
    width: 90%;
}
/* Zurück-Button */
#e8pdf-prev-btn {
    margin-right: auto; /* Schiebt den "Zurück"-Button nach links */
}

/* Weiter-Button */
#e8pdf-next-btn {
    margin-left: auto; /* Schiebt den "Weiter"-Button nach rechts */
    background-color: #28a745; /* Grün für den Weiter-Button */
    min-width: 100px;
    position: relative;
}

.e8pdf-navigation-button {
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    background-color: #6d6d6d;
    color: white;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.e8pdf-navigation-button:hover {
    background-color: #292929;
}

.e8pdf-navigation-button:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

/* Responsive Design */
@media (max-width: 768px) {
    .e8pdf-form-field {
        flex: 1 1 100%; /* Einspaltiges Layout auf kleinen Bildschirmen */
    }
}




/* spinner css*/

.spinner {
    width: 20px;
    height: 20px;
    border: 4px solid rgb(255 255 255 / 20%);
    border-top: 4px solid #fffdfd;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    position: absolute;
    left: calc(50% - 10px);
    top: calc(50% - 10px);
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}




@media (max-width: 600px) {
    .tab[title]:hover:after {
        max-width: calc(100vw - 20px); /* Begrenze die maximale Breite des Tooltips */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .tab[title]:hover:after {
        left: auto;
        right: 10px;
        transform: none;
    }

    .tab[title]:hover:before {
        left: auto;
        right: 10px;
        transform: none;
    }
}






@keyframes pulse {
    0%, 100% {
        transform: translateX(-50%) scale(1); /* Ursprüngliche Größe */
        opacity: 1; /* Voll sichtbar */
    }
    50% {
        transform: translateX(-50%) scale(1.1); /* Leicht vergrößert */
        opacity: 0.7; /* Leicht transparent */
    }
}

