@font-face {
  font-family: 'FontAwesome';
  src: url("../xstatic/fonts/fontawesome-webfont.eot");
  src: url("../xstatic/fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"), url("../xstatic/fonts/fontawesome-webfont.woff") format("woff"), url("../xstatic/fonts/fontawesome-webfont.ttf") format("truetype"), url("../xstatic/fonts/fontawesome-webfont.svg#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }
html, body {
  margin: 0;
  font-family: arial, sans-serif;
  font-size: 13px;
  height: 100%; }

a {
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

h1, h2, h3 {
  margin-top: 0; }

div#single-title, #nav,
#top, h2 {
  font-family: sans-serif;
  font-weight: normal; }

h3, h4 {
  font-family: sans-serif;
  font-weight: normal; }

a {
  -webkit-transition: all 200ms ease-out;
  -moz-transition: all 200ms ease-out;
  transition: all 200ms ease-out; }

/* layout */
body {
  overflow-x: hidden;
  background: white;
  margin: 0 auto; }

div#page {
  min-height: 100%;
  min-height: calc(100% - 75px); }

div#footer,
div#page {
  max-width: 1000px;
  margin: 0 auto; }

div#header {
  background-color: #ffffff;
  width: 100%;
  margin: 0 0 0 0;
  position: relative;
  top: 0px;
  z-index: 0; }

div#top {
  margin: 0 auto 0 auto; }

div#top h1 {
  padding-top: 30px;
  margin-left: 20px;
  margin-bottom: 0;
  font-size: 200%;
  font-weight: normal; }

div#top a img {
  border: 0; }

div#main-content-wrapper {
  position: relative;
  z-index: 100;
  max-width: 1000px;
  margin: 0px auto 0px auto; }

div#main-content {
  margin: 0;
  min-height: 300px; }

div#footer-wrapper {
  background: #666;
  color: white;
  min-height: 60px; }

div#footer {
  clear: both;
  padding: 0px;
  margin: 10px auto 0 auto;
  position: relative; }

p#legal {
  font-size: small;
  color: #eee;
  margin: 0;
  margin-top: 5em;
  font-size: 70%;
  display: inline-block;
  padding-top: 5px; }

#content {
  position: relative;
  margin: 0;
  color: #3a3a3a; }

div#content a {
  color: #37a7da; }

div#content a:hover {
  text-decoration: underline; }

#menu {
  font-size: 130%;
  margin-top: -1px; }

#menu ul {
  list-style: none;
  margin: 0;
  padding: 10px 0 32px 0;
  -webkit-border-top-right-radius: 5px;
  -moz-border-radius-topright: 5px;
  border-top-right-radius: 5px; }

#menu li {
  display: inline;
  margin: 0px 10px 0 0;
  padding: 5px;
  background: #37a7da;
  border: 5px solid transparent;
  border-width: 2px 5px;
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }

#menu li a {
  color: white;
  text-transform: uppercase;
  white-space: pre; }

#menu li:hover {
  background-color: #f4bc03;
  border-color: #f4bc03; }

#menu li:hover a {
  text-decoration: none; }

#menu li.selected, #menu li.ancestor {
  background: #515151;
  border-color: #515151; }

#menu li.selected a {
  color: white; }

#left {
  float: left;
  width: 49.5%; }

#right {
  float: right;
  width: 49.5%; }

br.clear {
  clear: both; }

#error-404, #error-500, #content .block, #password-changed {
  background: white;
  font-size: 110%;
  margin-bottom: 1em; }

#content .block h2 {
  background: transparent;
  font-weight: normal;
  color: white;
  padding: 6px 10px 6px 10px;
  color: #333;
  font-size: 130%;
  cursor: default;
  /* someday, perhaps, cursor: move */ }

#content .block h2.feeds {
  background-image: url(Picto-Bulle.png); }

#content .block h2.newsletters {
  background-image: url(Picto-coeur.png); }

#content .block h3,
#content .block p {
  margin: 1ex 10px;
  padding-bottom: 1px; }

#content .demarches ul,
#content ul.mes-demarches {
  list-style: none;
  padding-left: 0px;
  margin: 0px;
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2; }

#content ul.mes-demarches a,
#content .demarches ul a {
  color: inherit;
  font-weight: bold;
  background: transparent url(static/bullet_rouge.png) left center no-repeat;
  padding-left: 10px; }

#content ul.mes-demarches a:hover,
#content .demarches ul a:hover {
  color: #37a7da; }

#content ul.mes-demarches li,
#content .demarches ul li {
  margin: 1ex 0 10px 1ex;
  padding-left: 10px;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  column-break-inside: avoid; }

#content .demarches .toutes-les-demarches {
  padding: 10px 0 10px 0;
  margin-left: 20px; }

#content .toutes-les-demarches a {
  background: transparent url(button_orange_eye.png) no-repeat 0px center;
  color: #37a7da;
  text-transform: uppercase;
  padding-left: 30px;
  font-size: 130%; }

#content .toutes-les-demarches a:hover {
  color: #37a7da; }

#commune-selector {
  margin-left: 5px;
  margin-bottom: 10px; }

#content #futurs-demarches {
  overflow-y: hidden;
  margin: 5px;
  padding-bottom: 15px; }

#content #futurs-demarches.selected {
  display: block; }

div#single-title {
  border: 1px solid #a5a7aa;
  border-width: 1px 0px;
  font-size: 110%;
  text-align: center;
  padding: 10px 0; }

body.narrow-page #main-content {
  background: white;
  margin-top: 0;
  padding: 10px 10px 0 10px; }

body.narrow-page #main-content form div input {
  display: block;
  margin-left: 10px;
  margin-bottom: 2ex; }

span.helptext {
  color: #666; }

body.narrow-page div.right {
  width: 30%;
  float: right;
  margin: 1ex auto; }

body.narrow-page div.right form {
  text-align: left;
  background: white;
  margin: 10px 10px;
  padding: 10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid #ccc;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4); }

body.narrow-page div.right form div label {
  font-weight: bold;
  width: 14em;
  display: block;
  float: left;
  padding-top: 3px; }

body.narrow-page div.right form div input {
  width: 17em; }

body.narrow-page div.right form div.form-field-required label:after {
  content: ""; }

body.narrow-page div.right form > input {
  display: block;
  margin: 1em auto 0 auto;
  background: #37a7da;
  color: white;
  border: none;
  padding: 3px 1em; }

#toplinks {
  background: #ffffff;
  position: relative;
  float: right;
  width: 250px;
  padding: 5px 5px 5px 5px; }

#toplinks span {
  display: block;
  margin: 0;
  padding: 0;
  color: #888;
  line-height: 20px;
  height: 22px; }

#toplinks a {
  color: #888;
  border: 1px solid transparent; }

#toplinks a.logout {
  padding-left: 30px; }

#toplinks a:hover {
  text-decoration: none;
  color: #222; }

#toplinks a.restricted {
  color: white;
  float: right;
  padding: 0 1ex;
  border: 1px outset #888;
  background: #37a7da; }

div#username {
  float: right;
  padding: 5px 5px 5px 5px;
  background: white;
  line-height: 20px;
  height: 22px;
  border: 1px solid white; }

ul.newsList {
  list-style: none; }

ul.newsList li.abonne {
  margin: 0;
  padding: 0; }

.abonne {
  padding-left: 20px;
  background: transparent url(Validation.png) center left no-repeat; }

.nonAbonne {
  padding-left: 20px;
  background: transparent url(Annulation.png) center left no-repeat; }

/* page de profil */
#my-informations {
  margin-bottom: 15px;
  padding: 0px; }

#my-informations p {
  padding: 0 5px; }

#my-informations select,
#my-informations input {
  margin-left: 10px;
  display: block; }

/* forms error reporting */
.errorlist {
  list-style: none;
  padding-left: 0;
  margin-left: 0; }

ul.errorlist li {
  display: block;
  color: #f44; }

.form-field-required label:after {
  content: '*';
  color: #D90024; }

ul.errorlist + p {
  margin-top: 0px; }

.passerelle-register-plugin input + label {
  background: transparent url(Annulation.png) center left no-repeat; }

.passerelle-register-plugin input:checked + label {
  background: transparent url(Validation.png) center left no-repeat; }

.passerelle-register-plugin td input {
  display: none; }

.passerelle-register-plugin td label {
  padding-left: 2em; }

div.block form {
  padding: 0 1ex; }

table.announces {
  width: 100%;
  margin-bottom: 1em; }

table.announces thead td {
  font-weight: bold; }

table.announces thead th {
  width: 30%; }

table.announces tbody td {
  text-align: center; }

table.announces tbody th {
  width: 35%;
  text-align: left;
  font-weight: normal; }

.chapeau {
  font-style: italic;
  font-size: 110%; }

/* mon compte */
#my-informations-form {
  width: 90%;
  padding-bottom: 1em; }

#my-informations-form input[type~=text] {
  width: 100%; }

#id_email_wrap, #id_address_wrap {
  clear: both; }

#id_first_name_wrap, #id_phone_wrap, #id_postal_code_wrap {
  width: 45%;
  float: left; }

#id_last_name_wrap, #id_mobile_wrap, #id_city_wrap {
  width: 45%;
  float: right; }

.clear {
  clear: both; }

#id_new_password1_help_text, #id_password1_help_text {
  font-style: italic;
  font-size: 90%;
  color: red; }

/* saml post page */
.post-redirect {
  background: white; }

#messages li {
  list-style-type: none;
  padding: 10px;
  color: white; }

#messages {
  position: absolute;
  top: 120px;
  left: 1200px; }

#messages.messages-login {
  position: static; }

#messages.messages-login li {
  margin: 0px;
  margin-left: 100px;
  margin-right: 100px; }

#messages li.warning {
  border: 1px solid #DB771F;
  background: #37a7da; }

#messages li.error {
  border: 1px solid #DB771F;
  background: #DB1F28; }

#messages li.info {
  border: 1px solid #301F91;
  background: #1F8091; }

/* registration form */
img.captcha {
  float: left; }

#id_captcha_1 {
  width: 13em; }

h1#logo a {
  color: #028; }

#nav h3 {
  display: none; }

#nav {
  list-style: none;
  margin: 10px 20px 12px 20px;
  padding-top: 7px;
  font-size: 110%;
  position: relative; }

#nav ul {
  margin: 0;
  padding: 0;
  border: 1px solid #a5a7aa;
  border-width: 1px 0px; }

#nav li {
  display: inline-block; }

#nav a {
  color: #404041;
  text-decoration: none;
  display: inline-block;
  padding: 1ex 1em; }

#nav li.selected:after,
#nav li.ancestor:after,
#nav li a:hover,
#nav li.selected a,
#nav li.ancestor a {
  color: #e0007a; }

#nav div.cell {
  position: absolute;
  top: 0;
  right: 0; }

#content div.cell,
div.block {
  text-align: left;
  background: white;
  margin: 10px 10px;
  padding: 10px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: 1px solid #ccc; }

input[type="email"],
input[type="text"],
input[type="password"],
textarea,
select {
  border: 1px solid #aaa;
  padding: 5px 10px;
  border-radius: 2px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  color: black;
  -webkit-transition: background 200ms ease-out;
  -moz-transition: background 200ms ease-out;
  transition: background 200ms ease-out;
  display: block;
  background: white; }

input[type="email"]:focus,
input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #888;
  background: white; }

div#registration {
  width: 40em;
  text-align: justify;
  margin: 2em auto; }

div#registration form {
  margin: 2em 0; }

div#registration label {
  display: block;
  width: 15em;
  float: left;
  text-align: right;
  padding-right: 1em;
  color: #777; }

div#registration ul.errorlist {
  margin: 0;
  padding-left: 16em; }

div#registration input[type="submit"] {
  margin-left: 17em; }

#toplinks {
  background: #ffffff;
  position: absolute;
  top: 2em;
  right: 0;
  width: 40%;
  padding: 5px 5px 5px 5px;
  text-align: right; }

#toplinks span.logged-in {
  background: none;
  border: none;
  text-align: right; }

#toplinks span.logged-in .connected-user {
  display: inline-block;
  padding-right: 1em;
  color: #888; }

#toplinks a {
  color: #555;
  border: 1px solid transparent; }

#toplinks a:hover {
  text-decoration: none;
  color: #222; }

#toplinks a.restricted {
  color: white;
  float: right;
  padding: 0.5ex 1ex;
  border: 1px outset #888;
  background: #672290;
  position: absolute;
  top: -2em;
  right: 3px; }

#toplinks a.logout {
  padding: 1px; }

.narrow-page #main-content {
  width: 30em;
  margin: 0 auto; }

div#login-page {
  margin-top: 1em; }

#login-methods {
  width: 48%;
  float: left; }

#welcome-text {
  width: 48%;
  float: right; }

#login-beid {
  margin-top: 2em;
  background: url(beid_image_mini.png) top left no-repeat;
  padding-top: 120px; }

div#footer div.cell.test-banner {
  position: fixed;
  top: 2em;
  right: -5em;
  background: red;
  width: 15em;
  z-index: 1000;
  transform: rotate(45deg);
  transform-origin: center center;
  text-align: center;
  border-radius: 10px; }

div#footer div.cell.test-banner p {
  margin: 0; }

a#publik-portal-agent {
  z-index: 10000;
  position: absolute;
  top: 0px;
  right: 5px;
  background: white;
  color: #888;
  padding: 5px 10px;
  border: 1px solid #888;
  border-width: 0 1px 1px 1px; }

/* icons styles */
[class^="icon-"]:after, [class*=" icon-"]:after,
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  text-decoration: none; }

a[class^="icon-"], a[class*=" icon-"] {
  display: inline-block;
  text-decoration: none;
  border: none;
  color: #FF7800; }

button#nav-button {
  display: none; }

#nav-skip a {
  position: absolute;
  left: -7000px; }

#nav-skip a:focus {
  left: 0; }

div#page {
  max-width: 1060px; }

div#header {
  height: 135px; }

div#top h1 {
  padding-top: 50px;
  padding-left: 140px;
  font-size: 160%;
  font-weight: normal; }

div#top h1 a {
  color: white; }

#nav {
  margin-top: 0;
  margin-left: 0; }

#nav ul {
  border: none;
  margin: 0; }

#nav li {
  margin: 0;
  width: 8em;
  display: inline-block;
  text-align: center;
  padding: 0 1ex;
  border-right: 1px outset white; }

#nav li a {
  color: #494949;
  display: inline-block;
  width: 100%; }

#nav li.selected a {
  color: #222; }

#nav li a:hover {
  background: white;
  color: #222; }

#nav li:after {
  content: none; }

div#main-content {
  margin-top: 20px; }

#content div.cell {
  border: none; }

#toplinks {
  top: 0;
  background: rgba(255, 255, 255, 0.6);
  width: 442px; }

div#footer-wrapper {
  color: #444; }

div#footer {
  padding-top: 30px;
  padding-bottom: 20px; }

.widget {
  position: relative; }

form.quixote h4 {
  margin: 0px;
  background-color: #F2F2F2;
  font-size: 1.42857em;
  font-style: normal;
  font-family: "robotoslab_regular",Arial,sans-serif;
  color: #34567C;
  padding: 0.5em 1em;
  text-transform: none; }

#steps {
  display: none; }

div.widget-with-error input,
div.widget-with-error textarea,
div.widget-with-error label {
  position: relative;
  z-index: 10; }

div.widget-prefilled div.message {
  display: none; }

#nav {
  display: none; }

.fileinfo .remove {
  position: relative;
  z-index: 100; }
