/****************************************************************************
 * Slider-Initialization
 ****************************************************************************/
.content_section[class*="slider_section"]{
    opacity: 0; position: relative;
}
.content_section[class*="slider_section"].typo_slider_initialized {
    opacity: 1;
}

.slick_slider .slide{
    opacity: 0;
    -webkit-transition: opacity 1s ease;
    -moz-transition: opacity 1s ease;
    -ms-transition: opacity 1s ease;
    -o-transition: opacity 1s ease;
    transition: opacity 1s ease;
    -webkit-transition-delay: .25s;
    -moz-transition-delay: .25s;
    -ms-transition-delay: .25s;
    -o-transition-delay: .25s;
    transition-delay: .25s;
}

.typo_slider_initialized .slick_slider .slide{
    opacity: 1;
}


/****************************************************************************
 * Slider as Row
 ****************************************************************************/
.row .row.slick_slider {
    margin: 0;
}

.slick_slider .slick-list{
    min-width: 100%;
}

/****************************************************************************
 * Slider-Container
 ****************************************************************************/
.content_section > .slider_wrapper {
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
    width: 100%; height: 100%;
}
.content_section > .slider_wrapper + .content_row {
    position: relative;
    z-index: 20;
}
.slider_wrapper:before{
    content: ''; padding: 0 0 56.25%;
    position: relative; z-index: 0;
    display: block;
}

.slider_wrapper .slick_slider{
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
}
.slick-list, .slick-track{
    height: 100%;
}

/****************************************************************************
 * Slider-Images
 ****************************************************************************/
.slick_slider .slide .data_ratio,
.slick_slider .slick-slide .data_ratio { height: 100%; }


.slider_wrapper .slider_content_wrapper{
    position: absolute; z-index: 10;
    left: 1rem; right: 1rem; top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    
}
.slider_wrapper + .row {
    position: relative;
    z-index: 20;
}
.slider_wrapper .slick_slider > figure {
    position: absolute; top: 0; left: 0; 
    right: 0; bottom: 0; width: 100%; height: 100%;
}


/****************************************************************************
 * Arrows
 ****************************************************************************/
.slick_slider .slick-arrow{
    position: absolute; top: 50%; left: auto; right: auto;
    z-index: 100; width: 2rem; height: 2rem; color: inherit;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -moz-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    -o-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border: 0.125rem solid currentColor;
    cursor: pointer; font-size: 0;
    border-radius: 0;
}

.slick_slider .slick-arrow.slick-next{ right: 2rem; border-left: none; border-bottom: none; }
.slick_slider .slick-arrow.slick-prev{ left: 2rem; border-right: none; border-top: none;}


/****************************************************************************
 * Dots
 ****************************************************************************/
.slick_slider .slick-dots{
    position: absolute; left: 0; right: 0; bottom: .5rem;
    margin: 0; text-align: center; z-index: 20; 
}
.slick_slider .slick-dots li{
    display: inline-block; padding: 0 .5rem;
}
.slick_slider .slick-dots li button{
    font-size: 0; width: 1rem; height: 1rem;
    background-color: currentColor; color: inherit;
    opacity: .5; visibility: visible;
    border-radius: 50%; display: block;
    -webkit-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -ms-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease;
    cursor: pointer;
}
.slick_slider .slick-dots li button:focus,
.slick_slider .slick-dots li button:hover{
    opacity: .75;
}
.slick_slider .slick-dots li.slick-active button{
    opacity: 1;
}
.slick_slider .slick-dots li:first-child:last-child{
    display: none;
}


/****************************************************************************
 * Expand Height
 ****************************************************************************/
[class*="small-expand-height"] .slick_slider {height: 100%;}
@media screen and (min-width:40em){
    [class*="medium-expand-height"] .slick_slider {height: 100%;}
}
@media screen and (min-width:64em){
    [class*="large-expand-height"] .slick_slider {height: 100%;}
}
@media screen and (min-width:75em){
    [class*="xlarge-expand-height"] .slick_slider {height: 100%;}
}
@media screen and (min-width:90em){
    [class*="xxlarge-expand-height"] .slick_slider {height: 100%;}
}