/* open-sans-300 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/open-sans-v34-latin-300.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/open-sans-v34-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/open-sans-v34-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/open-sans-v34-latin-300.woff') format('woff'), /* Modern Browsers */
    url('../fonts/open-sans-v34-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/open-sans-v34-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-regular - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/open-sans-v34-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/open-sans-v34-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/open-sans-v34-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/open-sans-v34-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('../fonts/open-sans-v34-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/open-sans-v34-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-500 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/open-sans-v34-latin-500.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/open-sans-v34-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/open-sans-v34-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/open-sans-v34-latin-500.woff') format('woff'), /* Modern Browsers */
    url('../fonts/open-sans-v34-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/open-sans-v34-latin-500.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* open-sans-700 - latin */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/open-sans-v34-latin-700.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/open-sans-v34-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/open-sans-v34-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/open-sans-v34-latin-700.woff') format('woff'), /* Modern Browsers */
    url('../fonts/open-sans-v34-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/open-sans-v34-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}

:root {
    --bs-font-sans-serif: "Open Sans", sans-serif;
}



.loading-screen {
    background-color: rgba(0,0,0,.7);
    position: fixed;
    line-height: 40px;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 100vh;
    width: 100%;
    z-index: 9999;
}

.loading-screen > span {
    color: #FFF;
    display: block;
    font-size: 30px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.loading-screen-gpt {
    background-color: rgba(0,0,0,.7);
    position: fixed;
    /*line-height: 30px;*/
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 100vh;
    width: 100%;
    z-index: 9999;
}

.loading-screen-gpt > span {
    color: #FFF;
    display: block;
    /*font-size: 16px;*/
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.loading-screen-gpt-artikel {
    background-color: rgba(0,0,0,.7);
    position: fixed;
    /*line-height: 30px;*/
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 100vh;
    width: 100%;
    z-index: 9999;
}

.loading-screen-gpt-artikel > span {
    color: #FFF;
    display: block;
    /*font-size: 16px;*/
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
}

/* Textarea Höhe auf länge vom Text */
.grow-wrap {
    display: grid;
}

.grow-wrap::after {
    content: attr(data-replicated-value) " ";
    white-space: pre-wrap;
    visibility: hidden;
}

.grow-wrap > textarea {
    resize: none;
    overflow: hidden;
}

.grow-wrap > textarea,
.grow-wrap::after {
    border: 1px solid black;
    padding: 0.5rem;
    font: inherit;

    grid-area: 1 / 1 / 2 / 2;
}



.switch-custom {
    position: relative;
    display: inline-block;
    width: 80px; /* Breiterer Switch */
    height: 30px;
}

.switch-custom .form-check-input {
    width: 80px; /* Breiterer Switch */
    height: 30px;
    margin: 0;
    opacity: 0;
    z-index: 2; /* Input bleibt klickbar */
    position: absolute;
    left: 0;
    top: 0;
    cursor: pointer;
}

.switch-custom .form-check-label {
    width: 80px; /* Breiterer Switch */
    height: 30px;
    background-color: #dc3545; /* Rot für "Nein" */
    border-radius: 15px;
    position: relative;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px; /* Etwas mehr Platz für die Texte */
    box-sizing: border-box;
}

.switch-custom .form-check-label .switch-knob {
    position: absolute;
    width: 24px; /* Etwas größerer Knob */
    height: 24px;
    background-color: white;
    border-radius: 50%;
    top: 3px;
    left: 3px;
    transition: transform 0.3s ease;
    z-index: 1;
}

.switch-custom .form-check-label .switch-label-on,
.switch-custom .form-check-label .switch-label-off {
    font-size: 16px; /* Standard für "Ja" */
    font-weight: bold;
    color: white;
    position: absolute;
    z-index: 0;
}

.switch-custom .form-check-label .switch-label-on {
    left: 10px;
    display: none;
}

.switch-custom .form-check-label .switch-label-off {
    right: 10px;
    font-size: 16px; /* Kleinere Schrift für "Nein" */
}

.switch-custom .form-check-input:checked + .form-check-label {
    background-color: #28a745; /* Grün für "Ja" */
}

.switch-custom .form-check-input:checked + .form-check-label .switch-knob {
    transform: translateX(50px); /* Schieberegler verschieben */
}

.switch-custom .form-check-input:checked + .form-check-label .switch-label-on {
    display: inline;
}

.switch-custom .form-check-input:checked + .form-check-label .switch-label-off {
    display: none;
}


/*
 * CSS für Daten aus dem Editor
 */

.js-editor {
    margin-left: 5px;
    padding-left: 5px;
}

.js-editor span.text-tiny {
    font-size: x-small;
}

.js-editor span.text-small {
    font-size: small;
}

.js-editor span.text-big {
    font-size: x-large;
}

.js-editor span.text-huge {
    font-size: x-large;
}

.js-editor p {
    line-break: auto;
}


.clearfix {
    margin: 0;
    padding: 0;
}



.tooltip {
    min-width: 340px !important;
    white-space: normal !important;
}

.tooltip-inner {
    min-width: 340px !important;
    width: 340px !important;
    white-space: normal !important;
}



.carousel-item {
    text-align: center; /* Zentriert das Bild innerhalb des Sliders */
    background-color: rgba(128, 128, 128, 0.3); /* Grauschleier als Hintergrund */
}

.ratio-wrapper {
    background-color: rgba(128, 128, 128, 0.3); /* Dunkler Hintergrund */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Verhindert Überlaufen des Bildes */
}

.ratio-wrapper img {
    object-fit: contain; /* Passt das Bild an */
    width: 100%; /* Füllt die Breite des Containers */
    height: 100%; /* Füllt die Höhe des Containers */
}
