html {
    height: 100vh;
}
body {
    height: 100vh;
    width: 100vw;
    overflow: hidden;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Bree Serif', serif;
}
ol.contents {
    font-size: 1.5em;
}
#app {
    padding-top: 62px;
    padding-bottom: 10px;
}
.navbar-brand > img {
    height: 35px;
}
.navbar.fixed-top {
    -webkit-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.1);
    -moz-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.1);
}
.ds {
    -webkit-box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5);
    -moz-box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5);
    box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.5);
}
.navbar .fixed-bottom {
    background: transparent;
}
#head-nav-title {
    max-width: 450px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.container,
.flexi-container {
    min-height: 100vh;
}
.stage {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

/* container */
.container-fluid.scrollable {
    height: calc(100vh - 62px);
    overflow-y: auto;
    padding-bottom: 15px;
}
.stage > .container > .row {
    padding-top: 50px;
}
.stage > .container > .row > .scrollable,
.stage > .flexi-container > .row > .scrollable {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}
.copyright {
    opacity: .5;
    font-family: sans-serif;
    font-size: 12px;
    margin-top: 5px;
}
#main-spinner {
    margin-top: 40vh;
    transform: scale(2);
}
.search.spinner {
    transform: scale(.7);
    opacity: .85;
}
.event-header {
    background-color: #e5efff;
}
.dropdown-menu.show {
    -webkit-box-shadow: 0px 3px 12px -2px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 3px 12px -2px rgba(0,0,0,0.2);
    box-shadow: 0px 3px 12px -2px rgba(0,0,0,0.2);
}

#settlement-library .modal-dialog {
    width: 80vw;
    max-width: 80vw;
}
#settlement-library .modal-content {
    height: 85vh;
}
#settlement-library .modal-content .scrollable {
    height: calc(85vh - 128px) !important;
    overflow-y: scroll;
}
.settlement-item {
    font-size: small;
}

/* small screen */
@media (max-width: 767px) {
    #head-nav-title {
        max-width: 200px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 11px;
    }
    #navbar-content .dropdown-menu.show {
        border: 0;
    }
    .stage > .flexi-container > .row {
        padding: 15px;
    }
    .btn {
        margin-bottom: 5px;
    }
    h4 {
        font-size: 1rem;
    }
    h3 {
        font-size: 1.5rem;
    }
}

/*
    Vue.js
*/
[v-cloak] {
    display: none;
}

/* fade */
.fade-enter-active, .fade-leave-active {
  transition: opacity .5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
  opacity: 0;
}

/* slide */
.slide-left-leave-active,
.slide-left-enter-active,
.slide-right-leave-active,
.slide-right-enter-active {
    transition: .5s;
}
/* left */
.slide-left-enter {
    transform: translate(100%, 0);
}
.slide-left-leave-to {
    opacity: 0;
    transform: translate(-100%, 0);
}
/* right */
.slide-right-enter {
    transform: translate(-100%, 0);
}
.slide-right-leave-to {
    opacity: 0;
    transform: translate(100%, 0);
}

/* list transition */
.animated-list-move {
    transition: transform .5s;
}

/* draggable */
.ghost {
    background-color: rgb(255, 227, 194);
    opacity: 0.65;
}

/*
    SpinKit
    Source: http://tobiasahlin.com/spinkit/
*/

.spinner {
  margin: 100px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.spinner > div {
  background-color: #333;
  height: 100%;
  width: 6px;
  display: inline-block;

  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out;
}

.spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s;
}

.spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.spinner .rect5 {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
  20% { -webkit-transform: scaleY(1.0) }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }  20% {
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
  }
}
