.demo{
    margin-bottom: -99999px;
    padding-bottom: 99999px;
    border:1px solid #efefef;
}

.panel-body { padding: 5px 10px; }

.bottom {position:absolute; bottom:15px; }

.ellipsis {
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    display:block;
}

.cover-image { text-align: center; margin-bottom: 10px;}

.cover-image img {
    max-width:100%;
    max-height:100%;
    color: white;
    border: 1px solid #fff;
    -webkit-box-shadow: 0 5px 8px -6px #777;
    -moz-box-shadow: 0 5px 8px -6px #777;
    box-shadow: 0 5px 8px -6px #777;
}

.topspace { margin-top: 3px; }

body {
    background-color: #f2f2f2;
    padding: 50px 0 38px 0; /* Needed with fixed header and footer */
}

body.submenu {
    padding: 85px 0 38px 0; /* Increased padding when submenu present */
}

html {
    scroll-padding-top: 85px; /* Better solution for fixed header */
}

.meta {
    font-size: 12px;
}

.meta p {
   margin: 0;
}

.meta .title {
    font-weight: bold;
    font-size: 15px;
}

span.glyphicon {
    padding-right: 5px;
    vertical-align: text-top;
}

span.glyphicon.glyphicon-tags {
    color: #999;
}

div.tags {margin-bottom: -5px}
div.tags a {margin-bottom: 5px}

/*
* Responsive text aligning
* http://ohryan.ca/2014/08/14/set-responsive-text-alignment-bootstrap-3/
*/
.text-xs-left { text-align: left; }
.text-xs-right { text-align: right; }
.text-xs-center { text-align: center; }
.text-xs-justify { text-align: justify; }

@media (min-width: 768px) {
.text-sm-left { text-align: left; }
.text-sm-right { text-align: right; }
.text-sm-center { text-align: center; }
.text-sm-justify { text-align: justify; }
}

.d-flex {
    display: flex;
}

.row.d-flex {
    flex-wrap: wrap;
}

.row.d-flex > [class*='col-'] {
    flex-direction: column;
}

.panel { margin-bottom: 5px; }

div[class*="books"] {
    padding: 7px 7px;
}

.col-half-padding {
    padding: 0px 7px;
}

.tt-dropdown-menu {
  width: 322px;
  text-align: left;
  margin-top: 6px;
  /*color: #000066;*/
  padding: 4px 0;
  background-color: #fff;
  border: 1px solid #DDD;
}

.tt-header {
    border-bottom: 1px solid #DDD;
    font-weight: bold;
}

.tt-suggestion {
  padding: 3px 20px;
  line-height: 14px;
}

.tt-suggestion.tt-cursor {
  /*color: #1c1c1c;*/
  background-color: #EEE;
}

.tt-suggestion p {
  margin: 0;
}

.filtered { display: none; }

#filter ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-align: left;
    text-transform:none;
}

#filter ul li {
    cursor: pointer;
}

#filter li {
    display: inline-block;
    padding: .2em 1em;
    border: 2px solid #DDDDDD;
    margin: 2px;
    color: black;
    background-color: white;
    opacity: 0.5;
}

#filter li.filter-include {
    border-left:thick solid blue;
    opacity: 1;
}

#filter li.filter-exclude {
    border-right:thick solid red;
    opacity: 1;
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: rgb(255, 255, 255);
    background-color: rgb(108, 117, 125);
}
