/* TiGridelements.css */

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

/* full width */
@media all {
    .ce-grid-fullwidth {
        position: relative;
        margin-left: -0.625rem;
        margin-right: -0.625rem;
        overflow: hidden;
    }

    .ce-grid-fullwidth-bg {
        padding-top: 1.5625rem;
        margin-bottom: 1.5625rem;
        text-shadow: 0 0 3px rgba(255,255,255,0.5);
    }

    .ce-grid-fullwidth-bg .ce-grid-bg {
        position: absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
        background-position: center center;
        background-size: cover;
    }
}

/* grid-slider. grid-carousel */
@media all {
    /* no slider, no slides... */
    .no-js .ce-slider > :not(:first-child) {
        display: none;
    }

    /* slider and carousel */
    .slick-slider .ce-element { margin-bottom: 0; }

    .slick-dots {
        line-height: 0;
        list-style: none;
        position: absolute;
        left: 50%;
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        margin: 0.625rem 0 0;
        padding: 0;
    }

    .slick-dots li {
        display: inline-block;
        line-height: 1;
    }

    .slick-dots li + li {
        margin-left: 0.625rem;
    }

    .slick-dots button {
        display: block;
        font-size: 0;
        width: 0.625rem;
        height: 0.625rem;
        border: none;
        border-radius: 50%;
        color: inherit;
        background: currentColor;
        opacity: 0.25;
        -webkit-appearance: none;
        padding: 0;
        box-shadow: none;
    }

    .slick-dots .slick-active button {
        opacity: 0.5;
    }

    /* only slider */
    .ce-grid-slider {
        margin-bottom: 2.5rem;
    }

    .ce-slider .slick-slide { position: relative; }

    .ce-slider .ce-gallery,
    .ce-slider .ce-row,
    .ce-slider .ce-column {
        margin: 0;
        padding: 0;
    }

    .ce-slider .ce-header {
        position: absolute;
        left: 0;
        -ms-transform: translateY(-100%);
        transform: translateY(-100%);
        margin: 0;
        padding: 0.625rem;
    }

    .ce-slider .ce-header > * {
        text-shadow: 0 0 0.25rem rgba(0,0,0,0.5);
    }

    .ce-slider .ce-header,
    .ce-slider .ce-header a {
        color: rgb(255,255,255);
        text-decoration: none;
    }

    .ce-slider .ce-bodytext {
        background: rgb(102,102,102);
        color: rgb(255,255,255);
        padding: 0.625rem;
    }

    .ce-slider p:last-child {
        margin-bottom: 0;
    }

    .ce-slider .ce-teaserlink-outer { margin:0; }

    .slick-pause {
        position: absolute;
        top:  0.625rem;
        right: 0.625rem;
        z-index: 1;
        font-size: 125%;
        -webkit-appearance: none;
        border: none;
        background: rgba(0,0,0,0.125);
        color: rgba(255,255,255,0.5);
        transition: all 0.25s;
    }

    .slick-paused,
    .slick-pause:hover,
    .slick-pause:focus {
        color: rgb(255,255,255);
        background: rgba(0,0,0,0.5);
    }

    .ce-frame-boxslider .ce-layout-box-outer {
        margin-bottom: 1.875rem;
    }

    .ce-frame-boxslider .ce-layout-box-inner {
        padding: 0;
    }

    .ce-frame-boxslider .ce-slider {
        margin-bottom:0;
    }

    .ce-frame-boxslider .ce-bodytext {
        color: inherit;
        background: none;
    }

    /* carousel */
    .ce-carousel {
        margin: 0 -0.625rem 0.9375rem;
    }

    .ce-carousel .slick-track > .ce-element {
        padding: 0 0.625rem;
        height: auto;
    }
    .ce-carousel .slick-arrow {
        display: none !important;
    }

    .ce-carousel .slick-dots {
        position: static;
        transform: none;
        text-align: center;
        margin-top: -0.3125rem;
    }
}

/* accordeon, tabs */
@media all {
    /* Accordeon (and tabs in xsmall/small )*/
    .ce-tabs,
    .ce-accordeon {
        margin-bottom: 1.25rem;
    }

    .ce-tabs .rc-head .rc-link,
    .ce-accordeon .rc-head .rc-link {
        position: relative;
    }

    .ce-tabs .rc-head .rc-link::after,
    .ce-accordeon .rc-head .rc-link::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0.625rem;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        /*   border: 0.375rem solid rgba(0,0,0,0);
           border-top-color: currentColor;
           border-bottom-width: 0; */
        font: normal normal normal 14px/1 FontAwesome;
        font-size: 150%;
        content: "\f0d7";
    }

    .ce-tabs .rc-head.rc-open .rc-link::after,
    .ce-accordeon .rc-head.rc-open .rc-link::after {      
        content: "\f00d";
        font-size: 120%;
    }

    .ce-tabs > .ce-element + .ce-element,
    .ce-accordeon > .ce-element + .ce-element {
        margin-top:0.625rem;
    }

    .ce-tabs .rc-head,
    .ce-accordeon .rc-head {
        margin: 0;
        border: 1px solid currentColor;
        border-radius: 3px;
    }
    .ce-tabs .rc-head.rc-open,
    .ce-accordeon .rc-head.rc-open {
        border-bottom: 1px solid currentColor;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }

    .ce-tabs > .ce-element > .rc-head > *,
    .ce-accordeon > .ce-element > .rc-head > * {
        margin:0;
        padding: 0.625rem;
    }
    .ce-tabs > .ce-element > .rc-head > .rc-link > *,
    .ce-accordeon > .ce-element > .rc-head > .rc-link > * {
        padding-right: 1.25rem;
    }

    .ce-tabs .rc-link:hover,
    .ce-accordeon .rc-link:hover {
        text-decoration: none;
    }

    .ce-tabs .rc-head .rc-show-closed > *,
    .ce-accordeon .rc-head .rc-show-closed > *,
    .ce-tabs .rc-head .rc-show-opened > *,
    .ce-accordeon .rc-head .rc-show-opened > * { margin:0; padding:0; }

    .ce-tabs .rc-head .fa,
    .ce-accordeon .rc-head .fa {
        width: 1em;
        white-space: nowrap;
        margin-right: 0.625rem;
    }

    .ce-tabs .rc-container-enabled,
    .ce-accordeon .rc-container-enabled {
        padding: 0.625rem 0.625rem 0;
        border: 1px solid currentColor;
        border-top: 0;
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px;
    }

    .ce-accordeon .ce-layout-box-outer {
        margin: 0;
    }

    .ce-accordeon .ce-layout-box-inner {
        padding: 0;
    }

    .ce-accordeon .ce-layout-box .rc-head {
        border: 0;
    }

    .ce-accordeon .ce-layout-box .rc-link {
        padding: 0.625rem;
    }

    .ce-accordeon .ce-layout-box .rc-container-enabled {
        border: 0;
        border-top: 1px solid rgba(0,0,0,0.25);
    }

}

/* masonry */
@media all {
    .ce-masonry {
        float: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .ce-masonry > .ce-element {
        width: 100%;
    }
}
@media all and (min-width:30em) {
    /* grid styles */
    .ce-grid {
        margin: 0 -0.3125rem;
    }
    .ce-grid > .ce-col {
        float: left;
        padding: 0 0.3125rem;
        width: 100%;
        max-width: 100%;
        min-height: 1px;
    }

    /* 2 col */
    .ce-grid-50-50 > .ce-col { width: 50%; }
    .ce-grid-50-50 > .ce-col:nth-child(2n+1) {
        clear: left;
    }

    .ce-grid-fullwidth {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }

    /* tabs */
    .ce-tabs > .ce-element > .rc-head > *,
    .ce-accordeon > .ce-element > .rc-head > * {
        padding: 1.25rem;
        padding-right: 2.5rem;
    }
    .ce-tabs > .ce-element > .rc-head > .rc-link > *,
    .ce-accordeon > .ce-element > .rc-head > .rc-link > * {
        padding-right: 1.875rem;
    }

    .ce-tabs .rc-head .fa,
    .ce-accordeon .rc-head .fa {
        margin-right: 1.25rem;
    }

    .ce-tabs .rc-container-enabled,
    .ce-accordeon .rc-container-enabled {
        padding: 1.25rem 1.25rem 0;
    }

    .ce-tabs .rc-head .rc-link::after, .ce-accordeon .rc-head .rc-link::after {
        right: 1.25rem;
    }
    /* accordeon */
    .ce-accordeon .ce-layout-box .rc-link {
        padding: 1.25rem;
    }

    /* slider */
    .slick-pause {
        top:  1.25rem;
        right: 1.25rem;
    }
    .ce-slider .ce-header,
    .ce-slider .ce-bodytext {
        padding-left: 1.25rem;
        padding-right:1.25rem;
    }

}

/* medium */
@media all and (min-width: 47.5em) {
    /* FIXME grid styles */
    .ce-grid,
    .ce-grid-medium {
        margin: 0 -0.625rem;
    }
    .ce-grid > .ce-col,
    .ce-grid-medium > .ce-col {
        float: left;
        padding: 0 0.625rem;
        max-width: 100%;
        min-height: 1px;
    }
    
    /* 1 col */
    .ce-grid-100 > .ce-col {
        float: none !important;
    }

    /* 2 col */
    .ce-grid-medium-50-50 > .ce-col { width: 50%; }
    .ce-grid-medium-50-50 > .ce-col:nth-child(2n+1) {
        clear: left;
    }
    .ce-grid-33-66 > .ce-col { width: 33.333%; }
    .ce-grid-33-66 > .ce-col + .ce-col { width:66.666%; }

    .ce-grid-66-33 > .ce-col { width: 66.666%; }
    .ce-grid-66-33 > .ce-col + .ce-col { width:33.333%; }

    /* 3 col */
    .ce-grid-33-33-33 > .ce-col { width: 33.3333%; }
    .ce-grid-33-33-33 > .ce-col:nth-child(3n+1) {
        clear: left;
    }

    /* rc-tabs as tabs :-) */

    .rc-tab-headings {
        list-style: none;
        padding: 0;
        margin: 0;
        position: relative;
        z-index: 1;
    }

    .rc-tab-headings li {
        float:left;
        margin: 0;
    }
    .rc-tab-headings button {
        color: inherit;
        border: 1px solid currentColor;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
        border-right-width: 0;
        padding: 0.625rem;
        background: none;
        opacity: 0.5;
        -webkit-appearance: none;
    }
    .rc-tab-headings li:last-child button {
        border-right-width: 1px;
    }

    .rc-tab-headings li.rc-open button {
        border-bottom-color: rgb(255,255,255);
        border-right-width: 1px;
        font-weight: bold;
        opacity: 1;
    }
    .ce-frame-inverted .rc-tab-headings li.rc-open button { border-bottom-color: rgb(102,102,102); }

    .rc-tab-headings li.rc-open + li button {
        border-left-width: 0;
    }

    .rc-tab-headings button > * {
        font-size: 1em;
        margin: 0;
        padding: 0;
        color: inherit;
        font-weight: inherit;
    }

    .rc-tab-panel {
        margin-top: -1px !important;
        border: 1px solid currentColor;
        padding: 1.25rem 1.25rem 0;
        border-radius: 0 3px 3px 3px;
    }

    /* masonry */
    .ce-masonry > .ce-element {
        width: 50%;
        float: left;
        padding: 0 0.625rem;
    }
    .ce-masonry > .ce-element:nth-child(2n+1) {
        clear: left;
    }
}

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

    /* grid */

    .ce-grid,
    .ce-grid-medium,
    .ce-grid-large {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }

    .ce-grid > .ce-col,
    .ce-grid-medium > .ce-col,
    .ce-grid-large > .ce-col {
        float:left;
        max-width: 100%;
        padding: 0 1.25rem;
    }

    .ce-grid-large-50-50 > .ce-col {
        width: 50%;
    }
    .ce-grid-large-66-33 > .ce-col {
        width: 66.6666%;
    }
    .ce-grid-large-66-33 > .ce-col + .ce-col {
        width: 33.3333%;
    }

    .ce-grid-large-33-33-33 > .ce-col {
        width: 33.3333%;
    }

    .ce-grid-fullwidth {
        margin-left: -2.5rem;
        margin-right: -2.5rem;
    }
    .ce-grid-fullwidth-bg {
        padding-top: 2.5rem;
        margin-bottom: 2.5rem;
    }


    /* slider */ 
    .page-stage .ce-slider .ce-textpic-inner {
        position: absolute;
        bottom: 2.5rem;
        left: 2.5rem;
        width: calc(50% - 2.5rem);
        background: rgba(102,102,102,0.75);
        border-radius: 0.3125rem;
    }

    .page-stage .ce-slider .ce-header {
        position: static;
        transform: none;
        padding-bottom: 0.625rem;
    }

    .page-stage .ce-slider .ce-bodytext {
        padding-top:0;
        padding-bottom: 0.9375rem;
        background: none;
    }

    .page-stage .ce-slider .slick-dots {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        margin-bottom: 0.625rem;
    }

    /* carousel */
    .ce-carousel {
        margin-left: -1.25rem;
        margin-right: -1.25rem;
    }

    .ce-carousel .slick-track > .ce-element {
        padding: 0 1.25rem;
    }

    /* accordeon, tabs */
    .ce-tabs,
    .ce-accordeon {
        margin-bottom: 2.5rem;
    }
    
    .ce-accordeon .ce-intext .ce-gallery {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    /* masonry */
    .ce-masonry > .ce-element {
        width: 33.3333%;
        float: left;
        padding: 0 1.25rem;
    }
    .ce-masonry > .ce-element:nth-child(2n+1) {
        clear: none;
    }
    .ce-masonry > .ce-element:nth-child(3n+1) {
        clear: left;
    }
}

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

    .ce-grid-fullwidth {
        left: 50%;
        margin-left: -50vw;
        margin-right:0;
        width: 100vw;
    }

    .page-stage .ce-slider .ce-textpic-inner {
        left: 50%;
        margin-left: calc(-32.5rem - 5rem);
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
    }
    /* accordeon, tabs */
    .ce-tabs,
    .ce-accordeon {
        margin-bottom: 2.5rem;
    }
}

@media all and (min-width:90em) {
    .ce-carousel .slick-arrow {
        display: block !important;
        position: absolute;
        top: calc(50% - 1.25rem);
        color: rgba(0,0,0,0);
        width: 2.5rem;
        height: 2.5rem;
        border: 0;
        border-radius: 100%;
        background: rgba(0,0,0,0.25);
        cursor: pointer;
    }
    .ce-carousel .slick-arrow::before {
        content: "\f053";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        color: rgba(255,255,255,0.75);
        font-family: FontAwesome;
        font-weight: normal;
        font-style: normal;
    }
    .ce-carousel .slick-arrow.slick-disabled {
        opacity: 0.5;
        cursor: initial;
    }
    .ce-carousel .slick-arrow:not(.slick-disabled):hover {
        background: rgba(0,0,0,0.5);
    }
    .ce-frame-inverted .ce-carousel .slick-arrow:not(.slick-disabled):hover {
        background: rgba(255,255,255,0.25);
    }

    .ce-carousel .slick-arrow {
        left: calc(50% - 43.625rem);
    }
    .ce-carousel .slick-arrow.slick-next {
        left: auto;
        right: calc(50% - 43.625rem);
    }
    .ce-carousel .slick-arrow.slick-next::before {
        content: "\f054";
    }
}
