html{
  height:100%;
}

body{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:12px;
  max-width: 100vw;
  min-height: 100vh;
  display:flex;
  flex-direction: column;
  margin:0;
  overflow-x:hidden;
}

hr{
  border-top:1px solid #e0e0e7;
  border-bottom:none;
  display:block;
  width:100%;
  box-sizing:border-box;
  margin:20px 0;
}

#loader{
  position:absolute;
  width:170px;
  height:60px;
  top:50%;
  left:50%;
  background-image:url("../../_srcv2/images/ajax-loader.gif");
  background-repeat:no-repeat;
  background-position:50% 50%;
  border-radius:2px;
  margin-left:-126px;
  z-index:5;
  background-color:#aaaaaa;
  box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);
  -moz-box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);
  -webkit-box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5)
}

header{
  background-color: #dd2334;
  background-image: url("../../_srcv2/images/bg-header.png");
  background-position: top left;
  background-repeat: no-repeat;
  position: relative;
  width: 100%;
  display:flex;
  align-items: center;
  border-bottom:1px solid #bf2334;
}

header .container{
  padding:15px;
  flex:2;
  white-space: nowrap;
}

header .titre{
  color: #fff;
  font-size: 25px;
  text-decoration: none;
  font-weight: bold;
}

section{
  height:100%;
  padding: 0 20px;
  position:relative;
  flex:2;
}

@media screen and (min-width:0\0) {
  section{
    flex:auto;
  }
}

footer{
  background-color: #2b2a28;
  border-top: 1px solid #222222;
  position: relative;
  width: 100%;
  z-index: 1;
  display:flex;
  align-items: center;
}

footer div{
  padding:10px;
  display:flex;
}

footer div + div{
  border-left:1px solid #222222;
}

@media screen and (max-width: 650px)  {
  footer{
    flex-direction: column;
    justify-content: center;
  }

  footer div{
    width:100%;
    align-items:center;
    justify-content:center
  }

  footer div + div{
    border-left:none;
    border-top:1px solid #222222;
  }
}

footer .col_left{
  flex-direction: column;
}

footer .col_left a{
  color:white;
  text-decoration:none;
  display:flex;
  align-items: center;
}

footer .col_left a + a{
  margin-top:20px;
}

footer .col_left a:hover{
  color:#dd2334;
}

footer .col_left img{
  margin:-1px 8px 0 0;
}

footer .col_middle{
  font-size:11px;
  color:white;
  display:flex;
  flex-direction: column;
  align-items: center;
  flex:2;
}

footer .logo_unistra{
  width:100px;
  margin:5px 0 0 0;
}

footer .logo_em{
  width:130px;
  margin:5px 0 0 15px;
}

/*ERROR404*/
#error404, #forbidden{
  width:500px;
  margin:150px auto 0 auto;
  text-align:center;
}

#error404 h3, #forbidden h3{
  margin-top:30px;
}

#error404 h1, #error404 h3{
  color:black;
}

#forbidden h1, #forbidden h3{
  color:red !important;
}

#error404 img, #forbidden img{
  width:100px;
  margin:30px 0 0 192px;
  display:block;
}
