/* Base styles - matching original ASP.NET site */
body {
    font-family: Arial, sans-serif;
    font-size: 12pt;
    font-weight: normal;
    margin: 0;
    padding: 0;
    background-color: #fff;
}

h1 {
    font-weight: bold;
    font-size: larger;
    text-decoration: underline;
}

h2 {
    text-decoration: underline;
    font-size: larger;
}

noscript {
    font-weight: bold;
    text-transform: uppercase;
    color: #990000;
}

li {
    list-style-type: circle;
}

a {
    color: #0000EE;
}

/* Layout */
.site-wrapper {
    text-align: center;
}

.site-table {
    width: 780px;
    border-collapse: collapse;
    margin: 0 auto;
    border-spacing: 0;
}

.header-cell {
    border-bottom: #434d5d thin solid;
    font-weight: bold;
    font-size: 30pt;
}

.header-cell img {
    display: block;
}

/* Navigation Menu */
.nav-cell {
    text-align: left;
    height: 30px;
    padding: 0;
}

.nav-menu {
    width: 780px;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.nav-menu > li {
    list-style: none;
    position: relative;
}

.nav-menu > li > a {
    display: block;
    background-color: RoyalBlue;
    color: WhiteSmoke;
    padding: 2px 5px;
    border: 1px solid;
    text-decoration: none;
    font-size: 12pt;
    white-space: nowrap;
}

.nav-menu > li > a:hover {
    background-color: CornflowerBlue;
    color: White;
}

/* Dropdown - Level 2 */
.nav-menu .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    z-index: 1000;
    min-width: 200px;
}

.nav-menu li:hover > .submenu {
    display: block;
}

.nav-menu .submenu li {
    list-style: none;
    position: relative;
}

.nav-menu .submenu li a {
    display: block;
    background-color: RoyalBlue;
    color: WhiteSmoke;
    padding: 2px 5px;
    text-decoration: none;
    font-size: 12pt;
    white-space: nowrap;
    border: none;
}

.nav-menu .submenu li a:hover {
    background-color: CornflowerBlue;
    color: White;
    border: 1px solid;
}

/* Sub-submenu - Level 3 */
.nav-menu .submenu .submenu {
    top: 0;
    left: 100%;
}

/* Content area */
.content-cell {
    text-align: left;
    font-size: 12pt;
}

/* Footer */
.footer-cell {
    border-bottom: #434d5d thin solid;
    background-color: #b8d3ff;
    font-size: 10pt;
    text-align: center;
    padding: 5px;
}

.footer-cell a {
    color: #0000EE;
}

/* Page content tables */
.page-table {
    width: 100%;
    border-spacing: 5px;
}

.page-content-cell {
    border-bottom: #434d5d thin solid;
    text-align: left;
    font-size: 12pt;
}

.sidebar-cell {
    vertical-align: top;
}

.main-content-cell {
    vertical-align: top;
}

/* Contact form */
.contact-sidebar {
    border-bottom: #434d5d thin solid;
    width: 250px;
    vertical-align: top;
}

.contact-form-cell {
    border-bottom: #434d5d thin solid;
    text-align: left;
    width: 540px;
    vertical-align: top;
}

.contact-form input[type="text"],
.contact-form textarea,
.contact-form select {
    width: 300px;
}

.contact-form td {
    padding: 2px;
}

.contact-form .label-cell {
    text-align: right;
    white-space: nowrap;
}

.validation-error {
    color: red;
    font-size: 10pt;
}

.thank-you-message {
    background-color: #FFFF80;
    padding: 5px;
}

#contact-status {
    background-color: #FFFF80;
    padding: 5px;
    margin-bottom: 10px;
}

/* Home page images */
.home-image-cell {
    border-bottom: #434d5d thin solid;
    text-align: center;
}

/* Quote sidebar */
.quote-cell {
    text-align: center;
    font-style: italic;
}

.quote-cell .attribution {
    font-size: 10pt;
    font-weight: bold;
    font-style: normal;
}

/* Services list table */
.services-list td {
    padding: 1px 0;
}
