/* GALLERIE PHOTO
-------------------------------------------------------------------------------------------------------------------------------- */

/* >>> Gallery widget -------------------------------------------------------------- */

.container-galerie_title { 
	padding: 0 40px 30px;
	text-align: center;
}

.mod-gallery_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	padding: 40px 30px;
	max-width: 2000px;
	margin: 0 auto;
}
.mod-gallery_list li {
	padding: 10px;
	width: 25%;
}
.mod-gallery_list li.empty-place::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background-color: #f2f2f2;
	-webkit-transition: background-color .3s;
	-o-transition: background-color .3s;
	transition: background-color .3s;
}
.mod-gallery_list li.empty-place:hover::after { background-color: #e3e3e3; }

.mod-gallery.scroll-animate .mod-gallery_list li {
	-webkit-transition: opacity .8s, -webkit-transform .8s;
	transition: opacity .8s, -webkit-transform .8s;
	-o-transition: transform .8s, opacity .8s;
	transition: transform .8s, opacity .8s;
	transition: transform .8s, opacity .8s, -webkit-transform .8s;
	-webkit-transform: scale(0.3);
	    -ms-transform: scale(0.3);
	        transform: scale(0.3);
	opacity: 0;
}
.mod-gallery.scroll-animate .mod-gallery_list li:nth-child(2) {
	-webkit-transition-delay: .2s;
	     -o-transition-delay: .2s;
	        transition-delay: .2s;
}
.mod-gallery.scroll-animate .mod-gallery_list li:nth-child(3) {
	-webkit-transition-delay: .4s;
	     -o-transition-delay: .4s;
	        transition-delay: .4s;
}
.mod-gallery.scroll-animate .mod-gallery_list li:nth-child(4) {
	-webkit-transition-delay: .5s;
	     -o-transition-delay: .5s;
	        transition-delay: .5s;
}
.mod-gallery.scroll-animate .mod-gallery_list li:nth-child(5) {
	-webkit-transition-delay: .6s;
	     -o-transition-delay: .6s;
	        transition-delay: .6s;
}
.mod-gallery.scroll-animate .mod-gallery_list li:nth-child(6) {
	-webkit-transition-delay: .7s;
	     -o-transition-delay: .7s;
	        transition-delay: .7s;
}
.mod-gallery.scroll-animate .mod-gallery_list li:nth-child(7) {
	-webkit-transition-delay: .8s;
	     -o-transition-delay: .8s;
	        transition-delay: .8s;
}
.mod-gallery.scroll-animate .mod-gallery_list li:nth-child(8) {
	-webkit-transition-delay: 1s;
	     -o-transition-delay: 1s;
	        transition-delay: 1s;
}
.mod-gallery.scroll-animate.in-view .mod-gallery_list li {
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
	opacity: 1;
}
.th-gallery {
	display: block;
	position: relative;
}
.th-gallery img {
	position: relative;
	z-index: 0;
}
.th-gallery_title {
	position: absolute;
	top: 0; left: 0;
	padding: 0 15px;
	z-index: 1;
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-align-items: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	background-color: rgba(0,0,0,.3);
	-webkit-transition: opacity .5s, -webkit-transform .5s;
	transition: opacity .5s, -webkit-transform .5s;
	-o-transition: transform .5s, opacity .5s;
	transition: transform .5s, opacity .5s;
	transition: transform .5s, opacity .5s, -webkit-transform .5s;
	text-transform: uppercase;
	text-align: center;
	font-weight: 700;
	color: #fff;
	-webkit-transform: scale(1.2);
	    -ms-transform: scale(1.2);
	        transform: scale(1.2);
	opacity: 0;
}
.th-gallery:hover .th-gallery_title {
	-webkit-transform: scale(1);
	    -ms-transform: scale(1);
	        transform: scale(1);
	opacity: 1;
}

@media screen and (max-width: 1280px) {
	.mod-gallery_list { padding: 0 10px; }
}
@media screen and (max-width: 980px) {
	.mod-gallery_list li { width: 33.33%; }
	.mod-gallery_list li.empty-place:nth-child(4),
	.mod-gallery_list li.empty-place:nth-child(5),
	.mod-gallery_list li.empty-place:nth-child(6),
	.mod-gallery_list li.empty-place:nth-child(7),
	.mod-gallery_list li.empty-place:nth-child(8) { display: none; }
}
@media screen and (max-width: 740px) {
	.mod-gallery_list { padding: 0 5px; }
	.mod-gallery_list li { padding: 5px; }
	.mod-gallery_list li { width: 50%; }
	.mod-gallery_list li.empty-place:nth-child(3),
	.mod-gallery_list li.empty-place:nth-child(4),
	.mod-gallery_list li.empty-place:nth-child(5),
	.mod-gallery_list li.empty-place:nth-child(6),
	.mod-gallery_list li.empty-place:nth-child(7),
	.mod-gallery_list li.empty-place:nth-child(8) { display: none; }
}
@media screen and (max-width: 320px) {
	.mod-gallery_list li { width: 100%; }
	.mod-gallery_list li.empty-place:nth-child(2),
	.mod-gallery_list li.empty-place:nth-child(3),
	.mod-gallery_list li.empty-place:nth-child(4) { display: none; }
}
/* --- */
.mod-gallery_list.line2 { }

.mod-gallery_list.line2 li:nth-child(5),
.mod-gallery_list.line2 li:nth-child(7) {
	margin-top: calc(-10% + 5px);
}
.mod-gallery_list.line2 li:nth-child(2) img,
.mod-gallery_list.line2 li:nth-child(4) img,
.mod-gallery_list.line2 li:nth-child(5) img,
.mod-gallery_list.line2 li:nth-child(7) img{
	width: 140%;
	margin: 0 -20%;
}
@media screen and (max-width: 980px) {
	.mod-gallery_list.line2 li:nth-child(5),
	.mod-gallery_list.line2 li:nth-child(7) {
		margin-top: 0;
	}
	.mod-gallery_list.line2 li:nth-child(2) img,
	.mod-gallery_list.line2 li:nth-child(4) img,
	.mod-gallery_list.line2 li:nth-child(5) img,
	.mod-gallery_list.line2 li:nth-child(7) img{
		width: 100%;
		margin: 0;
	}
}

/* >>> Gallery liste -------------------------------------------------------------- */
#gallery-filters {
	max-width: 1580px;
	padding: 20px 40px;
	margin: 0 auto;
}
#gallery-filters ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
#gallery-filters ul li {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	margin: 0 5px;
}
#gallery-filters ul li a {
	display: block;
	padding: 5px 10px;
	text-transform: uppercase;
	font-weight: 700;
	border: transparent 1px solid;
	-webkit-transition: color .3s, border-color .3s;
	-o-transition: color .3s, border-color .3s;
	transition: color .3s, border-color .3s;
}
#gallery-filters ul li a:hover { color: #787878 }
#gallery-filters ul li a.active { border-color: #000; }
/* --- */
#gallery-list ul.mod-gallery_list {
	width: 100%;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
#gallery-list li {
	-webkit-transition: opacity .3s, -webkit-transform .3s;
	transition: opacity .3s, -webkit-transform .3s;
	-o-transition: transform .3s, opacity .3s;
	transition: transform .3s, opacity .3s;
	transition: transform .3s, opacity .3s, -webkit-transform .3s;
}
#gallery-list li.animation-out {
	opacity: 0;
	-webkit-transform: scale(0.3) rotateZ(-10deg);
	    -ms-transform: scale(0.3) rotate(-10deg);
	        transform: scale(0.3) rotateZ(-10deg);
}
#gallery-list li.animation-in {
	opacity: 0;
	-webkit-transform: scale(0.3) rotateZ(10deg);
	    -ms-transform: scale(0.3) rotate(10deg);
	        transform: scale(0.3) rotateZ(10deg);
}

/* >>> Gallery swiper -------------------------------------------------------------- */
#domaine-galerie {
	padding: 8% 0;
}
.swiper-gallery {
	position: relative;
	max-width: 1360px;
	padding: 0 50px;
	margin: 0 auto;
}
.swiper-gallery .swiper-button {
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
}
.swiper-gallery .slider-prev {
	left: 10px;
}
.swiper-gallery .slider-next {
	right: 10px;
}
.swiper-gallery .swiper-slide {
	width: 25%;
	padding: 10px;
}
.swiper-gallery .thumbnails {
	max-width: 320px;
}
.swiper-gallery .thumbnails img {
	width: 150%;
	margin: 0 -25%;
}
@media screen and (max-width: 980px) {
	.swiper-gallery .swiper-slide { width: 33.33% }
}
@media screen and (max-width: 640px) {
	#domaine-galerie { padding: 60px 0; }
	.swiper-gallery .swiper-slide { width: 50% }
}
@media screen and (max-width: 480px) {
	.swiper-gallery .swiper-slide { padding: 5px }
}
@media screen and (max-width: 320px) {
	.swiper-gallery .swiper-slide { width: 100% }
}
