﻿/*
@include response($media-small-mobile) {
}

@include response($media-medium-mobile) {
}

@include response($media-large-mobile) {
}

@include response($media-tablet) {
}

@include response($media-small-laptop) {
}

@include response($media-laptop) {
}

@include response($media-wide-laptop) {
}

@include response($media-4k) {
}
*/
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  border: 0; }

::selection {
  background-color: #005d85;
  color: #fff; }

ul {
  list-style: none; }

html {
  font-size: 62.5%; }

body {
  box-sizing: border-box;
  min-width: 20em;
  background: #65266D
  /*
    @include response($media-small-mobile) {
        background-color: $color-primary;
    }

    @include response($media-medium-mobile) {
        background-color: orange;
    }

    @include response($media-large-mobile) {
        background-color: green;
    }

    @include response($media-tablet) {
        background-color: blue;
    }

    @include response($media-small-laptop) {
        background-color: red
    }

    @include response($media-laptop) {
        background-color: yellow;
    }

    @include response($media-wide-laptop) {
        background-color: aqua;
    }

    @include response($media-4k) {
        background-color: deeppink;
    }
    */ }

table {
  border-collapse: collapse; }
  table td {
    border: 1px solid #005d85;
    padding: .5rem; }

@font-face {
  font-family: 'NexaSlab';
  src: url("../fonts/NexaSlab-Bold.eot");
  src: url("../fonts/NexaSlab-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/NexaSlab-Bold.woff2") format("woff2"), url("../fonts/NexaSlab-Bold.woff") format("woff"), url("../fonts/NexaSlab-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal; }

@font-face {
  font-family: 'NexaSlab';
  src: url("../fonts/NexaSlab-Light.eot");
  src: url("../fonts/NexaSlab-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/NexaSlab-Light.woff2") format("woff2"), url("../fonts/NexaSlab-Light.woff") format("woff"), url("../fonts/NexaSlab-Light.ttf") format("truetype");
  font-weight: 200;
  font-style: normal; }

@font-face {
  font-family: 'NexaSlab';
  src: url("../fonts/NexaSlab-Book.eot");
  src: url("../fonts/NexaSlab-Book.eot?#iefix") format("embedded-opentype"), url("../fonts/NexaSlab-Book.woff2") format("woff2"), url("../fonts/NexaSlab-Book.woff") format("woff"), url("../fonts/NexaSlab-Book.ttf") format("truetype");
  font-weight: 300;
  font-style: normal; }

body {
  font-family: "NexaSlab", sans-serif; }

.form input[type="email"],
.form input[type="password"] {
  font-family: "NexaSlab", sans-serif;
  font-weight: 400;
  font-size: 1.4rem; }

.form button {
  font-family: "NexaSlab", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  padding: 15px; }

.form label.error {
  color: #f00;
  font-size: 1.1rem; }

.lbl_form {
  font-family: "NexaSlab", sans-serif;
  color: #b3b3b3;
  font-weight: bold;
  font-size: 1.2rem; }
  .lbl_form a {
    color: #595959;
    text-decoration: none; }

.consent_text {
  font-family: "NexaSlab", sans-serif;
  color: #005d85;
  font-weight: bold;
  font-size: 1.2rem; }

.link_form {
  font-family: "NexaSlab", sans-serif;
  color: #b3b3b3;
  font-weight: bold;
  font-size: 1.2rem;
  color: #595959;
  text-decoration: none;
  cursor: pointer; }
  .link_form:hover {
    text-decoration: underline; }

.main__error--logo {
  color: #fff;
  font-size: 1.4rem; }

.main__error--content li {
  color: #fff;
  font-size: 1.2rem; }

.hide {
  display: none; }

.clear::after {
  content: "";
  display: table;
  clear: both; }

.justify {
  text-align: justify;
  text-justify: inter-word; }

.align-right {
  text-align: right !important; }

.loading {
  background-color: orange !important; }

.form {
  /*background-color: lightgreen;*/
  padding: 2.5rem;
  float: left;
  width: 100%; }
  @media only screen and (min-width: 26.56em) {
    .form--float {
      display: table-cell;
      float: none;
      width: 80%; } }
  .form__mail, .form__password, .form__submit, .form__connect {
    /*background-color: lightcoral;*/
    width: 100%;
    margin-bottom: 2rem; }
    .form__mail input[type="email"],
    .form__mail input[type="password"], .form__password input[type="email"],
    .form__password input[type="password"], .form__submit input[type="email"],
    .form__submit input[type="password"], .form__connect input[type="email"],
    .form__connect input[type="password"] {
      width: 100%;
      height: 4rem;
      padding-left: .5rem;
      padding-right: 4rem;
      border: 1px solid #757575; }
      .form__mail input[type="email"]:-webkit-autofill,
      .form__mail input[type="password"]:-webkit-autofill, .form__password input[type="email"]:-webkit-autofill,
      .form__password input[type="password"]:-webkit-autofill, .form__submit input[type="email"]:-webkit-autofill,
      .form__submit input[type="password"]:-webkit-autofill, .form__connect input[type="email"]:-webkit-autofill,
      .form__connect input[type="password"]:-webkit-autofill {
        /*background-color: white !important;
                -webkit-box-shadow: 0 0 0px 1000px white inset;*/
        /*-webkit-text-fill-color: red !important;*/ }
      .form__mail input[type="email"]:focus,
      .form__mail input[type="password"]:focus, .form__password input[type="email"]:focus,
      .form__password input[type="password"]:focus, .form__submit input[type="email"]:focus,
      .form__submit input[type="password"]:focus, .form__connect input[type="email"]:focus,
      .form__connect input[type="password"]:focus {
        outline: none;
        border: 1px solid #299fbb;
        -webkit-box-shadow: 0px 0px 5px #299fbb;
        box-shadow: 0px 0px 5px #299fbb; }
      .form__mail input[type="email"].error,
      .form__mail input[type="password"].error, .form__password input[type="email"].error,
      .form__password input[type="password"].error, .form__submit input[type="email"].error,
      .form__submit input[type="password"].error, .form__connect input[type="email"].error,
      .form__connect input[type="password"].error {
        border: 1px solid #f00; }
        .form__mail input[type="email"].error:focus,
        .form__mail input[type="password"].error:focus, .form__password input[type="email"].error:focus,
        .form__password input[type="password"].error:focus, .form__submit input[type="email"].error:focus,
        .form__submit input[type="password"].error:focus, .form__connect input[type="email"].error:focus,
        .form__connect input[type="password"].error:focus {
          outline: none;
          border: 1px solid #f00;
          -webkit-box-shadow: 0px 0px 5px #f00;
          box-shadow: 0px 0px 5px #f00; }
    .form__mail input[type="checkbox"], .form__password input[type="checkbox"], .form__submit input[type="checkbox"], .form__connect input[type="checkbox"] {
      width: 2rem;
      height: 2rem;
      vertical-align: middle;
      position: relative;
      bottom: 1px;
      margin-right: .5rem; }
    .form__mail button, .form__password button, .form__submit button, .form__connect button {
      width: 100%;
      height: 4rem; }
    .form__mail > label.error, .form__password > label.error, .form__submit > label.error, .form__connect > label.error {
      display: block;
      margin-top: .5rem; }
  .form__mail input {
    background-image: url(../img/mail.png);
    background-position: calc(100% - 1rem) 1rem;
    background-size: 1.8rem 1.8rem;
    background-repeat: no-repeat; }
  .form__password input {
    background-image: url(../img/password.png);
    background-position: calc(100% - 1rem) 1rem;
    background-size: 1.8rem 1.8rem;
    background-repeat: no-repeat; }
  .form__submit {
    margin-top: 2rem;
    margin-bottom: 0; }
    .form__submit button {
        background-color: #65266D;
        background-image: url(../img/submit.png);
        background-position: calc(100% - 1rem) 1rem;
        background-size: 1.8rem 1.8rem;
        background-repeat: no-repeat;
    }
      .form__submit button:hover {
        background-image: url(../img/submit-hover.png); }
  .form__connect {
    margin-top: 2rem;
    text-align: center;
    /*background-color: red;*/ }

.alternative {
  display: table;
  width: 100%; }
  .alternative__item {
    display: table-cell;
    width: 50%;
    padding: .5rem 0; }

.consent {
  background: #fff;
  -moz-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.8);
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.8);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.8);
  width: 100vw; }
  .consent--container {
    padding: 1rem; }
    .consent--container::after {
      content: "";
      display: table;
      clear: both; }
  .consent--text {
    float: left; }
    .consent--text img {
      vertical-align: bottom; }
    .consent--text span {
      margin-left: 1rem;
      display: inline-block;
      margin-top: 10px; }
  .consent--button {
    float: right; }
    .consent--button a {
      color: #fff;
      background-color: #299fbb;
      padding: .8rem 1rem;
      text-transform: uppercase;
      margin-left: 1rem;
      cursor: pointer;
      text-decoration: none; }
      .consent--button a:hover {
        text-decoration: underline; }
    .consent--button button {
      color: #fff;
      background-color: #299fbb;
      padding: .8rem 1rem;
      text-transform: uppercase;
      margin-left: 1rem;
      cursor: pointer; }
      .consent--button button:hover {
        text-decoration: underline; }

.header {
  margin-top: 3rem;
  margin-bottom: 2.5rem; }
  .header__logo {
    width: 20rem;
    margin: 0 auto; }

.main {
  margin: 0 auto;
  margin-bottom: 1rem; }
  @media only screen and (min-width: 26.56em) {
    .main {
      display: table; } }
  .main--full {
    width: 32rem; }
    @media only screen and (min-width: 26.56em) {
      .main--full {
        width: 40rem; } }
  .main--partial {
    width: 32rem; }
  .main--wide {
    width: 90vw; }
  .main__error {
    background-color: #CB2C30;
    padding: 1.5rem 1rem;
    margin-bottom: .8rem;
    width: 100%; }
    .main__error--logo {
      /*background-color: blue;*/ }
      .main__error--logo img {
        height: 2rem;
        vertical-align: middle; }
      .main__error--logo strong {
        margin-left: 1rem; }
    .main__error--content {
      /*background-color: forestgreen;*/
      border-radius: 5px; }
      .main__error--content ul {
        list-style: square;
        margin-top: .5rem;
        margin-left: 2rem; }
      .main__error--content li {
        padding-top: .5rem; }
  .main__content {
    border-radius: 5px;
    background-color: #fff;
    -moz-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
    -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24); }
    .main__content::after {
      content: "";
      display: table;
      clear: both; }

.sidebar {
  /*background-color: lightgray;*/
  background: rgba(0, 93, 133, 0.1);
  padding: 1rem 1rem;
  float: right;
  width: 100%; }
  @media only screen and (min-width: 26.56em) {
    .sidebar {
      display: table-cell;
      float: none;
      width: 20%;
      padding: 2.5rem 1.5rem; } }
  .sidebar__list {
    /*background-color: red;*/
    width: 100%;
    text-align: center; }
    .sidebar__list__icon {
      float: left; }
      @media only screen and (min-width: 26.56em) {
        .sidebar__list__icon {
          float: none !important; } }
    .sidebar__list .icon-external {
      margin-right: 1rem; }
      @media only screen and (min-width: 26.56em) {
        .sidebar__list .icon-external {
          margin-right: 0;
          margin-bottom: 2rem; } }
    .sidebar__list .icon-language {
      float: right !important;
      margin-top: 1rem; }
      @media only screen and (min-width: 26.56em) {
        .sidebar__list .icon-language {
          float: none !important; } }

.icon-azuread,
.icon-azureadoutros,
.icon-linkedin,
.icon-facebook,
.icon-apple,
.icon-google {
  width: 3.5rem;
  height: 3.5rem; }

.icon-azureadoutros,
.icon-azuread,
.icon-google,
.icon-apple {
  border-radius: 5px; }

.icon-pt,
.icon-en {
  width: 2rem;
  height: 2rem; }

@media only screen and (min-width: 20em) {
  .g-recaptcha {
    transform: scale(0.9);
    -webkit-transform: scale(0.9);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0; } }

@media only screen and (min-width: 26.56em) {
  .g-recaptcha {
    transform: scale(1);
    -webkit-transform: scale(1);
    transform-origin: 0 0;
    -webkit-transform-origin: 0 0; } }
