@font-face {
	font-family: "Roboto";
	src: url("../font/roboto-v20-latin-300.woff2") format("woff2"), url("../font/roboto-v20-latin-300.woff") format("woff");
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: "Roboto";
	src: url("../font/roboto-v20-latin-300italic.woff2") format("woff2"), url("../font/roboto-v20-latin-300italic.woff") format("woff");
	font-weight: 300;
	font-style: italic;
}
@font-face {
	font-family: "Roboto";
	src: url("../font/roboto-v20-latin-500.woff2") format("woff2"), url("../font/roboto-v20-latin-500.woff") format("woff");
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: "Roboto";
	src: url("../font/roboto-v20-latin-500italic.woff2") format("woff2"), url("../font/roboto-v20-latin-500italic.woff") format("woff");
	font-weight: 500;
	font-style: italic;
}
@font-face {
	font-family: "Roboto";
	src: url("../font/roboto-v20-latin-700italic.woff2") format("woff2"), url("../font/roboto-v20-latin-700italic.woff") format("woff");
	font-weight: 700;
	font-style: italic;
}
@font-face {
	font-family: "LiquidCrystal";
	src: url("../font/liquidcrystal-bold.woff") format("woff");
}
*, *::after, *::before {
	box-sizing: border-box;
}
* {
	margin: 0;
	padding: 0;
}
img, video {
	display: block;
	user-select: none;
	pointer-events: none;
}
ul {
	list-style-type: none;
}
a {
	text-decoration: none;
	color: inherit;
}
html {
	width: 100%;
	height: 100%;
	font-size: 100%;
	overflow-x: hidden;
}
body {
	width: 100%;
	height: 100%;
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 1em;
	line-height: 1.3;
	background: #fdfcf7 url("../img/fond.svg");
	overflow-x: hidden;
}
#page {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
}
header {
	position: relative;
	width: 100%;
	overflow-y: hidden;
}
header img {
	position: relative;
	width: 80%;
	max-width: 360px;
	margin: 0 auto;
}
#espritsaint {
	position: absolute;
	top: -50%;
	left: 50%;
	transform: translateX(-50%);
	transition: top 2s;
	z-index: -1;
}
#espritsaint.chargement {
	top: 0;
}
#espritsaint.defilement {
	top: 50%;
	opacity: 0;
}
header ul {
	position: absolute;
	top: 7px;
	border: 1px solid #eee;
	cursor: not-allowed; /*provisoire*/
}
header ul li {
	text-transform: uppercase;
	height: 25px;
	line-height: 25px;
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: 25px 25px;
	padding-left: 32px;
	font-size: 0.9em;
	color: #1a1a1a;
	user-select: none;
}
header ul li.fr {
	background-image: url(../img/fr.svg);
}
header ul li.en {
	background-image: url(../img/en.svg);
}
header ul li.it {
	background-image: url(../img/it.svg);
}
header ul li:first-child::after {
	content: "▼";
	font-size: 0.8em;
	color: #eee;
	margin: 0 7px;
}
header ul li:nth-child(2), header ul li:nth-child(3) {
	display: none;
}
header ul.langue li:nth-child(2), header ul.langue li:nth-child(3), header ul li a {
	display: block;
}
#vatican {
	user-select: none;
	color: #850606;
	font-variant: small-caps;
	font-size: 1.1em;
}
#vatican span {
	font-family: "LiquidCrystal";
}
nav {
	z-index: 100;
}
nav, nav ul, nav ul li {
	width: 100%;
}
nav ul li a {
	display: block;
	text-transform: uppercase;
	font-size: 1.2em;
	padding: 0.8em 0;
	border: 2px solid #850606;
	text-align: center;
	transition: background 0.3s, color 0.2s;
}
nav ul li.actif a {
	background: #850606;
	color: #fdfcf7;
	font-weight: 500;
}
nav ul li.actif a:hover {
	color: #eee;
}
nav ul li:not(.actif) a {
	background: #fdfcf7;
	color: #1a1a1a;
}
nav ul li:not(.actif) a:hover {
	background: #fefbf5;
	color: #850606;
}
article {
	position: relative;
	margin: 0 auto;
}
article:nth-child(4) {
	padding-top: 0;
}
article h1, article h2 {
	font-weight: 500;
	text-transform: uppercase;
	color: #850606;
}
article h1 span {
	font-size: smaller;
}
article h2 span {
	text-transform: lowercase;
}
article p {
	width: 100%;
	text-align: justify;
	font-size: 1.2em;
	color: #2c3e50;
}
article div.prieres p {
	position: relative;
	text-align: center;
}
article div.prieres div:first-child p::before, article div.prieres div:last-child p::after {
	position: absolute;
	width: 52px;
	height: 41px;
	opacity: 0.15;
}
article div.prieres div:first-child p::before {
	top: 0;
	content: url("../img/ouvrezlesguillemets.svg");
}
article div.prieres div:last-child p::after {
	bottom: 0;
	content: url("../img/fermezlesguillemets.svg");
}
article p strong {
	font-weight: 500;
	text-transform: uppercase;
}
article p.numbered::before {
	content: attr(data-number);
	font-size: 3.5rem;
	padding-right: 0.5rem;
	font-weight: 700;
	font-style: italic;
	color: rgba(133,6,6,0.15);
	line-height: 0.9;
}
article figure {
	position: relative;
	overflow: hidden;
}
article:not(.aussi) figure:not(.celebration1):not(.celebration2):not(.celebration3):not(.celebration4):not(.action1):not(.action2):not(.action3):not(.action4):not(.action5):not(.action6) {
	margin: 10px 0;
}
article:not(.aussi) figure img, article figure video {
	position: absolute;
	top: 0;
	height: 100%;
}
article.aussi figure img {
	width: 100%;
}
article figure img.centre {
	left: 50%;
	transform: translateX(-50%);
}
article figure img.droite {
	right: 0;
}
article figure audio {
	position: absolute;
	bottom: 10px;
	left: 10px;
	width: calc(100% - 20px);
	opacity: 0.8;
}
article figure figcaption {
	padding: 15px 0;
	text-align: center;
	text-transform: uppercase;
	font-weight: 500;
	font-size: 1em;
	color: #850606;
}
article figure figcaption strong {
	font-size: smaller;
	color: #2c3e50;
	display: inline-block;
	padding-top: 5px;
}
article form {
	position: relative;
	width: 100%;
}
article form textarea {
	width: 100%;
	height: 200px;
	padding: 0.5em;
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 1.2em;
	color: #1a1a1a;
	background: #fff;
	border: 1px solid #ddd;
	outline: none;
}
article form textarea:focus {
	border-color: #ccc;
}
#reset {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	border-color: #ccc;
	font-style: italic;
	user-select: none;
}
label, #tel {
	display: none;
}
article form input {
	padding: 0.1em 0.5em;
}
article form + p {
	font-style: italic;
	font-size: 0.9em;
}
article form + p span {
	display: none;
}
footer {
	width: 100%;
	text-align: center;
	padding-bottom: 10px;
	color: #850606;
	font-variant: small-caps;
	letter-spacing: 1px;
}
@media (max-width: 899px) {
	#page {
		position: relative;
	}
	header ul {
		left: 2%;
	}
	header ul li span, nav ul li a br {
		display: none;
	}
	#burger {
		position: fixed;
		top: 8px;
		right: 2%;
		width: 30px;
		height: 30px;
		cursor: pointer;
		z-index: 100;
	}
	#burger div {
		height: 3px;
		margin-bottom: 7px;
		background: #850606;
		transition: transform 0.4s ease-in;
	}
	#burger.menu div:nth-child(1) {
		transform: rotate(45deg) translate(7px, 7px);
	}
	#burger.menu div:nth-child(2) {
		transform: rotate(-45deg);	
	}
	#burger.menu div:nth-child(3) {
		transform: rotate(-45deg) translate(7px, -7px);	
	}
	#vatican {
		padding-top: 20px;
		padding-bottom: 10px;
		text-align: center;
	}
	nav {
		position: fixed;
		bottom: 0;
	}
	nav ul li.actif.cacher {
		display: none;
	}
	nav ul li:not(.actif) {
		max-height: 0;
	}
	nav.menu ul li:not(.actif) {
		max-height: 300px;
		transition: max-height 0.8s ease-in;
	}
	nav ul li:not(.actif) a {
		display: none;
	}
	nav.menu ul li:not(.actif) a {
		display: block;
	}
	nav ul li:not(:last-child) a {
		border-bottom: 0;
	}
	article {
		width: 100%;
		max-width: 360px;
		padding: 20px 0;
	}
	article.antichevauchement, footer.antichevauchement {
		padding-top: calc(min(100%,360px) + 20px);
	}
	article h1, article h2 {
		font-size: 1.3em;
		padding-bottom: 15px;
		text-align: center;
	}
	article h2.mission {
		padding-top: 10px;
	}
	article.aussi h2 {
		padding-bottom: 25px;
	}
	article div.superieurs h2 {
		padding-top: 15px;
	}
	article p {
		padding: 0 2% 15px;
	}
	article p.mission {
		padding-bottom: 25px;
	}
	article figure + p {
		padding-top: 15px;
	}
	article p.suite {
		padding-top: 10px;
	}
	article div.prieres div:first-child p::before {
		left: 2%;
	}
	article div.prieres div:last-child p::after {
		right: 2%;
	}
	article figure {
		width: 100%;
	}
	article:not(.aussi) figure {
		padding-bottom: 100%;
	}
	article figure.vatican, article figure.responsables {
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translate(-50%, -20px);
	}
	article figure.celebration1, article figure.celebration2, article figure.celebration3, article figure.action1, article figure.action2, article figure.action3 ,article figure.action4, article figure.action5, article.aussi figure {
		margin-bottom: 2px;
	}
	article figure.action6, article.aussi figure:last-child {
		margin-bottom: 10px;
	}
	article figure.vitrail, article figure.messe {
		margin-bottom: 25px;
	}
	article figure figcaption {
		position: absolute;
		bottom: 0;
		background: rgba(253,252,247,0.7);
		width: 100%;
	}
	article form {
		padding: 0 2% 15px;
	}
	article form textarea {
		margin-bottom: 15px;
	}
	article form input {
		font-size: 1em;
	}
	footer {
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		max-width: 360px;
		font-size: 0.9em;
	}
	footer strong {
		font-size: 1.15em;
	}
	footer span {
		display: none;
	}
}
@media (max-width: 374px) {
	#reset {
		left: 2%;
		width: 96%;
	}
}
@media (min-width: 375px) and (max-width: 899px) {
	article p, article form {
		padding: 0 0 15px;
	}
}
@media (min-width: 375px) {
	article div div:first-child p::before {
		left: 0;
	}
	article div div:last-child p::after {
		right: 0;
	}
}
@media (min-width: 900px) {
	header ul {
		left: 7px;
	}
	header ul li {
		height: 30px;
		line-height: 30px;
		background-size: 30px 30px;
		padding-left: 40px;
	}
	header ul li:first-child::after {
		margin: 0 10px;
	}
	#vatican {
		position: absolute;
		top: 7px;
		right: 7px;
		text-align: right;
	}
	nav {
		position: sticky;
		top: 0;
		background: linear-gradient(
			to bottom,
			#f5ecd9 0%,
			#f5ecd9 80%,
			rgba(245,236,217,0) 100%
		);
		padding-bottom: 20px;
	}
	nav ul::after {
		content: "";
		display: block;
		clear: both;
	}
	nav ul li {
		width: 17%;
		float: left;
		margin-right: 2.5%;
	}
	nav ul li:first-child {
		margin-left: 2.5%;
	}
	nav ul li a {
		border-radius: 3px;
	}
	article {
		width: 95%;
		padding: 30px 0;
	}
	article.avantaussi {
		padding-bottom: 0;
	}
	article h1, article h2 {
		font-size: 1.4em;
		padding-bottom: 20px;
	}
	article h2.mission {
		clear: both;
		padding-top: 40px;
	}
	article.aussi h2 {
		padding-bottom: 30px;
	}
	article h1.centre, article h2.centre {
		text-align: center;
		padding-bottom: 30px;
	}
	article h1.droite, article h2.droite {
		text-align: right;
	}
	article div {
		display: flex;
	}
	article div div {
		flex: 1;
		display: flex;
		flex-direction: column;
	}
	article div.prieres div {
		justify-content: space-between;
	}
	article p {
		padding-bottom: 20px;
	}
	article p.mission {
		padding-bottom: 30px;
	}
	article figure.vatican + p, article div.superieurs figure + p, article figure.responsables + p {
		padding-top: 20px;
	}
	article div.prieres p {
		padding-right: 20px;
		padding-left: 20px;
	}
	article div.superieurs div:first-child p {
		text-align: left;
		padding-right: 20px;
	}
	article div.superieurs div:last-child p {
		text-align: left;
		padding-left: 40px;
	}
	article figure {
		width: 50%;
		padding-bottom: 33.333%;
	}
	article.aussi figure {
		width: 25%;
		padding-bottom: 0;
	}
	article div figure {
		width: 100%;
		padding-bottom: 66.666%;
	}
	article figure.kabongo1 {
		position: absolute;
		bottom: 0;
		transform: translateY(-30px);
	}
	article figure.pape {
		transform: translateX(100%);
	}
	article.float figure {
		float: left;
	}
	article.float p {
		clear: both;
	}
	article figure.kabongo1, article figure.kabongo2, article figure.celebration1, article figure.celebration3, article figure.action1, article figure.action3, article figure.action5, article figure.vitrail, article figure.messe, article figure.kabongo, article figure.candidats {
		border-right: 1px solid #fdfcf7;
	}
	article figure.pape, article figure.vatican, article figure.celebration2, article figure.celebration4, article figure.action2, article figure.action4, article figure.action6, article figure.prier, article figure.celebration, article figure.amedee, article figure.responsables {
		border-left: 1px solid #fdfcf7;
	}
	article figure.celebration1, article figure.celebration2, article figure.action1, article figure.action2, article figure.action3, article figure.action4 {
		border-bottom: 1px solid #fdfcf7;
	}
	article figure.celebration3, article figure.celebration4, article figure.action3, article figure.action4, article figure.action5, article figure.action6 {
		border-top: 1px solid #fdfcf7;
	}
	article.aussi figure {
		border: 1px solid #fdfcf7;
	}
	article figure.kabongo1 img, article figure.action6 img, article figure.messe img {
		height: auto;
		width: 100%;
	}
	article figure.kabongo1 img {
		top: auto;
		bottom: 0;
	}
	article form {
		padding-bottom: 20px;
	}
	article form textarea {
		margin-bottom: 20px;
	}
	article form input {
		font-size: 1.1em;
	}
	footer {
		font-size: 1em;
	}
	article.float + footer {
		clear: both;
	}
	footer.mission {
		padding-top: 40px;
	}
	article.aussi + footer {
		padding-top: 65px;
	}
	footer br:nth-of-type(-n+2) {
		display: none;
	}
}
