@import url('https://fonts.googleapis.com/css?family=Karla:400,700&display=swap');

:root {
    --bgColor: #223344;
    --bgColor2: #090a0f;
    --accentColor: #E6E6E6;
    --redNergil: #c83737ff;
    --blueNergil: #00ffffff ;
    --font: 'Liberation Sans', sans-serif;
    --specialFont: 'Iceberg', cursive;
    --delay: .3s;
    --titleSize: 5.5rem;
    --tinyTxtSize: 1.5rem;
    --starsColor: red;
    --blueRaymondClair: #9ab8e1; /*#99b6df */
    --blueRaymondFonce: #445c79;
    --rougeRaymond: #c01b2a;
}


html {
/*	scrollbar-color: rgba(13,29,112,1) rgba(1,8,43,1);*/
scrollbar-color: var(--bgColor) var(--bgColor2);
scroll-behavior: smooth;
}
body {
	height: 100%;
	width: 99%;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
	overflow-y: scroll;


	margin: 0;
	padding: 0;
	font-family: var(--font);
	background: radial-gradient(ellipse at bottom, var(--bgColor) 0%, var(--bgColor2) 100%);
	opacity: 0;
	animation: 1s ease-out var(--delay) 1 transitionAnimation; /* duration/timing-function/delay/iterations/name */
	animation-fill-mode: forwards;
	overflow-x: hidden;
}
#LogoPicture {
  height: calc( 1.5 * var(--titleSize) + 1 * var(--tinyTxtSize));
  margin-top:  var(--tinyTxtSize);
  margin-bottom: -3.5rem;
  z-index: 1;
}
h1 {
  color: white;
  font-size: var(--titleSize);
  margin: 0;
  margin-top: calc(0 - 5 * var(--tinyTxtSize));
  z-index: 100;
}
.subtitle {
  font-size: calc(0.9 * var(--tinyTxtSize));
  font-style: italic;
  text-transform: uppercase;
  font-weight: lighter;
  color: grey;
  margin-top: - var(--tinyTxtSize);
}
.animated-background {
  width: 100vw ;
  heignt: auto;
}

p {
	color: white;
	text-align: center;
	/*top: 0;
	bottom: 0;*/
	text-align: center;
	align-content: center;
}
.title { font-weight: bold; text-align: center; }
.hero {font-size: 1.5rem; max-width: 75ch; text-align: left;}
.txt-exergue {font-size: 1.5rem; max-width: 45ch; text-align: center; margin-top: 20px;}
.txt {font-size: 1.25rem; max-width: 75ch; text-align: left;}
.exergue {border-top: dotted 10px red; margin-bottom: 20px;}
.uppercase {text-transform: uppercase;;}
.complement {color: grey}
.link {font-size: 3em;}
.mentions {font-size: 0.8em; color: grey;}
	a {color: #c83737ff; text-decoration: none;}
.tiny-txt { font-style: italic; display: block; font-size: var(--tinyTxtSize); font-family: cursive; align-items: center; text-align: center; margin-bottom: -1rem;}
@media only screen and (max-width: 730px) {
  :root {
    font-size: 10px;
  }
}
.affiche {
  max-width:  min(90vw, 600px);
  height: auto;
  margin-top: 1rem;
}

#links {
    max-width: 675px;
    width: auto;
    display: block;
    margin: 27px auto;
}

.link {
    text-decoration-style: none;
    position: relative;
    background-color: transparent;
    color: var(--accentColor);
    border: solid var(--rougeRaymond) 2px;
    border-radius: 10px;
    font-size: 2rem;
    text-align: center;
    display: block;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 1.5rem;
    padding: 1.25rem; /* 17px */
    text-decoration: none;
    /* transition: all .25s cubic-bezier(.08, .59, .29, .99); */
    -webkit-tap-highlight-color: transparent;
    transition: all 1s;
}

@media (hover: hover) {
    .link:hover {
        background-color: var(--accentColor);
        color: var(--bgColor);
        border-color: var(--accentColor);
    }
}

.link:active {
    background-color: var(--accentColor);
    color: var(--bgColor);
}

#hashtag {
    margin-top: 5rem;
    position: relative;
    padding-bottom: 20px;
    color: var(--accentColor);
    font-size: 1rem;
    display: block;
    font-family: var(--font);
    width: 100%;
    text-align: center;

    /*  animation   */
    overflow: hidden;
    background: linear-gradient(90deg, var(--bgColor), var(--accentColor), var(--bgColor));
    background-repeat: no-repeat;
    background-size: 80%;
    animation: animate 5.5s linear var(--delay) infinite;
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(255, 255, 255, 0);
}


/*-------------------------animations-----------------------*/
@keyframes transitionAnimation {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animate {
    0% {
      background-position: -250%;
    }
    100% {
      background-position: 250%;
    }
}

@keyframes animStar {
    from {
        transform: translateY(0px);
    }
    to {
        transform: translateY(-2000px);
    }
}


/*-------------------------popup------------------------*/
/* credits: https://www.youtube.com/watch?v=lAS2glU0xlc */
.overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 2;
    visibility: hidden;
    opacity: 0;
    overflow: hidden;
    transition: .5s ease-in-out;
}

.popup {
    position: relative;
    top: -43%;

    /* right: -100vh; */
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 400px;
    /* max-height: 500px; */
    width: auto;
    height: auto;
    margin: 56px;
    background-color: var(--accentColor);
    /* transform: rotate(32deg); */
    transform: scale(0);
    transition: .5s ease-in-out;
}

.popup-quote {
    font-family : Baskerville, Georgia, serif;
    font-style : italic;
    position: flex;
    color: var(--accentColor);
    padding: 20px;
    background-color: var(--bgColor);
    text-align: center;
    font-size: 1.5rem;
}

.popup-photo {
    display: flex;
    width: 100%;
    height: 100%;
}

.popup-photo img {
    width: 100%;
    height: 100%;
}

.overlay:target {
    visibility: visible;
    opacity: 1;
}

.overlay:target .popup {
    transform: scale(1);
    top: 0;
    /* right: 0; */
    /* transform: rotate(0); */
}

.popup-close {
    position: absolute;
    right: -1rem;
    top: -1rem;
    width: 3rem;
    height: 3rem;
    font-size: 1.7rem;
    font-weight: 400;
    border-radius: 100%;
    background-color: var(--bgColor);
    z-index: 4;
    color: var(--redNergil);
    line-height: 2.7rem;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) {
    .popup-close:hover {
        background-color: var(--accentColor);
        color: var(--bgColor);
    }
}

.popup-close:active {
    background-color: var(--accentColor);
    color: var(--bgColor);
}









body {
  margin: 0;
  background-color: #000;
}

#canvas {
  display: block;
  width: 100%;
  height: 100%;

  body.o-start & {
    cursor: none;
  }
}

#message {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  color: rgba(var(--starsColor), 0.7);
  font-family: Georgia, serif;
  font-size: 0.9rem;
  text-align: center;
  letter-spacing: 0.1em;
  pointer-events: none;
  opacity: 0;
  transition: opacity 500ms;

  body.o-start & {
    opacity: 1;
  }
}




.linkTxt {
  text-decoration: underline;
}
.link:hover .linkTxt {
  color: var(--redNergil)
}


}
/* glow */
@keyframes animateGlow {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes textColor {
  0% {
    color: #7e0fff;
  }
  50% {
    color: #0fffc1;
  }
  100% {
    color: #7e0fff;
  }
}

#bottom-bar {
  width: 100vw;
  margin-top: 5em;
  margin-bottom: 3em;
  height: auto;
  display: inline-flex;
  justify-content: space-around;
  overflow: hidden;


}
.linkBottom {
  color: grey;
  display: block;
  font-size: 0.85em;

}
#credits-txt, #mentions-txt, #rgpd-txt {
  display: none;
  width: 50vw;
  margin: auto;
  justify-content: center;
  color: var(--accentColor);
  background-color: rgba(34,51,68,0.75);
  padding: 0.5em;
  font-style: italic;
}
#credits-txt:target {
  display: flex;
}
#mentions-txt:target {
  display: flex;
}
#rgpd-txt:target {
	display: flex;
}
.popup-close-mini {
    position: relative;
    width: 3rem;
    height: 3rem;
    margin-left: 1.5em;
    font-size: 1.7rem;
    font-weight: 400;
    border-radius: 100%;
    background-color: var(--bgColor);
    z-index: 4;
    color: var(--redNergil);
    line-height: 2.7rem;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}







.snow {
	position: fixed;
	min-width: 100vw;
	min-height: 100vh;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
  z-index: -10;
  overflow: hidden;
}

 .snow .svg {
	position: fixed;
	width: 100%;
	height: 100%;

}

#snow-top-layer {
	will-change: transform;
	transform: translateY(468px);
	animation: fall 22.5s infinite linear;


}

#snow-bottom-layer {
	will-change: transform;
	transform: translateY(468px);
	animation: fall 45s infinite linear;

}

@keyframes fall {

	100% {
		transform: translateY(-468px);
	}

}




.pulse {
	z-index: -1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 30rem;

  circle {
		fill: #ff5154;
		transform: scale(0);
		opacity: 0;
		transform-origin: 50% 50%;
		animation: pulse 2s cubic-bezier(.5,.5,0,1) infinite delay 5s;

		&:nth-child(2) {
			fill: #7fc6a4;
			animation: pulse 2s 0.75s cubic-bezier(.5,.5,0,1) infinite delay 5s;
		}

		&:nth-child(3) {
			fill: #e5f77d;
			animation: pulse 2s 1.5s cubic-bezier(.5,.5,0,1) infinite delay 5s;
		}

	}

}
.container {
	position: relative;
  margin-top: -18rem;
	z-index: 0;
	background-color: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	height: calc( 2 * var(--titleSize) + 3 * var(--tinyTxtSize));
	overflow: hidden;
}


@keyframes pulse {

	25% {
		opacity: 0.4;
	}

	100% {
		transform: scale(1);
	}

}

#prochain-evenement {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.home-nav:hover h1 {
  color: var(--rougeRaymond);
}
.linkFirst {
  position: sticky;
  top: 20px;
  background: rgba(34, 51, 68, 0.10);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10.2px);
  -webkit-backdrop-filter: blur(10.2px);
}






.nav_header {
  display: flex;
  position: sticky;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  backdrop-filter: blur(15px);
}
.sticky {
/*background-color: grey;*/
z-index: 404;
width: 100%;
margin: 0;
position: sticky;
top: 0;
left:0;
}

@media only screen and (min-width: 769px ) {

  /*1-Generalities structures ----- */
    #nav_header {
      align-items: center;
    }
    #nav_header .nav {
      height: auto;
      justify-content: center;
      align-items: center;
      margin: auto;
      padding: 0;
    }
    #nav_header .nav-item {
      justify-content: center;
      align-items: center;
      text-align: center;
      font-weight: bold;
      z-index:10; /* !Important pour décor Firefox*/
      /* modifiable */
      border-right: 2px solid var(--blueRaymondClair);
      font-size: 1.2em;
      margin-top: 0.9em;
      margin-bottom: 0.9em;
      padding-left: 0.8em;
      padding-right: 0.8em;
    }
    #nav_header .nav-item:last-child {
      border: none; /*no display of border for last link in menu*/
    }




  /*1bis - décor pour Firefox ----- */
    .nav-blur {
      /* position: relative; */
      overflow: hidden;
    }
    .nav-blur::before {
      /*structure !Important */
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 9; /* !Important */
      /* décor */
        background-color: var(--blueRaymondFonce);/*rgba(130, 130, 180, 0.6);*/
        filter: blur(2px);
        border-radius: 25px;
        /*box-shadow: inset 0 0 0 0px rgba(255,255,255,1);*/
    }

  /*2-Top page display config ----- */
    .nav_in-flux .nav {
      display: flex;
    }
    .nav_in-flux {
      margin-top: 4vw;
    }


  /*3-Sticky display config ----- */

    /* .sticky .logo-named {
      display: inline;
      height: 4em;
      width: auto;
      float: left;
      margin-left: 1em;
      margin-bottom: 0.5em;
      margin-top: 0.5em;
    } */
    .sticky .nav {
      display: inline-flex;
    }
}





.nav_header .nav {
  height: auto;
  justify-content: center;
  margin: auto;
  padding: 0;
}





.nav_header .nav-link {
  color: var(--blueRaymondClair);
  text-decoration: none;
  text-align: center;
}
.nav_header .nav-link:hover {
  color: var(--rougeRaymond);
}
.nav_header .nav {
  list-style-type: none;
}
.nav-toggle {
  display: none;
}

/*1bis - décor pour Firefox ----- */
  .nav-blur {
    position: relative;
    overflow: hidden;
  }
  .nav-blur::before {
    /*structure !Important */
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: 9; /* !Important */
    /* décor */
      background-color: rgba(130, 130, 180, 0.6);
      filter: blur(2px);
      border-radius: 25px;
      /*box-shadow: inset 0 0 0 0px rgba(255,255,255,1);*/
  }
