/* ============================================================
 * REBRAND GUARD — DO NOT MIGRATE THESE STYLES
 * ------------------------------------------------------------
 * The selectors in this file are scoped to the registration
 * rebrand (EV-14660). They are loaded ONLY by the 15 JSP
 * header chains in EV-15767 / cache-buster manifest.
 *
 * The 9 URLs in EV-15170 (registrant-facing) deliberately do
 * NOT load this file. Their styling comes from FormNormalize,
 * SiteStyleClear, NewStyle, and StepRegistration.
 *
 * DO NOT move rebrand selectors into those shared CSS files.
 * Doing so breaks the EV-15170 exclusion contract.
 *
 * For future URL exclusion: see EV-15765 analysis §5.1.
 * ============================================================ */

@import url('https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900i&subset=latin-ext');
@import url('https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i');

:root {
    --primary: #262a37;
    --primary-foreground: #fff;

    --secondary: #f3f2ec;
    --secondary-foreground: #262a37;

    --warning: #b45309;
    --warning-background: #CA8A04;
    --warning-foreground: #f7f3e0;

    --danger: #b91c1c;
    --danger-foreground: #F8E8E8;

    --success: #2a761e;
    --success-foreground: #EAF1E8;

    --info: #1e40af;
    --info-foreground: #E8ECF7;

    --muted-foreground: #6e7079;

    --accent: #F3F2EC;

    --white: #fff;
    --black: #000;

    --input: #e9eaeb;

    --rounded-sm: 2px;
    --rounded: 4px;
    --rounded-md: 6px;
    --rounded-lg: 8px;
    --rounded-xl: 12px;
    --rounded-full: 999px;

    --cadmium: #93331f;
    --lms: #7b4899;
    --eventscribe: #587d36;
    --warpwire: #486499;

    --card: var(--white);
    --border: color-mix(in srgb, black 25%, var(--secondary));

    --text-xs: 12px;
    --text-sm: 14px;
    --text-base: 16px;
    --text-lg: 18px;
    --text-xl: 20px;
    --text-2xl: 24px;
    --text-3xl: 28px;

    --p-1: 4px;
    --p-2: 8px;
    --p-4: 12px;

    --sidebar-border: #E1E0DD;

    --shadow-color: 0deg 10% 70%;

    --shadow-sm: 1px 2px 2px hsl(var(--shadow-color) / 0.133), 0 2px 0 -1px var(--muted-foreground);
    --shadow-lg: 1px 2px 2px hsl(var(--shadow-color) / 0.133),
    2px 4px 4px hsl(var(--shadow-color) / 0.133),
    3px 6px 6px hsl(var(--shadow-color) / 0.133),
    0 2px 0 -1px var(--muted-foreground);

    --sidebar: var(--primary);
}

body {
    font-family: "Roboto", "Lato", Helvetica, sans-serif;
    margin: 0;
/*     background-color: rgb(24, 37, 49); */
    font-size: 14px;
    font-weight: 400;
    height: 100%;
    line-height: 1.5;
  
    background: color-mix(in srgb, white 40%, var(--secondary)) !important;
    color: var(--muted-foreground);
}

* {
    font-family: "Roboto", "Lato", Helvetica, sans-serif;
    font-size: 14px;    
}

*, ::after, ::before {
    box-sizing: border-box;
}

/* Form Fields */
input[type="text"], input[type="file"], input[type="number"], select, textarea { 
    padding: var(--p-1) var(--p-2);
    font-size: var(--text-sm) !important;
    line-height: 1;
    border: 1px solid color-mix(in srgb, white 60%, var(--muted-foreground));
    border-radius: var(--rounded);
    margin: 4px 0;
    background: var(--white);
}

#GoodUntil { width: 90px; } 

input[type="checkbox"] {  
  appearance: none;
  cursor: pointer;
  margin-right: 6px;
  position: relative;
  top: 2px;
}
input[type="checkbox"]::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 1px;
  outline: 1px solid var(--muted-foreground);
  outline-offset: 2px;
  background: var(--white);
}
input[type="checkbox"]:checked::before {
  content: '';  
  width: 10px;
  height: 10px;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADRSURBVHgBrdI7DoJAFIXhcymsXQKNSBgLGgOx0p3oCnQH4gp0KboCWmMDlTFW7MJEg1dnEowExwyPv5ppvtx5EDpoOAqW/MQcRDtCyxwvXAMcqQ1xaqFFJUzGODSesIKBN9fzKWoE6jC5UkcWYuJ3gSlwIILtg/PE8YLE9qf9NpgCLVAxnd+732IdaoIpkHIs3heZfaOuH9pNMJl6FNcNbbY4ZqCAMqtHs0t6zOpgH1CHMmFPjJUpVgI1KOpgFVCPmmE/wSpqjv1NokKMjT980Qs29YEMwjjiKAAAAABJRU5ErkJggg==');
  background-repeat: no-repeat;
  background-size: 100%;  
  background-position: top 1px center;
  
}

input[type="radio"] {    
  appearance: none;
  -webkit-appearance: none;
  border: 0.2rem solid #fff;
  background-color: var(--bg-color);
  border-radius: 50%;    
  cursor: pointer;  
}
input[type="radio"]:focus-visible {
    outline-offset: 2px;
    outline-color: var(--primary);
}

input[type="radio"]::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  outline: 1px solid var(--muted-foreground);
  outline-offset: 2px;
}
input[type="radio"]:checked::before {    
    box-shadow: 0 0 0 -1px var(--primary);
    background-color: var(--primary);
    border-width: 0.1rem;
}

input[type="text"]:focus, select:focus, textarea:focus {
    outline: 1px solid var(--primary);
    outline-offset: 1px;
}
input[type="text"] + a { position: relative; width: 28px; height: 26px; display: inline-block; vertical-align: middle; }
input[type="text"] + a > img { display: none; }
input[type="text"] + a::after { 
  content: '';
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAXCAYAAAALHW+jAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACuSURBVHgB7ZXJDYMwEEU/KHdcgkughHSQlJIS6CBpIRUkHdBCOqCE0AHMoBlkFh8wc+DAk77YrGfLZmxgiaf8KQ/EeVIaSjn/kK80vlIc5YY4pXS8EF4wHRlTyNUF72IU0qaVjKKa0u1MowP4GMg0dSY3ZuQwxlwYrvIXwUpthP+Iuz7ohHqk49Vz/Dk8hafwCEKuZa5frcUf0tDjYtgLKthtsK9MzJX04pDOmz09xxtLlRLg0F0AAAAASUVORK5CYII=') no-repeat center center / 50% var(--secondary);
  border-top-right-radius: var(--rounded);
  border-bottom-right-radius: var(--rounded);
  border: 1px solid color-mix(in srgb, white 60%, var(--muted-foreground));
  border-left: none;
  position: absolute;
  left: -3px;
  top: -2px;
  width: 100%;
  height: 100%;
  z-index: 200;
}

/* End of Form Fields */

/* Table style - Global UI-ish 

Applies to tables similar to 'All Registrations', 'Paid Registrations', 'Unpaid Registrations'

NOTE:
- unable to style Paid Registrations and Unpaid Registrations due to lack of unique id/class identifiers. All Registrations was styled by targeting table rows with unique ID (eg: reg8429014)


RECOMMENDATION:
- We recommend add classes to these tables to allow styling customizations
- We recommend the "Edit" action to have a class of 'btn-ghost' to support styles that match with the Global UI

*/
table tbody tr[id^="reg"] { border-bottom: 1px solid var(--border); } 
table tbody tr[id^="reg"] > td { padding: var(--p-1) 0;}
table tbody tr[id^="reg"] > td:last-child > a { text-decoration: underline; text-underline-offset: 2px; }

/* End of Table style - Global UI-ish */

/* On-demand Badge Templates */
#templateTable { border-collapse: collapse; }
#templateTable tbody tr { border-bottom: 1px solid var(--border); }
#templateTable tbody tr td:last-child {
  width: 40%;
}
#templateTable tbody tr td:last-child form label { color: var(--primary); padding: 0 4px; }
/* End of On-demand Badge Templates */

/* Unified Login Home link -- Override only */
#unifiedLoginLink {   
  position: relative;
  width: 100px;
  height: 24px;
  display: block;  
  overflow: hidden;
}
#unifiedLoginLink::after {
  content: 'Customer List';
  text-align: right;
  font-size: var(--text-base);
  position: absolute;
  left: 0;
  top: 4px;
  width: 100%;
  height: 100%;
  z-index: 2;
  color: var(--primary);
  background: color-mix(in srgb, white 40%, var(--secondary)) !important;
}
#unifiedLoginLink:hover::before {
  content: '';
  position: absolute;
  z-index: 3;
  bottom: 0px;
  left: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background: var(--eventscribe);
}


table {
    border-collapse: collapse;
}

img{
    vertical-align: middle;
    border-style: none;
}

BODY.popup {
    background-color: rgb(235, 235, 235);
}

BODY.popupWhite {
    background-color: black;
}

.blockBGColor {
/*     background-color: rgb(235, 235, 235); */
  background-color: color-mix(in srgb, white 100%, var(--accent));
/*   border: 1px solid var(--border); */
}

.blockBGColorLight{
    background-color: rgb(245, 245, 245);
}

TABLE.blockBGColor {
    border-collapse: initial;
    border: 1px solid var(--border);
}

TABLE.blockBGColor td{
    text-align: left;
}

TABLE.blockBGColor th {
    padding: 7px;
}

TABLE.headerBG {
    background-image: url(../styleimages/privateheader.jpg);
}

TABLE.tabBGColor {
    /* background-color: #0d243a; */ 
    background-color: var(--white);
  
    /* ideally add a class called 'rounded' */
    overflow: hidden;
    border-top-left-radius: var(--rounded);
    border-top-right-radius: var(--rounded);
    border: none;
    box-shadow: none;
}

TABLE.ProfileBGColor {
    background-color: rgb(235, 235, 235);
}

TABLE.ResourcePlannerBGColor {
    background-color: rgb(235, 235, 235);
}

H3 {
    font-size: 14pt;
    color: #0d243a;
    font-weight: bold;
}

legend {
    color: rgb(235, 235, 235);
}

thead tr { 
  border-top: 1px solid var(--border); 
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
}
/* th elements should be moved inside thead instead of being inside tbody */
table tbody tr th:first-child {   
  border-left: 1px solid var(--border);
}
table tbody tr th:last-child {   
  border-right: 1px solid var(--border);
}
table tbody tr th {
  border-top: 1px solid var(--border); 
}

th, .table-header {
    font-size: 14px;
    color: white;
    /* background-color: #0d243a; */ 
    background-color: var(--secondary);
    color: var(--primary);
    padding: 5px 4px 4px 4px;
}
th font[color="white"] { color: var(--primary); }

.table-header {
    font-weight: 700;
}

th[align=left], td[align=left] {
    text-align: left !important;
}

th[align=center], td[align=center] {
    text-align: center !important;
}

th[align=right], td[align=right] {
    text-align: right !important;
}

TH.small {
    font-size: 12px;
    /* color: white; */
    /* background-color: #0d243a; */ 
    background-color: var(--secondary);
    color: var(--primary);
}

/* Row Headline */
TH.row {
    font-size: 10pt;
    color: White;
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
    text-align: left;
}

/* AccTimeline */
TH.timeline {
    font-size: 10pt;
    color: white;
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

td.blockBGColor {
    background-color: rgb(235, 235, 235);
}

TD, td.blockBody, blockquote, li, ul {
    font-size: 10pt;    
  
  /* Table text should default to primary color */
  color: var(--primary);
}

/* In Messages Tab - <u> element is being as a decoration for a header - this should not be used as <u> denotes an underline and underlines are reserved for links */
td > u { 
  text-decoration: none; 
  color: var(--primary);   
  display: inline-block; 
  width: 100%; 
  padding: 6px 0; 
  text-align: left;
  font-size: var(--text-base);
  font-weight: bold;
  margin-top: 15px;
}

td.blockColor {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

/* Mailing List */
td.blockHeading {
    color: White;
    font-weight: bold;
    font-size: 10pt;
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

/* Event Finder and Search blocks */
td.blockText {
    color: #0d243a;
    font-weight: bold;
    font-size: 10pt;
}

/* Event Finder and Search blocks */
td.blockTitle {
    color: white;
}

td.bold, td.button {
/*     font-weight: bold; */
    font-weight: 500;
}

td.boldRegPackage {
    font-weight: bold;
    color: #0d243a;
}

td.category {
    font-weight: bold;
    color: white;
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

td.commentBlockLine {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

td.CompanyName {
    font-size: 24pt;
    color: white;
    font-weight: bold;
}

/* For current registration or option items */
td.currentItem {
    font-weight: bold;
    color: Black;
    background-color: rgb(235, 235, 235);
}

td.EventPageTitle {
    font-size: 15pt;
    color: Black;
    font-weight: bold;
    text-align: left;
}

td.grayOut {
    background-color: Silver;
}

/* Line color underneath the header of the column */
td.headerLineColor {
    background-color: Black;
}

td.joinTextBlock {
    font-size: 8pt;
}

td.menuColor, td.MenuColor {
/*     background-color: rgb(210, 210, 210); */
    background: var(--white);    
    border: 1px solid var(--border);
    border-top-left-radius: var(--rounded-lg) !important;
    overflow: hidden !important;
}

td.menuItem {
/*     background-color: rgb(210, 210, 210); */
/*     border-bottom: 1px solid rgba(190, 190, 190, 1); */
  
  background: var(--white);    
  border-bottom: 1px solid #bebebe;
}

td.menuItemSelected, td.menuSmall {
    background-color: white;
}

td.MenuLineColor {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

td.menuSeparator {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

/* Second line of top menu */
td.menuSmall {
    background-color: white;
}

td.menuText {
    color: White;
}

td.messageSmall, td.negativeSmall {
    font-size: 8pt;
    color: Red;
}

td.PageTitle {
    font-size: 16pt;
    color: black;
    font-weight: bold;
    text-align: left;
}

td.profile {
    font-size: 10pt;
    color: Black;
    font-weight: bold;
}

td.ProfileBGColor {
    background-color: rgb(235, 235, 235);
}

td.registrationLineColor {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

td.ResourcePlannerBGColor {
    background-color: rgb(235, 235, 235);
}

td.row {
    font-size: 10pt;
    color: White;
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

td.small {
/*     font-size: 8pt; */
    font-size: var(--text-xs);    
    color: var(--muted-foreground);
}

td.tabBGColor {
/*     background-color: White; */
    background-color: var(--accent);
}

/* Line between tab and body */
td.tabLineColor {
/*     background-color: Black; */
    background-color: var(--sidebar-border);
}

/* Line between tab and body when the tab is selected*/
td.tabNoLineColor {
/*     background-color: rgb(235, 235, 235); */
    background-color: var(--white);
}

/* Selected tab */
td.tabSelBGColor {
/*     background-color: rgb(235, 235, 235); */
    background-color: var(--white);    
    position: relative;
}
td.tabSelBGColor::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: white;
  left: 0;
  bottom: -1px;
}

td.tabTitle {
    /* background-color: #0d243a; */ 
    background-color: var(--white);

    font-size: 10pt;
/*     color: White; */
    color: var(--primary);
/*     font-weight: bold; */    
}

td.tabTitle2 {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
    font-size: 9pt;
    color: White;
    font-weight: bold;
}

td.textArea {
    background-color: White;
    font-size: 10pt;
/*     color: Black; */
}

td.vendorCategory {
    font-weight: bold;
    color: #0d243a;
}

/* Background color for EventFinder and Search blocks */
TR.blockBGColor {
    background-color: rgb(235, 235, 235);
}

TR.MenuLineColor {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
}

TR.promotionCodeHighLight {
    background-color: Silver;
}

TR.tabLineColor {
/*     background-color: Black; */
  background-color: var(--sidebar-border);
}

/* Line separating title and top menu */
TR.titleMenuSeparatorColor {
    background-color: Black;
}

P EM {
    color: Red;
    font-weight: bold;
}

EM.red {
    font-size: 10pt;
    color: Red;
}

P.headline {
    font-weight: bold;
}

P.small {
    font-size: 8pt;
}

a.date:link {
    color: #09509c;
}

a.date:hover {
    color: red;
}

a.date:active {
    color: red;
}

a.forget {
    font-size: smaller;
}

span.menu{
    padding: 10px;
    font-size: 10pt;
    display: block;
    text-indent: 15px;
    letter-spacing: .6px;
    opacity: .6;
}
a.menu, a.menu:link, a.menu:visited {
    position: relative;
/*     padding: 10px;
    font-size: 10pt; */
    text-decoration: none;
    font-weight: 400;
    color: black;
    display: block;
    text-indent: 15px;
    cursor: pointer;
    letter-spacing: .6px;
  
    padding: 12px;
    font-size: var(--text-sm);
    transition: none !important;
    border-left: 6px solid transparent;
}

a.menu:hover, a.menu:Active {
/*     background-color: rgb(200, 200, 200); 
    -webkit-transition: background-color 500ms linear, border 100ms linear;
    -ms-transition: background-color 500ms linear, border 100ms linear; */
/*     transition: background-color 500ms linear, border 100ms linear; */
  
    background: var(--secondary);
    font-weight: bold;
    border-left: 6px solid var(--primary);
}

.menu.active {
/*     background-color: rgb(200, 200, 200); 
    border-left: 6px solid #09509c;
    -webkit-transition: background-color 500ms linear, border 100ms linear;
    -ms-transition: background-color 500ms linear, border 100ms linear;
    transition: background-color 500ms linear, border 100ms linear; */
  
    background: var(--secondary);
    border-color: var(--eventscribe) !important;
    font-weight: bold !important;
  
}

a.menuSelected {
    color: #0d243a;
    text-decoration: none;
    font-weight: bold;
}

a.menuTop, a.menuTop:visited {
    font-size: 10pt;
    text-decoration: none;
    font-weight: bold;
    color: Black;
}

a.menuTop:hover, a.menuTop:Active {
    color: red;
}

a.menuTopSmall, a.menuTopSmall:visited {
    font-size: 10pt;
    text-decoration: none;
    font-weight: bold;
    color: #0d243a;
}

a.menuTopSmall:hover, a.menuTopSmall:Active {
    color: red;
}

a.small {
    font-size: 8pt;
    text-decoration: none;
    font-weight: bold;
    color: Blue;
}

a.sort {
    text-decoration: none;
    font-weight: bold;
    color: Silver;
}

a.tabSelText {
    font-size: 10pt;
    text-decoration: none;
    color: #0d243a;
    font-weight: bold;
}

a.tabText {
    font-size: 10pt;
    text-decoration: none;
    color: #0d243a;
/*     font-weight: bold; */
    font-weight: 400;
}

a, a.text, .breadcrumb-link {
    font-size: 14px;
    font-weight: normal;
    text-decoration: none;
/*     color: #09509c; */
    color: var(--primary);  
}

a:hover {
/*     color: #1f61a9; */
    text-decoration: underline;
    
    color: var(--black);
}

a:active {
/*     color: #09509c; */
    text-decoration: underline;
  
    color: var(--black);
}

a.text > img { width: 60px; height: 28px; border-radius: var(--rounded); margin: 3px 0; }

.bodytext {
    font-size: 12px;
    font-style: normal;
    line-height: 15px;
    color: #3C4B5C;
}

.footertext {
    font-size: 10px;
    font-style: normal;
    line-height: 14px;
    color: #02A1E2;
}

.textbox {
    font-size: 12px;
    font-style: normal;
    line-height: 12px;
    color: #02A1E2;
    border: thin solid #7F9DB9;
}

.subhead {
    font-size: 16px;
    font-style: normal;
    line-height: 17px;
    font-weight: bold;
    color: #3C4B5C;
}

TABLE.headerBGBlank {
    background-image: url(../styleimages/privateheaderblank.jpg);
}

TABLE.headerBGYesEvents {
    background-image: url(../styleimages/YesEventsHdr.jpg);
}

TABLE.headerBGExecBid {
    background-image: url(../styleimages/ExecBidHdr.jpg);
}

TABLE.headerBGMMS {
    background-image: url(../styleimages/MMSHdr.gif);
}

.striped tr { border: 1px solid var(--border); border-left: none; }
/* remove zebra stripes on tables */
/* .striped tr:nth-child(2n-1) {
    background-color: color-mix(in srgb, white 50%, var(--accent));
} */



#tabs {
    margin-top: 15px;
}

.er-menu {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);
    font-weight: bold;
    font-size: 10pt;
    color: white;
    width: 100%;
    height: 25px;
}

.er-menu-title {
    float: left;
    margin-top: 5px;
    margin-left: 12px;
}

#header-link {
    margin-left: 50px;
}

.er-menu-tab {
    margin-top: 8px;
    background-color: white;
    display: inline-block;
    color: navy;
    font-weight: bold;
    border: 1px solid black;
    padding: 0px 15px 0px 15px;
    margin-left: 0;
/*     float: left; -- clash with display: inline-block */
    border-right: none;
}

.er-menu-tab a {
    color: navy;
    text-decoration: none;
}

.active-tab {
    border-bottom: 1px solid rgb(235, 235, 235);
    background-color: rgb(235, 235, 235);
    color: #0d243a;
}

.er-menu-tab:hover {
    cursor: pointer;
    transition: background-color 300ms linear;
    background-color: rgb(235, 235, 235);
}

.right {
    float: right;
}

.circle-large {
    height: 150px;
    width: 150px;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(0, 0, 0, .8);
}

.circle-medium {
    height: 75px;
    width: 75px;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(0, 0, 0, .8);
}

.circle-small {
    height: 50px;
    width: 50px;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(0, 0, 0, .8);
}

table.alternatingBG tr:nth-child(odd) {
    background-color: rgb(235, 235, 235);
}

table.alternatingBG tr:nth-child(even) {
    background-color: rgb(235, 235, 235);
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.er-udf-paragraph {
    width: 100%;
    height: 100px;
}

.textarea-entered-info {
    padding-left: 2px;
    font-size: .8em;
    width: 100%;
}

#controlCenterMenu td > u { margin: 0 6px; border: none; }
#controlCenterMenu ul {
    list-style-type: none;
    padding-left: 50px;
    padding-right: 50px;
    margin-top: 0;
    line-height: 1.2;
}

#controlCenterMenu ul li { padding-top: 4px; }
#controlCenterMenu ul li a {
    padding: 2px 0;
    display: inline-block;
    font-size: var(--text-sm);
/*     text-decoration: underline !important; */
    text-underline-offset: 3px;
    text-decoration-color: var(--muted-foreground) !important;
}

#controlCenterMenu table.blockBGColor {
    border: 1px solid var(--border);
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

/* Side borders intentionally NOT defined on inner TDs - the card's own
   `border: 1px solid` above provides the full outline. Defining border-left
   /right on each TD as well caused them to stack at the card's right edge
   and read as a thick vertical line next to the adjacent card. */

/* Horizontal breathing room between adjacent cards in the same row.
   The JSP markup uses cellspacing="0" cellpadding="0" on the outer
   table, so without this padding adjacent cards' borders touch and
   read as a single thick vertical line in the gap. Scope to direct
   children only so inner card cells are unaffected. */
#controlCenterMenu > tbody > tr > td {
    padding: 0 8px;
}
#controlCenterMenu > tbody > tr > td:first-child { padding-left: 0; }
#controlCenterMenu > tbody > tr > td:last-child { padding-right: 0; }

#controlCenterMenu .blockBGColor u {
    font-size: 15px;
    padding-left: 5px;
    text-decoration: none;
}

#controlCenterMenu ul li ul {
    list-style-type: circle;
}

#controlCenterMenu table.blockBGColor {
    background: var(--white);
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
    border-radius: var(--rounded-lg);
}

#controlCenterMenu table.blockBGColor th {

    background: var(--secondary);
    color: var(--secondary-foreground);

    padding-left: 16px;
    font-size: var(--text-base);
    border: 0;
    border-bottom: 1px solid var(--border);
    border-top-left-radius: var(--rounded-lg);
    border-top-right-radius: var(--rounded-lg);
}

#controlCenterMenu table.blockBGColor td.headerLineColor { 
    background-color: #fff;
}

/* #controlCenterMenu table.blockBGColor > tbody > tr > td {
    border-bottom-left-radius: var(--rounded-lg) !important;
    border-bottom-right-radius: var(--rounded-lg) !important;
    border-bottom: 1px solid #bebebe;
    overflow: hidden;
  
    background: var(--white);
}
 */
#controlCenterMenu table.blockBGColor + table.blockBGColor { margin-top: 16px; }

.regometer {    
    margin-bottom: 20px;
    margin-top: 20px;
}

.regometer th {
    border: 0;
}

.regometer-inner {
    border: 1px solid #bebebe;
    border-radius: var(--rounded-full);
    overflow: hidden;
    background-color: rgb(247, 247, 247);
}

.regometer th:first-child {
    /* background-color: #3e94b7;
    background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
    background-size: 50px 50px;
    -webkit-animation: progress-bar-stripes 2s linear infinite;
    -o-animation: progress-bar-stripes 2s linear infinite;
    animation: progress-bar-stripes 2s linear infinite; */
  
    background: var(--eventscribe) !important;
}

#siteLeftMenu {
    border-right: 1px solid #bebebe;
    min-width: 270px;
    max-width: 270px;
/*   
    border-top-left-radius: var(--rounded-lg);
    border-bottom-left-radius: var(--rounded-lg);
    overflow: hidden;  */
    
}

#siteLeftMenu + .textArea {      
/*     border-top-right-radius: var(--rounded-lg);
    border-bottom-right-radius: var(--rounded-lg);
    overflow: hidden; */
}

#siteLeftMenu div {
    text-align: left;
    position: relative;
    height: 100%;
    width: 100%;
}

#content {
    width: 100%;
    position: relative;
    /* background-color: #0d243a; */     
    min-height: 100%;
  
    background: color-mix(in srgb, white 40%, var(--secondary)) !important;
    color: var(--muted-foreground);
}

#content > table {
    width: 100%;
    margin: auto;
    max-width: 1366px;
    position: relative;

    border-collapse: separate !important;
    border-spacing: 0 !important;
}


#content > table > tbody > tr.MenuColor:nth-child(2) > td {
    border-radius: var(--rounded-lg) !important;
    border: 1px solid #bebebe;
    overflow: hidden;
}

#controlCenterMenu li {
    padding-top: 6px;
}

#controlCenterMenu td {
    margin: 0;
    padding-left: 0;
}

#firstMenuItem {
    font-weight: bold;
    margin-top: 20px;
}

#firstMenuItemLink {
    text-decoration: underline;
    font-weight: normal;
}

#firstMenuItemLink:visited {
    color: #09509c;
}

.breadcrumb-link, .breadcrumb-link:visited, .breadcrumb-link:active {
    text-decoration: none;
}

.breadcrumb-link:hover {
    text-decoration: underline;
}

#headerLogo {
    height: 49px; /* This is the optimal height for this image. */
}

#topMenu {
    /* background-color: #0d243a; */ 
    background-color: var(--primary);    
    position: relative;
    display: block;    
}

a.topmenu {
/*     color: white !important; */
    color: var(--primary) !important;
    width: 100%;
    height: 100%;
    position: relative;
/*     font-size: 15px; */
    font-weight: normal;
    text-decoration: none !important;
    display: inline-block;
/*     line-height: 80px; */

    font-size: var(--text-base);
    line-height: 1;
    padding: 4px 0;
}

a.topmenu:hover {
    color: var(--black) !important;
}

#topMenuLinks > ul > li:hover {
/*     border-bottom: 2px solid #72cff5; */
    -webkit-transition: 50ms linear;
    -ms-transition: border 50ms linear;
    transition: border 50ms linear;
  
    border-bottom: 2px solid var(--eventscribe);
}

#topMenuLogo {
    float: left;
    margin: 10px 0 10px 4px;
    display: none;
}

#topMenuLinks {
    margin: 0 1px 0 1px;
    float: left;
/*     height: 67px; */
    height: auto;
    padding: 12px 0;
}

#topMenuLinks > ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    /* padding-top: 14px; */
    height: 100%;
}

#topMenuLinks > ul > li {
    border-bottom: 2px solid transparent; /* This matches the border applied on hover. It prevents the height from increasing causing the dropdown to jump around */
    display: inline-block;
    margin-left: 60px;
    height: 100%;
    position: relative;
}

#topMenuLinks > ul > li:first-child {
/*     margin-left: 53px; */
    margin: 0;
}

#topMenuRight {
    float: right;
    position: relative;
/*     height: 57px; */
    height: auto;
    padding: 12px 0;
  
}

#unifiedLoginSection {
    margin-right: 25px;
}

#settingsSection {
    margin-right: 5px;
}

#unifiedLoginSection, #settingsSection {
    float: left;
    height: 100%;
}

#breadcrumbs {
/*     background-color: rgb(235, 235, 235); */
    background-color: var(--accent);
    min-height: 36px;
    border-bottom: 1px solid #bebebe;
    position: relative;
    overflow: auto;
}

#breadcrumbs-left {
    float: left;
    padding: 12px 10px 12px 25px;
}

#breadcrumbs-right {
    float: right;
    padding: 10px 25px 10px 10px;
}

#content-inner {
    margin: 20px 25px 25px 25px;
}

.content-popup {
    margin: 20px;
}


/* Not is to prevent conflicts with bootstrap */
a.button, button.button, input.button, input[type=button], input[type=submit]:not(.btn-primary):not(.btn-danger) {
/*     padding: 6px 8px 6px 8px; */
/*     border-radius: 4px; */
/*     background-color: rgb(245, 245, 245); */
/*     border: 1px solid rgb(170, 170, 170); */
/*      color: black; */
  
    padding: var(--p-1) var(--p-4);
    font-size: var(--text-sm);
    background: var(--secondary);
    border: 1px solid var(--border);
    border-radius: var(--rounded);
    color: var(--secondary-foreground);
    font-weight: normal;
    
}

/* custom Save icon */
button[value="Save"]::before {
  content: 'Save';
  color: var(--white);
  position: absolute;
  left: 28px;
  top: 4px;
}

button[value="Save"] {   
  position: relative;
  top: 2px;
  
  cursor: pointer;
  width: 24px;
  height: 24px;
  margin-right: 50px;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD5SURBVHgBrVQBEYMwDAwwAZVQJ0MCDoaUWZgCmAIkbFOAhNUBEwB0Xw52pdc1cPTvcj1C8unnkpLWWozj2MA6mN5hb+QW5ALOaifRyoCLzZcYp1NDEQ+5IkmSEnafPpxqcgOZUSXdFv1uaveEdgDxD5/8lCIChNeohIC0CQVFwMkmHIahStP0tSHvDHm574dvbA4hdg9Xkv9BQd4Np8DwmlmTwWhmtVqz60vsvPdtKIeYPc3dC/R9X4RyuB4q15FlmQolBAlRsfC4z8QkhXrYQWK5xJoWcO+mmcOO+C35zCe7TUbyk3gI2kAGBfU0Cli5+sirPbehMVxf87YH81FF+68AAAAASUVORK5CYII=') !important;
  opacity: 0.8;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 80%;
}

button[value="SaveAndSend"]::before {
  content: 'Save and Send';
  color: white;
  position: absolute;
  left: 28px;
  top: 4px;
  width: 100px;
}

button[value="SaveAndSend"] { 
  position: relative;
  top: 3px;
  
  cursor: pointer;
  width: 24px;
  height: 24px;
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAWCAYAAAA1vze2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAF8SURBVHgBvVSLbYMwELWBAdigjMAIdIKyQdMN0gmaDUIngA2iTmAyQdsJYAMYgE/fVYfkUjsGlOSkk4z97t59EeM4hsMwKOi4Uk+wjcQSATDfQDBptYRIElj7bqFfwi2Jdq6llI/Q2opeGxUJcMmqjDSgEguFHFpKF5rwnrieRH3fp7cmEehLZHzQ0m1s6c5F64mis8tuPl01DErhjjiGvkJLIsHVE/yEnue1KNm37/vln2nbuhvcfGXDdF2320xCxkxQubDIar+EpAHwwJEnOOfck9yA/cR7Mb+HxMIVtfjfdNOOkLMjvVNQs2yyiySmpsPZTs+Uy1Zxr54NRNVFEtNo6g4gqW0CqXwTzrWMb4a7VsvqyBOmeGdSvie7eMJLW1k0RwXm/4zjA/TMd8qEw368EAH0oD190GO1YoRPXAplajxnNr9PiCRdQfI7kjxhzYI9ySgoyamSEdXT+e8Ctg6CoGAyyiyy4N5Rvr24hvBIKx5jWsiM/2f3lR8HfwKE3XqAxQAAAABJRU5ErkJggg==') !important;
  opacity: 0.8;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
button[value^="Save"]:hover { opacity: 1; }

input.small, input.small:not(.btn-primary):not(.btn-danger) {
/*     padding: 4px 6px 4px 6px;
    font-size: 13px; */
  
    padding: var(--p-1) var(--p-2);
    font-size: var(--text-sm);
}

a.button:hover, button.button:hover, input.button:hover, input[type=button]:hover, input[type=submit]:not(.btn-primary):not(.btn-danger):hover {
    cursor: pointer;
/*  background-color: rgb(215, 215, 215); */
    background: color-mix(in srgb, black 5%, var(--secondary));
    
}

a.button:disabled, button.button:disabled, input.button:disabled, input[type=button]:disabled, input[type=submit]:not(.btn-primary):not(.btn-danger):disabled {
    opacity: .3;
    cursor: not-allowed;
}

/* Bootstrap overrides - may need to separate this from this CSS file */
.btn-primary, a.btn-primary {
    padding: var(--p-2) var(--p-4);
    font-size: var(--text-base);
    background: var(--secondary);
    border: 1px solid var(--border);
    border-radius: var(--rounded);
    color: var(--secondary-foreground);
    font-weight: normal;
}

.btn-primary:hover, a.btn-primary:hover {
    cursor: pointer;
/*  background-color: rgb(215, 215, 215); */
    background: color-mix(in srgb, black 5%, var(--secondary));
    color: var(--secondary-foreground);
    border: 1px solid var(--border);
}

.btn-outline-primary, a.btn-outline-primary {
    padding: var(--p-2) var(--p-4);
    font-size: var(--text-base);
    background: transparent;
    border: 1px solid var(--muted-foreground);
    border-radius: var(--rounded);
    color: var(--secondary-foreground);
    font-weight: normal;
}

.btn-outline-primary:hover, a.btn-outline-primary:hover,
.btn-outline-primary:active, a.btn-outline-primary:active,
.btn-outline-primary:focus, a.btn-outline-primary:focus,
.btn-outline-primary:focus-visible, a.btn-outline-primary:focus-visible {
    background: var(--secondary) !important;
    color: var(--secondary-foreground) !important;
    border: 1px solid var(--muted-foreground) !important;  
}

.btn-outline-primary:focus, .btn-outline-primary:focus-visible,
a.btn-outline-primary:focus, a.btn-outline-primary:focus-visible {
  box-shadow: none !important;
  outline: 1px solid var(--primary) !important;
  outline-offset: 2px;
  border: 1px solid var(--primary) !important;
  
}

.btn-sm, a.btn-sm {
    padding: var(--p-1) var(--p-2);
    font-size: var(--text-sm);
}

.btn-outline-primary.disabled {
    color: var(--muted-foreground);
}

.btn-row { 
  padding-left: 12px;
}

.card-selected {
    border: 2px solid var(--primary);
}

/* End of Bootstrap Overrides */

/* Allows dropdown for erlegacy classic style buttons */
.button.dropdown-toggle::after{
    display: inline-block;
    margin-left: 0;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent;
/*     float: right; -- clash with display: inline-block */
    margin-top: 9px;
}

#page-header {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: normal;
}

#page-footer {
    margin: 25px;
    bottom: 0;
    position: absolute;
}

th a, th a:link, th a:visited {
    /* color: white; */
    color: var(--primary);
    font-weight: bold;
    text-decoration: underline;
    display: inline-block;
}

.er-dropdown-toggle:after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: .3em;
    vertical-align: middle;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-left: .3em solid transparent;
}

.er-dropdown-toggle-content {
    display: block;
    position: absolute;
    background-color: white;
    border: 1px solid rgb(200, 200, 200);
    z-index: 999;
/*     margin-top: -18px; */
    border-radius: 4px;
    list-style-type: none;
    margin-top: 0;
}

.er-dropdown-toggle-content > li {
    margin: 0;
    padding: 0;
}

@-webkit-keyframes progress-bar-stripes {
    from {
        background-position: 50px 0;
    }
    to {
        background-position: 0 0;
    }
}

@keyframes progress-bar-stripes {
    from {
        background-position: 50px 0;
    }
    to {
        background-position: 0 0;
    }
}

.message {
    font-weight: bold;
    color: red;
}

.message.error, .alert.alert-danger {
/*     background-color: #f2dede;
    color: #540704;
    border: 1px solid #e8acaa; */
    
    background-color: color-mix(in srgb, white 90%, var(--danger));
    color: var(--danger);
    border: 1px solid color-mix(in srgb, white 50%, var(--danger)) !important;

    font-weight: normal;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border-radius: .25rem;
}
.message.error > a, .alert.alert-danger > a { text-decoration: underline; color: inherit; }


.message.success, .alert.alert-success {
/*     background-color: #dff0d8;
    color: #3c763d;;
    border: 1px solid #b9d7ae; */
  
    background-color: color-mix(in srgb, white 90%, var(--success));
    color: var(--success);
    border: 1px solid color-mix(in srgb, white 50%, var(--success)) !important;

    font-weight: normal;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border-radius: .25rem;
}
.message.success > a, .alert.alert-success > a { text-decoration: underline; color: inherit; }

.message.warn, .alert.alert-warning {
/*     background-color: #fff2ae;
    color: #8a6d3b;
    border: 1px solid #f9dd4a; */
  
    background-color: color-mix(in srgb, white 90%, var(--warning-background));
    color: var(--warning);
    border: 1px solid color-mix(in srgb, white 50%, var(--warning-background)) !important;

    font-weight: normal;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border-radius: .25rem;
}
.message.warning > a, .alert.alert-warning > a { text-decoration: underline; color: inherit; }

.message.info, .alert.alert-info {
/*     background-color: #d9edf7;
    color: #31708f;
    border: 1px solid #a9ced6; */
  
    background-color: color-mix(in srgb, white 90%, var(--info));
    color: var(--info);
    border: 1px solid color-mix(in srgb, white 50%, var(--info)) !important;

    font-weight: normal;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border-radius: .25rem;
}

/* Fix legibility issues with links and info messages */
.message.info > a, .alert.alert-info > a {
    font-weight: inherit;
    text-decoration: underline;
    color: inherit;
}

.er-rep {
    padding: 11px;
    border-bottom: 1px solid #ebebeb;
    white-space: nowrap;
}

.er-rep-photo {
    display: inline-block;
    width: 50px;
    height: 50px;
    vertical-align: top;

    border-radius: 999px;
    overflow: hidden;
    border: 2px solid var(--muted-foreground);
}

.er-rep-info {
    display: inline-block;
    padding-left: 15px;
    vertical-align: top;
}

.er-rep-label {
    margin: 2px 5px 15px;
    font-weight: bold;
}

.er-dropdown-toggle-content ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    width: 100%;
    min-width: 225px;
}

.er-dropdown-toggle-content li {
    height: 39px;
    text-align: center;
    display: inline-block;
    width: 100%;
}

.er-dropdown-toggle-content a {
    display: inline-block;
}

.er-dropdown-toggle-content li a {
    display: inline-block;
    height: 30px;
    width: 100%;
    padding-top: 9px;
}

#support-center li {
    border-bottom: 1px solid #ebebeb;
}

#onsiteMenuBar {
    margin: 20px;
    background-color: rgb(235, 235, 235);
    border-radius: 5px;    
    padding: 15px 20px 15px 15px;
}

#onsiteMenuBar table td {
    padding-left: 3px;
}

.print-batch {
    padding-left: 20px !important;
}


a.tabText:hover {
/*     background-color: #ebebeb; */
    background-color: color-mix(in srgb, black 5%, var(--accent));
    text-decoration: none;
}

a.tabText {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 4px 0px 4px 0px;
}


/* reference: https://developer.mozilla.org/en-US/docs/Images,_Tables,_and_Mysterious_Gaps */
td > img[height="1"] {
    height: 1px;
    display: block !important;
}

td > img[height="2"] {
    height: 2px;
    display: block !important;
}

td > img[height="3"] {
    height: 3px;
    display: block !important;
}

td > img[height="4"] {
    height: 4px;
    display: block !important;
}

td > img[height="5"] {
    height: 5px;
    display: block !important;
}

td > img[height="6"] {
    height: 6px;
    display: block !important;
}

td > img[height="7"] {
    height: 7px;
    display: block !important;
}

td > img[height="8"] {
    height: 8px;
    display: block !important;
}

td > img[height="9"] {
    height: 9px;
    display: block !important;
}

td > img[height="10"] {
    height: 10px;
    display: block !important;
}

td > img[height="11"] {
    height: 11px;
    display: block !important;
}

td > img[height="12"] {
    height: 12px;
    display: block !important;
}

td > img[height="13"] {
    height: 13px;
    display: block !important;
}

td > img[height="14"] {
    height: 14px;
    display: block !important;
}

td > img[height="15"] {
    height: 15px;
    display: block !important;
}

td > img[height="16"] {
    height: 16px;
    display: block !important;
}

td > img[height="17"] {
    height: 17px;
    display: block !important;
}

td > img[height="18"] {
    height: 18px;
    display: block !important;
}

td > img[height="19"] {
    height: 19px;
    display: block !important;
}

td > img[height="20"] {
    height: 20px;
    display: block !important;
}

td > img[height="21"] {
    height: 21px;
    display: block !important;
}

td > img[height="22"] {
    height: 22px;
    display: block !important;
}

td > img[height="23"] {
    height: 23px;
    display: block !important;
}

td > img[height="24"] {
    height: 24px;
    display: block !important;
}

td > img[height="25"] {
    height: 25px;
    display: block !important;
}

td > img[height="26"] {
    height: 26px;
    display: block !important;
}

td > img[height="27"] {
    height: 27px;
    display: block !important;
}

td > img[height="28"] {
    height: 28px;
    display: block !important;
}

td > img[height="29"] {
    height: 29px;
    display: block !important;
}

td > img[height="30"] {
    height: 30px;
    display: block !important;
}

td > img[height="31"] {
    height: 31px;
    display: block !important;
}

td > img[height="32"] {
    height: 32px;
    display: block !important;
}

td > img[height="33"] {
    height: 33px;
    display: block !important;
}

td > img[height="34"] {
    height: 34px;
    display: block !important;
}

td > img[height="35"] {
    height: 35px;
    display: block !important;
}

td > img[height="36"] {
    height: 36px;
    display: block !important;
}

td > img[height="37"] {
    height: 37px;
    display: block !important;
}

td > img[height="38"] {
    height: 38px;
    display: block !important;
}

td > img[height="39"] {
    height: 39px;
    display: block !important;
}

td > img[height="40"] {
    height: 40px;
    display: block !important;
}

a.er-admin-only {
    color: rgb(248, 123, 76) !important;
}

input[type="button" i]:disabled, input[type="submit" i]:disabled, input[type="reset" i]:disabled, input[type="file" i]:disabled::-webkit-file-upload-button, button:disabled, select:disabled, optgroup:disabled, option:disabled, select[disabled] > option {
    color: #cbcbcb;
}

/*
    Bootstrap overrides
*/
.alert-warning {
    border-color: #d6caa5 !important;
}

.alert-warning hr {
    border-top-color: #d6caa5 !important;
}

/*
    Misc
 */
span.badge-staff {
    font-size: 95%;
    line-height: 95%;
    cursor: help;
}

.help-link {
/*     color: #007bff; */
  text-indent: -1000px;
  display: inline-block;
  position: relative;
}
.help-link::before {
  content: '';
  position: absolute;
  width: 24px;
  height: 24px;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIdSURBVHgBvVVBUttAEJxZSwbf/ARfYjuGg3KJdYt4QeAFgRdAXiDzgtg/IC/AvMDKzeS0VUk5BC6bH/gSbEvlncwKi1JVVpKBKvpgaWdn2rM9syOEArS8oLmTLI6B4AMvPWKTsSOA4ofUiFeJuztWMprb4tFm7Oz3T4loAIRNKIdCgtHvX9fDUuJNlpdEEMATgAjRym0c5bPHPGk9Xkz41YPnQcb1xkFGLjKrmyzCF5AaeDvJ3zBbpBl39/1Aa5rYvLloI6xRJEikmWjUTdTC1CCw+QuBBzc/p5GTBhOEYAVe3M2mZ5aNcWfPn9jI2Wa4Iqfr+S0d2/+d8/tjftu99yEiPvhouDJdwEf9yqexEENg6uXotfYKus5kHLZ7/Y9g+phSgxI1lCkBUGErusnyUMBaVBXMeyCCUXzfeGf0M6dkw2lRAPd2y4EtcTe7TrU2l0cnesDhpZdna+LO2/4ZsgzcPcNi6XLEAkFpqvTj2w1faBtHg5qWYukux9v4mv6EGh2xgPNK30RIoaSccytFZY5mFpii3f74PubUq31vpsrZLM7LBg/veW/2/GPUOAdcB0aXYmI8T5+ZodPrX7KCh/Ai4MXtbHpi3h6H0Kq+OtkM8edCxfe7n7PFI3GqteYCIUh4OqTgWKUs8ziPds8fsLJhJZ3pEBIjPv7gv62imG6Xr20NAtb9EwHPk+wzxWQIQnJBv/HRh/ksXwX/ABv76fbhUHeNAAAAAElFTkSuQmCC') no-repeat center center / 80%;
  top: 0;
  left: 0;
}
a.help-link:link, a.help-link:visited {
    text-decoration: none;
}

.er-select {
    width: 100%;
}

.hide {
    display: none;
}
h3 small{
    font-size: 70%;
    font-weight:bold;
    opacity: .65;
}

h4 small {
    font-size: 68%;
    font-weight: bold;
    opacity: .55;
}

/* Fixes issue with flatpickr where our style overrides the default inherit. */
.numInputWrapper {
    font-size: inherit;
}

/* Bootstrap only */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Fix flickering bug when Bootstrap is imported */
/* https://github.com/valor-software/ngx-bootstrap/issues/3075#issuecomment-363461060 */
.tooltip {
    pointer-events: none;
/* !important */
}

body.wide-tooltips .tooltip-inner {
    max-width: 350px;
}
.tooltip-inner ul{
    text-align: left;
    margin-left: 0;
    padding-left: 25px;
    margin-top: 5px;
}


.spacer {
    display: block;
    height: 5px;
}

.form-control::placeholder {
    color: #6c757d;
    opacity: .7 !important;
}

button[disabled] {
    cursor: not-allowed;
}

.content-popup .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #222425;
    background-color: transparent;
    border-color: #b3b3b3 #b3b3b3 #fff;
}

.content-popup .nav-tabs .nav-link:focus, .nav-tabs a.nav-link:hover {
    background-color: #f5f5f5;
    border-color: #b3b3b3;
}

.content-popup .nav-tabs .nav-link {
    font-size: 16px;
}

.content-popup .nav-tabs {
    border-color: #b3b3b3;
}

/* For use when bootstrap is utilized in tandem with old pages still using a table to layout the structure of the page */
.table-layout {
    border-collapse: initial;
    padding-left: 20px;
    padding-right: 20px;
}
form.download-report{
    margin: 0;
    display: inline-block;
}
.badge-cadmium-internal{
    background-color: rgb(248, 123, 76);
    color: white;
    font-size: 12px !important;
    line-height: 12px !important;
    display: inline;
}
span.disabled{
    cursor: not-allowed;
    opacity: .4;
}

label.required:after {
    content:" *";
    color: red;
}

.pretty-container{
    padding: 20px;
    background-color: rgb(245, 245, 245);
    border: 1px solid rgb(235, 235, 235);
}

/** TABS **/
.nav-tabs.nav-tabs-pretty a.nav-link{
    font-size: 16px;
}

.nav-tabs.nav-tabs-pretty .nav-link {
    margin-bottom: -1px !important;
    margin-top: 1px;
}

.nav-tabs.nav-tabs-pretty .nav-link.active{
    border-bottom: 2px solid white !important;
    margin-top: 0;
}

.blockBGColor .nav-tabs.nav-tabs-pretty .nav-link.active{
    border-bottom: 2px solid rgb(235, 235, 235) !important;
}

.blockBGColorLight .nav-tabs.nav-tabs-pretty .nav-link.active{
    border-bottom: 2px solid rgb(245, 245, 245) !important;
}

.drag-handle {
    cursor: pointer;
    width: 25px;
}

.text-red{
    color: red;
}

/* try to add some padding inside the #content-inner tables */
table[width="95%"] { margin-left: 12px; }

/* not in this file */
.cke_editable { background: #fff !important; }

.reg-edit {
  background-color: color-mix(in srgb, white 50%, var(--accent));
}

.dropdown-menu { padding: 4px; }
.dropdown-item { margin-bottom: 2px; }
.dropdown-item:last-child { margin-bottom: 0; }
.dropdown-item:hover {
  border-radius: var(--rounded);
  background: var(--secondary) !important;
  color: var(--primary);
}

.modal-footer { border-top: none; }
.modal-footer .btn-primary {
  padding: var(--p-1) var(--p-4);
  font-size: var(--text-base);
  background: var(--primary) !important;
  border: 1px solid var(--border);
  border-radius: var(--rounded);
  color: var(--primary-foreground);
  font-weight: normal;  
}
.modal-footer .btn-primary:hover,
.modal-footer .btn-primary:active,
.modal-footer .btn-primary:focus {
  background: var(--black) !important;
}

.modal-footer .btn-default {
  padding: var(--p-1) var(--p-4);
  font-size: var(--text-base);
  background: var(--secondary) !important;
  border: 1px solid var(--border);
  border-radius: var(--rounded);
  color: var(--secondary-foreground);
  font-weight: normal;  
}

.modal-header {
  border-bottom: none;
}
.modal-title { 
  font-family: 'Roboto', sans-serif;
  color: var(--primary);
  margin: 0;
  line-height: 1;
}

.modal-footer .btn-default:hover,
.modal-footer .btn-default:active,
.modal-footer .btn-default:focus {
  background: color-mix(in srgb, black 5%, var(--secondary)) !important;
}

button.close {
  text-indent: -1000px;
  position: relative;
  opacity: 1;
}
button.close::before {
  content: '';
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFOSURBVHgBjZO/boMwEMbvTCDNUClLq0ZdWKpGyuIMlaJOYeyYR+FJ8gidO/EIMHXpUHdg95iRqSQQcG1UlOAYnG/yn9PPd/edcUFf6LEkWwHAC3cScpZkYJFP19NxmUdqPQInxOfFKhZCrP/vWeFNgiGQAnhFHsslVXtESIgWQ1WACrwGoCQEcnJw9xtAYDaQCdBk/nsTEs5YVriHwASa05U/DJCl8yTD00t06pXjGEQnkLvobEpRvfcBmr50UzaCdHUAF5ArQBcAI0TpafFKUVTf+rksbZmmn0w/1y0G1UwiqsjABtmbqG12L0S5UBciktPrg1m+utftJ+cAg43SnXppmyMyAGCkxiBNv1jfHLUgtA3SKVOja81fI16Zb22Apq6eyVa/maBMxgawgMB5uJ/9CCRzROQS8NYHaJXtdvvbx7sP5+jOkGA2gjr8Aw8w3IxTBjxqAAAAAElFTkSuQmCC') no-repeat center center / 45%;
  width: 24px;
  height: 24px;  
  position: absolute;
  right: 4px;
  top: 4px;    
}

/* EV-16256: Lay out the Cadmium-meeting label + product pills (Website/App,
   Ed Harvester, Expo Harvester) as a flex row so they sit inline with
   consistent spacing and wrap cleanly on narrow viewports. The earlier
   absolute-style positioning (top: -3px on .no-icon, left: 14px on the
   ::after pill, negative margin on the hidden image) caused the pills to
   overlap once more than one was present. */
#cadmiumMeeting {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
#cadmiumMeeting > div.no-icon {
  background: var(--eventscribe);
  color: var(--white);
  font-size: 14px;
  padding: 4px 11px;
  border-radius: 50px;
}
#cadmiumMeeting > div:not(.no-icon)::after {
  content: 'Website/App';
  display: inline-block;
  margin-left: 14px;
  font-size: 14px;
  padding: 4px 11px;
  border-radius: 50px;
  background: var(--eventscribe);
  color: var(--white);
}
#cadmiumMeeting img {
  display: none;
}

/* === LOGIN / LOGOUT (Stylus section 2) === */

#header > a {
  display: block;
  width: 381px;
  height: 64px;
  margin: 0 auto 25px;
  
  background: url('data:image/png;base64,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') no-repeat center center / contain;
  
}

#header-logo {
  display: none;
}

body.er-login #content {
  border-radius: var(--rounded-xl);
  background: var(--white) !important;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
}

#content #inner-content h2 {
  font-size: var(--text-xl);
  color: var(--primary);
}

#content #inner-content form div.section:nth-child(1) {
  margin-bottom: 15px;
}

#content #inner-content input[type='submit'] {
  background: var(--primary);
  color: var(--primary-foreground);
  padding: var(--p-2) var(--p-4) !important;
  font-size: var(--text-base);
  border: 1px solid var(--primary);  
}

#content #inner-content input[type='submit']:hover {
  background: var(--black);
}

#content #inner-content input[type='text'],
#content #inner-content input[type='password']{
  height: auto;
  padding: var(--p-2) var(--p-2);
  border-radius: var(--rounded);
  border: 1px solid var(--border);
  
}

#content #inner-content .forgot-password a { 
  text-decoration: underline;
}

#content #footer {
  background: transparent;  
  text-align: center;
  padding-bottom: 15px;
  height: auto;
}

#content #footer a {
  color: var(--primary);
  text-decoration: underline;
  
}

#content #footer ul li {
  color: var(--muted-foreground);
}

/* === UNIFIED LOGIN (Stylus section 5) === */
/* Most rules deferred to working session (Q2 scoping decision). */
/* Hide left menu only on UnifiedLoginHomeSearch.jsp via :has() — scoped by the page's unique form action. */
body:has(form[action*="UnifiedLoginHomeSearch.jsp"]) #siteLeftMenu {
  display: none;
}


/* === SHARED UTILITY === */
/* td a.text underline rule (Stylus §2.3 item A) — was originally URL-scoped to
   PlanList/Report/Messages. Re-added here scoped via body.er-emarketing-list,
   set on PlanList.jsp + Report.jsp. Message.jsp (MeetingWizard, Stylus section 11)
   still pending and will get the same scope when section-11 lands. */
body.er-emarketing-list td a.text {
  text-decoration: underline;
  padding-left: var(--p-2);
}

/* === EMARKETING / PLAN TAB (Stylus section 8) === */
#content-inner table.blockBGColor tr:nth-child(3) td table { border-collapse: collapse; }
#content-inner table.blockBGColor tr:nth-child(3) td table tr:first-child { border: none; }
#content-inner table.blockBGColor tr:nth-child(3) td table tr { border-bottom: none; }

#content-inner table.blockBGColor tr:nth-child(3) td table tr:nth-child(2) td { padding: 0; }
#content-inner table.blockBGColor tr:nth-child(3) td table tr td { padding: var(--p-1); }
#content-inner table.blockBGColor tr:nth-child(3) td table tr td:first-child { padding-left: var(--p-2); }

/* Suppress section-8 nested-table styling on selected MeetingWizard tab pages.
   Narrow scope per dev request. Broader fix (rescope section-8 to PlanList +
   Report only via body.er-plan-list) deferred. */
body.er-meeting-tab #content-inner table.blockBGColor tr:nth-child(3) td table tr {
  border-bottom: 0;
}
body.er-meeting-tab #content-inner table.blockBGColor tr:nth-child(3) td table tr td,
body.er-meeting-tab #content-inner table.blockBGColor tr:nth-child(3) td table tr td:first-child {
  padding: 0;
}

/* === EMARKETING / REPORT TAB (Stylus section 9) === */
/* All section-9 rules are byte-identical to section-8 (or to the shared td a.text utility). */
/* Section-8's #content-inner-scoped rules cover section-9's URL via the same wrapper. */

/* === EMARKETING / MESSAGE LIBRARY (Stylus section 10, scoped to body.er-message-library) === */
/* MessageLibrary.jsp has a different table structure than PlanList/Report - content
   nested table is at row 2 (not row 3), and the actual message list is 3 levels deep
   (tr:nth-child(2) > table > tr:nth-child(5) > table). Section-10 was deferred because
   several of these selectors (table.blockBGColor, div[align="center"], table[width="95%"])
   would leak globally if merged unscoped. Each rule is prefixed with body.er-message-library. */
body.er-message-library div[align="center"] { border: 1px solid var(--border); }
body.er-message-library form > table.blockBGColor { border: none; }
body.er-message-library table.blockBGColor { border: none; }
body.er-message-library table[width="95%"] { width: 100% !important; margin: 0; }

body.er-message-library #content-inner table.blockBGColor tr:nth-child(2) table tr:nth-child(5) table { border-collapse: collapse; width: 100%; }
body.er-message-library #content-inner table.blockBGColor tr:nth-child(2) table tr:nth-child(5) table tr:first-child { border: none; }
body.er-message-library #content-inner table.blockBGColor tr:nth-child(2) table tr:nth-child(5) table tr:nth-child(odd) { border-bottom: 1px solid var(--border); }
body.er-message-library #content-inner table.blockBGColor tr:nth-child(2) table tr:nth-child(5) table tr:nth-child(odd) td { padding: var(--p-1) var(--p-2); }

body.er-message-library tr td[align="right"] .small { color: var(--primary); text-decoration: underline; }
body.er-message-library tr td > hr { display: none; }

/* === MESSAGES / UDF TAB (Stylus section 12) === */
#content-inner table.blockBGColor table[width="95%"] tbody#udfs {
  border-left: 1px solid var(--border);
}

.udf.gu-transit {
  background: color-mix(in srgb, black 20%, var(--secondary)) !important;
}

.gu-mirror {
  display: table;
  outline: 2px dashed var(--muted-foreground);
  outline-offset: 4px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
  background: #fff;
  border-radius: var(--rounded);
}

/* === REBRAND FOLLOW-UP: Program/Setup.jsp checkbox border overlap ===
   Section 1 added `border: 1px solid var(--border)` to TABLE.blockBGColor.
   On Setup.jsp the leftmost checkbox sits flush against that border.
   Scoped via body.er-program-setup to avoid touching other pages. */
body.er-program-setup TABLE.blockBGColor > tbody > tr > td:has(> label > input[type="checkbox"]) {
  padding-left: var(--p-2);
}

/* === EV-16102: Eventscribe Admin top header (new application brand strip) ===
   Sits above the existing #topMenu row in iHeaderPrivate.jsp /
   iHeaderPrivateMembership.jsp. Namespaced .es-* so it does not override
   any existing selectors. Uses --primary and --eventscribe already in :root.
   Customer name renders only when User.getFirmID() > 0 (handled in JSP). */
.es-header {
  background-color: var(--primary);
  border-bottom: 5px solid var(--eventscribe);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 64px;
  padding: 14px 16px;
  width: 100%;
  box-sizing: border-box;
  position: sticky;
  top: 0;
  z-index: 10;
}

.es-header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1366px;
  width: 100%;
}

.es-logo-wrapper {
  display: flex;
  gap: 12px;
  align-items: center;
}

.es-logo-icon-img {
  height: 36px;
  width: 36px;
  display: block;
}

.es-logo-wordmark-img {
  height: 23px;
  width: auto;
  display: block;
}

.es-logo-admin-text {
  font-family: 'Messina Serif', Georgia, serif;
  font-style: italic;
  font-size: 28.777px;
  color: #ffffff;
  line-height: 1;
}

.es-vertical-separator {
  width: 1px;
  align-self: stretch;
  background-color: #9b9da3;
}

.es-customer-name {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 20px;
  color: #ffffff;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 600px;
}

/* EV-16102 follow-up: restore intrinsic icon size for Onsite toolbar.
   Section-1 rule `a.text > img { width: 60px; height: 28px }` (line 843)
   was distorting the 22x22 toolbar icons inside iMenuBarRegistrant /
   iMenuBarRegistrantState. Scope the reset to #onsiteMenuBar so we do
   not undo wherever else the section-1 author intended the 60x28 sizing. */
#onsiteMenuBar a.text > img {
  width: auto;
  height: auto;
  border-radius: 0;
  margin: 0;
}

/* EV-16193: horizontal separator + cell padding for meeting rows on
   Workflow/MeetingsActive.jsp and Workflow/MeetingArchives.jsp.
   Class `meeting-row` is added to each data <tr> in the JSP loop so header
   rows and spacer rows don't pick up these styles. `:not(:last-of-type)`
   on the border rule skips the last meeting-row so the table's own bottom
   border provides the closure instead of stacking two lines. The padding
   rule applies to ALL meeting-row cells (including the last) so the right-
   aligned ActivityID column doesn't sit flush against the table's right
   border. */
.meeting-row > td {
    padding: 0 8px;
}
.meeting-row:not(:last-of-type) > td {
    border-bottom: 1px solid var(--border);
}

/* EV-16195: Message Library template row Edit links are plain unclassed <a>
   elements that sit flush against the right edge of their <td>. Add cell
   right-alignment and padding so the text has visible breathing room.
   :not(.text) avoids picking up the template-name links, which use class="text". */
body.er-message-library td:has(> a[href="javascript://"]:not(.text)) {
    text-align: right;
    padding-right: 12px;
}

/* EV-16193 + EV-16298: hide the empty 270px left rail (#siteLeftMenu) on
   the meeting-listing pages (MeetingsActive / MeetingArchives /
   MeetingArchiveCatRestrict) and the Home page (Workflow/index.jsp).
   These pages don't populate the rail with any menu items, so the reserved
   column reads as a blank strip on the left. */
body.er-meeting-listing #siteLeftMenu,
body.er-home #siteLeftMenu {
    display: none;
}

/* EV-16262: Add text-decoration underlines back to clickable links inside the
   main content area so the page meets accessibility requirements (links must
   be distinguishable beyond colour alone). Excludes the Meeting Wizard tab
   strip's text variants which already render as styled tab labels. The
   #controlCenterMenu cards opt back out via !important because those cards
   already use container styling to indicate interactivity. CSS provided
   verbatim by design (John Imperio + Jen Symms). */
#content-inner a:not(.tabText):not(.tabSelText),
#content-inner .text {
  text-decoration: underline;
}
#controlCenterMenu .blockBGColor ul > li > a,
#controlCenterMenu .blockBGColor ul > li > form > a { text-decoration: none !important; }

/* EV-16262 follow-up: don't underline placeholder links that wrap just an
   <img> (e.g. the empty Maximum Capacity / Promotion Code / Option Price
   boxes on Fee.jsp). The underline served no accessibility purpose on a
   wordless link and rendered as a stray dash next to the placeholder box.
   Matches the EV-16262 base rule's :not(.tabText):not(.tabSelText) part so
   specificity (1,3,2) wins over the competing (1,2,1) underline rule for
   non-.text links too. */
#content-inner a:not(.tabText):not(.tabSelText):has(> img:only-child),
#content-inner a.text:has(> img:only-child) {
  text-decoration: none;
}

/* EV-16192: Customer List page (UnifiedLoginHomeSearch.jsp) — rework the
   search box, autocomplete dropdown, and Accounts list to match the
   pre-rebrand design.
   - Search input fills its column; the typeahead wrapper matches so the
     dropdown is the same width as the input.
   - The Go! button stays inline-right (it lives in a separate <td>; the
     browser auto-sizes that column to fit the button).
   - Autocomplete suggestions left-align with comfortable padding.
   - "Accounts" <th> renders as a header bar; account rows get 1px borders. */
body.er-customer-list #firm-search,
body.er-customer-list #scrollable-dropdown-menu,
body.er-customer-list .twitter-typeahead,
body.er-customer-list .tt-hint {
  width: 100% !important;
  box-sizing: border-box;
}
body.er-customer-list #scrollable-dropdown-menu {
  display: block;
}

/* Stretch the search <td> so the input occupies the full available width.
   Centering the cell was leaving the input pinned at 450px previously.
   padding-right gives the input a gap before the adjacent Go! button cell
   (the input is box-sizing: border-box so it shrinks to respect padding). */
body.er-customer-list #frm > table > tbody > tr > td:has(#scrollable-dropdown-menu) {
  text-align: left;
  width: 100%;
  padding-right: 8px;
}

/* Autocomplete dropdown — full width matching the input, items left-aligned
   with breathing room. */
body.er-customer-list .tt-menu,
body.er-customer-list .tt-dropdown-menu {
  width: 100% !important;
  text-align: left;
}
body.er-customer-list .tt-suggestion {
  text-align: left;
  padding: 6px 12px;
}

/* "Accounts" header row — header-bar styling. */
body.er-customer-list #frm > table th {
  text-align: left;
  padding: 8px 12px;
  background-color: var(--accent);
  color: var(--primary);
  border: 1px solid var(--border);
}

/* Account rows — each <tr> contains a single <td> with the account link
   plus the firm-id suffix. Give the cell padding and 1px borders so the
   list reads as a bordered table. */
body.er-customer-list #frm > table > tbody > tr:has(> td > a[href*="UnifiedLoginHome.jsp"]) > td {
  padding: 8px 12px;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

/* EV-16315: Fee Schedule data tables — design refinement.
   The thick black separator under each data table's column headers was an
   extra <tr><td class="headerLineColor"> hack (9px-tall row that looked like
   a thick border). Those markup rows were removed from iFee.jsp; replace
   the visual separation with proper CSS borders so the column header is
   still delineated from the data rows and the table has a clear outer
   boundary. Scoped to body.er-fee-schedule so other pages using the same
   section-8 nested-table selector are unaffected. !important is needed to
   override the section-8 rules above that explicitly strip borders
   (tr:first-child { border: none } and tr { border-bottom: none }). */
/* Border ONLY around the inner data tables — the ones with <th> column
   headers: Meeting Registration (Item / Max Capacity / Promotion Code /
   Good Until), Options (Item / Cut-off / Promotion Code / Good Until),
   and Refund Policy (Penalty / Until). The outer section wrappers
   (Fees Expire alert, section titles + descriptions, button rows) stay
   unbordered so each section reads as a clean header + bordered data
   block + buttons. */
body.er-fee-schedule #content-inner table.blockBGColor tr:nth-child(3) td table:has(> tbody > tr > th) {
  border: 1px solid var(--border) !important;
}
/* The Refund Policy section wraps its content in an outer <table border="1">
   (legacy markup). The user wants the "Refund Policy:" label/section
   unbordered — only the inner Penalty/Until data table should carry the
   border. Suppress the wrapper's default browser-drawn 1px border. */
body.er-fee-schedule #content-inner table.blockBGColor tr:nth-child(3) td table[border="1"] {
  border: none !important;
}
/* Header/data separator is inlined on the last header <tr> in iFee.jsp
   itself (style="border-bottom: 1px solid var(--border);"). Inline
   styles win against the section-8 `tr { border-bottom: none }` rule
   for the Meeting Registration / Options data tables because those
   inlines land on row 2 (the dates row, i.e. nth-child(2)). Refund
   Policy's Penalty/Until table has only one header row, so its inline
   lands on tr:first-child — which the section-8 rule
   `tr:first-child { border: none }` neutralizes in border-collapse
   mode. Force it here: target the single-header-row table (no rowspan
   th) and re-apply the border-bottom with !important. */
body.er-fee-schedule #content-inner table.blockBGColor tr:nth-child(3) td table:has(> tbody > tr > th):not(:has(> tbody > tr > th[rowspan="2"])) > tbody > tr:first-child {
  border-bottom: 1px solid var(--border) !important;
}

