body {
  padding-top: 5rem;
}
.subhead {
  background: #e7e7e7;
  padding-top:    0px;
  padding-bottom: 4px;
}

.subhead li.nav-item {
    margin-right: 2px;
    margin-left: 2px;
}

table.dataTable.list { table-layout: fixed; }
table.dataTable.list td { text-overflow: ellipsis; }
table.dataTable.list th, table.dataTable.list td {padding: 5px 3px;font-size: 13px;overflow: hidden; }

.dataTables_filter {
}

.primary {
    min-width: 80px;
}

.sortable {
  list-style-type: none;
  padding: 0;
}

.sortable .errorlist {
  display: inline-block;
  list-style-type: none;
  padding: 0;
  color: red;
}

.sortable-chosen {
  background-color: #e7e7e7;
}

.sort-handle:hover {
  cursor: move;
  cursor: -webkit-grabbing;
}

/* Sticky footer styles
 * https://getbootstrap.com/docs/4.0/examples/sticky-footer/
 * -------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}
body {
    margin-bottom: 40px; /* Margin bottom by footer height */
}
.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 40px; /* Set the fixed height of the footer here */
    line-height: 40px; /* Vertically center the text there */
    /*background-color: #f5f5f5;*/
}

td.marked::after {
    content: "✔";
    margin-top: -11px;
    margin-left: 0px;  /*FIXME: was -4px */
    text-align: center;
    text-shadow: rgb(176, 190, 217) 1px 1px, rgb(176, 190, 217) -1px -1px, rgb(176, 190, 217) 1px -1px, rgb(176, 190, 217) -1px 1px;
}

summary {
    outline:none;
}

details.hdr {
    margin-top: 10px;
}

/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
}

/* Hide default HTML checkbox */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(16px);
  -ms-transform: translateX(16px);
  transform: translateX(16px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 20px;
}

.slider.round:before {
  border-radius: 50%;
}

#logo {
  width: 24px;
  height:24px;
  margin: 5px 3px 10px 0px;
}

#logo:hover {
  box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
}

.fa.spin {
    animation: spin 2s linear infinite;
}

@keyframes spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
}
