/*
--------------------------------------------------------------------------------
    Affects both Desktop and Mobile Styling
--------------------------------------------------------------------------------
*/
body, html {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    clear: none;
    vertical-align: baseline;
    font-family: "Trebuchet MS",Verdana,Arial,"Sans Serif";
    font-size: 15px;
    -webkit-text-size-adjust: 100%;
    background: whitesmoke;
}

body * {
    box-sizing: border-box;
    font-size: 15px;
    font-family: "Trebuchet MS",Verdana,Arial,"Sans Serif";
    outline: 0;
    border: 0;
    padding: 0;
    margin: 0;
    text-decoration: none;
    float: left;
    cursor: default;
}

input {
    -webkit-appearance: none;
    border-radius: 0px;
}

#ui-datepicker-div * {
    float: none;
}

#HeaderContent {
    width: 100%;
    background: #307096;
    background-image: -webkit-linear-gradient(top, #5989ab, #307096);
    background-image: -moz-linear-gradient(top, #5989ab, #307096);
    background-image: -ms-linear-gradient(top, #5989ab, #307096);
    background-image: -o-linear-gradient(top, #5989ab, #307096);
    background-image: linear-gradient(top, #5989ab, #307096);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5989ab', endColorstr='#307096',GradientType=0 );
}

#Header {
    height: 130px;
    overflow: hidden;
}

#ContentWrapper {
    padding-bottom: 50px;
}

#TopNav {
    min-height: 46px;
    border-width: 1px 0 5px 0;
    border-style: solid;
    border-color: #00527f;
    overflow: hidden;
    width: 100%;
    line-height: 20px;
    background: #307096;
    background-image: -webkit-linear-gradient(top, #5989ab, #307096);
    background-image: -moz-linear-gradient(top, #5989ab, #307096);
    background-image: -ms-linear-gradient(top, #5989ab, #307096);
    background-image: -o-linear-gradient(top, #5989ab, #307096);
    background-image: linear-gradient(top, #5989ab, #307096);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5989ab', endColorstr='#307096',GradientType=0 );
}

#NavContainer {
    width: 100%;
    margin: 0 auto;
    display: block;
    float: none;
}

#NavContainer ul {
    float: right;
    list-style: none;
    height: 40px;
    line-height: 40px;    
}

#NavContainer ul li {
    margin: 0 5px;
}

#NavContainer ul li:last-of-type {
    margin-right: 0;
}

#NavContainer ul li * {
    padding: 10px 20px 9px;
    font-size: 18px;
    line-height: normal;
    display: inline-block;
    color: white;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
}

#NavContainer ul li *:hover { 
    background: -moz-linear-gradient(top, #307096, #00527f);
    cursor: pointer;
}

#ContentWrapper,
#SearchBox, 
.section,
.table,
.tableHeader,
.row {
    width: 100%;
    margin: 0;
}

.section,
.table {    
    margin-top: 20px;
}

.table:first-of-type {
    margin-top: 0;
}

.sectionHeader {
    width: 100%;
    height: 40px;
    line-height: 40px;
    border-radius: 5px 5px 0 0;
    color: white;
    padding: 0 10px;
    background: #0369AE;
    background-image: -webkit-linear-gradient(top, #5989ab, #307096);
    background-image: -moz-linear-gradient(top, #5989ab, #307096);
    background-image: -ms-linear-gradient(top, #5989ab, #307096);
    background-image: -o-linear-gradient(top, #5989ab, #307096);
    background-image: linear-gradient(top, #5989ab, #307096);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5989ab', endColorstr='#307096',GradientType=0 ); 
}

.sectionHeader h2 {
    font-size: 18px;
    text-shadow: 0px 1px 0px #01426A;
    height: 100%;
    line-height: 40px;
    margin: 0;
}

.sectionContent {
    border: 1px solid lightgrey;
    border-top: none;
    padding: 10px;
    border-radius: 0 0 5px 5px;    
    width: 100%;        
    overflow: hidden;
    background: white;
}

.row,
.tableHeader {
    border-bottom: 1px solid lightgray;
    margin: 0;
    padding: 0 10px;
}

.row > * {
    display: inline-block;
}

.hasMessage {
    border-radius: 0;
    border-bottom: none;
}

.errorContainer {    
    width: 100%;
    padding: 10px 50px;
    text-align: center;
    color: red;
    background-color: #FFe9e9;
    border: 1px solid red;
    border-radius: 0 0 5px 5px;
    font-weight: bold;
}

.inError {
    color: red !important;
    border-color: red !important;
}

.question {
    width: 100%;
    margin: 3px 0;
}

.btn {    
    background-color: #5989ab;
    border-color: #00527f;
    color: #fff;
    -moz-user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    cursor: pointer;
    display: inline-block;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.42857;
    margin-bottom: 0;
    padding: 6px 20px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    min-width: 0px;
    min-height: 0px;
    text-decoration: none;
}

.btn:hover {
    background-color: #00527f;
    color: white;
    text-decoration: none;
}

.tableHeader {
    height: 35px;
    line-height: 40px;
}

.tableHeader .cell {
    font-weight: bold;
    font-size: 18px;
    line-height: 40px;
}

.buttonPanel {
    width: 100%;
    margin-top: 20px;
}

input[type="text"]:focus, 
input[type="text"]:active, 
input[type="password"]:focus, 
input[type="password"]:active {
    border: 1px solid #005EB8;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
    color: #191919;
}

input[type="date"], 
input[type="email"], 
input[type="password"], 
input[type="tel"], 
input[type="text"], 
textarea,
select {
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #BDBFB2;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1) inset;
    color: #191919;
    font-family: sans-serif;
    height: auto;
    margin: 5px 5px 3px 0;
    outline: medium none;
    padding: 4px 5px;
    width: 275px;
}

.hidden {
    display: none !important;
}

.row {
    height: 50px;
    line-height: 50px;
}

/*
--------------------------------------------------------------------------------
    Affects only Desktop Styling
--------------------------------------------------------------------------------
*/

@media screen and (min-width: 701px) {
    .infoButton {
        display: none;
    }

    #HeaderContent .mobileHeader {
        display: none;
    }

    #NavContainer,
    #PageContainer,
    #Header {
        float: none;
        width: 100%;
        max-width: 1000px;
        min-width: 700px;        
        margin: 0 auto;
        padding: 0 20px;
    }    
    
    #NavContainer {
        float: none;
    }

    .extender, 
    .mobileOnly {
        display: none;
    }

    .tableHeader {
        margin-top: 5px;
    }

    .row:hover {
        box-shadow: 0 0 7px grey;
    }

    .cell, 
    .cell * {
        height: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .cell .btn {
        height: 35px;
    }
}

/*
--------------------------------------------------------------------------------
    Affects only Mobile and Tablet Styling
--------------------------------------------------------------------------------
*/

@media screen and (max-width: 700px) {  
    body {
        width: 100vw;
        min-width: 320px;
    }

    body > *,
    body > * > * {
        width: 100%;
        overflow: hidden;
    }
    
    #HeaderContent {
        height: 80px;
        width: 100%;
    }

    #ContentWrapper {
        padding: 20px;
    }

    .infoButton {
        text-align: center;
        background: #00527f;
        padding: 9px 18px;
        margin-right: 10px;
        color: white;
        border-radius: 0 0 4px 4px;
    }
    
    .infoButton img {
        float: none;
        margin-top: 5px;
    }
    
    #ShowButtonMobile {
        position: fixed;
        right: 0;
    }
    
    #HideButtonMobile {
        z-index: 5;
        position: absolute;
        top: 0;
    }
    
    #Sidebar {
        display: none;
        position: fixed;
        right: 0;
        top: 0;
        padding: 10px;
        padding-top: 75px;
        height: 100vh;
        width: 300px;
        background: #307096;
    }
    
    .accountDetails {
        width: 100%;
    }
    
    .logoutButton {
        background: #00527f;
        color: white;
        font-size: 18px;
        width: 100%;
    }    
    
    #TopNav,
    .desktopHeading,
    #TopNav {
        display: none;
    }

    .accountDetails {
        display: block;
    }

    .extender {
        display: block;
        float: right;
        color: grey;
        font-size: 28px;
        width: 20px;
        text-align: center;
    }      

    .row {
        overflow: hidden;
        min-height: 50px;
        font-size: 18px;
    }

    .cell {
        height: 100%;
        line-height: 50px;
    }      

    .extended {
        height: auto;
    }

    .data {
        width: 100%;
    }

    .errorContainer {
        padding: 10px 20px;
    }  

    .desktopOnly {
        display: none !important;
    }

    .section:first-of-type {
        margin-top: 0;
    }   

    .question input,
    .question select {
        width: 100%;
        max-width: 275px;
    }

    .desktopHeading, #TopNav {
        display:none;
    }
    .mobileHeader {
        display:block;
    }
}

@media screen and (max-width:700px) {
    
}
