/* Extra small devices (portrait phones, less than 576px)
   No media query since this is the default in Bootstrap
   Defaults also go here (color scheme).
*/
nav.navbar{
    justify-content: space-between;
}
nav.navbar .btn {
    padding: .25rem .75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .25rem;
}
fieldset {
    padding: 5pt;
    border: 1px solid darkblue;
    border-radius: 4px;
}
fieldset > legend {
    font-size: 1.2rem;
    margin: 0 3pt;
    padding: 0 2pt;
    width: auto;
    color: darkblue;
}
#mainNav .nav-item .nav-link {background-color: darkblue; color: white; text-align: center; border-radius: 0; }
#mainNav .nav-item .nav-link:hover {background-color: blue; color: white;}
#mainNav .nav-item .nav-link.active {background-color: #e0e0ff; color: darkblue;}
#mainNav .nav-item .nav-link.disabled {background-color: white; color: #e0e0ff;}
#content-container {background-color: #e0e0ff; padding: 0 10pt;}
#content-container-base {background-color: #e0e0ff; padding: 0 10pt;}
#content {padding-bottom: 10pt;}
.modal {background-color:rgba(0,0,32,0.5);}
#content .nav.nav-tabs {background-color: white; color: darkblue; margin: 0 -10pt;}
#content .nav.nav-tabs .nav-item .nav-link {background-color: white; color: darkblue; border-color: darkblue;}
#content .nav.nav-tabs .nav-item .nav-link.active {background-color: #e0e0ff; color: darkblue; border-bottom: 0;}
#content .nav.nav-tabs .nav-item .nav-link.disabled {background-color: white; color: lightblue; border-color: lightblue;}

.main-title {
    width:100%;
    text-align:center;
    text-shadow:4px 4px 4px #000088;
    color:white;
    font-weight:bold;
    font-size: 4rem;
}
a.main-link {
    display:inline-table; width:100pt; height:60pt;
    margin: 4pt; padding: 4pt;
    text-align:center; text-decoration: none; vertical-align: middle;
    background-color: darkblue; color:white;
}
a.main-link:hover {background-color: blue;}
a.main-link div{display:table-cell; text-align:center; vertical-align: middle; width: 100%; height: 100%;}
.base {background-color: #e0e0ff;}
.narrow {max-width:400pt;}
.classhead {display:flex; justify-content: space-between; padding:5pt;}
.classhead .btn {margin: 0 1pt;}
/*bootstrap overrides**************************************************************************************************/
.btn-danger:focus { background-color: pink;}
.btn-success:focus { background-color: lightgreen; }
.btn-primary:focus { background-color: lightblue; }
/*list-box*************************************************************************************************************/
.list-box-modal {min-width:96%;}
.list-box-modal .btn-link {padding: 4pt;}
.list-box {}
.list-box .list-title {display:flex; justify-content:space-between;}
.list-box .list-title .pager {}
.list-box .list-title .summary {padding:5pt;}
.list-box .list-filter {}
.list-box .list-filter .column-controls {margin: 0; padding: 0pt 5pt;}
.list-box .list-filter .form-control {margin: 0}
.list-box .list-filter .filler {margin: 0 5pt; padding: 2pt 5pt; color:transparent;}
.list-box .list-filter input {}
.list-box .list-filter select {}
.list-box .list-filter button {}
.list-box .list-header {}
.list-box .list-header .column-label{ font-weight:bold; margin: 0; padding: 2pt 5pt;}
.list-box .list-body {}
.list-box .list-body .column-controls {margin: 0; padding: 0pt 5pt;}
.list-box .list-body .column-data {margin: 0; padding: 2pt 5pt; overflow:hidden;}
.list-box .list-body .filler {margin: 0; padding: 2pt 5pt; color:transparent;}

/**********************************************************************************************************************/
.coll-ctrls {display:flex; justify-content: space-between; background-color:transparent; border:0; padding:0;}
.form-control.coll-ctrls, .form-control.coll-filter, .form-control.coll-list {
    height: auto;
    margin-bottom: 2pt!important;
}
input.lookup {
    background: #fff url(/images/search-16.png) no-repeat scroll 8px 8px;
    background-position: right;
}
table.subclass {width:100%; margin: 5pt; background-color: white;}

.coll-ctrls .btn {margin-right: 2pt;}
.form-group label {font-size:small;}
.form-control {margin: 0 5pt; padding: 2pt 5pt;}
.file-container {margin: 0; padding: 0 6pt;}
.form-control.coll-list option {padding: 2pt 0;}
.form-control.coll-filter option {padding: 4pt 2pt;}
.file-edit {width:100%; margin:0; display: flex; flex-flow: row wrap; justify-content: space-between;}
.file-edit-container {padding:2pt 6pt; display:none;}
.file-edit-container.active {display:block;}
.file-edit-container .file-edit {margin:0 -6pt; width:inherit;}
.file-edit .form-control, .file-edit .form-control-file {display: inline-block; margin:0;}
.file-edit .btn { margin:0; vertical-align: top;}
.file-edit .file-text {flex:2 2 120pt;}
.file-edit .file-text.disabled {background: transparent;}
.file-edit .file-date {flex:1 1 80pt; /*min-width:140px;*/}
.file-edit .file-date.disabled {background: transparent;}
.file-edit div.file-date {width:23%; margin:0; /*min-width:140px;*/}
.file-edit .form-control-file {width:30%;}
.file-monitor {display:none; width:100%; padding: 2pt 5pt; margin: 0;}
.file-monitor.active {display:block;}
.file-monitor-inline {display: inline-block; width:50%; padding: 2pt 5pt; margin: 0;}
.file-edit .file-controls {display: inline-block; align-self:flex-end; flex:0 0 64pt; text-align: right;}
label.btn-file {
    position: relative;
    /*overflow: hidden;*/
    width: 64pt;
    /*max-width: max-content*/;
}
.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}
.list-group.files {background: transparent; /*margin-top: 5pt;*/ margin:0; width:100%;}
.list-group.files .list-group-item {background-color: transparent; padding:1pt 0pt; border:0}
.list-group.files .list-group-item .btn { margin-right:2pt;} 
.list-group.files .list-group-item a {margin:0 2pt;}
.list-record { border-top: 2px ridge lightcyan;}
.list-record .btn { padding: 0.2rem 0.4rem;}
.list-filter .btn { padding: 0.375rem 0.4rem;}
.modal-body .list-body {
    max-height: 50vh;
    overflow: scroll;
}
.modal-body .list-summary {
    display: none;
}
.modal-body {
    padding: 0 1rem;
}
span.closebox {float: right; cursor: pointer; font-weight:bold;}
#validation {min-width: 200pt; max-width:70%;}
.form-row {margin:2pt 0;}
.form-row .form-control {margin:0;}
.form-control.error {border-color:red; background-color: lightpink;}
.form-control.stamp-part {width:48%; display:inline-block; margin:0;}
.control-wrap {width: calc(100% - 5pt); padding: 0; background: transparent; border: 0; display:flex;}
.control-wrap.two-part, .control-wrap.three-part, .control-wrap.four-part {justify-content: space-between; padding: 0 5pt;}
.control-wrap.two-part .form-control {width:48%; display:inline-block; margin:0;}
.control-wrap.three-part .form-control {width:31%; display:inline-block; margin:0;}
.control-wrap.four-part  .form-control {width:23%; display:inline-block; margin:0;}
.control-wrap input[type=checkbox], .control-wrap input[type=radio] {width:20pt;}
.show-group {padding: 3pt 5pt;}
.show-item {font-weight: bold;}
.field-view-label{
    font-size: small;
}
.field-view-value{
    
}
#spinner {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5)
}
#spinner>div {
    align-items: center;
    width: 100%;
    height: 100%;
}
.table-head{background-color:#aad; margin-top:6pt; margin-left:3pt; padding:3pt 6pt; width:calc(100% - 6pt);}
.table-row{background-color:#eef; margin-left:3pt; padding:3pt 6pt; width:calc(100% - 6pt);}
.table-cell{padding:0; margin:0;}
.table-row .table-cell { border-bottom: 1px solid #aac;}
.table-ctrls {display:flex; justify-content: space-between; background-color:transparent; border:0; padding:0 6pt; margin:2pt 0pt;}
.static {padding: 3pt 5pt; }
/**********************************************************************************************************************/
#flash {
    position: fixed; top: 64px; left: 0;
    z-index: 10;
    opacity: 0.7;
    width: 100%;
    background-color: lightgray;
    color: black;
}
#flash ul {margin: 0 auto; max-width:1140px; /*todo: media*/}
#flash ul.error {color: red;}
#flash ul.warn {color: orange;}
#flash ul.info {color: blue;}
#flash ul.success {color: green;}
#flash .closer {position:fixed; top:64px; right:0; padding: 1pt; cursor: pointer;}

/**********************************************************************************************************************/
tr.filter input {width:100%;}
tr.filter select {width:100%; padding: 2pt 2pt;}
tr.filter button {padding: 2pt 4pt;}
.paginator-current-report, .paginator-first, .paginator-previous, .paginator-last, .paginator-next {padding: 2pt 4pt;}
button.row-action, a.row-action {padding: 2pt 4pt;}

/**********************************************************************************************************************/
/*lightbox*/
.lightbox-base { display: flex; margin:5pt;}
.lightbox-base .base-img { display: inline-block; width:200px; height:200px; margin: 3pt;}
.lightbox-base .base-img img { max-width:100%; max-height:100%;}
#modal-lightbox {
    background-color: rgba(0,0,32,0.8);
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    display: none;
    padding-top: 10pt;
    overflow: auto;
}
#modal-lightbox-title { height: 40px;}
#modal-lightbox-slides { 
    display:flex; justify-content: center;
}
#modal-lightbox-slides .slide {
    max-height: 100%;
    display: none;
}
#modal-lightbox-dots { 
    display:flex; justify-content: center;
}
#modal-lightbox-dots .dot {display: inline-block; margin: 4pt;}
/* Modal Content */
#modal-lightbox-content {
  margin: 0 auto;
  padding: 0;
  width: 90%;
  max-width: 1200px;
}
/* The Close Button */
#modal-lightbox .close {
  color: white;
  position: absolute;
  top: 10px;
  right: 25px;
  font-size: 32px;
  font-weight: bold;
}
#modal-lightbox .close:hover,
#modal-lightbox .close:focus {
  color: #999;
  text-decoration: none;
  cursor: pointer;
}
/* The Caption */
#modal-lightbox-caption {
  color: white;
  position: absolute;
  top: 10px;
  left: 25px;
  font-size: 28px;
}
/* Next & previous buttons */
#modal-lightbox .prev,
#modal-lightbox .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -50px;
  color: white;
  font-weight: bold;
  font-size: 20px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  -webkit-user-select: none;
}
/* Position the "next button" to the right */
#modal-lightbox .next { right: 0;}
#modal-lightbox .prev { left: 0;}
/* On hover, add a black background color with a little bit see-through */
#modal-lightbox .prev:hover,
#modal-lightbox .next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}
/* Number text (1/3 etc) */
#modal-lightbox .numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}
/* Caption text */
#modal-lightbox .caption-container {
  text-align: center;
  background-color: black;
  padding: 2px 16px;
  color: white;
}
#modal-lightbox .active {
  opacity: 1;
}
.lightbox-base img.hover-shadow {
  transition: 0.3s;
}
.lightbox-base .hover-shadow:hover {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

/**********************************************************************************************************************/
/*card scrolling carousel*/
.cards {
    display: flex;
    background-color: rgba(255,255,255,0.5);
    border: 1px inset gray;
    padding: 0;
    margin: 0 5pt;
}
.cards .scroll-left {
    width: 24pt;
    text-align:center;
    font-size: 20pt;
    /*background-color: rgba(0,0,255,0.1);*/
    border: 1px solid lightgray;
    display: flex;
    flex-flow: column;
    justify-content: space-around;
    cursor: pointer;
}
.cards .scroll-right {
    width: 24pt;
    text-align:center;
    font-size: 20pt;
    /*background-color: rgba(0,0,255,0.1);*/
    border: 1px solid lightgray;
    display: flex;
    flex-flow: column;
    justify-content: space-around;
    cursor: pointer;
}
.cards .viewport {
    width: 100%;
    overflow:hidden;
}

.cards .content{
    display: flex;
    flex-wrap: nowrap;
}

.cards .card{
    min-width: 80pt;
    display: inline-block;
    text-align: center;
    background-color: rgba(255,255,255,0.3);
}
.cards .card.selectable { cursor: pointer; }
.cards .card.active { border-color: cyan; background-color:white;}

.card-measure {width: 60pt;}

/**********************************************************************************************************************/
/*viewdata selector (forms)*/
.viewdata-selector {padding: 5pt;}
.viewdata-selector-container {padding: 5pt 0;}

.goodbad-label i { margin: 5pt; }
.goodbad-input i { border: 1px solid gray;}

.overdue {color: red}
/* Small devices (landscape phones, 576px and up) */

/* PDF */
.pdf-viewer {display:block;}
.pdfjs-container {width:100%; min-height:400px; overflow:auto;}

@media (min-width: 576px) {
    
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .field-view-label{
        width: 40%;
        display: inline-block;
    }
    .field-view-value{
        width: 60%;    
        display: inline-block;
    }
    #validation {min-width: 100pt; max-width:50%;}
}
/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    #mainNav {
        position: absolute; top: 72pt; left: 0px; width: 120pt;
        display: block;
    }
    #mainNav .nav-item {margin-bottom:2pt;}
    #mainNav .nav-item .nav-link {height:64px; vertical-align: middle;}
    #content-container {margin-left: 120pt; margin-right:10pt;}
    #content-container-base {margin-left: 10pt; margin-right:10pt;}
    .form-control {margin: 0 5pt; padding: 2pt 5pt; width: calc(100% - 15pt)}
    .form-group label {font-size:medium;}
    #validation {min-width: 400pt; max-width:30%;}
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    
}
