.card40 {
    max-width: 25%;
}

.card40:hover rect[fill="#f0f0f0"] {
    fill: #f9f9f9;
}

.cards40 {
    height: auto;
    margin: 0 20px;
}

.cards40 .swiper-wrapper {
    margin-bottom: 20px;
    margin-left: 20px;
    margin-right: 60px;
}

.cards40 .swiper-controls {
    position: absolute;
    bottom: 0px;
    right: 30px;
    z-index: 10;
    background-color: white;
    display: contents;
}

.cards40 .swiper-controls .button-prev {
    position: absolute;
    left: 0px;
    right: auto;
    top: 0px;
    width: 10%;
    height: 100%;
    cursor: pointer;
    background: linear-gradient(90deg, white 10%, #ffffff00);
    z-index: 10;
    text-align: center;
    display: inline-flex !important;
    align-items: center;
    text-align: center;
    justify-content: flex-start;
    transition: 300ms;
}

.cards40 .swiper-controls .button-prev img,
.cards40 .swiper-controls .button-next img {
    transition: 300ms;
    position: relative;
    transform: scale(1);
    left: -30px;
    margin-top: -100px
}

.cards40 .swiper-controls .button-prev img {
    right: -30px;
    left: auto;
}

.cards40 .swiper-controls .button-prev:hover img {
    transition: 300ms;
    right: -20px;
    transform: scale(1.1);
}

.cards40 .swiper-controls .button-next:hover img {
    transition: 300ms;
    left: -20px;
    transform: scale(1.1);
}

.cards40 .swiper-controls .button-next {
    position: absolute;
    right: 0px;
    left: auto;
    top: 0px;
    width: 10%;
    height: 100%;
    cursor: pointer;
    background: linear-gradient(270deg, white 10%, #ffffff00);
    z-index: 10;
    text-align: center;
    display: inline-flex !important;
    align-items: center;
    text-align: center;
    justify-content: flex-end;
    transition: 300ms;
}

.cards40 .swiper-controls .swiper-button-disabled {
    cursor: default;
    opacity: 0;
}

.cards40 .swiper-pagination {
    text-align: left;
    left: 0px !important;
    position: relative;
    display: none;
}

.cards40 .swiper-pagination .swiper-pagination-bullet {
    margin: 0 1px;
}

.card40 p {
    margin: 0;
    font-weight: bold;
    color: #797979;
}

.card40 .wrapper {
    padding: 0 7px;
}

.swiper-container.diapos {
    width: 100%;
    height: 100%;
    font-family: 'MaisonNeue', Helvetica Neue, Helvetica, Arial, sans-serif;
}

.swiper-container.diapos .swiper-slide {
    text-align: center;
    font-size: 18px;
}

.swiper-slide .caption {
    position: absolute;
    z-index: 999;
    left: 0;
    bottom: 0px;
    background: linear-gradient(0deg, #000000a1 70%, transparent);
    color: white;
    text-align: left;
    padding: 10px;
    padding-left: 23px;
    padding-right: 66px;
    font-size: 0.75em;
    transition: 300ms;
    opacity: 0;
    width: 100%;
}

.swiper-container.diapos .swiper-slide img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    left: 50%;
    top: 50%;
}

/* Ismaël */
.swiper-button-next, .swiper-container-rtl .swiper-button-prev, 
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    background: none !important;
}

@media (min-width: 768px) {
    .swiper-slide:hover .caption {
        opacity: 1;
    }
}

/*SEULEMENT SUR MOBILE*/
@media (max-width: 769px) {
    .lity-iframe .lity-container, .lity-youtube .lity-container, .lity-vimeo .lity-container, .lity-facebookvideo .lity-container, .lity-googlemaps .lity-container {
        width: 100%;
        max-width: 100% !important;
    }

    .swiper-slide .caption {
        padding: 10px;
        padding-left: 19px;
        padding-right: 62px;
    }

    .swiper-button-prev {
        display: none;
    }

    .card40:hover rect[fill="#f0f0f0"] {
        fill: #f7f7f7;
    }

    .cards40 .swiper-wrapper {
        margin-bottom: 20px;
        margin-left: 10px;
        margin-right: 90px;
    }

    .cards40 .swiper-controls .button-prev, .cards40 .swiper-controls .button-next {
        visibility: hidden;
    }

    .card40 {
        max-width: 85%;
    }

    .swiper-slide.caption-active .caption {
        opacity: 1;
    }
}