/**
 * ========================================================================================
 *  CUSTOM THEME STYLESHEET
 * ========================================================================================
 *
 * DESCRIPTION:
 * Professional CSS overrides for survey theme with centralized color management,
 * responsive design patterns, and optimized styling structure.
 *
 * STRUCTURE:
 * ├── CSS Color Variables (:root)
 * ├── Base / General Styles
 * ├── First Page & Welcome Screen
 * ├── Layout (Header, Footer, Navigation)
 * ├── Survey Progress Bar
 * ├── Groups & Question Containers
 * ├── Buttons & Controls
 * ├── Tables & Array Questions
 * ├── Sortables & Sliders
 * └── Responsive Design (Media Queries)
 *
 * NOTES:
 * - This file is safe for customization and will not be overwritten during updates
 * - All colors are managed through CSS variables for easy maintenance
 * - Media queries are organized by breakpoint for clarity
 *
 * Last Updated: March 6, 2026
 * ========================================================================================
 */

/* =============================================================================
   01. CSS COLOR VARIABLES
   =============================================================================
   Centralized color palette for consistent branding and easy maintenance.
   Update these variables to adjust the entire theme's color scheme.
============================================================================= */

:root {
    --color-gray-dark: var(--color-primary);
    --color-black: #333333;
    --color-muted: #888888;
    --color-muted-hover: #cccccc;
    --color-danger: #a94442;
    --color-help-text: #737373;
    --color-question-border: #aaaaaa;
    --color-table-stripe: #f0f0f0;
    --color-table-row-alt: #f5f5f5;
    --color-table-row-hover: #dddddd;
    --color-table-col-hover: #f2f7fa;
    --color-table-border: #dadada;
    --color-input-text: #212529;
    --color-image-border: #f0f0f0;
    --color-image-selected-border: #543c31;
    --color-mobile-border: #dee2e6;

    /* Primary Btn Colors */
    --primary-bg: #543c31;
    --primary-text: #ffffff;
    --primary-border: #543c31;
    /* Hover */       
    --primary-hover-bg: #443027;
    --primary-hover-text: #ffffff;
    --primary-hover-border: #443027;
    /* Active */       
    --primary-active-bg: #443027;
    --primary-active-text: #ffffff;
    --primary-active-border: #443027;
    /* Focus */      
    --primary-focus-bg: #443027;
    --primary-focus-text: #ffffff;
    --primary-focus-border: #443027;
    
    /* Secondary Btn Colors */
    --secondary-bg: #ffffff;
    --secondary-text: #333333;
    --secondary-border: #adadad; 
    /* Hover */      
    --secondary-hover-bg:  #e6e6e6;
    --secondary-hover-text:  #333333;
    --secondary-hover-border:  #adadad;
    /* Active */      
    --secondary-active-bg:  #e6e6e6;
    --secondary-active-text:  #333333;
    --secondary-active-border:  #adadad;
    /* Focus */       
    --secondary-focus-bg:  #e6e6e6;
    --secondary-focus-text:  #333333;
    --secondary-focus-border:  #adadad;  
    
    /* Bootstrap Btn Colors */    
    --bootstrap-bg: #f0f0f0;
    --bootstrap-text: #333333;
    --bootstrap-border: #f0f0f0;     
    /* Hover */    
    --bootstrap-hover-bg:  #543c31;
    --bootstrap-hover-text:  #ffffff;
    --bootstrap-hover-border:  #543c31;
    /* Active */ 
    --bootstrap-active-bg:  #543c31;
    --bootstrap-active-text:  #ffffff;
    --bootstrap-active-border:  #543c31; 
    /* Focus */    
    --bootstrap-focus-bg:  #543c31;
    --bootstrap-focus-text:  #ffffff;
    --bootstrap-focus-border:  #543c31;   
    
    /* Danger Button Colors */
    --danger-bg: #d9534f;
    --danger-text: #ffffff;
    --danger-border: #d43f3a;
    /* Hover */    
    --danger-hover-bg: #c9302c;
    --danger-hover-text: #ffffff;
    --danger-hover-border: #ac2925;
    /* Active */     
    --danger-active-bg: #c9302c;
    --danger-active-text: #ffffff;
    --danger-active-border: #ac2925;
    /* Focus */       
    --danger-focus-bg: #c9302c;
    --danger-focus-text: #ffffff;
    --danger-focus-border: #ac2925;  
    
    /* Accent Colors */
    --accent-bg: #292e36;
    --accent-text: var(--color-white);    
    
    /* Primary Colors */
    --color-primary: #333333;
    --color-white: #ffffff;
    --color-transparent: transparent;    
    
    /* Progress Bar Colors */
    --progressbar-color: #543c31;
    --progressbar-bg-color: #f0f0f0;   
	
    /* Link Colors */
    --link-color: #888888;
    --link-hover-color: #543c31;    
    
    /* Table Colors */
    --tr-color: #f0f0f0;
    --tr-hover-color: #f0f0f0;
	
    /* Radio & Checkbox button Colors */  
    --radio-btn-color: #543c31;
    --checkbox-btn-color: #543c31;	

    /* Neutral Colors */
    --neutral-light: #f0f0f0;
    --neutral-medium: #dddddd;
    --neutral-dark: #111111;

    /* Border and Shadow */
    --border-color: #aaaaaa;
    --shadow-color: rgba(0, 0, 0, 0.1);
    
    /* Dropdown */    
    --dropdown-bg-color: #543c31;
    --dropdown-hover-color: #f0f0f0;    
    
    /* Link Colors */
    --link-color: var(--color-muted);
    --link-hover: var(--color-primary);

    /* Form Colors */
    --form-border: #ced4da;
    --form-focus-shadow: rgba(0, 0, 0, 0.6);

    /* Sortable Colors */
    --sortable-list-border: var(--color-muted-hover);
    --sortable-choice-bg: #f0f0f0;
    --sortable-choice-text: #333333;    
    --sortable-choice-border: #f0f0f0;
    --sortable-rank-bg: #543c31;
    --sortable-rank-text: #ffffff;
    --sortable-rank-border: #543c31;
    
    /* Slider Colors */
    --slider-color: #543c31; 
}

/* =============================================================================
   02. BASE / GENERAL STYLES
   =============================================================================
   Global typography, body styles, and commonly used UI elements.
============================================================================= */

body {
    font-size: 14px;
    line-height: 1.42857143;
    margin: 0 !important;
    padding: 0 !important;
}

body .top-container {
    margin: 0;
}

/* Text Color Classes */
.text-info {
    color: var(--secondary-text) !important;
}

.text-danger {
    color: var(--color-danger) !important;
}

/* Link Styles */
a,
a:link,
#survey-nav .nav-link {
    color: var(--link-color);
}

a:hover,
a:link:hover,
#survey-nav .nav-link:hover {
    color: var(--link-hover-color);
}

/* Navbar Toggler Button */
.navbar-toggler {
  color: var(--color-gray-dark);
}

.navbar-toggler-icon {
  margin-bottom: 3px;
  background-color: var(--color-primary);
  display: block;
  height: 4px;
  transition: all 0.3s ease;
}

span.navbar-toggler-icon:last-child {
  margin-bottom: 0;
}

.navbar-toggler:focus {
  box-shadow: none;
}

/* bootstrap Classes */
/* [04-10-2024] : Trivender Singh */
.hidden,
.ls-hidden {
    display: none;
}

/* Image Styles */
img {
    max-width: 100%;
}

div.save-survey-form {
    padding: 15px;
}

/* Top Language Change */
.form-change-lang .nav-link.dropdown-toggle {
    color: var(--link-color);
    margin: 15px 0px;
    padding: 0;
}

li.form-change-lang .dropdown-menu.dropdown-menu-end.show {
    inset: 0px 43% auto auto !important;
}

.form-change-lang.dropdown.nav-item {
    list-style: none;
    text-align: center;
}

div.answer-item.dropdow-item.language-item {
    width: 200px;
}

/* Radio & Checkbox item */
li.radio-item, 
li.checkbox-item, 
li.radio-text-item, 
li.checkbox-text-item {
    margin-bottom: 14px !important;
}

/* Dropdown */
.dropdown-menu>li>a {
    color: var(--color-primary);
}

.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:focus {
    background-color: var(--dropdown-hover-color);
    color: var(--color-primary);    
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-item.disabled,
.dropdown-item:disabled {
    background-color: var(--dropdown-bg-color);
    color: var(--color-white);
    text-decoration: none;
}

/* Removed the classess background color in the question index */
li.navbar-item-middle ul li.index-item-current {
    background-color: var(--dropdown-bg-color);
}

/* Removed the classess background color in the question index */
li.navbar-item-middle ul li a.bg-warning,
li.navbar-item-middle ul li a.bg-danger {
    background-color: var(--color-transparent) !important;
}

li.navbar-item-middle ul li a.bg-warning:hover,
li.navbar-item-middle ul li a.bg-danger:hover {
    background-color: var(--dropdown-hover-color) !important;
}

/* Survey Name */
.survey-name {
    font-weight: 700;
    line-height: 130%;
    font-size: 1.8rem;
}

/* =============================================================================
   03. First Page & Welcome Screen
   =============================================================================
   File upload UI elements including upload buttons,
   modal dialogs, and file lists.
============================================================================= */

.survey-welcome {
    margin-top: 15px;
}

.question-count-text {
    margin-top: 15px;
}

/* Privacy */

.privacy {
    margin-top: 15px;
    padding: 15px 0;
    margin: 15px 1px;
}

.privacy-block div:nth-child(2) {
    padding-top: 20px;
}

.privacy-heading.h4.text-primary {
    font-size: 14px;
    color: var(--color-primary) !important;
    font-weight: bold;
}

p.ls-privacy-body {
    margin: 15px 0 0 0;
    font-style: italic;
}

/* Privacy policy */

.panel {
    -webkit-box-shadow: none;
    box-shadow: none;
    margin: 0;
    background-color: var(--color-transparent);
}

.panel-primary {
    border-color: var(--color-transparent);
}

.panel-primary>.panel-heading {
    color: var(--color-black);
    background-color: var(--color-transparent);
    border-color: var(--color-transparent);
    padding: 15px 0;
}

.panel-body {
    padding: 5px 0;
}

.panel-footer {
    padding: 10px 0;
    background-color: var(--color-transparent);
    border-top: var(--color-transparent);
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}

.privacy-block div.align-items-center div:first-child {
    margin-top: 15px;
    display: flex;
    column-gap: 5px;
}

input#datasecurity_accepted {
    width: 17px;
    height: 17px;
    margin-top: 2px;
    flex-shrink: 0;
}

.form-check-input:checked {
    background-color: var(--primary-bg);
    border-color: var(--primary-bg);
}

/* =============================================================================
   04. LAYOUT (HEADER / FOOTER / NAVIGATION)
   =============================================================================
   Structural layout elements including header branding, navigation bar,
   footer elements, and page container styles.
============================================================================= */

span.navbar-banner {
    display: block;
    width: 100%;
    text-align: center;
}

#survey-nav .container-fluid {
    padding: 0;
    justify-content: center;	
}

#navbar {
    padding: 0 !important;
}

#navbar ul.nav.navbar-nav {
    width: 100%;
}

#navbar li.navbar-item-middle {
    text-align: center;
}

#navbar li.navbar-item-right {
    text-align: right;
}

.nav-item-fload {
    list-style: none;
}

.nav-item-fload a {
    color: var(--link-color);
    text-align: center;
}

ul.navbar-right {
    padding: 0;
}

.logo-bar {
    margin-top: 0;
    padding: 15px 0;
    display: flex;
    align-items: center;    
}

.navbar-logo-left {
    padding-right: 5px;
}

img.logo-left {
    width: auto;
    height: 40px;
}

.navbar-logo-middle {
    padding: 0px 5px;
    text-align: center;
}

.navbar-logo-right {
    padding-left: 5px;
    text-align: right;
}

footer {
    text-align: center;
    padding: 20px;
}

footer a {
    color: var(--color-primary) !important;
}

/* =============================================================================
   05. SURVEY PROGRESS BAR
   =============================================================================
   Styles related to progress indicators such as default, bubble, and
   group-based progress bars.
============================================================================= */

.top-container {
    margin: 0;
}

.top-container .top-content {
    margin: 0;
    padding: 1em 0;
}

.top-container .progress {
    border-radius: 0;
    background-color: var(--progressbar-bg-color);
}

/* Default Progress Bar */
.default-progressbar-container .progress-bar {
    background-color: var(--progressbar-color);
}

/* Bubble Style Progress Bar */
.bubble-progressbar-container .progress-bar {
    background-color: var(--progressbar-color);
}

@font-face {
    font-family: "Font Awesome 6 Pro";
    src: url("./icon/fa-light-300.woff2") format("woff2");
}

.bubble-progressbar-container .custom-progressbar-container {
    padding: 1em 0;  
}

.bubble-progressbar-container #custom-progressbar {
    width: 100%;
    margin: 10px 0px;
    padding: 0px;   
    display: inline-flex;
    justify-content: center;
    column-gap: 15px;
    flex-wrap: wrap;
} 

.bubble-progressbar-container #custom-progressbar .index-item-current .dot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15px;
    height: 15px;
    background-color: var(--progressbar-color);
    border-radius: 50%;
}

.bubble-progressbar-container #custom-progressbar li {
    width: 10%;    
    font-size: 10px;    
    position: relative;    
    float: left;
    list-style-type: none;    
    font-weight: 400;
}

.bubble-progressbar-container #custom-progressbar .step0:before {
    font-family: FontAwesome;
    content: "\f10c";
    color: var(--color-white);
}

.bubble-progressbar-container #custom-progressbar li:before {
    width: 40px;
    height: 40px;
    line-height: 43px;
    display: block;
    font-size: 20px;
    background: var(--progressbar-color);
    border-radius: 50%;
    margin: auto;
    padding: 0px;
}

/*ProgressBar connectors*/
.bubble-progressbar-container #custom-progressbar li:after {
    content: '';
    width: 100%;
    height: 6px;
    background-color: var(--progressbar-color);
    position: absolute;
    left: 100;
    top: 18px;
    z-index: -1;
}

.bubble-progressbar-container #custom-progressbar li.index-item-current:after,
.bubble-progressbar-container #custom-progressbar li.index-item-active:after  {
    background-color: var(--progressbar-color) !important;
}

.bubble-progressbar-container #custom-progressbar li.index-item-active:before {
	background-color: var(--color-white) !important;
	border: 2px solid var(--progressbar-color) !important;
}

.bubble-progressbar-container #custom-progressbar li.index-item-current.active:before {
    background-color: var(--color-white);
    border: 2px solid var(--progressbar-color);
}

.bubble-progressbar-container #custom-progressbar li:last-child:after {
    height: 0;
}

/*Color number of the step and the connector before it*/
.bubble-progressbar-container #custom-progressbar li.active:before, 
.bubble-progressbar-container #progressbar li.active:after {
    background-color: var(--progressbar-color);
}

.bubble-progressbar-container #custom-progressbar li.active:before {
    content: "\f00c";
    font-family: "Font Awesome 6 Pro";
}

.bubble-progressbar-container .icon {
    width: 60px;
    height: 60px;
    margin-right: 15px;
}

.bubble-progressbar-container .icon-content { 
    padding-bottom: 20px;
}

@media screen and (max-width: 992px) {
    .bubble-progressbar-container .icon-content {
        width: 50%;
    }
}

/* Group Titles Progress Bar */
.group-progressbar-container {
    display: block;
}

.group-progressbar-container .progress-bar {
    padding: 4px;
    color: var(--color-white);
    background-color: var(--progressbar-color);
    border-bottom-right-radius: 12px;
    border-top-right-radius: 12px;
    font-weight: bold;
    text-align: right;
}

.group-progressbar-container div.progress {
    position: relative;
    overflow: revert;
}

.group-progressbar-container div.progress div.progress-bar {
    position: absolute;
    line-height: 13px;
    padding-right: 12px;
    min-width: 3em !important;
}

.group-progressbar-container div.progress div.progress-bar::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 100%;
    border: 10px solid var(--progressbar-color);
    border-left: none;
    border-radius: 0 50% 50% 0;
    z-index: 99;
}

.group-progressbar-container div.progress div.progress-step {
    flex: 1;
    border-right: 4px solid var(--color-white);
    z-index: 9;
    position: relative;
}

.group-progressbar-container div.progress div.progress-step:last-child {
    border-right:none;
}

.group-progressbar-container div.progress div.progress-step span {
    width: 100%;   
    font-weight: bold;        
    padding-left: 6px;        
    position: absolute;
    top: 24px;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
}

@media only screen and (max-width: 768px) {
    
    .group-progressbar-container div.progress div.progress-step span {
        top: 47px;
        zoom: 0.5;
    }
    
}

/* =============================================================================
   06. GROUPS & QUESTION CONTAINERS
   =============================================================================
   Styling for survey groups, question blocks, question titles,
   descriptions, and answer containers.
============================================================================= */

/* Group Containers */
.group-outer-container,
.group-container {
    margin-bottom: 0;
}

.group-title {
    font-size: 1.4rem;
    margin: 0;
    margin-bottom: 15px;
}

.well {
    justify-content: center;
    background-color: var(--color-transparent);
    margin-top: 0px;
    padding: 0px 15px;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* Asterisk */
.asterisk.float-start {
    margin-right: 5px;
    font-size: 90%;
    vertical-align: top;
}

/* Question Containers */
.question-container {
    background-color: var(--color-transparent);
    padding-bottom: 15px;
    border: 1px solid var(--color-question-border);
}

.question-title-container {
    margin-bottom: 15px;
}

.question-text {
    font-size: 120%;
}

.asterisk span.text-danger.small {
    display: none;
}

.question-number,
.question-code {
    font-weight: normal;
    float: none;
    margin: 0;
}

.question-help-container {
    font-size: 12.6px;
    margin-top: 10px;
    color: #543c31 !important;
}

.question-valid-container {
    color: #543c31 !important;
    padding-left: 0;
    padding-right: 0;
    font-size: 12.6px;
    margin-top: 5px;
}

.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: var(--color-help-text);
}

/* Radio Button */
.radio-item label::after {
    background-color: var(--radio-btn-color);
}

/* Checkbox Button */
.checkbox-item label::before {
    border-radius: 0px;
}

.checkbox-item label::after {
    color: var(--checkbox-btn-color);
}

.radio-item input[type="radio"]:checked+label::before,
.checkbox-item input[type="checkbox"]:checked+label::before {
	border-color: var(--radio-btn-color);
}

.form-control,
.form-select {
    border-radius: 0;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--color-black);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(0, 0, 0, .6);
    outline: 0;
}

/* Particular Questions */

/* Multiplechoice Bootstrap Buttons */

/* Text Display */

/* 
1. 5 point choice
2. List (radio)
3. List with comment
*/
.choice-5-pt-radio li.radio-item {
    margin-right: 15px;
}

.choice-5-pt-radio .radio-item label::before,
.list-radio .radio-item label::before,
.list-with-comment .radio-item label::before {
    top: 2px;
}

.choice-5-pt-radio .radio-item label::after,
.list-radio .radio-item label::after,
.list-with-comment .radio-item label::after {
    top: 5px;
}

.other-text-item {
    padding: 0px;
}

.othertext-label-checkox-container {
    margin-bottom: 15px;
}

/* 
1. Multiple choice
2. Multiple choice with comments
*/
.multiple-opt .checkbox-item label::before,
.multiple-opt-comments .checkbox-item label::before {
    top: 1px;
}

.multiple-opt .checkbox-item label::after,
.multiple-opt-comments .checkbox-item label::after {
    top: 2px;
}

.multiple-short-txt ul.text-list li.text-item {
    align-items: center;
}

/* Array */
.array-flexible-column tr.answers-list:nth-child(even) {
    background-color: var(--color-transparent);
}

.array-flexible-column tr.answers-list:hover, 
.array-flexible-column tr.answers-list:hover {
    background-color: var(--color-transparent);
}

.array-flexible-column table.subquestion-list col.ls-even {
    background-color: var(--tr-color);
}

.array-flexible-column table.subquestion-list col.hover {
    background-color: var(--tr-hover-color);
}

.array-flexible-dual-scale .dropdown-item:hover, 
.array-flexible-dual-scale .dropdown-item:focus {
    background-color: transparent;
}

.leftheader.information-item {
    display: none !important;
}

.rightheader.information-item {
    display: none !important;
}

.array-multi-flexi .checkbox-item label::after {
    left: 0px;
}

/****Fixed css for misaligned array buttons****/
.array-flexible-column .radio-item label::before {
    top: 1px;
}

.array-flexible-column .radio-item label::after {
    top: 4px;
}

.array-flexible-row .ls-answers .answertextright {
    text-align: right;
}

.numeric-multi ul.number-list li.ls-group-remaining.ls-group-dynamic  {
    display: inline-flex;
    flex-wrap: wrap;
    width: 100%;
}

.numeric-multi ul.number-list li.ls-group-total.ls-group-dynamic {
    display: inline-flex;
    flex-wrap: wrap;
    width: 100%;
    margin-left: auto;
}

.ls-group-remaining div:nth-child(1),
.ls-group-total div:nth-child(1) {
   text-align: center; 
}

.ls-answers tbody .answertext {
    text-align: left;
}

.ls-input-group-extra {
    vertical-align: top;
    padding: 1rem 1.2rem;
}

/* 
Gender
Yes/No
*/
div.gender-button,
div.yesno-button {
    column-gap: 10px;
}

/* Image select multiple choice */
li.imageselect-listitem .imageselect-container .imageselect-label {
    border: 18px solid var(--color-image-border);
}

li.imageselect-listitem .imageselect-container input.imageselect-checkbox:checked+label {
    border: 18px solid var(--color-image-selected-border);
}

/* Upload */
/* This section is for changing the layout of the upload question */
.uploadedfiles .upload.title, 
.uploadedfiles .upload.comment, 
.uploadedfiles .upload.edit {
    overflow-y: scroll;
}

.uploadedfiles .upload.comment {
    word-break: break-all;
}

.upload-files .upload-item table.uploadedfiles {
    margin-top: 25px;
    display: flex;
}

.upload-files .upload-item table.uploadedfiles thead {
    width: 25%;
    margin-right: 15px;
}

.upload-files .upload-item table.uploadedfiles tbody {
	width: 75%;
}

.upload-files .upload-item table.uploadedfiles thead tr,
.upload-files .upload-item table.uploadedfiles tbody tr {
    display: flex;
    flex-direction: column;
}

.upload-files .upload-item table.uploadedfiles thead th:first-child,
.upload-files .upload-item table.uploadedfiles tbody td:first-child {
    height: 110px;
}

.upload-files .upload-item table.uploadedfiles thead th:first-child {
    width: 100%;
}

.upload-files .upload-item table.uploadedfiles thead th,
.upload-files .upload-item table.uploadedfiles tbody td {
    height: 50px;
}

/* Bootstrap Select */

.dropdown.bootstrap-select {
    width: 100% !important;
}

.bootstrap-select>.dropdown-toggle.bs-placeholder,
.bootstrap-select>.dropdown-toggle.bs-placeholder:hover,
.bootstrap-select>.dropdown-toggle.bs-placeholder.hover,
.bootstrap-select>.dropdown-toggle.bs-placeholder:active,
.bootstrap-select>.dropdown-toggle.bs-placeholder.active,
.bootstrap-select>.dropdown-toggle.bs-placeholder:focus,
.bootstrap-select>.dropdown-toggle.bs-placeholder.focus {
    width: 250px;
    background-color: var(--color-transparent);
    color: var(--color-input-text);
    border: 1px solid var(--form-border);
    border-radius: 4px;
}

.bootstrap-select>.dropdown-toggle {
    color: var(--color-input-text);    
}

.bootstrap-select>.dropdown-toggle:focus,
.bootstrap-select .btn-outline-secondary.dropdown-toggle.show {
    border-color: var(--color-black);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(0, 0, 0, .6);
}

.bootstrap-select .dropdown-toggle:focus, 
.bootstrap-select>select.mobile-device:focus+.dropdown-toggle {
    outline: none !important;
}

.bootstrap-select>.btn-outline-secondary:hover {
    background-color: var(--color-transparent);
    color: var(--color-input-text);
}

.dropdown.bootstrap-select .dropdown-menu.show {
    width: 250px;
}

.bootstrap-select  .btn-check:active+.btn-outline-secondary,
.bootstrap-select  .btn-check:checked+.btn-outline-secondary,
.bootstrap-select  .btn-outline-secondary.active,
.bootstrap-select  .btn-outline-secondary.dropdown-toggle.show,
.bootstrap-select  .btn-outline-secondary:active {
    color: var(--color-input-text);
}

.bootstrap-select .btn-check:active+.btn-outline-secondary,
.bootstrap-select .btn-check:checked+.btn-outline-secondary,
.bootstrap-select .btn-outline-secondary.active,
.bootstrap-select .btn-outline-secondary.dropdown-toggle.show,
.bootstrap-select .btn-outline-secondary:active {
    background-color: var(--color-transparent);
}

/* Equation */
.equation.question-container,
.boilerplate.question-container {
	padding-bottom: 0;
}
 
.equation .question-title-container,
.boilerplate .question-title-container {
    margin-bottom: 0;
}

.equation .question-help-container,
.boilerplate .question-help-container {
    margin: 10px 0px;
}

/* =============================================================================
   07. BUTTONS & CONTROLS
   =============================================================================
   Navigation buttons, submit buttons, radio/checkbox buttons,
   dropdown buttons, and UI controls.
============================================================================= */

.btn {
    font-size: 110%;
    border-radius: 0px;
    padding: 6px 12px;
}

.btn-group-lg>.btn,
.btn-lg {
    line-height: 1.3333333;
    padding: 10px 16px;
}

.btn-primary.disabled, 
.btn-primary:disabled {
	background-color: var(--color-primary);
	color: var(--color-white);
	border-color: var(--color-primary);        
}

.btn-check:active+.btn-primary, 
.btn-check:checked+.btn-primary, 
.btn-primary.active, 
.btn-primary:active, .show>.btn-primary.dropdown-toggle {
    background-color: var(--primary-bg) !important;
    color: var(--color-white) !important;
    border-color: var(--color-primary) !important;   
}

/* Customize Multiple choice buttons */
Multiplechoice bootstrap buttons unchecked focus .btn-check .btn-primary:focus, 
.btn-check:focus+.btn-primary {
    background-color: var(--bootstrap-bg);
    color: var(--bootstrap-text);
    border-color: var(--bootstrap-border);
}

/* Customize Admin page survey title buttons */
.surveytitle.btn-primary {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.surveytitle.btn-primary:hover,
.surveytitle.btn-primary.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}

.surveytitle.btn-primary:active,
.surveytitle.btn-primary.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.surveytitle.btn-primary:focus,
.surveytitle.btn-primary.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

/* Customize add line buttons */
.btn.selector--inputondemand-addlinebutton {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.btn.selector--inputondemand-addlinebutton:hover, 
.btn.selector--inputondemand-addlinebutton.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}

.btn.selector--inputondemand-addlinebutton:active,
.btn.selector--inputondemand-addlinebutton.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.btn.selector--inputondemand-addlinebutton:focus,
.btn.selector--inputondemand-addlinebutton.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

/* Customize Next/Submit buttons */
.ls-move-submit-btn,
.ls-move-next-btn {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.ls-move-submit-btn:hover,
.ls-move-submit-btn:active:hover,
.ls-move-submit-btn.active:hover,
.ls-move-next-btn:hover,
.ls-move-next-btn:active:hover,
.ls-move-next-btn.active:hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}

.ls-move-submit-btn:active,
.ls-move-submit-btn.active,
.ls-move-next-btn:active,
.ls-move-next-btn.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.ls-move-submit-btn:focus,
.ls-move-submit-btn.focus,
.ls-move-submit-btn:active:focus,
.ls-move-submit-btn.active:focus,
.ls-move-submit-btn:active.focus,
.ls-move-submit-btn.active.focus,
.ls-move-next-btn:focus,
.ls-move-next-btn.focus,
.ls-move-next-btn:active:focus,
.ls-move-next-btn.active:focus,
.ls-move-next-btn:active.focus,
.ls-move-next-btn.active.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

/* Customize gender/yes-no buttons */
.gender-button .btn-primary,
.yes-no .btn-primary {
	background-color: var(--bootstrap-bg);
	color: var(--bootstrap-text);
	border-color: var(--bootstrap-border);
}

.gender-button .btn-primary:hover,
.gender-button .btn-primary.active:hover,
.yes-no .btn-primary:hover,
.yes-no .btn-primary.active:hover {
	background-color: var(--bootstrap-hover-bg);
	color: var(--bootstrap-hover-text);
	border-color: var(--bootstrap-hover-border);
}

.gender-button .btn-primary:active,
.yes-no .btn-primary:active,
.gender-button .btn-primary.active,
.yes-no .btn-primary.active {
	background-color: var(--bootstrap-active-bg);
	color: var(--bootstrap-active-text);
	border-color: var(--bootstrap-active-border);
}

.gender-button .btn-primary:focus,
.gender-button .btn-primary.active:focus,
.yes-no .btn-primary:focus,
.yes-no .btn-primary.active:focus {
	background-color: var(--bootstrap-focus-bg);
	color: var(--bootstrap-focus-text);
	border-color: var(--bootstrap-focus-border);
}

/* Customize Date Picker button */
.date-timepicker-group .btn-primary,
.date-timepicker-group .btn-primary:hover,
.date-timepicker-group .btn-primary.hover,
.date-timepicker-group .btn-primary:active,
.date-timepicker-group .btn-primary.active,
.date-timepicker-group .btn-primary:focus,
.date-timepicker-group .btn-primary.focus {
    padding: 10px;    
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

/* Customize Previous buttons */
.ls-move-previous-btn {
	background-color: var(--secondary-bg);
	color: var(--secondary-text);
	border-color: var(--secondary-border);
}

.ls-move-previous-btn:hover,
.ls-move-previous-btn.hover {
	background-color: var(--secondary-hover-bg);
	color: var(--secondary-hover-text);
	border-color: var(--secondary-hover-border);
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);	
}

.ls-move-previous-btn:active,
.ls-move-previous-btn.active {
	background-color: var(--secondary-active-bg);
	color: var(--secondary-active-text);
	border-color: var(--secondary-active-border);
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);	
}

.ls-move-previous-btn:focus,
.ls-move-previous-btn.focus {
	background-color: var(--secondary-focus-bg);
	color: var(--secondary-focus-text);
	border-color: var(--secondary-focus-border);
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);		
}

/* Customize Upload buttons */
.upload.btn-primary {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.upload.btn-primary:hover,
.upload.btn-primary.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}	

.upload.btn-primary:active,
.upload.btn-primary.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.upload.btn-primary:focus,
.upload.btn-primary.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

.upload-div .btn {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.upload-div .btn:hover,
.upload-div .btn.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}

.upload-div .btn:active,
.upload-div .btn.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.upload-div .btn:focus,
.upload-div .btn.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

.uploader .alert-info {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.uploader .alert-info:hover,
.uploader .alert-info.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}

.uploader .alert-info:active,
.uploader .alert-info.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.uploader .alert-info:focus,
.uploader .alert-info.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

.file-upload-modal-footer .btn {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.file-upload-modal-footer .btn:hover,
.file-upload-modal-footer .btn.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}

.file-upload-modal-footer .btn:active,
.file-upload-modal-footer .btn.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.file-upload-modal-footer .btn:focus,
.file-upload-modal-footer .btn.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

/* Improve hover effect on uploaded files buttons */
.upload-files .uploadedfiles td a.btn-primary {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.upload-files .uploadedfiles td a.btn-primary:hover,
.upload-files .uploadedfiles td a.btn-primary.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);	
}

.upload-files .uploadedfiles td a.btn-primary:active,
.upload-files .uploadedfiles td a.btn-primary.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.upload-files .uploadedfiles td a.btn-primary:focus,
.upload-files .uploadedfiles td a.btn-primary.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

/* Customize the delete button for uploaded files */
.upload-files ul.files-list fieldset div:nth-child(3) a.btn-danger {
	background-color: var(--danger-bg);
	color: var(--danger-text);
	border-color: var(--danger-border);
}

.upload-files ul.files-list fieldset div:nth-child(3) a.btn-danger:hover,
.upload-files ul.files-list fieldset div:nth-child(3) a.btn-danger.hover{
	background-color: var(--danger-hover-bg);
	color: var(--danger-hover-text);
	border-color: var(--danger-hover-border);
}

.upload-files ul.files-list fieldset div:nth-child(3) a.btn-danger:active,
.upload-files ul.files-list fieldset div:nth-child(3) a.btn-danger.active{
	background-color: var(--danger-active-bg);
	color: var(--danger-active-text);
	border-color: var(--danger-active-border);
}

.upload-files ul.files-list fieldset div:nth-child(3) a.btn-danger:focus,
.upload-files ul.files-list fieldset div:nth-child(3) a.btn-danger.focus {
	background-color: var(--danger-focus-bg);
	color: var(--danger-focus-text);
	border-color: var(--danger-focus-border);
}

.save-survey-input .btn,
.modal-dialog .btn {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.save-survey-input .btn:hover,
.save-survey-input .btn.hover,
.modal-dialog .btn:hover,
.modal-dialog .btn.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}

.save-survey-input .btn:active,
.save-survey-input .btn.active,
.modal-dialog .btn:active,
.modal-dialog .btn.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.save-survey-input .btn:focus,
.save-survey-input .btn.focus,
.modal-dialog .btn:focus,
.modal-dialog .btn.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

.btn-info {
	background-color: var(--primary-bg);
	color: var(--primary-text);
	border-color: var(--primary-border);
}

.btn-info:hover,
.btn-info.hover {
	background-color: var(--primary-hover-bg);
	color: var(--primary-hover-text);
	border-color: var(--primary-hover-border);
}

.btn-info:active,
.btn-info.active {
	background-color: var(--primary-active-bg);
	color: var(--primary-active-text);
	border-color: var(--primary-active-border);
}

.btn-info:focus,
.btn-info.focus {
	background-color: var(--primary-focus-bg);
	color: var(--primary-focus-text);
	border-color: var(--primary-focus-border);
}

/* Bootstrap Buttons */
.bootstrap-buttons-div .btn-primary {
	background-color: var(--bootstrap-bg);
	color: var(--bootstrap-text);
	border-color: var(--bootstrap-border);
}

.bootstrap-buttons-div .btn-primary:hover,
.bootstrap-buttons-div .btn-primary.hover {
	background-color: var(--bootstrap-hover-bg);
	color: var(--bootstrap-hover-text);
	border-color: var(--bootstrap-hover-border);
}

.bootstrap-buttons-div .btn-primary:active,
.bootstrap-buttons-div .btn-primary.active {
	background-color: var(--bootstrap-active-bg);
	color: var(--bootstrap-active-text);
	border-color: var(--bootstrap-active-border);
}

.bootstrap-buttons-div .btn-primary:focus,
.bootstrap-buttons-div .btn-primary.focus {
	background-color: var(--bootstrap-focus-bg);
	color: var(--bootstrap-focus-text);
	border-color: var(--bootstrap-focus-border);
}

/* =============================================================================
   08. TABLES & ARRAY QUESTIONS
   =============================================================================
   Table layouts used for matrix questions, array answers,
   and tabular survey data.
============================================================================= */

.table-bordered>thead>tr>th {
    border: 1px solid var(--color-table-border);
}

.table-bordered>thead>tr>td {
    border: 1px solid var(--color-table-border);
}

.table>:not(:first-child) {
    border-top: none; 
}

label::after {
    background-color: var(--color-transparent);
}

tr.ls-odd {
    background-color: var(--tr-color);
}

tbody,
td,
tfoot,
th,
thead,
tr,
.table-bordered>thead>tr>td,
.table-bordered>thead>tr>th {
    border: none;
}

.btn-group>.btn-group:not(:last-child)>.btn,
.btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
    border-radius: 0px;
}

.btn-group>.btn-group:not(:first-child)>.btn,
.btn-group>.btn:nth-child(n+3),
.btn-group>:not(.btn-check)+.btn {
    border-radius: 0px;
}

.table-hover>tbody>tr:hover,
tr.answers-list:hover {
    background-color: var(--tr-hover-color);
}

.table-hover>tbody>tr:hover>* {
    --bs-table-accent-bg: var(--tr-hover-color);
    color: var(--color-primary);
}

/* =============================================================================
   09. SORTABLES & SLIDERS
   =============================================================================
   Drag-and-drop ranking questions and slider controls.
============================================================================= */

.list-samechoiceheight .sortable-list {
    border: 1px dotted var(--sortable-list-border);
    padding: 5px;
    border-radius: 0px;    
}

/*sorted*/
.sortable-choice .ls-choice.sortable-item {
    margin-bottom: 5px;    
    background-color: var(--sortable-choice-bg);
    border: 1px solid var(--sortable-choice-border);
    border-radius: 0px;
}

.sortable-rank .ls-choice.sortable-item {
    margin-bottom: 5px;    
    color: var(--sortable-rank-text);
    background-color: var(--sortable-rank-bg);
    border-color: var(--sortable-rank-border);
    border-radius: 0px;
}

/* Slider */
.tooltip-inner {
	background-color: var(--slider-color);
}

.slider-list .slider.slider-untouched .slider-handle {
    background-color: var(--slider-color);
}

.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,
.bs-tooltip-top .tooltip-arrow:before {
    border-top-color: var(--slider-color);
}

.slider-touched .tooltip-inner,
.slider-touched .slider-handle {
    background-color: var(--slider-color);
}

.slider-touched .tooltip.top .tooltip-arrow {
    border-top-color: var(--slider-color);
}

.slider-handle {
    background-color: var(--slider-color);
    background-image: linear-gradient(to bottom, var(--slider-color) 0%, var(--slider-color) 100%);
}

.slider-selection {
    background-image: linear-gradient(to bottom, var(--slider-color) 0%, var(--slider-color) 100%);
}

/* =============================================================================
   10. RESPONSIVE DESIGN
   =============================================================================
   Mobile and tablet adjustments using media queries.
   Ensures proper layout behavior across screen sizes.

   Breakpoints:
   - Small: up to 468px
   - Tablet: 468px - 767px
   - Small Desktop: 768px - 992px
   - Desktop: 992px+
============================================================================= */

/* Tablet and mobile adjustments for arrays and tables */
@media only screen and (max-width: 760px), (max-device-width: 1024px) and (min-device-width: 768px) {
    .array-flexible-row .ls-answers .answertextright {
        text-align: left;
    }

    table.ls-answers>tbody>tr td.answer-item.radio-item,
    table.ls-answers>tbody>tr td.answer-item.checkbox-item {
        border-bottom: 1px solid var(--tr-hover-color);
        padding: 10px 0 0 30px;
    }
}

/* Desktop adjustments for dual scale and dropdown */
@media only screen and (min-width: 768px) {
    .array-flexible-dual-scale col.col-answers,
    .array-flexible-dual-scale col.separator,
    .array-flexible-duel-scale col.col-answers,
    .array-flexible-duel-scale col.separator {
        width: auto !important;
    }

    .array-flexible-dual-scale .header_separator,
    .array-flexible-dual-scale .dual_scale_separator,
    .array-flexible-duel-scale .header_separator,
    .array-flexible-duel-scale .dual_scale_separator {
        width: 4px !important;
        padding: 0 !important;
        background-color: grey;
        border-color: grey;
    }

    .array-flexible-dual-scale .table-hover>tbody>tr:hover>* {
        --bs-table-accent-bg: var(--color-transparent);
        color: var(--bs-table-hover-color);
    }

    .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute;
        inset: auto 70px auto auto;
    }
}

/* Tablet adjustments for touch targets */
@media only screen and (max-device-width: 1028px) {
    .ls-answers > tbody > tr > td.radio-item,
    .ls-answers > tbody > tr > td.checkbox-item {
        min-height: 44px;
    }
}

/* Mobile adjustments for various elements */
@media only screen and (max-width: 768px) {
    .radio-item label::before,
    .checkbox-item label::before {
        top: 3px;
    }

    .radio-item label::after {
        top: 6px;
    }

    .checkbox-item label::after {
        top: 3px;
    }

    .logo-bar {
        justify-content: center;
        flex-direction: column;
        row-gap: 15px;
    }

    .list-dropdown.question-container .ls-answers.answer-item div:nth-child(1),
    .list-dropdown.question-container .ls-answers.answer-item div:nth-child(3).text-item.other-text-item {
        width: 100%;
    }

    #navbar ul.nav.navbar-nav {
        padding: 7.5px 0;
    }

    .numeric-multi ul.number-list li.ls-group-remaining.ls-group-dynamic div:nth-child(1) {
        text-align: center;
    }

    .numeric-multi ul.number-list li.ls-group-total.ls-group-dynamic div:nth-child(1) {
        text-align: center;
    }

    #survey-nav .container-fluid {
        padding: 6px 0px;
    }

    div.gender-button,
    div.yesno-button {
        width: 100%;
    }
    
    .navbar-logo-left,
    .navbar-logo-middle,
    .navbar-logo-right {
        padding: 0px;
        text-align: center;
    }
    
    .navbar-item-left a {
        text-align: center;
    }    
    
    .choice-5-pt-radio ul.radio-list {
        flex-direction: column;
    }    
}

/* Small tablet adjustments for date fields */
@media (max-width: 767px) {
    .date.question-container .date-item div.col-12:nth-child(2),
    .date.question-container .date-item div.col-12:nth-child(4) {
        display: none;
    }
}

/* Small device adjustments for help text */
@media only screen and (max-device-width: 760px) {
    .ls-questionhelp, .help-block {
        font-size: 11.34px;
    }
}

/* Small mobile adjustments for date fields */
@media only screen and (max-width: 468px) {
    .date .date-item div:nth-child(1).col-3 {
        width: 100%;
    }
}