html {
  position: relative;
  min-height: 100%; }

body {
  font-family: 'Catamaran', sans-serif;
  font-weight: 100; }
  @media (max-width: 767px) {
    body {
      padding: 0 15px; } }

i.fa, i.fa::before {
  font-weight: 100;
  opacity: 0.9; }

h1, h2, strong {
  font-weight: 300; }

.lead {
  font-weight: 100; }

a[ng-click] {
  cursor: pointer; }

sup {
  top: -0.3em; }

small {
  font-size: 88%; }

button i.fa {
  position: relative;
  top: 4px;
  margin-top: -7px;
  opacity: 0.6;
  font-size: 160%; }
  button i.fa.fa-angle-left {
    padding-right: 6px;
    margin-left: -4px; }
  button i.fa.fa-angle-right {
    padding-left: 6px;
    margin-right: -4px; }

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-bottom: 0 !important; }
  select.ng-empty {
    color: #999; }
    select.ng-empty option {
      color: #333333; }
      select.ng-empty option:disabled {
        color: #999; }

@-moz-document url-prefix() {
  select {
    margin: -5px 0 5px -4px; } }

@media (min-width: 768px) {
  .modal-dialog {
    width: 85%; } }

.padding-top {
  padding-top: 15px; }

.padding-left {
  padding-left: 15px; }

.logo {
  width: 150px;
  height: 37px;
  float: right;
  margin: 30px 0 20px;
  background: url(../img/logo.png) no-repeat top left;
  background-size: contain; }
  @media (max-width: 991px) {
    .logo {
      margin: 20px 0 10px; } }

#ngProgress {
  color: #2f7fd6 !important;
  background-color: #2f7fd6 !important;
  -webkit-box-shadow: none;
  box-shadow: none; }

body.bienvenida, body.validado, body.terminado {
  background: url("../img/fondo-bienvenida.jpg") no-repeat fixed center;
  background-size: cover;
  color: #ffffff; }
  body.bienvenida #vista, body.validado #vista, body.terminado #vista {
    position: fixed;
    top: 50%;
    width: 100%;
    transform: translateY(-50%); }
    body.bienvenida #vista img, body.validado #vista img, body.terminado #vista img {
      max-width: 200px;
      margin-top: 1em; }
      body.bienvenida #vista img.margin-bottom, body.validado #vista img.margin-bottom, body.terminado #vista img.margin-bottom {
        margin-top: 0;
        margin-bottom: 4em; }
    body.bienvenida #vista button, body.validado #vista button, body.terminado #vista button {
      margin-top: 25px;
      background: transparent;
      color: inherit;
      border: 1px solid #fff;
      transition: 0.15s ease; }
      body.bienvenida #vista button:hover, body.validado #vista button:hover, body.terminado #vista button:hover {
        background: rgba(255, 255, 255, 0.25);
        transition: 0.25s ease; }
    @media (max-width: 767px) {
      body.bienvenida #vista, body.validado #vista, body.terminado #vista {
        width: 90%;
        margin: 0 auto; }
        body.bienvenida #vista h1, body.validado #vista h1, body.terminado #vista h1 {
          font-size: 32px; } }

body.validado {
  background-image: url("../img/fondo-validado.jpg"); }

body.registro, body.registro-post, body.informacion {
  background: #ffffff no-repeat bottom center;
  background-size: 50%; }
  @media (min-width: 1200px) {
    body.registro, body.registro-post, body.informacion {
      background-size: 800px;
      padding-bottom: 50px; } }
  body.registro #vista, body.registro-post #vista, body.informacion #vista {
    margin-bottom: calc(20vw + 50px); }

body.registro {
  background-image: url(../img/registro-app.png); }

body.registro-post {
  background-image: url(../img/registro-app.png); }
  body.registro-post #vista button {
    margin-top: 30px; }
    @media (min-width: 768px) {
      body.registro-post #vista button {
        margin-right: 400px; } }

body.informacion {
  background-image: url(../img/estaciones-terreno.png); }
  body.informacion .heading {
    padding-top: 10px; }

#formulario .captcha {
  margin-right: 30px; }
  @media (max-width: 991px) {
    #formulario .captcha {
      margin-bottom: 15px; } }
  @media (min-width: 992px) {
    #formulario .captcha {
      float: left; } }

#formulario form fieldset {
  padding-top: 10px;
  padding-bottom: 20px; }
  #formulario form fieldset.no-padding-bottom {
    padding-bottom: 0; }

#formulario form .form-group {
  border-bottom: 1px solid #ccc; }
  #formulario form .form-group.has-error {
    border-bottom-color: #c77270; }
  #formulario form .form-group.no-border-bottom {
    border-bottom-width: 0; }
  #formulario form .form-group.pull-left {
    margin-left: 0; }
  #formulario form .form-group .control-label {
    text-align: left;
    font-weight: 100; }
    @media (min-width: 768px) {
      #formulario form .form-group .control-label {
        padding-left: 27px; }
        #formulario form .form-group .control-label:first-of-type {
          padding-left: 15px; } }
    #formulario form .form-group .control-label.requerido::after {
      content: '*';
      position: relative;
      top: -1px;
      left: 4px;
      color: #a94442; }
  #formulario form .form-group p {
    padding-left: 15px; }
  @media (max-width: 767px) {
    #formulario form .form-group > div {
      padding-left: 0; } }

#formulario form .form-control {
  background: transparent;
  border: 0;
  box-shadow: none;
  font-size: 20px; }
  #formulario form .form-control.otro {
    margin-top: 4px;
    margin-left: 23px; }

#formulario form .checkbox {
  margin-left: 15px;
  padding-bottom: 4px; }
  #formulario form .checkbox input {
    z-index: -1; }
  #formulario form .checkbox .control-label::before {
    border-radius: 50%; }
  @media (min-width: 768px) {
    #formulario form .checkbox .control-label::after {
      top: 6px; } }

#formulario form button {
  margin-bottom: 10px; }
