/******************
    User custom CSS
    ---------------

    In this file you can add your own custom CSS
    It will be loaded last, so you can override any other property.
    Also, it will never be updated. So if you inheritate a core template and just add here some CSS, you'll still benefit of all the updates
*/
/* Praeceptor Brand Theme */

/* Suppress duplicate language indicator in nav bar */
.ls-language-changer-top-menu {
    display: none !important;
}

/* Remove box from welcome text */
#surveycontact,
.ls-welcome-text,
#welcometext {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Force language switcher label gold */
.praeceptor-language-changer .praeceptor-lang-label,
.form-change-lang .control-label,
label[for="lang"] {
    color: #C9A84C !important;
}

/* Force dropdown dark styling */
select#lang,
select.praeceptor-lang-select,
select.form-control {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border: 1px solid #C9A84C !important;
}


/* Background */
body, .container-fluid {
    background-color: #1c1c1c !important;
}

/* Survey title */
.survey-name {
    color: #C9A84C !important;
    font-family: Georgia, serif !important;
}

/* Language changer - Praeceptor styled */
.praeceptor-language-changer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    margin-bottom: 16px;
}

.praeceptor-lang-label {
    color: #C9A84C;
    font-weight: bold;
    font-size: 0.9rem;
    white-space: nowrap;
}

.praeceptor-lang-select {
    background-color: #2a2a2a;
    color: #ffffff;
    border: 1px solid #C9A84C;
    padding: 4px 8px;
    border-radius: 3px;
    font-size: 0.9rem;
}

.praeceptor-lang-select option {
    background-color: #2a2a2a;
    color: #ffffff;
}

.praeceptor-lang-btn {
    background-color: #C9A84C;
    color: #1c1c1c;
    border: none;
    padding: 4px 12px;
    font-weight: bold;
    border-radius: 3px;
    cursor: pointer;
    font-size: 0.9rem;
}

.praeceptor-lang-btn:hover {
    background-color: #a8882e;
}


/* Group title */
.ls-heading {
    color: #C9A84C !important;
}

/* Fix anonymous notice green text */
.ls-privacy-notice,
.ls-privacy-notice * {
    color: #ffffff !important;
}

/* Fruity-specific overrides - prefix required for specificity */
.fruity .text-success,
.fruity .text-info,
.fruity h3,
.fruity h4,
.fruity p,
.fruity .welcome,
.fruity #welcometext,
.fruity #surveycontact p,
.fruity #surveycontact h3 {
    color: #ffffff !important;
}

/* Question text */
.question-text, label {
    color: #ffffff !important;
}

/* Question container */
.question-container, .panel, .panel-body {
    background-color: #2a2a2a !important;
    border: 1px solid #C9A84C !important;
    color: #ffffff !important;
}

/* Array table */
.array-flexible-row, table.subquestion-list {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

.array-flexible-row td, .array-flexible-row th {
    color: #ffffff !important;
    border-color: #444444 !important;
}

/* Alternating rows */
tr.success, tr.odd, tr.even {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

/* Fix array row banding */
.answers-list tbody tr,
.answers-list tbody tr:nth-child(odd),
.answers-list tbody tr:nth-child(even),
table.subquestion-list tbody tr,
table.subquestion-list tbody tr:nth-child(odd),
table.subquestion-list tbody tr:nth-child(even),
.ls-answers tbody tr,
.ls-answers tbody tr:nth-child(odd),
.ls-answers tbody tr:nth-child(even) {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

/* Fix header row */
.answers-list thead tr,
table.subquestion-list thead tr {
    background-color: #1c1c1c !important;
    color: #C9A84C !important;
}

/* Buttons */
.btn-default, .btn-primary, .nav-button {
    background-color: #C9A84C !important;
    border-color: #C9A84C !important;
    color: #1c1c1c !important;
    font-weight: bold !important;
}

.btn-default:hover, .btn-primary:hover {
    background-color: #a8882e !important;
}

/* Progress bar */
.progress-bar {
    background-color: #C9A84C !important;
}

/* Links */
a {
    color: #C9A84C !important;
}

/* Navbar */
.navbar, .ls-top-container {
    background-color: #1c1c1c !important;
    border-bottom: 1px solid #C9A84C !important;
}

.navbar-brand, .navbar a {
    color: #C9A84C !important;
}

/* Question index popup */
.question-index, .modal-content, .panel-default {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border: 1px solid #C9A84C !important;
}

.modal-header, .modal-footer {
    background-color: #1c1c1c !important;
    border-color: #C9A84C !important;
}

.modal-title {
    color: #C9A84C !important;
}

/* Fix white backgrounds anywhere else */
.well, .form-control {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}

/* Question index popup fix */
.question-index .panel,
.question-index .panel-body,
.question-index .list-group,
.question-index .list-group-item {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}

.question-index {
    background-color: #2a2a2a !important;
    border: 1px solid #C9A84C !important;
}

/* Language selector */
.ls-language-changer select {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #C9A84C !important;
}

/* Fix dropdown background */
.dropdown-menu {
    background-color: #2a2a2a !important;
    border: 1px solid #C9A84C !important;
}

.dropdown-menu li a,
.dropdown-menu li {
    color: #ffffff !important;
    background-color: #2a2a2a !important;
}

/* Fix green text to gold */
.ls-heading, h3, h4, .panel-title {
    color: #C9A84C !important;
}

/* Fix any remaining green */
.text-success, .green {
    color: #C9A84C !important;
}

/* Override all green/success colours to gold */
.text-success,
.green,
a,
a:hover,
a:visited,
.ls-label-xs-visibility,
.question-group-title h3,
.question-group-title,
.subheading,
.ls-subheading {
    color: #C9A84C !important;
}

/* Fruity theme uses a primary colour variable - override it */
:root {
    --color-primary: #C9A84C !important;
    --primary: #C9A84C !important;
}

/* Fix remaining green heading text */
h2, h3, h4, h5,
.ls-heading,
[class*="heading"],
[class*="title"] {
    color: #C9A84C !important;
}

/* Nuclear option for any remaining green */
* { 
    --color-text-description: #C9A84C !important;
}

/* Question index white background fix */
.question-index-div,
.question-index-div *,
.dropdown-menu,
.dropdown-menu * {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #444444 !important;
}


/* Fix row banding */
.answers-list tbody tr,
.answers-list tbody tr:nth-child(odd),
.answers-list tbody tr:nth-child(even),
table.subquestion-list tbody tr,
table.subquestion-list tbody tr:nth-child(odd),
table.subquestion-list tbody tr:nth-child(even) {
    background-color: #2a2a2a !important;
}

/* Left align question labels in matrix */
.answers-list tbody tr td:first-child,
table.subquestion-list tbody tr td:first-child {
    text-align: left !important;
    padding-left: 12px !important;
}

/* Soften question box borders */
.question-container,
.panel,
.panel-body {
    border: 1px solid #3a3a3a !important;
    box-shadow: none !important;
}

/* Hide mandatory asterisk */
.mandatory-asterisk,
.asterisk {
    display: none !important;
}

/* Fix array row banding */
tr.ls-odd,
tr.ls-even {
    background-color: #2a2a2a !important;
}

/* Left align answer text in matrix */
th.answertext {
    text-align: left !important;
    padding-left: 12px !important;
}
/* Force array row banding */
table tr.ls-odd,
table tr.ls-even,
table tr.answers-list.ls-odd,
table tr.answers-list.ls-even {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

/* Force left align answer text */
table tr.answers-list th.answertext {
    text-align: left !important;
    padding-left: 12px !important;
}
/* Override Bootstrap table background variable */
:root {
    --bs-table-bg: #2a2a2a !important;
    --bs-table-accent-bg: #2a2a2a !important;
    --bs-table-striped-bg: #2a2a2a !important;
}

.table > :not(caption) > * > * {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}1~/* Override Bootstrap table background variable */
:root {
    --bs-table-bg: #2a2a2a !important;
    --bs-table-accent-bg: #2a2a2a !important;
    --bs-table-striped-bg: #2a2a2a !important;
}

.table > :not(caption) > * > * {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
}

/* Nuclear option for table banding */
#outerframeContainer table > :not(caption) > * > *,
#outerframeContainer tbody tr td,
#outerframeContainer tbody tr th {
    background-color: #2a2a2a !important;
    color: #ffffff !important;
    --bs-table-bg: #2a2a2a !important;
    --bs-table-accent-bg: #2a2a2a !important;
}
/* Fix focus border on text areas */
textarea.form-control:focus,
input.form-control:focus {
    border-color: #C9A84C !important;
    box-shadow: 0 0 0 0.2rem rgba(201, 168, 76, 0.25) !important;
    outline: none !important;
}
/* Tighten name field spacing */
.question-container .question-text,
.panel-body .question-text {
    margin-bottom: 4px !important;
}

.question-container textarea,
.question-container input[type="text"],
.question-container input[type="email"] {
    margin-top: 4px !important;
}

/* Constrain name field height */
input.ls-answers.form-control[type="text"] {
    height: 38px !important;
    min-height: 38px !important;
}

/* Constrain name field to single line */
#question31 input.form-control {
    height: 38px !important;
    min-height: 38px !important;
    padding: 6px 12px !important;
}

#question31 .question-container {
    padding-bottom: 8px !important;
}
/* Reduce gap between label and input in name field */
#question31 .answer-container {
    margin-top: -16px !important;
}
