
.form-field {
    align-items:center;
    padding-bottom:1rem;
}
.form-table {
    background-color:white;
    padding:1rem;
}
.form-table > div.title {
    display:flex;
    flex:1;
    padding:0rem 1rem;
    margin-top:.5rem;
        padding-top: .5rem;
    border: solid 1px lightgray;
    border-top-left-radius:.5rem;
    border-top-right-radius:.5rem;
    border-bottom:none;
}
.form-table label {
    margin:0;
}
.form-table > div.title > label {
    font-size: 1.2em;
}


.form-table table {
    padding: .5rem;
    border: solid 1px lightgray;
    border-top:solid 1px gainsboro;
}

.form-table table thead {
    font-size:1rem;
}
.form-table table .empty-row td {
    height: 3rem;
    font-size: 1.2rem;
}

.form-table table thead th {
   padding: 0rem .5rem;
    margin: 0;
    background-color: gainsboro;
    cursor:pointer;
    transition: all .2s ease-in-out;
    user-select:none;
    text-align:left;
    color:#373737;
}
.form-table table thead th:hover
{
    background-color:silver;
}
.form-table table thead th:active
{
    background-color:lightgray;
    transition: all .2s;
}
.form-table table thead th.sort
{
    cursor:pointer;
}
.form-table table thead th div
{
    display:flex;
    align-items:center;
    white-space:nowrap;
}
.form-table table thead th.right
{
    text-align:right;
}
.form-table table thead th.center
{
    text-align:center;
}
.form-table table thead th.actions
{
    text-align:center;
}
.form-table table .first-row
{
    width:10px;
    padding: 0rem .1rem;
    cursor:default;
}
.form-table table .last-row
{
    width:10px;
    padding: 0rem .1rem;
    cursor:default;
}
.form-table table thead th.first-row
{
    background-color:gainsboro !important;
}
.form-table table thead th.last-row
{
    background-color:gainsboro !important;
}
.form-table table tbody td {
    background-color:white;
    border-bottom: solid 1px lightgray;
}
.form-table table tbody td::alternate {
    background-color:whitesmoke;
}
.form-table table tbody td.right {
    
    text-align:right;
}
.form-table table tbody td.center { 
    
    text-align:center;
}
.form-table table tbody td.actions {
    
    text-align:center;
}
.form-table table thead th div span
{
   padding: 0rem .5rem;
    flex:1;
}
.form-table table thead th div i
{
    cursor:pointer;
   padding: 0rem .5rem;
   display:none;
}


.form-table table tbody tr {
   padding: 0;
    margin: 0;
}
.form-table table tbody td {
       padding: .5rem .5rem;
    padding-top: 0;
    margin: 0;
    cursor:default;
    font-size:1rem;
    height: auto;
    vertical-align: middle;
}
.form-table table tbody div
{
   padding: 0rem .5rem;
}
.form-table table tbody td span {
   padding: 0rem .5rem;

}
.form-button {
  display: inline-flex;
  align-items:baseline;
  cursor:pointer;
}
    .form-button i {
        padding-right: .5rem;
        cursor: pointer;
        color: #373737;
    }
    .form-button label {
        cursor: pointer;
        user-select: none;
        color: #373737;
    }
.form-table table tbody td input {
   padding: 0rem .5rem !important;
    margin-bottom: 0;
    padding: 0;
    font-size: 1rem;
}

.form-table table {
    margin-bottom:0;
}

.form-table .status-row {
    border: solid 1px lightgray;
    border-top:none;
}

.form-table table .button
{
    padding: 0rem 1rem;
    font-size: 1rem;
    margin: 0;
    margin-left: .5rem;
    margin-top: .2rem;
}


.spacer {
    flex:1;
}


.form-window-background {
    display:none;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: #373737;
    z-index: 1000;
    opacity: 0;
    transition: all .2s;
}
.form-window-background.show
{
    opacity: 0;
}
.form-window {
    display:none;
    flex-direction:column;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1001;
    opacity: 0;
    overflow:auto;
}
.form-window.show
{
    opacity: 1;
}
.form-window-top {
    flex:1;
}
.form-window-bottom {
    flex:1;
}
.form-window-content {
    min-width: 15%;
    /*background-color: white;*/
    /* height: 100px; */
    text-align: center;
    align-self: center;
}

.form-section table {
    margin-bottom:0;
}
.form-section .header {
    display:flex;
    align-items:center;
    padding:1.5rem 3rem;
        border-bottom: solid 1px lightgray;
    margin-bottom: 1rem;
    padding-bottom:0 !important;
}
.form-section .header h3 {
    margin:0;
    padding:0;
    color:#373737;
    /*user-select:none;*/
}
    .form-section .header i {
        padding: .5rem;
        padding-right: 1rem;
        /* padding-bottom: 1rem; */
        color: #373737;
        font-size: 1.4rem;
        position: relative;
        top: -3px;
    }
.form-window .form-window-content {
    min-width: 40%;
    max-width: 40%;
    max-height: 90%;
    text-align: initial;
    background-color: #f9fafc;
    border: solid 1px cornflowerblue;
    border-radius: .5rem;
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
    overflow:auto;
}
.form-window .form-window-content .content
{
    margin:1.5rem;
    margin-bottom:.5rem;
}
.form-window .form-field {
    padding: 0;
    margin: 0;
   
    border:none;
    vertical-align:baseline;
}
.form-window .textarea-field
{
    vertical-align:top !important;
}
.form-window .textarea-field label {
    position:relative;
    top:.5rem;
}
.form-window .form-field label
{
    text-align:right;
    padding-right:.5rem;
}
.form-window .form-field input[type=password] {   
    width: -webkit-fill-available;
}
.form-window .form-field input[type=text] {   
    width: -webkit-fill-available;
}
.form-window .form-field input[type=number] {   
    width: -webkit-fill-available;
}
.form-window .form-field select {
    
    width: -webkit-fill-available;
}
.form-window .form-field textarea {
    padding: .5rem;
    min-height: 10rem;
        background-color: white;
    border: solid 1px lightgray;
    width: -webkit-fill-available;
}
.form-window .footer .form-buttons {
    padding: 1rem;
    border-top: solid 1px lightgray;
    display:flex;
    align-items:baseline;
    margin-top:.5rem;
}


.status-row .form-status {
    margin-top:.2rem;
    padding: .5rem 1rem;
    border: solid 1px #e41e27;
    color: #e41e27;
    background-color: rgba(255, 0, 0, .2);
}


.form-spinner,
.form-spinner:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.form-spinner {
  margin-right:.5rem;
  font-size: 3px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(50, 50, 50, 0.2);
  border-right: 1.1em solid rgba(50, 50, 50, 0.2);
  border-bottom: 1.1em solid rgba(50, 50, 50, 0.2);
  border-left: 1.1em solid cornflowerblue;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


.input-group label {
    cursor:pointer;
}

.input-group label .selection {
    flex:1;
}


.form-table table .id
{
    width: 1%;
    white-space: nowrap;
}
.form-table table .actions
{
    width: 1%;
    white-space: nowrap;
}
.form-table table .checkbox
{
    width: 1%;
    white-space: nowrap;
}

.form-tabs {
    padding: 2rem;
    background-color:white;
}
.form-tab-items {
    display:flex;
    flex-flow:wrap;
}
.form-tab {
    border: solid 1px lightgray;
}
    .form-tab i {
        margin-right: .3rem;
        color: #373737;
    }
    .form-tab a {
        padding: .5rem 1rem;
        display: flex;
        align-items: baseline;
        cursor: pointer;
        user-select: none;
        color: #373737;
        transition: .3s ease-in-out;
        margin: -1px;
    }
.form-tab a:hover {
    background-color:lightgray;
}
.form-tab a:active {
    color:white;
}
.form-tab a label {
    cursor:pointer;
    margin-bottom: 0;
    color:inherit;
    user-select:none;
}
.form-tab-contents {    
    border: solid 1px lightgray;
}
.form-tab-content {
    display:none;
}
.form-tab-content.show {
    display:inherit;
}
.form-tab.select a {
    color: #44c455;
}
.form-tab.select a label {
    color: #44c455;
}

.form-buttons .status-row {
    margin-right:.5rem;
    flex:1;
    display:flex;
    align-items:center;
}
.form-section-message {
    /* padding: .5rem 1rem; */
    padding-bottom: 0rem;
    padding-top: 0;
    /* padding-left: 2rem; */
    width: 100%;
    text-align: center;
    color: #373737;
    /* font-weight: bold; */
    font-size: 1.2rem;
}

.form-filters {
    background-color:#f9fafc;
    border-top: solid 1px lightgray;
    border-left: solid 1px lightgray;
    border-right: solid 1px lightgray;
    padding-bottom:1.5rem;
}
.form-filters .header {
    display: flex;
    align-items: center;
}
    .form-filters .header h3 {
        font-size: 1.5rem;
        /* margin-bottom: 0; */
        /* margin-left: .5rem; */
        /* margin-top: 1rem; */
        border-bottom: solid 2px #373737;
        flex: 1;
        /* padding-bottom: .5rem; */
        margin: 1rem 1.2rem;
    }
    .form-filters .content {
        padding: 0rem 1.2rem;
        color: #373737;
    }
.form-filters .content .message
{
    padding-bottom:1rem;
    font-size:1.2rem;
}
.form-filters .form-buttons {
    padding:0 1rem;
    padding-left:7.5rem;
}

.form-filters .form-field {        
    display:flex;
    align-items:center;
}
.form-filters .form-field label {        
    font-size: 1rem;
    min-width:6.5rem;
    text-align:right;
    padding:0 1rem;
}
.form-filters .form-field select {
        margin-bottom: 0;
    height: auto;
    font-size: 1rem;
    background-color:white;
    border: solid 1px lightgray;
}

.form-filters .form-field {
   
}
.form-filters .form-field label
{
    
}
.form-filters .form-field input {
    
}
.form-filters .form-field.info input
{
   
}
.form-filters .form-field select {
  
}
.form-filters .form-field textarea {
   
}
.form-button {
    border: solid 1px lightgray;
}