/* General Colors */
hr {
    margin: 5px 0 5px 0;
}

body {
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    text-align: left;
    margin: 0px;
    padding: 0px;
    color: #333333;
}

.bodyTextStyle {
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    color: #333333;
}

.bodyFontOnly {
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
}

.labelTextStyle {
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #003C80;
}

.headerTextStyle {
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: bold;
    color: #003C80;
}

/* Center header content to the 800px column (fixes login full-width header;
   harmless on authenticated pages where it's already within the centered column) */
.SiteHeader,
[id$="HeaderHTML"] {
    max-width: 800px;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

.linkTextStyle a {
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    color: #0165C5;
}

.linkTextStyle a:hover {
    color: #003C80;
}

li { 
    margin-top: 5px;
}

a, a:active, a:hover {
    color: #0165C5;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
}


.GeneralColor {
    color: #0165C5;
}

.GeneralSecondaryColor {
    color: #66B3FB;
}

.GeneralTable, .GeneralColorTable, .GeneralSecondaryColorTable, .RegisterNewUserTable {
    border-style: none;
}

.GeneralTD, .GeneralColorTD, .GeneralSecondaryColorTD, .RegisterNewUserTextBox, .RegisterNewUserTD, .RegisterNewUserLabel, .RegisterNewUserAlert, .RegistrationSuccessfulLabel {
    text-align: left;
    font-weight: bold;
}

.GeneralSecondaryColorTable, .GeneralSecondaryColorTD, .GeneralSecondaryColorTR {
    background-color: transparent;
    color: #000000;
}

.GeneralAlert, .RegisterNewUserAlert {
    color: Orange;
    font-weight: bold;
}

.GeneralTextOnSolidColorBackground {
    color: White;
}

.GeneralHidden {
    visibility: hidden;
}

.GeneralRemoveDisplay {
    display: none;
}

.GeneralColorBorder {
    border-style: solid;
    border-color: #66B3FB;
    padding: 5px;
}

.GeneralSecondaryColorBorder {
    border-style: solid;
    border-color: #0165C5;
}

.GeneralHeaderSmall {
    font-size: 1.1em;
}

.GeneralHeaderLarge {
    font-size: 1.25em;
}

.GeneralButton {
    padding: 3px;
    text-align: center;
}

.GeneralPopup {
    display: none;
}
/* General Colors */


/* Menu */
.MenuV2_MenuStyle {
    width: 800px;
    font-weight: bold;
    text-align: center;
    padding: 15px 0px 10px 0px;
}

/*.MenuV2_MenuItemSelectedStyle,
.MenuV2_MenuItemStyle*/

.MenuV2_MenuItemSelectedStyle a,
.MenuV2_MenuItemStyle a {
    width: auto;
    height: 25px;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    color: #2a3895;
    white-space: nowrap;
}

.MenuV2_MenuItemStyle {
}

.MenuV2_MenuItemSelectedStyle a {
    color: #ff9e16;
}

.MenuV2_MenuItemStyle a:hover {
    text-decoration: none;
}

.MenuV2_MenuItemButton {
    display: table-cell;
    vertical-align: middle;
    text-decoration: none;
    width: auto;
    height: 31px;
    padding-left: 10px;
    padding-right: 10px;
    white-space: nowrap;
    border-radius: 4px;
    transition: background-color 0.15s ease;
}

    .MenuV2_MenuItemButton:hover {
        text-decoration: none;
        background-color: rgba(0,0,0,0.06);
    }

.MenuV2_MenuItemButton_Selected {
    font-weight: bold;
    border-bottom: 3px solid #ff9e16;
    border-radius: 0;
}

td.MenuSpacer {
    width: 18px;
}

/*Hide Hyperlink Border on Header for IE*/
a img {
    border: none;
}


/* Master Page Settings */



.custsel_Status {
    font-weight: bold;
}

.custsel_Label {
    font-weight: bold;
    float: left;
    height: 17px;
    width: 60px;
    padding: 3px 0px 2px 0px;
    text-align: right;
}
/*End Master Page */

/* Login.aspx */
.LoginTD {
}

.LoginLabel {
    font-size: 14pt;
    font-weight: bold;
}

.LoginText {
}

.LoginText a, .LoginText a:hover, .LoginText a:active {
        color: White;
        text-decoration: underline;
    }

/* Center column for login */
.loginContainer .loginCenterColumn {
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
}

/* Login box already styled as card; ensure full width of the column */
.loginContainer #LoginBox.loginBox {
    width: 100% !important;
}

/* Log In button full width */
.loginContainer .LoginButtonOuter {
    margin-top: 12px;
}
.loginContainer .LoginButtonOuter .ActionButton {
    width: 100%;
    box-sizing: border-box;
}

/* Help links row under the box — nav style */
.loginContainer .loginHelpLinks {
    display: inline-flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 18px;
    margin: 30px;
    text-align: center;
}

.loginContainer .loginHelpLinks a.loginNavLink {
    color: #003C80 !important;
    font-weight: bold;
    text-decoration: none !important;
    font-size: 18px;
    padding: 4px 2px;
    border-bottom: 2px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
    cursor: pointer;
}

.loginContainer .loginHelpLinks a.loginNavLink:hover {
    color: #ff9e16 !important;
    border-bottom: 2px solid #ff9e16;
}

.LoginTextBox {
    width: 200px;
}

.LoginHeader {
    color: Maroon;
    font-weight: normal;
    font-size: large;
}
	
	/* Login hero banner — full browser width, under the header */
.loginHero {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 10px;
    line-height: 0;
}

.loginHero img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 211px;
    object-fit: fit;
}

/* External pages hero banner — full width, above the header */
.externalHero {
    width: 100%;
    line-height: 0;
    margin: 0;
}

.externalHero img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 211px;
    object-fit: fill;
	margin-top: 60px;
}

#login_welcome {
	display: block;
	float: left;
	width: 60%;
	min-height: 300px !important;

}

#login_welcome h2 {
	color: #EB082F;
	font-weight: bold;
}

#login_welcome h3 {
	color: #2a3895;
	font-weight: bold;
}

.login_welcome_image {
	display: inline-block;
	float: right;
	width: 40%;
}

.login_welcome_image img {
	display: block;
	margin: 100px 0 0 0;
	max-height: 350px;
}

/* End Login */

/*Modal Popup*/
.modalBackground {
    background-color: Gray;
    filter: alpha(opacity=70);
    opacity: 0.7;
}
/*End Modal Popup */

/* Dashboard.aspx */
.snapshot_agingheader, .snapshot_agingvalue {
    width: 90px;
    text-align: center;
}

.snapshot_transactionheader {
    text-align: left;
    /*border-bottom: 1px solid black;*/
}

.LogOutButton {
    color: white;
    font-weight: bold;
}

.highlightColor {
    background-color: LightBlue;
}

.snapshot_serviceqty {
    text-align: center;
    width: 45px;
    margin: 0 5px 0 5px;
}

.snapshot_servicedesc {
    margin: 0 5px 0 5px;
    width: 290px;
}

.snapshot_servicefrqdesc {
    margin: 0 5px 0 5px;
    width: 120px;
}

.snapshot_servicerate {
    margin: 0 5px 0 5px;
    width: 70px;
}

.snapshot_serviceM, .snapshot_serviceT, .snapshot_serviceW, .snapshot_serviceTH, .snapshot_serviceF, .snapshot_serviceS, .snapshot_serviceSU {
    width: 25px;
    text-align: center;
}

.snapshot_serviceQtyHeader, .snapshot_serviceNameHeader, .snapshot_serviceFreqHeader, .snapshot_serviceDayHeader, .snapshot_serviceRateHeader {
    text-align: left;
    border-bottom: 1px solid;
}

.groupHeader, .groupSubHeader, .snapshot_serviceDayHeader, .snapshot_serviceQtyHeader {
    text-align: center;
}

.groupHeader, .groupSubHeader {
    font-weight: bold;
}

.groupSubHeader {
    font-size: x-small;
}

.cmdIcons {
    width: 43px;
    height: 30px;
    background-image: url('../../images/dashboard_cmdSprite.png');
    cursor: pointer;
    background-repeat: no-repeat;
}

.cmdPaymentIcon {
    background-position: 0px -30px;
}

.cmdAutoPayIcon {
    background-position: 0px 0px;
}

.cmdPaperlessIcon {
    height: 33px;
    background-position: 0px -60px;
}
/* End Dashboard */

/* AddAccount.aspx */
.labelDiv {
    float: left;
    width: 175px;
    margin-left: 20px;
}

/* AddAccount */

/* AddServiceRequest.aspx */
/* AddServiceRequest */

/* ForgotPassword.aspx */
.ForgotPasswordTable {
    padding: 10px;
    margin: 5px;
    width: 400px;
}

.ForgotPassword_Header {
    font-size: 12pt;
    font-weight: bold;
    padding: 5px;
}

.ForgotPassword_Email {
    width: 300px;
}

.ForgotPassword_Label {
    font-size: 10pt;
}

.ForgotPassword_Buttons {
    text-align: right;
}

.ForgotPassword_Controls {
    padding: 10px;
}
/* ForgotPassword */

/* Header_Menu.ascx / Header_SubMenu.ascx */
.Header_Menu_MenuItem {
    font-size: 12px;
    font-weight: bold;
    padding: 5px;
    color: White;
    font-weight: bold;
}

a.Header_Menu_MenuItem:active, a.Header_Menu_MenuItem:hover {
    color: #DDDDDD;
}

a.Header_Menu_MenuItem.selected {
    color: #8AC4EA;
}

a.LogOutButton:active, a.LogOutButton:hover {
    color: #DDDDDD;
}

.Header_Menu_Background {
    background-image: url("images/MenuBackground.png");
    background-repeat: repeat-x;
}

.Header_Menu_SubMenuItem {
    font-size: 10px;
    font-weight: bold;
    padding: 2.5px;
}

.Header_Menu_SubMenuHover {
    text-decoration: blink;
    color: Orange;
}

.Header_Menu_SubMenuSelected {
    color: White;
}
/* Header_Menu */

/* ===== Secondary nav (Account Information sub-tabs) ===== */

/* The tab strip — strip jQuery UI's header background/border */
ul.ui-tabs-nav.UpdateInfoTabs,
#ctl00_SecondaryContent_InfoTabList {
    background: none !important;
    border: none !important;
    border-bottom: 2px solid #e2e5ea !important;
    border-radius: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
    box-sizing: border-box;
}

/* Each tab li — kill jQuery UI default chrome */
#ctl00_SecondaryContent_InfoTabList > li.UpdateInfoTabs {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 4px -2px 0 !important;   /* -2px pulls li onto the strip's bottom border */
    padding: 0 !important;
    max-width: none !important;         /* override inline max-width:80/90px */
    float: none !important;
    display: inline-block !important;
}

/* The anchor — the clickable tab itself */
#ctl00_SecondaryContent_InfoTabList > li.UpdateInfoTabs a.ui-tabs-anchor {
    display: block !important;
    padding: 10px 16px !important;
    text-decoration: none !important;   /* kill the underline */
    color: #003C80 !important;
    font-weight: bold;
    border-bottom: 3px solid transparent;
    transition: background-color 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}

/* Hover (non-active) */
#ctl00_SecondaryContent_InfoTabList > li.UpdateInfoTabs:not(.ui-state-active) a.ui-tabs-anchor:hover {
    background-color: rgba(0,0,0,0.04) !important;
    color: #366FE0 !important;
}

/* Active tab — orange accent like the main nav */
#ctl00_SecondaryContent_InfoTabList > li.ui-state-active a.ui-tabs-anchor {
    color: #ff9e16 !important;
    border-bottom: 3px solid #ff9e16 !important;
}

/* The headerTextStyle span inside shouldn't force its own color over our anchor */
#ctl00_SecondaryContent_InfoTabList > li.UpdateInfoTabs span.headerTextStyle {
    color: inherit !important;
}

/* Profile.aspx */
.ProfileTable {
    padding: 10px;
    margin-top: 10px;
}

.Profile_Header {
    font-size: 14pt;
    font-weight: bold;
}
/* Profile */

/* Profile_ChangePassword.aspx */
.Profile_ChangePassword_Label {
    width: 105px;
    float: left;
    padding-top: 3px;
}

.Profile_ChangePassword_Content {
    width: 450px;
}

.Profile_ChangePassword_Button {
    text-align: right;
    width: 350px;
}
/* Profile_ChangePassword */

/* Profile_UpdateCustomerInformation.aspx */
.Profile_UpdateCustomerInformation_Left {
    float: left;
    width: 150px;
}

.Profile_UpdateCustomerInformation_Right {
    width: 250px;
}

.Profile_UpdateCustomerInformation_Seperator {
    padding: 5px;
}

.Profile_UpdateCustomerInformation_Label {
    margin-left: 5px;
    padding-top: 5px;
}

.Profile_UpdateCustomerInformation_FormViewButton {
    padding: 5px;
    font-size: 12pt;
    font-weight: bold;
}

.Profile_UpdateCustomerInformation_InfoBox {
    padding: 10px;
}

.UpdateInfoTabs {
    /*font-family: Arial,Helvetica,sans-serif;*/
    font-size: 12px;
    font-weight: bold;
    outline: none !important;
}

    .UpdateInfoTabs a {
        text-decoration: underline !important;
        outline: none !important;
    }

    .UpdateInfoTabs:focus {
    }

/* Profile_UpdateCustomerInformation */
/* Profile_UpdateAutomaticPaymentInformation.aspx */
.Profile_UpdateAutomaticPaymentInformation_Panel_Left {
    float: left;
    width: 350px;
    margin: 10px;
}

.Profile_UpdateAutomaticPaymentInformation_BigBlock {
    padding: 5px;
}

.Profile_UpdateAutomaticPaymentInformation_BigBlockHeader {
    text-decoration: underline;
}

.Profile_UpdateAutomaticPaymentInformation_BigBlockLabel {
    width: 105px;
    float: left;
    padding-top: 3px;
}

.Profile_UpdateAutomaticPaymentInformation_BigBlock_SmallLabel {
    width: 60px;
    float: left;
    padding-top: 3px;
}

.Profile_UpdateAutomaticPaymentInformation_BigBlock_SmallTextBox {
    width: 50px;
}

.Profile_UpdateAutomaticPaymentInformation_BigBlock_Button {
    text-align: right;
}

.Profile_UpdateAutomaticPaymentInformation_BigBlock_SplitLineLeft {
    float: left;
}

.Profile_UpdateAutomaticPaymentInformation_BigBlock_SplitLineRight {
    margin-left: 5px;
}

.Profile_UpdateAutomaticPaymentInformation_SmallBlockList {
    padding: 5px;
    margin: 15px 5px 5px 15px;
}

.Profile_UpdateAutomaticPaymentInformation_SmallBlock {
    padding: 5px;
    margin: 5px 0px 5px 0px;
}
/* Profile_UpdateAutomaticPaymentInformation */

/* RegisterNewUser.aspx */
.RegisterNewUserLabel {
    font-size: 10pt;
    float: left;
    width: 200px;
    margin-left: 5px;
}

.RegisterNewUserTextBox {
}

.RegisterNewUserTable {
    width: 550px;
    height: auto;
    padding: 10px;
}

.RegisterNewUserAlert {
    font-size: 10pt;
    padding: 5px;
}

.RegisterNewUser_Buttons {
    text-align: right;
    margin-right: 10px;
}

.RegistrationSuccessfulLabel {
}
/* RegisterNewUser */

/* SignInHelp.aspx */
.SignInHelp_ChoiceBlock {
    width: 4 00px;
    height: 250px;
    font-size: 10pt;
}

.SignInHelp_NoteBlock {
    position: fixed;
    bottom: 0;
}

.SignInHelp_Popup {
    font-size: 12pt;
    text-align: center;
    padding: 5px;
}

.SignInHelp_ClickButton {
    width: 75px;
    float: left;
}
/* SignInHelp */

/* UserCustomerSelection.ascx */
.UserCustomerSelection_Panel {
    padding: 10px;
    margin-bottom: 10px;
}

.UserCustomerSelectionTR {
}

.UserCustomerSelection_Left {
    float: left;
    width: 350px;
    font-size: 14px;
}

.UserCustomerSelection_Right {
    font-size: 14px;
}

.UserCustomerSelection_Label {
}
/* UserCustomerSelection */

/* ViewInvoice.aspx */
.ViewInvoice_Address, .ViewInvoice_InvoiceIDLabel, .ViewInvoice_InvoiceIDControl,
.ViewInvoice_CustomerIDLabel, .ViewInvoice_CustomerIDControl, .ViewInvoice_HR, .ViewInvoice_PreviousBalanceLabel,
.ViewInvoice_PaymentsCreditsLabel, .ViewInvoice_NewChargesLabel, .ViewInvoice_NewBalanceLabel, .ViewInvoice_PreviousBalanceControl,
.ViewInvoice_PaymentsCreditsControl, .ViewInvoice_NewChargesControl, .ViewInvoice_NewBalanceControl, .InvoiceDetail {
    position: absolute;
    font-weight: bold;
}


/* ===== ViewInvoices toolbar facelift ===== */

/* Action button group: even spacing, consistent sizing, wrap gracefully */
#divPaySelected > div:last-child {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Normalize the three Selected buttons (override inline 170px + margin) */
#divPaySelected .ActionButton {
    width: auto !important;
    min-width: 150px;
    margin-right: 0 !important;
}

/* Cleaner disabled state for the Selected buttons */
.ActionButton.DisabledAction,
.ui-dialog-buttonset .ui-button.DisabledAction {
    background-color: #c4c9d2 !important;
    color: #6b7280 !important;
    box-shadow: none;
    cursor: default;
    opacity: 1;
}

[id$="divInvoiceToolbar"] {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 12px;
}

[id$="divInvoiceToolbar"] > div {
    float: none !important;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

[id$="divInvoiceToolbar"] input[type="text"],
[id$="divInvoiceToolbar"] input[type="date"],
[id$="divInvoiceToolbar"] select {
    height: 34px;
    box-sizing: border-box;
    border: 1px solid #c4c9d2;
    border-radius: 4px;
    padding: 4px 8px;
}

[id$="divInvoiceToolbar"] input[id$="cSearchText"] {
    width: 220px !important;
}

[id$="divInvoiceToolbar"] .ActionButton {
    padding: 6px 16px !important;
    height: 34px;
    box-sizing: border-box;
}

[id$="divInvoiceToolbar"] [id$="lblResultCount"] {
    display: block;
    width: 100%;
    margin: 6px 0 0 0 !important;
    color: #ff9e16 !important;
    font-size: 13px;
    font-weight: normal;
    text-align: left;
}

/* ===== ViewInvoices top section: buttons left, balance box right ===== */
.invoiceTopSection {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

/* Override the page-block absolute positioning on #divPaySelected */
/* Left column: the button block — fixed-ish width so balance box fits beside it */
#divPaySelected {
    position: static !important;
    float: none !important;
    bottom: auto !important;
    display: block !important;   /* not flex — let the grid inside do the work */
    flex: 0 1 auto;
    margin: 0 !important;
}

/* 2x2 grid — force grid, override anything setting flex */
.payButtonGrid {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    width: 360px;
    max-width: 100%;
}

.payButtonGrid .ActionButton,
.payButtonGrid input.ActionButton,
.payButtonGrid .payButtonGrid-autopay {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
}

/* AutoPay control renders: .payButtonGrid-autopay > div#...divAutoPay > a.ActionButton */
.payButtonGrid-autopay {
    display: block;
    width: 100%;
}

.payButtonGrid-autopay > div {
    width: 100% !important;
    height: 100%;
}

.payButtonGrid-autopay a.ActionButton {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 100%;
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
    margin: 0 !important;
}

/* Right column: balance box */
.invoiceTopSection .balanceBox {
    float: none !important;
    margin: 0 !important;
    flex: 0 1 auto;
}

.ViewInvoice_Address {
    left: 20px;
    top: 10px;
}

.ViewInvoice_InvoiceIDLabel {
    left: 250px;
    top: 10px;
}

.ViewInvoice_InvoiceIDControl {
    left: 325px;
    top: 10px;
}

.ViewInvoice_CustomerIDLabel {
    left: 250px;
    top: 30px;
}

.ViewInvoice_CustomerIDControl {
    left: 325px;
    top: 30px;
}

.ViewInvoice_HR {
    left: 20px;
    top: 30px;
}

.ViewInvoice_PreviousBalanceLabel {
    left: 20px;
    top: 70px;
}

.ViewInvoice_PaymentsCreditsLabel {
    left: 150px;
    top: 70px;
}

.ViewInvoice_NewChargesLabel {
    left: 280px;
    top: 70px;
}

.ViewInvoice_NewBalanceLabel {
    left: 410px;
    top: 70px;
}

.ViewInvoice_PreviousBalanceControl {
    left: 20px;
    top: 90px;
}

.ViewInvoice_PaymentsCreditsControl {
    left: 150px;
    top: 90px;
}

.ViewInvoice_NewChargesControl {
    left: 280px;
    top: 90px;
}

.ViewInvoice_NewBalanceControl {
    left: 410px;
    top: 90px;
}

.InvoiceDetail {
    left: 20px;
    top: 125px;
}

.ViewInvoiceTable {
    font-size: small;
}

.ViewInvoiceTD {
    padding: 5px;
}

.ViewInvoice_Amount {
    text-align: right;
}

.ViewInvoice_Description {
    text-align: left;
}

.ViewInvoice_Frequency {
    text-align: left;
}

.ViewInvoice_Quantity {
    text-align: right;
}

.ViewInvoice_Date {
    text-align: left;
}
/* ViewInvoice */

/* ViewInvoices.aspx */
.ViewInvoices_ShowPaid {
    font-size: 1.25em;
    color: Gray;
}

.ViewInvoices_InvoicesTable {
    display: inline;
    width: 100%;
}

.ViewInvoices_Header {
    font-size: 1.25em;
    text-align: center;
    padding: 3px;
}

.ViewInvoices_Pager {
    text-align: center;
}

.ViewInvoices_Popup {
    font-size: 1.25pt;
    text-align: center;
    padding: 5px;
}

.ViewInvoicesTD {
    padding: 0 5px 0 5px;
    text-align: center;
}

.ViewInvoicesTD_Currency {
    text-align: right;
}

.ViewInvoices_AgingLabel {
    font-size: 1.25em;
    margin-left: 5px;
}

.ViewInvoices_AgingAmount {
    margin-left: 15px;
}
/* ViewInvoices */

/* ViewOrderSummary.aspx */
.ViewOrderSummaryTable {
}

.ViewOrderSummary_Header {
    font-size: 12pt;
    font-weight: bold;
    text-align: center;
}

.ViewOrderSummary_Quantity {
    text-align: right;
}

.ViewOrderSummary_Description {
}

.ViewOrderSummary_Amount {
    text-align: right;
}

.ViewOrderSummary_ConfirmOrder {
    font-size: 12pt;
}
/* ViewOrderSummary */



.paymentProcess_TopTable {
    width: 750px;
    margin: 0 auto;
}

    .paymentProcess_TopTable .CurrentBalance {
        width: 240px;
        border-right: 3px solid #4297D7;
    }

        .paymentProcess_TopTable .CurrentBalance h1 {
            font-size: 1.2em;
            color: #4297D7;
        }

    .paymentProcess_TopTable .LeftColumn {
        padding-left: 20px;
    }

.processPayment_FormColumn2 {
    width: 200px;
    padding-left: 1em;
}

.processPayment_FormColumn3 {
    width: 115px;
    padding-left: 1em;
}

.processPayment_FormColumn4 {
    padding-left: 1em;
}


.processPayment_Label {
    font-weight: bold;
}

.processPayment_AvailableAccount {
    margin: 5px 0px 5px 0px;
}

.acceptedCC {
    float: left;
    background-image: url('images/creditCardSprite.png');
    background-repeat: no-repeat;
    margin-right: 5px;
}



.cc_AmericanExpressLarge {
    background-position: 0 0;
    width: 50px;
    height: 30px;
}

.cc_DinersClubLarge {
    background-position: 0 -40px;
    width: 42px;
    height: 30px;
}

.cc_DiscoverLarge {
    background-position: 0 -80px;
    width: 45px;
    height: 30px;
}

.cc_JCBLarge {
    background-position: 0 -120px;
    width: 36px;
    height: 30px;
}

.cc_MasterCardLarge {
    background-position: 0 -160px;
    width: 50px;
    height: 30px;
}

.cc_VisaLarge {
    background-position: 0 -205px;
    width: 47px;
    height: 30px;
}

.whatisthisSpan {
    font-size: smaller;
    text-decoration: underline;
    cursor: help;
}

.tables table, .tables tr, .tables td, .tables th {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.tables td {
    padding: 0 0 0 0;
    height: 25px;
}

.removeCPA {
    text-decoration: underline;
    color: #0165C5;
    font-weight: bold;
    margin-left: 15px;
}

/* ProcessPayment.aspx */


.SignOutLink {
    text-decoration: underline;
    color: White;
    font-weight: bold;
    margin-top: 8px;
    width: 100px;
    /*margin-right: 10px;*/
}

    .SignOutLink:active,
    .SignOutLink:hover {
        text-decoration: underline;
        color: lightgrey;
        font-weight: bold;
    }



/****************************************************************/
/*************************************************  Admin Pages */
/****************************************************************/
.MainMenu1AdminStaticMenuItem {
    text-align: center;
    font-size: 10px;
    height: 36px;
    margin-left: 6px;
    margin-right: 6px;
    position: relative;
    top: -4px;
    padding-top: 8px;
    border-right: transparent 1px solid;
    border-top: transparent 1px solid;
    border-left: transparent 1px solid;
    border-bottom: transparent 1px solid;
}

.MainMenu1AdminStaticMenuItemHover, .MainMenu1AdminStaticMenuItemSelected {
    border-right: #cccccc 1px solid;
    border-top: #cccccc 1px solid;
    border-left: #cccccc 1px solid;
    border-bottom: #cccccc 1px solid;
}


.PxButton {
    border-top: 1px solid #ffffff;
    background: #a8001c;
    background: -webkit-gradient(linear, left top, left bottom, from(#e3001e), to(#a8001c));
    background: -webkit-linear-gradient(top, #e3001e, #a8001c);
    background: -moz-linear-gradient(top, #e3001e, #a8001c);
    background: -ms-linear-gradient(top, #e3001e, #a8001c);
    background: -o-linear-gradient(top, #e3001e, #a8001c);
    padding: 7px 14px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
    -webkit-box-shadow: rgba(0,0,0,1) 0 1px 0;
    -moz-box-shadow: rgba(0,0,0,1) 0 1px 0;
    box-shadow: rgba(0,0,0,1) 0 1px 0;
    text-shadow: rgba(0,0,0,.4) 0 1px 0;
    color: white;
    font-size: 16px;
    font-family: Helvetica, Arial, Sans-Serif;
    text-decoration: none;
    vertical-align: middle;
    margin-top: 15px;
}

    .PxButton:hover {
        border-top-color: #666666;
        background: #666666;
        color: #ffffff;
    }

    .PxButton:active {
        border-top-color: #e3001e;
        background: #e3001e;
    }






/* New Styles */
.horiBar.top {
    height: auto;
    min-height: 64px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    background-image: none !important;
    background-color: #2a3895;
    display: flex;
    align-items: center;
    justify-content: center;
}

.horiBar {
    height: 3px;
    width: 100%;
    background-image: none;
    background-color: #2D5D6C;
}	
	
/* Clear the taller fixed top bar (64px) so header/logo isn't covered */
.center[style*="margin-top"] {
    margin-top: 68px !important;
}

#center {
    min-height: 0 !important;
	
}

[id$="FooterHTML"] {
    padding-bottom: 0px !important;
}


.horiBar.bottom {
    display: none !important;
    }
	
	/* ===== BalanceBox: freshen as a clean card, labels left / amounts right ===== */
#balanceBox {
    background-color: #f7f8fa !important;
    border: 1px solid #e2e5ea !important;
    border-radius: 8px !important;
    padding: 16px 18px !important;
    text-align: left !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    min-width: 280px;
    box-sizing: border-box;
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
}

/* Each row: label left, amount right */
#balanceBox > div {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin: 0 0 8px 0 !important;
    padding-bottom: 8px;
    border-bottom: 1px solid #ececf0;
}

/* Last row: no divider/margin */
#balanceBox > div:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0;
    border-bottom: none;
}

/* Labels (left) */
#balanceBox .accountStatusLabel,
#balanceBox .balanceLabel,
#balanceBox .pastDueLabel,
#balanceBox .creditLabel {
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #5b6470;
    white-space: nowrap;
}

/* Values (right) */
#balanceBox .accountStatusValue,
#balanceBox .balanceValue,
#balanceBox .pastDueValue,
#balanceBox .creditValue {
    font-family: "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: bold;
    text-align: right;
    white-space: nowrap;
    padding-left: 0 !important;
}


#headerAccount {
    width: 800px;
    margin: 0 auto;
    padding: 10px 5px;
    text-align: right;
    color: #ffffff;
    font-size: 16px;
}

#accountText {
    white-space: nowrap;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

/* ===== Login page ===== */

/* Center and bound the login content (was width:100% → stretched edge to edge) */
.loginContainer {
    width: 800px !important;
    max-width: 100%;
    margin: 40px auto 0 auto !important;
    box-sizing: border-box;
    padding: 0 20px;
}

/* Login box (left column) — give it a card look, sensible width */
.loginContainer .two-column-left {
    width: 48%;
    box-sizing: border-box;
}

.loginContainer .two-column-right {
    width: 48%;
    box-sizing: border-box;
    padding-top: 10px;
}

/* The login box itself as a subtle card */
#LoginBox.loginBox {
    width: 100% !important;
    background-color: #f7f8fa;
    border: 1px solid #e2e5ea;
    border-radius: 8px;
    padding: 20px !important;
    box-sizing: border-box;
    margin: 0 !important;
}

/* Inputs full-width inside the box, consistent styling */
.loginContainer input.LoginTextBox {
    width: 100% !important;
    box-sizing: border-box;
    padding: 8px !important;
    font-size: 15px;
    border: 1px solid #c4c9d2;
    border-radius: 4px;
    color: #003C80;
}

.loginContainer input.LoginTextBox:focus {
    border-color: #366FE0;
    outline: none;
}

/* Labels */
.loginContainer .LoginLabel {
    font-weight: 600;
    color: #003C80;
    margin-bottom: 4px;
}

/* Log In button — full width of the box for a clean look, left-align the button row */
.loginContainer .LoginButtonOuter {
    text-align: left;
}

.loginContainer .LoginButtonOuter .ActionButton {
    width: 100%;
    box-sizing: border-box;
}

/* The button row container was right-aligned; make it left for the full-width button */
#LoginBox > div[style*="text-align: right"] {
    text-align: left !important;
    margin: 10px 0 0 0 !important;
}

/* "Password is case sensitive" — muted */
.loginContainer .LoginPasswordCaseLabel {
    font-size: 12px;
    color: #6b7280;
    margin-top: 4px;
}

/* Help links column — comfortable spacing */
.loginContainer .LoginHelpLabel {
    margin: 0 !important;
    line-height: 1.5;
}

/* Marketing text below — bound it to the same column width */
.contentPlaceholder {
    max-width: 800px;
    margin: 0 auto;
}




/* Dashboard welcome/address block: loosen the crowded line spacing */
[id$="lblWelcomeAddress"] {
    line-height: 1.5 !important;
	font-size: 100% !important;
}

.currentAccount {
    margin-right: 10px;
}

.ActionButton, .ui-dialog-buttonset .ui-button {
    background-image: none;
    background-color: #2b44ae;
    border-radius: 6px;
    font-family: Arial, Helvetica, sans-serif;
    color: #ffffff;
    font-size: 13px;
    font-weight: bold;
    padding: 10px 22px 10px 22px !important;
    text-decoration: none;
    border: none;
    outline: none;
    cursor: pointer;
    transition: filter 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}

    .ActionButton:hover, .ActionButton:active, .ui-dialog-buttonset .ui-button:hover, .ui-dialog-buttonset .ui-button:active {
        background-image: none;
        filter: brightness(0.92);
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        text-decoration: none;
        border: none;
    }

    .ActionButton:active, .ui-dialog-buttonset .ui-button:active {
        transform: translateY(1px);
        box-shadow: 0 1px 2px rgba(0,0,0,0.15);
    }

  .ui-dialog-buttonset .ui-button.DisabledAction {
        background: #b0b0b0;
        background-image: none;
        box-shadow: none;
        filter: none;
        cursor: default;
    }

.ui-dialog-buttonset .ui-button.ui-widget.ui-state-default.ui-corner-all.ui-button-text-only {
    border: none;
    font-weight: normal !important;
}

.two-column-left {
    clear: left;
    float: left;
    width: 50%;
}

.two-column-right {
    clear: right;
    float: right;
    width: 50%;
}

.three-column-left {
    float: left;
    width: 33%;
}

    .three-column-left input,
    .three-column-center input,
    .three-column-right input {
        width: 85%;
    }

.two-column-left input {
    width: 90%;
}

.two-column-right input {
    width: 80%;
}

.two-column-left select,
.two-column-right select {
    width: 94%;
}

.three-column-center {
    display: inline-block;
    width: 33%;
}

.three-column-right {
    float: right;
    width: 33%;
}

.ui-state-active {
    background: none !important;
}

.ui-tabs {
    padding: 0px !important;
}

#center {
    clear: both;
}

.center {
    width: 800px;
    margin: 0 auto;
    /*padding-top: 5px;*/
}

input, select {
    padding: 5px;
    color: #003C80;
    border: 1px solid lightgrey;
}

.contentPlaceholder {
    padding: 5px;
}

.loginPage.headerFooter {
    width: 100% !important;
    margin: 0 !important;
}

#headerWrapper {
    margin-top: 68px !important;
    margin-bottom: -3px;
}

.labelRow {
    font-weight: bold;
    clear: both;
    margin-top: 5px;
    margin-bottom: 2px;
}

.inputRow {
    clear: both;
    margin-bottom: 10px;
}

    .inputRow input {
        padding: 5px;
        width: 95%;
        color: #003C80;
        border: 1px solid lightgrey;
    }

    .inputRow select {
        padding: 5px;
        width: 97%;
        color: #003C80;
        border: 1px solid lightgrey;
    }



.validationFail {
    display: inline-block;
    color: red;
    width: 30px;
    height: 18px;
    position: relative;
    border: none;
}

    .validationFail:before, .validationFail:after {
        content: '';
        position: absolute;
        width: 90%;
        height: 19%;
        background: red;
        top: 13px;
        box-shadow: 0 0 2px 0 #ccc;
    }

    .validationFail:before {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
        left: 2px;
    }

    .validationFail:after {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
        right: 2px;
    }

.validationPass {
    padding-left: 4px;
    display: inline-block;
    width: 30px;
}

    .validationPass:before {
        content: '';
        height: 5px;
        background-color: green;
        position: relative;
        display: block;
        top: 50%;
        left: 50%;
        width: 9px;
        margin-left: -15px;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .validationPass:after {
        content: '';
        height: 5px;
        background-color: green;
        position: relative;
        display: block;
        top: 50%;
        left: 50%;
        width: 20px;
        margin-left: -11px;
        margin-top: -6px;
        -ms-transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

.leftWithValidation {
    width: 55%;
    margin-left: 39px;
}

    .leftWithValidation input {
        width: 73% !important;
    }