* {
    font-family:Roboto, Lato, Arial;
    font-size:0.8rem;
}

html,
body {
    height: 100%;
    background-color: #f8f8f8;
}


h1 {
    font-size:1.8rem;
    line-height: 1.8rem;;
    font-weight: normal;
    margin-top:0px;
    margin-bottom:1.0rem;
}

small {
    font-variant: small-caps;
}

h2 {
    font-weight: normal;
}

h3 {
    font-size:19px;
    line-height: 19px !important;
    color:#fff;
    background-color:#004B8B;
    margin-top:20px;
    padding:8px 10px;
}

h4 {
    font-size:15px;
    color:#333;
    margin-top:13px;
    font-weight: bold;
}

p {
    margin-top:0px;
    margin-bottom:10px;
}

ol, ul {
    margin-top:0px;
    margin-bottom:10px;
    margin-left:0px;
    padding-left:32px;
}



.clear {
  clear:both;
}

.right {
  float:right;
}

.left {
    float:left;
}

/** LOGIN FORM **/

.login-form {
  width: 25rem;
  position: fixed;
  top: 50%;
  margin-top: -9.375rem;
  left: 50%;
  margin-left: -12.5rem;
  background-color: #ffffff;
  opacity: 1.0;
}

.login-form h1 {
  margin-top:0px;
}



/*** TABLES ***/

/** CAROUSEL **/
.carousel-wrapper {
    border:1px solid #aaa;
}


/** GRID IMAGES **/

.grid-col{
  height:150px;
  margin-top:0px;
  margin-left:0px;
  margin-right:0px;
  margin-bottom:0px;
  text-align:center;
  position:relative;
}

.grid-image {
  padding:0px;
  vertical-align: middle;
}

.grid-image-frame {
  margin:0px;
    margin-left: 0;
    margin-right: 0;
  vertical-align: middle;
  border:1px solid #aaa;
  height: calc(100% - 0px);
}

.grid-image-helper {
    display: inline-block;
    height:100%;
    vertical-align: middle;
}


.grid-image-overlay {
  display:none;
  background-color:#0072C6;
  z-index:10000;
  color:#fff;
  opacity:0.85;
  border-left:8px solid #f8f8f8;
  border-right:7px solid #f8f8f8;
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  font-size:16px;
  padding:10px;
  vertical-align:middle;
  height:100%;
}

.grid-image-overlay-frame {
  height:100%;
  display: flex;
  justify-content:center;
  align-content:center;
  flex-direction:column; /* column | row */
  border:1px solid #fff;
  padding:5px;
}


.wrapper {
  padding-top:3.1rem;
  padding-bottom:20px;
}


.content-body {
    padding-top:calc( 45px + 0.6rem);
}

.col-wrapper {
  /*padding:5px;*/
}

/*** START MENU ***/


.container-start-menu {
  padding:20px;
}

.container-start-menu .tile-group {
  margin-left:0px;
  margin-right:35px;
}



/*** JUMBOTRON ***/

.jumbotron {
    text-align: center;
    background-color: transparent;
}

.jumbotron .btn {
    font-size: 21px;
    padding: 14px 24px;
}

/*** OTHERS ***/

.not-set {
    color: #c55;
    font-style: italic;
}


.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}


aside {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color:#222;
    transition: all .5s ease;
    z-index: 200000;
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
}
.open {
    opacity: 1;
    visibility: visible;
}

.close {
    position: fixed;
    top: 40px;
    right: 60px;
    color: white;
    z-index: 3;
    cursor: pointer;
    font-family: sans-serif;
}
.close span,
.close span:before,
.close span:after {
    border-radius: 4px;
    height: 5px;
    width: 35px;
    background: white;
    position: absolute;
    display: block;
    content: '';
}
.close span {
    background: transparent;
}
.close span:before {
    transform: rotate(45deg);
}
.close span:after {
    transform: rotate(-45deg);
}



.panel .panel-content {
    padding:15px;
    overflow: hidden;
}


.plot {
    border:1px solid #ccc;
    margin-bottom:20px;
}


.flashbox {
    padding:15px;
    margin-bottom:10px;
    text-align: left;
    font-size:100%;
}


.flashbox.error-msg {
    color:#800;
    background-color:#FEE;
    border:1px solid #800;
}


.flashbox.success-msg {
    color:#080;
    background-color:#EFE;
    border:1px solid #080;
}




.record-footer {
    font-size:70%;
    text-align: center;
    border-top:1px solid #ddd;
    padding:3px;
    background-color: #6080ad;
    color:#fff;
}






.panel-details-table {
    width:100%;
}

.panel-details-table td:first-child {
    width:50%;
}

.panel-details-table td {
    margin:0px;
    padding-right:10px;
    padding-top:10px;
    padding-bottom:10px;
    vertical-align: top;
    border-bottom:1px solid #ccc;
}

.panel-details-table tr:first-child td {
    padding-top:0px;
}

.panel-details-table tr:last-child td {
    padding-bottom:0px;
    border-bottom:0px;
}