@font-face {
  font-family: 'icomoon';
  src: url("");
  src: url("") format('embedded-opentype'), url("") format('truetype'), url("") format('woff'), url("") format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^="brand-icon-"],
[class*=" brand-icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.brand-icon-facebook .path1:before {
  content: "\e900";
  color: #1877f2;
}
.brand-icon-facebook .path2:before {
  content: "\e901";
  margin-left: -1em;
  color: #ffffff;
}
.brand-icon-google .path1:before {
  content: "\e902";
  color: #4285f4;
}
.brand-icon-google .path2:before {
  content: "\e903";
  margin-left: -0.98046875em;
  color: #34a853;
}
.brand-icon-google .path3:before {
  content: "\e904";
  margin-left: -0.98046875em;
  color: #fbbc04;
}
.brand-icon-google .path4:before {
  content: "\e905";
  margin-left: -0.98046875em;
  color: #ea4335;
}
.brand-icon-microsoft .path1:before {
  content: "\e906";
  color: #4caf50;
}
.brand-icon-microsoft .path2:before {
  content: "\e907";
  margin-left: -1em;
  color: #f44336;
}
.brand-icon-microsoft .path3:before {
  content: "\e908";
  margin-left: -1em;
  color: #2196f3;
}
.brand-icon-microsoft .path4:before {
  content: "\e909";
  margin-left: -1em;
  color: #ffc107;
}
/* HEADER */
html,
body {
  height: 100%;
  width: 100%;
  background: #eeeeee;
  font-size: 14px;
  font-family: MuseoSans, sans-serif;
  color: #262626;
  position: absolute;
  display: table;
}
html .align-center,
body .align-center {
  text-align: center;
}
header h1 {
  text-align: center;
}
header .logo {
  display: block;
  background: transparent url("logo_login.png") center center no-repeat;
  background-size: contain;
  width: 100px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.5em;
}
header .logo span {
  position: absolute;
  top: -1000px;
}
header .logo h1 {
  position: absolute;
  top: -1000px;
}
.wrap {
  display: table-cell;
  vertical-align: middle;
}
.wrap .container {
  max-width: 420px;
  padding: 2em;
  border: 1px solid #e6e6e6;
  background: #ffffff;
}
.wrap .container .divider {
  position: relative;
  border-top: 1px solid #d9d9d9;
}
.wrap .container .divider span {
  position: absolute;
  left: 0;
  right: 0;
  background: #ffffff;
  width: 30px;
  padding: 0.25em;
  top: -14px;
  text-align: center;
  margin: auto;
}
.wrap .container button.main-action,
.wrap .container a.main-action {
  width: 100%;
  color: #ffffff;
  border: none;
  border-radius: 2px;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  margin-top: -0.5em;
  font-size: 1.1em;
}
.wrap .container button.main-action:focus,
.wrap .container a.main-action:focus {
  outline: 0;
}
.wrap .container button.helper,
.wrap .container a.helper {
  display: block;
  font-size: 0.9em;
  margin-top: 0.5em;
}
.wrap .container button.unstyled,
.wrap .container a.unstyled {
  background: none;
  border: 0;
  text-align: center;
  width: 100%;
  color: #0069d6;
  font-size: 0.95rem;
}
.wrap .container button.unstyled:hover,
.wrap .container a.unstyled:hover {
  opacity: 0.85;
  background: none;
  border: 0;
  color: #0069d6;
}
.wrap .container button.show-pass,
.wrap .container a.show-pass {
  /*position: absolute;
                top: 1rem;
                right: 0.5rem;*/
  width: 10%;
  float: right;
  height: 48px;
  border-radius: 0 2px 2px 0;
  border: 1px solid #b3b3b3;
  border-left: none;
  background: #eee;
  display: block;
}
.wrap .container button.show-pass i,
.wrap .container a.show-pass i {
  color: #777;
  font-size: 1.2rem;
}
.wrap .container input.main-action {
  width: 100%;
  color: #ffffff;
  border: none;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  margin-top: -0.5em;
  font-size: 1.1em;
}
.wrap .container input.main-action:focus {
  outline: 0;
}
.wrap .container h2.provider {
  margin-top: 0;
  font-size: 1.2em;
  color: #595959;
  text-transform: none;
}
.wrap .container h3 {
  font-size: 1.2em;
  color: #595959;
}
.wrap .container h3.success {
  color: #4a9b17;
  font-size: 1.1em;
  margin: 4em 0;
}
.wrap .container #messageSuccess p {
  font-size: 1em;
  color: #4a9b17;
  margin-bottom: 2em;
}
.wrap .container #messageUnsuccess p {
  font-size: 1em;
  color: #c91111;
  margin-bottom: 2em;
}
.wrap .container #messageUnsuccess a {
  color: #ffffff;
  text-decoration: underline;
}
.wrap .container #messageUnsuccess a:hover {
  color: #f2f2f2;
  text-decoration: none;
}
.wrap .container p {
  text-align: center;
  font-size: 0.9em;
}
.wrap .container p.small-text {
  font-size: 0.9em;
  color: #595959;
  margin-top: 0.5em;
}
.wrap .container p.intro {
  font-size: 1.1em;
}
.wrap .container p a {
  margin-bottom: 2em;
  display: block;
  font-size: 1.05em;
}
.wrap .container p a:hover {
  filter: alpha(opacity=85);
  opacity: 0.85;
  text-decoration: none;
}
.wrap .container p a i {
  margin-right: 0.5em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.wrap .container p a.helper {
  font-size: 1.1em;
}
.wrap .container p a.helper:hover {
  filter: alpha(opacity=65);
  opacity: 0.65;
}
.wrap .container p a.text-button:hover {
  filter: alpha(opacity=85);
  opacity: 0.85;
  text-decoration: none;
}
.wrap .container p a.btn-cancel {
  color: #c91111;
}
.wrap .container .intro-rules {
  font-size: 0.9em;
  line-height: 1.65;
}
.wrap .container .rules {
  margin-top: 1em;
}
.wrap .container .rules li {
  font-size: 0.9em;
  color: #595959;
  font-weight: 600;
}
.wrap .container .rules li.icon-ok {
  font-family: MuseoSans, sans-serif;
  color: #4a9b17;
}
.wrap .container .rules li.icon-ok::before {
  font-family: FontAwesome ;
  margin-right: 0.5em;
}
.wrap .container form p.error-message {
  color: #c91111;
  text-align: left;
  position: absolute;
  top: -0.75em;
  left: 0.5em;
  background: #ffffff;
  padding: 0 0.2em;
}
.wrap .container form p.gender {
  top: -1.25em;
  left: 0;
  background: none;
}
.wrap .container form p.warning-message {
  color: #ff9c00;
  text-align: left;
  position: absolute;
  top: -0.75em;
  left: 0.5em;
  background: #ffffff;
  padding: 0 0.2em;
}
.wrap .container form fieldset {
  display: block;
  border-bottom: 1px solid #a6a6a6;
}
.wrap .container form fieldset legend {
  border-bottom: 1px solid #a6a6a6;
  margin-bottom: 0.5em;
  font-size: 0.9em;
}
.wrap .container form input[type=text].input-error,
.wrap .container form input[type=number].input-error,
.wrap .container form input[type=password].input-error {
  border: 1px solid #c91111;
}
.wrap .container form input[type=text]:focus.input-error,
.wrap .container form input[type=number]:focus.input-error,
.wrap .container form input[type=password]:focus.input-error {
  border: 1px solid #c91111;
  box-shadow: none;
}
.wrap .container form input.type-password {
  padding-right: 0.5rem;
  border-radius: 2px 0 0 2px;
  width: 90%;
  height: 48px;
}
.wrap .container form input[type=text].input-warning,
.wrap .container form input[type=number].input-warning,
.wrap .container form input[type=password].input-warning {
  border: 1px solid #ff9c00;
}
.wrap .container form input[type=text]:focus.input-warning,
.wrap .container form input[type=number]:focus.input-warning,
.wrap .container form input[type=password]:focus.input-warning {
  border: 1px solid #ff9c00;
  box-shadow: none;
}
.wrap .container form input::-webkit-outer-spin-button,
.wrap .container form input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.wrap .container form input[type=number] {
  -moz-appearance: textfield;
}
.wrap .error {
  padding: 1em;
  background: #c91111;
  font-size: 1.1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #ffffff;
}
.wrap .error span {
  text-transform: none;
  display: block;
  margin-top: 0.5em;
}
.wrap .error a {
  color: #ffffff;
  text-decoration: underline;
}
.wrap .error a:hover {
  color: #f2f2f2;
  text-decoration: none;
}
.welcome {
  text-align: center;
  text-transform: uppercase;
  color: #a6a6a6;
  font-size: 0.8em;
}
.welcome h2 {
  margin-top: 0;
  font-size: 1.4em;
  color: #262626;
  text-transform: none;
}
.user {
  text-align: center;
}
.user .avatar {
  width: 75px;
  margin: auto;
  border-radius: 50%;
  height: 75px;
  border: 2px solid #a6a6a6;
  overflow: hidden;
}
.user .avatar img {
  width: 75px;
}
.user h3.username {
  margin-top: 0.5rem;
  font-size: 1em;
  margin-bottom: 3rem;
}
.user p.usermail {
  margin-top: 0.5rem;
  color: #808080;
}
.user .session {
  padding: 1rem;
  color: #4a9b17;
  font-weight: 600;
  margin-bottom: 1rem;
  text-transform: uppercase;
}
.user .alert {
  padding: 0;
  position: relative;
  margin: 2rem 0 3rem;
}
.user .alert .alert-header {
  padding: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: flex;
  justify-content: center;
  align-items: center;
}
.user .alert .alert-header h2 {
  font-size: 1.1rem;
  color: #ffffff;
}
.user .alert .alert-header i {
  font-size: 1.1rem;
  color: #ffffff;
  padding: 0.5rem;
}
.user .alert .alert-info {
  padding: 2rem;
}
.user .alert .alert-info h3 {
  font-size: 1.5rem;
  text-align: center;
}
.user .alert .alert-info .alert-box {
  margin: .6rem auto;
  padding: .5rem;
  display: table;
  clear: both;
  border-radius: 5px;
  background: #eeeeee;
  font-weight: 600;
}
.user .alert a {
  display: block;
  width: 100%;
  padding: 1rem;
  margin-top: .5rem;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 2px;
  border: 1px solid #3f8514;
  color: #3f8514;
  text-align: center;
}
.user .alert a:hover {
  text-decoration: none;
  background: #3f8514;
  color: #ffffff;
}
.user .alert p {
  padding: 0 1rem;
}
.user .alert.red {
  border: 1px solid #ff4941;
  border-radius: 2px;
}
.user .alert.red .alert-header {
  background-color: #ff4941;
}
.user .alert.red .alert-header a {
  color: #ffffff;
  text-decoration: underline;
}
.user .alert.red .alert-header a:hover {
  color: #f2f2f2;
  text-decoration: none;
}
.user .alert.yellow {
  border: 1px solid #ffb254;
  border-radius: 2px;
}
.user .alert.yellow .alert-header {
  background-color: #ffb254;
}
.h-captcha {
  margin-bottom: 2em;
}
.providers a {
  border: 1px solid #d9d9d9;
  padding: 1em;
  margin-bottom: 0.75em;
  display: block;
  border-radius: 2px;
  font-size: 0.9em;
  color: #595959;
}
.providers a:hover {
  text-decoration: none;
  color: #0069d6;
  border: 1px solid #a6a6a6;
}
.providers a i {
  font-size: 1.5em;
  float: left;
  line-height: 0.8;
}
.providers a i.icon-apple {
  color: #000;
}
.account-list {
  border: 1px solid #d9d9d9;
  height: 120px;
  overflow-x: auto;
}
.account-list .account-item {
  padding: 0.25rem 1rem;
}
.account-list .account-item label small {
  font-size: 0.8em;
  margin-top: -1rem;
  display: block;
}
.account-list .account-item.account-selected {
  background-color: #f2f2f2;
}
.account-list .account-item.account-selected label {
  color: #4a9b17;
}
.account-list .account-item.account-selected label small {
  color: #808080;
}
footer {
  max-width: 420px;
  background: none;
  border: none;
  margin: auto;
  font-size: 0.9em;
  text-align: center;
}
footer ul.inline li {
  display: inline-block;
  padding: 0 .45em;
}
footer ul.inline li:first-child {
  padding: 0 .45em 0 0;
}
footer ul.inline li a {
  color: #808080;
  text-transform: none;
}
footer ul.inline li a:hover {
  color: #595959;
  text-decoration: none;
}
footer .language {
  float: right;
  text-align: right;
}
footer .language a {
  display: inline-block;
  text-align: center;
  margin-left: 0.5rem;
  width: 1.6rem;
  height: 1.6rem;
  line-height: 1.5rem;
  border-radius: 50%;
  border: 1px solid #a6a6a6;
  color: #a6a6a6;
  font-size: 0.7rem;
  margin-top: 0.2rem;
}
footer .language a:hover {
  text-decoration: none;
}
footer .language a.selected {
  background-color: #a6a6a6;
  color: #ffffff;
  cursor: auto;
}
@media screen and (max-width: 640px) {
  .wrap form input[type=text],
  .wrap form input[type=number],
  .wrap form input[type=password] {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 480px) {
  body {
    background-color: #ffffff;
  }
  .wrap {
    vertical-align: initial;
    display: initial;
  }
  .wrap .container {
    padding: 1em;
    border: none;
  }
  .wrap footer {
    padding: 0 1em;
    border-top: 1px solid #f2f2f2;
  }
  .wrap footer ul {
    text-align: center;
  }
  .wrap footer ul.inline li {
    float: none;
  }
  .wrap footer .language {
    float: none;
    text-align: center;
  }
  .wrap .providers {
    margin-bottom: 1.5em;
  }
  .wrap form input[type=text],
  .wrap form input[type=number],
  .wrap form input[type=password] {
    margin-bottom: 0.5em;
  }
}
