/* TiGridelements.css */

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

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

    /* slider and carousel */
    .slick-slide {
        padding: 1.125rem;
    }

    .slick-slider .ce-element {
        margin-bottom: 0;
    }
    .ce-slider .ce-element.ce-layout-box {
        margin-bottom: 2.25rem;
    }

    .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: 1px solid rgb(82, 92, 163);
        border-radius: 50%;
        color: inherit;
        background: rgb(82, 92, 163, 0.07);
        opacity: 1;
        -webkit-appearance: none;
        padding: 0;
        box-shadow: none;
    }

    .slick-dots > .slick-active button {
        background-color: rgb(82, 92, 163);
    }

    .ce-frame-inverted .slick-dots button {
        border-color: rgb(255,255,255);
        background-color: transparent;
    }

    .ce-frame-inverted .slick-dots > .slick-active button {
        background-color: rgb(255, 255, 255);
    }

    .slick-arrow {
        display: none !important;
        position: absolute;
        z-index: 2;
        top: calc(50% - 2rem);
        color: rgba(0, 0, 0, 0);
        background-color: rgba(0, 0, 0, 0);
        border: 0;
        border-radius: 50%;
        width: 2.5rem;
        height: 2.5rem;
        overflow: hidden;
        transform: translateY(-50%);

        cursor: pointer;
    }
    .slick-arrow::before {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: rgb(82, 92, 163);
        font-family: "Font Awesome 5 Free";
        font-size: 2em;
        font-style: normal;
        font-weight: 700;
        content: "\f053";
    }
    .slick-arrow.slick-disabled {
        opacity: 0.25;
        cursor: initial;
    }
    .slick-arrow:not(.slick-disabled):focus,
    .slick-arrow:not(.slick-disabled):hover {
        background: rgba(82, 92, 163, 0.07);
        outline: none;
    }

    .ce-frame-inverted .slick-arrow::before {
        color: rgb(255, 255, 255);
    }

    .ce-frame-inverted .slick-arrow:not(.slick-disabled):focus,
    .ce-frame-inverted .slick-arrow:not(.slick-disabled):hover {
        background: rgba(255, 255, 255, 0.2);
    }

    .slick-arrow.slick-next::before {
        left: auto;
        right: 0%;
        content: "\f054";
    }

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

    .ce-slider .slick-list {
        margin: -1.125rem;
    }

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

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

    .slick-pause {
        position: absolute;
        top: 0.625rem;
        right: 0.625rem;
        z-index: 2;
        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-pause:hover,
    .slick-pause:focus {
        color: rgb(255, 255, 255);
        background: rgba(0, 0, 0, 0.5);
    }
    .slick-paused {
        color: rgb(255, 255, 255);
        background: rgba(231, 32, 57);
    }

    .slick-pause .fa {
        margin: 0;
    }

    .slick-pause {
        opacity: 0;
    }

    .ce-grid-hero-slider:hover .slick-pause, .ce-grid-slider:hover .slick-pause {
        opacity: 1;
    }

    .slick-pause.slick-paused {
        opacity: 1;
    }

    /* 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 span > *,
    .ce-accordeon .rc-head span > * {
        font-size: 1em;
        font-weight: bold;
    }

    .ce-tabs .rc-head .rc-link::after,
    .ce-accordeon .rc-head .rc-link::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        color: rgb(0, 188, 159);
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
        font-style: normal;
        font-size: 100%;
        content: "\f067";
    }

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

    .ce-tabs > .ce-element + .ce-element,
    .ce-accordeon > .ce-element + .ce-element {
        margin-top: 1.5rem;
        border-top: 1px solid rgba(82, 92, 163, 0.2);
        padding-top: 1.5rem;
    }

    .ce-tabs .rc-head,
    .ce-accordeon .rc-head {
        margin: 0;
    }

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

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

    .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 {
        position: relative;
        overflow: hidden;
        margin-top: 1.5rem;
    }

    .ce-accordeon > .ce-element:last-child > .ce-header:not(.rc-open) {
        margin-bottom: 2.25rem;
    }
    .ce-layout-box-inner > .ce-accordeon:last-child > .ce-element:last-child > .ce-header:not(.rc-open) {
        margin-bottom: 0;
    }

    .ce-accordeon .rc-container-enabled > .ce-element {
        margin-bottom: 0;
    }

    .ce-frame-inverted .ce-tabs .rc-head,
    .ce-frame-inverted .ce-accordeon .rc-head,
    .ce-frame-inverted .rc-tab-headings button {
        background-color: rgba(255, 255, 255, 0.9);
    }

    .ce-frame-inverted .ce-tabs .rc-head.rc-open,
    .ce-frame-inverted .ce-accordeon .rc-head.rc-open,
    .ce-frame-inverted .rc-tab-headings .rc-open button,
    .ce-frame-inverted .rc-tab-panel,
    .ce-frame-inverted .rc-container-enabled,
    .ce-frame-inverted .rc-container-enabled {
        background-color: rgb(255, 255, 255);
    }

    .ce-frame-inverted .rc-tab-headings li.rc-open button {
        border-bottom-color: rgb(255, 255, 255);
    }

    .ce-frame-inverted .ce-accordeon .rc-link,
    .ce-frame-inverted .ce-tabs .rc-link,
    .ce-frame-inverted .rc-tab-headings button {
        color: rgb(17, 17, 17);
    }

    .ce-frame-inverted .ce-accordeon .ce-element,
    .ce-frame-inverted .ce-tabs .rc-tab {
        color: rgb(17, 17, 17);
    }
    .ce-frame-inverted .rc-head .rc-link:hover,
    .ce-frame-inverted .rc-container a:not(.btn) {
        color: rgb(73, 164, 140);
    }
}

/* 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(255, 201, 201);
    }
}

@media all and (min-width: 30em) {
    /* grid styles */
    .ce-grid {
        margin: 0 -0.3125rem;
    }

    .ce-col {
        width: 100%;
        max-width: 100%;
        min-height: 1px;
    }

    .ce-grid > .ce-col {
        float: left;
        padding: 0 0.3125rem;
    }

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

    /* slider */
    .slick-pause {
        top: 1.25rem;
        right: 1.25rem;
    }
}

/* medium */
@media all and (min-width: 47.5em) {
    /* 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;
    }

    .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-tab-headings {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
    }

    .rc-tab-headings li {
        flex-grow: 1;
        margin: 0;
    }

    .rc-tab-headings li + li {
        border-left: 8px solid rgba(0, 0, 0, 0);
    }

    .rc-tab-headings li.rc-open {
        position: relative;
    }

    .rc-tab-headings li.rc-open::before {
        content: "";
        position: absolute;
        top: calc(100% - 1em);
        left: 1em;
        right: 1em;
        display: block;
        height: 1em;
        border-radius: 50%;
        box-shadow: 0 0 1em rgba(0, 0, 0, 0.15);
    }

    .rc-tab-headings button {
        width: 100%;
        color: inherit;
        border: none;
        border-bottom: 8px solid rgba(0, 0, 0, 0);
        text-align: left;
        font-weight: bold;
        padding: 1.25rem;
        background: rgb(247, 247, 247);
        background-clip: padding-box;
        -webkit-appearance: none;
    }
    .rc-tab-headings button:hover,
    .rc-tab-headings button:focus {
        outline: none;
        background-color: rgb(238, 238, 238);
    }

    .rc-tab-headings li.rc-open button {
        position: relative;
        background: rgb(238, 238, 238);
        border-bottom-color: rgb(238, 238, 238);
    }

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

    .rc-tab-panel {
        padding: 1.25rem 1.25rem 0;
        background-color: rgb(238, 238, 238);
    }

    .ce-tabs > .ce-element + .ce-element {
        margin-top: 0;
    }

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

    /* slider */
    .ce-slider .slick-list {
        overflow: visible;
        width: 52%;
        margin: auto;
    }

    .ce-slider.slick-initialized {
        overflow: hidden;
        padding-bottom: 2rem;
    }

    .ce-slider.slick-initialized::before,
    .ce-slider.slick-initialized::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 25%;
        height: 100%;
        z-index: 1;
        background-image: linear-gradient(
            to right,
            rgb(242, 243, 248),
            transparent
        );
    }

    .ce-slider.slick-initialized::after {
        left: auto;
        right: 0;
        background-image: linear-gradient(
            to left,
            rgb(242, 243, 248),
            transparent
        );
    }

    .ce-bg-blue .ce-slider.slick-initialized::before {
        background-image: linear-gradient(
            to right,
            rgb(82, 92, 163),
            transparent
        );
    }

    .ce-bg-blue .ce-slider.slick-initialized::after {
        background-image: linear-gradient(
            to left,
            rgb(82, 92, 163),
            transparent
        );
    }

    .ce-bg-green .ce-slider.slick-initialized::before {
        background-image: linear-gradient(
            to right,
            rgb(0, 188, 159),
            transparent
        );
    }

    .ce-bg-green .ce-slider.slick-initialized::after {
        background-image: linear-gradient(
            to left,
            rgb(0, 188, 159),
            transparent
        );
    }

    .ce-bg-white .ce-slider.slick-initialized::before {
        background-image: linear-gradient(
            to right,
            rgb(255, 255, 255),
            transparent
        );
    }

    .ce-bg-white .ce-slider.slick-initialized::after {
        background-image: linear-gradient(
            to left,
            rgb(255, 255, 255),
            transparent
        );
    }

    .slick-arrow {
        display: block !important;
        left: 0%;
    }
    .slick-arrow.slick-next {
        left: auto;
        right: 0%;
    }
}

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

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

    .ce-grid > .ce-col,
    .ce-grid-medium > .ce-col,
    .ce-grid-large > .ce-col {
        float: left;
        max-width: 100%;
        padding: 0 1.125rem;
    }
    .ce-col.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-66 > .ce-col {
        float: none;
        margin-left: auto;
        margin-right: auto;
        max-width: 66.6666%;
    }

    .ce-col-large-sticky {
        position: sticky;
        top: 5rem;
    }

    /* 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-intext .ce-gallery {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    .ce-accordeon .rc-head > .rc-link > span > *,
    .rc-tab-headings button > * {
        font-size: 1.25em;
    }

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

@media (min-width: 77.5em) {
    .ce-grid-75 > .ce-col {
        float: none;
        padding-left: calc(6rem + 1.25rem);
        padding-right: calc(12rem + 1.25rem);
    }

    .ce-grid-83 > .ce-col {
        float: none;
        padding-left: calc(6rem + 1.25rem);
        padding-right: calc(6rem + 1.25rem);
    }
}

/* xlarge */
@media all and (min-width: 93.75em) {
    .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: 108.875em) {
}
