/*
    Dark mode with bright golden overtones for links, text, and other necessary factors.
*/

/* ----------- Styles for the conference header ----------- */

.conf {
    width: 100%;
    border: none;
    margin: auto;
    background: #181818;
    color: #f6e27a;
}

 .confTitleBox {
  color: #f6e27a;
  min-height: 90px;
  border-top: 3px solid #bd891a;
  border-bottom: 1px solid #7a5c12;
  background: #222326;
  text-align: center;
}

.confTitle {
  width: 950px;
  margin: 0 auto;
}

.confLogoBox {
  float: left;
}

.confLogoBannerBox img {
  width: 100%;
  margin-bottom: 0.5rem;
}

.conference-title-link {
  font-size: 22pt;
  display: block;
  padding: 25px 0;
  color: #f6e27a;
  text-shadow: 0 2px 8px #7a5c12;
}

.confSubTitleBox {
  background: #232323;
  border-bottom: 1px solid #7a5c12;
  border-top: 1px solid #7a5c12;
  padding: 0.5rem 0;
}

.confSubTitleContent {
  width: 950px;
  margin: 0 auto;
  font-size: 11pt;
  color: #f6e27a;
}

.confSubTitle a {
  font-size: 11pt;
  color: #ffd700;
  text-decoration: underline;
  transition: color 0.2s;
}

.confSubTitle a:hover {
  color: #fffbe6;
}

.datePlace {
  font-size: 12pt;
  color: #ffe066;
}

.simpleTextAnnouncement {
  background: #232323;
  border-top: 1px solid #bd891a;
  font-family: Verdana, sans-serif;
  font-weight: bold;
  font-size: 10pt;
  text-align: center;
  color: #f6e27a;
  padding: 8px 0;
}

/* ----------- Styles for the main content ----------- */

#confSectionsBox {
  width: 950px;
  margin: 0 auto;
  margin-top: 30px;
}

/* ----------- Styles for the menu ----------- */

.conf_leftMenu {
  float: left;
  width: 200px;
}

#outer {
  border: 1px solid #7a5c12;
  background: #232323;
}

#outer li a {
  font-family: verdana, arial, sans-serif;
  font-size: 10pt;
  color: #ffd700;
  background: transparent;
  transition: background 0.2s, color 0.2s;
}

#outer li a:hover {
  background: #3a2f0b;
  color: #8a8259;
}

.menuConfTitle {
  text-align: left;
}

.menuConfTitle a {
  color: #ffd700;
  padding: 7px 12px;
}

.menuConfTitle.selected > a,
.menuConfMiddleCell.selected > a {
  color: #232323; /* dark text for contrast */
  background: #ffd700; /* golden background */
  border-bottom: 1px solid #bd891a;
  border-top: 1px solid #bd891a;
}

li ul.inner li a {
  padding: 3px 12px 3px 30px;
  background: transparent url(/images/conf/left_menu_bullet.png) scroll no-repeat 15px center;
  color: #ffe066;
}

.support_box {
  background: #232323;
  border: 1px solid #7a5c12;
}

.support_box > h3 {
  color: #ffd700;
  background: #222326;
}

/* ----------- Styles for the page content ----------- */

.confBodyBox {
  margin-left: 230px;
  background: #181818;
  color: #f6e27a;
}

.description {
    padding: 32px 28px;
    font-size: 10pt;
    color: #fffdf1;
    line-height: 1.5em;
    border-radius: 18px;
    background: rgba(24, 24, 24, 0.65);
    backdrop-filter: blur(16px);
    box-shadow: 0 4px 32px 0 rgba(10, 10, 10, 0.605);
}

.confBodyBox p,
.confBodyBox li {
    color: #fff;
}

.confBodyBox h1,
.confBodyBox h2,
.confBodyBox h3,
.confBodyBox h4,
.confBodyBox h5,
.confBodyBox h6 {
    color: #ffb650;
}

.confBodyBox a {
    color: #ffd700;
    text-decoration: underline;
    transition: color 0.2s;
}

/* ----------- Styles for tables ----------- */
.confBodyBox table {
    width: 100%;
    border-collapse: collapse;
    background: #232323;
    color: #f6e27a;
    margin-bottom: 1.5em;
    font-size: 10pt;
}

.confBodyBox th,
.confBodyBox td {
    border: 1px solid #7a5c12;
    padding: 8px 12px;
    text-align: left;
    color: #fffbe6;
}

.confBodyBox th {
    background: #222326;
    color: #ffd700;
    font-weight: bold;
}

.confBodyBox tr:nth-child(even) {
    background: #181818;
}

.confBodyBox tr:hover {
    background: #2c2c2c;
}

/* ----------- Styles for the footer ----------- */
.footer {
    background: #181818;
    color: #f6e27a;
    border-top: 2px solid #7a5c12;
    padding: 20px 0;
    text-align: center;
    font-size: 10pt;
    width: 100%;
    box-sizing: border-box;
}

.footer a {
    color: #ffd700;
    text-decoration: underline;
    transition: color 0.2s;
    word-break: break-word;
}

.footer a:hover {
    color: #fffbe6;
}

/* ----------- Responsive styles ----------- */
@media (max-width: 1000px) {
    .confTitle,
    .confSubTitleContent,
    #confSectionsBox,
    .confBodyBox {
        width: 100%;
        margin: 0;
        box-sizing: border-box;
        padding-left: 10px;
        padding-right: 10px;
    }
    .conf_leftMenu {
        float: none;
        width: 100%;
        margin-bottom: 20px;
    }
    .confBodyBox {
        margin-left: 0;
    }
}

@media (max-width: 600px) {
    .confTitleBox,
    .confSubTitleBox,
    .simpleTextAnnouncement,
    .support_box > h3 {
        font-size: 1.25em;
        padding: 10px 8px;
    }
    .footer {
        font-size: 1em;
        padding: 16px 8px;
    }
    .confLogoBannerBox img {
        width: 100%;
        height: auto;
    }
    body,
    .confBodyBox,
    .description,
    .confTitleBox,
    .confSubTitleBox,
    .simpleTextAnnouncement,
    .support_box > h3,
    .footer,
    .confBodyBox p,
    .confBodyBox li,
    .confBodyBox h1,
    .confBodyBox h2,
    .confBodyBox h3,
    .confBodyBox h4,
    .confBodyBox h5,
    .confBodyBox h6,
    .info-message-box,
    .message-text p {
        font-size: 1.3em !important;
        line-height: 1.8 !important;
        letter-spacing: 0.02em !important;
    }
    .search-box input,
    .ui.input input,
    .ui.form input,
    .ui.fluid.search input,
    .ui.fluid.icon.input input,
    .prompt {
        font-size: 1.2em !important;
        padding: 32px;
    }
}

/* ----------- Styles for info message box ----------- */
.info-message-box, .action-box.highlight {
    background: #232323;
    border: 1px solid #bd891a;
    color: #f6e27a;
    padding: 8px 12px; /* reduced padding */
    margin: 24px auto;
    max-width: 650px;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(125, 90, 18, 0.08);
    font-size: 11pt;
}

.message-box-content {
    display: flex;
    align-items: flex-start;
    padding: 0; /* remove extra padding */
}

.icon {
    display: inline-block;
    width: 28px;
    height: 28px;
    margin-right: 0; /* remove side padding */
    margin-left: 0;  /* remove side padding */
    background: url('/images/info_icon.svg') no-repeat center center;
    background-size: contain;
    flex-shrink: 0;
}

.message-text p {
    margin: 0;
    color: #f6e27a;
    line-height: 1.6;
}

/* ----------- Show pointer and expand image on click ----------- */
.confBodyBox img,
.confBodyBox table img {
    cursor: pointer;
    transition: box-shadow 0.2s;
    max-width: 100%;
    height: auto;
    box-shadow: none;
}

.confBodyBox img.expanded,
.confBodyBox table img.expanded {
    position: fixed;
    top: 50%;
    left: 50%;
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    z-index: 9999;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 40px 10px rgba(0,0,0,0.8);
    background: #181818;
    border: 2px solid #ffd700;
    cursor: zoom-out;
}
.confBodyBox.label, .confBodyBox.div.text {
    color: #e79f03;
}

div.infogrid, div.text, div.text.attachments-box {

    padding: 10px 10px;

}

span.icon {
    color: #e79f03 !important;
}

.i-button.next.highlight {
    background: #ffd700 !important;
    color: #181818 !important;
    width: auto;
    height: auto;
    border: 2px solid #ffd700 !important;
}

div.label {
    color: #ffd700 !important;
    padding-left: 2px;
    width: auto;
    height: auto;
}

.i-label.icon-user {
    background: #181818;
    color: #ffd700;
    width: auto;
    height: auto;
    border: 2px solid #ffd700;
}

/* ----------- Override Semantic UI search bar for dark mode and larger size ----------- */
.search-box,
.ui.fluid.search,
.ui.fluid.icon.input,
.ui.input,
.ui.form {
    background: #232323 !important;
    border-radius: 8px !important;
    padding: 10px !important;
    min-width: 320px;
    max-width: 100%;
}

.search-box input,
.ui.input input,
.ui.form input,
.ui.fluid.search input,
.ui.fluid.icon.input input,
.prompt {
    background: #181818 !important;
    color: #ffd700 !important;
    border: 1px solid #7a5c12 !important;
    font-size: 1.2em !important;
    padding: 12px !important;
    border-radius: 6px !important;
}

.search-box .search.icon,
.ui.fluid.icon.input .search.icon {
    color: #ffd700 !important;
    font-size: 1.3em !important;
}

@media (max-width: 600px) {
    body,
    .confBodyBox,
    .description,
    .confTitleBox,
    .confSubTitleBox,
    .simpleTextAnnouncement,
    .support_box > h3,
    .footer,
    .confBodyBox p,
    .confBodyBox li,
    .confBodyBox h1,
    .confBodyBox h2,
    .confBodyBox h3,
    .confBodyBox h4,
    .confBodyBox h5,
    .confBodyBox h6,
    .info-message-box,
    .message-text p {
        font-size: 1.3em !important;
        line-height: 1.8 !important;
        letter-spacing: 0.02em !important;
    }
    .confLogoBannerBox img {
        width: 100%;
        height: auto;
    }
    .search-box input,
    .ui.input input,
    .ui.form input,
    .ui.fluid.search input,
    .ui.fluid.icon.input input,
    .prompt {
        font-size: 1.2em !important;
        padding: 16px !important;
    }
}

/* Highlight Registration menu item */
#outer li.menuConfTitle a[href*="registrations/"]:hover,
#outer li.menuConfTitle.selected a[href*="registrations/"] {
    background: #ffe066 !important;
    color: #232323 !important;
    border-bottom: 2px solid #bd891a !important;
    border-top: 2px solid #bd891a !important;
    font-weight: bold;
    box-shadow: 0 2px 8px #ffd70033;
}

/* Optionally, make the hover effect more visible for all menu items */
#outer li.menuConfTitle a:hover {
    background: #3a2f0b;
    color: #ffd700;
    font-weight: bold;
}

/* Add image expand JS */
@media (min-width: 0) {
    /* This is just to ensure the following JS is visible in the file for the user to copy */
}

body,
.main,
.conf {
    background: linear-gradient(120deg, #181818 0%, #232323 40%, #3a2f0b 70%, #ffd700 100%);
    background-color: #181818;
}

/* --- Refined dark mode for all forms and registration elements --- */
.confBodyBox form,
.confBodyBox .ui.form,
.confBodyBox .ui.input,
.confBodyBox .ui.fluid.search,
.confBodyBox .ui.fluid.icon.input,
.confBodyBox .search-box,
.confBodyBox fieldset,
.confBodyBox legend,
.confBodyBox label {
    background: #232323 !important;
    color: #ffd700 !important;
    border-radius: 8px !important;
    border: 1px solid #7a5c12 !important;
}

.confBodyBox input,
.confBodyBox select,
.confBodyBox textarea {
    background: #181818 !important;
    color: #ffd700 !important;
    border: 1px solid #bd891a !important;
    border-radius: 6px !important;
    font-size: 1em !important;
    padding: 10px !important;
    margin-bottom: 8px;
    box-shadow: none !important;
    transition: border-color 0.2s;
}

.confBodyBox input:focus,
.confBodyBox select:focus,
.confBodyBox textarea:focus {
    border-color: #ffd700 !important;
}

.confBodyBox button,
.confBodyBox input[type="submit"],
.confBodyBox input[type="button"] {
    background: #ffd700 !important;
    color: #232323 !important;
    border: 1px solid #bd891a !important;
    border-radius: 6px !important;
    font-weight: bold;
    font-size: 1em !important;
    padding: 10px 18px !important;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.confBodyBox button:hover,
.confBodyBox input[type="submit"]:hover,
.confBodyBox input[type="button"]:hover {
    background: #ffe066 !important;
    color: #181818 !important;
}

.confBodyBox label {
    color: #ffd700 !important;
    font-weight: bold;
    margin-bottom: 4px;
    display: block;
}

.confBodyBox fieldset {
    border: none !important;
    background: #232323 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin-bottom: 16px;
}

.confBodyBox legend {
    color: #ffd700 !important;
    font-weight: bold;
    background: #181818 !important;
    border-radius: 6px !important;
    padding: 4px 12px !important;
    border: none !important;
}

.confBodyBox input[type="checkbox"],
.confBodyBox input[type="radio"] {
    accent-color: #ffd700 !important;
    background: #181818 !important;
}

.confBodyBox .ui.checkbox label,
.confBodyBox .ui.checkbox input {
    color: #ffd700 !important;
    background: #181818 !important;
}

.confBodyBox .ui.red.small.label,
.confBodyBox .ui.green.label {
    background: #bd891a !important;
    color: #ffd700 !important;
    border-radius: 4px !important;
    font-weight: bold;
}

.confBodyBox .ui.info.message,
.confBodyBox .ui.positive.message,
.confBodyBox .ui.message,
.confBodyBox .warning-message-box,
.confBodyBox .info-message-box {
    background: #232323 !important;
    border: 1px solid #bd891a !important;
    color: #ffd700 !important;
    border-radius: 8px !important;
}

/* --- Registration subtitle and Personal Data box dark mode --- */
.confBodyBox .subtitle-container h3,
.confBodyBox .i-box-title,
.confBodyBox .i-box-header,
.confBodyBox .events-registration-client-styles-___regform-module__header-wrapper___U6gJN {
    background: #232323 !important;
    color: #ffd700 !important;
    border: none !important;
    border-bottom: 1px solid #7a5c12 !important;
    font-weight: bold;
    padding: 12px 18px !important;
    margin-bottom: 8px;
}


.events-registration-client-js-form-___FormErrorList-module__form-error-list___Nv3hw,
.regform-section,
.confBodyBox .i-box-content,
.confBodyBox .events-registration-client-styles-___regform-module__form-item___AlbiE,
.confBodyBox .events-registration-client-styles-___regform-module__content___dKw31 {
    background: #181818 !important;
    color: #ffd700 !important;
    border: none !important;
    box-shadow: none !important;
}

/* --- Remove excessive borders, keep only bottom separators for clarity --- */
.confBodyBox .i-box-header,
.confBodyBox .events-registration-client-styles-___regform-module__header-wrapper___U6gJN,
.confBodyBox .i-box-title,
.confBodyBox .subtitle-container h3 {
    background: #232323 !important;
    color: #ffd700 !important;
    border: none !important;
    border-bottom: 1px solid #7a5c12 !important;
    border-radius: 8px !important;
    font-weight: bold;
    padding: 12px 18px !important;
    margin-bottom: 8px;
}

/* --- Registration field containers: no border, just spacing --- */
.confBodyBox .events-registration-client-styles-___regform-module__form-item___AlbiE {
    margin-bottom: 18px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* --- Registration field content: no border, just spacing --- */
.confBodyBox .registration-form-submission-container {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* --- Inputs and selects: keep golden border, no extra box-shadow --- */
.confBodyBox input,
.confBodyBox select,
.confBodyBox textarea {
    color: #ffd700 !important;
    border: 1px solid #bd891a !important;
    border-radius: 6px !important;
    font-size: 1em !important;
    padding: 10px !important;
    margin-bottom: 8px;
    box-shadow: none !important;
    transition: border-color 0.2s;
}

/* --- Focus state for inputs --- */
.confBodyBox input:focus,
.confBodyBox select:focus,
.confBodyBox textarea:focus {
    border-color: #ffd700 !important;
    outline: 2px solid #ffd700 !important;
}

/* --- Buttons --- */
.confBodyBox button,
.confBodyBox input[type="submit"],
.confBodyBox input[type="button"] {
    background: #ffd700 !important;
    color: #232323 !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: bold;
    font-size: 1em !important;
    padding: 10px 18px !important;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

/* --- Button hover --- */
.confBodyBox button:hover,
.confBodyBox input[type="submit"]:hover,
.confBodyBox input[type="button"]:hover {
    background: #ffe066 !important;
    color: #181818 !important;
}

/* --- Labels --- */
.confBodyBox label {
    color: #ffd700 !important;
    font-weight: bold;
    margin-bottom: 4px;
    display: block;
    background: transparent !important;
    border: none !important;
}

/* --- Fieldset and legend: minimal border, dark background --- */
.confBodyBox fieldset {
    border: none !important;
    background: #232323 !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    margin-bottom: 16px;
}

.confBodyBox legend {
    color: #ffd700 !important;
    font-weight: bold;
    background: #181818 !important;
    border-radius: 6px !important;
    padding: 4px 12px !important;
    border: none !important;
}

/* --- Checkbox/radio --- */
.confBodyBox input[type="checkbox"],
.confBodyBox input[type="radio"] {
    accent-color: #ffd700 !important;
    background: #181818 !important;
    border: 1px solid #bd891a !important;
}

/* --- Responsive adjustments for form elements --- */
@media (max-width: 600px) {
    .confBodyBox input,
    .confBodyBox select,
    .confBodyBox textarea,
    .confBodyBox button,
    .confBodyBox input[type="submit"],
    .confBodyBox input[type="button"] {
        font-size: 1.2em !important;
        padding: 16px !important;
    }
}