:root {
    --bs-primary: #287F71;
    --bs-secondary: #6c757d;
    --bs-success: #28a745;
    --bs-danger: #dc3545;
    --bs-warning: #ffc107;
    --bs-info: #17a2b8;
    --bs-light: #f8f9fa;
    --bs-dark: #343a40;
    --bs-other: #963b68;
    --bs-primary-hover: #1f6459;
    --bs-brand-yellow: #eac857;
}
/* General Styles */
.button {
    margin: 3px;
}
.placeholder {
    background: transparent;
}
.layout {
    margin-bottom: 20px;
}
thead, tbody, tfoot, tr, td, th {
    vertical-align: middle;
}
table thead th:last-child {
    border-radius: 0 !important;
}
.form-item__description {
    max-width: auto;
}
.card-header {
    display: flex;
}
.card-body .description {
    margin-bottom: 10px;
}
.form-required::after {
    content: " * ";
    color: red;
}
.flexify {
    display: flex;
    gap: 10px;
}
#block-gamsu-admin-help {
    margin: 10px 0;
}
/* General Button (Add classes to this) */
.dropbutton-toggle button,
.dropbutton-action {
    &:first-child {
        background: #eac857;
    }
}
#drupal-off-canvas:not([data-drupal-ck-style-fence] *) {
    .form-item .form-item__description {
        color: #333 !important;
    }
}
/* forms (INCLUDING WEBFORMS) 
----------------------------------------------------------------------------------------------------*/
.select2-container .select2-selection--single {
    height: 54px;
    border-radius: 0;
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__arrow {
    line-height: 54px;
}
[type="color"], [type="date"], [type="datetime-local"], [type="email"], [type="file"], [type="month"], [type="number"], [type="password"], [type="search"], [type="tel"], [type="text"], [type="time"], [type="url"], [type="week"], textarea {
    @media (min-width: 31.25rem) {
        width: 100%;
    }
}
/* Action Dropbutton | Datatables */
.dropbutton-action {
    & a {
        padding: 0.1825rem 0.6rem;
    }
}
div.dt-buttons > .dt-button,
div.dt-buttons > div.dt-button-split .dt-button {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    margin-left: 0.167em;
    margin-right: 0.167em;
    margin-bottom: 0.333em;
    padding: 0.47rem 0.95rem;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: inherit;
    line-height: 1.6em;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    background: var(--bs-primary);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-decoration: none;
    outline: none;
    text-overflow: ellipsis;
}
div.dt-buttons > .dt-button:hover,
div.dt-buttons > div.dt-button-split .dt-button:hover,
div.dt-buttons > .dt-button:hover:not(.disabled),
div.dt-buttons > div.dt-button-split .dt-button:hover:not(.disabled) {
    background: var(--bs-primary-hover) !important;
    color: #fff;
    padding: 0.47rem 0.95rem;
    border: none !important;
}


/* Webform Specific 
----------------------------------------------------------------------------------------------------*/


.webform-progress-tracker .progress-step.is-complete .progress-marker::before, .webform-progress-tracker .progress-step.is-complete:hover .progress-marker::before, .webform-progress-tracker .progress-step.is-complete .progress-marker::after {
    background-color: var(--bs-primary);
}
.progress-step.is-active .progress-marker::before {
    background-color: var(--bs-success);
}
.progress-marker::before {
    line-height: 24px;
    font-size: 14px;
    padding: 0;
}
.webform-confirmation__message > div {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.webform-confirmation__message > div > div {
    display: inline-block;
    font-size: 38px;
    color: green;
}
.webform-results > div:not(.tableresponsive-toggle-columns) {
    display: inline-block;
    margin: 10px 0 5px;
    background: var(--bs-other);
    padding: 5px 10px;
    border-radius: 5px;
    color: #fff;
}

.webform-submission-navigation, .webform-submission-information {
    display: none;
}

/* Forms Menu */

.form-menu {
    display: flex;
    gap: 20px;
    padding: 0;
    margin: 10px 0;
    list-style: none;
}
.form-menu li a {
    display: inline-block;
    padding: 0.47rem 0.95rem 0.47rem 0.95rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 3px;
    background-color: #287F71;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
/* Logged in with Top Bar */
body.toolbar-horizontal.toolbar-fixed .app-sidebar-menu,
body.toolbar-horizontal.toolbar-fixed .app-sidebar-menu .logo-box {
    top: 39px;
}
body.toolbar-horizontal.toolbar-fixed.toolbar-tray-open .app-sidebar-menu,
body.toolbar-horizontal.toolbar-fixed.toolbar-tray-open .app-sidebar-menu .logo-box {
    top: 79px;
}


/* Flag */
/* ----------------------------------------------------------------------------------------------------*/

.flag {
    display: flex;
    gap: 20px;
    margin: 5px 0 10px 0;
    align-items: center;
}
.flag a {
    display: inline-block;
    padding: 0.47rem 0.95rem 0.47rem 0.95rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 3px;
    background-color: #287F71;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.flag a:hover {
    background-color: #1f6459;
}
.flag.action-unflag a {
    background-color: #dc3545;
}
/* Side Menu Style */
.toolbar-block__title {
    padding: 8px 20px;
    letter-spacing: .05em;
    pointer-events: none;
    font-weight: 600;
    cursor: default;
    font-size: .6875rem;
    text-transform: uppercase;
    color: #2f384f;
    opacity: .75;
}

/* Funding Opportunities */
.status-1, .status-2, .status-3 {
    display: inline-block;
    padding: 0.25em 0.4em;
    font-size: 90%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25rem;
}
.status-1 {
    color: #fff;
    background-color: #28a745;
}
.status-2 {
    color: #fff;
    background-color: #dc3545;
}
.status-3 {
    color: #fff;
    background-color: #ffc107;
}

/* Reviews General */
.reviews {
    margin: 20px 0;
}
.reviews header a {
    display: inline-block;
    padding: 0.47rem 0.95rem 0.47rem 0.95rem;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 3px;
    background-color: var(--bs-other);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.reviews header a:hover {
    background-color: var(--bs-info);
}

.submitted-reviews-wrapper .card-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.submitted-reviews-wrapper .card-body .submitted-review {
    display: flex;
    gap: 10px;
    align-items: center;
    border-bottom: 1px solid #ddd;
    padding: 10px;
    justify-content: space-between;
}


/* Status & Moderation */
/* ----------------------------------------------------------------------------------------------------*/


.views-field-moderation-state .dr,
.views-field-moderation-state .submitted, .pending_proposals_upload,
.views-field-moderation-state .feasibility-review, .p,
.views-field-moderation-state .technical-review, .pending_feasibility_review,
.views-field-moderation-state .budget-review, .pending_budget_review,
.views-field-moderation-state .compliance-check, .pending_compliance_check,
.views-field-moderation-state .ready-for-upload, .pending_proposals_upload,
.views-field-moderation-state .submitted-to-funder, .pending_submission_confirmation,
.views-field-moderation-state .funded,
.views-field-moderation-state .not-funded {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 5px;
    line-height: 18px;
}

.views-field-moderation-state .draft { color: #666; }
.views-field-moderation-state .submitted, .pending_proposals_upload { color: #0066cc; }
.views-field-moderation-state .feasibility-review, .awaiting_feedback { color: #ff9900; }
.views-field-moderation-state .technical-review, .pending_feasibility_review { color: #168090; }
.views-field-moderation-state .budget-review, .pending_budget_review { color: #cc6600; }
.views-field-moderation-state .compliance-check, .pending_compliance_check { color: #cc0066; }
.views-field-moderation-state .ready-for-upload, .pending_proposals_upload { color: #009933; }
.views-field-moderation-state .submitted-to-funder, .pending_submission_confirmation { color: #006666; }
.views-field-moderation-state .funded { color: #00cc00; font-weight: bold; }
.views-field-moderation-state .not-funded { color: #cc0000; }

/* Grant Proposals */
.grant-proposal-main .div-label {
    flex: 1;
}
.grant-proposal-main .div-content {
    flex: 4;
}


/* Moderation Form */
.entity-moderation-form {
    display: flex;
    flex-direction: column;
    gap: 0px;
}


/* Custom Blocks 
----------------------------------------------------------------------------------------------------*/

#block-gamsu-admin-grantcallinterpretation {
    margin: 20px 0;
    padding: 20px;
    background: var(--bs-other);
    color: #fff;
    border-radius: 5px;
}
.paragraphs-subform.form-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}