/* TiElements.css */


/* bootstrap reboot 4 or normalize.css v6.0.0 expected!https://github.com/necolas/normalize.css/blob/6.0.0/normalize.css */


/* ti_base.css expected! */

@media all {
    /* redefine some things */
    .ce-element figure {
        margin: 0;
    }
    .ce-element img {
        display: block;
    }
    .ce-element img {
        max-width: 100%;
        height: auto;
    }
    caption,
    figcaption {
        color: inherit;
        caption-side: bottom;
        border-right: 4px solid rgb(0, 113, 187);
        font-size: 87.5%;
        line-height: 1.25;
        margin: 0.625rem 0;
        padding: 0;
        padding-right: 0.625rem;
        text-align: right;
    }
    div[class*="ce-frame-inverted"] caption,
    div[class*="ce-frame-inverted"] figcaption {
        border-color: rgb(255, 255, 255);
    }
}


/* CE options*/

@media all {
    /* header */
    .ce-header-center {
        text-align: center;
    }
    .ce-header-left {
        text-align: left;
    }
    .ce-header-right {
        text-align: right;
    }
    /* sitemap menu */
    .ce-menu {
        list-style: none;
        padding: 0;
    }
    .ce-menu a {
        display: block;
        text-decoration: none;
        padding: 0.3125rem;
    }
    /* teaserlink aka fatlink */
    .ce-teaserlink-outer {
        position: relative;
    }
    /* every link inside (there should not be one...) */
    .ce-teaserlink-outer a {
        z-index: 2;
        position: relative;
    }
    /* the fatlink itself */
    .ce-teaserlink-outer .ce-teaserlink-link {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
        opacity: 0;
    }
    .ce-teaserlink-link::before,
    .ce-teaserlink-link::after {
        content: none !important;
    }
    .ce-element {
        margin-bottom: 0.9375rem;
    }
    .ce-type-header,
    .ce-type-shortcut,
    .ce-type-html,
    .ce-type-gridelements_pi1 {
        margin-bottom: 0 !important;
    }
    /* uploads */
    .ce-uploads {
        list-style-type: none;
        padding-left: 0;
    }
    .ce-uploads li+li {
        margin-top: 0.625rem;
    }
    .ce-uploads-filesize {
        white-space: nowrap;
    }
    /* frames */
    .ce-textpic-inner {
        overflow: hidden;
    }
    div[class*="ce-frame-inverted"]>div:not(.ce-header) {
        color: rgb(255, 255, 255);
        background-color: rgb(0, 113, 187);
        text-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
    }
    div[class*="ce-frame-inverted"] a:not(.btn) {
        color: rgb(255, 255, 255);
        text-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
    }
    div[class*="ce-frame-inverted"] .c-important {
        font-weight: bold;
        text-shadow: 0 0 3px rgba(255, 255, 255, 0.25);
    }
    div[class*="ce-frame-inverted"] a:not(.btn):focus,
    div[class*="ce-frame-inverted"] a:not(.btn):hover {
        text-shadow: 0 0 3px rgba(255, 255, 255, 0.25);
    }
    .ce-frame-border {
        border-left: 4px solid rgb(0, 113, 187);
        padding-left: 1.25rem;
        margin-bottom: 1.875rem;
    }
    .ce-frame-border> :last-child,
    .ce-frame-border .ce-bodytext> :last-child {
        margin-bottom: 0;
    }
}


/* tables */

@media all {
    .ce-table {}
    .ce-table th,
    .ce-table td {
        text-align: left;
        vertical-align: top;
    }
    .ce-table th:not(:last-child),
    .ce-table td:not(:last-child) {
        padding-right: 1.25rem;
    }
    .ce-table.ce-table-bordered th,
    .ce-table.ce-table-bordered td,
    .ce-table.ce-table-striped th,
    .ce-table.ce-table-striped td {
        padding: 0.3125rem 0.625rem;
    }
    .ce-table-bordered {
        border: 2px solid rgb(237, 237, 237);
        border-collapse: collapse;
    }
    .ce-table-bordered th,
    .ce-table-bordered td {
        border: 1px solid rgb(237, 237, 237);
    }
    .ce-table-striped th,
    .ce-table-striped td {
        font-weight: 400;
        background-color: rgba(0, 0, 0, 0.025);
    }
    .ce-table-striped tr:nth-child(odd) th,
    .ce-table-striped tr:nth-child(odd) td {
        background-color: transparent;
    }
    .ce-table-striped thead th,
    .ce-table-striped thead td,
    .ce-table-striped tfoot th,
    .ce-table-striped tfoot td {
        background-color: rgba(0, 0, 0, 0.05) !important;
    }
    .ce-table-striped tr {
        border-bottom: 2px solid rgba(0, 0, 0, 0.075);
    }
    .ce-table-striped tr:nth-child(odd):last-child {
        border-bottom-width: 0;
    }
    .ce-type-table .ce-layout-fullwidth-inner {
        overflow: auto;
        overflow-y: visible;
    }
    .ce-type-table .ce-layout-fullwidth-inner>.ce-table {
        width: 100%;
    }
    .ce-frame-align-all-center th,
    .ce-frame-align-all-center td,
    .ce-frame-align-header-center th,
    .ce-frame-align-data-center td {
        text-align: center;
    }
    .ce-frame-align-data-right td {
        text-align: right;
    }
    .rc-xsmall .ce-table-small-linearized tr,
    .rc-xsmall .ce-table-small-linearized td,
    .rc-xsmall .ce-table-small-linearized th,
    .rc-small .ce-table-small-linearized tr,
    .rc-small .ce-table-small-linearized td,
    .rc-small .ce-table-small-linearized th {
        display: block;
    }
    .rc-small .ce-table-small-linearized.ce-table-striped th+td,
    .rc-small .ce-table-small-linearized.ce-table-striped td+td,
    .rc-small .ce-table-small-linearized.ce-table-striped th+th,
    .rc-xsmall .ce-table-small-linearized.ce-table-striped th+td,
    .rc-xsmall .ce-table-small-linearized.ce-table-striped td+td,
    .rc-xsmall .ce-table-small-linearized.ce-table-striped th+th {
        border-left: none;
        border-top: 1px solid rgba(0, 0, 0, 0);
    }
}


/* image rendering */

@media all {
    /* lazyloading */
    .ce-element img[data-sizes="auto"] {
        display: block;
        width: 100%;
        opacity: 0;
    }
    .ce-element img[data-sizes="auto"].lazyloaded {
        padding-bottom: 0 !important;
        height: auto!important;
        opacity: 1;
    }
    .no-js .ce-element .lazyload {
        display: none !important;
    }
    .ce-gallery .ce-media,
    .ce-gallery .ce-column,
    .ce-gallery .ce-media-caption,
    .ce-gallery a,
    .ce-gallery img {
        display: block;
        max-width: 100%;
    }
    .ce-above-header .ce-gallery,
    .ce-above .ce-gallery {
        padding-bottom: 0.3125rem;
    }
    .ce-header+.ce-above .ce-gallery,
    .ce-below .ce-gallery {
        padding-top: 0.3125rem;
        padding-bottom: 0.3125rem;
    }
    .ce-below .ce-gallery:first-child {
        padding-top: 0;
    }
    .ce-row {
        margin: 0 -0.3125rem;
        line-height: 0;
    }
    .ce-column {
        float: left;
        width: 100%;
        margin-bottom: 0.625rem;
        padding: 0 0.3125rem;
    }
    [data-ce-columns="2"] .ce-column {
        max-width: 50%;
    }
    [data-ce-columns="2"] .ce-column:nth-child(2n+1) {
        clear: left;
    }
    [data-ce-columns="3"] .ce-column {
        max-width: 33.3333%;
    }
    [data-ce-columns="3"] .ce-column:nth-child(3n+1) {
        clear: left;
    }
    [data-ce-columns="4"] .ce-column {
        max-width: 50%;
    }
    [data-ce-columns="4"] .ce-column:nth-child(2n+1) {
        clear: left;
    }
    /* svg */
    .ce-media img[src$="svg"] {
        width: 100%;
    }
    /* video */
    .ce-embed {
        position: relative;
        height: 0;
        overflow: hidden;
        padding-bottom: 56.25%;
    }
    .ce-embed-default {
        padding-bottom: 56.25%;
    }
    .ce-embed-ratio-4-3 {
        padding-bottom: 75%;
    }
    .ce-embed-ratio-3-2 {
        padding-bottom: 66.6667%;
    }
    .ce-embed-ratio-16-10 {
        padding-bottom: 62.5%;
    }
    .ce-embed-ratio-16-9 {
        padding-bottom: 56.25%;
    }
    .ce-embed>* {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }
    /* audio */
    .ce-embed-audio {
        position: static;
        height: auto;
    }
    .ce-embed-audio>* {
        position: static;
        height: auto;
        min-height: 32px;
        /* chrome has height:0 without */
        overflow: visible;
    }
    .ce-center .ce-row {
        text-align: center;
    }
    .ce-width-set .ce-column {
        width: auto;
        display: inline-block;
        vertical-align: top;
        float: none;
    }
    .ce-height-set .ce-column {
        width: auto;
        max-width: 100%;
    }
    /* image left/right */
    .ce-intext .ce-gallery {
        width: 50%;
        width: calc(50% + 0.3125rem);
    }
    .ce-intext.ce-right .ce-gallery {
        float: right;
        padding-left: 0.625rem;
    }
    .ce-intext.ce-left .ce-gallery {
        float: left;
        padding-right: 0.625rem;
    }
    /* in-text nowrap */
    .ce-nowrap.ce-right .ce-gallery,
    .ce-nowrap.ce-left .ce-gallery {
        float: none;
        padding: 0;
        width: 100%;
    }
    /* fix ul/ol bullets collapsing */
    .ce-intext.ce-left ol,
    .ce-intext.ce-left ul {
        overflow: auto;
    }
    .ce-intext .ce-gallery {
        margin-bottom: 0.3125rem;
    }
    .ce-intext .ce-gallery.ce-width-set {
        width: auto;
        max-width: 50%;
    }
}


/* "fake" fa-icons for ce-uploads and ke_search */

@media all {
    .fa:not(i)::after {
        display: inline-block;
        font-family: FontAwesome;
        font-weight: normal;
        font-style: normal;
        padding-left: 0.25em;
        text-decoration: none;
    }
    [class*="fa-icon-"]::before {
        content: "\f016";
    }
    .fa-icon-pdf::before {
        content: "\f1c1";
    }
    .fa-icon-odt::before,
    .fa-icon-txt::before {
        content: "\f0f6";
    }
    .fa-icon-dotx::before,
    .fa-icon-doc::before,
    .fa-icon-docx::before {
        content: "\f1c2";
    }
    .fa-icon-xls::before,
    .fa-icon-xlsx::before,
    .fa-icon-xltx::before {
        content: "\f1c3";
    }
    .fa-icon-pps::before,
    .fa-icon-ppt::before,
    .fa-icon-pptx::before {
        content: "\f1c3";
    }
    .fa-icon-png::before,
    .fa-icon-gif::before,
    .fa-icon-jpg::before,
    .fa-icon-jpeg::before,
    .fa-icon-tif::before,
    .fa-icon-tiff::before,
    .fa-icon-bmp::before {
        content: "\f1c5";
    }
    .fa-icon-zip::before,
    .fa-icon-rar::before,
    .fa-icon-tar::before,
    .fa-icon-tgz::before {
        content: "\f1c6";
    }
    .fa-icon-mp4::before,
    .fa-icon-ogg::before,
    .fa-icon-avi::before,
    .fa-icon-mpg::before,
    .fa-icon-mpeg::before {
        content: "\f1c8";
    }
    .fa-icon-mp3::before {
        content: "\f1c7";
    }
    .fa-icon-page::before {
        content: "\f016";
    }
    .fa-icon-file::before {
        content: "\f0f6";
    }
    .fa-icon-news::before {
        content: "\f1ea";
    }
    .fa-icon-external::before {
        content: "\f0ac";
    }
    .fa-icon-external+a::after {
        content: "\f08e";
        display: inline-block;
        font-family: FontAwesome;
        font-weight: normal;
        font-style: normal;
        line-height: 1;
        padding-left: 0.25em;
        text-decoration: none;
    }
}


/* layouts */

@media all {
    /* layout-box */
    .ce-layout-box-outer {
        color: rgb(51, 51, 51);
        background: rgb(255, 255, 255);
        text-shadow: none;
        margin-bottom: 0.9375rem;
        box-shadow: 0 0 4px rgba(0, 0, 0, 0.125);
    }
    .ce-type-gridelements_pi1>.ce-layout-box-outer {
        margin-bottom: 1.25rem;
    }
    .ce-layout-box-inner {
        padding: 0.9375rem 0.625rem 0.3125rem;
    }
    .ce-layout-box-inner>.ce-above-header>.ce-gallery,
    .ce-layout-box-inner>.ce-above>.ce-gallery,
    .ce-layout-box-inner>.ce-below>.ce-gallery {
        margin-left: -0.625rem;
        margin-right: -0.625rem;
    }
    .ce-layout-box-inner>.ce-above-header {
        margin-top: -0.9375rem;
    }
    .ce-layout-box-inner>.ce-below>.ce-gallery {
        margin-bottom: -1.25rem
    }
    .ce-layout-box-inner>.ce-element:last-child {
        margin-bottom: 0.3125rem;
    }
    .ce-layout-box a:not(.btn) {
        color: inherit;
        text-shadow: none;
    }
}

@media all and (min-width: 30em) {
    /* image rendering */
    .ce-intext.ce-right .ce-gallery {
        padding-left: 1.25rem;
    }
    .ce-intext.ce-left .ce-gallery {
        padding-right: 1.25rem;
    }
    .ce-intext.ce-nowrap .ce-gallery {
        padding-left: 0;
        padding-right: 0;
    }
    /* layout-box */
    .ce-layout-box-inner {
        padding: 1.25rem 1.25rem 0.625rem;
    }
    .ce-layout-box-inner>.ce-above-header>.ce-gallery,
    .ce-layout-box-inner>.ce-above>.ce-gallery,
    .ce-layout-box-inner>.ce-below>.ce-gallery {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }
    .ce-layout-box-inner>.ce-above-header {
        margin-top: -1.25rem;
    }
    .ce-layout-box-inner>.ce-below>.ce-gallery {
        margin-bottom: -1.5625rem
    }
}


/* medium - tablet + print */

@media all and (min-width: 47.5em),
print {
    .ce-table .ce-table-bordered th,
    .ce-table .ce-table-bordered td,
    .ce-table .ce-table-striped th,
    .ce-table .ce-table-striped td {
        padding: 0.3125rem 1.25rem;
    }
    /* image rendering */
    .ce-row {
        margin: 0 -0.625rem 0.625rem;
    }
    .ce-row:last-child {
        margin-bottom: 0;
    }
    .ce-column {
        padding: 0 0.625rem;
    }
    [data-ce-columns="4"] .ce-column {
        width: 25%;
    }
    [data-ce-columns="4"] .ce-column:nth-child(2n+1) {
        clear: none;
    }
    [data-ce-columns="4"] .ce-column:nth-child(4n+1) {
        clear: none;
    }
    /* image left/right */
    .ce-intext.ce-right .ce-gallery {
        padding-left: 1.25rem;
    }
    .ce-intext.ce-left .ce-gallery {
        padding-right: 1.25rem;
    }
    .ce-intext.ce-nowrap .ce-gallery:not(.ce-width-set),
    .ce-intext .ce-gallery {
        width: 50%;
        width: calc(50% + 0.625rem);
    }
    .ce-nowrap .ce-gallery {
        margin-bottom: 0.3125rem;
    }
    .ce-nowrap {
        display: flex;
    }
    .ce-nowrap .ce-textpic-inner {
        flex-grow: 1;
    }
    .ce-nowrap .ce-gallery {
        flex-shrink: 0;
    }
}


/* large - desktop */

@media all and (min-width: 62.5em) {
    .ce-element {
        margin-bottom: 1.5625rem;
    }
    .ce-frame-border {
        margin-bottom: 2.5rem;
    }
    /* image rendering */
    .ce-row {
        margin: 0 -1.25rem 1.875rem;
    }
    .ce-column {
        padding: 0 1.25rem;
    }
    .ce-above-header .ce-gallery,
    .ce-above .ce-gallery {
        padding-bottom: 0.625rem;
    }
    /* image left/right */
    .ce-intext.ce-nowrap .ce-gallery:not(.ce-width-set),
    .ce-intext .ce-gallery {
        width: calc((100% - 5rem) / 3 + 2.5rem);
    }
    .ce-intext.ce-right .ce-gallery {
        padding-left: 2.5rem;
    }
    .ce-intext.ce-left .ce-gallery {
        padding-right: 2.5rem;
    }
    .ce-nowrap .ce-gallery {
        margin-bottom: 0.3125rem;
    }
    caption,
    figcaption {
        margin: 1.25rem 0rem;
        padding-right: 0.9375rem;
    }
    /* layouts */
    .ce-layout-box-outer {
        margin-bottom: 1.5625rem;
    }
    .ce-type-gridelements_pi1>.ce-layout-box-outer {
        margin-bottom: 2.5rem;
    }
    .ce-layout-box .ce-left .ce-gallery {
        padding-right: 1.25rem;
    }
    .ce-layout-box .ce-right .ce-gallery {
        padding-left: 1.25rem;
    }
}


/* xlarge */

@media all and (min-width: 92.5em) {
    .ce-element {
        margin-bottom: 4.0625rem;
    }
    .sf-megasub .ce-element {
        margin-bottom: 1.5625rem;
    }
    .ce-frame-border {
        margin-bottom: 5rem;
    }
    .ce-layout-box-outer {
        margin-bottom: 0.9375rem;
    }
}