@font-face {
  font-family: "Zilla Slab";
  src: url("Fonts/ZillaSlab-SemiBold.ttf");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Zilla Slab";
  src: url("Fonts/ZillaSlab-SemiBoldItalic.ttf");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: "Kanit";
  src: url("Fonts/Kanit-Light.ttf");
  font-weight: 200;
  font-style: normal;
}
@font-face {
  font-family: "Kanit";
  src: url("Fonts/Kanit-Medium.ttf");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Kanit";
  src: url("Fonts/Kanit-Bold.ttf");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Kanit";
  src: url("Fonts/Kanit-ExtraBold.ttf");
  font-weight: 800;
  font-style: normal;
}
/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
html {
  font-family: "Kanit", Helvetica, Arial, sans-serif;
  color: #36475a;
  font-size: 1em;
  font-weight: 200;
  line-height: 1.4;
}
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
textarea {
  resize: vertical;
}
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}
/* ==========================================================================
   Author's custom styles
   ========================================================================== */
/* ------------ TEXT -------------- */
/* Liens */
a {
  color: #e62329;
  text-decoration: none;
}
a.btn {
  background-color: #e62329;
  color: #fff;
  padding: 1em 2em;
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
  text-transform: uppercase;
  line-height: 4;
}
a.btn:hover {
  background-color: #36475a;
}
.bg-blue a.btn {
  background-color: #e62329;
}
.bg-blue a.btn:hover {
  background-color: #fff;
  color: #e62329;
}
a.btn-view-map {
  padding-right: 1em;
  font-weight: bold;
  float: right;
  background: url(../img/arrow-next-red.svg) no-repeat right;
}
.no-svg a.btn-view-map {
  background-image: url(../img/arrow-next-red.png);
}
.anchor {
  padding-top: 8em;
}
/* Titres */
h1 {
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
  font-size: 2em;
  font-weight: 800;
  font-style: italic;
  line-height: 1.2;
}
h2 {
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
  line-height: 1.2;
}
h3 {
  font-size: 1em;
}
h4 {
  font-weight: 700;
}
h5 {
  position: relative;
  margin: 2em 0 0.5em;
  color: #e62329;
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
  font-style: italic;
  font-size: 1.5em;
  line-height: 1.1;
  text-align: center;
}
h5 strong {
  font-size: 2em;
}
h5:after {
  content: "";
  position: absolute;
  left: 50%;
  top: -1.5em;
  width: 1px;
  height: 1.5em;
  background-color: #e62329;
}
h5:first-child {
  margin: 0.5em 0 2em;
}
h5:first-child:after {
  top: auto;
  bottom: -1.5em;
}
/* Typo */
p {
  text-align: justify;
  -ms-hyphens: auto;
      hyphens: auto;
}
article ul {
  list-style-image: url(../img/bullet.svg);
}
.no-svg article ul {
  list-style-image: url(../img/bullet.png);
}
article ul li {
  margin: 1em 0;
}
blockquote {
  float: left;
  position: relative;
  margin: 0 2em 1em -17em;
  padding: 4em 2em 2em;
  width: 22em;
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
  font-style: italic;
  border: 2px solid #f1f2f3;
  text-align: center;
  background: #fff url(../img/bg-quote.svg) no-repeat center 1.5em;
}
.no-svg blockquote {
  background-image: url(../img/bg-quote.png);
}
/* ------------ LAYOUT -------------- */
.col_1,
.col_1-5,
.col_2,
.col_3,
.col_4,
.col_5,
.col_6,
.col_7,
.col_8,
.col_9,
.col_10,
.col_11,
.col_12 {
  float: left;
  padding: 0 5%;
}
.lt-ie8 .col_1,
.lt-ie8 .col_1-5,
.lt-ie8 .col_2,
.lt-ie8 .col_3,
.lt-ie8 .col_4,
.lt-ie8 .col_5,
.lt-ie8 .col_6,
.lt-ie8 .col_7,
.lt-ie8 .col_8,
.lt-ie8 .col_9,
.lt-ie8 .col_10,
.lt-ie8 .col_11,
.lt-ie8 .col_12 {
  padding-left: 2.4%;
  padding-right: 2.4%;
}
.col_1.no-padding,
.col_1-5.no-padding,
.col_2.no-padding,
.col_3.no-padding,
.col_4.no-padding,
.col_5.no-padding,
.col_6.no-padding,
.col_7.no-padding,
.col_8.no-padding,
.col_9.no-padding,
.col_10.no-padding,
.col_11.no-padding,
.col_12.no-padding {
  padding: 0;
}
.col_1 {
  width: 3.33%;
}
.col_1.no-padding {
  width: 8.33%;
}
.col_1-5 {
  width: 3.33%;
}
.col_1-5.no-padding {
  width: 12.5%;
}
.col_2 {
  width: 6.66%;
}
.col_2.no-padding {
  width: 16.66%;
}
.col_3 {
  width: 15%;
}
.col_3.no-padding {
  width: 25%;
}
.col_4 {
  width: 23.33%;
}
.col_4.no-padding {
  width: 33.33%;
}
.col_5 {
  width: 31.66%;
}
.col_5.no-padding {
  width: 41.66%;
}
.col_6 {
  width: 40%;
}
.col_6.no-padding {
  width: 50%;
}
.col_7 {
  width: 48.33%;
}
.col_7.no-padding {
  width: 58.33%;
}
.col_8 {
  width: 56.66%;
}
.col_8.no-padding {
  width: 66.66%;
}
.col_9 {
  width: 65%;
}
.col_9.no-padding {
  width: 75%;
}
.col_10 {
  width: 73.33%;
}
.col_10.no-padding {
  width: 83.33%;
}
.col_11 {
  width: 81.66%;
}
.col_11.no-padding {
  width: 91.66%;
}
.col_12 {
  width: 90%;
}
.col_12.no-padding {
  width: 100%;
}
.col_offset_1 {
  margin-left: 8.33%;
}
.col_offset_2 {
  margin-left: 16.66%;
}
.col_offset_3 {
  margin-left: 25%;
}
.col_offset_4 {
  margin-left: 33.33%;
}
.col_offset_5 {
  margin-left: 41.66%;
}
.col_offset_6 {
  margin-left: 50%;
}
.col_offset_7 {
  margin-left: 58.33%;
}
.col_offset_8 {
  margin-left: 66.66%;
}
.col_offset_9 {
  margin-left: 75%;
}
.col_offset_10 {
  margin-left: 83.33%;
}
.col_offset_11 {
  margin-left: 91.66%;
}
section {
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}
article {
  padding: 2em 0;
  background-position: center;
  background-size: cover;
}
.wrapper {
  margin: 0 auto;
  max-width: 1200px;
}
.pull-left {
  float: left;
}
.pull-right {
  float: right;
}
.col_stretched {
  margin: 0 auto;
  max-width: 20em;
  padding: 0 2em;
}
/* background */
.bg-blue {
  background-color: #36475a;
  color: #fff;
}
.bg-blue.bg-transparent {
  background-color: rgba(53, 71, 90, 0.8);
}
.bg-white {
  background-color: #fff;
}
.bg-white.bg-transparent {
  background-color: rgba(255, 255, 255, 0.9);
}
article div.bg-white,
article div.bg-blue {
  margin-top: -2em;
  margin-bottom: -2em;
  padding-bottom: 2em;
  padding-top: 2em;
}
/* Collapser */
.collapser {
  cursor: pointer;
  margin: 0;
  padding: 1em 2em 1em 0;
  background: url(../img/arrow-collapser.svg) no-repeat right center;
}
.no-svg .collapser {
  background-image: url(../img/arrow-collapser.png);
}
.collapser.open + .collapsible {
  max-height: 40em;
  padding-bottom: 1em;
}
.collapser.open {
  color: #e62329;
  background: url(../img/arrow-collapser-open.svg) no-repeat right center;
}
.no-svg .collapser.open {
  background-image: url(../img/arrow-collapser-open.png);
}
.collapser:hover {
  color: #e62329;
}
.collapsible {
  margin: 0;
  max-height: 0;
  overflow: hidden;
  border-bottom: 1px solid #99b0c8;
  -webkit-transition: max-height 0.5s ease-out;
  transition: max-height 0.5s ease-out;
}
/* Images */
.img-responsive {
  max-width: 100%;
  height: auto;
}
.centered {
  text-align: center;
}
/* ------------ HEADER -------------- */
nav {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 115px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  z-index: 10;
}
.lt-ie8 nav {
  padding-bottom: 1em;
}
nav #logo {
  float: left;
  margin: 1em 1em 1em 0;
}
nav.home {
  height: 130px;
}
nav.home #logo img {
  width: 205px;
  height: 80px;
}
nav #nav-collapser {
  position: absolute;
  right: 1em;
  top: 2em;
  width: 3em;
  height: 3em;
  background: #e62329 url(../img/nav-collapser.svg) no-repeat center;
  -webkit-transition: top 0.5s ease-out;
  transition: top 0.5s ease-out;
}
.no-svg nav #nav-collapser {
  background-image: url(../img/nav-collapser.png);
}
nav #nav-collapser:hover {
  background-color: #36475a;
}
nav #second-nav {
  position: absolute;
  display: none;
  right: 0;
  top: 5em;
  padding: 2em 1.5em 2em 3.5em;
  background-color: #fcfbfb;
  font-size: 1.125em;
  list-style: none;
  text-align: right;
}
nav #second-nav.open {
  display: block;
}
nav #second-nav a {
  display: block;
  padding: 0.25em 0;
  color: #36475a;
  text-transform: uppercase;
}
nav #second-nav a:hover {
  color: #e62329;
}
nav #second-nav a img {
  vertical-align: 0;
  margin-left: 1em;
}
nav #second-nav .active a {
  color: #e62329;
}
nav li.nav-category {
  margin-left: 2em;
}
nav span.category-name {
  height: 1.4em;
  display: block;
}
nav span#category-ne2030 {
  display: block;
  width: 100%;
  color: white;
  background-color: #e62329;
}
nav ul#categories {
  position: absolute;
  right: 5em;
  list-style: none;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
nav ul.main-navigation {
  list-style: none;
  padding: 0;
  margin: 0 0;
  text-align: center;
}
nav ul.main-navigation li {
  float: left;
}
nav ul.main-navigation a {
  display: inline-block;
  font-weight: normal;
  padding: 8px 8px 32px;
  padding: 0.5rem 0.3rem 2rem;
  line-height: 16px;
  line-height: 1rem;
  color: #36475a;
  background: url(../img/carret-menu.svg) no-repeat center bottom;
}
.no-svg nav ul.main-navigation a {
  background-image: url(../img/carret-menu.png);
}
nav ul.main-navigation ul {
  display: none;
}
nav ul.main-navigation li.active a {
  color: #e62329;
  position: relative;
  background-image: url(../img/carret-menu-active.svg);
}
.no-svg nav ul.main-navigation li.active a {
  background-image: url(../img/carret-menu-active.png);
}
nav ul.main-navigation li.active ul {
  display: none;
}
nav + * {
  padding-top: 115px;
}
/* ------------ HOMEPAGE -------------- */
#home-map {
  position: relative;
  overflow: hidden;
  height: calc(100vh - 130px);
  top: 130px;
  padding: 0;
  background-color: #dfe1e0;
  /* Footer */
}
.lt-ie9 #home-map {
  position: static;
  margin-top: 7em;
}
#home-map .overlay {
  position: absolute;
  top: -105%;
  left: 0;
  width: 100%;
  height: 90%;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  z-index: 5;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.93);
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
#home-map .overlay h1 {
  font-style: normal;
}
#home-map .overlay .col_7 {
  float: none;
  margin-top: 2em;
}
#home-map .overlay #btn-vision {
  display: none;
}
#home-map .overlay #btn-decouvrir {
  display: block;
  position: relative;
  z-index: 1;
  width: 10em;
  margin: 1em auto;
  padding-bottom: 5em;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.2;
  color: #36475a;
  background: url(../img/icon-decouvrir.svg) no-repeat center bottom;
}
.no-svg #home-map .overlay #btn-decouvrir {
  background-image: url(../img/icon-decouvrir.png);
}
#home-map .overlay #btn-decouvrir strong {
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
  font-size: 1.375em;
}
#home-map .overlay #btn-decouvrir:hover {
  color: #e62329;
}
#home-map .overlay #supporting_committee_link {
  position: absolute;
  right: 10px;
  bottom: 10px;
}
#home-map .overlay .img-reseau {
  position: absolute;
  left: 52%;
  bottom: -5%;
  width: 52%;
}
.lt-ie9 #home-map .overlay .img-reseau {
  width: 50%;
}
.lt-ie9 #home-map .overlay {
  position: static;
  height: auto;
  padding: 1px 0;
}
.lt-ie9 #home-map .overlay #btn-decouvrir {
  display: none;
}
.lt-ie9 #home-map .overlay #btn-vision {
  display: inline;
}
#home-map.overlay-visible .overlay {
  top: 0;
}
#home-map #map {
  position: absolute;
  width: 80%;
  height: 80%;
  left: 10%;
  top: 10%;
}
.lt-ie9 #home-map #map {
  display: none;
}
#home-map #layerTree-collapser {
  display: none;
}
#home-map #layerTree,
#home-map #featureInfo {
  position: absolute;
  right: 1em;
  top: 2%;
  width: 19em;
  max-height: 48%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: auto;
  padding: 2% 1.5em;
  z-index: 2;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
}
#home-map #layerTree ul,
#home-map #featureInfo ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#home-map #layerTree p,
#home-map #featureInfo p,
#home-map #layerTree li,
#home-map #featureInfo li {
  font-size: 0.85em;
  margin: 0.5em 0;
  text-align: left;
}
#home-map #layerTree img,
#home-map #featureInfo img {
  float: left;
}
#home-map #layerTree input[type="checkbox"],
#home-map #featureInfo input[type="checkbox"] {
  float: left;
  margin: 0 0.25em;
}
#home-map #layerTree label,
#home-map #featureInfo label {
  display: block;
  margin-left: 4em;
}
#home-map #layerTree label small,
#home-map #featureInfo label small {
  display: block;
}
#home-map #layerTree label i,
#home-map #featureInfo label i {
  display: inline-block;
  background-color: #5b697a;
  width: 1em;
  height: 0.5em;
  margin-right: 0.25em;
  vertical-align: middle;
}
#home-map #layerTree label i.cadence-30,
#home-map #featureInfo label i.cadence-30 {
  height: 0.25em;
}
#home-map #layerTree label i.cadence-60,
#home-map #featureInfo label i.cadence-60 {
  height: 0.12em;
}
#home-map #layerTree label i.nouveaux-troncons,
#home-map #featureInfo label i.nouveaux-troncons {
  background: url(../map/static/images/nouveaux_troncons.png) no-repeat center;
}
#home-map #layerTree label i.nouvelles-gares,
#home-map #featureInfo label i.nouvelles-gares {
  background: url(../map/static/images/nouvelles_gares.png) no-repeat center;
}
#home-map #layerTree label[for="Trains2016"] i,
#home-map #featureInfo label[for="Trains2016"] i {
  background-color: #a1a1a1;
}
#home-map #featureInfo {
  top: auto;
  bottom: 2%;
  visibility: hidden;
  z-index: 4;
}
#home-map #featureInfo-collapser {
  display: block;
  float: right;
  width: 1.5em;
  height: 1.5em;
  margin: -0.5em -0.5em 0.5em 0.5em;
  background: url(../img/icon-close.svg) no-repeat center;
}
.no-svg #home-map #featureInfo-collapser {
  background-image: url(../img/icon-close.png);
}
#home-map .ol-zoom {
  left: 1em;
  top: 3em;
  border-radius: 0;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
}
#home-map .ol-zoom .ol-zoom-in,
#home-map .ol-zoom .ol-zoom-out {
  border-radius: 0;
}
#home-map .ol-scale-line {
  left: 1em;
  bottom: 3em;
  border-radius: 0;
}
#home-map + footer {
  position: absolute;
  width: 100%;
  bottom: 0;
  z-index: 1;
}
#home-map + footer .content {
  max-height: 0;
  overflow: auto;
  position: relative;
  -webkit-transition: max-height 0.5s ease-out;
  transition: max-height 0.5s ease-out;
}
#home-map + footer.open {
  z-index: 4;
}
#home-map + footer.open .content {
  max-height: 40em;
  max-height: calc(100vh - 10em);
}
#home-map + footer #footer-collapser {
  display: block;
  position: absolute;
  left: 50%;
  top: -3em;
  width: 3em;
  height: 3em;
  margin-left: -1.5em;
  background: #fff url(../img/arrow-collapser-open.svg) no-repeat center;
  -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.no-svg #home-map + footer #footer-collapser {
  background-image: url(../img/arrow-collapser-open.png);
}
.lt-ie9 #home-map + footer {
  position: static;
}
.lt-ie9 #home-map + footer .content {
  max-height: none;
}
#home-map.overlay-visible + footer #footer-collapser {
  height: 0;
  top: 0;
}
#index-temp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  height: 100vh;
}
#index-temp article {
  margin: 0 auto;
}
/* ------------ VISION -------------- */
#vision {
  background-image: url(../img/bg-vision.jpg);
}
#vision ul a {
  display: block;
  padding: 0.25em 0;
  font-weight: bold;
  color: #fff;
}
#vision .vision-1 {
  position: relative;
}
#vision .vision-1 img {
  position: absolute;
  width: 47%;
  bottom: -5%;
  right: 2%;
}
/* ------------ PILIERS -------------- */
#piliers {
  background-image: url(../img/bg-piliers.jpg);
}
#mobilite-douce {
  background-image: url(../img/bg-mobilite-douce.jpg);
}
/* ------------ ENJEUX -------------- */
#enjeux {
  background-image: url(../img/bg-enjeux.jpg);
}
#economie {
  background-image: url(../img/bg-economie.jpg);
}
/* ------------ FINANCEMENTS -------------- */
#financements {
  background-image: url(../img/bg-financements.jpg);
  background-position: center 7em;
  background-size: contain;
}
#financements-table {
  width: 100%;
  min-width: 600px;
  text-align: right;
  background-color: #fff;
}
#financements-table th {
  padding: 0.75em 0.5em;
  background-color: #d7dce1;
  font-weight: normal;
  border-bottom: 1px solid #c9cfd6;
  /*&:first-child {
                text-align: left !important;
                padding-left: 1em;
            }
            }
            tr:first-child th {
                padding-top: 1em;
                //text-align: center;
            }*/
}
#financements-table th.total {
  background-color: #cad1d9;
}
#financements-table td {
  border-bottom: 1px solid #c9cfd6;
  padding: 0.5em;
}
#financements-table td:first-child {
  text-align: left;
  padding-left: 1em;
}
#financements-table td:first-child.center {
  background-color: #eef0f2;
  border-bottom: 0;
  font-size: 0.875em;
  text-align: center;
}
#financements-table .strong {
  font-weight: normal;
}
#financements-table .total {
  background-color: #eef0f2;
}
/*.notes {
        list-style: none;
        padding: 0;
        font-size: 0.875em;
    }*/
#federal {
  background-image: url(../img/bg-financement-federal.jpg);
  background-position: right center;
}
.financements-2 {
  position: relative;
  overflow: hidden;
}
.financements-2 figure {
  position: absolute;
  bottom: 0%;
  left: 2%;
  max-width: 50%;
  margin: 0;
}
.financements-2 figure figcaption {
  position: absolute;
  left: 60%;
  bottom: 3em;
  color: #e62329;
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
  font-style: italic;
}
/* ------------ PRODES -------------- */
.full-page-table {
  width: 100%;
}
.full-page-table-centered p {
  text-align: center;
}
#prodes2035 {
  background-image: url(../img/bg-prodes.jpg);
}
ol {
  list-style: none;
}
ol li {
  margin: 1em 0;
}
ol sup {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin: 0 1em 0 -2.5em;
  border-radius: 1em;
  color: #fff;
  font-size: 65%;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  background-color: #e62329;
}
#message {
  background-image: url(../img/bg-message-berne.jpg);
}
.calendrier_prodes {
  margin: 1em 0 3em;
}
.calendrier_prodes article {
  font-size: 1.25em;
  margin: 0.5em 0;
  padding: 2em;
  color: #fff;
  position: relative;
  background-color: #000;
  /*&:hover {
                .bg {       opacity: 1}
                .content {  opacity: 0}
            }*/
}
.calendrier_prodes article .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.2;
  background-size: cover;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
.calendrier_prodes article .content {
  position: relative;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
.calendrier_prodes article date {
  float: left;
  font-weight: normal;
  width: 12em;
}
.calendrier_prodes article p {
  border-left: 1px solid;
  margin: 0 0 0 11em;
  padding: 0 1em;
}
.calendrier_prodes article .place {
  float: right;
  width: 6em;
}
.calendrier_prodes article .place + p {
  border-right: 1px solid;
  margin-right: 7em;
}
/* ------------ VOTATION -------------- */
#votation {
  background-image: url(../img/bg-votation.jpg);
}
ol {
  list-style: none;
}
ol li {
  margin: 1em 0;
}
ol sup {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin: 0 1em 0 -2.5em;
  border-radius: 1em;
  color: #fff;
  font-size: 65%;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  background-color: #e62329;
}
#message {
  background-image: url(../img/bg-message-berne.jpg);
}
.calendrier {
  margin: 1em 0 3em;
}
.calendrier article {
  font-size: 1.25em;
  margin: 0.5em 0;
  padding: 2em;
  color: #fff;
  position: relative;
  background-color: #000;
  /*&:hover {
                .bg {       opacity: 1}
                .content {  opacity: 0}
            }*/
}
.calendrier article .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0.2;
  background-size: cover;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
.calendrier article .content {
  position: relative;
  -webkit-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
.calendrier article date {
  float: left;
  font-weight: normal;
  width: 10em;
}
.calendrier article p {
  border-left: 1px solid;
  margin: 0 0 0 11em;
  padding: 0 1em;
}
.calendrier article .place {
  float: right;
  width: 6em;
}
.calendrier article .place + p {
  border-right: 1px solid;
  margin-right: 7em;
}
/* ------------ FAQ -------------- */
#faq h3:before {
  content: url(../img/arrow-next-hover.svg);
  line-height: 1;
  margin: 0.5em 0.5em 0 -1.25em;
  vertical-align: -4px;
}
.no-svg #faq h3:before {
  content: url(../img/arrow-next-hover.png);
}
/* ------------ FOOTER -------------- */
footer {
  color: #fff;
  background-image: url(../img/bg-footer.gif);
}
footer a {
  color: #979b9e;
}
footer #footer-collapser {
  display: none;
}
footer #chiffres {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-bottom: 3em;
  padding: 0;
  border-top: 1px solid #e1e1e1;
  font-size: 1.25em;
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
  color: #36475a;
  background-color: #fff;
  /* animation: name duration timing-function delay iteration-count direction fill-mode play-state */
}
footer #chiffres .red {
  color: #e62329;
}
footer #chiffres div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1em 0;
  line-height: 0.75;
  border-left: 1px solid #e1e1e1;
  text-transform: uppercase;
}
.lt-ie8 footer #chiffres div {
  border-left: 0;
  line-height: 1;
}
footer #chiffres div p {
  margin: 0 auto;
  text-align: center;
}
footer #chiffres div small {
  font-size: 0.5em;
}
footer #chiffres div img {
  display: block;
  margin: 0 auto;
  width: 90%;
}
footer #chiffres div .img-wrapper {
  padding: 0;
  margin: 0 auto;
  max-width: 12em;
  display: block;
  position: relative;
  width: 100%;
  border: 0;
}
footer #chiffres div .chiffres-2040 {
  position: absolute;
  top: 0;
  left: 5%;
}
.cssanimations footer #chiffres .chiffres-2015,
.cssanimations footer #chiffres .chiffres-2040 {
  opacity: 0.2;
  -webkit-animation: chiffresFade 5s linear 0s infinite;
          animation: chiffresFade 5s linear 0s infinite;
}
.cssanimations footer #chiffres .chiffres-2040 {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
}
@-webkit-keyframes chiffresFade {
  0% {
    opacity: 0.2;
  }
  10% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0.2;
  }
}
@keyframes chiffresFade {
  0% {
    opacity: 0.2;
  }
  10% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  60% {
    opacity: 0.2;
  }
}
footer .claim {
  margin-bottom: 2em;
  font-size: 1.2em;
}
footer .claim h1 {
  font-family: "Kanit", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-size: 1.375em;
  margin-top: 2em;
  line-height: 1;
}
footer .claim strong {
  font-family: "Zilla Slab", "Times New Roman", Times, serif;
}
footer #copyright-links {
  font-size: 0.875em;
  padding: 0.5em 0;
  background-color: #25323f;
  color: #979b9e;
}
/* ==========================================================================
   Media Queries
   ========================================================================== */
@media only screen and (min-width: 1430px) {
  nav ul.main-navigation li.active a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 9px;
    bottom: 0.55rem;
    background-color: #e62329;
    z-index: -1;
  }
  nav ul.main-navigation li.active > a:after {
    width: 50%;
    left: 50%;
  }
  nav ul.main-navigation li.active ul li:last-child a:after {
    width: 50%;
  }
  nav ul.main-navigation li.active:first-child a:after {
    content: normal;
  }
  nav ul.main-navigation li.active ul {
    display: block;
    padding: 0;
    float: right;
    list-style: none;
  }
  .lt-ie8 nav ul.main-navigation li.active ul {
    display: none;
  }
  nav ul.main-navigation li.active ul a {
    font-size: 0.875em;
    font-weight: 200;
    background-image: url(../img/carret-menu-active.svg);
  }
  .no-svg nav ul.main-navigation li.active ul a {
    background-image: url(../img/carret-menu-active.png);
  }
  nav ul.main-navigation li.active ul li.active-submenu ~ li a {
    color: #36475a;
    background-image: url(../img/carret-submenu.svg);
  }
  .no-svg nav ul.main-navigation li.active ul li.active-submenu ~ li a {
    background-image: url(../img/carret-submenu.png);
  }
  .financements-2 figure figcaption {
    left: 65%;
    min-width: 16em;
  }
  footer #chiffres {
    font-size: 1.875em;
  }
}
@media only screen and (max-height: 775px) {
  #home-map .overlay {
    overflow: auto;
  }
  #home-map .overlay .col_7 {
    width: auto;
  }
  #home-map .overlay .img-reseau {
    display: none;
  }
  #home-map .overlay #supporting_committee_link {
    visibility: hidden;
  }
}
/* ============= MOBILE VIEW ============== */
@media only screen and (max-width: 950px) {
  /* Text */
  blockquote {
    margin: 1em 0;
    width: auto;
  }
  p {
    text-align: left;
  }
  /* Layout */
  .col_stretched {
    padding: 0;
  }
  .col_2,
  .col_3,
  .col_4,
  .col_5,
  .col_6,
  .col_7,
  .col_8,
  .col_9,
  .col_10,
  .col_11,
  .col_12 {
    display: block;
    float: none;
    width: auto;
  }
  .col_2.no-padding,
  .col_3.no-padding,
  .col_4.no-padding,
  .col_5.no-padding,
  .col_6.no-padding,
  .col_7.no-padding,
  .col_8.no-padding,
  .col_9.no-padding,
  .col_10.no-padding,
  .col_11.no-padding,
  .col_12.no-padding {
    width: auto;
  }
  .col_offset_1,
  .col_offset_2,
  .col_offset_3,
  .col_offset_4,
  .col_offset_5,
  .col_offset_6,
  .col_offset_7,
  .col_offset_8,
  .col_offset_9,
  .col_offset_10,
  .col_offset_11 {
    margin-left: 0;
  }
  /* Zone scroll horizonal */
  .horizontal-scroller {
    overflow: scroll;
    -webkit-box-shadow: -3px 0 5px 0 #d4d4d4 inset;
            box-shadow: -3px 0 5px 0 #d4d4d4 inset;
    padding: 0.5em;
  }
  /* Header */
  nav {
    -webkit-transition: height 0.5s ease-out;
    transition: height 0.5s ease-out;
  }
  nav #logo {
    margin: 1em 0;
    height: 80px;
    overflow: hidden;
    -webkit-transition: height 0.5s ease-out;
    transition: height 0.5s ease-out;
  }
  nav.home #logo img {
    width: auto;
  }
  nav ul#main-nav,
  nav ul#categories {
    display: none;
  }
  nav.smaller {
    height: 75px;
  }
  nav.smaller #logo {
    height: 50px;
  }
  nav.smaller #nav-collapser {
    top: 0.8em;
  }
  #jPanelMenu-menu {
    padding-top: 115px;
    background: url("../img/bg-footer.gif");
  }
  #jPanelMenu-menu ul {
    margin: 0;
    padding: 0;
  }
  #jPanelMenu-menu li {
    list-style: none;
  }
  #jPanelMenu-menu li a {
    display: block;
    padding: 0.25em 0.5em;
    color: #fff;
  }
  #jPanelMenu-menu li.active > a {
    color: #e62329;
  }
  #jPanelMenu-menu span#category-ne2030 {
    display: none;
  }
  #jPanelMenu-menu #second-nav {
    padding: 0.25em 0;
  }
  #jPanelMenu-menu #second-nav:before,
  #jPanelMenu-menu #second-nav:after {
    content: " ";
    display: table;
  }
  #jPanelMenu-menu #second-nav:after {
    clear: both;
  }
  #jPanelMenu-menu #second-nav li {
    float: left;
  }
  #jPanelMenu-menu #second-nav li img {
    margin-left: 0.25em;
  }
  #jPanelMenu-menu .main-navigation > li > a {
    font-size: 1.2em;
    font-weight: 500;
    border-top: 1px solid #767e89;
  }
  #jPanelMenu-menu .main-navigation ul {
    padding-left: 2em;
  }
  nav.smaller + *,
  nav.smaller + div + #jPanelMenu-menu {
    padding-top: 75px;
  }
  /* Pages */
  article {
    padding: 1em 0;
  }
  #vision,
  #piliers,
  #enjeux,
  #financements,
  #votation,
  #economie,
  #federal,
  #message {
    background-image: none;
  }
  /* Home */
  #home-map {
    top: 0;
  }
  #home-map .overlay {
    height: 100%;
  }
  #home-map .overlay .img-reseau {
    display: none;
  }
  #home-map .overlay #supporting_committee_link {
    visibility: hidden;
  }
  #home-map #layerTree,
  #home-map #featureInfo {
    max-height: 100%;
    font-size: 0.9em;
  }
  #home-map #layerTree {
    top: 0;
    right: -19em;
    -webkit-transition: right 0.5s ease-out;
    transition: right 0.5s ease-out;
  }
  #home-map #layerTree.open {
    right: 0;
  }
  #home-map #featureInfo {
    right: 0;
    top: 0;
    bottom: 0;
  }
  #home-map #layerTree-collapser {
    display: block;
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    width: 5em;
    height: 2em;
    padding-left: 2.5em;
    font-size: 0.8em;
    line-height: 2;
    background: #fff url(../img/icon-layers.svg) no-repeat 0.5em center;
  }
  .no-svg #home-map #layerTree-collapser {
    background-image: url(../img/icon-layers.png);
  }
  #home-map #layerTree-collapser .open {
    display: none;
  }
  #home-map #layerTree.open + #layerTree-collapser .open {
    display: inline;
  }
  #home-map #layerTree.open + #layerTree-collapser .closed {
    display: none;
  }
  #home-map .ol-zoom {
    top: 1em;
  }
  #home-map .ol-scale-line {
    bottom: 1em;
  }
  #un-canton {
    font-size: 1em;
  }
  #un-canton .col_7 img {
    display: none;
  }
  #un-canton h1 {
    margin-top: 1em;
  }
  /* Vision */
  #vision .vision-1 img {
    position: static;
    width: 100%;
  }
  /* Financement */
  #financements-table {
    font-size: 0.9em;
  }
  .financements-2 {
    padding-bottom: 33em;
  }
  .financements-2 figure {
    max-width: 96%;
  }
  .financements-2 figure figcaption {
    bottom: 1.5em;
  }
  /* Votation */
  .calendrier article {
    font-size: 1em;
    padding: 1em;
    background-color: #36475a;
  }
  .calendrier article .bg {
    display: none;
  }
  .calendrier article date,
  .calendrier article p,
  .calendrier article .place {
    border: 0 none !important;
    display: block;
    float: none;
    margin: 0.5em 0 !important;
    padding: 0;
    width: auto;
  }
  /* Footer */
  footer {
    position: relative;
  }
  footer #chiffres {
    display: none;
  }
  footer .claim {
    font-size: 0.9em;
    margin: 2em 0 1em;
  }
  footer .claim img {
    max-width: 50%;
  }
  footer .claim h1,
  footer .claim p {
    display: none;
  }
  footer .contact {
    margin: 1em 0;
  }
  footer .contact h3,
  footer .contact p {
    margin: 0;
  }
  footer #logo-nech {
    position: absolute;
    top: 13%;
    right: 5%;
    max-width: 35%;
  }
  footer #copyright-links .pull-right,
  footer #copyright-links .pull-left {
    float: none;
    margin: 0;
    text-align: center;
  }
  #home-map + footer #footer-collapser {
    top: -2.5em;
    width: 2.5em;
    height: 2.5em;
    margin-left: -1.25em;
  }
}
@media only screen and (max-width: 530px) {
  .financements-2 {
    padding-bottom: 100%;
  }
  .full-page-table {
    font-size: 0.8em;
  }
}
/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
  display: none !important;
  visibility: hidden;
}
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}
.invisible {
  visibility: hidden;
}
.clearfix:before,
.clearfix:after,
.row:before,
.row:after,
.calendrier article:before,
.calendrier article:after {
  content: " ";
  display: table;
}
.clearfix:after,
.row:after,
.calendrier article:after {
  clear: both;
}
.clearfix,
.row,
.calendrier article {
  *zoom: 1;
}
/* ==========================================================================
   Print styles
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
