/*
	Theme Name: Cocathédrale
	Description: Le thème officiel de la cocathédrale Saint-Antoine-de-Padoue
	Version: 1.0
	Author: Olivier Brochu
	Requires at least: 6.0    <-- Nécessaire pour WP 6.4.7
	Requires PHP: 7.4        <-- Nécessaire pour la plupart des thèmes récents

*/
/*********************************
	Styles généraux
*********************************/
*{
	margin: 0;
	padding: 0
}

*:focus{
	outline: none;
}

body{
	background-color: #ededed;
	background-image: linear-gradient(130deg, #ededed 40%, transparent), url(images/Triangles.svg);
	background-position: top right;
}

body *{
	font-family: "Noto Sans", "Open Sans", Lato, Roboto, Tahoma, Arial, Verdana, sans-serif;
	font-size: 100%;
	line-height: 1.2
}

.Wrapper{
	box-sizing: border-box;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px
}

h1, h2{
	color: #0061a7;
	font-weight: 100
}

h1{
	font-size: 2rem;
	margin-bottom: 30px;
	text-transform: uppercase
}

h2{
	font-size: 1.5rem;
	margin-top: 29px
}

/*Cacher les doubles h2*/
h2 + hr + h2, h2 + hr + h2 + hr{
	display: none;
}

/*Les titres ne peuvent pas être gras*/
h2 strong{
	font-weight: 400 !important;
}

hr{
	background-image: url(images/hr.svg);
	background-repeat: no-repeat;
	border: none;
	height: 2px;
	margin-bottom: 20px
}

p{
	color: #000;
	font-size: 1rem;
	line-height: 1.4
}

p:empty{
	display: none;
}

a{
	color: #0061a7;
	font-size: 0.9375rem;
	text-decoration: none
}

a:hover{
	color: #004577;
}

input[type=text], input[type=email], select, textarea{
	border: 1px solid #b9b9b9;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	display: block;
	margin-bottom: 10px;
}

input[type=text], input[type=email]{
	-webkit-appearance: none;
	background-color: #fff;
	height: 40px;
	padding: 0 10px;
	max-width: 300px;
	width: 100%
}

textarea{
	-webkit-appearance: none;
	height: 200px;
	padding: 15px 0 0 10px;
	max-width: 500px;
	width: 100%
}

select{
	height: 40px;
	max-width: 300px;
	width: 100%
}

input[type=text]:focus, input[type=email]:focus, textarea:focus, select:focus{
	border: 1px solid rgba(0, 97, 167, 0.35);
	outline: none
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder{
	color: #000;
	line-height: normal
}

input::-moz-placeholder, textarea::-moz-placeholder{
	color: #000;
	opacity: 1
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder{
	color: #000
}

input[type=button], input[type=submit], a.Bouton{
	-webkit-appearance: none;
		-moz-appearance: none;
			-ms-appearance: none;
	background-color: #0061a7;
	box-shadow: 0 4px 0 #004577;
	border: none;
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	height: 40px;
	padding: 0 15px;
	position: relative
}

.Seul input[type=text], .Seul input[type=email]{
	background-color: #ededed;
}

input[type=button]:hover, input[type=submit]:hover, a.Bouton:hover{
	box-shadow: 0 2px 0 #0B3F86;
	top: 2px
}

input[type=button]:focus, input[type=submit]:focus{
	outline: none;
}

.Seul input[type=submit]{
	-webkit-appearance: none;
	background-image: url(images/bas.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 9px 13px;
	border: none;
	border-radius: 0;
	box-shadow: none;
	color: transparent;
	display: inline;
	height: 40px;
	width: 40px
}

.Seul input[type=submit]:hover{
	box-shadow: none;
	top: 0;
}

input:-webkit-autofill{
	box-shadow:0 0 0 50px #ffffff inset;
}

.Seul input:-webkit-autofill{
	box-shadow:0 0 0 50px #ededed inset;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-decoration{
	display: none
}

input::-ms-clear, input::-ms-reveal{
	display: none;
	height: 0;
	width: 0;
}

/*Chargement Ajax*/
#Chargement{
	-webkit-align-items: center;
		align-items: center;
	display: none;
	height: 40px;
	-webkit-justify-content: center;
			justify-content: center;
	margin-top: 35px;
}

#Chargement span{
	-webkit-animation: AjaxScale 1s ease infinite;
		animation: AjaxScale 1s ease infinite;
	background-color: #0061a7;
	border-radius: 50%;
	display: inline-block;
	height: 16px;
	margin-right: 10px;
	width: 16px;
}

#Resultats #Chargement{
	display: -webkit-flex;
		display: flex;
	margin-top: 0;
}

#Resultats article + #Chargement{
	margin-top: 35px;
}

#Chargement span:nth-of-type(2){
	-webkit-animation-delay: 0.1s;
			animation-delay: 0.1s;
}

#Chargement span:nth-of-type(3){
	-webkit-animation-delay: 0.2s;
			animation-delay: 0.2s;
}

#Chargement span:nth-of-type(4){
	-webkit-animation-delay: 0.3s;
			animation-delay: 0.3s;
}

@-webkit-keyframes AjaxScale{
	0%, 100%{
		height: 16px;
		width: 16px;
	}
	
	50%{
		height: 2px;
		width: 2px;
	}
}

@keyframes AjaxScale{
	0%, 100%{
		height: 16px;
		width: 16px;
	}
	
	50%{
		height: 2px;
		width: 2px;
	}
}

/*********************************
	En-tête
*********************************/
header{
	background-color: #fff;
	border-bottom: 5px #0061a7 solid;
	position: relative;
	z-index: 4
}

header .Wrapper>a img{
	height: 100px;
	vertical-align: bottom
}

header .Wrapper{
	-webkit-align-items: flex-end;
			align-items: flex-end;
	display: -webkit-flex;
		display: flex;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	padding-top: 10px
}

/*********************************
	Menu
*********************************/
header nav>ul{
	-webkit-align-items: flex-end;
			align-items: flex-end;
	display: -webkit-flex;
		display: flex;
	-webkit-flex-direction: row;
			flex-direction: row;
	list-style-type: none
}

@media screen and (min-width: 1200px){
	header nav>ul>li {
		margin-bottom: 20px
	}	
}

header nav>ul>li:hover{
	margin-bottom: 0;
	padding-bottom: 20px
}

header nav>ul>li:not(:last-of-type){
	margin-right: 20px;
	position: relative
}

header nav>ul li:hover ul, header nav>ul ul:hover{
	display: block
}

header nav>ul a{
	color: #000;
	text-transform: uppercase
}

header nav>ul a:hover{
	color: #0061a7
}

header nav>ul img{
	cursor: pointer
}

header nav ul ul{
	background-color: #fff;
	border-bottom: 0 solid #0061a7;
	left: -20px;
	list-style-type: none;
	max-height: 0;
	overflow: hidden;
	padding-left: 20px;
	position: absolute;
	top: 39px;
	transition: max-height, border-bottom-width, box-shadow;
	/*transition-duration: 0.3s;*/
	transition-timing-function: ease;
	width: 240px
}

header nav ul ul li:not(:last-of-type){
	margin-bottom: 15px
}

header nav ul ul li:first-of-type{
	margin-top: 20px
}

header nav ul ul li:last-of-type{
	margin-bottom: 20px
}

header nav ul ul a{
	text-transform: none
}

@media screen and (min-width: 1201px){
	header nav>ul li:hover ul{
		border-bottom-width: 3px;
		border-top: 5px #0061a7 solid;
		box-shadow: 0 3px 7px rgba(0, 0, 0, 0.35);
		z-index: 6;
		max-height: 250px;
		transition-duration: 0.9s;
	}
	
	/*header nav>ul li:nth-of-type(1):hover ul,
	header nav>ul li:nth-of-type(6):hover ul {
		max-height: 203px;
		transition-duration: 0.9s
	}
	header nav>ul li:nth-of-type(2):hover ul{
		max-height: 229px;
		transition-duration: 0.7s;
	}
	header nav>ul li:nth-of-type(3):hover ul {
		max-height: 132px;
		transition-duration: 0.6s
	}
	header nav>ul li:nth-of-type(4):hover ul {
		max-height: 98px;
		transition-duration: 0.4s
	}
	header nav>ul li:nth-of-type(5):hover ul {
		max-height: 169px;
		transition-duration: 0.8s
	}*/
}

/*********************************
	Menu mobile
*********************************/
@media screen and (min-width: 1200px){
	header nav:first-of-type{
		display: none;
	}
}

@media screen and (max-width: 1200px){
	header nav{
		background-color: #fff;
		border-bottom: 3px solid #0061a7;
		display: none;
		left: 0;
		position: absolute;
		top: 115px;
		width: 100%;
	}
	
	/*Menu, Rechercher*/
	header nav:first-of-type{
		border-bottom: none;
		display: block;
		position: static;
		width: auto;
	}
	
	header nav:first-of-type li{
		margin: 0 20px 20px 0 !important;
		text-indent: 0;
		width: auto;
	}
	
	header nav:first-of-type li:last-of-type{
		margin-right: 0 !important;
	}
	
	header nav:first-of-type a{
		pointer-events: auto;
	}
	
	/*Menu original*/
	header nav.MenuOuvert{
		display: block;
	}

	header nav:last-of-type ul{
		-webkit-align-items: flex-start;
		        align-items: flex-start;
		-webkit-flex-direction: column;
		        flex-direction: column;
	}

	header nav li{
		cursor: pointer;
		margin-bottom: 0;
		margin-top: 30px;
		text-indent: 20px;
		width: 100%;
	}

	header nav:last-of-type > ul > li:last-of-type{
		display: none;
	}

	header nav > ul > li:nth-last-child(2){
		margin-bottom: 30px;
	}

	header nav > ul li:hover{
		padding-bottom: 0;
	}

	header nav > ul > li:hover > a{
		color: #0061a7;
	}

	header nav > ul > li > a:not(:only-child){
		pointer-events: none;
	}

	/*Sous-menus*/
	header nav ul ul{
		background-color: #ededed;
		border-bottom: none;
		box-shadow: inset 0 6px 5px -5px rgba(0, 0, 0, .35),
					inset 0 -6px 5px -5px rgba(0, 0, 0, .35);
		padding-left: 0;
		position: static;
		transition: max-height 0.6s ease, margin-top 0.6s ease;
		width: 100%;
	}

	header nav ul ul li{
		margin-top: 25px;
		text-indent: 40px;
	}

	header nav ul ul li:first-of-type{
		margin-top: 25px;
	}

	header nav ul ul li:last-of-type{
		margin-bottom: 25px;
	}
	
	header nav > ul li:focus ul,
	nav ul li.Ouvert ul{
		margin-top: 15px;
		max-height: 250px;
	}
}

@media screen and (max-width: 480px){
	header .Wrapper{
		-webkit-align-items: center;
		        align-items: center;
		-webkit-flex-direction: column;
		        flex-direction: column;
	}
	
	header nav:first-of-type ul{
		-webkit-align-items: center;
		        align-items: center;
		-webkit-flex-direction: column;
		        flex-direction: column;
	}
	
	header nav:first-of-type li{
		margin-right: 0 !important;
	}
	
	header nav:first-of-type li:first-of-type{
		margin-top: 20px !important;
	}
	
	header nav{
		top: 213px;
	}
}

/*********************************
	Recherche
*********************************/
body>form{
	background-color: #fff;
	position: absolute;
	-webkit-transform: translateY(-44px);
			transform: translateY(-44px);
	width: 100%
}

body>form div{
	display: -webkit-flex;
		display: flex
}

body>form img{
	padding: 12px 20px 12px 0
}

body>form input{
	border: none;
	display: block;
	font-size: 0.9375rem;
	width: 100%
}

body>form input:focus{
	outline: none
}

.OpenSearch{
	-webkit-animation: hvr-hang 0.5s ease-in-out;
			animation: hvr-hang 0.5s ease-in-out;
	-webkit-animation-fill-mode: forwards;
			animation-fill-mode: forwards
}

.CloseSearch{
	-webkit-animation: hvr-hang-reverse 0.5s ease-in-out;
			animation: hvr-hang-reverse 0.5s ease-in-out
}

@-webkit-keyframes hvr-hang{
	0%{
		-webkit-transform: translateY(-44px) translate3d(0, 0, 0);
				transform: translateY(-44px) translate3d(0, 0, 0);
		z-index: 1;
	}
	
	64%{
		z-index: 1;
	}
	
	65%{
		-webkit-transform: translateY(10px);
				transform: translateY(10px);
		z-index: 3;
	}
	
	100%{
		-webkit-transform: translateY(0) translate3d(0, 0, 0);
				transform: translateY(0) translate3d(0, 0, 0);
		z-index: 3;
	}
}

@keyframes hvr-hang{
	0%{
		-webkit-transform: translateY(-44px) translate3d(0, 0, 0);
				transform: translateY(-44px) translate3d(0, 0, 0);
		z-index: 1;
	}
	
	64%{
		z-index: 1;
	}
	
	65%{
		-webkit-transform: translateY(10px);
				transform: translateY(10px);
		z-index: 3;
	}
	
	100%{
		-webkit-transform: translateY(0) translate3d(0, 0, 0);
				transform: translateY(0) translate3d(0, 0, 0);
		z-index: 3;
	}
}
@-webkit-keyframes hvr-hang-reverse{
	0%{
		-webkit-transform: translateY(0) translate3d(0, 0, 0);
				transform: translateY(0) translate3d(0, 0, 0);
		z-index: 3;
	}
	
	64%{
		-webkit-transform: translateY(10px);
				transform: translateY(10px);
		z-index: 3;
	}
	
	65%{
		z-index: 1;
	}
	
	100%{
		-webkit-transform: translateY(-44px) translate3d(0, 0, 0);
				transform: translateY(-44px) translate3d(0, 0, 0);
		z-index: 1;
	}
}

@keyframes hvr-hang-reverse{
	0%{
		-webkit-transform: translateY(0) translate3d(0, 0, 0);
				transform: translateY(0) translate3d(0, 0, 0);
		z-index: 3;
	}
	
	64%{
		-webkit-transform: translateY(10px);
				transform: translateY(10px);
		z-index: 3;
	}
	
	65%{
		z-index: 1;
	}
	
	100%{
		-webkit-transform: translateY(-44px) translate3d(0, 0, 0);
				transform: translateY(-44px) translate3d(0, 0, 0);
		z-index: 1;
	}
}

/*IE Edge*/
@supports (-ms-accelerator: true){
	body.SearchOuvert{
		display: block !important;
	}
	
	@media screen and (max-width: 960px){
		.Articles > .Wrapper{
			max-width: 100%;
		}
	}
}

div#Resultats {
	display: none;
	-webkit-flex: 1 0 auto;
			flex: 1 0 auto;
	margin-top: 94px;
	transition: opacity 0.4s linear;
	width: 100%
}

#Resultats a:last-of-type article{
	margin-bottom: 0
}

@media screen and (min-width: 961px){
	.SearchOuvert{
		/*display: -webkit-flex cause un bug sur IOS*/
		display: flex;
		-webkit-flex-direction: column;
				flex-direction: column;
		min-height: 100vh
	}
}

/*********************************
	Carrousel
*********************************/
body>section{
	position: relative
}

body>section>div:first-of-type{
	background-color: rgba(0, 97, 167, 0.7);
	bottom: 119px;
	position: absolute;
	max-width: 100%;
	width: 100%;
	z-index: 3
}

body>section>div:first-of-type .Wrapper{
	padding: 20px 20px 20px 60px
}

body>section h1, body>section h2{
	color: #fff;
	margin: 0
}

body>section h1{
	font-size: 3rem;
	margin-bottom: 10px;
	text-transform: none
}

body>section ul{
	bottom: 50px;
	left: 0;
	position: absolute;
	right: 0;
	text-align: center;
	z-index: 3
}

body>section ul li{
	background-color: #fff;
	border-radius: 50%;
	cursor: pointer;
	display: inline-block;
	list-style-type: none;
	height: 12px;
	margin-right: 30px;
	transition: background-color 0.1s linear;
	width: 12px
}

body>section ul li:last-of-type{
	margin-right: 0
}

body>section ul .Actif, body>section ul li:hover {
	background-color: #0061a7
}

#Carrousel{
	cursor: pointer;
	height: 700px;
	overflow: hidden;
	position: relative;
	width: 100%
}

#Carrousel img{
	left: calc(50% - 960px);
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.6s linear;
	width: 1920px;
	z-index: -1;
}

#Carrousel img.Actif{
	opacity: 1;
	z-index: 0;
}

/*********************************
	Bandeau de don
*********************************/
#Don{
	background-color: #fff;
	box-shadow: inset 0 6px 5px -5px rgba(0, 0, 0, .35),
				inset 0 -6px 5px -5px rgba(0, 0, 0, .35);
}

#Don .Wrapper{
	-webkit-align-items: center;
			align-items: center;
	display: -webkit-flex;
		display: flex;
	-webkit-flex-direction: row;
			flex-direction: row;
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	padding: 35px 20px 39px;
	text-align: center
}

#Don h2{
	margin: 0
}

#Don a{
	-webkit-align-items: center;
	        align-items: center;
	display: -webkit-flex;
	display: flex;
	font-size: 1.125rem;
	height: 50px;
	margin: 0 auto;
	padding: 0 25px
}

/*********************************
	Articles page d'accueil, résultats de recherche, catégorie
*********************************/
.Articles, main{
	background-color: transparent;
	margin: 50px 0;
}

.Articles article{
	-webkit-align-items: flex-start;
			align-items: flex-start;
	background-color: #fff;
	cursor: pointer;
	display: -webkit-flex;
		display: flex;
	margin-bottom: 35px;
	padding: 0 20px
}

main a:last-of-type article{
	margin-bottom: 0;
}

.Articles article img{
	border: 5px solid #fff;
	box-shadow: 3px 3px 8px -3px rgba(0, 0, 0, 0.35);
	box-sizing: border-box;
	-webkit-flex: 0 1 465px;
			flex: 0 1 465px;
	margin: -10px 30px 20px 0;
	max-width: 465px;
}

.Articles article h1{
	font-weight: 100;
	margin: 35px 0;
}

/*Problème sur IOS*/
@media screen and (min-width: 961px){
	.Articles article h1{
		max-width: 580px;
	}
}

.Articles article p{
	max-width: 590px;
	margin-bottom: 35px
}

.Articles article span{
	border-bottom: 1px solid #0061a7;
	color: #0061a7;
	margin-bottom: 35px
}

.Articles article div:first-of-type{
	display: none
}

.Articles article div:last-of-type{
	max-width: 665px;
	margin-bottom: 35px
}

main input[type=button]{
	display: block;
	margin: 35px auto 0
}

/*********************************
	Recherche ouverte
*********************************/
body.SearchOuvert > section,
body.SearchOuvert > div:not(#Resultats):not(#wpadminbar),
body.SearchOuvert > main,
body.SearchOuvert > aside,
body.SearchOuvert > footer{
	display: none;
}

body.SearchOuvert > #Resultats,
body.SearchOuvert > #Chargement{
	display: block;
}

/*********************************
	Charger plus
*********************************/
#Chargement.Montrer{
	display: -webkit-flex;
		display: flex;
}

/*********************************
	Articles et pages
*********************************/
.Articles  > .Wrapper{
	padding: 0
}

.Titre {
	box-shadow: 0 3px 7px rgba(0, 0, 0, .35);
	box-sizing: border-box;
	overflow: hidden;
	padding: 35px 0;
	position: relative;
	width: 100%
}

.Titre .Wrapper{
	display: -webkit-flex;
		display: flex;
	-webkit-flex-direction: column;
			flex-direction: column;
	min-height: 105px;
	-webkit-justify-content: center;
			justify-content: center
}

.Titre h1{
	font-size: 2.5rem;
	margin-bottom: 0
}

.Titre h1, .Titre p{
	color: #fff;
	margin-left: 60px
}

.Titre h1 ~ p{
	margin-top: 20px
}

.Titre a{
	color: #fff;
	font-size: 1rem
}

.Titre canvas{
	left: calc(50% - 960px);
	position: absolute;
	top: 0;
	width: 1920px;
	z-index: -1
}

/*********************************
	Fil d'arianne
*********************************/
.Arianne{
	margin-bottom: -15px;
	margin-top: 35px;
}

.Arianne .Wrapper{
	border-bottom: 1px solid #cccccc;
	border-top: 1px solid #cccccc;
	padding-top: 17px;
	padding-bottom: 17px;
}

.Arianne *[property]{
	margin-left: 10px;
	margin-right: 10px;
}

.Arianne .breadcrumb_last{
	margin-left: 10px;
}

/*********************************
	Page, article et contact
*********************************/
.Contenu .Wrapper{
	-webkit-align-items: flex-start;
			align-items: flex-start;
	display: -webkit-flex;
		display: flex;
	-webkit-flex-direction: row;
			flex-direction: row;
	-webkit-flex-wrap: nowrap;
			flex-wrap: nowrap;
	-webkit-justify-content: space-between;
			justify-content: space-between
}

.Contenu section{
	-webkit-flex: 0 1 660px;
			flex: 0 1 660px
}

.Contenu section>img{
	margin: 35px 0 35px 20px;
	max-width: 100%;
	width: 520px
}

.Contenu section>img+h2{
	margin-top: 0
}

/*Vidéo à la une*/
.VideoALaUne{
	margin: 35px 0 35px 20px;
	max-width: 600px;
}

.VideoALaUne div{
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}

.VideoALaUne iframe{
	left: 0;
	height: 100% !important;
	position: absolute;
	top: 0;
	width: 100% !important;
}

.Contenu section a{
	font-size: 1rem;
}

.Contenu section *:last-child{
	margin-bottom: 0 !important
}

main.Article section p:not(:first-of-type),
main.Page section p:not(:first-of-type){
	margin-bottom: 1.125rem;
}

main.Page ul:not(.atcb-list),
main.Article ul:not(.atcb-list){
	font-size: 0.9375rem;
	margin: 20px 0 30px 20px
}

main.Page section li,
main.Article section li{
	background-image: url(images/bullet.svg);
	background-position: 0 6px;
	background-repeat: no-repeat;
	list-style-type: none;
	padding-left: 11px
}

.Contenu li:not(:last-of-type):not(.atcb-item){
	margin-bottom: 10px
}

/*Responsive sidebar*/
@media screen and (max-width: 960px){
	main.Article .Wrapper, main.Page .Wrapper{
		padding: 0;
	}
	
	main.Article section, main.Page section{
		box-sizing: border-box;
		max-width: 100%;
		padding: 0 20px;
	}
	
	main.Article aside:last-of-type, main.Page aside{
		width: 100%;
	}
	
	main.Article aside:last-of-type > div:last-of-type, main.Page aside div:last-of-type{
		background-color: white;
		box-shadow: inset 0 3px 7px -2px rgba(0, 0,0, .35), inset 0 -3px 7px -2px rgba(0, 0, 0, .35);
		margin-top: 35px;
		padding: 35px 20px;
	}
	
	.Categorie{
		margin-bottom: 35px;
	}
	
	main.Article aside ul:last-of-type, main.Page aside ul:last-of-type{
		margin-bottom: 0;
	}
	
	main.Article li:not(:last-of-type):not(.atcb-item), main.Page li:not(:last-of-type):not(.atcb-item){
		margin-bottom: 20px;
	}
	
	main.Article aside li:last-of-type, main.Page aside li:last-of-type{
		margin-bottom: 0;
	}
}

@media screen and (max-width: 680px){
	aside .Evenement div{
		margin-left: 0;
	}
}

/*********************************
	Aside
*********************************/
@media screen and (min-width: 961px){
	main.Article aside, main.Page aside{
		margin-left: 50px;
	}
}

aside h2{
	margin-top: 0;
}

aside:not(.Commanditaires) hr{
	display: none;
}

.Evenement{
	margin-bottom: 35px
}

.Evenement h2{
	margin-bottom: 20px !important
}

.Evenement div{
	margin: 0 0 10px 25px
}
.Evenement div:last-of-type{
	margin-bottom: 0
}

.Evenement img{
	height: 16px
}

.Evenement div:last-of-type img{
	padding: 0 2px;
	margin-right: 2px
}

.Evenement p{
	display: inline-block;
	margin-left: 5px;
	vertical-align: text-top;
	max-width: 292px;
	width: calc(100% - 30px)
}

@media screen and (max-width: 960px){
	.Evenement{
		margin-top: 35px;
		padding: 0 20px;
	}
	
	.Evenement h2{
		margin-bottom: 0 !important;
	}
}

/*Add to calendar*/
.addtocalendar{
	display: -webkit-flex;
	display: flex;
	margin: 20px auto 0;
	position: relative
}
.addtocalendar var{
	display: none
}

.addtocalendar a.atcb-link{
	-webkit-align-items: center;
	        align-items: center;
	display: -webkit-flex;
	display: flex;
	font-size: 1rem;
	-webkit-justify-content: center;
	        justify-content: center;
	margin: 0 auto;
}

.addtocalendar .atcb-list{
	background-color: #fff;
	border-bottom: 3px solid #0061a7;
	box-sizing: border-box;
	display: none;
	left: calc(50% - 94px);
	list-style-type: none;
	margin: 44px auto 0;
	padding: 10px 10px 10px 15px;
	position: absolute;
	width: 188px
}

.addtocalendar .atcb-link:focus ~ .atcb-list,
.addtocalendar .atcb-list:hover{
	display: block
}

.addtocalendar .atcb-item:not(:last-of-type){
	margin-bottom: 10px
}

.addtocalendar .atcb-item-link{
	color: #000
}

.addtocalendar .atcb-item-link:hover{
	color: #0061a7
}

.Categorie li, .Recent li{
	list-style-type: none;
	margin: 0 7px 10px 0;
	text-indent: 0px;
	transition: text-indent 0.2s ease, margin 0.2s ease
}

.Categorie a, .Recent a{
	color: #000
}

.Categorie a:before, .Recent a:before{
	content: url(images/bullet.svg);
	vertical-align: text-top;
	margin-right: 5px
}

/*Carrousel des commanditaires*/
.Commanditaires{
	background-color: #fff;
	box-shadow: inset 0 6px 5px -5px rgba(0, 0, 0, .35),
				inset 0 -6px 5px -5px rgba(0, 0, 0, .35);
	margin-bottom: 50px;
	padding-top: 25px;
	padding-bottom: 25px
}

.Commanditaires h2{
	margin-bottom: 0
}

.Commanditaires hr{
	margin-bottom: 20px
}

.swiper-container{
	height: 150px;
	width: 100%;
}

.swiper-container .swiper-slide{
	-webkit-align-items: center;
	        align-items: center;
	display: -webkit-flex;
	display: flex;
	height: 150px;
	-webkit-justify-content: center;
	        justify-content: center;
	text-align: center;
	width: 240px;
}

.swiper-slide img{
	max-width: 100%;
}

main.Article aside.Commanditaires{
	display: none;
}

@media screen and (max-width: 960px){
	main.Article aside.Commanditaires{
		box-sizing: border-box;
		display: block;
		margin-bottom: 0;
		margin-top: 35px;
		padding: 25px 20px;
		width: 100%;
	}
	
	body > .Commanditaires{
		display: none;
	}
	
	.Evenement p{
		max-width: 100%;
	}
}
/*********************************
	Page contact
*********************************/
.Contact{
	box-shadow: none
}

.Contact section{
	-webkit-flex: 0 0 500px;
			flex: 0 0 500px
}

.Contact aside{
	background-color: #ededed;
	border: 5px solid #fff;
	box-shadow: 3px 3px 8px -3px rgba(0, 0, 0, 0.35);
	margin-left: 35px;
	width: 530px
}

.Contact aside div{
	height: 0;
	padding-bottom: 71.7%;
	position: relative;
	overflow: hidden
}

.Contact aside iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

/*********************************
	404
*********************************/
body.QCQ{
	-webkit-align-items: center;
		align-items: center;
	background-color: #0061a7;
	background-image: none;
	box-sizing: border-box;
	display: -webkit-flex;
		display: flex;
	-webkit-flex-direction: column;
		flex-direction: column;
	height: 100vh;
	-webkit-justify-content: center;
		justify-content: center;
	padding: 20px;
	text-align: center;
}

body.QCQ img{
	left: 20px;
	position: absolute;
	top: 20px;
}

body.QCQ h1, body.QCQ h2, body.QCQ a{
	color: #fff;
	line-height: 1;
	margin: 0;
}

body.QCQ h1{
	font-size: 9rem;
	font-weight: bold;
	margin-bottom: 35px;
}

body.QCQ h2{
	max-width: 100%;
}

body.QCQ a:last-of-type{
	font-size: 1.2rem;
	margin-top: 35px;
	text-decoration: underline;
}

body.QCQ div{
	position: relative;
}

body.QCQ p{
	color: #fff;
	font-weight: bold;
	position: absolute;
}

@media screen and (max-width: 565px){
	body.QCQ {
		-webkit-justify-content: flex-start;
			justify-content: flex-start;
	}
	
	body.QCQ img{
		padding-bottom: 50px;
		position: static;
	}
	
	body.QCQ p{
		display: none;
	}
}

body.QCQ p:nth-of-type(1){
	left: 155px;
	font-size: 6rem;
	top: -110px;
	-webkit-transform: rotate(-11deg);
		transform: rotate(-11deg);
}

body.QCQ p:nth-of-type(2){
	left: 215px;
	font-size: 8rem;
	top: -125px;
	-webkit-transform: rotate(22deg);
		transform: rotate(22deg);
}

body.QCQ p:nth-of-type(3){
	left: 297px;
	font-size: 4rem;
	top: -60px;
	-webkit-transform: rotate(26deg);
		transform: rotate(26deg);
}

body.QCQ p:nth-of-type(4){
	left: 290px;
	font-size: 7rem;
	top: -20px;
	-webkit-transform: rotate(54deg);
		transform: rotate(54deg);
}

/*********************************
	Pied de page
*********************************/
footer:first-of-type{
	background-color: #0061a7;
	display: -webkit-flex;
		display: flex
}

.WFooter:first-of-type{
	-webkit-align-items: center;
		align-items: center;
	display: -webkit-flex;
		display: flex;
	-webkit-flex-basis: 60%;
	        flex-basis: 60%;
	-webkit-justify-content: space-around;
			justify-content: space-around;
	padding: 48px 0 47px;
	margin-left: auto;
	max-width: 790px
}

.WFooter:first-of-type li{
	list-style-type: none
}

.WFooter:first-of-type li:not(:last-of-type){
	margin-bottom: 25px
}

.WFooter:first-of-type a{
	color: #fff;
	display: inline-block
}

.WFooter:last-of-type{
	background-color: #fff;
	box-shadow: inset 5px 0 5px -3px rgba(0, 0, 0, 0.35), inset 0 -6px 5px -5px rgba(0, 0, 0, .35);
	box-sizing: border-box;
	-webkit-flex-basis: 40%;
	        flex-basis: 40%;
	padding: 50px 0 50px 3.7%
}

.WFooter:last-of-type > p{
	color: #0061a7;
	width: 100%
}

.WFooter:last-of-type form{
	margin: 21px 0 24px
}

.WFooter:last-of-type input[type=text]{
	background-color: #ededed;
	display: inline;
	margin: 0;
	width: 260px
}

.WFooter:last-of-type input[type=submit]{
	margin-left: -5px;
	vertical-align: top
}

.Social{
	display: inline-block;
	height: 40px;
	margin-right: 5px;
	position: relative;
	width: 40px
}

.Social img{
	right: 0;
	position: absolute;
	bottom: 0;
	transition: -webkit-transform 0.2s linear;
	transition: transform 0.2s linear
}

.Social img:last-of-type{
	-webkit-transform: rotateX(90deg);
			transform: rotateX(90deg);
	transition-delay: 0.2s
}

footer:last-of-type{
	background-color: #ededed;
	padding: 23px 0 20px;
	text-align: center
}

.partenaire {
  padding: 5px;
}

/*********************************
	Gravity Forms
*********************************/
.gform_fields{
	list-style-type: none
}

.gfield_label,
.gfield_description,
.validation_message,
.validation_error,
.gform_ajax_spinner{
	display: none
}

.gfield_error .ginput_container input[type=text], .gfield_error .ginput_container input[type=email], .gfield_error textarea, .gfield_error select{
	background-color: #FFEDED;
	border-color: #A00000
}

form:not(.Seul) .gform_body{
	margin-bottom: 10px
}

.gforms_confirmation_message p{
	color: #000;
	margin: 20px 0;
}

main.Contact .gform_confirmation_wrapper {
	margin-bottom: 35px !important;
}

/*Formulaire pied de page*/
footer form{
	margin: 21px 0 24px;
}

footer form input[type=email]{
	background-color: #ededed;
	display: inline;
	margin: 0;
	width: 260px;
}

footer form input[type=submit]{
	margin-left: -5px;
	vertical-align: top;
}

/*********************************
	Mozilla Firefox
*********************************/
@-moz-document url-prefix(){
	@media screen and (min-width: 481px){
		header nav:first-of-type{
			margin-left: auto;
		}
	}
	
	aside.Commanditaires img{
		pointer-events: none
	}
	
	.Social img{
		transition: none;
	}
	
	.Social img:first-of-type{
		transform: none;
	}
	
	.Social img:last-of-type{
		display: none;
	}
	
	@media screen and (max-width: 1200px) and (min-width: 961px){
		.Articles article img{
			-webkit-flex: 0 0 auto;
					flex: 0 0 auto;
			height: 260px;
			margin: auto 20px auto 0;
		}
	}
	
	@media screen and (max-width: 569px){
		.Articles .Wrapper{
			max-width: 100%;
		}
		
		.Articles img{
			width: 100%;
		}
	}
	
	@media screen and (max-width: 360px){
		.WFooter .gform_body{
			width: calc(100% - 74px);
		}
	}
}

/*********************************
	IE
*********************************/
@media all and (-ms-high-contrast: active), (-ms-high-contrast: none){
	main > .Wrapper:first-of-type{
		margin-top: 50px
	}
	
	.Titre.Page .Wrapper{
		height: 0;
	}
	
	.Articles article img{
		width: auto;
	}
	
	#Resultats{
		margin-bottom: 50px;
	}
	
	.Categorie li:hover, .Recent li:hover{
		margin-left: 7px;
		margin-right: 0;
		text-indent: 0;
	}
	
	body > .Commanditaires{
		margin-top: 50px;
	}
	
	footer:first-of-type{
		margin-top: 50px
	}
	
	.WFooter:first-of-type a{
		text-indent: 0
	}
	
	.Social img{
		transition: none;
	}
	
	.Social img:first-of-type{
		-webkit-transform: none;
		        transform: none;
	}
	
	.Social img:last-of-type{
		display: none;
	}
}

@media screen and (max-width: 1200px) and (min-width: 961px) and (-ms-high-contrast: none){
	.Articles article img{
		flex: 0 0 auto;
		height: 260px;
		margin: auto 20px auto 0px;
		/*width: 260px;*/
	}
}

@media screen and (max-width: 960px) and (-ms-high-contrast: none){
	article div:last-of-type{
		max-width: 100%
	}
}

@media screen and (min-width: 481px) and (-ms-high-contrast: none){
	header nav:first-of-type{
		margin-left: auto;
	}
}

@media screen and (max-width: 360px) and (-ms-high-contrast: none){
	.WFooter .gform_body{
		width: calc(100% - 74px);
	}
}

/*********************************
	Media Queries
*********************************/
@media screen and (max-width: 1120px){
	.Articles article{
		padding: 20px;
	}
	
	.Articles article img{
		margin: auto 20px auto 0
	}
	
	.Articles article h1{
		margin-top: 15px;
	}
	
	.Articles article p{
		margin-bottom: 15px;
	}
}

@media screen and (max-width: 1140px){
	.WFooter:first-of-type{
		-webkit-flex: 65%;
			flex: 65%;
	}
}

@media screen and (max-width: 1080px){
	.WFooter:first-of-type{
		-webkit-flex: 70%;
			flex: 70%;
	}
}

@media screen and (max-width: 1030px){
	footer:first-of-type{
		display: block;
	}
	
	.WFooter:first-of-type{
		-webkit-justify-content: space-between;
				justify-content: space-between;
		margin: 0 10%;
		max-width: 90%
	}
	
	.WFooter:last-of-type{
		-webkit-align-items: flex-end;
				align-items: flex-end;
		box-shadow: inset 0 6px 5px -5px rgba(0, 0, 0, .35), inset 0 -6px 5px -5px rgba(0, 0, 0, .35);
		display: -webkit-flex;
			display: flex;
		-webkit-flex-wrap: wrap;
				flex-wrap: wrap;
		margin: 0 auto;
		padding: 50px 10%
	}
	
	.WFooter:last-of-type form{
		margin-bottom: 0
	}
	
	.WFooter:last-of-type input[type=text]{
		margin-bottom: 0
	}
	
	.Social:first-of-type{
		margin-left: auto;
		margin-right: 10px
	}
}

/*Animation sidebar et réseaux sociaux*/
@media screen and (min-width: 960px){
	.Categorie li:hover, .Recent li:hover{
		margin-right: 0;
		text-indent: 7px
	}
	
	.WFooter:first-of-type a{
		margin-right: 7px;
		text-indent: 0px;
		transition: text-indent 0.2s ease, margin-right 0.2s ease
	}
	.WFooter:first-of-type a:hover{
		text-indent: 7px;
		margin-right: 0
	}
	
	.Hover img:first-of-type{
	-webkit-transform: rotateX(90deg);
			transform: rotateX(90deg)
	}

	.Hover img:last-of-type{
		-webkit-transform: rotateX(0);
				transform: rotateX(0)
	}

	.Out img:first-of-type{
		-webkit-transform: rotateX(0);
				transform: rotateX(0);
		transition-delay: 0.2s
	}

	.Out img:last-of-type{
		-webkit-transform: rotateX(90deg);
				transform: rotateX(90deg);
		transition-delay: 0s
	}
}

@media screen and (max-width: 960px){
	body{
		background-color: #ededed;
		background-image: none;
	}
	
	#Don .Wrapper{
		padding-top: 30px
	}
	
	#Don h2{
		margin: 0 auto 30px;
		width: 100%
	}
	
	.Articles article{
		-webkit-flex-direction: column;
				flex-direction: column;
		padding: 0 20px;
		position: relative
	}
	
	.Articles article img{
		-webkit-flex: 0 0 auto;
				flex: 0 0 auto;
		margin: 0 auto;
		max-width: 100%;
		position: relative;
		/*width: 520px;*/
		z-index: 1
	}
	
	.Articles article h1{
		margin-top: 35px;
	}
	
	.Articles article p{
		margin-bottom: 15px;
		max-width: 100%
	}
	
	.Articles article div:first-of-type{
		background-color: #ededed;
		display: block;
		height: 250px;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%
	}
	
	.Articles article div:last-of-type{
		max-width: 100%;
	}
	
	main.Page .Wrapper,
	main.Article .Wrapper,
	main.Contact .Wrapper{
		-webkit-flex-wrap: wrap;
				flex-wrap: wrap
	}
	
	main.Page section,
	main.Article section,
	main.Contact section{
		-webkit-flex: 0 1 100%;
				flex: 0 1 100%
	}
	
	main.Contact section{
		-webkit-flex: 0 1 100%;
				flex: 0 1 100%
	}
	
	main.Contact input[type=submit]{
		display: block;
		margin: 30px 0 34px
	}
	
	main.Contact aside{
		margin: 0 auto
	}
	
	aside hr{
		display: block !important;
		width: 100%;
	}
}

@media screen and (max-width: 820px){
	.WFooter:first-of-type{
		margin: 0 20px;
		max-width: 100%;
	}
	
	.WFooter:last-of-type{
		padding: 50px 20px;
	}
}

@media screen and (max-width: 800px){
	main.Contact input[type=submit] {
		margin: 30px auto 34px
	}
}

@media screen and (max-width: 700px){
	.Titre h1, .Titre p{
		margin-left: 0
	}
	
	main.Page section>img,
	main.Article section>img,
	main.Contact section>img{
		margin: 35px 0
	}
}

@media screen and (max-width: 680px){
	main.Page ul:not(.atcb-list),
	main.Article ul:not(.atcb-list),
	main.Contact ul:not(.atcb-list){
		margin-left: 0
	}
	
	.WFooter:first-of-type{
		-webkit-flex-direction: column;
				flex-direction: column;
		text-align: center
	}
	
	.WFooter:first-of-type ul:not(:last-of-type){
		margin-bottom: 60px
	}
	
	.WFooter:last-of-type{
		text-align: center;
		padding: 50px 6%
	}
	
	.gform_wrapper{
		width: 100%
	}
	
	.WFooter:last-of-type form{
		margin-bottom: 25px;
		width: 100%
	}
	
	.WFooter:last-of-type a:last-of-type{
		margin-right: auto
	}
}

@media screen and (max-width: 560px){
	body>section>div:first-of-type .Wrapper{
		padding-left: 20px
	}
	
	body>section h1{
		font-size: 2.5rem
	}
}

@media screen and (max-width: 535px){
	.Articles article div:first-of-type{
		height: 0;
		padding-top: 52.302%
	}
}

@media screen and (max-width: 360px){
	.WFooter:last-of-type input[type=email]{
		max-width: calc(100% - 50px)
	}
}
