/*
	##############################
  	# VARIABLES, RESETS, GLOBALS #
	##############################
*/

:root{
	--clr-primary: #ca3524;
	--clr-primary-var: #ca35249c;
	--clr-secondary: #DDE8B9;
	--clr-secondary-var: #dde8b9a8;

	--clr-gray: #817F82;
	--clr-black: #1C2826;
	--clr-white: #F2F4F9;

	--fonts-xxl: 4rem;
	--fonts-xl: 2.7rem;
	--fonts-l: 2rem;
	--fonts-m: 1.6rem;
  --fonts-mmob: 1.8rem;
	--fonts-s: 1.2rem;
	--fonts-xs: .8rem;

	--fontw-l: 600;
	--fontw-m: 400;
	--fontw-s: 300;

	--shadow1: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;
}

html{
	/* mise à l'échelle 1rem = 10px */
	font-size: 62.5%;
}

/* IE10+ doesn't honor `<meta name="viewport">` in some cases. */
@-ms-viewport {
	width: device-width;
}

/* Shim for "new" HTML5 structural elements to display correctly (IE10, older bro wsers) */
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
	display: block;
}

body{
  background-image: url(../img/background.jpg);
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

h1, h2, h3{
	font-family: "Cinzel", serif;
	font-optical-sizing: auto;
	font-weight: var(--fontw-l);
	font-style: normal;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	color: var(--clr-primary);
}

h1{
	font-size: var(--fonts-xl);
	margin: 1.5rem 0;
}

h2{
	font-size: var(--fonts-l);
	margin: 1rem 0 .5rem 0;
}

h3{
	/*color: var(--clr-black);*/
	font-size: var(--fonts-m);
	margin-bottom: 1.5rem;
}

a{
	text-decoration: none;
	color: var(--clr-primary-var);
}

a:hover{
	background-color: var(--clr-secondary-var);
	color: var(--clr-primary-var);
}

a.menu-lien{
  font-size: var(--fonts-l) !important;
  color: var(--clr-black) !important;
}

a.menu-lien:hover{
	font-style: normal;
	background-color: transparent;
	font-weight: var(--fontw-l) !important;
	color: var(--clr-primary) !important;
}

p, li{
	font-family: "Open Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: var(--fontw-m);
	font-size: var(--fonts-m);
	font-style: normal;
	margin: 0;
	padding: 1rem 0;
}

blockquote::before {
	content: '»';
	font-size: var(--fonts-xxl);
	color: var(--clr-primary);
}

blockquote::after {
	content: '«';
	font-size: var(--fonts-xxl);
	color: var(--clr-primary);
}

blockquote{
	display: flex;
	align-items: center;	
}

blockquote p {
	display: inline;
	font-size: var(--fonts-l);
	font-style: italic;
	padding: 0 2rem;
}

.container {
    max-width:1200px;
    width:100%;
    margin: auto;
    box-sizing:border-box;
}

.row {
    margin:0;
    padding-left:20px;
}

.col, .col-12, .col-6{
	padding: 0 1.5rem;
}

.shadow1{
	box-shadow: var(--shadow1);
}

.home-img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 4rem;
}

.img-shadow1{
	box-shadow: -35px -30px	var(--clr-secondary);
}

.img-shadow2{
	box-shadow: 35px 30px	var(--clr-primary-var);
}

.card-chiffres{
	font-family: "Open Sans", sans-serif;
	text-align: center;
	margin: 2rem 0;
	padding: 2rem 0;
	width: 100%;
	height: 75%;
  border-radius: 6%;
}

.card-chiffres-titre{
	font-size: var(--fonts-xxl);
	font-weight: var(--fontw-l);
	color: var(--clr-primary);
}

.card-chiffres-texte{
	font-size: var(--fonts-m);
}

.card-chiffres-img{
	height: 50%;
}

.card-bg1{
	background-color: var(--clr-secondary);
}

.card-bg2{
	background-color:var(--clr-secondary-var);
}

.contact{
	font-size: var(--fonts-m);
	font-weight: var(--fontw-l);
	margin-bottom: 1.5rem;
}

.contact-ico{
	height: 3rem;
	width: auto;
	margin-right: .8rem;
}

.card-img-top {
    width: 100%;
    height: 15vw;
    object-fit: cover;
}

.menu-footer{
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

.menu-lien-footer{
  font-size: var(--fonts-s) !important;
  color: var(--clr-black) !important;
  margin-top: .3rem;
}

.menu-lien-footer:hover{
	font-style: normal;
	background-color: transparent;
	font-weight: var(--fontw-s) !important;
	color: var(--clr-primary) !important;
}

img.logo-top.img-fluid:hover{
	color: transparent !important;
}

.logo:hover {
  background: none;
}

.pop {
  cursor: zoom-in;
}

/* Chronologie */

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  display: grid;
  align-content: center;
  gap: 2rem;
  padding: 2rem;
  font-family: "Open Sans", sans-serif;
  color: var(--clr-black);
  /*background: var(--clr-white);*/
}

h1 {
  text-align: center;
}

ul {
  --col-gap: 2rem;
  --row-gap: 2rem;
  --line-w: 0.25rem;
  display: grid;
  grid-template-columns: var(--line-w) 1fr;
  grid-auto-columns: max-content;
  column-gap: var(--col-gap);
  list-style: none;
  width: min(60rem, 90%);
  margin-inline: auto;
}

/* line */
ul::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 20;
  background: var(--clr-white);
  border-radius: calc(var(--line-w) / 2);
}

/* columns*/

/* row gaps */
ul li:not(:last-child) {
  margin-bottom: var(--row-gap);
}

/* card */
ul li {
  grid-column: 2;
  --inlineP: 1.5rem;
  margin-inline: var(--inlineP);
  grid-row: span 2;
  display: grid;
  grid-template-rows: min-content min-content min-content;
}

/* date */
ul li .date {
  --dateH: 3rem;
  height: var(--dateH);
  margin-inline: calc(var(--inlineP) * -1);

  text-align: center;
  background-color: var(--accent-color);

  color: var(--clr-white);
  font-size: var(--fonts-l);
  font-weight: var(--fontw-l);
  text-shadow: 1px 1px 2px var(--clr-gray);

  display: grid;
  place-content: center;
  position: relative;

  border-radius: calc(var(--dateH) / 2) 0 0 calc(var(--dateH) / 2);
}

/* date flap */
ul li .date::before {
  content: "";
  width: var(--inlineP);
  aspect-ratio: 1;
  background: var(--accent-color);
  background-image: linear-gradient(rgba(0, 0, 0, 0.2) 100%, transparent);
  position: absolute;
  top: 100%;

  clip-path: polygon(0 0, 100% 0, 0 100%);
  right: 0;
}

/* circle */
ul li .date::after {
  content: "";
  position: absolute;
  width: 2rem;
  aspect-ratio: 1;
  background: var(--clr-white);
  border: 0.3rem solid var(--accent-color);
  border-radius: 50%;
  top: 50%;

  transform: translate(50%, -50%);
  right: calc(100% + var(--col-gap) + var(--line-w) / 2);
}

/* title descr */
ul li .title,
ul li .descr {
  background: var(--clr-white);
  position: relative;
  padding-inline: 1.5rem;
}
ul li .title {
  overflow: hidden;
  padding-block-start: 1.5rem;
  padding-block-end: 1rem;
  font-size: var(--fonts-m);
  font-weight: var(--fontw-l);
}
ul li .descr {
  padding-block-end: 1.5rem;
  font-size: var(--fonts-m);
  font-weight: var(--fontw-m);
}

/* shadows */
ul li .title::before,
ul li .descr::before {
  content: "";
  position: absolute;
  width: 90%;
  height: 0.5rem;
  background: rgba(0, 0, 0, 0.5);
  left: 50%;
  border-radius: 50%;
  filter: blur(4px);
  transform: translate(-50%, 50%);
}
ul li .title::before {
  bottom: calc(100% + 0.125rem);
}

ul li .descr::before {
  z-index: -1;
  bottom: 0.25rem;
}

@media (min-width: 40rem) {
  ul {
    grid-template-columns: 1fr var(--line-w) 1fr;
  }
  ul::before {
    grid-column: 2;
  }
  ul li:nth-child(odd) {
    grid-column: 1;
  }
  ul li:nth-child(even) {
    grid-column: 3;
  }

  /* start second card */
  ul li:nth-child(2) {
    grid-row: 2/4;
  }

  ul li:nth-child(odd) .date::before {
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    left: 0;
  }

  ul li:nth-child(odd) .date::after {
    transform: translate(-50%, -50%);
    left: calc(100% + var(--col-gap) + var(--line-w) / 2);
  }
  ul li:nth-child(odd) .date {
    border-radius: 0 calc(var(--dateH) / 2) calc(var(--dateH) / 2) 0;
  }
}



/* to the top */
#btn-toTheTop{
	display: none; 
	position: fixed; /* Fixed/sticky position */
	bottom: 20px; 
	right: 30px;
	z-index: 99; 
	border: none; 
	outline: none; 
	background-color: var(--clr-primary-var);
	color: var(--clr-white);
	cursor: pointer; 
	padding: .5rem 1.1rem; 
	border-radius: 40%; 
	font-size: var(--fonts-xl);
	font-weight: var(--fontw-l);
}
  
#btn-toTheTop:hover{
	background-color: var(--clr-primary); /* Add a dark-grey background on hover */
}


@media (max-width: 768px) {
  p, li{
    font-size: var(--fonts-mmob);
  }

  .menu-footer{
    display: flex;
    flex-direction: column;
  }
}
