html,
body
{
    margin:0;
    padding:0;
    font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
    color: #333333;
}

.app-header {background: #1a568c; color: #F0F0F0; border-radius: 0px; margin-bottom: 0px;}
.app-desc {margin-right: 7px;}
.navbar-brand, .navbar-text {color: #F0F0F0;}
.navbar-brand:hover, .navbar-brand:visited {color: #F0F0F0;}
.navbar-header .navbar-brand img {display: inline; margin-top: -5px; padding-right: 10px;} 
.navbar-sections .navbar-nav > li > a {
	padding-top:6px !important; padding-bottom:0 !important;
	height: 32px;
}
.navbar-sections {min-height:32px !important;}
.nav-tabs > li > a {padding: 5px 10px; background: #f8f8f8; border-color: #e7e7e7}

body
{
    display: flex;
    min-height: 100vh;
    flex-direction: column;
}

body.wait,
body.wait *
{
    cursor: wait !important;
}

table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}
table tr th,
table tr td {
    border-right: 1px solid #BBBBBB;
    border-bottom: 1px solid #BBBBBB;
    padding: 6px 5px 5px 5px;
}
table tr th:first-child,
table tr td:first-child {
    border-left: 1px solid #BBBBBB;
}
table tr th:first-child,
table tr td:first-child {
    border-left: 1px solid #BBBBBB;
}
table tr th {
    background: #eee;
    text-align: left;
    color: #666666;
}

table tr:first-child th,
table tr:first-child td
{
    border-top: 1px solid #BBBBBB;
}

/* top-left border-radius */
table tr:first-child th:first-child,
table tr:first-child td:first-child {
    border-top-left-radius: 4px;
}

/* top-right border-radius */
table tr:first-child th:last-child,
table tr:first-child td:last-child {
    border-top-right-radius: 4px;
}

/* bottom-left border-radius */
table tr:last-child th:first-child,
table tr:last-child td:first-child {
    border-bottom-left-radius: 4px;
}

/* bottom-right border-radius */
table tr:last-child th:last-child,
table tr:last-child td:last-child {
    border-bottom-right-radius: 4px;
}

h1
{
    font-weight: normal;
}

h2
{
    margin: 0px;
    font-weight: normal;
}

button,
input
{
    outline: none;
}

input
{
    font-size: 16px;
    padding: 3px 5px;
    border-radius: 4px;
    border: 1px solid #999999;
}

button
{
    padding: 6px 12px;
    margin: 0px;
    background: #333333;
    color: #DDDDDD;
    border: 1px solid #333333;
    border-radius: 3px;
}

button:not([disabled]):hover
{
    color: #FFFFFF;
}

button:active
{
    border-color: #FFFFFF;
}

button[disabled]
{
    opacity: 0.6;
}

.hflex
{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

.vflex
{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

.hflex > *,
.vflex > *
{
}

.scroll-box
{
    overflow: auto;
}

#content
{
    margin: 15px 75px;
    flex: 1;
}

#content > *
{
    width: 100%;
}

#header
{
    background: rgb(1, 45, 107);
    color: #F0F0F0;
    padding: 10px 15px;
    height: 50px;
    display: flex;
    flex-direction: row;
    align-items: center;
}

#header h1, #header h2
{
    font-weight: normal;
    margin: 2px;
    padding: 0px;
    display: inline-block;
}

#header h1
{
    font-size: 28px;
}

#header h2
{
    color: #CCCCCC;
    font-size: 16px;
    font-style: italic;
}
#header a {
	color: #CCCCCC;
}

.section
{
    padding: 0px;
    margin: 30px 0px;
    overflow: hidden;
}

.section-title
{
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #333333;
    margin: 5px 3px;
}

#footer
{
    width: 100%;
    height: 70px;
    color: #EEEEEE;
    background: #1a568c;
}

#footer .csg-logo
{
    position: relative;
    background-image: url("/static/img/csg-banner.png");
    background-repeat: no-repeat;
    background-size: contain;
    margin: 20px 10px;
    height: 25px;
}

#back_arrow
{
    margin: 0px 15px;
    fill: #BBBBBB;
    height: 40px;
    width: 40px;
}

#back_arrow:hover
{
    fill: #666666;
}

.vertical-align {
    display: flex;
	align-items: center;
}
