/* Zentrale Variablen */
:root {
    --font-regular: 'Font-Regular', Hind, Fallback-font;
    --font-italic: 'Font-Italic', Hind, Fallback-font;
    --font-bold: 'Font-Bold', Hind, Fallback-font;
    --font-size-base: 18px;
    --color-text: rgb(31, 41, 55);
    --color-feedback-fatal: #FF0000;
    --color-feedback-warn: #85A3D8;
    --color-feedback-info: #77AD1F;
    --color-table-header-bg: rgb(240, 244, 247);
    --color-table-body-bg: #FFFFFF;
    --color-table-header-text: rgb(55, 65, 81);
    --color-table-content-text: rgb(75, 85, 99);
    --color-table-row-odd: #e3e3e3;
    --color-table-row-even: #e3e3e3;
    --color-table-border: rgb(229, 231, 235);
    --color-input-border: #303030;
    --color-input-bg-focus: #ECF3F6;
    --color-link-text: rgb(216, 35, 42);
    --color-link-text-hover: rgb(153, 25, 30);
    --color-btn-bg: #46596B;
    --color-btn-text: #FFFFFF;
    --color-btn-text-hover: rgb(209, 213, 219);
}

html, body {
    height: auto !important;
    width: 100%;
    overflow-x: hidden;
}

/* Basis-Styles */
body {
    font-family: var(--font-regular);
    color: var(--color-text);
    letter-spacing: 0px;
    text-decoration: none;
    font-size: var(--font-size-base);
}

div, form, td {
    padding: 0px;
    margin: 0px;
}

.sesamForm {
    margin-top: -30px;
}

td {
    vertical-align: top;
}

table.sesamFormTable td {
    vertical-align: middle;
    height: 35px;
}

.sesamFormTable {
    width: 515px;
}

select {
    width: 100%; //254
    padding: 0px;
    margin: 0px;
    font-size: var(--font-size-base);
}

input[type="text"] {
    width: 98%; // 250
    border: 1px solid var(--color-input-border);
    font-family: var(--font-regular);
    color: var(--color-text);
    font-size: var(--font-size-base);
    padding: 1px;
    margin: 0px;
}

.webSearchLeft {
    float: left;
    width: 200px;
}

img {
    padding: 0px;
    margin: 0px;
}

input[type="text"]:active,
input[type="text"]:hover,
input[type="text"]:focus {
    background: var(--color-input-bg-focus);
}

input[type="submit"]:active,
input[type="submit"]:focus,
input[type="submit"]:hover {
    color: var(--color-btn-text-hover);
}

input[type="submit"] {
    font-family: var(--font-regular);
    font-size: var(--font-size-base);
    color: var(--color-btn-text);
    padding-left: 10px;
    padding-top: 1px;
    padding-bottom: 0px;
    margin: 0px 3px 3px 0px;
    border: 2px solid #6A6969;
    background-color: var(--color-btn-bg);
    text-align: left;
}

h3 {
    font-family: var(--font-bold);
    font-size: 32px;
    line-height: 1.25;
    margin-bottom: 1rem;
}

@media (min-width: 1024px) {
    .h3 {
        font-size: 1.625rem
    }
}

@media (min-width: 1280px) {
    .h3 {
        font-size: 2rem
    }
}

@media (min-width: 1920px) {
    .h3 {
        font-size: 2.5rem
    }
}

hr {
    border: 0 none;
    background-color: #CCCCCC;
    height: 1px;
    width: 95%;
}

form label {
    font-family: var(--font-regular);
    font-size: var(--font-size-base)
}

/* Feedback Styles */
.feedback_fatal {
    background-color: var(--color-feedback-fatal);
}

.feedback_error {
    background-color: var(--color-feedback-fatal);
}

.feedback_warn {
    background-color: var(--color-feedback-warn);
}

.feedback_info {
    background-color: var(--color-feedback-info);
}

#feedbackMessagesDiv {
    padding-top: 10px;
    width: 95%;
}

#feedbackMessages {
    padding: 7px 7px 8px 10px;
    color: #FFFFFF;
    font-family: var(--font-bold);
    font-size: var(--font-size-base);
    font-weight: bold;
}

.trefferliste {
    width: 95%;
    font-family: var(--font-regular);
    border: 1px solid var(--color-table-border);
}

.trefferliste tr {
    background-color: var(--color-table-body-bg);
}

.trefferliste th {
    padding: 3px !important;
    font-weight: 100;
    font-size: var(--font-size-base) - 0.5rem;
    background-color: var(--color-table-header-bg);
    color: var(--color-table-header-text);
    text-align: left;
    border-bottom: 1px solid var(--color-table-border);
}

.trefferliste td {
    padding: 3px !important;
    vertical-align: top;
    color: var(--color-table-content-text);
    border-bottom: 1px solid var(--color-table-border);
}

.trefferlisteRow_0,
.trefferlisteRow_1 {
    background-color: var(--color-table-row-odd);
}


.trefferlisteRow_0 a[href],
.trefferlisteRow_1 a[href] {
    color: var(--color-link-text);
}

.trefferlisteRow_0 a[href]:focus,
.trefferlisteRow_0 a[href]:hover,
.trefferlisteRow_1 a[href]:focus,
.trefferlisteRow_1 a[href]:hover {
    color: var(--color-link-text-hover);
}

.calendarSearch input[type="text"] {
    width: 65px !important;
}

.calendarSearch .ui-button-icon-only {
    width: 18px;
    height: 18px;
    margin-left: 3px;
    vertical-align: middle;
}

/* Special font */
@font-face {
    font-display: swap;
    font-family: Font-Regular;
    font-style: normal;
    src: url(./../fonts/NotoSans-Regular.ttf) format("truetype")
}

@font-face {
    font-display: swap;
    font-family: Font-Bold;
    font-style: normal;
    src: url(./../fonts/NotoSans-Bold.ttf) format("truetype")
}