/* TiCeelements.css */

/* 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 {
        font-size: 87.5%;
        line-height: 1.25;
        text-align: left;
        padding: 0.3125rem 0 0;
        caption-side: bottom;
    }
}

/* 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.3125rem; }

    .ce-type-header,
    .ce-type-shortcut,
    .ce-type-html,
    [class*="ce-type-grid-"] {
        margin-bottom: 0 !important;
    }

    /* uploads */
    .ce-uploads {
        list-style-type: none;
        padding-left: 0;
    }

    /* frames */
    .ce-textpic-inner { overflow: hidden; }

    .ce-frame-inverted > div {
        color: rgb(255,255,255);
        background-color: rgb(102,102,102);
        text-shadow: 0 0 3px rgba(0,0,0,0.5);
    }
    .ce-frame-inverted a:not(.btn) {
        color: rgb(255,255,255);
        text-shadow: 0 0 3px rgba(0,0,0,0.5);
    }

    .ce-frame-inverted .c-important {
        font-weight: bold;
        text-shadow: 0 0 3px rgba(255,255,255,0.25);
    }

    .ce-frame-inverted a:not(.btn):focus,
    .ce-frame-inverted a:not(.btn):hover {
        text-shadow: 0 0 3px rgba(255,255,255,0.25);
    }
}

/* tables */
@media all {

    .ce-table {
    }

    .ce-table th,
    .ce-table td {
        text-align: left;
        vertical-align: top;
    }

    .ce-table-bordered th,
    .ce-table-bordered td,
    .ce-table-striped th,
    .ce-table-striped td {
        padding:0.3125rem;
    }

    .ce-table-bordered {
        border: 1px solid rgb(205,205,205);
        border-collapse: collapse;
    }

    .ce-table-bordered th,
    .ce-table-bordered td {
        border: 1px solid rgb(205,205,205);
    }

    .ce-table-striped tr {
        background-color: rgba(0,0,0,0.05);
    }

    .ce-table-striped tr:nth-child(odd) {
        background:rgba(0,0,0,0.1);
    }
    .ce-table-striped thead th,
    .ce-table-striped tfoot td {
        background: rgba(0,0,0,0.05);
    }

    .ce-layout-fullwidth-inner > .ce-table {
        width: 100%;
    }
    .ce-frame-align-all-center th,
    .ce-frame-align-all-center td,
    .ce-frame-align-all-center caption,
    .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;
    }
}

/* 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 {
        margin-top: 1.25rem;
    }

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

    .ce-embed > * {
        position:absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
        width: 100%;
        height: 100%;
        overflow:hidden;
        border: 0;
        border-radius: var(--radius-large);
    }
    .ce-embed-default {
        padding-bottom: 75%;
    }
    .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-intext .ce-gallery {
        margin-bottom: 0.3125rem;
    }

    /* fix ul/ol bullets collapsing */
    .ce-intext.ce-left ol,
    .ce-intext.ce-left ul {
        overflow: auto;
    }

    .ce-intext .ce-gallery.ce-width-set {
        width: auto;
        max-width: 50%;
    }

    .ce-center .ce-row {
        text-align: center;
    }

    .ce-width-set .ce-column {
        width: auto;
        display: inline-block;
        vertical-align: top;
        float: none;
        display: flex;
        justify-content: center;
    }

    .ce-height-set .ce-column {
        width: auto;
        max-width: 100%;
    }

    .ce-center .ce-media-caption,
    .ce-right .ce-media-caption { text-align: left;}


    /* image left/right */

    .ce-intext { 
        margin: 0 -0.3125rem;
    }
    .ce-intext.ce-nowrap {
        display: flex;
        flex-direction: column;
        align-items: center;        
    }
    .ce-intext .ce-gallery {
        order: 0;
    }
    .ce-intext .ce-textmedia-inner {
        order: 1;
    }
    .ce-intext > * {
        padding: 0 0.3125rem;
    }

    .ce-intext::after {
        content: "";
        display: table;
        clear: both;
    }

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


}

/* "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-doc::before,
    .fa-icon-docx::before {
        content: "\f1c2";
    }

    .fa-icon-xls::before,
    .fa-icon-xlsx::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 0rem 1.25rem rgba(0,0,0,0.25);
    }
    [class*="ce-type-grid-"] > .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) {

    /* 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 {

    /* image rendering */
    .ce-nowrap .ce-gallery { margin-bottom: 0.625rem; }
    .ce-nowrap .ce-bodytext { overflow: hidden; }
    .ce-nowrap.ce-right .ce-bodytext { padding-right: 0; }
    .ce-nowrap.ce-left .ce-bodytext { padding-left: 0; }

    .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 { margin: 0 -0.625rem; }
    .ce-intext > * {
        padding: 0 0.625rem;
    }

    .ce-intext .ce-gallery {
        width: 50%;
        width: calc(50% + 0.625rem);
    }

    .ce-intext.ce-right .ce-gallery {
        float: right;
        padding-left: 1.25rem;
    }
    .ce-intext.ce-left .ce-gallery {
        float: left;
        padding-right: 1.25rem;
    }

}

/* large - desktop */
@media all and (min-width: 62.5em) {

    .ce-row { margin: 0 -1.25rem 1.875rem; }
    .ce-column { padding: 0 1.25rem; }

    /* image left/right */

    .ce-intext { 
        margin: 0 -1.25rem; 
        flex-direction: row;
    }
    .ce-intext.ce-nowrap {
        flex-direction: row;   
    }
    .ce-intext.ce-left {
        & .ce-gallery {
            order: 0;
        }
        & .ce-textmedia-inner {
            order: 1;
        }
    }
    .ce-intext.ce-right {
        & .ce-gallery {
            order: 1;
        }
        & .ce-textmedia-inner {
            order: 0;
        }
    }
    .ce-intext > * {
        padding: 0 1.25rem;
    }

    .ce-intext.ce-left ,
    .ce-intext.ce-right {
        /*! display: flex; */
        /*! justify-content: center; */
        /*! align-items: center; */
    }

    .ce-intext.ce-left .ce-gallery ,
    .ce-intext.ce-right .ce-gallery {
        flex-shrink: 0;
    }

    .ce-intext .ce-gallery {
        width: 50%;
        width: calc(50% + 1.25rem);
    }

    .ce-element {
        margin-bottom: 0.9375rem;
    }

    /* image rendering */

    .ce-intext .ce-gallery {
        width: 33.333%;
        width: calc(33.333% + 1.25rem);
    }

    .ce-above-header .ce-gallery,
    .ce-above .ce-gallery {
        padding-bottom: 0.625rem;
    }

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

    /* layouts */
    .ce-layout-box-outer {
        margin-bottom: 1.5625rem;
    }
    [class*="ce-type-grid-"] > .ce-layout-box-outer {
        margin-bottom: 2.5rem;
    }
    .ce-layout-box .ce-intext .ce-gallery {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    /* tables */
    .ce-table-bordered th,
    .ce-table-bordered td,
    .ce-table-striped th,
    .ce-table-striped td {
        padding:0.625rem;
    }

    .ce-below .ce-gallery {
        margin-top: 2.5rem;
    }

    .page-footer .ce-below .ce-gallery {
        margin-top: 0;
    }

}

/* xlarge */
@media all and (min-width: 82.5em) {

    .ce-element {
        margin-bottom: 1.5625rem;
    }
    .ce-layout-box-outer {
        margin-bottom: 0.9375rem;
    }
}



