* {
    margin: 0;
    padding: 0;
}

:root{
    --default-green:#3b6e3a;
    --default-box-color: white;
    --accordion-color: rgb(170, 168, 168);
    --accent-blue: #2b5c8f;
    --special-box-color: #fffdf5;
    --default-border-color: #d1c7a3;
    --default-background-color: #f4efe2;
    --default-text-color: black;
    --default-h2-color: #2c2519;
    --reihe3-background-color: #e3a834;
    --reihe3-text-color: #2b2008;
    --reihe3-hover-color: #c99023;
    --default-box-hover-color: rgb(213, 213, 213);
    --default-image-hover-color: rgb(213, 213, 213);
    --default-link-color: #1b3b6f;
    --default-link-hover-color: #2196f3;
    --default-link-visited-color: #5c3d75;
    --info-cards-background-color: rgb(238, 238, 123);
    --svg-filter: invert(0);
}

@media(prefers-color-scheme: dark) {
    :root {
        --default-background-color: #121212;
        --default-text-color: white;
        --accordion-color: #3f3e3e;
        --default-border-color: #312c2c;
        --default-box-color: #1f1c1c;
        --special-box-color: #1a1a1a;
        --default-h2-color: #f1f1f1;
        --reihe3-background-color: #4a3819;
        --reihe3-text-color: #f7e8cf;
        --reihe3-hover-color: #634b22;
        --default-box-hover-color: rgb(40, 40, 40);
        --default-link-color: #80b3ff;
        --default-link-hover-color: #b3d1ff;
        --default-link-visited-color: #b39ddb;
        --info-cards-background-color: rgb(77, 77, 77);
        --svg-filter: invert(1) brightness(2);
    }

}

.theme-light {
    --default-box-color: white;
    --accordion-color: rgb(170, 168, 168);
    --special-box-color: #fffdf5;
    --default-border-color: #d1c7a3;
    --default-background-color: #f4efe2;
    --default-text-color: black;
    --default-h2-color: #2c2519;
    --reihe3-background-color: #e3a834;
    --reihe3-text-color: #2b2008;
    --reihe3-hover-color: #c99023;
    --default-box-hover-color: rgb(213, 213, 213);
    --default-link-color: #1b3b6f;
    --default-link-hover-color: #2196f3;
    --default-link-visited-color: #5c3d75;
    --svg-filter: invert(0);
}

.theme-dark {
    --default-background-color: #121212;
    --default-text-color: white;
    --default-border-color: #312c2c;
    --accordion-color: #3f3e3e;
    --default-box-color: #1f1c1c;
    --special-box-color: #1a1a1a;
    --default-h2-color: #f1f1f1;
    --reihe3-background-color: #4a3819;
    --reihe3-text-color: #f7e8cf;
    --reihe3-hover-color: #634b22;
    --default-box-hover-color: rgb(40, 40, 40);
    --default-link-color: #80b3ff;
    --default-link-hover-color: #b3d1ff;
    --default-link-visited-color: #b39ddb;
    --svg-filter: invert(1) brightness(2);
}

img[src$=".svg"]:not(.searchBar, #open img) {
        filter: var(--svg-filter);
    }

html {
    height: 100%;
    font-family: 'Roboto';
    color: var(--default-text-color);
    background-color: var(--default-background-color);
}

#navbar {
    width: 100%;
    align-items: center;
    position: fixed;
    top: 0;
    background-color: rgb(42, 42, 42);
    color: white;
    z-index: 9999;
}

@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/roboto-v30-latin-regular.eot');
    /* IE9 Compat Modes */
    src: local(''),
        url('../fonts/roboto-v30-latin-regular.eot?#iefix') format('embedded-opentype'),
        /* IE6-IE8 */
        url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'),
        /* Super Modern Browsers */
        url('../fonts/roboto-v30-latin-regular.woff') format('woff'),
        /* Modern Browsers */
        url('../fonts/roboto-v30-latin-regular.ttf') format('truetype'),
        /* Safari, Android, iOS */
        url('../fonts/roboto-v30-latin-regular.svg#Roboto') format('svg');
    /* Legacy iOS */
}

@font-face {
    font-family: "Liberation Sans";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/LiberationSans-Regular.ttf") format("truetype")
}

@font-face {
    font-family: "Inter";
    font-style: bold;
    font-weight: 700;
    src: url("../fonts/Comic_Sans_MS_Bold.ttf") format("truetype")
}

@font-face {
    font-family: "Inter";
    font-style: bold;
    font-weight: 700;
    src: url("../fonts/Inter_Bold.ttf") format("truetype")
}

nav a,
#setting_box, #theme_box, .theme_button {
    color: white;
    text-decoration: none;
    font-size: 18px;
    display: block;
    padding: 10px;
    user-select: none;
}

#setting_box, #theme_box {
    cursor: pointer;
}

nav a:hover,
.sub_open:hover,
#setting_box:hover, #theme_box:hover, .theme_button:hover {
    background-color: rgb(80, 80, 80);
}

.unsichtbar {
    display: none !important;
}

.mark {
    background-color: rgb(10, 10, 10);
}

.main, .questlist{
    margin-top: 20px;
    margin-bottom: 40px;
}

nav {
    pointer-events: all !important;
}

h1 {
    color: var(--default-green);
    font-size: 1.9rem;
    text-align: center;
    margin-bottom: 38px;
}


h2,
h3,
h4 {
    margin-top: 30px;
    margin-bottom: 15px;
    font-family: 'Inter';
    gap: 10px;
}

h2 {
    color: var(--default-h2-color);
    font-size: 1.6rem;
    border-bottom: 2px solid var(--default-border-color);
    padding-bottom: 6px;
}

h3 {
    color: var(--accent-blue);
    font-size: 17pt;
}

h4 {
    font-size: 14pt;
    color: rgb(253, 103, 3);
}

.no_space {
    margin-top: 0px !important;
}

.top_align {
    vertical-align: top !important;
}

.card, .card2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.cards,
.cards2,
.info-cards {
    background-color: var(--default-box-color);
    border-radius: 10px;
    text-align: center;
    line-height: 1.5em;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.03);
    transition: box-shadow 0.2s, translateY 0.2s;
    user-select: none;
    cursor: pointer;
    border: 1px solid var(--default-border-color);
    margin: 4px;
}

.info-cards {
    padding: 10px;
}

.cards, .cards2 {
    padding: 20px;
}

.cards p,
.info-cards p {
    margin-top: 10px;
}


.cards h2, .cards2 h2{
    color: var(--accent-blue);
}

.cards h2,
.cards2 h2,
.box h2,
.info-cards h2, .table_headline {
    margin: 0;
    font-size: 16pt;
    border: none;
}

.cards:hover,
.cards2:hover {
    background-color: var(--default-box-hover-color);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.info-cards {
    cursor: default;
    user-select: initial;
}

.box {
    background-color: var(--default-box-color);
    border: 1px solid var(--default-border-color);
    padding: 20px;
    border-radius: 10px;
    margin: 4px;
}

.version_box {
    line-height: 1.5em;
    font-size: 14pt;
}

p,
div {
    margin-top: 3px;
    line-height: 1.5em;
}

.text_paragraph{
    margin-bottom: 20px;
    text-align: justify;
}

.searchBar {
    height: 25px;
    vertical-align: center;
}

main a {
    color: var(--default-link-color);
    text-decoration: underline;
    text-decoration-thickness: 1px; 
    text-underline-offset: 3px;
    transition: all 0.2s ease;
}

main a:visited {
    color: rgb(174, 6, 6);
}

main a:hover {
    color: var(--default-link-hover-color);
}

img {
    vertical-align: middle;
}

thead,
.special_column {
    font-weight: bolder;
    font-family: 'Inter';
    background-color: #222222;
    color: white;
    font-size: 15pt;
    text-align: left;
    padding: 4px;
    border-bottom: 1px solid #7c725d;
}

.reihe1 {
    background-color: var(--accordion-color);
}

.reihe2 {
    background-color: var(--default-box-color);
}

.reihe3 {
    background-color: var(--reihe3-background-color);
    color: var(--reihe3-text-color);
}

.randzeile {
    border-bottom: 4px solid #7c725d;
}

.randspalte, .mittelspalte {
    background-color: #222222;
    color: white;
    font-weight: bolder;
    font-size: 13pt;
    font-family: "Inter";
    text-align: center;
}

.randspalte{
    border-right: 4px solid #7c725d;
}

.mittelspalte {
    border-left: 4px solid #7c725d;
    border-right: 4px solid #7c725d;
}

.reihenabtrennung {
    background-color: var(--reihe3-background-color);
    color: var(--reihe3-text-color);
    border-top: 4px solid #7c725d;
    border-bottom: 4px solid #7c725d;
    text-align: center;
    font-family: "Inter";
}

.section-table .reihenabtrennung:hover{
    cursor: pointer;
    background-color: var(--reihe3-hover-color);
}

th,
td {
    font-size: 12pt;
    padding: 5px 3px;
}

table {
    border-radius: 5px 5px 2px 2px;
    overflow: hidden;
    border-collapse: collapse;
    box-sizing: border-box;
    color: var(--default-text-color);
}

.table-container {
    width: 100%;
    overflow-x: auto;
}

.tabelle_100 {
    width: 100%;
}

.abkuerzungen {
    min-width: 40%;
}

.td_abtrennung {
    background-color: brown;
    border-left: 1px solid black;
    border-right: 1px solid black;
}

.red {
    color: red;
    font-family: 'Inter';
}

.green {
    color: var(--default-green);
    font-family: 'Inter';
}

.yellow {
    color: yellow;
    font-family: 'Inter';
}

.black {
    font-family: 'Inter';
}

.center {
    text-align: center;
}

.operation_text {
    color: rgb(172, 13, 13);
    font-family: 'Inter';
    text-decoration: underline;
    cursor: pointer;
}

.operation_text:hover{
    color: red;
}

.pt16 {
    font-family: 'Inter';
    color: var(--accent-blue);
    font-size: 16pt;
}

.icon_2 {
    width: 30px;
}

iframe{
    max-width: 100%;
}

.centered_content {
    text-align: center;
}

.special_box, .selection_control{
    padding: 15px;
    margin-bottom: 30px;
    border-radius: 10px;
}

.special_box{
    background-color: var(--special-box-color);
    border: 1px solid var(--default-border-color);
}

.special_box h3{
    margin-top: 0;
}

.selection_control{
    background-color: var(--default-box-color);
    font-family: 'Inter';
    font-size: 16pt;
    font-weight: bold;
    user-select: none;
    cursor: pointer;
    border: 1px solid var(--default-border-color);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.03);
    transition: box-shadow 0.2s, translateY 0.2s;
}

.selection_control:hover{
    background-color: var(--default-box-hover-color);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
}

.selector_image{
    cursor: pointer;
    user-select: none;
    padding: 7px;
    border-radius: 5px;
}

.selector_image:hover{
    background-color: var(--default-image-hover-color);
}

main li{
    margin-bottom: 7px;
}

@media(max-width:880px) {
    #navbar {
        top: 55px;
        left: 8px;
        width: 180px;
        max-height: 100%;
        overflow-y: auto;
    }

    nav a,
    nav li, .theme_button {
        font-size: 12pt !important;
    }

    nav a:hover,
    nav li:hover, .theme_button:hover {
        border-radius: 0px !important;
    }

    #open {
        width: 12%;
        position: fixed;
        top: 1%;
        left: 1%;
        padding-top: 7px;
        height: 33px;
        color: white;
        text-align: center;
        user-select: none;
        cursor: pointer;
        background-color: rgb(42, 42, 42);
        border-radius: 7px;
        z-index: 9999;
    }

    #open:hover {
        background-color: rgb(80, 80, 80);
    }

    .sub_open {
        width: 34px;
        height: 39px;
        line-height: 40px;
        text-align: center;
        user-select: none;
        cursor: pointer;
        position: absolute;
        right: 0px;
        list-style: none;
        background-color: rgb(58, 57, 57);
    }

    #sub_open1 {
        top: 84px;
    }

    #sub_open2 {
        top: 162px;
    }

    #sub_open3 {
        top: 357px;
        height: 45px;
    }

    .submenu {
        position: absolute;
        top: 0px;
        left: 0px;
        height: 100%;
        width: 180px;
        background-color: rgb(42, 42, 42);
    }

    .backwards_control {
        padding: 10px;
        background-color: rgb(58, 57, 57);
        border-bottom: 1px solid gray;
        user-select: none;
        cursor: pointer;
    }

    .backwards_control:hover {
        background-color: rgb(15, 13, 13);
    }

    main {
        margin: 60px 20px 0 20px;
        padding-bottom: 40px;
    }

    .icon {
        width: 20px;
    }

    .icon_3 {
        width: 34px;
    }

    main ul,
    main ol,
    main ul ul,
    main ul ol {
        margin-left: 15px;
        line-height: 1.5em;
    }

    .link-list {
        line-height: 1.5em;
    }

    .version_box {
        min-width: 70%;
    }

    .unsichtbar_handy {
        display: none;
    }

    .disabled_menu{
        pointer-events: none;
    }

    .white-card {
        display: none;
    }
}

@media(max-width: 600px) {
    p,
    div {
        line-height: 1.3em;
    }
}

@media(min-width: 881px) {
    #navbar {
        display: flex;
        padding-left: 60px;
    }

    #navbar li {
        height: 100%;
        list-style-type: none;
    }


    nav {
        background-color: rgb(42, 42, 42);
        min-height: 40px;
    }

    .submenu {
        background-color: rgb(42, 42, 42);
        box-shadow: 3px 3px 4px 3px rgba(20, 20, 20, 0.6);
        position: fixed;

    }

    #open,
    #close {
        display: none;
    }

    main {
        padding: 35px 100px 40px 100px;
    }

    .icon {
        width: 26px;
    }

    .icon_3 {
        width: 42px;
    }

    main ul,
    main ol,
    main li ul,
    main li ol {
        margin-left: 30px;
        line-height: 1.5em;
    }

    .optionalTextMobile {
        display: none;
    }

    .link-list {
        line-height: 1.3em;
    }

    .version_box {
        width: 50%;
    }

    .submenu {
        display: none;
    }

    .submenu li a {
        padding: 10px 15px;
    }

    nav li:hover .submenu {
        display: block;
        animation: fade 0.5s forwards;
    }

    .unsichtbar_pc {
        display: none;
    }

    .white-card {
        opacity: 0;
        cursor: inherit;
    }

    #sub_3{
        transform: translateX(-10px);
        top: 45px;
    }
}

@media(max-width: 962px) {
    nav a, .theme_button {
        font-size: 16px;
    }
}