/* TiBase.css */

/* bootstrap-reboot v4.1.3 expected! */

@media all{
    html {
        box-sizing: border-box;
    }
    *, *::before, *::after {
        box-sizing: inherit;
    }

    html[lang="de"] q {
        quotes: "\201E" "\201C" "\2019" "\201A";
    }

    :focus:-ms-input-placeholder { opacity:0 }
    :focus::placeholder { opacity:0 }

    :-ms-input-placeholder { transition: opacity 0.5s }
    ::placeholder { transition: opacity 0.5s }

    *:focus:not(:focus-visible),
    *:before:focus:not(:focus-visible),
    *:after:focus:not(:focus-visible) {
        outline: none;
    }

}

@media(prefers-reduced-motion: reduce) {
    *,
    *:before,
    *:after {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}

/* helper classes */
@media all {

    .clear:before,
    .clear:after {
        display: table;
        content: "";
    }
    .clear:after {
        clear: both;
    }

    a[class^="gfx-"]:before,
    a[class*=" gfx-"]:before,
    a[class^="gfx-"]:after,
    a[class*=" gfx-"]:after,
    a[class^="icon-"]:before,
    a[class*=" icon-"]:before,
    a[class^="icon-"]:after,
    a[class*=" icon-"]:after { text-decoration: none; }

    .sr-hint {
        border: 0 !important;
        clip: rect(1px, 1px, 1px, 1px) !important;
        -webkit-clip-path: inset(50%) !important;
        clip-path: inset(50%) !important;  
        height: 1px !important;
        overflow: hidden !important;
        padding: 0 !important;
        position: absolute !important;
        width: 1px !important;
        white-space: nowrap !important;          
    }

    .sr-hint-focusable:focus,
    .sr-hint-focusable:active {
        clip: auto !important;
        -webkit-clip-path: none !important;
        clip-path: none !important;
        height: auto !important;
        overflow: visible !important;
        width: auto !important;
        white-space: normal !important;
    }

    .sr-hint-focusable:focus {
        position: fixed !important;
        z-index: 100;
        width: auto;
        top: 50%;
        left: 50%;
        clip: auto;

        padding: 1.25em !important;
        border: 2px solid rgb(51,51,51) !important;
        color: rgb(51,51,51);
        background-color: rgb(255,255,255);
        font-weight: bold;
        text-decoration: none;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    .relative {
        position:relative;
    }

    .print-only { display: none; }

    .menu,
    .menu li {
        list-style: none;
        line-height:1;
        margin: 0;
        padding: 0;
    }

    .menu .item {
        display: block;
        text-decoration: none;
    }

    .menu-horizontal li {
        display: inline-block;
        vertical-align: top;
    }

    /* flexbox layout */
    .flexbox {
        display: flex;        
        flex-direction: column;
    }

    .flexbox-horizontal {
        flex-direction: row;
    }
    .flexbox-order-1 {

        order: 1;
    }

    .flexbox-order-2 {
        order: 2;
    }

    .flexbox-order-3 {
        order: 3;
    }

    .typo3-messages {
        list-style: none;
        padding: 0;
        margin-bottom: 1.25rem;
    }

    .typo3-messages .alert {
        color: rgb(255,255,255);
        text-shadow: 0 0 0.25em rgba(0,0,0,0.25);
        padding:0.625rem;
        margin-bottom: 0.625rem;
    }
    .typo3-messages .alert > * {
        color: rgb(255,255,255);
    }
    .typo3-messages p:last-child {
        margin-bottom: 0;
    }

    /* TYPO3 colors except notice */
    .typo3-messages .alert-danger {
        background-color: #c83c3c;
    }

    .typo3-messages .alert-info {
        background-color: #6daae0;
    }

    .typo3-messages .alert-notice {
        background-color: rgb(151,151,151);
    }

    .typo3-messages .alert-success {
        background-color: #79a548;
    }

    .typo3-messages .alert-warning {
        background-color: #e8a33d;
    }
}

/* lightbox */
@media all {

    /* lightbox link */
    a.lightbox {
        position: relative;
    }

    a.lightbox:before {
        content: "+";
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        left: auto;
        bottom: auto;
        font-size: 2em;
        width: 1.25em;
        height: 1.25em;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        border:  none;
        line-height: 1;
        text-align: center;
        color: rgb(255,255,255);
        background: rgb(0,0,0);
    }

    /* lightbox additional styles */
    .mfp-content {
        border: 4px solid rgb(255,255,255);
    }
    .mfp-image-holder .mfp-close {
        right: 0;
        padding: 0.625rem;
        width: auto;
        font-size: 2.5rem;
        line-height: 1;
    }

    .mfp-image-holder .mfp-close:hover {
        opacity: 1;
    }

    .mfp-figure:after{content:none;}

    img.mfp-img {
        padding: 0;
    }

    .mfp-content figcaption {
        padding: 0.625rem 0.625rem 0.375rem;
        background: rgb(255,255,255);
    }

    .mfp-bottom-bar {
        display: flex;
        margin: 0;
        position: static;
    }

    .mfp-title {
        line-height: inherit;
        font-size: inherit;
        color: inherit;
        flex-grow: 1;
    }

    .mfp-counter {
        position: static;
        color: currentColor;
    }
    .mfp-close {
        text-shadow: 0 0 5px rgb(0,0,0);
    }
}
