/* ============================================
   TICOR TITLE - PRODUCTION STYLESHEET
   Base styles matching ticortitle.com production
   with CSP-compliant utility classes replacing
   all inline styles
   ============================================ */

/* ============================================
   BASE / RESET STYLES (from production)
   ============================================ */

body {
    margin: 0 auto;
    text-align: center;
    height: 100%;
}

tablefooter {
    border-collapse: collapse;
}

td {
    font-family: Tahoma;
    font-size: 13px;
    color: #000000;
    letter-spacing: 1;
    line-height: 17px;
}

p {
    font-family: Tahoma;
    font-size: 13px;
    color: #000000;
    letter-spacing: 1;
    line-height: 17px;
}

th {
    font-family: Tahoma;
    font-size: 13px;
    color: #000000;
    letter-spacing: 1;
    line-height: 17px;
}

a, .content a:visited, .content a:active {
    font-size: 13px;
    color: #00182D;
    font-weight: bold;
    text-decoration: underline;
}

a:hover {
    font-size: 13px;
    color: #8AA38F;
    font-weight: bold;
    text-decoration: underline;
}

.boxBody a, .boxBody a:visited, .boxBody a:active {
    color: #00182D;
    font-weight: bold;
    text-decoration: underline;
    font-size: 13px;
}

.boxBody a:hover {
    color: #8AA38F;
    font-weight: bold;
    text-decoration: underline;
    font-size: 13px;
}

.boxBody2 a, .boxBody2 a:visited, .boxBody2 a:active {
    color: #00182D;
    font-weight: bold;
    text-decoration: underline;
    font-size: 13px;
}

.boxBody2 a:hover {
    color: #8AA38F;
    font-weight: bold;
    text-decoration: underline;
}

.ErrorLabel {
    color: Red;
    font-weight: bold;
}

.SuccessLabel {
    color: Green;
    font-weight: bold;
}

.goButton {
    height: 24px;
    width: 25px;
    vertical-align: top;
}

/* ============================================
   HEADINGS & HORIZONTAL RULE (from production)
   ============================================ */

.pageTitle {
    padding: 10px;
    background: #dddddd url(../images/headerTitleBG.jpg) repeat-x top left;
}

.pageTitle h1 {
    color: #444;
    font-weight: bold;
    font-family: Tahoma;
    font-size: 18px;
    margin-bottom: 0px;
    letter-spacing: 1;
    text-transform: uppercase;
}

h1 {
    color: #000;
    font-weight: bold;
    font-family: Tahoma;
    font-size: 18px;
    text-transform: uppercase;
}

h2 {
    color: #000;
    font-weight: bold;
    font-family: Tahoma;
    font-size: 18px;
}

h3 {
    color: #193949;
    font-size: 14px;
    font-family: tahoma;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0px;
}

hr {
    border: 0;
    height: 1px;
    color: #000000;
    background-color: #000000;
}

/* ============================================
   MAIN LAYOUT (from production)
   ============================================ */

.mainBody {
    width: 1000px;
    height: 100%;
    background-color: #E5DCCB;
}

table.leftMenu {
    background: #A1B7CF url(Images/leftMenuBottom_bg.jpg) bottom left repeat-x;
    height: 100%;
}

/* ============================================
   MENU STYLES (from production)
   ============================================ */

.menuHolder {
    width: 100%;
    background-color: #fff;
    border-collapse: collapse;
    text-align: right;
    padding-bottom: 20px;
}

.StaticMenuStyle {
    background: fff;
    font-size: 10px;
}

.StaticMenuStyle td {
    font-weight: normal;
    height: 100%;
    text-align: center;
    font-size: 12px;
}

table.StaticMenuStyle table {
    border-right: 1px solid #ddd;
    font-size: 10px;
}

.StaticMenuStyle a, .StaticMenuStyle a:visited, .StaticMenuStyle a:active {
    font-family: Tahoma;
    color: #2E6B89;
    text-decoration: none;
    padding: 0px 9px 0px 0px;
    width: 100%;
    height: 100%;
    *display: table;
    white-space: nowrap;
    font-size: 10px;
    font-weight: normal;
}

.StaticMenuStyle a:hover {
    font-family: Tahoma;
    color: #193949;
    text-decoration: none;
    padding: 0px 9px 0px 0px;
    width: 100%;
    height: 100%;
    *display: table;
    white-space: nowrap;
    font-size: 12px;
    font-weight: normal;
}

table.StaticHoverStyle {
    background: #eee;
    font-size: 12px;
}

.StaticMenuItemStyle td {
    padding-left: 15px;
    padding-right: 5px;
    *padding-left: 10px;
    *padding-right: 0px;
    font-size: 12px;
}

.StaticHoverStyle td, .DynamicHoverStyle td {}

.StaticSelectedStyle, .DynamicSelectedStyle {
    font-weight: normal;
    cursor: pointer;
    font-size: 12px;
}

.DynamicMenuStyle a, .DynamicMenuStyle a:visited, .DynamicMenuStyle a:active {
    font-family: Tahoma;
    color: #000000;
    text-decoration: none;
    padding: 7px 9px 7px 9px;
    width: 100%;
    height: 100%;
    display: table;
    white-space: nowrap;
}

.DynamicMenuStyle td {
    border: 1px solid #767679;
    border-collapse: collapse;
    font-weight: normal;
    width: 100%;
    height: 100%;
    background-color: Transparent;
}

.DynamicMenuItemStyle {
    width: 100%;
}

.DynamicMenuItemStyle td {
    padding: 7 9 7 9;
    *padding: 0 0 0 0;
    border: 0px solid #D8CAAF;
    font-weight: normal;
    text-align: left;
    width: 100%;
}

.DynamicHoverStyle {
    background-color: #BEBDC2;
    width: 100%;
}

.DynamicMenuStyle a:hover {
    font-family: Tahoma;
    color: #000000;
    text-decoration: none;
    padding: 7px 9px 7px 9px;
    width: 100%;
    height: 100%;
    display: table;
    white-space: nowrap;
}

/* ============================================
   GRID / TABLE STYLES (from production)
   ============================================ */

.DATAGRID_BODY td {
    padding: 3px;
    text-align: left;
}

caption {
    font-size: 12px;
    padding-bottom: 3px;
}

.HeaderRowStyle th, .HeaderRowStyle td {
    text-align: left;
    padding: 5px;
    color: #000000;
    font-weight: bold;
    font-family: Tahoma;
    border-bottom: 1px solid #767679;
    border-left: 1px solid #767679;
    border-right: 1px solid #767679;
    background: #BEBEC2 url(../images/boxTopBG.gif) repeat-x top center;
}

.HeaderRowStyle a, .HeaderRowStyle a:visited, .HeaderRowStyle a:active {
    color: #000000;
    font-size: 11px;
}

.HeaderRowStyle a:hover {
    color: #000000;
    font-size: 11px;
}

.RowStyle td {
    padding: 5px;
    border-left: 1px solid #767679;
    border-right: 1px solid #767679;
    border-bottom: 1px solid #767679;
}

.AltRowStyle td Table tr td {
    padding: 0px;
}

.RowStyle td Table tr td {
    border-bottom: solid 0px #767679;
    padding: 0px;
}

.EditRowStyle td {
    padding: 5px;
    border-left: 1px solid #767679;
    border-right: 1px solid #767679;
}

.AltRowStyle td {
    padding: 5px;
    background-color: #CFD9D1;
    border-left: 1px solid #767679;
    border-right: 1px solid #767679;
    border-bottom: 1px solid #767679;
}

.FooterRowStyle td {
    text-align: left;
    padding: 5px;
    color: #000000;
    font-weight: bold;
    font-family: Tahoma;
    background: #BEBEC2 url(../images/boxTopBG.gif) repeat-x top center;
}

.PagerRowStyle {
    width: 100%;
}

.PagerRowStyle td {
    text-align: center;
    padding: 5px;
    color: #000000;
    font-weight: bold;
    font-family: Tahoma;
    border-bottom: 1px solid #767679;
    border-left: 1px solid #767679;
    border-right: 1px solid #767679;
    background: #BEBEC2 url(../images/gridPagerBG.gif) repeat-x top center;
}

.PagerRowStyle td table {
    width: 100%;
}

.PagerRowStyle td table tr td {
    color: #000000;
    border: none;
    padding: 0px;
    padding-left: 20px;
    padding-right: 20px;
    background: transparent;
}

.PagerRowStyle a, .PagerRowStyle a:visited, .PagerRowStyle a:active {
    color: #000000;
}

/* ============================================
   SEARCH & LAYOUT COLUMNS
   ============================================ */

.Search {
    height: 100%;
    border: solid 1px #9a9a9a;
    vertical-align: top;
    padding: 10px;
}

.leftColumn {
    vertical-align: top;
    height: 100%;
    width: 250px;
}

.contentHolder {
    vertical-align: top;
    height: 100%;
    width: 1000px;
    padding-top: 0;
    text-align: left;
    background-color: #ffffff;
}

table.Content {
    width: 100%;
    border: solid 1px #ddd;
}

td.content {
    padding: 20px;
    vertical-align: top;
}

/* ============================================
   HOME PAGE CONTENT AREA (from production)
   ============================================ */

.homeContent {
    width: 100%;
}

.homeContent td {
    vertical-align: top;
}

.homePageImage {
    background-color: transparent;
    background-image: url(../images/homePageBG.jpg);
    background-repeat: no-repeat;
    background-position: top center;
}

.homeRightColumn {
    border-left: solid 1px #9a9a9a;
    background-color: #D32E12;
    vertical-align: top;
    padding: 0px;
    width: 248px;
}

/* ============================================
   CONTENT BOXES (from production)
   ============================================ */

.box {
    border: solid 3px #fff;
    box-sizing: border-box;
}

.boxBody {
    padding: 10px;
    background: #fff url(../images/boxBodyBG.jpg) repeat-x bottom center;
}

.boxBody2 {
    padding: 10px;
    background: transparent url(../images/boxBody2BG.png);
}

.boxBottom {
    width: 100%;
    font-weight: bold;
    font-family: Tahoma;
    border-bottom: 0px solid #767679;
    background: #BEBEC2 url(../images/boxBottomBG.gif) repeat-x bottom center;
    padding-bottom: 5px;
}

.boxCornerRight {
    background: transparent url(../images/boxCornerBGRight.gif) no-repeat top right;
    height: 24px;
}

.boxCornerLeft {
    background: transparent url(../images/boxCornerBGLeft.gif) no-repeat top left;
    height: 24px;
}

/* ============================================
   FOOTER (from production)
   ============================================ */

.footer {
    height: 42px;
    width: 100%;
}

.footer td {
    font-family: Tahoma;
    letter-spacing: 1;
    color: #555;
    font-size: 10px;
    padding-top: 8px;
}

.footer a, .footer a:visited, .footer a:active {
    font-family: Tahoma;
    font-size: 9px;
    color: #555;
    text-decoration: none;
    font-weight: normal;
    letter-spacing: 1;
}

.footer a:hover {
    font-family: Tahoma;
    font-size: 9px;
    color: #000;
    text-decoration: none;
    font-weight: normal;
    letter-spacing: 1;
}

/* ============================================
   FORM STYLES
   ============================================ */

.FormRequiredTextField {
    background-color: #F5F5EB;
    padding: 5px;
    font-weight: bold;
}

.FormDataField {
    padding: 5px;
}

.FormTextField {
    background-color: #F5F5EB;
    padding: 5px;
    border-top: solid 0px #ffffff;
}

.FormHeader {
    background-color: #D8CAAF;
    padding: 5px;
    color: #000000;
    font-weight: bold;
    border-top: solid 1px #000000;
    border-bottom: solid 1px #000000;
}

.HeaderRow {
    background-color: #D8CAAF;
    padding: 5px;
    color: #000000;
    font-weight: bold;
    border-bottom: solid 1px #000000;
}

.FormLabelCell {
    padding: 5px;
    border-top: solid 1px #ffffff;
    border-bottom: solid 1px #ffffff;
}

.FormFooter {
    padding: 5px;
    text-align: right;
}

.FormValidation {
    background-color: #F5F5EB;
    padding: 5px;
}

.FormFields {
    padding: 5px;
}

.FormLabelRequired {
    background-color: #F5F5EB;
    padding: 5px;
}

.FormLabel {
    background-color: #F5F5EB;
    padding: 5px;
}

.RequiredStar {
    font-weight: bold;
    color: #ff0000;
    width: 15px;
    text-align: left;
    padding-right: 5px;
}

.NotRequiredStar {
    font-weight: bold;
    color: #ff0000;
    width: 15px;
    text-align: left;
    padding-right: 5px;
    visibility: hidden;
}

.iconKey {
    white-space: nowrap;
    text-align: left;
    padding-left: 5px;
    padding-right: 5px;
    *padding-left: 2px;
    *padding-right: 3px;
}

/* ============================================
   PRINT STYLES
   ============================================ */

.print {
    display: none;
}

@media print {
    .noprint {
        display: none;
    }
}

/* ============================================
   CSP-COMPLIANT UTILITY CLASSES
   Replaces all inline styles removed from HTML
   ============================================ */

/* Layout & Alignment */
.valign-top { vertical-align: top; }
.valign-middle { vertical-align: middle; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.float-right { float: right; }
.float-left { float: left; }
.nowrap { white-space: nowrap; }

/* Padding */
.p-0 { padding: 0; }
.p-2 { padding: 2px; }
.p-3 { padding: 3px; }
.p-5 { padding: 5px; }
.p-10 { padding: 10px; }
.p-20 { padding: 20px; }
.pt-0 { padding-top: 0; }
.pt-10 { padding-top: 10px; }
.pt-20 { padding-top: 20px; }
.pb-3 { padding-bottom: 3px; }
.pb-10 { padding-bottom: 10px; }
.px-10 { padding-left: 10px; padding-right: 10px; }
.px-20 { padding-left: 20px; padding-right: 20px; }
.py-10 { padding-top: 10px; padding-bottom: 10px; }
.pl-5 { padding-left: 5px; }
.pl-15 { padding-left: 15px; }
.pr-5 { padding-right: 5px; }
.pr-20 { padding-right: 20px; }
.p-custom-1 { padding: 2px 0 0 5px; }
.p-custom-2 { padding: 10px 0 0 0; }
.p-custom-3 { padding: 10px 5px 10px 5px; }
.p-custom-4 { padding: 0 10px; }

/* Widths */
.w-full { width: 100%; }
.w-50pct { width: 50%; }
.w-75pct { width: 75%; }
.w-25pct { width: 25%; }
.w-0 { width: 0; }
.w-135 { width: 135px; }
.w-155 { width: 155px; }
.w-165 { width: 165px; }
.w-170 { width: 170px; }
.w-188 { width: 188px; }
.w-200 { width: 200px; }
.w-220 { width: 220px; }
.w-230 { width: 230px; }
.w-250 { width: 250px; }
.w-166 { width: 166px; }
.w-184 { width: 184px; }
.w-282 { width: 282px; }
.w-286 { width: 286px; }
.w-300 { width: 300px; }
.w-302 { width: 302px; }
.w-306 { width: 306px; }
.w-320 { width: 320px; }
.w-400 { width: 400px; }
.w-425 { width: 425px; }
.w-680 { width: 680px; }
.w-988 { width: 988px; }
.w-1000 { width: 1000px; }

/* Heights */
.h-full { height: 100%; }
.h-24 { height: 24px; }
.h-50 { height: 50px; }
.h-375 { height: 375px; }
.h-400 { height: 400px; }

/* Backgrounds */
.bg-white { background-color: #ffffff; }
.default-background { background-color: #ffffff; }
.bg-light { background-color: #f0f0f0; }
.bg-light-alt { background-color: #E5E9EC; }
.bg-medium { background-color: #ccc; }
.bg-dark { background-color: #10242D; }
.bg-highlight { background-color: #efefef; }

/* Borders */
.border-light { border: solid 1px #ccc; }
.border-light-ddd { border: solid 1px #ddd; }
.border-none { border: 0; }
.border-bottom-gray { border-bottom: 1px solid #767679; }
.border-collapse { border-collapse: collapse; }

/* Text Colors */
.text-white { color: #fff; }
.text-green { color: green; }
.text-red { color: #990000; }

/* Font styles */
.font-disclaimer { font: normal 10px tahoma; }
.font-bold { font-weight: bold; }
.font-16 { font-size: 16px; }
.text-decoration-none { text-decoration: none; }
.font-verdana { font-family: Verdana; }
.line-height-3 { line-height: 3; }

/* Margins */
.m-0 { margin: 0; }
.mb-0 { margin-bottom: 0; }
.mb-10 { margin-bottom: 10px; }
.ml-20 { margin-left: 20px; }

/* Compound utility classes (for complex inline styles) */
.pb-10-border-bottom { padding-bottom: 10px; border-bottom: 1px solid #767679; }
.pb-3-pt-10 { padding-bottom: 3px; padding-top: 10px; }
.pb-3-border-bottom { padding-bottom: 3px; border-bottom: 1px solid #767679; }
.p-10-0-border-top { padding: 10px 0; border-top: 1px solid #767679; }
.text-right-pb-3 { text-align: right; padding-bottom: 3px; }
.w-230-pb-3 { width: 230px; padding-bottom: 3px; }
.h-400-auto { height: 400px; }

/* ============================================
   COMPONENT CLASSES
   (replacing inline styles on structural elements)
   ============================================ */

/* Main site container - 1000px centered layout */
.main-container {
    width: 1000px;
    height: 100%;
    background-color: #ffffff;
    border-collapse: collapse;
}

/* Header row in main-container */
.main-container > tbody > tr:first-child > td {
    background-color: #ffffff;
    padding: 0;
}

.form-container {
    width: 425px;
    border: solid 1px #ccc;
}

.sidebar-box {
    border: solid 1px #ddd;
    background-color: #efefef;
    padding: 10px;
}

.sidebar-box-200 {
    width: 200px;
}

.sidebar-box-250 {
    width: 250px;
}

/* COVID notice styles (moved from inline) */
.covid span {
    color: #fff;
}
.covid a, .covid a:visited, .covid a:active {
    color: #fff;
}
.covid a:hover {
    color: #fff;
}

/* Office/Operations page utility classes */
.office-form-box { width: 155px; border: solid 1px #ccc; }
.office-input { width: 165px; }
.office-select { width: 165px; }
.bg-gray-header { background-color: #c2c2c2; }

/* ============================================
   HOME PAGE LAYOUT
   Replaces inline styles that were on the
   production HTML (style="background-color:...",
   style="width:...", etc.)
   ============================================ */

/* The homeContent table spans the full width of the 1000px container */
.homeContent.bg-dark {
    background-color: #10242D;
    border-collapse: collapse;
    width: 988px;
}

/* First row: hero image — no padding, no background override */
/* Scoped to .bg-dark so it only applies to the home page hero row, not ContactUs etc. */
.homeContent.bg-dark > tbody > tr:first-child > td {
    padding: 0;
    line-height: 0;
    font-size: 0;
}

/* Second row: the 4 box columns */
.home-box-cell {
    padding: 8px 3px;
    vertical-align: top;
    background-color: #10242D;
}

/* Box div — auto height, matches production */
.homeContent .box {
    display: block;
    box-sizing: border-box;
    border: solid 3px #fff;
    background-color: #ffffff;
}

/* Make table internals fill the block-height box.
   height:100% on a display:table-cell resolves against the table-row,
   not the block parent — so convert the whole chain to block. */
.homeContent .box > tbody,
.homeContent .box > tbody > tr {
    display: block;
    height: 100%;
}

/* Box content area */
.homeContent .boxBody {
    display: block;
    height: 100%;
    padding: 10px;
    background: #fff url(../images/boxBodyBG.jpg) repeat-x bottom center;
    box-sizing: border-box;
}

/* ============================================
   CSP-COMPLIANT MENU OVERRIDES
   Compensate for blocked inline styles from
   ASP.NET Menu control and blocked inline
   event handlers (onmouseover/onmouseout)
   ============================================ */

/* Fix menu table layout when inline styles are blocked */
.menuHolder table {
    border-collapse: collapse;
    border-spacing: 0;
}

.menuHolder td {
    padding: 0;
    margin: 0;
    vertical-align: middle;
}

/* Ensure proper menu item spacing (replaces ItemSpacing="0px") */
.StaticMenuItemStyle,
.StaticSelectedStyle {
    padding: 0 !important;
    margin: 0 !important;
}

.StaticMenuItemStyle td,
.StaticSelectedStyle td {
    padding-left: 15px;
    padding-right: 5px;
}

/* Fix menu container display */
table.StaticMenuStyle {
    display: inline-table;
    border-collapse: collapse;
}

table.StaticMenuStyle > tbody > tr > td {
    vertical-align: middle;
    padding: 0;
}

/* Fix nested tables for menu items */
table.StaticMenuStyle table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Dynamic menu (dropdowns) fixes */
.DynamicMenuStyle {
    position: absolute;
    z-index: 1000;
    background-color: #fff;
    display: none;  /* Hidden by default */
    overflow: visible !important;
    height: auto !important;
}

.DynamicMenuStyle *,
.menuHolder div {
    overflow: visible !important;
    height: auto !important;
}

/* Hide ASP.NET Menu's scroll up/down arrows */
div[id$="ItemsUp"],
div[id$="ItemsDn"] {
    display: none !important;
}

.DynamicMenuStyle table {
    border-collapse: collapse;
}

/* CSS-only dropdown hover - since ASP.NET inline event handlers are blocked by CSP */
/* ASP.NET Menu structure: td > table + div.DynamicMenuStyle */
.menuHolder td {
    position: relative;
}

/* Show dropdown when hovering parent td that contains both the menu item and dropdown */
.menuHolder td:hover > div.DynamicMenuStyle,
.menuHolder td:hover > .DynamicMenuStyle,
table.StaticMenuStyle > tbody > tr > td:hover > div {
    display: block !important;
}

/* Position the dropdown below the menu item */
.menuHolder td > div.DynamicMenuStyle,
table.StaticMenuStyle > tbody > tr > td > div {
    position: absolute;
    top: 100%;
    left: 0;
}
.m-0{
    margin: 0 !important;
 }
 .w-100{
    width: 100% !important;
 }
 .flex-center {
    display: flex;
    justify-content: center;
 }