.strike {
    text-decoration: line-through;
}

/*clearfix*/

.clearfix:after,
.ip-container:after,
.ip-element:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

* html .clearfix,
* html .ip-container,
* html .ip-element {
    height: 0px;
}

.clearfix,
.ip-container,
.ip-element {
    display: block;
}

.ip-hotelDescriptions {
    clear: both;
    margin: 0 10px 4px;
    vertical-align: middle;
    display: block;
}


/* IE7 Specific radio button margin hack. -EHM */

*+html .IE7_Radio {
    clear: both;
}


/* Cross platform FF/IE7 checkbox/radio button margin hack. May replace style above. -EHM */

.ip-elementContent input[type="checkbox"]:not(.form-check-input):not(.btn-check),
.ip-elementContent input[type="radio"]:not(.form-check-input):not(.btn-check),
.ip-elementContent input[type="text"]:not(.form-control) {
    /*  clear: both;  -- Causing layout issues in IE7. Commented out 02/18/10 JG --*/
    vertical-align: middle;
}

.singleCheckbox-right .ip-elementContent input[type="checkbox"]:not(.form-check-input):not(.btn-check) {
    vertical-align: top;
}

*+html .ip-elementContent input[type="text"]:not(.form-control) {
    clear: none;
}


/* Don't clear on auto-complete combo or the element wraps */

.ip-elementContent div.combo input[type="checkbox"]:not(.form-check-input):not(.btn-check),
.ip-elementContent div.combo input[type="radio"]:not(.form-check-input):not(.btn-check),
.ip-elementContent div.combo input[type="text"]:not(.form-control) {
    clear: none;
}


/*end clearfix*/


/* Limit table width to play nice in the column view */

.ip-element .ip-elementContent table.ip-elementContentTable:not(.table) {
    max-width: 500px;
}

.ip-leftContainer .ip-element .ip-elementContent table.ip-elementContentTable:not(.table),
.ip-rightContainer .ip-element .ip-elementContent table.ip-elementContentTable:not(.table) {
    width: 320px;
}

.ip-element .ip-elementContent table.ip-ancillarySponsorshipsElementContentTable:not(.table) {
    width: 650px;
    border-spacing: 5px;
}

.hidden {
    display: none;
}

div#ip-adminView ul.setupGroup:not(.nav):not(.list-group) li:not(.nav-item):not(.list-group-item) {
    margin: 0 10px 4px 10px;
}

div#ip-adminView p {
    margin: 10px;
}

.ui-dialog-content div.ip-container {
    padding: 0px;
}

div.ip-container div.ip-element > label.ip-elementLabel.inlineLabel:not(.form-label) {
    float: none;
    width: auto;
}

div.ip-elm-checkbox-multi span.ip-elementContent label:not(.form-label):not(.form-check-label),
div.ip-elm-radio-multi span.ip-elementContent label:not(.form-label):not(.form-check-label) {
    font-weight: normal;
}

div.ip-container .ip-elementContent .clearfix {
    display: inline-block;
    padding-bottom: 4px;
    position: absolute;
}

div.ip-container div.ip-element label.ip-formNumberCheckbox:not(.form-label):not(.form-check-label),
div.ip-container div.ip-element label.ip-formElementEnableWithCheckbox-Checkbox:not(.form-label):not(.form-check-label) {
    display: block;
    margin: 2px;
    line-height: 16px;
}

*+html input.ip-formText {
    float: none !important;
}

div.ip-container .ip-elementContent input.ip-formText.nowidth:not(.form-control),
div.ip-container .ip-elementContent input.ip-formPassword.nowidth:not(.form-control) {
    width: auto;
}

div.ip-container div.ip-element textarea#label:not(.form-control) {
    width: 325px;
}

div.ip-container div.ip-element textarea.nowidth:not(.form-control) {
    width: auto;
    height: auto;
}

div.ip-container div.ip-element label:not(.form-label):not(.form-check-label) {
    /*font-weight: bold;*/
}

span.textElement-label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: 700;
}


/* Field required symbols for Page Builder V1 */

div.ip-container div.ip-element label:not(.form-label):not(.form-check-label) .requiredSymbolClass {
    color: #ff0000;
}

div.ip-container div.ip-element label:not(.form-label):not(.form-check-label) .notRequiredSymbolClass {
    color: #ffffff;
    opacity: 0;
}


/* Field required symbols for Page Builder V2 */

div.ip-group-container div.ip-element label:not(.form-label):not(.form-check-label) .requiredSymbolClass {
    color: #ff0000;
}

div.ip-group-container div.ip-element label:not(.form-label):not(.form-check-label) .notRequiredSymbolClass {
    color: #ffffff;
    opacity: 0;
}


/* Error label color for Page Builder V1 */

div.ip-container div.ip-element label.emptyFieldLabel:not(.form-label):not(.form-check-label),
div.ip-container div.ip-element label.errorFieldLabel:not(.form-label):not(.form-check-label) {
    color: #ff0000;
}


/* Error label color for Page Builder V2 */

div.ip-group-container div.ip-element label.errorFieldLabel:not(.form-label):not(.form-check-label),
div.ip-group-container div.ip-element label.emptyFieldLabel:not(.form-label):not(.form-check-label) {
    color: #ff0000;
}

div.ip-container div.ip-containerTitle img.right,
div.ip-container div.ip-sectionTitle img.right,
div.ip-container div.ip-groupTitle img.right {
    vertical-align: bottom;
}

div.ip-buttonBar {
    height: 30px;
    padding-top: 5px;
}

div.ip-button a:not(.btn):not(.nav-link):not(.dropdown-item) {
    display: block;
    font-weight: bold;
    font-size: 9pt;
    color: #fff !important;
    background-color: #999999;
    padding: 5px 8px 5px 8px;
    cursor: pointer;
    border: 1px solid #cecece;
}

div.ip-button a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    background-color: #666666;
}

div.ip-button.ip-button-submit a:not(.btn):not(.nav-link):not(.dropdown-item) {
    background-color: #669966;
}

div.ip-button.ip-button-submit a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    background-color: green;
}

div.ip-button.ip-button-cancel a:not(.btn):not(.nav-link):not(.dropdown-item) {
    background-color: #cc0000;
}

div.ip-button.ip-button-cancel a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    background-color: #990000;
}

div.ip-button input:not(.form-control):not(.form-check-input):not(.btn-check) {
    display: none;
}

body.index_exhibitors_booth div.ip-buttonBar {
    clear: both !important;
    position: static !important;
    z-index: 1000 !important;
    width: auto !important;
    height: auto !important;
    padding: 5px 10px 0px !important;
}

body.index_exhibitors_booth div.ip-button a:not(.btn):not(.nav-link):not(.dropdown-item) {
    display: block;
    font-weight: bold;
    font-size: 9pt;
    color: #fff !important;
    cursor: pointer;
    border: 0px solid #cecece !important;
}

body.index_exhibitors_booth div.ip-button input:not(.form-control):not(.form-check-input):not(.btn-check) {
    display: none;
}

table.ip-sortableTable:not(.table) td {
    vertical-align: top;
    padding: 5px;
}

ul.ui-sortable:not(.nav):not(.list-group) {
    list-style-type: none;
    width: 200px;
    border: solid 1px #dddddd;
    padding: 2px 5px;
}

ul.ui-sortable:not(.nav):not(.list-group) li:not(.nav-item):not(.list-group-item) {
    border: 1px solid #cccccc;
    padding: 3px;
    margin: 3px 0px;
    cursor: move;
}

ul.ui-sortable:not(.nav):not(.list-group) li:not(.nav-item):not(.list-group-item) img {
    vertical-align: text-bottom;
}

ul.ui-sortable:not(.nav):not(.list-group) li:not(.nav-item):not(.list-group-item):hover {
    background-color: #eeeeee;
}

ul.ui-sortable:not(.nav):not(.list-group) li.empty:not(.nav-item):not(.list-group-item):hover {
    background-color: #ffffff;
    cursor: default;
}

ul.ui-sortable:not(.nav):not(.list-group) .ip-elementContent {
    float: none;
}

#pricesContainer {
    list-style: none;
    padding: 0;
}

#pricesContainer .ui-sortable-placeholder {
    border: 0.125rem dashed #1f52b8;
    border-radius: 0.5rem;
    background-color: #dff3f7;
    visibility: visible !important; /* Override jQuery UI inline visibility */
}

.red { /* fixed colors to match v3 style */
    color: #b3371b;
}

.green { /* fixed colors to match v3 style */
    color: #026d68;
}

.gray { /* fixed colors to match v3 style */
    color: #b8b8b8;
}

table.financialSummary:not(.table) {
    width: 100%;
}

table.financialSummary:not(.table) tr.accountRow th {
    font-weight: normal;
    font-size: 1.2em;
    color: #333;
}

table.financialSummary:not(.table) tr.subtotalRow th {
    padding-bottom: 20px;
}

table.financialSummary:not(.table) tr td.amountHeader {
    width: 10%;
}

table.financialSummary:not(.table) tr td.paymentDate {
    width: 10%;
}

table.financialSummary:not(.table) tr td.paymentDate.pending {
    font-style: italic;
}

table.financialSummary:not(.table) tr td.buttons {
    width: 10%;
}

table.financialSummary:not(.table) tr.chargesHeaderRow td {
    font-weight: normal;
    color: #036;
}

table.financialSummary:not(.table) tr.discountsHeaderRow td {
    font-weight: normal;
    color: #036;
}

table.financialSummary:not(.table) tr.vatHeaderRow td {
    font-weight: normal;
    color: #036;
}

table.financialSummary:not(.table) tr.chargesHeaderRow #charges {
    font-weight: bold;
}

table.financialSummary:not(.table) tr.discountsHeaderRow #discounts {
    font-weight: bold;
}

table.financialSummary:not(.table) tr.vatHeaderRow #discounts {
    font-weight: bold;
}

table.financialSummary:not(.table) {
    empty-cells: show;
}

table.financialSummary:not(.table) td #totalCharges {
    font-weight: bold;
}

table.financialSummary:not(.table) td #totalDiscounts {
    font-weight: bold;
}

table.financialSummary:not(.table) th {
    font-weight: bold;
}

#ui-datepicker-div {
    z-index: 1060;
    display: none;
}

table.financialSummary:not(.table) td,
table.financialSummary:not(.table) th {
    padding: 3px;
    min-width: 22px;
}

table.financialSummary:not(.table) tr.subtotalRow td,
table.financialSummary:not(.table) tr.subtotalRow th {
    border-top: 1px solid #cccccc;
    font-weight: bold;
}

table.financialSummary:not(.table) tr.headerRow th {
    border-bottom: 1px solid #cccccc;
}

table.financialSummary:not(.table) .financialAmount {
    white-space: nowrap;
}

table.financialSummary:not(.table) .invalidPayment .financialAmount {
    text-decoration: line-through;
}

table.financialSummary:not(.table) tr.odd {
    background-color: #eee;
}

table.financialSummary:not(.table) tr.even {
    background-color: #fff;
}

table.financialSummary:not(.table) tr.activeFinancial {
    background-color: #D0E9FF !important;
}

table.financialSummary:not(.table) td.paymentDescription {
    font-style: italic;
}

table.financialSummary:not(.table) td.paymentdate {
    width: 66px;
}

#right div.IP_Messages > div.message:not(.alert),
.message:not(.alert) {
    margin: 0 0 5px 0;
}

#right div.IP_Messages > div.message:not(.alert) .fa,
.message:not(.alert) .fa {
    vertical-align: middle;
    margin-top: -2px;
}

#right .message.warning:not(.alert),
#right div.IP_Messages > div.warning:not(.alert),
.message.warning:not(.alert) {
    background: #FFF3A3;
    border: 1px solid #E7BD72;
    color: #B79000;
    padding: 10px;
    margin: 0 0 5px 0;
}

#right .message.success:not(.alert),
#right div.IP_Messages > div.success:not(.alert),
.message.success:not(.alert) {
    background: #CDEFA6;
    border: 1px solid #9BCC54;
    color: #648434;
    padding: 10px;
    margin: 0 0 5px 0;
}

#right .message.error:not(.alert),
#right div.IP_Messages > div.error:not(.alert),
.message.error:not(.alert) {
    background: #FFD5D5;
    border: 1px solid #FFACAD;
    color: #CF3738;
    padding: 10px;
    margin: 0 0 5px 0;
}

.description {
    font-size: 0.9em;
    width: 200px;
    color: #333333;
}

.itemDescription {
    font-size: 0.9em;
    width: 200px;
}

.itemDescriptionAppend {
    font-size: 0.9em;
    width: 200px;
}

.rightSideDescription {
    font-size: 0.9em;
    width: 300px;
}

.sbElement {
    border-bottom: 1px solid #CCCCCC;
    display: block;
    margin: 20px 10px;
}

.socialButton {
    margin: 20px 10px;
}

.sbElement select:not(.form-select) {
    width: 185px;
}

.sbElement input[type=text]:not(.form-control) {
    width: 180px;
}

.sbElement .ip-element {
    width: 360px;
}

.advancedReportDescription {
    margin: 0px 10px 4px;
    width: 350px;
}

#footer a:not(.btn):not(.nav-link) {
    color: #716234;
    text-decoration: underline;
}

#footer a:not(.btn):not(.nav-link):hover {
    text-decoration: none;
}

.ip-elementContent select:not(.form-select):not(.form-control) {
    width: 185px;
    float: none;
}

span.Element_Actions img.hand {
    cursor: pointer;
}

#centeredmenu {
    width: 100%;
    background: #fff;
    overflow: hidden;
    position: relative;
}

#centeredmenu ul:not(.dropdown-menu):not(.nav):not(.list-group) {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    text-align: center;
}

#centeredmenu ul:not(.dropdown-menu):not(.nav):not(.list-group) li:not(.dropdown-item):not(.nav-item):not(.list-group-item) {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

ul#publicMenu {
    list-style: none;
}

ul#publicMenu li:not(.nav-item) {
    width: auto;
    margin: 0;
    padding: 0 5px;
}

#progressMenu {
    max-width: 100%;
    min-width: 450px;
    height: 75px;
    margin: 0px auto;
    position: absolute;
    top: -100px;
    width: 100%;
}

#progress {
    counter-reset: step;
}

ul#progress li:not(.nav-item) {
    list-style-type: none;
    width: 10%;
    font-size: 12px;
    position: relative;
    text-align: center;
    color: #036;
    margin: 0;
    padding: 0;
}

ul#progress li:not(.nav-item) span {
    float: none;
    padding: 0;
}

ul#progress li#step1,
ul#progress li#step2,
ul#progress li#step3,
ul#progress li#step4,
ul#progress li#step5,
ul#progress li#step6,
ul#progress li#step7,
ul#progress li#step8,
ul#progress li#step9 {
    background: none;
}

#progress li:not(.nav-item):before {
    width: 30px;
    height: 30px;
    counter-increment: step;
    line-height: 30px;
    border: 2px solid #036;
    display: block;
    text-align: center;
    margin: 0 auto 10px auto;
    border-radius: 50%;
    background-color: #036;
    color: #FFF;
    content: "\f00c";
    font-family: FontAwesome;
}

#progress li.currentStep:before {
    content: counter(step);
    font-family: inherit;
    color: #254A62;
    background-color: #FFF;
    border-color: #036;
}

#progress li.currentStep ~:before {
    content: counter(step);
    font-family: inherit;
    color: #7d7d7d;
    background-color: #FFF;
    border-color: #7d7d7d;
}

#progress li.currentStep ~ li:not(.nav-item) span {
    color: #7d7d7d;
}

#progress li:not(.nav-item):after {
    width: 100%;
    height: 2px;
    content: '';
    position: absolute;
    background-color: #7d7d7d;
    top: 15px;
    z-index: -1;
}

#progress li:first-child:after {
    content: none;
}

#progress li.currentStep {
    color: #254A62;
    background: #036;
    border: none;
}

ul#progress li.currentStep span {
    border: none;
}

#progress li.currentStep + li:after {
    background-color: #7d7d7d;
}

@media (max-width: 768px) {
    ul#progress li:not(.nav-item) span {
        display: none;
    }
}

.ip-elementContent,
div.ip-element:not(.singleCheckbox-right) .ip-elementContent input:not(.chosen-search-input):not(.form-control):not(.form-check-input) {
    overflow: visible;
}

.ip-elementContent p.hint {
    margin-bottom: 0;
}

#ElementTypes > ul:not(.dropdown-menu):not(.nav):not(.list-group) {
    list-style-type: none;
}

#ElementTypes ul:not(.dropdown-menu):not(.nav):not(.list-group) li:not(.dropdown-item):not(.nav-item):not(.list-group-item) {
    padding: 1px 0;
    cursor: pointer;
}

#ElementTypes ul:not(.dropdown-menu):not(.nav):not(.list-group) ul:not(.dropdown-menu):not(.nav):not(.list-group) li:not(.dropdown-item):not(.nav-item):not(.list-group-item) {
    padding: 1px 8px;
    cursor: pointer;
}

#ElementTypes img {
    vertical-align: bottom;
    cursor: pointer;
}

#ElementTypes ul:not(.dropdown-menu):not(.nav):not(.list-group) ul:not(.dropdown-menu):not(.nav):not(.list-group) {
    list-style-type: none;
    display: none;
    margin: 0 8px;
    padding: 0;
}


/* styles for housing block report table and its ilk */

table.ip-summaryTable:not(.table) th {
    color: white;
    color: #333333;
    background-color: #dddddd;
    padding: 4px;
    text-align: center;
}


/* styles for housing block report table and its ilk */

table.ip-summaryTable:not(.table) tr.ip-summaryTable-subHeading {
    color: #333333;
    background-color: #e6e6e6;
    text-align: center;
}


/* styles for housing block report table and its ilk */

table.ip-summaryTable:not(.table) tr.ip-summaryTable-subHeading td {
    padding: 4px;
    border-bottom-style: solid;
    border-bottom-color: #c0c0c0;
    border-bottom-width: 1px;
    border-top-style: solid;
    border-top-color: #c0c0c0;
    border-top-width: 1px;
}

table.ip-summaryTable:not(.table) td.ip-summaryDataCellLeftMargin {
    text-align: center;
}

table.ip-summaryTable:not(.table) td.ip-summaryDataCell {
    text-align: center;
}


/* Used to handle overview for really wide tables */

div.ip-rowSelector {
    margin: 4px;
    width: 400px;
    padding: 2px;
}

div.ip-rowSelectorLeft {
    width: 175px;
    margin: 4px;
}

div.ip-rowSelectorRight {
    width: 175px;
    margin: 4px;
}

table.ip-summaryTable:not(.table) .ip-table-evenRow {
    background-color: #f8f8f8;
}

table.ip-summaryTable:not(.table) tr:hover {
    background-color: #cfe9ff;
    color: #000000;
}


/* alternating hotels have slightly darker colors   */

table.ip-summaryTable:not(.table) .ip-table-oddRow.ip-oddBlock {
    background-color: #f5f5f5;
}

table.ip-summaryTable:not(.table) .ip-table-evenRow.ip-oddBlock {
    background-color: #fbfbfb;
}

table.ip-summaryTable:not(.table) tr.ip-table-evenRow.ip-oddBlock:hover {
    background-color: #cfe9ff;
    color: #000000;
}

table.ip-summaryTable:not(.table) tr.ip-table-oddRow.ip-oddBlock:hover {
    background-color: #cfe9ff;
    color: #000000;
}


/* table.ip-summaryTable .ip-table-blockBreak {
  background-color:#e0e0e0;

}
*/

table.ip-summaryTable:not(.table) .ip-table-blockBreak td {
    border-top-width: 1px;
    border-top-color: #c0c0c0;
    border-top-style: solid;
}

table.ip-summaryTable:not(.table) {
    border-style: solid;
    border-width: 1px;
    border-color: #333333;
    border-collapse: collapse;
}

.ip-summaryTableTitle {
    font-weight: bold;
    font-size: bigger;
}

div.ip-summaryTableButtonWrapper {
    clear: both;
}


/** used to add scroll bars for IE */

div.ip-summaryTableWrapper {
    width: 95%;
    overflow: auto;
}


/*   End styles for housing summary table   */


/* div styling for the Package Description */

div.packageDescription {
    padding: 5px 15px;
}

div.packageItemsDescription ul:not(.dropdown-menu):not(.nav):not(.list-group) {
    margin: 0px !important;
}


/* styles for revenue summary rows */

#reportTable_Revenue_Summary span.sectionHeading {
    font-weight: bold;
    text-decoration: underline;
}


/* Multiple Registration UL styling */

#MultipleRegList {
    width: 100%;
    background: #fff;
    overflow: hidden;
    position: relative;
    text-align: center;
}

#MultipleRegList .ip-sectionTitle {
    font-weight: bold;
}

#MultipleRegList ul:not(.dropdown-menu):not(.nav):not(.list-group) {
    padding: 0;
    position: relative;
    text-align: center;
    list-style-type: square;
}

#MultipleRegList ul:not(.dropdown-menu):not(.nav):not(.list-group) li:not(.dropdown-item):not(.nav-item):not(.list-group-item) {
    margin: 2px;
    padding: 0;
    position: relative;
}


/* default left margins for UL and OL elements */

#index_registrations_profile ul:not(.dropdown-menu):not(.nav):not(.list-group),
ol,
#index_registrations_housing ul:not(.dropdown-menu):not(.nav):not(.list-group),
ol,
#index_registrations_review ul:not(.dropdown-menu):not(.nav):not(.list-group),
ol,
#index_registrations_payment ul:not(.dropdown-menu):not(.nav):not(.list-group),
ol {
    list-style-position: inside;
}


/* IE7 Specific float and width hack for admin/setup pages. -EHM */

+html .ip-elementContent,
.ip-elementContent input:not(.form-control):not(.form-check-input):not(.btn-check) {
    float: none;
    width: 185px;
}


/* Clear out the VAT checkbox .clearfix for IE7 */

*:first-child+html #admin.config_packages_edit div.ip-container .ip-elementContent .clearfix {
    display: inline-block !important;
    padding-bottom: 0px !important;
    position: static !important;
}


/* IE7 Hacks for public display forms */

*:first-child+html #public.index_registrations_profile .IE7_Radio,
*:first-child+html #public.index_registrations_demographics .IE7_Radio,
*:first-child+html #public.index_registrations_housing .IE7_Radio,
*:first-child+html #public.index_registrations_review .IE7_Radio,
*:first-child+html #public.index_registrations_payment .IE7_Radio {
    width: 50px !important;
}

*:first-child+html #public.index_registrations_profile .ip-elementContent input[type="checkbox"]:not(.form-check-input):not(.btn-check),
*:first-child+html #public.index_registrations_demographics .ip-elementContent input[type="checkbox"]:not(.form-check-input):not(.btn-check) {
    width: 50px !important;
}


/* specific ip-elementContent float for certain public pages. */

#public.index_registrations_profile .ip-elementContent,
#public.index_registrations_housing .ip-elementContent {
    overflow: visible;
}

#public div.ip-element > label.ip-elementLabel:not(.form-label) {
    width: 200px;
}

#public.index_registrations_review .ip-elementContent,
#public.index_registrations_review .ip-elementContent input:not(.chosen-search-input):not(.form-control):not(.form-check-input) {
    float: none;
    overflow: visible;
}

.ip-workshopTable:not(.table) th {
    font-weight: bold;
    font-size: 10pt;
}

.ip-workshopTable:not(.table) .ip-workshopTitle {
    font-weight: bold;
}


/* Added to increase width from .ip-elementContentTable as schedule now has timezones and is wrapping */

table.ip-workshopTable:not(.table) {
    width: 350px;
}


/* Public Reports */

#public table.reportTable:not(.table) th,
#public table.reportTable:not(.table) td {
    padding: 3px;
    vertical-align: top;
}

#public table.reportTable:not(.table) {
    border: 1px solid #888888;
}

#public table.reportTable:not(.table) .subHeader td {
    background-color: #E0E8F1;
    border-bottom: 1px solid #DEDEDE;
    border-top: 1px dashed #DEDEDE;
    font-weight: bold;
}

#public .reportHeader th {
    font-weight: normal;
    background-color: #dddddd;
    color: #333;
    border-bottom: 1px solid #888888;
    white-space: nowrap;
}

#reportTable_ObjectFiles th {
    vertical-align: bottom !important;
}

#public table:not(.table) tr.odd {
    background-color: #efefef;
}

#public table:not(.table) tr.even {
    background-color: #fff;
}

#public .reportBody.solidTop td {
    border-top: 1px solid #888888;
}

#public table:not(.table) .odd_hover,
#public table:not(.table) .odd_hover a:not(.btn):not(.nav-link),
#public table:not(.table) .odd_hover a:link:not(.btn):not(.nav-link),
#public table:not(.table) .odd_hover a:hover:not(.btn):not(.nav-link),
#public table:not(.table) .odd_hover a:active:not(.btn):not(.nav-link),
#public table:not(.table) .odd_hover a:visited:not(.btn):not(.nav-link),
#public table:not(.table) .even_hover,
#public table:not(.table) .even_hover a:not(.btn):not(.nav-link),
#public table:not(.table) .even_hover a:link:not(.btn):not(.nav-link),
#public table:not(.table) .even_hover a:hover:not(.btn):not(.nav-link),
#public table:not(.table) .even_hover a:active:not(.btn):not(.nav-link),
#public table:not(.table) .even_hover a:visited:not(.btn):not(.nav-link) {
    background-color: #cfe9ff;
    color: #000000;
}

.privacyText {
    color: #999999;
}

div.tabsContainer {
    width: 30%;
}

div.fieldsContainer {
    width: 70%;
}

.canceledeven {
    background-color: #FFCCCC;
}

.canceledodd {
    background-color: #eeaaaa;
}

.accordDiv {
    overflow: visible !important;
}

span.reg-info-label,
span.exb-info-label,
span.prop-info-label,
span.sess-info-label,
span.hr-info-label,
span.atr-info-label {
    color: #a5a5a5;
}

.loadingWrapper {
    margin: auto;
    text-align: center;
    width: 100%;
}

.ip-bulletItems {
    width: 290px;
    padding: 0;
}

.writeInResponseWrapper label:not(.form-label):not(.form-check-label) {
    margin: 0 3px;
}

.writeInResponseDropdownWrapper label:not(.form-label):not(.form-check-label) {
    width: 150px;
}

div.questionResponse div.writeInResponseWrapper span input:not(.form-control):not(.form-check-input) {
    border: 1px inset;
    height: 16px;
}

div.questionResponse input:not(.form-control):not(.form-check-input):not(.btn-check) {
    margin-top: 4px;
}

div.questionResponse input[type=checkbox]:not(.form-check-input):not(.btn-check),
div.questionResponse input[type=radio]:not(.form-check-input):not(.btn-check) {
    margin-top: 7px;
}

div.questionResponseCheckbox > label:not(.form-label):not(.form-check-label) {
    display: flex;
}

div.questionResponseCheckbox > .writeInResponseWrapper > label:not(.form-label):not(.form-check-label) {
    display: flex;
    margin: 0;
}

#social-email .ip-elementLabel:not(.form-label) {
    width: 70px !important;
}

#social-email {
    z-index: 1005;
}

#social-email dd {
    padding: 5px 0;
}

.ui-dialog {
    z-index: 1055;
}

div.label:not(.form-label) {
    padding: 5px;
}

div.checkbox-rightLabel {
    width: 900px;
}

div.checkbox-rightLabel span {
    font-style: italic;
}

.workshopRow {
    width: 800px;
}

.ip-workshopRight {
    width: 25%;
}

.ip-workshopFullSchedule {
    cursor: pointer;
    color: #369;
    text-decoration: underline;
    clear: both;
}

.workshopScheduleHyphen {
    text-align: center;
    vertical-align: middle;
}

.workshopScheduleRoom {
    text-align: center;
}

.scheduleTableDate {
    width: 90px;
}

.scheduleTableTime {
    width: 140px;
}

.scheduleTableRoom {
    width: 120px;
}

.ip-workshopTable-header {
    padding-top: 10px;
}

div.limitWorkshopsSession {
    display: none;
}

#agendaList .ip-group {
    margin-top: 10px;
}

.ip-addressContainer {
    clear: both;
}

.ip-addressContainer-address2,
.ip-addressContainer-address3,
.ip-addressContainer-city,
.ip-addressContainer-country {
    clear: both;
}

.chosen-container .chosen-results li:not(.list-group-item) {
    border: 0px none;
}

.sessionAgendaWaitlist {
    color: #FF0000;
}

.ip-modal-loadingDialog .ui-dialog-content {
    text-align: center;
}


/* Styles for auto complete results*/

.ac_results ul:not(.dropdown-menu):not(.nav):not(.list-group) {
    list-style-image: none;
    list-style-position: outside;
    list-style-type: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.ac_results li:not(.dropdown-item):not(.nav-item):not(.list-group-item) {
    color: #262f3d; /* slate-100 */
    cursor: default;
    display: block;
    font-size: 0.875rem;
    line-height: 1.5;
    margin: 0;
    padding: 0.5rem 0.875rem;
}

/* Matched search term wrapper (jquery.ip.autocomplete wraps the matched
   substring in <strong>). Mirrors TomSelect's `.highlight` styling so the
   restyled V2 dropdown matches the V3 look. */
.ac_results li strong {
    background-color: rgba(255, 237, 40, 0.4);
    font-weight: inherit;
}

.ac_odd {
    /* Launchpad uses a flat list (no zebra rows). Inherit the white
       background from .ac_results. */
    background-color: transparent;
}

.ac_over {
    background-color: #f5f7fc; /* slate-10 — Launchpad subtle hover */
    color: #262f3d; /* slate-100 */
}

.qtipTopMiddle {
    cursor: pointer;
    color: #294f98;
}

div.reg-info-container {
    display: inline-block;
}

div.panelDisplay {
    margin-bottom: 30px;
}

div.panelDisplay div.ip-adminViewHeaderLeft {
    color: #003366;
    display: block;
    font-size: 16px;
    line-height: 35px;
}

.importDescription {
    font-size: 0.9em;
    width: 300px;
    color: #333333;
}

.advancedReportOwner {
    margin: 0px 10px 0px;
    width: 350px;
}

#ip-adminView #previewForm,
#ip-adminView #previewForm .ip-buttonBar {
    display: inline-block;
}

#ip-adminView #previewForm div.ip-buttonBar {
    padding-top: 0;
}

#ip-adminView .testEmail-buttonBar div.ip-buttonBar {
    padding-top: 0;
}

table.nameLookupReport:not(.table) {
    width: 100%;
    border-spacing: 0;
}

table.nameLookupReport:not(.table) thead th {
    font-weight: bold;
    border-bottom: 1px solid #cccccc;
    font-size: 13px;
    background-color: #dfdfdf;
}

table.nameLookupReport:not(.table) tbody td,
table.nameLookupReport:not(.table) thead th {
    padding: 10px 10px;
}

table.nameLookupReport:not(.table) tbody td {
    border-bottom: 1px solid #a0a0a0;
    cursor: pointer;
}

table.nameLookupReport:not(.table) tbody tr:nth-child(odd) {
    background-color: #fff;
}

table.nameLookupReport:not(.table) tbody tr:nth-child(even) {
    background-color: #f5f5f5;
}

table.nameLookupReport:not(.table) tbody tr:nth-child(odd):hover,
table.nameLookupReport:not(.table) tbody tr:nth-child(even):hover {
    background-color: #f9f9f9;
}

table.nameLookupReport:not(.table) tbody td div.ip-button {
    display: inline;
    float: none;
}

table.nameLookupReport:not(.table) tbody td div.ip-button a:not(.btn):not(.nav-link) {
    display: inline;
}

.or-divider {
    position: relative;
    text-align: center;
}

.or-divider-bg {
    background-color: #000000;
    position: absolute;
    top: 50%;
    width: 100%;
    height: 1px;
}

.or-divider-text {
    background-color: #ffffff;
    padding: 0 10px;
    font-size: 16px;
    font-weight: bold;
    display: inline;
    position: relative;
}

.element-SingleAncillaryPackage .packageDescription {
    display: block;
    clear: both;
}

.pointer {
    cursor: pointer;
}

.reportReadMore {
    cursor: pointer;
    color: #369;
    text-decoration: underline;
}


/* Cookie Acceptance Modal */

.ip-modal-cookieDialog .ui-dialog-content {
    font-size: 18px;
    font-weight: bold;
    padding: 10px;
    text-align: center;
    text-transform: uppercase;
}

.ip-modal-cookieDialog .ui-dialog-titlebar {
    display: none;
}

.ui-dialog.ip-modal-cookieDialog {
    box-shadow: 0px 0px 13px #888;
    position: fixed;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
}

.ui-dialog.ip-modal-cookieDialog-bottom-banner {
    position: fixed;
    bottom: 0px;
    width: 100%;
    padding: 0px;
}

.ui-dialog.ip-modal-cookieDialog-bottom-banner .ui-dialog-buttonpane {
    margin: 0px;
    border-width: 0px;
}

.ui-dialog.ip-modal-cookieDialog-bottom-banner .ui-dialog-buttonpane button:not(.btn):not(.btn-close) {
    margin: 0px;
}

.fileUploadWrapper {
    position: relative;
}

.fileUploadWrapper .styledFileUpload {
    position: absolute;
}

.fileUploadWrapper .fileUploadButton:not(.btn) {
    padding: 5px;
    background-color: #e9ecef;
    border: 1px solid #4f4f4f;
    cursor: pointer;
    display: inline-block;
}

.fileUploadWrapper .fileUploadButton:not(.btn):hover {
    background-color: #e4e6e9;
}

.fileUploadWrapper .fileUploadFileName {
    border-style: solid;
    border-color: #4f4f4f;
    background: #fff;
    width: 115px;
    padding: 5px 4px;
    display: inline-block;
}

.questionResponse > label:not(.form-label):not(.form-check-label),
.writeInResponseWrapper > label:not(.form-label):not(.form-check-label),
.writeInResponseWrapper > span > label[name\$="-writeInResponse"]:not(.form-label):not(.form-check-label) {
    font-weight: normal;
}

div.ip-container .ip-elementContent input.ip-formText.purchasableItemInput.form-control {
    width: 80px;
    margin-left: -115px;
    min-width: 40px;
}

body.config_registration-badge-formats_edit #edit-badge-container.ip-container,
body.config_registration-badge-formats_edit #edit-badge-container .ip-container {
    display: block;
    max-width: 100% !important;
}

/* Session Schedule / Track Schedule / Track Reservations calendar grid:
   tighter quarter-hour rows and wider room columns in admin v3.
   Must stay in sync with getQuarterHourHeight() and getResourceBlockWidth()
   in classes/CalendarDisplay.php. */
.CalendarDisplay .quarterHourBlock {
    height: 18px;
}

.CalendarDisplay .resourceBlock {
    width: 200px;
}

/* Admin v3 inherits Bootstrap 5's 1rem body font, so the legacy bold title
   renders at ~16px / ~24px line-height — overflows the 18px v3 row and clips
   short events (e.g. 15-min AM Break). Tighten font + line-height so a single
   line fits inside one quarter-hour row; longer cells still wrap naturally.
   `body` prefix bumps specificity above Calendar.css regardless of load order. */
body .CalendarDisplay .resourceBlock .calendarObject div.displayObjectTitle {
    margin: 0 2px;
    line-height: 15px;
    font-size: 12px;
    overflow: hidden;
}

body .CalendarDisplay .resourceBlock .calendarObject div.displayObjectCompanyNames {
    margin: 1px 2px 0;
    line-height: 14px;
    font-size: 11px;
    overflow: hidden;
}

/* View Options selects: widen so long room/day labels
   (e.g. "Grand Ballroom") are not truncated. */
table.CalendarDisplayViewOptions select#selResources,
table.CalendarDisplayViewOptions select#selDays {
    min-width: 350px;
}

/* Align the calendar table flush-left in admin v3 by overriding the
   default `.ip-container:has(> .ip-sectionTitle)` grid (320px label column + 48px gap)
   defined in scss/themes/admin/_layout.scss. The calendar is wide data, not a labelled
   form field, so it should use the full content width. */
.ip-container.CalendarDisplay:has(> .ip-sectionTitle) {
    grid-template-columns: 1fr;
    column-gap: 0;
}

.ip-container.CalendarDisplay > .ip-sectionTitle,
.ip-container.CalendarDisplay > .ip-element {
    grid-column: 1;
}
