/* TiGridelements.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! */


/* full width */

@media all {
    .ce-grid-fullwidth {
        position: relative;
        margin-left: -0.625rem;
        margin-right: -0.625rem;
    }
    .ce-grid-fullwidth-bg {
        padding-top: 1.5625rem;
        margin-bottom: 1.5625rem;
        text-shadow: 0 0 3px rgba(255, 255, 255, 0.5);
        background-color: rgb(237, 237, 237);
    }
    .ce-grid-fullwidth-bg .ce-grid-bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-position: center center;
        background-size: cover;
    }
    .ce-grid-bg-fixed {
        /* chrome on android might ignore this */
        background-attachment: fixed;
    }
    /* iOS devices can't handle fixed bg (uses height of document (might be huge on phone) instead of viewport)*/
    .is-ios .ce-grid-bg-fixed {
        background-attachment: scroll;
    }
    .js .ce-grid-bg {
        transition: opacity 1s;
    }
    .js .ce-grid-bg.lazyload {
        opacity: 0;
    }
    .js .ce-grid-bg.lazyloaded.ce-grid-bg-opacity-,
    .js .ce-grid-bg.lazyloaded.ce-grid-bg-opacity-100 {
        opacity: 1;
    }
    .js .ce-grid-bg.lazyloaded.ce-grid-bg-opacity-75 {
        opacity: 0.75;
    }
    .js .ce-grid-bg.lazyloaded.ce-grid-bg-opacity-50 {
        opacity: 0.5;
    }
    .js .ce-grid-bg.lazyloaded.ce-grid-bg-opacity-25 {
        opacity: 0.25;
    }
    .ce-grid-fullwidth-bgcolor-black {
        background-color: rgb(0, 0, 0) !important;
    }
    .ce-grid-fullwidth-bgcolor-white {
        background-color: rgb(255, 255, 255) !important;
    }
}


/* expandable */

@media all {
    .btn-expand {
        overflow: hidden;
        padding: 0 !important;
        box-shadow: 0 0.25em 0.9375em rgba(0, 0, 0, 0.125);
    }
    .btn-expand i {
        padding: 0.625em;
        margin-right: 0.3125em;
        color: rgb(255, 255, 255);
        background-color: rgb(51, 51, 51);
    }
    .btn-expand .rc-show-opened i {
        background-color: rgb(51, 51, 51);
    }
    .btn-expand .btn-inner {
        padding-right: 0.9375em;
    }
    .rc-expandable-enabled {
        position: relative;
        margin-bottom: 1.25rem;
    }
    .rc-expandable-enabled .rc-expandable-inner {
        overflow: hidden;
    }
    .rc-expandable-enabled.rc-open .rc-expandable-inner {
        max-height: none !important;
    }
    .rc-expandable-bottom {
        display: none;
    }
    .rc-expandable-enabled .rc-expandable-bottom {
        display: block;
        position: absolute;
        bottom: -0.9375rem;
        left: 0;
        right: 0;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 66%);
        text-align: center;
    }
    .rc-expandable-enabled.rc-open .rc-expandable-bottom {
        position: static;
    }
}


/* grid-slider. grid-carousel */

@media all {
    /* no js slider, no slides... */
    .ce-slider>.ce-element:first-child {
        display: block;
    }
    .ce-slider>.ce-element {
        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;
        margin: 0;
        padding: 0;
    }
    .slick-dots li+li {
        margin-left: 0.3125rem;
    }
    .slick-dots button {
        display: block;
        font-size: 0;
        width: 0.9375rem;
        height: 0.9375rem;
        border: 2px solid rgb(255, 255, 255);
        border-radius: 50%;
        color: inherit;
        background: rgb(0, 113, 187);
        opacity: 1;
        -webkit-appearance: none;
        padding: 0;
        box-shadow: none;
    }
    .slick-dots .slick-active button {
        background-color: rgb(239, 62, 35);
    }
    .slick-arrow {
        display: none !important;
    }
    /* 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(0, 113, 187);
        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;
        opacity: 0;
    }
    .ce-grid-slider:focus-within .slick-pause {
        opacity: 1;
    }
    .ce-grid-slider:hover .slick-pause {
        opacity: 1;
    }
    .slick-paused,
    .slick-pause:hover,
    .slick-pause:focus {
        color: rgb(255, 255, 255);
        background: rgba(0, 0, 0, 0.5);
    }
    .slick-pause .fa {
        margin: 0;
    }
    .slick-pause .fa-play {
        display: none;
    }
    .slick-pause.slick-paused .fa-play {
        display: inline-block;
    }
    .slick-pause.slick-paused .fa-pause {
        display: none;
    }
    .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>div {
        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: 2px solid rgb(237, 237, 237);
        border-radius: 0;
    }
    .ce-tabs .rc-head.rc-open,
    .ce-accordeon .rc-head.rc-open {
        border-bottom: 2px solid rgb(237, 237, 237);
        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: 2px solid rgb(237, 237, 237);
        border-top: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    .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%;
    }
}


/* content menu */

@media all {
    .ce-menu-content {
        position: relative;
    }
    .ce-menu-content-trigger {
        position: absolute;
        top: -7.5rem;
    }
    .ce-menu-elements .current>.item {
        background: rgb(201, 201, 201);
    }
}

@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;
    }
    .ce-grid-align-vertical {
        display: flex;
        align-items: center;
    }
    .ce-grid-align-bottom {
        display: flex;
        align-items: flex-end;
    }
    /* 2 col */
    .ce-grid-50-50>.ce-col {
        width: 50%;
    }
    .ce-grid-50-50>.ce-col:nth-child(2n+1) {
        clear: left;
    }
    .ce-grid>.ce-col-right {
        float: right;
    }
    .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) {
    .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;
    }
    .ce-grid-medium>.ce-col-right {
        float: right;
    }
    .ce-grid-align-medium-center {
        display: flex;
        align-items: center;
    }
    .ce-grid-align-medium-bottom {
        display: flex;
        align-items: flex-end;
    }
    /* 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-tabcontainer-enabled {
        filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.125));
    }
    .rc-tab-headings {
        float: left;
        position: relative;
        z-index: 1;
        list-style: none;
        padding: 0;
        margin: 0;
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 50%);
    }
    .rc-tab-headings li {
        float: left;
        margin: 0;
    }
    .rc-tab-headings button {
        border: 1px solid rgb(237, 237, 237);
        border-bottom-width: 0;
        padding: 0.625rem;
        color: rgb(153, 153, 153);
        background-color: rgb(255, 255, 255);
        -webkit-appearance: none;
    }
    div[class*="ce-frame-inverted"] .rc-tab-headings button {
        color: rgb(204, 204, 204);
        background-color: rgb(0, 113, 187);
    }
    .rc-tab-headings li+li {
        margin-left: 0.625rem;
    }
    .rc-tab-headings .rc-open button {
        position: relative;
        color: inherit;
        font-weight: bold;
        outline: none;
    }
    .rc-tab-headings .rc-open button::after {
        content: "";
        position: absolute;
        z-index: 2;
        top: 100%;
        left: 0;
        right: 0;
        border-bottom: 2px solid rgb(255, 255, 255);
    }
    div[class*="ce-frame-inverted"] .rc-tab-headings .rc-open button::after {
        border-bottom-color: rgb(0, 113, 187);
    }
    .rc-tab-headings button>* {
        font-size: 1em;
        margin: 0;
        padding: 0;
        color: inherit;
        font-weight: inherit;
    }
    .rc-tab-panel {
        clear: left;
        background-color: rgb(255, 255, 255);
        border: 1px solid rgb(237, 237, 237);
        border-top-width: 2px;
        padding: 1.25rem 1.25rem 0;
    }
    div[class*="ce-frame-inverted"] .rc-tab-panel {
        background-color: rgb(0, 113, 187);
    }
    /* 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>.ce-col-right {
        float: right;
    }
    .ce-grid-align-large-center {
        display: flex;
        align-items: center;
    }
    .ce-grid-align-large-bottom {
        display: flex;
        align-items: flex-end;
    }
    .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-66>.ce-col {
        width: 33.3333%;
    }
    .ce-grid-large-33-66>.ce-col+.ce-col {
        width: 66.6666%;
    }
    .ce-grid-fullwidth {
        margin-left: -2.5rem;
        margin-right: -2.5rem;
    }
    .ce-grid-fullwidth-bg {
        padding-top: 2.5rem;
        margin-bottom: 2.5rem;
    }
    .ce-col-large-sticky {
        position: sticky;
        top: 5rem;
    }
    .ce-grid-66>.ce-col {
        float: none;
        margin-left: auto;
        margin-right: auto;
        max-width: 66.6666%;
    }
    /* 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>div {
        padding: 0 1.25rem;
    }
    /* accordeon, tabs */
    .ce-tabs,
    .ce-accordeon {
        margin-bottom: 2.5rem;
    }
    .ce-accordeon .ce-left .ce-gallery {
        padding-right: 1.25rem;
    }
    .ce-accordeon .ce-right .ce-gallery {
        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: 92.5em) {
    .ce-grid-fullwidth {
        left: 50%;
        margin-left: -50vw;
        margin-right: 0;
        width: 100vw;
        padding-top: 5rem;
        margin-bottom: 5rem;
    }
    .ce-tabs,
    .ce-accordeon,
    .ce-grid-slider,
    .ce-type-gridelements_pi1>.ce-layout-box-outer {
        margin-bottom: 5rem;
    }
    .page-stage .ce-slider .ce-textpic-inner {
        left: 50%;
        margin-left: calc(-32.5rem - 5rem);
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
    }
    .slick-dots {
        margin-top: 1.875rem;
    }
    .ce-grid-carousel .slick-dots {
        margin-top: 0.9375rem;
        margin-bottom: 0.9375rem;
    }
}

@media all and (min-width:62.5em) {
    .slick-arrow {
        display: block !important;
        position: absolute;
        top: 6em;
        z-index: 1;
        width: 2.5rem;
        height: 5rem;
        overflow: hidden;
        color: transparent;
        border: none;
        background-color: rgb(0, 113, 187);
    }
    .slick-prev {
        left: 0;
    }
    .slick-next {
        right: 0;
    }
    .slick-arrow::before {
        content: "";
        display: block;
        position: absolute;
        top: calc(50% - 0.625rem);
        left: calc(50% - 0.3125rem);
        width: 0;
        height: 0;
        border: 0.625rem solid transparent;
        border-right-color: rgb(255, 255, 255);
        border-left-width: 0;
    }
    .slick-arrow.slick-next::before {
        border: 0.625rem solid transparent;
        border-left-color: rgb(255, 255, 255);
        border-right-color: transparent;
        border-left-width: 0.625rem;
        border-right-width: 0;
    }
    .ce-carousel .slick-arrow {
        display: block !important;
        position: absolute;
        top: 6em;
        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: rgb(0, 113, 187);
    }
    div[class*="ce-frame-inverted"] .ce-carousel .slick-arrow:not(.slick-disabled):hover {
        background: rgba(255, 255, 255, 0.25);
    }
    .ce-carousel .slick-arrow {
        left: 0;
    }
    .ce-carousel .slick-arrow.slick-next {
        left: auto;
        right: 0;
    }
    .ce-carousel .slick-arrow.slick-next::before {
        /* content: "\f054"; */
    }
}

@media all and (min-width:97.5em) {
    .ce-carousel .slick-arrow {
        left: calc(50% - 43.625rem);
        right: auto;
    }
    .ce-carousel .slick-arrow.slick-next {
        left: auto;
        right: calc(50% - 43.625rem);
    }
    .slick-prev {
        right: calc(100% + 2.5rem);
        left: auto;
    }
    .slick-next {
        left: calc(100% + 2.5rem);
        right: auto;
    }
}