/* TiBase.css */

/* normalize.css v6.0.0 expected! https://github.com/necolas/normalize.css/blob/6.0.0/normalize.css */

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

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

    body { margin: 0; }

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

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

}

/* 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: -webkit-flex; 
        display: flex;        

        -webkit-flex-direction: column;
        flex-direction: column;
    }

    .flexbox-horizontal {
        -webkit-flex-direction: row;
        flex-direction: row;
    }
    .flexbox-order-1 {
        -webkit-order: 1;
        order: 1; /* new */
    }

    .flexbox-order-2 {
        -webkit-order: 2;
        order: 2; /* new */
    }

    .flexbox-order-3 {
        -webkit-order: 3;
        order: 3; /* new */
    }

    .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 7 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;
    }
}
