:root {
  --menu-size: 300px;
  --screen-mode: computer;
  --col-orange: #F17503;
}

@media screen and (max-width: 1024px) {
  :root {
    --menu-size: 230px;
    --screen-mode: tablet;
  }
}

@media screen and (max-width: 500px) {
  :root {
    --footer-size: 70px;
    --screen-mode: phone;
  }
}

* { padding:0; margin: 0; }
body { margin: 0; padding: 0; border: 0; width: 100%; min-width: 100%; height: calc(100vh - 8vh); }

p,ul, ol { font-family: 'Calibri'; font-weight: 0; font-size: 1.3rem; line-height: 1.5rem; color:#333; padding: 1vh 0 0 0; text-align: justify; }
ul, ol { margin-left: 30px; }
li { padding-bottom: 5px; text-align: left; }
div { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size:14px; color:#555;}
a { font-family: "Calibri", sans-serif; font-size: 16px; color: #AAA; text-decoration: none; font-size: 1.3rem; }
a:hover { color: #FFF;}

input[type="checkbox"] {height: 12px; padding: 0; margin: 0 0 0 0px; width: 18px; vertical-align: middle; position: relative; top: -1px;}
h1 { font-family: 'Calibri', Clan, Arial, Helvetica, sans-serif; font-size: 1.9rem; padding: 5px 0 8px 0; text-transform: uppercase; }
h2 { font-size: 1.5rem; color: #D82F29; margin-top: 20px; }
div { font-family: Calibri; font-size: 1rem; }

.col-vert { color: #155149; }
.orange { color: #F17503; }
.rouge { color: #B12B23; }
.bck-vert { background-color: #155149; }
.bck-gris { background-color: #555; }
.bck-orange { background-color: #F17503; }
.bck-vert-clair { background: #D5E1DC; }
.bck-orange-clair { background: #FFE4CC; }
.bck-blanc { background-color: #FFF; }

#header-wrapper,
#header-mobile { 
	position: fixed; 
	margin: 0 auto; 
	padding: 0; 
	height: 8vh; 
	line-height: 8vh; 
	background-position: center top; 
	width: 100%; 
	left:0; 
	top:0; 
	z-index: 200;
	border-bottom: 1px solid #555;
}

#header-mobile { display: none; }

#header-content { position:absolute; padding: 0; margin: 0; width: 100%; background-color:#ECEFF4; top:0; height: 100%; }
#header-content a { float: left; }
#header-content #title { float: right; color: #114F47; margin-right: 5vh; text-align: right; font-size: 2.5vh; }
#header-content #logout { float: right; color: #114F47; margin-right: 4vh; text-align: right; font-size: 3.5vh; cursor: pointer; }

#logo { 
	padding: 0;
	width: 12vw; 
	height: 8vh; 
	line-height: 8vh;
	position: relative;
	z-index:1999; 
}
#logo img { height: 14vh; margin-left: 10px; margin-top: 5px;}

.main-footer { 
	width: calc(100% - 4vh); 
	background-color: #252525; 
	padding: 2vh; 
}

.main-footer #wrapper { 
  background-color:transparent; 
  color: #FFF;  
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.main-footer a { text-align: left; color: #FFF; font-weight: 0; font-size: 2vh; }
.main-footer a:hover { text-decoration: underline; color: #FFF;}
.main-footer div { flex: 1; color: #FFF; font-size: 2.4vh; text-align: center; width: 100%; }

.main-mobile-footer { display: none; }

.ligne {width: 100%; height: 2px; border-bottom: 1px solid #135148; margin-bottom: 10px;}

.clear { clear: both; font-size: 0; }

#middle-accueil {
  position: relative;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}

#middle-accueil.dashboard { height: calc(100vh - 2px); }

/* Zone centrale avec éphéméride */
.content-middle {
  position: relative;
  width: calc(100%);
  height: 100%;
  background-color: #F6F6F6;  
  padding-left: var(--menu-size); 
  flex: unset; 
  width: calc(100% - var(--menu-size) - 200px);
  /*transition: width 0.5s ease-in-out, padding-left 0.5s ease-in-out, left 0.5s ease-in-out, opacity 0.5s ease-in-out;*/
/*  transition: 0.5s ease-in-out;  */
}

.content-middle.large { 
  width: calc(100% - var(--menu-size));
}

.content-middle #header {
  position: fixed;
  left: calc(2px + var(--menu-size));
  right: 0;
  top: 0;
  background-color: white;
  width: calc(100% - 20px - var(--menu-size) - 45px - 2px);
  height: 55px;
  line-height: 55px;  
  padding: 0 20px 0 45px;
  border: 0;
  border-bottom: 1px solid #CCC;
  z-index: 11;
/*  transition: left 0.5s ease-in-out, opacity 0.5s ease-in-out;  */
  /*transition: 0.5s ease-in-out;  */
}

.content-middle #header #wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

.content-middle #header h2 { flex: 1; text-align: left;  width: auto; text-transform: none; margin: 0; }
.content-middle #header h2:first-letter { text-transform: capitalize; }

.content-middle #header .bizi-bouton {
  float: right;
  margin: 0;
  margin-left: 10px;
  display: none;
}
.content-middle #header .bizi-bouton span { margin-left: 10px; }

.content-middle #header .bizi-bouton.goback {
/*  width: auto;
  min-width: auto;*/
  display: block;
  margin: 0;
}

.content-middle #header .bizi-bouton.goback span { margin-left: 10px; }

/* #left à supprimer */
#left #header {
  background-color: white;
  z-index: 11;
  position: fixed;
  /*width: calc(100% - 303px - 40px);*/
  height: 40px;
  line-height: 40px;
  border-bottom: 1px solid #CCC;
  padding: 1vh 20px 1vh 20px;
  top: 0px;
  left: 304px;
  right: 0;
}

#left #header #wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

#left #header h2 { flex: 1; text-align: left;  width: auto; text-transform: none; }
#left #header h2:first-letter { text-transform: capitalize; }

/* Le bouton pour ouvrir le menu de gauche en mode dashboard */
#button-open-slide {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 10px;
  left: 10px;
  text-align: right;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;  
  margin: 0; 
  background-color: transparent;
  z-index: 13;
  color: #555;
  border: 0;
  display: none;
}
#button-open-slide:hover { color: #FF4040; }

/**********************/
/* Coté droit         */                                                                                               
/**********************/

#content-right {
  position: relative;
  height: 100%;
/*  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;*/
  /*flex: 1; */
  margin-top: 0px;
  padding-left: 0;
  background-color: #fff;
  
  position: absolute;
  display: block;
  width: 200px;
  right: 0;
  top: 0;
  z-index: 20;
}

/**********************/
/* Structure générale */                                                                                               
/**********************/

.page {
	background-color: #FFF;
	position: relative;
	padding: 0;
	margin: 0;

	width: 100%;
	min-width: 100%;
	overflow: hidden;
}

.accueil {
  position: relative;
  width: calc(100%);

  min-height: calc(100vh - 2px);
  height: auto; 
  text-align: center;
  padding: 0;
  margin: 0 auto; 

  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;    
  border: 0;
}

.accueil.dashboard { height: calc(100vh - 2px); }

#left {
  position: relative;
  width: calc(100%);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  padding-left: 300px; 
  flex: unset; 
  width: calc(100% - 300px - 200px);
  /*transition: width 0.5s ease-in-out, padding-left 0.5s ease-in-out, left 0.5s ease-in-out, opacity 0.5s ease-in-out; */ 
  /*transition: 0.5s ease-in-out; */ 
}

#left #scroll-zone {
  background-color: #F6F6F6;   
}

.content-middle .box,
#left .box {
  background-color: white;
  margin-bottom: 2%;
  -webkit-box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3); 
  box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3); 
  padding: 10px;    
  padding-bottom: 20px;
  position: relative; 
  border-radius: 2px; 
}

.content-middle #scroll-zone .box:hover,
.content-middle .box:hover,
#left .box:hover {
  border-color: #FF4040;
  -webkit-box-shadow: 1px 1px 3px 1px rgba(100,0,0,0.21); 
  box-shadow: 1px 1px 3px 1px rgba(100,0,0,0.6);   
  transition: 0.5s;  
}

.content-middle #scroll-zone .box.no-border:hover,
.content-middle .box.no-border,
.content-middle .box.no-border:hover {
  -webkit-box-shadow: unset; 
  box-shadow: unset; 
  padding: 0px;      
  background-color: transparent;
}


.content-middle #scroll-zone {
  overflow-y: scroll; 
  padding: 20px 40px 0 40px; 
  background-color: #F6F6F6;   
  width: calc(100% - 80px);
  margin-top: calc(40px + 2vh);
  height: calc(100% - 2vh - 100px);
  padding-bottom: 40px;  
} 

#flash-wrapper {
  height: 3vh;
  padding: 0;
  margin: 0;
  text-align: left;
  width: calc(100%);
}

#flash-wrapper #flash {
  color: #FF4040;
  padding: 0;
  margin: 0;
  width: calc(100%);
  text-align: left;
  animation: cssAnimation 0s 5s forwards;
  display: block;
  opacity: 1;
}

#flash-alert {
  top: 0;
  left: 0;
  width: calc(100%);
  height: 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 5px 0 5px 0;
  background-color: #FF4040;
  color: #FFF;
  animation: cssFlashAlert 0s 10s forwards;
  animation-duration: 1s;
}

@keyframes cssAnimation {
  to   { opacity: 0; display: none; }
}

@keyframes cssFlashAlert {
            0% {opacity: 1; height: 60px; }
            100% {opacity: 0; padding: 0; height: 0; }
  /*to   { padding: 0; height: 0; display: none; }*/
}

#server-error { 
  font-family: Calibri; 
  background-color: #FF4040; 
  color: #FFF;
  font-size: 1rem; 
  padding: 1% 0 1% 0;
  width: 100%;
  margin-top: 1%;
  text-align: center;
  flex: 0.3;      
}

.bizo { 
  width: 100%; 
  position: relative;
  background-color: #FFF; 
  font-size: 0;
  overflow: hidden;
}

.bizo img { width: 100%; border-top: 1px solid #555; }

.intercalaire {
  width: 100%;
  background-color: #135148;
  text-align: center;
  color: #FFF;
  font-family: Calibri;
  font-size: 25px; 
  font-size: calc(12px + 1.0vw);
  padding:0; 
  z-index: 6;
  min-height: 7vh;
}

.centrage {   
  flex-direction: row; 
  display: flex;  
  justify-content: center; 
  align-items: center;  
}

/* POPUP PROFIL pour les annonces/notifications */
.popup-profil {
  position: absolute;
  top: 100px;
  left: 100px;
  background-color: #FFF;
  width: 340px;
  height: auto;
  display: none;
  border-radius: 5px;
  border: 1px solid #CCC;
  padding: 10px;
  -webkit-box-shadow: 5px 5px 9px 0px rgba(0,0,0,0.21); 
  box-shadow: 5px 5px 9px 0px rgba(0,0,0,0.21);  
  z-index: 20; 
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
}

.popup-profil .infos {
  height: auto;
  flex: 0 0 210px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start; 
}

.popup-profil .infos div {
  display: flex;
  justify-content: center;
  align-items: center; 
  font-size: 1.0rem;
  margin-bottom: 8px;
}

.popup-profil .infos .username { margin-bottom: 8px; font-size: 1.2rem; font-weight: bold; }
.popup-profil .infos .chat { 
  color: #278FA9; 
  cursor: pointer; 
  border: 1px solid; 
  border-radius: 5px;
  width: 100%; 
  margin-top: 10px;
  padding: 4px 0 4px 0;
}

.popup-profil .infos .chat:hover { color: blue; }

.popup-profil .avatar { 
  flex: 0 0 110px;
  margin-right: 10px;
  position: relative;
  border: 0; 
  overflow: hidden;
  /*background-repeat: no-repeat; 
  background-position: top; 
  background-size: cover;*/
}

.popup-profil .avatar img { 
  width: 100px; 
  height: 100px; 
  border-radius: 50%;   
  border: 0;
}

@media only screen and (max-width : 1024px) {

  h1 { font-size: 1.4rem; }
  p,ul { font-size: 1.0rem; line-height: 1.2rem; }

  #header-wrapper { height: 35px; }  

  #content-right { display: none; }

  .content-middle { width: 100%; margin: 0; padding: 0; background-color: white; }
  .content-middle #header { top: 0; left: 0; width: calc(100% - 45px); padding-right: 0; height: 40px; line-height: 40px; }
  .content-middle #header #wrapper { padding: 0; width: calc(100%); }

  .content-middle #header h2 { font-size: 1.1rem; }
  
  .content-middle #scroll-zone {
    padding: 15px;
    margin: 0;
    margin-top: 40px;
    width: calc(100vw - 30px);
    height: calc(100vh - 40px - 30px); /* footer:70 titre:55 header: 40 = 165 + padding:30 + border:2 */
  }

  .bizi-bouton.phone,
  .content-middle #header .bizi-bouton.goback {
    width: auto;
    min-width: auto;
  }

  .bizi-bouton.phone span,
  .content-middle #header .bizi-bouton.goback span { display: none; }

}

@media only screen and (max-width : 500px) {

  h1 { font-size: 1.4rem; }
  h2 { font-size: 1.3rem; }
  p,ul { font-size: 1rem; line-height: 1.1rem; }

  #header-mobile { display: block; }
  #header-wrapper { display: none; }
  
  #header-mobile { height: 40px; line-height: 40px; }
  #header-mobile #logo-mobile { display: block; margin-left: 10px; font-size: 1.6rem; }
  #header-mobile #logo-mobile img { height: 30px; margin-top: 7px; }

  .page { padding-top: 0; height: auto; background-color: #ECEFF4; margin: 0; }
  .accueil { min-height: calc(100vh - 30px); margin-top; }

  #left: { display: none; }

  .content-middle { width: 100vw; padding: 0; border: 0; margin: 0;  height: calc(100vh); }

  .content-middle #header { position: relative; width: calc(100vw - 20px); margin-top: 40px; padding-left: 10px; padding-right: 10px; }
  .content-middle #header #wrapper { padding: 0; margin: 0; }

  .content-middle #scroll-zone {
    padding: 10px;
    margin: 0;
    width: calc(100vw - 20px);
    height: calc(100vh - 70px - 40px - 55px - 2px); /* footer:70 titre:55 header: 40 = 165 + padding:30 + border:2 */
  }

  .bizi-bouton.phone,
  .bizi-bouton.goback,
  .content-middle #header .bizi-bouton.goback {
    width: auto;
    min-width: auto;
  }

  .bizi-bouton.phone span,
  .content-middle #header .bizi-bouton.goback span { display: none; }

  #content-right { display: none; }

  .main-footer div { font-size: 1rem; }
  .main-mobile-footer { 
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0;
    width: calc(100%); 
    height: var(--footer-size);
    background-color: #0B2B26; 
    flex-direction: row;
    justify-content: center;
    align-items: center;
    z-index: 100;
  }

  .main-mobile-footer .item { 
    display: flex;    
    flex: 1;
    border-right: 1px solid white;
    height: calc(100% - 10px);
    text-align: center;
    color: white;
    padding: 5px;
    margin: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;    
    background-color: #FE9434;
  } 
  
  .main-mobile-footer .item:last-child { border: 0; }

  .main-mobile-footer .item:hover { background-color: #555; }

  .main-mobile-footer .item i, 
  .main-mobile-footer .item div { 
    flex: 1;
    color: white;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
  }

  .main-mobile-footer .item i { justify-content: flex-end; font-size: 1.6rem; margin-top: 5px; }  
  .main-mobile-footer .item.disabled { background-color: #0B2B26; }
}
