.d-flex {
  display: flex;
}

.justify-center {
  justify-content: center;
}

.align-center {
  align-items: center;
}

.d-block {
  display: block;
}

.status-success {
  color: #00C851;
}
.status-primary {
  color: #0f5188;
}
.status-danger {
  color: #ff4444;
}

.form-group {
  margin-bottom: 0;
}

input:not([type]):focus:not([readonly]),
input[type=text]:not(.browser-default):focus:not([readonly]),
input[type=password]:not(.browser-default):focus:not([readonly]),
input[type=email]:not(.browser-default):focus:not([readonly]),
input[type=url]:not(.browser-default):focus:not([readonly]),
input[type=time]:not(.browser-default):focus:not([readonly]),
input[type=date]:not(.browser-default):focus:not([readonly]),
input[type=datetime]:not(.browser-default):focus:not([readonly]),
input[type=datetime-local]:not(.browser-default):focus:not([readonly]),
input[type=tel]:not(.browser-default):focus:not([readonly]),
input[type=number]:not(.browser-default):focus:not([readonly]),
input[type=search]:not(.browser-default):focus:not([readonly]),
textarea.materialize-textarea:focus:not([readonly]) {
  border-bottom: 1px solid #0f5188 !important;
  box-shadow: 0 1px 0 0 #0f5188 !important;
}

label.active {
  color: #0f5188 !important;
}

.btn, .btn-large, .btn-small {
  background-color: unset;
  background: linear-gradient(to right, #0f5188, #177acd, #177acd);
  background-size: 200% 200%;
  background-position: 0% 50%;
}
.btn:hover, .btn-large:hover, .btn-small:hover {
  background-position: 100% 50%;
}

#app {
  min-height: 100vh;
}

.card-image.bg-auth {
  background: linear-gradient(to right, #177acd, #0f5188);
  color: white;
  padding: 1rem 2rem;
}
.card-image.bg-auth hgroup h2 {
  font-size: 2rem;
}
.card-image.bg-auth hgroup h5 {
  font-size: 1.4rem;
}

.card.horizontal {
  flex-direction: column-reverse;
}
.card.horizontal .card-image {
  max-width: 100%;
}

.logo {
  filter: invert(85%);
}
