html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.fp-boxborder-red {
    border:solid;
    border-width:1px;
    border-color:red;
}
.fp-boxborder-blue {
    border: solid;
    border-width: 1px;
    border-color: blue;
}
.fp-boxborder-subtle {
    border: solid;
    border-width: 1px;
    border-color: lightgray;
}
.fp-boxborder {
    border: solid;
    border-width: 1px;
    border-color: black;
}

.btn-group-fp-xs > .btn, .btn-fp-xs {
    padding: .25rem .4rem;
    font-size: .825rem;
    line-height: .5;
    border-radius: .2rem;
}

.fp-h-formspan {
    padding-top: 1em;
}

.fp-h-formctrl {
    padding-top: .28715
    ngem;
}

.fp-h-formcheck {
    padding-top: .33em;
}

.fp-form-checkbox {
    margin-top: .85em;
}

.fp-h-formcap {
    padding-top: .15em;
}

.fp-form-heading {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    margin-bottom: 3vh;
}

.fp-underlined-table-heading {
    border-bottom-style: solid;
    border-bottom-width: 1px;  
}

.fp-form-heading-centered {
    text-align: center;
}

.fp-text-emphasise {
    font-weight:600;
}

.fp-searchbox {
    position: absolute;
    top: 50vh;
    left: 50vh;
    height: 30vh;
    width: 25vh;
    z-index: 120;
    background-color: aliceblue;
    opacity: 1;
    border: solid;
    border-width: 2px;
}

.fp-vscrollbox {
    overflow-y: auto;
    overflow-x:hidden;
}

.fp-overlaidform {
    background-color: white;
    opacity: 1;
    border-style: solid;
    border-width: 2px;
    border-color: black;
    position: absolute;
    z-index:99;
}

.fp-fake-bs-dialog {
    background-color: white;
    opacity: 1;
    border-radius:4px;
    left: 35vw;
    top: 3vh;
    position: absolute;
    z-index: 99;
}

.fp-overlaybackground {
    position: fixed; /* Sit on top of the page content */
    display: none; /* Hidden by default */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5); /* Black background with opacity */
    z-index: 80; /* Specify a stack order in case you're using a different order for other elements */
    cursor: pointer; /* Add a pointer on hover */
}

.fp-spinner-overlay {
    position: fixed; /* Sit on top of the page content */
    display: none; /* Hidden by default */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;    
    z-index: 200; /* Specify a stack order in case you're using a different order for other elements */
    cursor: pointer; /* Add a pointer on hover */
}

.fp-spinner-overlay .fp-spinner {
    position: absolute;
    top: 48vh;
    left: 48vw;
}

.fp-formfield-xshort {
    width: 10em;
}

.fp-formfield-xxshort {
    width: 7em;
}

.fp-formfield-short {
    width: 15em;
}
.fp-formfield-medium {
    width: 25em;
}
.fp-formfield-long {
    width: 30em;
}

.fp-formfield-xlong {
    width: 50em;
}

.fp-formfield-xxlong {
    width: 75em;
}

.w3-tableFixHead {
    overflow-y: auto;
    height: 106px;
}

.w3-tableFixHead thead th {
    position: sticky;
    top: 0;
    background-color: aliceblue;
    opacity: 1;
}

.und tbody {
    border-style: none;
}
.w3-tableFixHead th, td {
    padding: 8px 16px;
}

.fixed_header tbody {
    display: block;
    overflow: auto;
}

.fixed_header thead tr {
    display: block;
}

.fp-detailpage-heading {
    height: 5vh;
}

.fp-detailpage-maincontainer {
    border-style: solid;
    border-width: 1px;
    height: 85vh;
}

.fp-detailpage-sidebarcontainer {
    border-right-style: solid;
    border-width: 1px;
    border-color: grey;
}

.fp-detailpage-sublist-header {
    margin-left:1em; 
    margin-top:1em
}

.fp-sidebar-disabled {
    background-color: lightgray;
}

.fp-detailpage-bodycontainer {
    padding: 0px;
}

.fp-detailpage-bodyuppersection {
    border-bottom-style: solid;
    border-width: 1px;
    border-color: grey;
}

.fp-popover {    
    background-color: aliceblue;
}

.fp-popover-20 {
    width:20%;
    background-color: aliceblue;
}

.fp-popover-narrow {
    width: 10em;
    max-width: 10em;
}

.fp-popover-standard {
    width: 30em;
    max-width: 30em;
}

.fp-popover-medium {
    width: 50em;
    max-width: 50em;
}

.fp-popover-wide {
    width: 90em;
    max-width: 90em;
}

.fp-popover-x-wide {
    width: 120em;
    max-width: 120em;
}

.fp-popover-xx-wide {
    width: 200em;
    max-width: 200em;
}

.fp-popover-xxx-wide {
    width: 500em;
    max-width: 500em;
}

.btn-fp-sidebar {
    width:100%;
    margin-bottom:1em;
}

.fp-report-cell {
    /*border-style:solid;*/
    border-style: solid solid hidden hidden;
    border-width: 1px;
    border-color: lightgray;
}

/* Redundant? update and use fp-report-header-cell instead */
.fp-report-header {
    border-style: solid;
    border-width: thin;
    background-color: lightgray;
}

.fp-report-header-cell {
    font-weight:bold;
}

.fp-report-stripedrow {
    background-color: silver;
}

.fp-report-outer-cell {
    border-style: solid solid hidden hidden;
    border-width: thin;
}

.fp-report-outer-cell-left {
    border-style: solid solid hidden solid;
    border-width: thin;
}

.fp-report-outer-cell-lastrow {
    border-style: solid solid solid hidden;
    border-width: thin;
}

.fp-report-block-header {
    margin-top:1em;
}

.fp-vspaced-row {
    margin-top: 1em;
}

.fp-vspaced-row-slight {
    margin-top: .33em;
}

.fp-vspaced-row-large {
    margin-top: 3em;
}

.fp-nowrap {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media all {
    .fp-report-container {
        height:100%;
    }
}

/*This is to scale the pages to fit on a tablet in landscape view*/
@media (max-device-width: 1280px) and (orientation: landscape) {
    html {
        font-size: .65em;
    }
}

@media print {
    html {
        /*font-size:.65em;*/
        font-size: .85em;
    }

    .fp-report-container {
        height: auto;
    }

    .pagebreak {
        /*page-break-after:always;*/
        break-after:page;
    }

    .fp-report-footer {        
        width: 100%;        
    }

    /*Not as one would wish. When there are multiple instances of the basic report this ends up with 
    mutliple instances on top of each other at the bottom of the entire report*/
    .fp-report-footer {
        position: fixed;
        width: 100%;
        bottom: 0;
    }

    hr {
        display: block;
        height: 1px;  
        background: transparent;
        width: 100%;
        border: none;
        border-top: solid 1px black;
    }
}

@page landscape {
    size:A4 landscape;
}

.landscapereport {
    page: landscape;
}

@page portrait {
    size: A4 portrait;
}

.portraitreport {
    page: portrait;
}