body {
  width: 100%;
  height: 100%;
  margin: 0;
  font-family: "Roboto", sans-serif;
  color: #fff;
/*  background-color: #232629; */
}

#ml_top, #ml_bottom, #ml_left, #ml_right {
	background: white;
	position: fixed;
  z-index: 100;
	}
	#ml_left, #ml_right {
		top: 0; bottom: 0;
		width: 20px;
		}
		#ml_left { left: 0; }
		#ml_right { right: 0; }

	#ml_top, #ml_bottom {
		left: 0; right: 0;
		height: 20px;
		}
		#ml_top { top: 0; }
		#ml_bottom { bottom: 0; }

  	.avoid-clicks { pointer-events: none; }
  	.ok-clicks { pointer-events: visible; }

.hidden {
  opacity: 0;
  -webkit-transition:   opacity 0.2s ease;
  -moz-transition:  opacity 0.2s ease;
  -ms-transition:  opacity 0.2s ease;
  -o-transition:  opacity 0.2s ease;
  transition:  opacity 0.2s ease;
  transition-delay:0.2s;
}

.visible {
  opacity: 1;
  -webkit-transition:   opacity 0.2s ease;
  -moz-transition:  opacity 0.2s ease;
  -ms-transition:  opacity 0.2s ease;
  -o-transition:  opacity 0.2s ease;
  transition:  opacity 0.2s ease;
  transition-delay:0.2s;
}

.avoid-clicks {
  pointer-events: none;
}

.info1, .info2 {
	font-family: "Lato";
	font-weight: 300;
	text-align: center;
	position: relative;
	top: 50%;
  color: white;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
}

/* Ajuster l'espacement dans .hours */
.hours {
    font-size: 38px;
    letter-spacing: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* Espace uniforme entre horloge et heure */
}

.location {
	font-size: 20px;
  padding-left: 20px;
}

.caption_left {
  position: absolute;
	bottom: 3%;
  left: 2%;
  font-family: "Lato";
  font-size: 13px;
  line-height: 1.8;
  color: #ccc;
  letter-spacing: 0.1pt;
}
.caption_right {
  position: absolute;
	bottom: 3%;
  right: 2%;
  font-family: "Lato";
  font-size: 13px;
  line-height: 1.8;
  color: #ccc;
  letter-spacing: 0.1pt;
}

.delay {
  -webkit-transition: all .4s ease;
     -moz-transition: all .4s ease;
       -o-transition: all .4s ease;
          transition: all .4s ease;
          transition-delay: .3s;
          opacity: 0.9;
          filter:alpha(opacity=90);
          -moz-opacity:0.9;

}


.loading {
  position: fixed;
  width: 100%;
  height: 100%;
/*  background: url("../img/background.jpg") center no-repeat; */
  font-size: 30px;
	z-index: 999;
}

.loading_des {
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-size: 16px;
	position: absolute;
	width: 100%;
	top: 75%;
	text-align: center;
}

#start {
	position: absolute;
	top: 82%;
	border: 2px solid #fff;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	width: 110px;
	height: 45px;
	background: transparent;
	cursor: pointer;
	font-size: 13px;
	border-radius: 3px;
	left: 46%;
}

.progress { margin-top: 300px; }
.box_container { color:white; height: 100%; }
.box_top, .box_bottom { width: 100%; height: 50%; }


/* PUSH MENU */
#menu {
	z-index: 12;
  position: fixed;
  top: 0;
  left: -33%;
  width: 33%;
  height: 100%;
  padding: 50px 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .4s ease-in;
  -moz-transition: all .4s ease-in;
  -o-transition: all .4s ease-in;
  transition: all .4s ease-in;
  text-align: center;
  background-color: #fff;
  font-family: "Lato";
}

#menu .about {
  font-size: 13px;
  line-height: 1.8;
  color: #ccc; // originally #ddd
	letter-spacing: 0.1pt;
}

.baw {
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
		-webkit-transition: all .4s ease;
       -moz-transition: all .4s ease;
         -o-transition: all .4s ease;
            transition: all .4s ease;
						transition-delay: .3s;
						opacity: 0.4;
				    filter:alpha(opacity=40);
				    -moz-opacity:0.4;

	}

#menu .footer {
    position: absolute;
		left: 0px;
		bottom: 20px;
		font-size: 13px;
    line-height: 1.8;
    color: #ccc;
		width: 100%;
		text-align: center;
}

#menu .brand {
    height: 51px;
    font-size: 30px;
    font-weight: 900;
    line-height: .6;
    color: #ccc;
}

#menu ul {
    padding: 0;
    margin-top: -5px;
}

#menu ul li {
	display: inline;
	padding: 2px;
}

#menu ul li a {
/*    display: block; */
    font-weight: 300;
    line-height: 1.8em;
		font-size: 13px;
    -webkit-transition: all .4s ease;
       -moz-transition: all .4s ease;
         -o-transition: all .4s ease;
            transition: all .4s ease;
    text-decoration: none;
    color: black;
}

/*
#menu ul li:last-child a {
    border-bottom: 1px solid #eee;
		padding-bottom: 50px;
}
*/
#menu ul li a:hover {
/*    letter-spacing: 1px; */
color: #aaa;
}

.link_author {
  padding-top: 10px
}

#titre_archives {
	font-family: "Lato";
	font-weight: 800;
	color: black;
	letter-spacing: 0.1em;
  font-size: 11px;
  text-transform: uppercase;
}

body.opened #menu {
    left: 0;
}

/* MAIN PAGE */
.page-wrap {
    padding: 50px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: all .4s ease-in;
       -moz-transition: all .4s ease-in;
         -o-transition: all .4s ease-in;
            transition: all .4s ease-in;
}

body.opened .page-wrap {
    margin-left: 300px;
}

.author {
  position: absolute;
  text-align: center;
  top: 43%;
  font-family: "Lato";
  text-transform: uppercase;
}
.left { left: 50%; }
.right { right: 50%; }

.datediv {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); /* CENTRAGE PARFAIT */
    font-size: 20px;
    letter-spacing: 13px;
    z-index: 19;
    text-align: center;
    width: auto;
    margin: 0; /* Enlever tout margin */
    padding: 0;
}

.rom_id {
  overflow:hidden;
  -webkit-border-radius:100px;
  -moz-border-radius:100px;
  border-radius:100px;
  width:70px;
  height:70px;
  padding: 10px;
  background: url("../img/profil.jpg") no-repeat;
  background-size: contain;
  margin-top: 10%;
  margin: 0 auto;

}

.kham_id {
  overflow:hidden;
  -webkit-border-radius:100px;
  -moz-border-radius:100px;
  border-radius:100px;
  width:70px;
  height:70px;
  padding: 10px;
  background: url("../img/profil2.jpg") no-repeat;
  background-size: contain;
  margin-top: 10%;
  margin: 0 auto;
}

.fabien_id {
  overflow:hidden;
  -webkit-border-radius:100px;
  -moz-border-radius:100px;
  border-radius:100px;
  width:70px;
  height:70px;
  padding: 10px;
  background: url("../img/profil_fabien.jpg") no-repeat;
  background-size: contain;
  margin-top: 10%;
  margin: 0 auto;
}

.author-sm { color: black; font-size: 14px; padding-top: 10px; }


/* MENU TOGGLE ICON */
#menu-toggle {
	z-index:12;
  position: absolute;
  padding: 10px;
  background: transparent;
  border: 1px solid transparent;
  margin: 7px 0;
  height: 51px;
  width: 51px;
	top: 10px;
	left: 20px;
	cursor: pointer;
}

#menu-toggle:focus {
  outline-width: 0;
}

.fermer {
	display: none;
	float: left;
	padding-left: 25px;
}

#menu-toggle [class*='bar-'] {
  background: white; /* #E8AD1A; */
  display: block;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: .4s ease all;
          transition: .4s ease all;

  /*
   * ENLARGED FOR PRESENTATION
   * Keep these values at the same proportion
   * for it to look correct
  */
  border-radius: 8px;
  height: 3px;
  width: 20px;
  margin-bottom: 3px;

  /*
   * Practical values:
   * border-radius: 2px;
   * height: 2px;
   * width: 25px;
   * margin-bottom: 4px;
  */
}

#menu-toggle .bar-bot {
  margin-bottom: 0;
}

#menu-toggle.opened .bar-top {
	background: black;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: 15% 25%;
          transform-origin: 15% 25%;

}

#menu-toggle.opened .bar-mid {
  opacity: 0;
}

#menu-toggle.opened .bar-bot {
	background: black;
  -webkit-transform: rotate(45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 0% 30%;
          transform-origin: 0% 30%;
}

.keyboard {
  width: 50%;
  margin: 0 auto;
  color: black;
  font-size: 12px;
}

.legend {
  width: 55%;
  margin: 0 auto;
  margin-top: -15px;
}

.link_tm {
  color: inherit;
  text-decoration: none;
}
.link_tm:hover {
  color: black;
}


/* CONTENT CONTAINER */
.container {
  max-width: 600px;
  min-width: 200px;
  margin: 0 auto;
}

/* Animation des aiguilles d'horloge */
.clock-hand-hour,
.clock-hand-minute {
    transform-origin: 12px 12px;
    transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.clock-icon-animated {
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px; /* Espace réduit entre horloge et texte */
    position: relative;
    top: -2px; /* Alignement vertical avec le texte */
}




/* ========================================
   Navigation Swipe Indicators - VERSION VISIBLE
   ======================================== */

.swipe-indicator-top {
    position: fixed;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999; /* Z-INDEX SUPER ÉLEVÉ */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    opacity: 0.8; /* VISIBLE PAR DÉFAUT */
    transition: opacity 0.3s ease;
    animation: floatUpBlock 2s ease-in-out infinite;
    pointer-events: all; /* FORCER CLIQUABLE */
}

.swipe-indicator-top:hover {
    opacity: 1 !important;
}

.swipe-indicator-bottom {
    position: fixed;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999; /* Z-INDEX SUPER ÉLEVÉ */
    cursor: pointer;
    opacity: 0.8; /* VISIBLE PAR DÉFAUT */
    transition: opacity 0.3s ease;
    animation: floatDownBlock 2s ease-in-out infinite;
    pointer-events: all; /* FORCER CLIQUABLE */
}

.swipe-indicator-bottom:hover {
    opacity: 1 !important;
}

.swipe-text {
    font-family: "Lato", sans-serif;
    font-size: 11px;
    font-weight: 300;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    white-space: nowrap;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.arrow-icon {
    width: 30px;
    height: 30px;
    color: rgba(255, 255, 255, 0.7);
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
}

/* Animations FIXES */
@keyframes floatUpBlock {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(-10px);
    }
}

@keyframes floatDownBlock {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(10px);
    }
}

/* Cache uniquement avec la classe .hidden */
.swipe-indicator-top.hidden,
.swipe-indicator-bottom.hidden {
    opacity: 0 !important;
    pointer-events: none;
}

/* Blocs info fixes au centre */
.fixed-info-left-center,
.fixed-info-right-center {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 18;
    font-family: "Lato";
    font-weight: 300;
    text-align: center;
    color: white;
    pointer-events: none;
}

.fixed-info-left-center {
    left: 25%;
    transform: translate(-50%, -50%);
}

.fixed-info-right-center {
    right: 25%;
    transform: translate(50%, -50%);
}

.fixed-info-left-center .hours,
.fixed-info-right-center .hours {
    font-size: 38px;
    letter-spacing: 5px;
    display: block;
}

.fixed-info-left-center .location,
.fixed-info-right-center .location {
    font-size: 20px;
    display: block;
}
