/* Sticky footer styles
-------------------------------------------------- */
html {
    height: 100%;
}

body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 70px; /* Margin top by header height */
    padding-bottom: 45px; /* Margin bottom by footer height */
    background-color: #f5f5f5;
}

@media (min-width: 120px) {
    .container {
        max-width: 90% !important;
    }
}

.footer {
    position: fixed;
    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;
}

:root {
    --input-padding-x: .75rem;
    --input-padding-y: .75rem;
}

.form-bs {
    width: 100%;
    max-width: 420px;
    padding: 15px;
    margin: auto;
}

.form-label-group {
    position: relative;
    margin-bottom: 1rem;
}

.form-label-group > input,
.form-label-group > label {
    padding: var(--input-padding-y) var(--input-padding-x);
}

.form-label-group > label {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    margin-bottom: 0; /* Override default `<label>` margin */
    line-height: 1.5;
    color: #495057;
    border: 1px solid transparent;
    border-radius: .25rem;
    transition: all .1s ease-in-out;
}

.form-label-group input::-webkit-input-placeholder {
    color: transparent;
}

.form-label-group input:-ms-input-placeholder {
    color: transparent;
}

.form-label-group input::-ms-input-placeholder {
    color: transparent;
}

.form-label-group input::-moz-placeholder {
    color: transparent;
}

.form-label-group input::placeholder {
    color: transparent;
}

.form-label-group input:not(:placeholder-shown) {
    padding-top: calc(var(--input-padding-y) + var(--input-padding-y) * (2 / 3));
    padding-bottom: calc(var(--input-padding-y) / 3);
}

.form-label-group input:not(:placeholder-shown) ~ label {
    padding-top: calc(var(--input-padding-y) / 3);
    padding-bottom: calc(var(--input-padding-y) / 3);
    font-size: 12px;
    color: #777;
}

form.form-bs input, form.form-bs select {
    margin-bottom: 15px;
}

.alert .closeBtn {
    display: none;
}

.table .first.row {
    border-top: 1px solid lightgrey;
}

.table .row {
    padding: 0.7rem;
    border-bottom: 1px solid lightgrey;
}
.table .row .row {
    margin-top: 0.3rem;
    margin-bottom: 0;
}
.table .card .row {
    padding: none;
    border: none;
}
.table [class*="col-"] {
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
}

/* Auto-complete */
/*! jQuery UI - v1.12.1 - 2018-05-29
* http://jqueryui.com
* Includes: core.css, autocomplete.css, menu.css
* Copyright jQuery Foundation and other contributors; Licensed MIT */
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}

.ui-autocomplete {
    margin: 0;
    padding: 0;
    list-style: none;
    z-index: 999;
    border: 1px solid lightgrey;
    background-color: white;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}
.ui-autocomplete li {
    width: 100%;
    margin: 0;
    padding: 0 10px 10px;
}
.ui-autocomplete li:before {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    margin-bottom: 10px;
    background-color: lightgrey;
}
.ui-autocomplete li:first-child:before {
    background-color: white;
}
.ui-autocomplete li:focus, .ui-autocomplete li:hover, .ui-autocomplete li:active {
    cursor: pointer;
    color: red;
}
.ui-helper-hidden-accessible {
    display: none;
}

.datepicker.datepicker-inline {
    margin: 0 auto;
}

ul.addresses {
    list-style-type: none;
    padding-left: 0;
}

@media (min-width: 576px) {
    ul.addresses {
        text-align: left !important;
    }
}

ul.addresses > li {
    text-indent: -5px;
}
ul.addresses > li:before {
    content: "-";
    text-indent: -5px;
    padding-right: 4px;
}

ul.addresses > li.arrow {
    text-align: center;
}
ul.addresses > li.arrow:before {
    content: none;
}

#addresses_switcher {
    float: right;
    height: 0;
    position: relative;
    left: 23px;
    bottom: 25px;
    z-index: 3;
}

.nav-item.active a {
    border-bottom: 1px solid #007bff;
    padding-bottom: 3px;
}

@media print {
    .no-print, .no-print * {
        display: none !important;
    }
}

@media (min-width: 576px) {
    .total_label {
        text-align: right !important;
    }
}

@media (max-width: 767px) {
    canvas {
        display: none !important;
    }
}

.table.dons td, .table.dons th {
    padding: 0.25em;
}

.dataTables_length select {
    display: inline;
    width: 70px;
    padding-left: 16px !important;
    margin: 0 4px;
}
.dataTables_filter input {
    display: inline;
    width: 150px;
    margin-left: 6px !important;
}

table.dataTable tbody tr.odd {
    background-color: #ddd;
}