/* Bootstrap */
body.has-more {
    overflow: hidden;
}

.carousel-control-next-icon, 
.carousel-control-prev-icon {
    display: inline-block;
    width: 2rem;
    height: 2rem;
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none;
}

.carousel-item {
    position: relative;
    display: none;
    float: left;
    width: 100%;
    margin-right: -100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform .6s ease-in-out;
}

.carousel-item-next,
.carousel-item-prev,
.carousel-item.active {
    display: block;
}


.carousel-fade .carousel-item {
    opacity: 0;
    transition-property: opacity;
    transform: none;    
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
    z-index: 1;
    opacity: 1;
}


.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
    z-index: 0;
    opacity: 0;
    transition: opacity 0s .6s;
}


/* Fin bootstrap */


#diapoCarousel,
#diapoCarousel .carousel-inner,
#diapoCarousel .carousel-item {
    width: 100%;
    height: 100%;
}


#diapoCarousel .carousel-img {
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

    #diapoCarousel .carousel-caption {
        font-family: 'Raleway',sans-serif;
        display: block;
        position: fixed;
        bottom: 60px;
        left: 40px;
        right: auto;
        text-shadow: 0 0 4px rgba(0,0,0,0.8);
        opacity: 1;
        transition: all 1s ease-in;
        transition-delay: .6s;
        padding-top: 0;
        padding-bottom: 0;
    }

        #diapoCarousel .carousel-caption .caption-desc {            
            color: #fff;
        }


#diapoCarousel .carousel-control-prev,
#diapoCarousel .carousel-control-next {
    position: fixed;
    width: 62px;
    height: 62px;
    top: calc(50% - 20px);
    z-index: 204;
    padding: 10px;
    border: solid 1px #000;
    background-color: rgba(255,255,255,0.2);
    filter: invert(1);
    transition: all .4s ease-in;
    cursor: pointer;
    opacity: inherit;
}

#diapoCarousel .carousel-control-prev {
    left: 50px;
}

#diapoCarousel .carousel-control-next {
    right: 50px;
}

#diapoCarousel .carousel-control-prev:hover, 
#diapoCarousel .carousel-control-next:hover {
    background-color: rgba(255,255,255,0.6);
}


#diapoCarousel .carousel-control-prev-icon, 
#diapoCarousel .carousel-control-next-icon {
    z-index: 204;    
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-origin: content-box;
}

#diapoCarousel .carousel-control-prev-icon {
    background-image: url(/img/ui/left.svg);
}

#diapoCarousel .carousel-control-next-icon {
    background-image: url(/img/ui/right.svg);
}

@media (any-pointer: coarse) {
    #diapoCarousel .carousel-inner {
        overflow-x: auto;
        overflow-y: hidden;
        padding-top: 0;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    #diapoCarousel .carousel-item {
        scroll-snap-align: start;
    }
}


@media only screen and (max-width: 800px) {      

    #diapoCarousel .carousel-inner {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        overflow-x: auto;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        align-items: stretch;
    }

    #diapoCarousel .carousel-item {        
        display: block;
        z-index: 1;
        opacity: 1;
        margin-right: 0;
        flex-basis: 100%;
        flex-shrink: 0;
        border-top: solid 140px #000;
        border-bottom: solid 140px #000;
        box-sizing: border-box;
    }

    #diapoCarousel .carousel-caption {        
        display: block;
        position: absolute; 
        bottom: calc(60px - 140px);
        left: 20px;
    }

        #diapoCarousel .carousel-caption .caption-desc {
            font-size: calc(.875rem + 1vw);
        }

        #diapoCarousel .carousel-control-prev,
        #diapoCarousel .carousel-control-next {
            display: none;
        } 
}


@media only screen and (min-width: 801px) {

    #diapoCarousel .carousel-caption {
        display: block;
        position: absolute;
        bottom: 20px;
    }

        #diapoCarousel .carousel-caption .caption-desc {
            font-size: 20px;            
        }
}

