@font-face {
    font-family: HelveticaNeueLTStd;
    src: url(assets/fonts/HelveticaNeuLTStd55Roman.otf);
}

* {
    --main-bg-color: black;
    --main-text-white: white;
    --main-bg: #7f7f7f;
    --main-bg-transparent: #7f7f7fbb;
    --main-red: #a72920;
    --main-grey: #ddd;
    --main-blue: #0e518d;
}

.center {
    text-align: center;
}

.wappen {
    width: 60px;
    margin-top: 5px;
    margin-left: 5px;
}

.logo {
    width: 215px;
}

body {
    font-family: HelveticaNeueLTStd, Verdana, Geneva, Tahoma, sans-serif;
    display: flex;
    flex-direction: column;
    margin: 0;
    background-color: #eee;
    min-height: 100vh;
    color: #333;
}

.header {
    display: flex;
    min-height: 50px;
    background-color: var(--main-bg-transparent);
}

@media screen and (max-width: 620px) {
    .header {
        display: none;
    }
}

.header-mobile {
    display: none;
    background-color: var(--main-bg);
}

@media screen and (max-width: 620px) {
    .header-mobile {
        display: block;
    }
    .header-mobile-banner {
        display: flex;
        justify-content: space-between;
    }
}

nav {
    width: 100%;
    margin-right: auto;
    max-width: 1340px;
}

.metaslider {
    max-width: none !important;
}

.header-slider-mobile-wrapper {
    display: none;
}

@media screen and (max-width: 620px) {
    .header-slider-wrapper {
        display: none;
    }
    .header-slider-mobile-wrapper {
        display: block;
    }
}


/************************************
*************************************
            main menu
*************************************
************************************/

.menu-item {
    float: left;
    text-align: center;
    font-size: 17px;
    list-style-type: none
}

@media screen and (max-width: 620px) {
    .menu-item {
        float: none;
        text-align: left;
        font-size: 17px;
        list-style-type: none;
    }
    ul {
        padding-left: 10px;
        padding-right: 10px;
    }
}

.menu-item a {
    padding: 14px 16px;
    color: var(--main-text-white);
    text-decoration: none;
    display: block;
    user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
}

.current-menu-item {
    background-color: var(--main-grey);
    border-radius: 20px;
}

.current-menu-item a {
    color: #000 !important;
}

.menu-item:hover {
    background-color: var(--main-grey);
    border-radius: 20px;
}

.menu-item:hover>a {
    color: #000;
}

.menu-item:hover>ul {
    visibility: visible;
    opacity: 1;
}


/************************************
*************************************
            sub menu
*************************************
************************************/

.sub-menu {
    transition: opacity 0.25s ease;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    opacity: 0;
    position: absolute;
    padding-left: 0;
    z-index: 99999;
    background-color: var(--main-bg-transparent);
    border-radius: 20px;
}

.sub-menu li {
    text-align: left !important;
    float: left;
    color: white;
    text-decoration: none;
}

.sub-menu li a {
    padding: 15px 20px;
    padding-right: 50px;
    color: white;
    display: block;
}

.sub-menu li:hover {
    background-color: var(--main-grey);
}

.sub-menu li:hover>a {
    color: black !important;
}

.top {
    margin-top: 2%;
}

@media screen and (max-width: 620px) {
    .sub-menu {
        background-color: var(--main-bg);
        border-radius: 0px;
    }
}


/************************************
*************************************
            main
*************************************
************************************/

main {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 1340px;
    flex: 1;
    margin-top: 1rem;
    box-shadow: 0 0 5px rgba(0, 0, 0, .07);
}

@media screen and (max-width: 600px) {
    main {
        box-shadow: none;
        padding-right: 10px
    }
}

main .title {
    margin-top: 2rem;
    font-size: 2rem;
}


/************************************
*************************************
            main single article
*************************************
************************************/

main .single-article {
    margin: 2%;
    line-height: 1.6;
}

main .single-articl ul {
    list-style-type: square;
}

main .single-articl table {
    width: 100%;
}

main .single-articl table td {
    padding-bottom: 2em;
}

main .single-articl input {
    border: 1px solid #ccc;
    border-radius: 3px;
    box-sizing: border-box;
    color: #666;
    font-weight: normal;
    line-height: normal;
    outline: none;
    padding: 9px 12px;
    max-width: 100%;
}

main .single-articl textarea {
    overflow: auto;
    vertical-align: top;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-sizing: border-box;
    color: #666;
}

main .single-title {
    margin: 2%;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35em;
}


/************************************
*************************************
            main articles
*************************************
************************************/

main .articles {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
}

main .articles .seperator {
    width: 100%;
    display: none;
}

main .articles .thumbnail {
    max-width: 100%;
}

@media screen and (max-width: 1300px) {
    main .articles .seperator {
        display: block;
    }
}

main .articles .article-text {
    margin-top: 10px;
}

main .articles .article-text img {
    visibility: hidden;
    display: none;
    opacity: 0;
}

main .articles .article-read-button {
    margin-top: 10px;
}

main .articles .article-read-button a.button {
    display: inline-block;
    padding: 10px 20px;
    text-decoration: none;
    background-color: var(--main-blue);
    /* Hintergrundfarbe des Buttons */
    color: #fff;
    /* Textfarbe des Buttons */
    font-size: 16px;
    transition: background-color 0.3s ease;
    /* Sanfte Übergänge für die Hintergrundfarbe */
}

@media screen and (min-width: 1300px) {
    main .articles {
        grid-template-columns: repeat(3, 1fr);
    }
}

.article-title {
    margin-top: 10px;
    font-size: 1.5rem;
    font-weight: 500;
}

.article-title a {
    text-decoration: none;
    color: var(--main-bg-color);
}

.article-title a:hover {
    border: 0
}


/************************************
*************************************
          footer
*************************************
************************************/

footer {
    min-height: 50px;
    margin-top: 5%;
    background-color: var(--main-bg);
    height: 12%;
    width: 100%;
    color: white;
}

footer .footer {
    margin-right: auto;
    margin-left: auto;
    max-width: 1340px;
}

footer .grid {
    display: grid;
    grid-template-columns: 66% 33%;
    gap: 20px;
    margin: 20px auto;
    padding: 20px;
}

footer .social-media {
    font-size: 1.5rem
}

footer .botnav a {
    color: white;
    padding: 14px 16px;
    font-size: 1.1rem;
    touch-action: manipulation;
    transition: all .2s ease-in-out;
}

footer .botnav a:hover {
    text-decoration-style: dotted;
    color: #BFBFBF;
}

@media screen and (max-width: 430px) {
    footer .social-media {
        font-size: 1rem
    }
    footer .botnav {
        a {
            margin-right: 5px;
            font-size: 1rem;
        }
    }
}


/* Header overlap with header-slider */

.header-slider-container {
    position: relative;
}

.site-header.overlap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
}

.header-slider-wrapper {
    /* Keep slider in normal flow; slider content will appear under absolute header */
    margin-top: 0;
}


/* On small screens keep normal flow to avoid layout issues */

@media screen and (max-width: 620px) {
    .site-header.overlap {
        position: relative;
    }
}


/************************************
*************************************
          misc
*************************************
************************************/

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.flex-mobile-with-space {
    display: flex;
    justify-content: space-between;
}

@media screen and (max-width: 680px) {
    .flex-mobile-with-space {
        flex-direction: column;
        align-items: center;
    }
}


/************************************
*************************************
          einsatzverwaltung
*************************************
************************************/

.einsatzverwaltung-reportlist {

    th {
        text-align: left;
    }
    tr.report:nth-child(2n) {
        background-color: var(--main-grey) !important;
    }
    .einsatz-column-annotationImages {
        padding-right: 15px;
    }
    .einsatz-column-title a{
        color: #333;
    }
    .einsatz-title-month{
        border: 2px solid #333;
    }
}