/****************************************************************************
 * Slider-Initialization
 ****************************************************************************/
.content_section[class*="slider_section"]{
    opacity: 0;
}
.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-Container
 ****************************************************************************/
.slider_wrapper{
    position: relative;
}
.slider_wrapper:before{
    content: ''; padding: 0 0 56.25%;
    position: relative; z-index: 0;
    display: block;
}

.slider_section.content_section > .slider_wrapper{
    margin: -2rem -1rem 2rem;
    min-height: 20rem;
    width: auto;
}
.slider_section.content_section > .slider_wrapper:last-child{
    margin-bottom: -2rem;
}
.slider_wrapper .slick_slider{
    position: absolute;
    left: 0; top: 0; right: 0; bottom: 0;
}
.slider_wrapper.column .slick_slider,
.slider_wrapper.columns .slick_slider{
    top: .9375rem;
    left: .9375rem;
    right: .9375rem;
    bottom: .9375rem;
}

.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: 0; right: 0; top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    
}


/****************************************************************************
 * Arrows
 ****************************************************************************/
.slick_slider .slick-arrow{
    position: absolute; top: 50%; left: auto; right: auto;
    z-index: 100; width: 2em; height: 2em; 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.125em solid currentColor;
    cursor: pointer; font-size: 1rem;
    border-radius: 0;
}

.slick_slider .slick-arrow.slick-next{ right: 2em; border-left: none; border-bottom: none; }
.slick_slider .slick-arrow.slick-prev{ left: 2em; 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;
}



@media screen and (min-width:40em){

    /****************************************************************************
     * Slider-Wrapper
     ****************************************************************************/
    .slider_section.content_section > .slider_wrapper{
        margin: -3rem -2rem 3rem;
    }
    .slider_section.content_section > .slider_wrapper:last-child{
        margin-bottom: -3rem;
    }
}

@media screen and (min-width:64em){
    
    /****************************************************************************
     * Slider-Wrapper
     ****************************************************************************/
    .slider_wrapper:before{
        content: ''; padding: 0 0 30rem;
    }
    .slider_section.content_section > .slider_wrapper{
        margin: -4rem -4rem 4rem;
    }
    .slider_section.content_section > .slider_wrapper:last-child{
        margin-bottom: -4rem;
    }
}