body {
    min-height: 100vh;
    position: relative;
    margin: 0;
    padding-bottom: 65px;
    box-sizing: border-box;
}

body .background-image {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    opacity: 0.6;
    z-index: -1;
}

.container {
    max-width: 1600px;
}

.context {
    background: #e6f0e2;
}

.navbar,
.footer {
    background: #99c289;
}

.version {
    margin-left: 1rem;
}

[v-cloak]:before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 75px;
    height: 75px;
    margin-top: -10px;
    margin-left: -10px;
    border-radius: 50%;
    border: 2px solid #ccc;
    border-top-color: #333;
    animation: spinner 0.6s linear infinite;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

[v-cloak] > * {
    display: none;
}

a {
    outline: 0;
    text-decoration: none;
}

button:-moz-focusring,
input:-moz-focusring {
    outline: 0;
}

/* comment styles TODO: remove when no longer needed */
.comment {
    font-size: 0.8rem;
    padding: 0.2rem 1rem;
    margin: 0.5rem 0;
    border-left: 8px solid rgb(128, 128, 128);
    border-radius: 0.25rem;
    background-color: #fffbeb;
    color: rgb(25, 25, 25);
}

.comment-warning {
    background-color: rgb(255, 248, 197);
    border-left-color: rgb(196, 182, 69);
}

.comment-danger {
    background-color: rgb(251, 194, 198);
    border-left-color: rgb(39, 71, 112);
}

.comment-info {
    background-color: rgb(211, 230, 242);
    border-left-color: rgb(58, 168, 233);
}

.navbar {
    padding: 0.1rem 1rem;
    border-bottom: 4px solid #739267;
}

.navbar-brand {
    line-height: 15px;
}

.brand {
    padding: 0.2rem 0.5rem 0.2rem 0rem;
    border-right: solid 2px rgb(0, 0, 0);
}

.navbar-brand .fas {
    font-size: 2rem;
    color: tomato;
}

.navbar-brand div {
    float: right;
    margin-left: 0.5rem;
}

.affix {
    position: fixed;
}

.context {
    margin-top: 47px;
    width: 100%;
    padding: 2px 20px;
    z-index: 1001;
    -webkit-box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    -moz-box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
}

.context h2 {
    margin-bottom: 0;
}

.scroll-content {
    padding-top: 8rem;
    margin-bottom: 2rem;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding-top: 15px;
    border-top: 4px solid #739267;
}

.fas {
    color: #999999;
}

.btn .fas {
    color: #ffffff;
}

.help-div button {
    margin-left: 5rem;
}

.card-header i {
    margin-top: 0.5rem;
}

.card-header a {
    color: #373a3c;
}

.create .card-header,
.edit .card-header {
    min-height: 1.5rem;
    padding: 0.2rem 1.25rem;
    font-size: 1.5rem;
}

/* style for icons */
.fa-arrow-circle-left {
    color: #999999;
}

/* temporary style for data comparison TODO: delete */
.cdb {
    background-color: #f7eded;
    border-radius: 5px;
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
}

.pdb {
    background-color: #b3ddbc;
    border-radius: 5px;
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
}

.login,
.register {
    margin: 10rem auto;
    width: 60rem;
}

.title-extra {
    font-size: 0.8rem;
    font-style: italic;
    color: #999999;
}

/* .table.index tbody tr {
   cursor: pointer;
} */
.table-striped tbody tr:nth-of-type(2n + 1) {
    background-color: rgba(0, 0, 0, 0.02);
}

#search {
    margin-bottom: 2rem;
    background-color: #eff1f1;
    border: solid 1px #d0d5d6;
    padding: 0.5rem;
}

#search .form-control {
    width: auto;
    display: inline-block;
    height: 37px;
}

.search label {
    padding: 0.375rem 1rem;
    font-size: 1rem;
}

.search .multiselect {
    width: 210px;
}

#search .multiselect__select {
    width: 20px;
    padding: 0;
}

#search .multiselect__tags {
    min-height: 37px;
    padding: 8px 20px 0 8px;
}

.search .multiselect.display-number {
    width: 65px;
    min-height: 37px;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
}

#search .multiselect__option {
    padding: 0 12px;
    min-height: 20px;
}

#collapseSearch {
    margin-left: 257px;
}

.btn-more {
    vertical-align: middle;
}

.search label {
    margin-bottom: 0;
    padding: 0.375rem 1rem;
    font-size: 1rem;
}

#resp-table {
    width: 100%;
    display: table;
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
}

#resp-table-header {
    display: table-header-group;
    background-color: #f6f6f6;
    font-weight: bold;
    font-size: 15px;
}

.table-header-cell {
    display: table-cell;
    padding: 5px;
    text-align: justify;
}

#resp-table-body {
    background-color: #ffffff;
    display: table-row-group;
}

.resp-table-row {
    display: table-row;
}

a.resp-table-row {
    text-decoration: none;
    color: inherit;
}

a.resp-table-row:hover {
    background-color: #eeeeee;
}

.table-body-cell {
    display: table-cell;
    padding-left: 5px;
    border-bottom: 1px solid #dddddd;
}

#resp-table-footer {
    display: table-footer-group;
    background-color: #f6f6f6;
    font-weight: bold;
    font-size: 25px;
    color: rgba(255, 255, 255, 0.45);
}

.table-footer-cell {
    display: table-cell;
    padding: 10px;
    text-align: justify;
}

.pagination-container {
    text-align: center;
    margin-top: 1rem;
}

.card.specimens,
.card.photos,
.card.recipes,
.card.plants {
    border: solid 1px #eeeeee;
    margin: 5px;
    padding: 10px;
    background-color: #fcfcfc;
    display: inline-block;
}

.btn-footer {
    display: flex;
}

.card-footer {
    padding: 0.5rem 1.25rem;
}

/* show view styles */
.label label {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0;
    /* color: rgb(0, 0, 0, .75); */
    border-bottom: solid 1px #cccccc;
}

.section {
    margin-top: 1rem;
}

.back {
    line-height: 1;
    opacity: 0.5;
}

.fa-info-circle {
    color: #e2d4b7;
    font-size: 1rem;
    cursor: pointer;
}

.data {
    font-weight: 500;
    color: rgb(0, 0, 0, 0.6);
}

.data-table table thead th {
    border-top: none;
    border-bottom: none;
    color: rgb(0, 0, 0, 0.6);
    background-color: #fcfcfc;
}

.data-desc {
    color: rgb(0, 0, 0, 0.6);
    margin: 0 1rem;
}

.note {
    margin-bottom: 0.5rem;
}

.note label {
    margin: 0;
}

.note .data,
.note .data p {
    margin-left: 1rem;
}

/* show view accordion overides */
.accordion .card-header {
    padding: 0.25rem 1.25rem;
}

.accordion .card-header a {
    color: inherit;
}

.accordion .card-header .fas {
    color: #666666;
}

/* style for checkbox  */
.option-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    top: 0px;
    right: 0;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 20px;
    transition: all 0.15s ease-out 0s;
    background: #cbd1d8;
    border: none;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
    display: inline-block;
    margin-right: 0.5rem;
    outline: none;
    position: relative;
}

.option-input:checked {
    background: #28a745;
}

.option-input:checked::before {
    height: 20px;
    width: 20px;
    position: absolute;
    content: "✔";
    display: inline-block;
    text-align: center;
    line-height: 20px;
}

.option-input:checked::after {
    background: #28a745;
    content: "";
    display: block;
    position: relative;
}

.option-input {
    color: #fff;
    cursor: pointer;
}

/* style for custom checkbox or radio buttons */
/* The checkbox/radio container */
.check-container {
    display: inline-block;
    position: relative;
    padding-left: 35px;
    padding-right: 25px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: inherit;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default radio button */
.check-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom radio button */
.checkmark {
    position: absolute;
    top: 3px;
    right: 0;
    height: 20px;
    width: 20px;
    background-color: #eee;
    border: solid 1px #ccc;
    border-radius: 5px;
}

/* On mouse-over, add a grey background color */
.check-container:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.check-container input:checked ~ .checkmark {
    background-color: #28a745;
}

/* Create the indicator ✔ (hidden when not checked) */
.checkmark:after {
    content: "✔";
    position: absolute;
    top: -3px;
    left: 0;
    display: none;
}

/* Show the indicator ✔ when checked */
.check-container input:checked ~ .checkmark:after {
    display: block;
}

/* style for bootstrap tooltip */
.tooltip > .tooltip-inner {
    background-color: #ffffff;
    color: #666666;
    font-style: italic;
    border: 1px solid rgb(175, 175, 175);
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.1);
}

.bs-tooltip-auto[x-placement^="right"] .arrow::before,
.bs-tooltip-right .arrow::before {
    border-right-color: rgb(175, 175, 175) !important;
}

.btn-warning,
.btn-danger {
    color: rgba(256, 256, 256, 1);
}

.btn-warning:hover {
    color: rgba(256, 256, 256, 1);
}

/* date picker styles */
.vdp-datepicker input {
    width: 100%;
    height: calc(2.25rem + 2px);
    border: 1px solid #ced4da;
    padding: 0.375rem 0.75rem;
    color: #495057;
}

.vdp-datepicker input:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.vdp-datepicker__calendar span.today {
    background: #cae5ed;
    border: solid 1px #689fae;
}

.vdp-datepicker__calendar {
    box-shadow: 8px 9px 20px -2px rgba(0, 0, 0, 0.25);
}

.card-header a {
    text-decoration: none;
}

.data span.alert {
    padding: 0.2rem 1rem;
}

span.no-data {
    display: inline-block;
    color: rgba(0, 0, 0, 0.5);
    font-style: italic;
}

div.no-data {
    padding: 1rem 0;
    color: rgba(0, 0, 0, 0.5);
    font-style: italic;
}

/* style for temporary data for data checking */
.temp label,
.temp.data {
    font-style: italic;
    color: #856404;
}

label span {
    font-size: 1rem;
}

.gallery-main {
    text-align: center;
}

/* related items cards styles */
.card.grid {
    display: inline-block;
    width: 15rem;
    margin: 0.25rem;
    padding: 0.25rem;
}

.card.grid a {
    color: inherit;
}

.card.grid a:hover .card {
    box-shadow: 0px 0px 25px 2px rgba(0, 0, 0, 0.1);
}

.card.grid .card-body {
    padding: 0.5rem;
}

.card.grid .card-title {
    margin-bottom: 0.5rem;
}

.card.grid .h5,
.card.grid h5 {
    font-size: 1rem;
}

.card.grid .card-img-top {
    width: 100%;
    height: 15vw;
    object-fit: cover;
}

/* breadcrumb styles for location parents */
.btn-breadcrumb .btn:not(:last-child):after {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 10px solid white;
    position: absolute;
    top: 50%;
    margin-top: -17px;
    left: 100%;
    z-index: 3;
}

.btn-breadcrumb .btn:not(:last-child):before {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 10px solid rgb(173, 173, 173);
    position: absolute;
    top: 50%;
    margin-top: -17px;
    margin-left: 1px;
    left: 100%;
    z-index: 3;
}

/** The Spacing **/
.btn-breadcrumb .btn {
    padding: 6px 12px 6px 24px;
}

.btn-breadcrumb .btn:first-child {
    padding: 6px 6px 6px 10px;
}

.btn-breadcrumb .btn:last-child {
    padding: 6px 18px 6px 24px;
}

/** Default button **/
.btn-breadcrumb .btn.btn-default:not(:last-child):after {
    border-left: 10px solid #fff;
}

.btn-breadcrumb .btn.btn-default:not(:last-child):before {
    border-left: 10px solid #ccc;
}

/* .btn-breadcrumb .btn.btn-default:hover:not(:last-child):after {
    border-left: 10px solid #ebebeb;
}
.btn-breadcrumb .btn.btn-default:hover:not(:last-child):before {
    border-left: 10px solid #adadad;
} */
.btn-breadcrumb .btn.btn-default {
    cursor: default;
    color: inherit;
    outline: none;
}

.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

/*show view galleries*/
.gallery-image {
    display: inline-block;
    position: relative;
    width: 250px;
    height: 250px;
    background-color: #fcfcfc;
    border: solid 1px #f1f1f1;
}

.gallery-image img.land {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.gallery .card {
    display: inline-block;
    background-color: #fcfcfc;
}

.gallery .card-body {
    font-size: 0.8rem;
    padding: 5px;
    line-height: 0.8rem;
}

.gallery .card-body .card-title {
    margin: 0;
}

.gallery a {
    color: inherit;
}

.gallery a:hover .card {
    box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.1);
}

.gallery-main img {
    height: 450px;
    width: 450px;
}

.gallery-lg img {
    height: 300px;
    width: 300px;
}

.gallery-sm img {
    height: 200px;
    width: 200px;
    padding: 5px;
}

.gallery img {
    object-fit: contain;
}

.gallery .image-title {
    margin: 0;
    text-align: center;
    font-size: 0.8rem;
}

.gallery-main img:hover,
.gallery-show img:hover {
    cursor: zoom-in;
}

.associated-people .card {
    display: inline-block;
    margin: 0.3rem;
}

.associated-people .card-title {
    font-size: 0.8rem;
    margin: 0.2rem;
}

/* styles for media list in create & edit views */
.dropzone {
    border: 1px solid rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    -moz-box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    text-align: center;
}

.media-details,
.media-exists {
    margin-top: 1rem;
}

.select-item {
    width: 280px;
    height: 145px;
    display: inline-block;
    font-size: 12px;
    position: relative;
    border: 1px solid #dddddd;
    margin: 5px;
    color: rgb(0, 0, 0, 0.6);
}

.select-item .row {
    margin: 0;
}


.select-item .col-6 {
    margin: 0;
    padding: 5px;
}

.select-item label {
    margin-top: 0.2rem;
    margin-bottom: 0;
    font-weight: bold;
}

.select-item .input label,
.infoPerson .input label {
    margin-left: 0;
    margin-top: 0;
}

.select-item .data,
.infoPerson .data {
    font-size: 12px;
    line-height: 13px;
}

.select-item select.form-control:not([size]):not([multiple]) {
    height: 1.2rem;
    padding: 0;
    font-size: 12px;
}

.thumbnail {
    display: inline-block;
    position: relative;
    width: 130px;
    height: 130px;
    overflow: hidden;
}

.thumbnail img {
    position: absolute;
    left: 50%;
    top: 50%;
    height: 100%;
    width: auto;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.thumbnail:hover {
    overflow: visible;
    z-index: 1000;
}

.thumbnail:hover img {
    border: solid 1px #eeeeee;
    -webkit-box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.25);
}

.thumbnail img.port {
    width: 100%;
    height: auto;
}

.thumbnail img.land {
    width: auto;
    height: 100%;
}

/* styles for editing media in entity create or edit views */
.gallery-edit {
    margin-top: 1rem;
}

.gallery-edit .card {
    width: 10rem;
    display: inline-block;
    background-color: #fcfcfc;
    margin: 3px;
    padding: 5px;
    text-align: center;
}

.gallery-edit .card .card-body {
    text-align: left;
    font-size: 0.8rem;
    padding: 0;
    line-height: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gallery-edit .card .card-body label {
    margin-bottom: 0;
}

.gallery-modal {
    text-align: center;
}

.gallery-modal .card {
    width: 10rem;
    display: inline-block;
    background-color: #fcfcfc;
    margin: 3px;
    padding: 5px;
    text-align: center;
}

.gallery-modal .card .card-body {
    text-align: left;
    font-size: 0.8rem;
    padding: 0;
    line-height: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* vue help text modal styles */
.vmodal-mask {
    position: fixed;
    z-index: 9998;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: table;
    transition: opacity 0.3s ease;
}

.vmodal-wrapper {
    display: table-cell;
    vertical-align: middle;
}

.vmodal-header {
    background-color: #b9ae96;
    height: 40px;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

.vmodal-footer {
    background-color: #b9ae96;
    height: 20px;
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.vmodal-container {
    position: relative;
    width: 900px;
    margin: 0px auto;
    overflow-y: initial !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
    transition: all 0.3s ease;
    font-family: Helvetica, Arial, sans-serif;
}

.vmodal-container.vmodal-xl {
    width: 90vw !important;
}

.vmodal-header h3 {
    margin-top: 5px;
    margin-left: 10px;
    color: rgb(255, 255, 255);
    font-size: 1.2rem;
    line-height: 1.5;
    display: inline-block;
}

.vmodal-body {
    padding: 20px;
    min-height: 100px;
    background-color: #f4efe4;
}

.vmodal-default-button {
    float: right;
    color: rgb(255, 255, 255);
    border: 1px solid transparent;
    margin-top: 3px;
    padding: 0.3rem 0.5rem;
    border-radius: 0.25rem;
    background-color: transparent;
    z-index: 1000;
}

.vmodal-default-button .fas {
    color: rgb(255, 255, 255);
}

.vmodal-body button {
    float: right;
}

/* style for vue calendar in a modal to make cells smaller */
.modalcal.vdp-datepicker__calendar .cell {
    padding: 0;
    height: 20px;
    line-height: 20px;
}

/* v modal styles for warning, delete etc */
.vwarning {
    width: 500px;
}

.vwarning .vmodal-header,
.vwarning .vmodal-footer {
    background-color: #ceb055;
}

.vwarning .vmodal-body {
    background-color: #fffae8;
    height: auto;
    overflow-y: auto;
}

.vwarning .vmodal-body .missing-required {
    color: #eb465a;
    padding-left: 1rem;
}

.delete {
    width: 500px;
}


.delete .vmodal-header,
.delete .vmodal-footer {
    background-color: rgb(189, 66, 66);
}

.delete .vmodal-body {
    background-color: rgb(255, 207, 207);
    height: auto;
    overflow-y: auto;
}

/*
   * The following styles are auto-applied to elements with
   * transition="modal" when their visibility is toggled
   * by Vue.js.
   *
   * You can easily play with the modal transition by editing
   * these styles.
   */

.vmodal-enter {
    opacity: 0;
}

.vmodal-leave-active {
    opacity: 0;
}

.vmodal-enter .vmodal-container,
.vmodal-leave-active .vmodal-container {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.vmodal-container.image {
    width: 1000px;
}


/* .vmodal-container.image .vmodal-body {
   max-height: calc(100vh - 100px);
   overflow: auto !important
} */
.vmodal-container .vmodal-body {
    max-height: calc(100vh - 100px);
    overflow: auto !important;
}

.vmodal-container .vmodal-body label {
    display: inline-block;
    margin-bottom: 0;
}

.vmodal-container.help {
    width: 400px;
    overflow-y: initial !important;
}

.vmodal-container .vmodal-body .multiselect__tags {
    min-height: 20px;
    padding: 4px 40px 4px 8px;
    font-size: 14px;
}

.vmodal-container .vmodal-body .multiselect__select {
    width: 40px;
    height: 30px;
    padding: 0;
}

.vmodal-container .vmodal-body .multiselect__single {
    padding-left: 0;
    margin-bottom: 0;
}

.vmodal-container .vmodal-body .mb-3 {
    margin-bottom: 0.5rem;
}

/* modal styles */
.modal {
    z-index: 1050;
}

.modal-dialog {
    max-width: 600px;
}

.modal .card-header h5 {
    font-size: 1rem;
    font-weight: normal;
}

.modal-header-success,
.modal-footer-success {
    background-color: #5cb85c;
}

.modal-header-warning,
.modal-footer-warning {
    background-color: #f0ad4e;
}

.modal-header-danger,
.modal-footer-danger {
    background-color: #d9534f;
}

.modal-header-info,
.modal-footer-info {
    background-color: #5bc0de;
}

.modal-header-primary,
.modal-footer-primary {
    background-color: #428bca;
}

.modal-header button .fas {
    color: #ffffff;
}


.modal-footer {
    border-top: 1px solid #e5e5e5;
    padding: 10px 20px 10px;
    -webkit-border-bottom-left-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
    -moz-border-radius-bottomright: 5px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.modal-header.alert {
    border-radius: 0.25rem 0.25rem 0 0;
    margin-bottom: 0;
}

.modal-footer .col-md-2 {
    width: auto;
}

.modal-header {
    padding: 0.1rem 0.5rem 0.1rem 1rem;
    color: #fff;
    border-bottom: 1px solid #eee;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.modal-header .close {
    /* margin-top: 0.3rem;
  font-size: 1rem;
  opacity: 0.5; */
    line-height: normal;
    color: #ffffff;
}

.modal-header .close:hover {
    opacity: 1;
}

#modalajax li.select2-results__option {
    font-size: 1rem;
    padding: 0 6px;
}

.modal-body .select2-container--bootstrap .select2-selection {
    font-size: 1rem;
}

.modal-body .select2-selection__rendered {
    font-size: 1rem;
}

.modal-body .select2-container--bootstrap .select2-selection--single {
    height: inherit;
    line-height: 1.42857;
    padding: 0.5rem 0.75rem;
}

.modal-body label {
    font-size: 1rem;
    font-weight: normal;
    padding-top: 0;
}

.modal-title {
    font-size: 1.2rem;
}

.modal-body p {
    font-size: 1rem;
    margin: 0.5rem 0;
}

.modal-body select {
    font-size: 1rem;
    margin: 0.5rem 0;
}

.modal-body input.form-control {
    padding: 0.3rem 0.75rem;
}

.modal-body .select2-container--bootstrap .select2-selection--single {
    padding: 0.1rem 0.75rem;
}

.modal-body select.form-control:not([size]):not([multiple]) {
    padding: 0.1rem 0.75rem;
    height: auto;
}

.media-details {
    margin-top: 0.8rem;
}

.media-details label {
    font-size: 0.9rem;
    padding: 0;
}

.media-details input.form-control {
    font-size: 0.9rem;
    padding: 0.2rem 0.5rem;
}

.media-details .mb-3 {
    margin-bottom: 0.5rem;
}

#select2-responsible-results li.select2-results__option {
    font-size: 1rem;
    padding: 0 6px;
}

#select2-responsible-results li.select2-results__option {
    font-size: 1rem;
    padding: 0 6px;
}

.modal-body .mb-3 {
    /*margin-bottom: 0;*/
}

.modal-body .preview img {
    margin: 0.5rem;
    padding: 0.5rem;
    background-color: #f9f9f9;
    border: solid 1px #eeeeee;
}

.select2-results__option {
    /*overide select2 padding in drop down list*/
    padding: 0 6px;
}

.modal-body .media-details,
.modal-body .media-exists {
    display: none;
}

/* modal for flash notices */
.flash-modal .modal-header,
.flash-modal .modal-footer {
    background-color: #a4d1b5;
    color: inherit;
}

.flash-modal .modal-header .close {
    color: #000000;
}

.flash-modal .modal-header button .fas {
    color: #e8f3ec;
}

.flash-modal .modal-body {
    background-color: #f3f9f5;
}

/*modal for gallery overides*/
#modalGallery .modal-dialog {
    max-width: 1000px;
    max-height: 500px;
}

#modalGallery .modal-content {
    border: solid 1px #f6f6f6;
}

#modalGallery .modal-header {
    border-bottom: none;
}

#modalGallery .modal-footer {
    border-top: none;
    display: none;
}

.gallery-modal img:hover {
    cursor: zoom-in;
}

.modal.gallery img:hover {
    cursor: default;
}

#modalGallery.modal-body {
    text-align: center;
}

#modalGallery .modal-body .caption {
    font-size: 0.8rem;
}

#modalGallery .modal-dialog {
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    transform: translate(0, -25%);
    -webkit-transition: -webkit-transform 0.3s ease-out;
    -moz-transition: -moz-transform 0.3s ease-out;
    -o-transition: -o-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    top: 20%;
}

#modalGallery .modal-body img {
    max-width: 100%;
    max-height: 100%;
}

.modal.gallery .modal-body img {
    max-width: 800px;
    max-height: 800px;
}

#modalGallery .modal-header .close {
    color: #cccccc;
}

/*gallery modal backdrop overides*/
.gallery-modal-open .modal-backdrop {
    background-color: #ffffff;
    opacity: 0.9 !important;
    transition: opacity 0.5s;
}

#modalGallery .modal-content {
    background-color: rgba(255, 255, 255, 0.9);
}

/* .modal-backdrop.in {
    background-color: #ffffff;
    opacity: 1;
    transition: opacity 0.5s;
}
.modal-backdrop {
    background-color: #ffffff;
    opacity: 1;
    transition: opacity 0.5s;
} */

/*dropzone styles*/
.dropzone {
    border: 1px solid rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    -moz-box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    text-align: center;
}

/*sortable cards for create & edit views.*/
.media-item {
    width: 260px;
    height: 150px;
    font-size: 13px;
    position: relative;
    border: 1px solid #dddddd;
    display: inline-block;
    margin: 5px;
}

.media-item img,
.inforPerson img {
    padding-right: 5px;
}

.media-item input[type="checkbox"],
.infoPerson input[type="checkbox"] {
    float: none;
}

.media-item .image,
.media-item .text {
    padding: 0;
}

.media-item .image,
.infoPerson .image {
    text-align: center;
}

.media-item .content {
    margin: 20px 5px 5px 5px;
}

.media-item .input,
.infoPerson .input {
    margin: 0.2rem 0;
}

.media-item .input input,
.infoPerson.input input {
    margin-left: 0;
    margin-top: 0;
}

.media-item .input label,
.infoPerson .input label {
    margin-left: 0;
    margin-top: 0;
    display: inline-block;
}

.media-item .data,
.infoPerson .data {
    font-size: 12px;
    line-height: 13px;
}

.media-item label,
.infoPerson label {
    font-size: 13px;
    font-weight: bold;
    padding: 0;
    margin: 0;
}

ul.tool-bar {
    width: 100%;
    height: 20px;
    background-color: #f1f1f1;
    display: none;
    position: absolute;
    padding: 0;
    list-style-type: none;
}

ul.tool-bar li {
    display: inline;
}

ul.tool-bar li a {
    cursor: pointer;
    padding: 0 5px;
    opacity: 0.6;
    border: solid 1px #cccccc;
    border-radius: 4px;
    width: 20px;
    height: 20px;
}

ul.tool-bar li.move-item {
}

ul.tool-bar li.removex-item {
    /* position: none; */
    float: right;
}

.media-item:hover .tool-bar {
    display: block;
}

/* TODO: delete below style once new image upload approved & integrated */
.select-item:hover .tool-bar {
    display: block;
}

.show-remove {
    background: url(http://localhost/cultural-db-v9a/public/assets/img/delete-overlay.png) center no-repeat;
}

/* gallery-card select */
.thumbnail {
    display: inline-block;
    position: relative;
    width: 125px;
    height: 125px;
    overflow: hidden;
}

.thumbnail:hover {
    overflow: visible;
    z-index: 1000;
}

.thumbnail:hover img {
    border: solid 1px #eeeeee;
    -webkit-box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.25);
}

.thumbnail img {
    position: absolute;
    left: 50%;
    top: 50%;
    height: 100%;
    width: auto;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.thumbnail img.port {
    width: 100%;
    height: auto;
}

.media-item .col-md-6 {
    padding: 0;
}

.media-item .image {
    text-align: center;
}

.media-item .text {
    padding-left: 5px;
}

.media-item img,
.inforPerson img {
    padding-right: 0;
}

/* TODO: delete below styles once new image upload approved & integrated */
.select-item .col-md-6 {
    padding: 0;
}

.select-item .image {
    text-align: center;
}

.select-item .text {
    padding-left: 5px;
}

.select-item img,
.inforPerson img {
    padding-right: 0;
}

.btn-create {
    text-align: right;
    margin-bottom: 1rem;
}

.btn-submit {
    margin-top: 1rem;
    width: 100%;
}

.media-item select.form-control:not([size]):not([multiple]) {
    height: 1.2rem;
}

.media-item .form-control {
    font-size: 0.8rem;
    line-height: 1;
    padding: 0rem 0.5rem;
}

/* TODO: delete below styles once new image upload approved & integrated */
.select-item select.form-control:not([size]):not([multiple]) {
    height: 1.2rem;
}

.select-item .form-control {
    font-size: 0.8rem;
    line-height: 1;
    padding: 0rem 0.5rem;
}

/*select items table for create & edit views*/
.list .table {
    width: auto;
}

.references.table {
    table-layout: fixed;
}

.references.table th,
table td {
    overflow: hidden;
}

.references .checkbox-td {
    width: 40px;
}

.show label {
    font-weight: 450;
}

/* vue multisect style overides */
.multiselect__content-wrapper {
    box-shadow: 0px 10px 50px -25px rgba(0, 0, 0, 0.5);
    z-index: 10000;
}

.multiselect__content {
    z-index: 10000;
}

.multiselect__tag-icon {
    line-height: 11px;
}

.multiselect__option {
    padding: 6px;
    min-height: 20px;
}

.multiselect__placeholder {
    color: #495057;
    font-size: 1rem;
    margin-bottom: 0;
    padding-top: 0;
}

/* styles for master detail table  */
/* .table-md {
    border: solid 1px #cccccc;
}
.table-md tfoot td {
    padding: 0;
    background-color: #f9f9f9;
}
.detail-row.hide {
    display: none;
}
table td.detail-data {
    margin-bottom: 1rem;
    padding: 0 2rem;
    border: solid 1px #cccccc;
    border-top: none;
} */
.details {
    margin: 0 0.5rem 0.5rem 0.5rem;
    padding-left: 5px;
    background-color: #fcfcfc;
    width: 100%;
    -webkit-box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    -moz-box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
    box-shadow: 0px 2px 10px -5px rgba(102, 102, 102, 0.5);
}

.details label {
    margin-bottom: 0;
}

.action-buttons .btn-sm {
    font-size: 0.5rem;
}

.action-buttons .btn:first-child {
    /* margin-right: 10px; */
}

.action-buttons {
    position: relative;
}

.action-buttons .btn-group {
    opacity: 0;
    margin: 0;
}

.action-buttons:hover .btn-group {
    opacity: 1;
}

.help-text {
    background-color: rgb(244, 251, 255);
    margin: 0.5rem 0;
    padding: 0.5rem;
    border-radius: 5px;
    border: solid 1px rgb(180, 204, 216);
}

.help-text p {
    margin: 0;
}

.help-div .btn-add {
    margin-left: 5rem;
}

.help {
    font-size: 0.9rem;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1rem;
    padding: 0.2rem 1rem;
    background-color: #fff8ea;
    border: solid 1px #f0d7a4;
    border-left: solid 8px #f0d7a4;
    border-radius: 5px;
}

/* styles for custom radio buttons */
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.btn-radio .btn:active,
.btn-radio .btn.active {
    color: #333;
    background-color: #ebebeb;
    border-color: #adadad;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.hide {
    display: none;
}

.show {
    display: block;
}

.is-invalid {
    color: #dc3545;
    background-color: #fddfe3;
    border: solid 1px #bb999e;
    border-left: solid 8px rgb(146, 31, 31);
    font-size: 0.8rem;
    padding: 0.2rem 1rem;
    margin: 0.5rem 0;
    border-radius: 0.25rem;
}

.fa-asterisk {
    color: #dc3545;
}

span .fa-asterisk {
    font-size: 0.8rem;
}

/* vue master-detail component styles */
.master-detail .row {
    border-bottom: solid 1px #eeeeee;
    margin-left: 0;
    margin-right: 0;
}

.master-detail .row.header {
    font-weight: bold;
    background-color: #f9f9f9;
    border-top: solid 1px #eeeeee;
}

.details {
    font-size: 0.9rem;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 1rem;
    padding: 1rem;
    background-color: #fbfbfb;
    border: solid 1px #e9e9e9;
}

.details label {
    font-weight: 600;
}

.details p {
    display: inline-block;
    margin-bottom: 0;
}

.show-detail {
    text-align: right;
}

.master-detail .selectedrow {
    border-bottom: none;
    border-left: solid 1px #e9e9e9;
    border-right: solid 1px #e9e9e9;
    background-color: #fbfbfb;
}

.slide-fade-enter-active {
    transition: all 0.3s ease;
}


.slide-enter-active {
    transition-duration: 0.3s;
    transition-timing-function: ease-in;
}

.slide-leave-active {
    transition-duration: 0.3s;
    transition-timing-function: ease-in;
}

.slide-enter-to,
.slide-leave {
    max-height: 100px;
    overflow: hidden;
}

.slide-enter,
.slide-leave-to {
    overflow: hidden;
    max-height: 0;
}

.fa-caret-down {
    transform: rotate(0deg);
    transition: transform 0.3s linear;
}

.fa-caret-down.open {
    transform: rotate(180deg);
    transition: transform 0.3s linear;
    color: #000000;
}

/* styles for vue media upload component */
.upload-container {
    position: relative;
}

#mute {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
}

#mute.on {
    opacity: 0.7;
    z-index: 1000;
    background: white;
    height: 100%;
    width: 100%;
}

#preview {
    position: relative;
    text-align: center;
}

#preview img {
    max-width: 90%;
    max-height: 200px;
    margin: 2em;
}

.dropbox {
    outline: 2px dashed grey; /* the dash box */
    outline-offset: -10px;
    background: rgb(235, 240, 240);
    color: dimgray;
    padding: 10px 10px;
    min-height: 200px; /* minimum height */
    position: relative;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.input-file {
    opacity: 0; /* invisible but it's there! */
    width: 100%;
    height: 200px;
    position: absolute;
    cursor: pointer;
}

.dropbox:hover {
    background: rgb(
            221,
            230,
            230
    ); /* when mouse over to the drop zone, change color */
}

.dropbox p {
    font-size: 1rem;
}

.showmessage {
    width: 100%;
    height: 180px;
    background-color: rgb(100, 145, 100);
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* styles for vue show media component for create & edit views with media */
.selected-files .gallery {
    display: inline-block;
    position: relative;
    margin: 5px;
    padding: 5px;
    background-color: #fafafa;
    border: solid 1px #e6e6e6;
}

.selected-files .gallery img {
    width: 200px;
    height: 200px;
    object-fit: contain;
}

.selected-image {
    position: absolute;
    right: 5px;
}

.radio-toolbar {
    display: flex;
    justify-content: center;
    text-align: center;
    margin-top: 0.2rem;
}

.radio-toolbar input[type="radio"] {
    opacity: 0;
    position: fixed;
    width: 0;
}

.radio-toolbar label {
    width: 60px;
    display: inline-block;
    color: #999;
    background-color: #eee;
    font-family: sans-serif, Arial;
    font-size: 10px;
    border: 1px solid #ddd;
    margin-bottom: 0;
}

.radio-toolbar input[type="radio"]:checked + label {
    color: #fff;
    background-color: #999;
    border-color: #666;
}

.radio-toolbar input[type="radio"]:focus + label {
    border: 1px solid #eee;
}

.radio-toolbar label:hover {
    background-color: #eee;
}

/* add margin to top of table in edit views to seperate add btn from table */
.edit table.table {
    margin-top: 1rem;
}

/* v-select-search component styles */
.search-bar {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    background-color: #eff1f1;
    margin-bottom: 1rem;
    padding: 10px;
    border: 1px solid #d0d5d6;
    border-radius: .25rem;
}

.search-bar .vselect__index,
.search-bar .name {
    position: relative;
    background-color: #ffffff;
    width: 250px;
    height: 30px;
    margin-left: 10px;
    padding: 0;
    border: 1px solid #ced4da;
    border-radius: .25rem;
}

.search-bar .vselect__arrow {
    position: absolute;
    right: 3px;
    top: 15px;
    transition: transform .2s ease;
}

.search-bar .vselect__arrow::before {
    position: relative;
    right: 0;
    top: 50%;
    color: #999;
    margin-top: 4px;
    border-style: solid;
    border-width: 5px 5px 0;
    border-color: #999 transparent transparent;
    content: "";
}

.search-bar .displayNum {
    width: 50px;
    margin-left: 5px;
    margin-right: 15px;
}

.search-bar .vselect__selected,
.search-bar .name {
    padding: 2px 0 0 5px;
}

.search-bar .vselect__results {
    position: absolute;
    background-color: #fefefe;
    border: solid 1px #eee;
    min-width: 260px;
    width: auto;
    max-height: 300px;
    padding: 0 5px;
    overflow: auto;
    box-shadow: 0 20px 50px -25px rgba(0, 0, 0, .25);
    border-radius: .25rem;
    z-index: 1000;
}

.search-bar .displayNum .vselect__results {
    min-width: 40px;
}

.search-bar .clan .vselect__results {
    width: 400px;
}

.search-bar .vselect__result {
    padding: 0;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1.1rem;
}

.search-bar .btn {
    padding: 1px 8px;
}

.search-bar .btn:first-child {
    margin-left: 15px;
}

/* styles for index page search select component with hierarchy */
.search-bar .vselect__result.level-1 {
    background-color: rgb(231, 231, 231);
    padding-left: 0;
}

.search-bar .vselect__result.level-1::before {
    color: #cccccc;
    content: "•";
}

.search-bar .vselect__result.level-1:hover {
    background-color: rgb(87, 166, 53);
    color: #ffffff;
}

.search-bar .vselect__result.level-2 {
    background-color: rgb(241, 241, 241);
    padding-left: 15px;
}

.search-bar .vselect__result.level-2::before {
    color: #cccccc;
    content: "••";
}

.search-bar .vselect__result.level-2:hover {
    background-color: rgb(87, 166, 53);
    color: #ffffff;
}

.search-bar .vselect__result.level-3 {
    background-color: rgb(251, 251, 251);
    padding-left: 30px;
}

.search-bar .vselect__result.level-3::before {
    color: #cccccc;
    content: "•••";
}

.search-bar .vselect__result.level-3:hover {
    background-color: rgb(87, 166, 53);
    color: #ffffff;
}

.search-bar .vselect__input {
    width: 100%;
    border: none;
    background-color: inherit;
}

.search-bar .vselect__selectHide {
    display: none;
}

.search-bar .vselect__placeholder {
    opacity: 0.5;
}

.search-bar .d-1 {
    padding-left: 0;
}

.search-bar .d-2 {
    padding-left: 10px;
}

.search-bar .d-3 {
    padding-left: 20px;
}

.search-bar .d-4 {
    padding-left: 30px;
}

.search-bar .d-5 {
    padding-left: 40px;
}

.btn-group-sm > .btn, .btn-sm {
    font-size: 0.7rem;
}

.multiselect__option {
    padding: 5px;
    min-height: 20px;
    font-size: 16px;
    line-height: 16px;
}

.related .card {
    display: inline-block;
    width: 18rem;
    height: 18rem;
    margin: 0.25rem;
    padding: 0.25rem;
    overflow: hidden;
}


/********* notes  & todos ************/
a.notes {
    color: inherit;
    text-decoration: none;
}

#notes {
    width: 98%;
    border: solid 1px #7da4b4;
    background-color: #e7eef4;
    padding: 10px;
}

.notes-title {
    margin-bottom: 0.5rem;
}

#notes label {
    display: inline;
    border-bottom: none;
    margin: 0;
    font-size: 1.2rem;
}

.show label {
    font-weight: 450;
}

#notes .card-body {
    padding: 0.5rem;
    font-size: 0.8rem;
    line-height: 15px;
    margin-bottom: 0;
}

.note-en,
.note-id {
    color: #999999;
    font-size: 0.7rem;
    font-style: italic;
}

#notes p {
    margin-bottom: 0.5rem;
}

#notes hr {
    margin: 0;
}

#notes .btn-group {
    position: absolute;
    top: 5px;
    right: 5px;
}

.notes-wrapper {
    background-color: #ffffff;
    margin-bottom: 0.5rem;
    padding: 0 0.5rem;
}
