/*
 * Base structure
 */

/* Move down content because we have a fixed navbar that is 3.5rem tall */
body {
  padding-top: 3.5rem;
}

body.please-wait::before {
    content: 'Please wait...';
    position: fixed;
    left: 0;
    display: block;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 10000;
    font-weight: 500;
    font-size: 4vw;
    text-align: center;
    line-height: 100vh;
}

/*
 * Typography
 */

h1 {
  margin-bottom: 20px;
  padding-bottom: 9px;
  border-bottom: 1px solid #eee;
}

.no-transition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

.navbar-brand {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTU1IiB3aWR0aD0iNjEyLjIiIHZpZXdCb3g9IjAgMCA2MTIuMTk5OTkgMTU1Ij48ZyBmaWxsPSIjZmZmIj48cGF0aCBkPSJNMjcwIDEyMC4xVjU0LjhoLS4ybC0yMS4zIDY1LjNoLTE0LjFsLTIxLjItNjUuM2gtLjJ2NjUuM2gtMTRWNDEuOGgyMy42bDE4LjcgNTguOWguM2wxOC43LTU4LjlIMjg0djc4LjNoLTE0ek0zNTAuNSA4OS4xYzAgMTguMy0xMS4yIDMyLjMtMzAuMiAzMi4zcy0zMC4yLTEzLjktMzAuMi0zMi4zYzAtMTguNyAxMy4zLTMzIDMwLjItMzMgMTcgMCAzMC4yIDE0LjQgMzAuMiAzM3ptLTQ3IC4xYzAgMTEuNSA2LjMgMTkuNyAxNi43IDE5LjcgMTAuNyAwIDE2LjktOC41IDE2LjktMTkuOSAwLTEwLjctNi40LTIwLjYtMTYuOC0yMC42LTEwLjMgMC0xNi44IDkuOS0xNi44IDIwLjh6TTQ0NC43IDc3LjR2NDIuN2gtMTMuNFY4Mi45YzAtMTAtMy42LTE0LjQtMTAuNC0xNC40LTguMyAwLTEzLjUgNy4zLTEzLjUgMTguNXYzMy4ySDM5NFY4Mi44YzAtOS44LTMuNC0xNC4zLTEwLjItMTQuMy04LjUgMC0xMy42IDcuMy0xMy42IDE4LjV2MzMuMmgtMTMuNVY1Ny42aDExLjJsLjkgOC4zaC40YzMuOC02IDguOS05LjYgMTcuOS05LjYgOS4xIDAgMTQuNyA1IDE3LjIgMTFoLjNjMy02LjIgOS44LTExIDE5LTExIDE1LjQtLjIgMjEuMSAxMCAyMS4xIDIxLjF6TTUwOC41IDg4LjJjMCAxLjktLjEgNC42LS4xIDQuNmgtNDMuOGMuMiA5LjIgNi43IDE2LjEgMTYuMyAxNi4xIDguMyAwIDE1LTUuOCAxNy45LTEwLjRoLjdsNiAxMmMtMy4yIDQuNy0xMi4zIDExLTI0LjYgMTEtMTguNyAwLTMwLjEtMTMuMi0zMC4xLTMyLjUgMC0xOS41IDEzLTMyLjggMjkuMS0zMi44IDE2LjItLjEgMjguNiAxMi45IDI4LjYgMzJ6bS00My42LTZoMjkuNmMtLjYtNy4yLTUuOS0xMy44LTE0LjctMTMuOC04LjggMC0xMy45IDcuMy0xNC45IDEzLjh6TTU2OC41IDc4LjR2NDEuN2gtMTMuNHYtMzhjMC04LjktMy44LTEzLjYtMTEuNi0xMy42LTkuMyAwLTE1LjMgNy41LTE1LjMgMTkuNXYzMi4yaC0xMy41VjU3LjZoMTEuMmwuOSA4LjNoLjNjNC01LjkgMTAuNS05LjYgMTktOS42IDE1LjItLjIgMjIuNCAxMC4xIDIyLjQgMjIuMXpNNjEyLjIgNTcuNXYxMi4zaC0xNy45djMyLjhjMCAzLjkgMS43IDUuMyA0LjUgNS4zczUuOC0xLjYgNy44LTNoLjdsMy4yIDEyLjljLTIuNyAxLjgtOC40IDMuOC0xNCAzLjgtOC40IDAtMTUuNy00LjYtMTUuNy0xNS40VjY5LjhoLTEwLjFWNjJjOC4xLTMuNSAxMi45LTExLjEgMTUuMy0yMC4xaDguMXYxNS43aDE4LjF6TTc3LjUgMEMzNC44IDAgMCAzNC44IDAgNzcuNVMzNC44IDE1NSA3Ny41IDE1NSAxNTUgMTIwLjIgMTU1IDc3LjUgMTIwLjIgMCA3Ny41IDB6TTEzMyAzMC44YzUuNCA2LjUgOS44IDEzLjkgMTIuNyAyMmwtMTcuOCA1LjhjLTIuMS01LjYtNS4xLTEwLjctOC44LTE1LjJMMTMzIDMwLjh6bS01NS41IDk1LjhjLTI3LjEgMC00OS4xLTIyLTQ5LjEtNDkuMXMyMi00OS4xIDQ5LjEtNDkuMSA0OS4xIDIyIDQ5LjEgNDkuMS0yMiA0OS4xLTQ5LjEgNDkuMXptNTIuMy05OS41bC05LjggOC44LTQuMSAzLjdjLTQuMS00LjEtOC45LTcuNi0xNC4xLTEwLjNsNy42LTE3LjFjNy42IDMuOCAxNC41IDguOSAyMC40IDE0Ljl6bS0yNS0xNi45bC03LjYgMTcuMWMtNS4zLTIuMS0xMS4xLTMuNC0xNy4xLTMuN1Y0LjljOC43LjQgMTcgMi4yIDI0LjcgNS4zek03NS4xIDQuOXYxOC43Yy02IC4zLTExLjggMS41LTE3LjIgMy42bC03LjYtMTcuMWM3LjctMyAxNi00LjkgMjQuOC01LjJ6bS0yOS4zIDcuM2w3LjYgMTcuMWMtNS4zIDIuNy0xMC4xIDYuMi0xNC4yIDEwLjRMMjUuMyAyNy4yYzUuOC02LjIgMTIuOC0xMS4yIDIwLjUtMTV6TTIyIDMwLjhsMTMuOSAxMi41Yy0zLjcgNC41LTYuNyA5LjctOC44IDE1LjJMOS4zIDUyLjdjMi45LTggNy4yLTE1LjUgMTIuNy0yMS45ek00LjkgNzcuNWMwLTcgMS0xMy43IDIuOC0yMC4xbDE3LjggNS44Yy0xLjMgNC42LTEuOSA5LjQtMS45IDE0LjMgMCAxLjEgMCAyLjEuMSAzLjJsLTE4LjYgMmMtLjItMS43LS4yLTMuNC0uMi01LjJ6bS43IDEwLjFsMTguNi0yYy45IDUuOSAyLjggMTEuNSA1LjQgMTYuN2wtMTYuMiA5LjNjLTMuOS03LjMtNi42LTE1LjQtNy44LTI0ek0xNS45IDExNmwxNi4yLTkuM2MzLjIgNC45IDcuMSA5LjMgMTEuNyAxM2wtMTEgMTUuMWMtNi42LTUuMi0xMi40LTExLjYtMTYuOS0xOC44em0yMSAyMS44bDExLTE1LjFjNC44IDMuMiAxMC4yIDUuNiAxNiA3LjFMNjAgMTQ4LjFjLTguMy0yLjEtMTYuMS01LjYtMjMuMS0xMC4zem00MC42IDEyLjRjLTQuMyAwLTguNS0uNC0xMi42LTEuMWwzLjktMTguM2MyLjguNSA1LjcuNyA4LjcuNyAzIDAgNi0uMyA4LjgtLjdsMy45IDE4LjNjLTQuMS43LTguNCAxLjEtMTIuNyAxLjF6bTE3LjYtMi4ybC0zLjktMTguM2M1LjgtMS41IDExLjItNCAxNi03LjJsMTEgMTUuMWMtNyA0LjgtMTQuOCA4LjMtMjMuMSAxMC40em0yNy4xLTEzLjJsLTExLTE1LjFjNC42LTMuNyA4LjYtOC4xIDExLjgtMTMuMWwxNi4yIDkuM2MtNC42IDcuMy0xMC4zIDEzLjctMTcgMTguOXptMTkuNC0yMy4xbC0xNi4yLTkuM2MyLjctNS4yIDQuNi0xMC44IDUuNS0xNi44bDE4LjYgMmMtMS4yIDguNS00IDE2LjctNy45IDI0LjF6bS0xMC4yLTMxYy4xLTEgLjEtMi4xLjEtMy4yIDAtNS0uNy05LjgtMS45LTE0LjRsMTcuOC01LjhjMS45IDYuNCAyLjggMTMuMiAyLjggMjAuMSAwIDEuNy0uMSAzLjQtLjIgNS4xbC0xOC42LTEuOHoiIGNsYXNzPSJzdDAiLz48L2c+PC9zdmc+);
  background-size: 140px;
  background-repeat: no-repeat;
  background-position-y: 4px;
  display: block;
  height: 39px;
  width: 160px;
  padding: 0px 0 0 101px;
  font-size: 10px;
  font-weight: 500;
}

.navbar-brand::before {
    content: 'beta';
    position: absolute;
    color: red;
    margin: 0px 0 0 42px;
}

.navbar-status {
  color: white;
  text-align: right;
  position: absolute;
  right: 1rem;
}

.navbar-status .url {
  font-weight: 300;
  font-size: 0.8rem;
}

/* Disconnect is a POST form so it carries the CSRF token; styled to read as a link. */
.navbar-status .disconnect {
  color: white;
  font-weight: bold;
  padding: 0;
  border: none;
  vertical-align: baseline;
  text-decoration: none;
}

.navbar-status .disconnect:hover {
  color: white;
  text-decoration: underline;
}


/*
 * Sidebar
 */

.sidebar {
  position: fixed;
  top: 51px;
  bottom: 0;
  left: 0;
  z-index: 1000;
  padding: 20px;
  overflow-x: hidden;
  overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
  border-right: 1px solid #eee;
}

/* Sidebar navigation */
.sidebar {
  padding-left: 0;
  padding-right: 0;
}

.sidebar .nav {
  margin-bottom: 20px;
}

.sidebar .nav-item {
  width: 100%;
}

.sidebar .nav-item + .nav-item {
  margin-left: 0;
}

.sidebar .nav-link {
  border-radius: 0;
}

/*
 * Dashboard
 */

 /* Placeholders */
.placeholders {
  padding-bottom: 3rem;
}

.placeholder img {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

/* */
.sheet-table td, .sheet-table th {
  vertical-align: middle;
}

.sheet-table th {
  border-top: none;
}

.sheet-table tr.not_loaded,
.sheet-table tr.not_loaded a,
.sheet-table tr .logs a {
  color: #aaa;
}

.sheet-table tr.importing .logs a,
.sheet-table tr.done .logs a,
.sheet-table tr.error .logs a {
  color: #007bff;
}

.sheet-table tr.loaded.done {
  color: green;
}

.sheet-table tr.loaded.error {
  background-color: #f8d7da;
}

.not_loaded .custom-checkbox .custom-control-indicator {
  background-color: #fafafa;
}

.sheet-table thead .custom-checkbox {
  margin-bottom: 0;
}

.sheet-table tbody .custom-checkbox .custom-control-indicator {
  width: 1.5rem;
  height: 1.5rem;
}


.file-alert.stopped .spinner {
  display: none;
}

.file-alert.stopped .progress {
  opacity: 0.3;
}



/* Connect page. */
html.loginPage,
.loginPage body {
  height: 100%;
  background-color: #333;
}
.loginPage body {
  padding-top: 0;
  color: #fff;
  text-shadow: 0 .05rem .1rem rgba(0,0,0,.5);
}

/* Extra markup and styles for table-esque vertical and horizontal centering */
.loginPage .site-wrapper {
  display: table;
  width: 100%;
  height: 100%; /* For at least Firefox */
  min-height: 100%;
  -webkit-box-shadow: inset 0 0 5rem rgba(0,0,0,.5);
          box-shadow: inset 0 0 5rem rgba(0,0,0,.5);
}
.loginPage .site-wrapper-inner {
  display: table-cell;
  vertical-align: top;
}
.loginPage .cover-container {
  margin-right: auto;
  margin-left: auto;
}

/* Padding for spacing */
.loginPage .inner {
  padding: 2rem;
}

.loginPage .cover {
  padding: 0 1.5rem;
}

.loginPage .cover .btn-lg {
  padding: .75rem 1.25rem;
  font-weight: bold;
}

.loginPage .mastfoot {
  color: rgba(255,255,255,.5);
}

.loginPage .site-wrapper-inner {
  padding-top: 1em;
}

.modal-inverse .modal-content {
  background-color: #212529;
  color: white;
}

.modal-inverse .modal-content .modal-body {
  padding: 5px;
}

.modal-inverse .table thead tr:first-child th {
  border-top: none;
}

.modal-inverse .close {
  color: white;
}

.log-modal tbody td {
  word-break: break-word;
  white-space: pre-wrap;
}


.log-modal tbody tr.DEBUG {
  font-weight: 300;
}

.log-modal tbody tr.INFO {
  font-weight: 500;
}

.log-modal tbody tr.WARN {
  font-weight: 500;
  color: orange;
}

.log-modal tbody tr.ERROR {
  font-weight: 500;
  color: red;
}


@media (min-width: 40em) {
  /* Pull out the header and footer */
  .loginPage .masthead {
    position: fixed;
    top: 0;
  }
  .loginPage .mastfoot {
    position: fixed;
    bottom: 0;
  }
  /* Start the vertical centering */
  .loginPage .site-wrapper-inner {
    vertical-align: middle;
    padding-top: 0;
  }
  /* Handle the widths */
  .loginPage .masthead,
  .loginPage .mastfoot,
  .loginPage .cover-container {
    width: 100%; /* Must be percentage or pixels for horizontal alignment */
  }
}

@media (min-width: 62em) {
  .loginPage .masthead,
  .loginPage .mastfoot,
  .loginPage .cover-container {
    width: 42rem;
  }
}

@media (min-width: 992px) {
  .modal-lg {
    max-width: 2000px;
    width: 80vw;
  }
}
