.text-grey {
  color: #656256;
}

.text-blue {
  color: #1E395E;
}

.text-primary {
  color: #1E395E;
}

.text-light-blue {
  color: #4c678f;
}

.text-green {
  color: #1A936F;
}

.text-red {
  color: #E03616;
}

.text-danger {
  color: #E03616;
}

.text-sand {
  color: #E0C879;
}

.text-orange {
  color: #cca100;
}

.btn-container {
  margin: 20px 0;
}

button, .btn {
  cursor: pointer;
  color: #000;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 0.95rem;
  line-height: 20px;
  font-weight: 600;
  padding: 10px 30px;
  border: 2px solid;
  border-radius: 3px;
  background: #E1E1E1;
  border-color: #E1E1E1;
  text-align: center;
  transition: background ease-in-out 0.15s, border ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
button:focus, button:hover, .btn:focus, .btn:hover {
  background: #c8c8c8;
  border-color: #c8c8c8;
  box-shadow: 1px 3px 5px 1px rgba(0, 0, 0, 0.1);
}
button.btn--big, .btn.btn--big {
  font-size: 1.333rem;
  line-height: 25px;
  padding: 15px 40px;
}
button.btn--big span[class*=symbols], .btn.btn--big span[class*=symbols] {
  font-size: 30px;
}
button.btn--small, .btn.btn--small {
  font-size: 0.85rem;
  padding: 5px 20px;
}
button.btn--small span[class*=symbols], .btn.btn--small span[class*=symbols] {
  font-size: 18px;
}
button.btn--mini, .btn.btn--mini {
  font-size: 0.75rem;
  padding: 2px 10px;
}
button.btn--mini span[class*=symbols], .btn.btn--mini span[class*=symbols] {
  font-size: 12px;
}
button.btn--narrow, .btn.btn--narrow {
  padding-left: 10px;
  padding-right: 10px;
}
button.btn--w-100, .btn.btn--w-100 {
  width: 100%;
}
button.btn--primary, .btn.btn--primary {
  background: #1E395E;
  border-color: #1E395E;
  color: #FFF;
}
button.btn--primary:focus, button.btn--primary:hover, .btn.btn--primary:focus, .btn.btn--primary:hover {
  background: #182d4b;
  border-color: #182d4b;
}
button.btn--green, .btn.btn--green {
  background: #1A936F;
  border-color: #1A936F;
  color: #FFF;
}
button.btn--green:focus, button.btn--green:hover, .btn.btn--green:focus, .btn.btn--green:hover {
  background: #167d5f;
  border-color: #167d5f;
}
button.btn--red, .btn.btn--red {
  background: #E03616;
  border-color: #E03616;
  color: #FFF;
}
button.btn--red:focus, button.btn--red:hover, .btn.btn--red:focus, .btn.btn--red:hover {
  background: #c93014;
  border-color: #c93014;
}
button.btn--black, .btn.btn--black {
  background: #222;
  border-color: #222;
  color: #FFF;
}
button.btn--black:focus, button.btn--black:hover, .btn.btn--black:focus, .btn.btn--black:hover {
  background: #2f2f2f;
  border-color: #2f2f2f;
}
button[disabled], .btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
button span[class*=symbols], .btn span[class*=symbols] {
  margin: -3px 5px -3px -4px;
}

a.btn {
  text-decoration: none;
}

.control-group {
  margin-bottom: 15px;
}
.control-group--less-margin {
  margin-bottom: 10px;
}

label {
  display: block;
  margin-bottom: 5px;
  font-weight: 700;
  max-width: 300px;
}
label.label-checkbox, label.label-radio {
  margin-bottom: 7.5px;
  font-weight: 400;
  display: table;
  max-width: 100%;
}
label .note {
  font-weight: 400;
}
label.label--w-100 {
  max-width: 100%;
}
label .label__required__mark {
  color: #E03616;
  font-weight: bold;
}

input, select, textarea {
  box-sizing: border-box;
  background: #FFF;
  border: 1px solid #8E8E8E;
  border-radius: 3px;
  font-size: 1rem;
  padding: 10px 10px;
  width: 300px;
}
input:focus, select:focus, textarea:focus {
  outline: 2px solid #1E395E;
}
input[readonly], select[readonly], textarea[readonly] {
  background: #CCC;
  color: #464646;
}

textarea {
  height: 80px;
}

.input--w-100, .select--w-100, .textarea--w-100 {
  width: 100%;
}
.input--w-sm, .select--w-sm, .textarea--w-sm {
  width: 150px;
}
.input--w-md, .select--w-md, .textarea--w-md {
  width: 300px;
}
.input--w-xsm, .select--w-xsm, .textarea--w-xsm {
  width: 110px;
}
.input--w-lg, .select--w-lg, .textarea--w-lg {
  width: 500px;
}
.input--w-xl, .select--w-xl, .textarea--w-xl {
  width: 700px;
}
.input--sm, .select--sm, .textarea--sm {
  padding: 5px;
}
.input--sm[multiple], .select--sm[multiple], .textarea--sm[multiple] {
  height: 29px;
}
.input--lg, .select--lg, .textarea--lg {
  padding: 12.5px;
  font-size: 1.2rem;
}
.input--code, .select--code, .textarea--code {
  font-family: Terminal, Consolas, monospace;
}

.option--bold {
  font-weight: bold;
}

.textarea--h-lg {
  height: 120px;
}
.textarea--h-xl {
  height: 160px;
}

input[type=checkbox], input[type=radio] {
  width: auto;
  margin: 0 5px 0 0;
}

input[type=color] {
  width: 100px;
  padding: 0;
}

::-moz-color-swatch, ::-webkit-color-swatch {
  border: 0;
}

.color-display {
  display: block;
  border: 1px solid #999;
  margin: auto;
  height: 25px;
  width: 25px;
}

.note {
  display: block;
  margin-top: 5px;
}
.note.note--horizontal {
  display: inline-block;
  margin-left: 5px;
  margin-top: 0;
}

.form-actions {
  margin-top: 30px;
}

.form--horizontal, .form--inline {
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 40px;
       column-gap: 40px;
  row-gap: 15px;
  justify-content: start;
  align-items: end;
}

.form__filters {
  display: grid;
  row-gap: 10px;
}
.form__filters .control-group--horizontal, .form__filters .control-group--inline {
  margin-bottom: 0;
}
.form__filters button, .form__filters a.btn {
  font-size: 0.9rem;
  line-height: 15px;
}

.control-group--inline {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.control-group--inline label {
  margin-right: 15px;
  margin-bottom: 0;
}
.control-group--inline button, .control-group--inline a.btn {
  padding: 5px 15px;
}

.control-group--horizontal {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.control-group--horizontal label {
  margin-right: 15px;
  margin-bottom: 0;
  width: 150px;
}
.control-group--horizontal button, .control-group--horizontal a.btn {
  padding: 5px 15px;
}

.controls--block {
  border: 1px solid #999;
  border-radius: 3px;
  display: inline-block;
  padding: 5px 5px 5px 10px;
}

/* Select2 overrides */
.select2-container .select2-search--inline .select2-search__field {
  font-family: "Roboto";
  font-size: 1rem;
  min-width: 0.75em;
  max-width: 95%;
  margin: 10px 0 0 0;
}
.select2-container .select2-selection {
  border: 1px solid #8E8E8E;
  border-radius: 3px;
}
.select2-container .select2-selection .select2-selection__rendered {
  color: #000;
  padding: 10px;
  line-height: 20px;
  font-size: 1rem;
}
.select2-container .select2-selection--single {
  min-height: 40px;
}
.select2-container .select2-selection--single .select2-selection__arrow {
  height: 100%;
}
.select2-container .select2-selection--single .select2-selection__clear {
  margin-right: 25px;
  padding: 0 5px;
  height: 100%;
  font-size: 1.2rem;
}
.select2-container .select2-selection--single .select2-selection__clear:hover {
  box-shadow: none;
}
.select2-container .select2-selection--multiple {
  min-height: 40px;
  padding-left: 8px;
  border-radius: 3px;
}
.select2-container .select2-selection--multiple .select2-selection__rendered {
  margin: 0;
  padding: 0;
  position: relative;
  top: 2px;
}
.select2-container .select2-selection--multiple .select2-selection__choice {
  margin-left: 0;
  margin-right: 5px;
  background-color: #EAEAEA;
  border-color: #8E8E8E;
}
.select2-container--default .select2-selection--multiple {
  padding-bottom: 4px;
}
.select2-container .select2-dropdown {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  border-color: #8E8E8E;
}
.select2-container.select2-container--open .select2-selection {
  outline: 2px solid #1E395E;
}
.select2-container .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: #E1E1E1;
  color: #000;
}
.select2-container .select2-results__option--selected {
  background-color: #E1E1E1;
  color: #000;
}

select.select--sm + .select2-container .select2-selection, select.select--sm + .select2-container .select2-selection--multiple, input.input--sm + .select2-container .select2-selection, input.input--sm + .select2-container .select2-selection--multiple {
  min-height: 29px;
  padding-left: 5px;
}
select.select--sm + .select2-container .select2-selection .select2-selection__rendered, select.select--sm + .select2-container .select2-selection--multiple .select2-selection__rendered, input.input--sm + .select2-container .select2-selection .select2-selection__rendered, input.input--sm + .select2-container .select2-selection--multiple .select2-selection__rendered {
  font-size: 0.9rem;
  top: 0;
}
select.select--sm + .select2-container .select2-selection .select2-selection__rendered li, select.select--sm + .select2-container .select2-selection--multiple .select2-selection__rendered li, input.input--sm + .select2-container .select2-selection .select2-selection__rendered li, input.input--sm + .select2-container .select2-selection--multiple .select2-selection__rendered li {
  margin-top: 2.5px;
}
select.select--sm + .select2-container .select2-selection .select2-search--inline .select2-search__field, select.select--sm + .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field, input.input--sm + .select2-container .select2-selection .select2-search--inline .select2-search__field, input.input--sm + .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
  margin-top: 5px;
}
select.select--sm + .select2-container .select2-selection .select2-selection__choice__remove, select.select--sm + .select2-container .select2-selection--multiple .select2-selection__choice__remove, input.input--sm + .select2-container .select2-selection .select2-selection__choice__remove, input.input--sm + .select2-container .select2-selection--multiple .select2-selection__choice__remove {
  height: 20px;
}

body {
  background: #EAEAEA;
}

.alert {
  width: 400px;
  margin: 20px auto;
}

#login-logo {
  width: 400px;
  margin: 100px auto 20px;
  text-align: center;
}
#login-logo img {
  width: 70%;
}

#login-title {
  width: 400px;
  margin: 20px auto;
  text-align: center;
  font-size: 1.777rem;
  line-height: 40px;
  font-weight: 600;
}

#login {
  width: 400px;
  margin: 20px auto 50px;
  background: #FFF;
  padding: 20px;
  box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.05);
}
