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

body {
  margin-bottom: 80px !important; /* Margin bottom by footer height */
}
body > .container {
  padding: 80px 15px 0;
}

input[type=number] {
  -moz-appearance: textfield; /* Remove controls from Firefox */
}
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; /* Remove controls from Safari and Chrome */
  margin: 0; /* Removes leftover margin */
}

input[type="date"] {
  position: relative;
}
input[type="date"]:before {
  content: attr(placeholder);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  color: #212529;
  pointer-events: none;
  line-height: 1.5;
  padding: 0.375rem 0.75rem;
}
input[type="date"]:focus:before,
input[type="date"]:not([value=""]):before
{
  display: none;
}

.dropdown-toggle::after {
  vertical-align: 0.1em;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 60px; /* Set the fixed height of the footer here */
  line-height: 60px; /* Vertically center the text there */
  background-color: #f5f5f5;
}
.footer > .container {
  padding-right: 15px;
  padding-left: 15px;
}

.avatar-selector input {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}

.avatar-selector input:active +.avatar-icon {
  opacity: .9;
}

.avatar-selector input:checked +.avatar-icon {
  -webkit-filter: none;
  -moz-filter: none;
  filter: none;
}

.avatar-icon {
  cursor:pointer;
  -webkit-transition: all 100ms ease-in;
  -moz-transition: all 100ms ease-in;
  transition: all 100ms ease-in;
  -webkit-filter: brightness(1.8) grayscale(1) opacity(.7);
  -moz-filter: brightness(1.8) grayscale(1) opacity(.7);
  filter: brightness(1.8) grayscale(1) opacity(.7);
}

.avatar-icon:hover {
  -webkit-filter: brightness(1.2) grayscale(.5) opacity(.9);
  -moz-filter: brightness(1.2) grayscale(.5) opacity(.9);
  filter: brightness(1.2) grayscale(.5) opacity(.9);
}

