/**
    CMS Styles, welche auch Kundenseitig verwendet werden.
**/


section[class*="col-"] .bg_wrapper .container {
    width: 100%;
    padding: 0;
}


/** Cell/Row **/
.bg_wrapper .cell {
    transition: all ease-in-out .3s;
    flex: 1 1 calc(1140px / 6);
    width: 0;
    position: relative;
    height: auto;
    padding: 15px;
    margin: 15px;
    background-size: cover;
    overflow-wrap: break-word;
}
.bg_wrapper .row .row {
    margin: -15px -15px 0 -15px;
}
.bg_wrapper .row .cell_content + .row,
.bg_wrapper .row .row + .row {
    margin-top: 0;
}
.bg_wrapper .row .row:not(.panel-body):last-child {
    margin-bottom: -15px;
}
.gjs-row {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
}
@media (max-width: 1399px) {
    .bg_wrapper .cell { flex-basis: calc(1140px / 4); }
}
.bg_wrapper {
    z-index: 0;
    position: relative;
    width: 100%;
    padding: 30px 0;
}
.cell_content {
    position: relative;
    outline: 0;
}
div.cell_content:not([data-gjs-type="pps_html"]):not(.image[full_width]) {
    overflow: hidden;
    font-size: 0; 
}
.cell_content + .cell_content {
    margin-top: 15px;
}
.cell_content.btn:first-child:not(:only-child),
.inline_editor + .cell_content.btn:not(:last-child),
.cell_content:not(.btn):not([full_width]) + .cell_content.btn,
.cell_content:not(.btn):not([full_width]) + .cell_content.btn + .cell_content.btn,
.cell_content:not(.btn):not([full_width]) + .cell_content.btn + .cell_content.btn + .cell_content.btn,
.cell_content:not(.btn):not([full_width]) + .cell_content.btn + .cell_content.btn + .cell_content.btn + .cell_content.btn {
    margin-top: 15px;
}
p.cell_content {
    margin-bottom: 0;
}
div.cell_content.video,
div.cell_content.image:not([full_width]) {
    margin-left: -15px;
    margin-right: -15px;
}
div.cell_content.video:only-child,
div.cell_content.image:only-child {
    margin: -15px;
}
div.cell_content.video:first-child:not(:only-child),
div.cell_content.image:not([full_width]):first-child:not(:only-child) {
    margin: -15px -15px 0 -15px ;
}
div.cell_content.video:last-child:not(:only-child),
div.cell_content.image:not([full_width]):last-child:not(:only-child) {
    margin: 15px -15px -15px -15px ;
}
.cell .cell div.cell_content.video:only-child,
.cell .cell div.cell_content.image:not([full_width]):only-child {
    margin: 0;
}
.cell .cell div.cell_content.video:first-child:not(:only-child),
.cell .cell div.cell_content.image:not([full_width]):first-child:not(:only-child) {
    margin: 0;
}
.cell .cell div.cell_content.video:last-child:not(:only-child),
.cell .cell div.cell_content.image:not([full_width]):last-child:not(:only-child) {
    margin: 0;
}


/* Titel */
h1.content.cell_content:only-child,
h2.content.cell_content:only-child,
h3.content.cell_content:only-child,
h4.content.cell_content:only-child,
h5.content.cell_content:only-child {
    margin: 0;
    padding: 0;
}
.bg_wrapper h1.content a.link,
.bg_wrapper h2.content a.link,
.bg_wrapper h3.content a.link,
.bg_wrapper h4.content a.link,
.bg_wrapper h5.content a.link {
    color: inherit;
    font-style: inherit;
    font-size: inherit;
    text-decoration: inherit;
    font-weight: inherit;
}


/* Buttons */
.btn.cell_content {
    margin-right: 10px;
}
.btn.cell_content:hover {
    opacity: .9;
}
.btn.cell_content:last-child {
    margin-right: 0;
}
a.btn.cell_content > span {
    font-weight: inherit !important;
}


/* Dividers */
hr.cell_content {
    padding: 10px 0;
    border: 0;
    height: 1px;
    margin: 10px 0;
    background-clip: content-box;
    background-color: #EEEEEE;
}


/** Image **/
.image_container {
    width: 100%;
    min-height: 50px;
    height: 400px;
    display: flex;
    justify-content: center;
}
.image_container img,
.image_container a {
    display: flex;
    width: auto;
    height: 100%;
    align-self: center;
}
.cell_content.image[full_width] {
    display: inline-block;
    overflow: visible;
}
.cell_content.image[full_width] + .cell_content.image[full_width] {
    margin-left: 10px;
}
.cell_content.image[full_width]:only-child {
    margin: 0 !important;
}
.cell_content.image[full_width]:last-child,
.inline_editor + .cell_content.image[full_width]:last-child {
    margin-right: 0 !important;    
}
.cell_content.image[full_width] .image_container {
    transform: none !important;
    width: auto;
    height: auto;
    min-height: auto;
    display: inline-block;
}
.cell_content.image[full_width] .image_container img {
    height: auto;
    max-width: 100%;
    max-height: 100%;
    cursor: inherit !important;
}
.cell_content.image[full_width] .image_container img[src$=".svg"] {
    height: 320px !important;
}


/** Background Image / Video **/
.bg_wrapper.background_image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.bg_wrapper.background_video {
    overflow: hidden;
}
.background_video_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    overflow: hidden;
    width: 100%;
    height: 100%;
}
.background_video_wrapper iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 177.77777778vh;
    height: 100%;
    min-height: 56.25vw;
    min-width: 100%;
    border: 0;
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.cell.background_image.overlay:before,
.cell.background_video.overlay:before,
.bg_wrapper.background_image.overlay:before,
.bg_wrapper.background_video.overlay:before,
.bg_wrapper .cell.cell_linked:before {
    transition: all ease-in-out .3s;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.cell.background_image.overlay.dark:before,
.cell.background_video.overlay.dark:before,
.bg_wrapper.background_image.overlay.dark:before,
.bg_wrapper.background_video.overlay.dark:before {
    z-index: 0;
    background-color: rgba(0, 0, 0, .5);    
}
.cell.background_image.overlay.light:before,
.cell.background_video.overlay.light:before,
.bg_wrapper.background_image.overlay.light:before,
.bg_wrapper.background_video.overlay.light:before {
    z-index: 0;
    background-color: rgba(255, 255, 255, .5);
}
.bg_wrapper.background_image.overlay.dark .row > .cell > .cell_content:not(.btn),
.bg_wrapper.background_video.overlay.dark .row > .cell > .cell_content:not(.btn),
.bg_wrapper .row .cell.background_image.overlay.dark:not(.background_none) > .cell_content:not(.btn),
.bg_wrapper .row .cell.background_video.overlay.dark:not(.background_none) > .cell_content:not(.btn) {
    color: #FFFFFF;
    border: 0;
    background-color: transparent;
}
.bg_wrapper.background_image.overlay.light .row > .cell > .cell_content:not(.btn),
.bg_wrapper.background_video.overlay.light .row > .cell > .cell_content:not(.btn),
.bg_wrapper .row .cell.background_image.overlay.light:not(.background_none) > .cell_content:not(.btn),
.bg_wrapper .row .cell.background_video.overlay.light:not(.background_none) > .cell_content:not(.btn) {
    color: #000000;
    border: 0;
    background-color: transparent;
}
.bg_wrapper .cell.cell_linked:before {
    pointer-events: none;
    z-index: 0;
}
.bg_wrapper .cell.cell_linked:hover {
    cursor: pointer;
}
.bg_wrapper .cell.cell_linked:hover:before {
    z-index: 1;
    background-color: rgba(0,0,0,.2) !important;
}
.bg_wrapper .cell.cell_linked.overlay.light:hover:before {
    background-color: rgba(255,255,255,.2) !important;
}

.cell_linked .cell_link {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
}


/* Videos / Embed */
.embed-responsive {
    width: 100%;
    height: auto;
}
.embed-responsive::before {
    display: block;
    content: "";
}
.embed-responsive-4by3,
.embed-responsive-16by9 {
    padding: 0;
}
.embed-responsive-16by9::before {
    padding-top: 56.25%;
}
.embed-responsive-4by3::before {
    padding-top: 75%;
}
[data-height_prc] .embed-responsive {
    cursor: pointer;
}
@media (min-width: 768px) {
    [data-height_prc] .embed-responsive iframe {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: 100%;
        min-width: 100%;
        width: 177.77777778vh; /* 100 * 16 / 9 */
        min-height: 56.25vw; /* 100 * 9 / 16 */
    }
}
@media (max-width: 991px) {
    .embed-responsive,
    .cell_content.video {
        min-height: auto !important;
    }
}


/* CSS Animations */
.content_td .bg_wrapper {
    overflow: hidden;
}
.content_td .bg_wrapper [class*="animate_"] {
    transition-property: all;
    transition-timing-function: ease-out;
    transition-duration: 1s;
    transition-delay: unset;
    opacity: 0;
}
.content_td .bg_wrapper [class*="animate_"].animate_speed_slow { transition-duration: 1.5s; }
.content_td .bg_wrapper [class*="animate_"].animate_speed_fast { transition-duration: .5s; }
.content_td .bg_wrapper [class*="animate_"].animate_delay_short { transition-delay: .4s; }
.content_td .bg_wrapper [class*="animate_"].animate_delay_long { transition-delay: .8s; }

.content_td .bg_wrapper [class*="animate_"].moved {
    opacity: 1;
    transform: translate(0,0);
}
.content_td .bg_wrapper .animate_top {
    transform: translate(0%, -30%);
}
.content_td .bg_wrapper .animate_right {
    transform: translate(30%, 0);
}
.content_td .bg_wrapper .animate_left {
    transform: translate(-30%, 0);
}
.content_td .bg_wrapper .animate_bottom {
    transform: translate(0%, 30%);
}

/* Accordion */
.accordion-chevron {
    float: right;
}
.panel-body .cell {
    margin: 0;
}
