/****** Bootstrap Overrides *******/
body {
    color: #666;  
    padding-bottom: 0;
    display:grid;
    grid-template-rows: auto 1fr auto;
    grid-template-columns:100%;
    min-height:100vh;
    min-height:100svh;
}

body:has(#error-card) {
    grid-template-rows: 1fr auto;
}

@media (min-width: 1400px) {
    .container-fluid {
        max-width: 1170px !important;
    }
}

.text-primary {
    color: #666 !important;
    font-weight: 400;
    font-size: 1.6rem;
}

.text-info,
.text-muted {
    color: #666 !important;
}

.btn-default {
    border-radius: 0px;
}

.btn-primary {
    color: #1e1e1e;
    border-radius: 0px;
    background-color: #ffb448;
    border-color: #fdba12;
}

.btn-primary:focus,
.btn-primary.focus {
    color: #1e1e1e;
    background-color: #ffb448;
    border-color: #fdba12;
}
.btn-primary:hover {
    color: #1e1e1e;
    background-color: #ffd395;
    border-color: #faa61a;
}
.btn-primary:active,
.btn-check:checked + .btn-primary,
.open > .dropdown-toggle.btn-primary {
    color: #ffb448 !important;
    background-color: #3c2d4d !important;
    border-color: #faa61a !important;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
    color: #1e1e1e;
    background-color: #fdba12;
    border-color: #faa61a;
}

.text-danger {
    color: #e63e30;
}

.fa-chevron-right::before {
    content: "\f054";
}

.fa-solid {
    font-family: 'FontAwesome';
    font-weight: 400;
    line-height: 1;
}

/****** Nav bar *******/

.navbar {
    width: 100%;
    display: flex;
}

.navbar-light {
    background-color: #fff !important;
}

.navbar.navbar-fixed-top {
    min-height: 84px !important;
}

.navbar .navbar-toggle {
    margin-top: 13px;
}

.navbar .navbar-toggle {
    border: 0;
}

.navbar .navbar-toggle:hover,
.navbar .navbar-toggle:active,
.navbar .navbar-toggle:focus {
    background-color: #fff;
}

.navbar .navbar-toggle .icon-bar {
    background-color: #000 !important;
    height: 4px;
}

.navbar .logo-container > a img {
    padding: 0;
    max-width: 180px;
}

@media (max-width: 768px) {
    .navbar-light .navbar-collapse .navbar-action-link {
        padding-right: 0;
    }

    .navbar-light .navbar-collapse .navbar-action-link li {
        border-bottom: 1px solid #ddd; 
    }
}

/****** Progress bar *******/

.top-container {
    margin-top: 0;
    background-color: #f6f6f6;
}

.top-container .top-content {
    margin-bottom: 0;
    padding: 10px 20px;
}

.top-container .survey-title {
    color: #666;
    font-weight: 600;
    padding-bottom: 15px;
    text-align: center;
}

.top-container .progress {
    padding: 0;
    background-color: #fff;
    border: 1px solid #f6f6f6;
}

.top-container .progress-bar {
    background-color: #ffb448;
    color: #000;
}

@media (min-width: 992px) {
    .top-container .top-content {
        display: inline-flex;
        width: 100%;
    }

    .top-container .survey-title {
        align-self: center;
        padding-bottom: 0;
    }

    .top-container .progress {
        margin-left: 10px;
        flex-grow: 1;
        align-self: center;
    }
}

/****** Public Survey List *******/

#surveys-list-container {
    margin-top: 10px;
    color: #666;
}

.surveys-list-container .surveys-list .surveytitle {
    background-color: #ededea;
    color: #2d2d2d;
    margin-bottom: 10px;
    height: 60px;
    padding: 0 25px;
    border-radius: 15px;
    font-size: 1.2rem;
    font-weight: 600;
    border: 1px solid transparent;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.surveys-list-container .surveys-list .surveytitle:hover,
.surveys-list-container .surveys-list .surveytitle:focus {
    background-color: #cacac1;
    outline: 0;
}
.surveys-list-container .surveys-list .surveytitle:active {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.surveys-list-container .surveys-list .surveytitle .o-button__label {
    display: -webkit-box;
    overflow: hidden;
    flex-grow: 1;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-align: left;
}

.surveys-list-container .surveys-list .surveytitle .o-button__glyph {
    margin-left: 20px;
    flex-shrink: 0;
    color: #2d2d2d;
}


/****** Leftovers *******/
.file-upload-modal .btn-success {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

.file-upload-modal .btn-success:hover {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
} 

.file-upload-modal .btn-default:active, 
.file-upload-modal .btn-default.active {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
}

.group-outer-container {
    margin-bottom: 0;
}

.group-title {
    font-size: 2rem;
    margin-bottom: 1em;
}

.group-description {
    background-color: #fff;
    border: 1px solid #ddd;
    font-size: 1.286rem;
    line-height: 2.3rem;
    margin-right: 0;
    margin-left: 0;
}

table.ls-answers {
    margin-bottom: 15px;
    margin-top: 15px;

}

table.ls-answers .ls-even {
    background-color: #fff;
}

table.ls-answers .ls-odd {
    background-color: #f9f9f9;
}

.ls-question-mandatory {
   margin-top: 7px; 
}

.question-valid-container {
    margin-top: 0.5em;
}

.question-title-container,
.question-number,
.question-code {
    background-color: #1e1e1e;
    color: #fff;
    font-weight: 600;
}

.question-title-container .asterisk,
.input-error .asterisk {
    padding-right: 0.2em;
}

.slider-handle {
    background-color: #fdba12;
    border-color: #faa61a;
}

.answer-container .stars-list .star-rated-on:not(.star-stub) {
    color: #ffb448;
}

.answer-container .stars-list .star-drained {
    color: #fdba12;
}

.answer-container .stars-list .star-hover {
    color: #faa61a;
}

.answer-container .number-list .numeric,
.answer-container .numeric-item .numeric  {
    text-align: left;
}

.answer-container .uploadedfiles{
    margin-top: 10px;
    border: 1px solid #333;
}

.answer-container .uploadedfiles thead td,
.answer-container .uploadedfiles thead th {
    font-weight: 800;
    background-color: #ffb448;
    border: 1px solid #e5e5e5;
    text-align: center;
}

.answer-container .uploadedfiles td {
    border: 1px solid #e5e5e5;
}

label::after {
    background-color: #fff;
}

.navigator .ls-move-btn {
    width: 175px;
}

/****** Footer *******/

footer {
    padding: 0;
    margin-top: 1.2rem;
    font-size: 1.286rem;
    line-height: 1.5;
    font-family: 'Open Sans',sans-serif;
    font-size: 1.286rem;
    color: #272727;

}

@media (min-width: 1400px) {
    footer .container {
        max-width: 1170px;
    }
}

footer .overflow-hidden {
    overflow: hidden !important;
}

footer .z-1 {
    z-index: 1 !important;
}

footer .z-n1 {
    z-index: -1 !important;
}

footer .h-100 {
    height: 100% !important;
}

footer .w-100 {
    width: 100% !important;
}

footer .object-fit-cover {
    object-fit: cover !important;
}

footer .fs-md {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

footer .acknowledgement {
    background: linear-gradient(90deg, #ffb448, hsla(0, 0%, 100%, 0) 150%);
}

footer .c-footer__content-wrapper {
    text-align: center;
    color: #fff;
    background: #3c2d4d;
}

footer .c-footer__content-wrapper .container .row {
    align-items: center;
}

footer .c-footer__logo {
    display: inline-block;
    width: 180px;
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    footer .c-footer__logo {
        margin-bottom: 0;
    }

    footer .c-footer__content-wrapper {
        text-align: inherit;
    }
}

footer .c-footer__legal-text {
    font-size: 1rem;
    line-height: 1.8;
}

footer .c-footer__legal-text a {
    color: #fff;
}

footer .c-footer__legal-text a:focus,
footer .c-footer__legal-text a:hover {
    color: #fff;
    text-decoration: underline;
}
