/* In the beginning, the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move. -- Douglas Adams */

:root {
    --color-mf: #c8a202;
    --color-mf-hover: #dbb92f;
    --color-mf-border: #b9990f;
    --color-fx: #b72558;
    --color-fx-hover: #ca386b;
    --color-fx-border: #931a45;
    --color-cs: #7cba24;
    --color-cs-hover: #94d13f;
    --color-cs-border: #70a821;
    --color-bl: #1da2a2;
    --color-bl-hover: #34b9b9;
    --color-bl-border: #1ca0a0;
    --color-cl: #24ba7b;
    --color-comment-start-doc: #2ec198;
    --color-comment-rce1: #75b912;
    --color-comment-rce2: #dbc40b;
    --color-comment-rce3: #df6e1c;
    --color-comment-tech: #d50d0d;
    --color-comment-end-doc: #2e37c1;
    --color-comment-note: #051026;
    --color-comment-note-darktheme: #4878d9;
    --color-a: #ffd688;
}

/* Generic styles and Bootstrap customizations */
body {
    font-weight: 300;
    font-size: 15px;
}

.navbar-nav {
    flex-wrap: wrap;
}

.nav-underline {
    gap: 0.1rem;
}

.navbar-brand-rotate {
    writing-mode: sideways-lr;
    margin-right: 0.1em;
}

.nav-link {
    white-space: nowrap;
    text-align: center;
}

.nav-link.active {
    font-weight: bold;
}

html[data-bs-theme="dark"] .nav-item .dropdown-item.active {
    font-weight: bold;
    background-color: var(--bs-secondary-bg);
}

a {
    text-decoration: none !important;
}

textarea {
    resize: vertical;
}

.card-header h4 {
    margin-bottom: 0;
}

html[data-bs-theme="dark"] .btn-light {
    --bs-btn-color: #fff;
    --bs-btn-bg: #3e4346;
    --bs-btn-border-color: #4b5257;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #4f555c;
    --bs-btn-hover-border-color: #565e64;
    --bs-btn-focus-shadow-rgb: 130,138,145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #565e64;
    --bs-btn-active-border-color: #51585e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #6c757d;
    --bs-btn-disabled-border-color: #6c757d;
}

.text-blue {
    color: var(--bs-blue);
}

.bg-blue {
    background-color: var(--bs-blue);
}

.text-indigo {
    color: var(--bs-indigo);
}

.bg-indigo {
    background-color: var(--bs-indigo);
}

.text-purple {
    color: var(--bs-purple);
}

.bg-purple {
    background-color: var(--bs-purple);
}

.text-pink {
    color: var(--bs-pink);
}

.bg-pink {
    background-color: var(--bs-pink);
}

.text-red {
    color: var(--bs-red);
}

.bg-red {
    background-color: var(--bs-red);
}

.text-orange {
    color: var(--bs-orange);
}

.bg-orange {
    background-color: var(--bs-orange);
}

.text-yellow {
    color: var(--bs-yellow);
}

.bg-yellow {
    background-color: var(--bs-yellow);
}

.text-green {
    color: var(--bs-green);
}

.bg-green {
    background-color: var(--bs-green);
}

.text-teal {
    color: var(--bs-teal);
}

.bg-teal {
    background-color: var(--bs-teal);
}

.text-cyan {
    color: var(--bs-cyan);
}

.bg-cyan {
    background-color: var(--bs-cyan);
}

.text-mf {
    color: var(--color-mf);
}

.bg-mf {
    background-color: var(--color-mf);
}

.btn-mf {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-mf);
    --bs-btn-border-color: var(--color-mf-border);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-mf-hover);
    --bs-btn-hover-border-color: var(--color-mf);
    --bs-btn-focus-shadow-rgb: 130,138,145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-mf-hover);
    --bs-btn-active-border-color: var(--color-mf);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-mf);
    --bs-btn-disabled-border-color: var(--color-mf-border);
}

.text-fx {
    color: var(--color-fx);
}

.bg-fx {
    background-color: var(--color-fx);
}

.btn-fx {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-fx);
    --bs-btn-border-color: var(--color-fx-border);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-fx-hover);
    --bs-btn-hover-border-color: var(--color-fx);
    --bs-btn-focus-shadow-rgb: 130,138,145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-fx-hover);
    --bs-btn-active-border-color: var(--color-fx);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-fx);
    --bs-btn-disabled-border-color: var(--color-fx-border);
}

.text-cs {
    color: var(--color-cs);
}

.bg-cs {
    background-color: var(--color-cs);
}

.btn-cs {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-cs);
    --bs-btn-border-color: var(--color-cs-border);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-cs-hover);
    --bs-btn-hover-border-color: var(--color-cs);
    --bs-btn-focus-shadow-rgb: 130,138,145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-cs-hover);
    --bs-btn-active-border-color: var(--color-cs);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-cs);
    --bs-btn-disabled-border-color: var(--color-cs-border);
}

.text-bl {
    color: var(--color-bl);
}

.bg-bl {
    background-color: var(--color-bl);
}

.btn-bl {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-bl);
    --bs-btn-border-color: var(--color-bl-border);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-bl-hover);
    --bs-btn-hover-border-color: var(--color-bl);
    --bs-btn-focus-shadow-rgb: 130,138,145;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--color-bl-hover);
    --bs-btn-active-border-color: var(--color-bl);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--color-bl);
    --bs-btn-disabled-border-color: var(--color-bl-border);
}

.text-cl {
    color: var(--color-cl);
}

.bg-cl {
    background-color: var(--color-cl);
}


.btn-group-xs > .btn, .btn-xs {
    padding: .15rem .4rem;
    font-size: .8rem;
    border-radius: .2rem;
    position: relative;
    top: -2px;
}

.progress {
    height: 1.2rem;
    font-weight: 700;
}

.flex-break {
    flex-basis: 100%;
    height: 0;
}

.fa, .fas, .far {
    margin-right: 0.2em;
}

.input-group .fa, .input-group-text .fas, .input-group-text .far {
    margin-right: 0;
}

.badge-number-items {
    margin-left: 0.5em;
    font-size: 50%;
    vertical-align: middle;
}

.badge.rounded-pill .btn-close {
    margin-left: .4em;
    padding-right: .4em;
}

.bg-secondary-lighter {
    background-color: rgba(var(--bs-secondary-rgb), .6) !important;
}

.badge-round {
    font-size: 0.5rem !important;
    color: #fff;
    display: inline-block;
    height: 2.5em;
    width: 2.5em;
    font-size: .9em;
    border-radius: 50em;
    text-align: center;
    vertical-align: text-bottom;
    opacity: 0.9;
}

.badge-round .fa {
    vertical-align: text-bottom;
}

.bg-danger-striped {
    background-image: linear-gradient(135deg, #de3947 25%, #bf2e3a 25%, #bf2e3a 50%, #de3947 50%, #de3947 75%, #bf2e3a 75%, #bf2e3a 100%);
    background-size: 42.43px 42.43px;
}


/* Responsive tables */

.table-responsive table.table {
    --bs-table-bg: transparent;
}

.table-responsive-shadow-start {
    box-shadow: inset 15px 0 15px -16px rgba(0, 0, 0, 0.5);
}

html[data-bs-theme="dark"] .table-responsive-shadow-start {
    box-shadow: inset 15px 0 15px -16px rgba(0, 0, 0, 0.8);
}

.table-responsive-shadow-end {
    box-shadow: inset -15px 0 15px -16px rgba(0, 0, 0, 0.5);
}

html[data-bs-theme="dark"] .table-responsive-shadow-end {
    box-shadow: inset -15px 0 15px -16px rgba(0, 0, 0, 0.8);
}

.table-responsive-shadow-both {
    box-shadow: inset 15px 0 15px -16px rgba(0, 0, 0, 0.5), inset -15px 0 15px -16px rgba(0, 0, 0, 0.5);
}

html[data-bs-theme="dark"] .table-responsive-shadow-both {
    box-shadow: inset 15px 0 15px -16px rgba(0, 0, 0, 0.8), inset -15px 0 15px -16px rgba(0, 0, 0, 0.8);
}


/* Wiki */

.wiki-input-toolbox {
    border: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color-translucent);
}

.wiki-input {
    width: 100%;
    height: 60vh;
    font-family: monospace;
    padding: 0.5em;
    border: 1px solid var(--bs-border-color);
    border-top: none;
    outline: none;
}

.wiki_row_editor {
    transition: height ease 0.5s;
}

.wiki-block .text-primary a,
.wiki-block .text-secondary a,
.wiki-block .text-info a,
.wiki-block .text-success a,
.wiki-block .text-warning a,
.wiki-block .text-danger a,
.wiki-block .text-light a,
.wiki-block .text-dark a,
.wiki-block .text-mf a,
.wiki-block .text-fx a,
.wiki-block .text-cs a,
.wiki-block .text-bl a {
    color: inherit;
}

.wiki-block img {
    max-width: 100%;
}

.wiki-block h3:not(:first-child) {
    margin-top: 2rem;
}

.wiki-block h5 {
    margin-top: .5rem;
    margin-bottom: 0.8rem;
}

.wiki-block h5:has(+ h5) {
    margin-bottom: 1.5rem;
}

.wiki-block p {
    margin-bottom: 1rem;
}

.wiki-block p:has(+ h5) {
    margin-bottom: 1.5rem;
}

.wiki-block p:has(+ ul) {
    margin-bottom: 0.5rem;
}

.wiki-block ul:has(+ p) {
    margin-bottom: 0.5rem;
}

.wiki-block .photo-line {
    width: fit-content;
    max-width: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none;
} 

.wiki-block .photo-line::-webkit-scrollbar {
    display: none;
}

.wiki-block .photo-line img {
    max-width: none;
    width: auto;
    object-fit: cover;
    flex-shrink: 0;
}


/* Checkbox colors fix */
.form-check-primary:checked {
    background-color: rgba(var(--bs-primary-rgb), 1) !important;
    border-color: rgba(var(--bs-primary-rgb), 1) !important;
}

.form-check-secondary:checked {
    background-color: rgba(var(--bs-secondary-rgb), 1) !important;
    border-color: rgba(var(--bs-secondary-rgb), 1) !important;
}

.form-check-success:checked {
    background-color: rgba(var(--bs-success-rgb), 1) !important;
    border-color: rgba(var(--bs-success-rgb), 1) !important;
}

.form-check-danger:checked {
    background-color: rgba(var(--bs-danger-rgb), 1) !important;
    border-color: rgba(var(--bs-danger-rgb), 1) !important;
}

.form-check-warning:checked {
    background-color: rgba(var(--bs-warning-rgb), 1) !important;
    border-color: rgba(var(--bs-warning-rgb), 1) !important;
}

.form-check-info:checked {
    background-color: rgba(var(--bs-info-rgb), 1) !important;
    border-color: rgba(var(--bs-info-rgb), 1) !important;
}

.form-check-light:checked {
    background-color: rgba(var(--bs-light-rgb), 1) !important;
    border-color: rgba(var(--bs-light-rgb), 1) !important;
}

.form-check-dark:checked {
    background-color: rgba(var(--bs-dark-rgb), 1) !important;
    border-color: rgba(var(--bs-dark-rgb), 1) !important;
}

.form-check-white:checked {
    background-color: rgba(var(--bs-white-rgb), 1) !important;
    border-color: rgba(var(--bs-white-rgb), 1) !important;
}

.form-switch .form-check-primary:checked,
.form-switch .form-check-secondary:checked,
.form-switch .form-check-success:checked,
.form-switch .form-check-danger:checked,
.form-switch .form-check-warning:checked,
.form-switch .form-check-info:checked,
.form-switch .form-check-light:checked,
.form-switch .form-check-dark:checked,
.form-switch .form-check-white:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")
}



/* Footer */
.footer {
    margin: 50px 5px 10px 5px;
    color: var(--bs-body-color);
    font-size: 80%;
    text-align: center;
}

.footer .quote {
    color: var(--bs-secondary-color)
}


/* Login form */
.form-login-logo-plasci {
    height: 15em;
    max-width: 100%;
    object-fit: scale-down;
}

.form-login-logo {
    font-size: 2.5rem;
    padding-bottom: 0px;
}

.form-login-logo-sub {
    font-size: 1rem;
    padding-left: 1rem;
    margin-bottom: 1rem;
}


/* Toasts */
.toasts-container {
    width: 100%;
    z-index: 1100;
}

.toasts {
    position: absolute;
    top: 1rem;
    right: 1rem;
    min-width: 200px;
}

.toast-header strong {
    font-weight: 600;
}


/* Dashboard */
.dashboard .card {
    margin-top: 1rem;
}

.dashboard .card-body {
    overflow: auto;
}


/* Big button */
.btn-big {
    margin: 1rem;
    width: 150px;
    height: 130px;
    padding-top: 20px;
}

.btn-big img {
    margin: -35px 0px -30px 0px;
}

.btn-big img svg {
    fill: white;
}

.btn-big-text {
    margin-top: 1.5rem;
    font-weight: bold;
    font-size: large;
}

.btn-big-doc {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    margin: 1rem auto 0;
    padding: 1rem;
    width: 30rem;
    max-width: 100%;
    height: 9rem;
}

.btn-big-doc-image {
    position: relative;
    flex-shrink: 1;
}

.btn-big-doc-image-base {
    position: relative;
    top: 0;
    left: 0;
}

.btn-big-doc-image-overlay {
    position: absolute;
    top: 0;
    left: 0;
}

.btn-big-doc img {
    height: 7rem;
}

.btn-big-doc img svg {
    fill: #555;
}

.btn-big-doc-text {
    flex-grow: 1;
    font-weight: bold;
    font-size: 1.3rem;
}

.btn-big-doc-text-smaller {
    font-size: 70%;
}


/* Project matricule and spec badges */
.matricule, .badge-spec {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 90%;
    font-weight: 700;
    line-height: 1;
    color: white;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.matricule:hover, .badge-spec:hover {
    text-decoration: none;
    color: white;
}

h3 .matricule-smaller {
    font-size: 65%;
    padding: .2em .5em .25em;
}

.matricule-empty {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
}

.matricule-minif, .matricule-minif-rc {
    background-color: var(--color-mf);
}

.matricule-fusex {
    background-color: var(--color-fx);
}

.matricule-cansat {
    background-color: var(--color-cs);
}

.matricule-ballon {
    background-color: var(--color-bl);
}

.matricule-cansat-lycee {
    background-color: var(--color-cl);
}

.matricule-neutral {
    background-color: #aaa;
}

.badge-spec-large {
    font-size: 1.2rem;
}

.project-spec-icon {
    height: 20px;
}

.col-form-label .project-spec-icon {
    height: 1em;
    vertical-align: baseline;
    margin-right: 0.3em;
    filter: contrast(50%);
}

html[data-bs-theme="dark"] .theme-dark-invert {
    filter: invert(92%) sepia(14%) saturate(149%) hue-rotate(169deg) brightness(93%) contrast(82%);
}



/* Projects properties */
.color-special-project {
    color: #fec913;
}

.color-canceled-project {
    color: #da231f;
}

.badge-project-motor {
    background-color: #eaba2f;
}

.badge-project-motor-pro98 {
    background-color: #d9534f;
}

.badge-project-year {
    background-color: #5bd2de;
}

a.column-header {
    color: inherit;
}


/* List pages */
.table-list th, .table-list td {
    padding: 0.45rem;
}

html:not([data-bs-theme="dark"]) .table-list tbody a:not(.btn) {
    color: #2f6f9f;
}

html[data-bs-theme="dark"] .table-list tbody a {
    color: #ffffff;
}

.table-list a.a-nodeco:hover {
    text-decoration: none !important;
}

.table-list td a.quickfilter-icon {
    color: transparent !important;
    transition: color ease 0.1s;
}

.table-list td:hover a.quickfilter-icon {
    color: var(--bs-primary) !important;
}


/* Edit pages */
.form-horizontal .col-form-label {
    font-weight: 600;
}

.field-tooltip {
    color: silver;
}

.field-tooltip-warning {
    color: var(--orange);
}

.field-required {
    color: silver;
}

.field-icon {
    color: #909090;
}

.textarea-big {
    min-height: 12em !important;
    width: 100%;
    max-width: 70rem;
    margin: auto;
}

.input-small {
    max-width: 5em;
}

.tab-content h3 {
    font-size: 1.4em;
    font-weight: bold;
}


/* Project title bar */
.matricule-title {
    display: inline-block;
    font-size: 42px;
    padding: .2em .4em .3em;
}

.matricule-title-empty {
    display: inline-block;
    width: 3rem;
    height: 3rem;
    border-radius: 1.5rem;
}

.edit-subtitle {
    font-size: 1.5rem;
    margin: 0;
}

.edit-subtitle a {
    color: var(--dark);
}

.edit-title-bar img {
    height: 2rem;
    margin-top: -0.5rem;
}

.edit-title-bar .progress {
    width: 20rem;
    max-width: 100%;
    font-size: 1rem;
    height: 1.5rem;
    margin-top: 0.2rem;
}

.project-status {
    font-size: 2rem;
    font-weight: 500;
}

.project-status-qualification, .project-status-torch {
    color: #8a6d3b;
}

.project-status-qualified {
    color: #5cb85c;
}

.project-status-nominal {
    color: #5cb85c;
}

.project-status-canceled, .project-status-ballistic, .project-status-lost, .project-status-destroyed {
    color: #a94442;
}


/* Files */
.icon-filetype {
    height: 5em;
}

.project-document {
    padding: 15px 20px;
    border-radius: 0.5em;
}

.project-document:hover {
    background-color: var(--bs-secondary-bg);
}

.project-document-icon {
    margin-right: 0.6em;
}

.document-image-preview {
    height: 5em;
    width: 5em;
    object-fit: contain;
}

.document-image-popover {
    width: 100%;
    max-width: 500px;
    max-height: 500px;
    object-fit: scale-down;
}

.popover {
    max-width: 500px;
}

.project-document-icon .popover {
    max-width: 600px;
}

.project-document-label {
    font-size: 60%;
    position: relative;
    top: -3px;
}

.project-document-name {
    font-weight: 600;
    font-size: 130%;
    margin-bottom: 3px;
    line-height: 1.2;
}

.project-document-name a {
    color: var(--dark);
}

.project-document-metadata {
    font-size: 80%;
    font-style: italic;
    color: #a0a0a0;
}

.project-document-archive {
    color: #a0a0a0a0;
    margin-left: 0.5em;
    font-size: 80%;
    display: none;
}

.project-document:hover .project-document-archive {
    display: inline;
}

.project-document-archive span.archive:hover {
    color: #808080f0;
}


/* Messages */
.new-message {
    margin-top: .5rem;
    width: 100%;
    height: 15em;
    padding: 10px;
    border: 2px dashed silver;
    border-radius: 3px;
}

.message {
    display: block;
    border-radius: 1em;
    border: 1px solid #00000020;
    background-color: rgba(var(--bs-body-color-rgb), 0.03);
    padding: 1em;
    margin: 8px;
    max-width: 800px;
    box-shadow: 0px 0px 8px #00000020;
}

.message:hover {
    border: 1px solid #00000020;
    background-color: rgba(var(--bs-body-color-rgb), 0.1);
}

.message-club .message {
    border-bottom-left-radius: 0px;
    margin-left: 86px;
    margin-right: auto;
}

.message-admin .message {
    border-bottom-right-radius: 0px;
    margin-right: 86px;
    margin-left: auto;
}

.message-unread {
    box-shadow: 0px 0px 8px #ff6c009e;
}

.message-expired {
    opacity: 0.3;
}

.message-content {
    font-weight: 400;
    text-align: justify;
    overflow-wrap: break-word;
    margin: 0;
}

.message-expired-show {
    margin-top: 0.3em;
    margin-left: 1em;
}

.message-expired-show a {
    color: grey;
    font-style: italic;
}

.message-metadata {
    width: 100%;
    text-align: right;
    font-size: 80%;
    font-style: italic;
    margin-top: 0.5rem;
    color: #808080;
}

.message-avatar {
    position: relative;
    top: -72px;
    height: 0px;
}

.message-avatar img {
    width: 64px;
    max-height: 64px;
}

.message-club .message-avatar {
    text-align: left;
}

.message-admin .message-avatar {
    text-align: right;
}

.message-internal-label {
    font-weight: bold;
}

@media only screen and (max-width : 768px) {
    .message-avatar img {
        width: 32px;
        max-height: 32px;
    }

    .message-club .message {
        margin-left: 40px;
    }

    .message-admin .message {
        margin-right: 40px;
    }

    .message-avatar {
        top: -40px;
    }
}

.message-admin .message-internal {
    border: 1px solid #ddd;
    background-color: #eee;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0.5em;
}

.message-internal:hover {
    border: 1px solid #ccc;
    background-color: #ddd;
}

.div-message-send {
    text-align: right;
    padding-top: 0.5em;
}

.div-message-send label {
    margin-right: 10px;
}

.div-message-send input[type='checkbox'] {
    position: relative;
    top: 2px;
}


/* Notes */
.text-start-doc {
    color: var(--color-comment-start-doc) !important;
}

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

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

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

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

.text-end-doc {
    color: var(--color-comment-end-doc) !important;
}

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

html[data-bs-theme="dark"] .text-note {
    color: var(--color-comment-note-darktheme) !important;
}

.border-start-doc {
    border-color: var(--color-comment-start-doc) !important;
}

.border-rce1 {
    border-color: var(--color-comment-rce1) !important;
}

.border-rce2 {
    border-color: var(--color-comment-rce2) !important;
}

.border-rce3 {
    border-color: var(--color-comment-rce3) !important;
}

.border-tech {
    border-color: var(--color-comment-tech) !important;
}

.border-end-doc {
    border-color: var(--color-comment-end-doc) !important;
}

.border-note {
    border-color: var(--color-comment-note) !important;
}

html[data-bs-theme="dark"] .border-note {
    border-color: var(--color-comment-note-darktheme) !important;
}

.card-rce {
    background-color: #8c8c8c0f;
}

.card-rce:hover {
    background-color: #8c8c8c1f;
}

.card-note-editing {
    border: dashed;
}



/* Project QRCode */
.qrcode-sticker {
    width: 300px;
    margin: 10px;
}


/* Club logo */
.club-logo {
    text-align: center;
}

.club-logo img {
    max-height: 30em;
    max-width: 100%;
}

.navbar-club-logo img {
    max-height: 20px;
    max-width: 50px;
    margin-left: 10px;
    margin-right: 10px;
}


/* Batch actions */
html:not([data-bs-theme="dark"]) #batch-action-modal-result textarea {
    background-color: #fff;
}


/* Orga */

.orga-row {
    height: 5rem;
}

.orga-month {
    transform: rotate(270deg);
    text-align: center;
    width: 3rem;
    padding-left: .5rem;
}

.orga-month-line {
    border: 0px solid rgba(var(--bs-secondary-color-rgb), 0.2);
    border-width: 1px 0px 1px 5px;
    padding: 0px;
    width: 1rem;
}

.orga-month-line-current {
    border-left-color: var(--bs-primary);
}

.orga-row-current .orga-row-bg {
    background-color: rgba(var(--bs-secondary-color-rgb), 0.05);
}

.orga-row:hover .months-actions-arrows {
    display: inline-block !important;
    color: rgb(var(--bs-primary-rgb)) !important;
}

.orga-todo {
    background-color: rgba(var(--bs-body-color-rgb), 0.03);
}

.orga-todo:hover {
    background-color: rgba(var(--bs-body-color-rgb), 0.1);
}

.orga-todo:hover .btn-delete {
    display: inline-block !important;
}


/* Planning RCE */
.table-planning {
    width: calc(100% - 1rem);
    border-collapse: collapse;
    margin: 2em 0.5em 1em 0.5em;
}

.table-planning .planning-day {
    border: none;
    font-weight: bold;
    font-size: 170%;
    color: #555;
    padding: 0px 10px;
    vertical-align: top;
}

.table-planning th, .table-planning td {
    border: 1px solid silver;
    height: 2em;
    padding: 0.5em;
}

.table-planning td.planning-empty {
    border-left: none;
    border-right: none;
    padding: 0;
    text-align: center;
}

.table-planning td.planning-unavailable {
    background-image: linear-gradient(150deg, #f3f3f3 25%, #ffffff 25%, #ffffff 50%, #f3f3f3 50%, #f3f3f3 75%, #ffffff 75%, #ffffff 100%);
    background-size: 20.00px 11.55px;
    border: 1px solid silver;
}

html[data-bs-theme="dark"] .table-planning td.planning-unavailable {
    background-image: linear-gradient(150deg, rgba(var(--bs-secondary-color-rgb), 0.08) 25%, rgba(var(--bs-secondary-color-rgb), 0.03) 25%, rgba(var(--bs-secondary-color-rgb), 0.03) 50%, rgba(var(--bs-secondary-color-rgb), 0.08) 50%, rgba(var(--bs-secondary-color-rgb), 0.08) 75%, rgba(var(--bs-secondary-color-rgb), 0.03) 75%, rgba(var(--bs-secondary-color-rgb), 0.03) 100%);
}

.table-planning td.planning-hidden {
    filter: brightness(50%);
}

.table-planning td.planning-project {
    background-color: rgba(var(--bs-secondary-color-rgb), 0.08);
    padding: 0px;
}

.table-planning .planning-project-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.table-planning .planning-project-timeslot-icons {
    font-size: 70%;
}

.table-planning .planning-project-overlay {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.table-planning .planning-project-actions {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    min-width: 100%;
    text-align: center;
    white-space: nowrap;
}

.table-planning .planning-project-wrapper {
    position: relative;
}

.table-planning .planning-project-actions {
    display: none;
}

.table-planning td.planning-project-deletable:hover .planning-project-content-hoverable,
.table-planning td.planning-project-deletable:hover .planning-project-overlay-hoverable {
    opacity: 30%;
}

.table-planning td.planning-project-deletable:hover .planning-project-actions {
    display: block;
}

.table-planning .planning-empty-wrapper {
    display: none;
}

.table-planning td:hover .planning-empty-wrapper {
    display: block;
}

.table-planning .planning-project-selected {
    border: 3px dashed rgb(var(--bs-primary-rgb));
}

.table-planning td.planning-project-warning-stripes {
    background-image: linear-gradient(150deg, #ffeac4 25%, #f5f5f5 25%, #f5f5f5 50%, #ffeac4 50%, #ffeac4 75%, #f5f5f5 75%, #f5f5f5 100%);
    background-size: 20.00px 11.55px;
}

.table-planning th.planning-mine {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
}

html:not([data-bs-theme="dark"]) .table-planning th.planning-mine {
    color: blue;
}

.table-planning td.planning-mine {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.text-warning-planning {
    font-weight: bold;
}

.table-planning .planning-timetable-header {
    width: 8%;
    background-color: rgba(var(--bs-secondary-color-rgb), 0.05);
}

html[data-bs-theme="dark"] .table-planning .planning-timetable-header {
    background-color: rgba(5, 8, 11, 0.24);
}

.table-planning .planning-timetable-height {
    height: 0.1em;
    background-color: rgba(var(--bs-secondary-color-rgb), 0.05);
}

html[data-bs-theme="dark"] .table-planning .planning-timetable-height {
    background-color: rgba(5, 8, 11, 0.24);
}

.table-planning .planning-timetable-width {
    width: 2%;
    height: 0.1em;
}

.table-planning .planning-timetable-controller {
    background-color: rgba(var(--bs-secondary-color-rgb), 0.05);
}

html[data-bs-theme="dark"] .table-planning .planning-timetable-controller {
    background-color: rgba(5, 8, 11, 0.24);
}

.table-planning td.planning-last-col {
    border-right: 1px solid silver;
}

.planning-project-timeslot-icons .fa-video {
    color: #296cd4;
}

.planning-project-timeslot-icons .fa-user-group {
    color: #0c9c2a;
}

.planning-project-timeslot-icons .fa-lock {
    color: #c72828;
}

.planning-project-timeslot-icons .fa-sticky-note {
    color: #0d7a8b;
}

.table-planning td.planning-time-marker {
    position: absolute;
    padding: 0px;
    width: 1px;
    border: 0px;
    background-color: red;
}



/* Project progress */
.project-progress .progress {
    width: 100%;
    max-width: 20rem;
    margin: 0 auto 2rem;
}


/* Project reports */
.project-reports-club-logo {
    height: 1em;
}


/* Qualifications page */
.qualifications-title {
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    height: 50px;
}

.qualifications-title a {
    color: inherit;
    text-decoration: inherit;
}

.qualifications-title img {
    height: 100%;
    margin: auto 0px;
}

.qualifications-title h1 {
    font-size: 40px;
    margin: auto 0px;
    font-weight: bold;
}

.qualifications-title {
    display: flex;
    justify-content: space-evenly;
}

.qualifications-loading {
    margin-top: 50px;
    text-align: center;
    font-size: 200%;
}

.qualifications h2 {
    margin-top: 10px;
    margin-bottom: 0px;
}

.qualifications-footer {
    position: fixed;
    bottom: 0;
    height: 50px;
    width: 100%;
    margin-bottom: 5px;
    display: flex;
}

.qualifications-footer-occupation {
    text-align: center;
    font-weight: bold;
    padding: 0px 10px;
    align-self: center;
    min-width: 350px;
}

.qualifications-footer-occupation .label {
    font-size: 120%;
}

.qualifications-footer-message {
    flex-grow: 1;
    font-size: 140%;
    align-self: center;
    text-align: center;
    line-height: 100%;
}

.qualifications-footer-time {
    font-size: 30px;
    font-weight: 400;
    padding: 0px 10px;
    align-self: center;
}

.qualifications-projects {
    display: flex;
    flex-flow: column wrap;
    height: 100vh;
    overflow: hidden;
    padding-top: 60px;
    padding-bottom: 60px;
}

.qualification-project {
    display: flex;
    height: 50px;
    align-items: center;
    padding: 7px 12px;
    margin: -1px;
    min-width: 400px;
    border: 1px solid #F0F0F0;
}

.qualification-project-logo {
    width: 45px;
    text-align: center;
    flex-shrink: 0;
}

.qualification-project-logo img {
    margin-left: 10px;
    max-width: 32px;
    max-height: 32px;
}

.qualification-project-matricule {
    padding: 5px 6px;
    flex-shrink: 0;
}

.qualification-project-name {
    margin-left: 10px;
    font-size: 20px;
    flex-grow: 1;
    line-height: 90%;
    flex-shrink: 1;
}

.qualification-project-progress {
    margin-left: 10px;
    font-weight: bold;
}

.qualification-project-progress .progress {
    width: 120px;
    margin-bottom: 0px;
}

.qualification-project-label {
    margin-left: 10px;
    font-size: 15px;
    text-align: right;
    width: 100%;
    max-width: 120px;
    line-height: 90%;
    white-space: normal;
}

.qualification-project-label.label {
    text-align: center;
}

.qualification-project-label-prequalified {
    font-style: italic;
}

.qualification-project-label-qualified {
    color: #5cb85c;
    font-weight: bold;
}

.qualification-project-label-awaited-in-clubs-tent {
    color: #0dcaf0;
    font-weight: bold;
}

.qualification-project-label-in-clubs-tent {
    color: #27bba6;
    font-weight: bold;
}

.qualification-project-label-in-launch-area {
    color: #aa7e15;
    font-weight: bold;
}


/* Organization chart */
.orgchart-col {
    max-width: 300px;
    min-width: 200px;
    padding: 0.5em;
}

.orgchart-block {
    box-shadow: 0px 0px 5px 1px #00000050;
    margin-bottom: 1em;
    text-align: center;
    font-size: 110%;
    border-radius: 0.5em;
    transition: box-shadow 300ms;
}

.orgchart-block:hover {
    box-shadow: 0px 0px 10px 2px #000000A0;
}

.orgchart-block-header {
    box-shadow: 0px 0px 3px 1px #00000050;
    height: 4em;
    padding: 0.5em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 0.5em 0.5em 0 0;
}

.orgchart-coordinators-block-header {
    height: 2.5em;
}

.orgchart-block-header-label {
    font-weight: bold;
    color: #000000E0;
}

.orgchart-block-names {
    height: 5em;
    padding: 0.5em;
    background-color: rgba(var(--bs-secondary-color-rgb), 0.05);
    box-shadow: 0px 0px 0px 1px #00000050;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 0 0 0.5em 0.5em;
}

.orgchart-coordinators-block-names {
    display: flex;
    flex-flow: row;
    gap: 1em;
    height: 3em;
}

.orgchart-block-names-2x {
    height: 15em;
}

.orgchart-block-names-3x {
    height: 25em;
}

.orgchart-block-names-4x {
    height: 35em;
}

.orgchart-block-names-5x {
    height: 45em;
}

.orgchart-block-names-6x {
    height: 55em;
}

.orgchart-block-name {
    white-space: wrap;
    line-height: 1em;
    margin: 0.25em 0;
}

.orgchart-block-name-manager {
    font-weight: bold;
}


/* Projects on the campaign page */

.campaign-projects-title-count {
    font-size: 60%;
    vertical-align: text-bottom;
}

.campaign-projects-container {
    transition: margin-bottom 300ms;
}

.campaign-projects {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4em;
    justify-content: space-between;
    align-items: flex-start;
}

.campaign-project {
    padding: 0.3em 0.6em 0.5em 0.5em;
    border-radius: 0.5em;
    background-color: rgba(var(--bs-secondary-color-rgb), 0.02);
    transition: box-shadow 200ms, background-color 200ms;
    border: 1px solid rgba(var(--bs-secondary-color-rgb), 0.07);
}

.campaign-project-padded {
    padding: 0.5em 0.8em 0.7em 0.7em;
}

.campaign-project-highlight {
    box-shadow: 0 0 0.8em 0.4em var(--bs-danger);
}

.campaign-project:hover {
    background-color: rgba(var(--bs-secondary-color-rgb), 0.08);
}

.campaign-project-matricule {
    display: inline;
    margin-right: 0.5em;
}

.campaign-project-name {
    display: inline-block;
    font-weight: bold;
    margin-right: 0.3em;
    color: var(--bs-body-color);
}

.campaign-project-qualification-date {
    text-align: center;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

.campaign-project-club {
    display: inline-block;
    font-style: italic;
    color: var(--bs-body-color);
}

.campaign-project-result {
    display: inline-block;
    margin-left: 0.8em;
    top: 0.1em;
    position: relative;
}

.campaign-project-shuttle-yes {
    color: var(--bs-orange);
}

.campaign-project-chrono {
    display: inline-block;
    font-size: 110%;
    text-align: center;
}

.campaign-project-chrono-badge {
    background-color: rgba(var(--bs-secondary-color-rgb), 0.05);
    color: var(--bs-purple);
}

html[data-bs-theme="dark"] .campaign-project-chrono-badge {
    color: var(--bs-cyan);
}

.campaign-project-chrono-item {
    font-weight: bold;
    font-size: 125%;
    vertical-align: text-bottom;
    margin-left: 0.2em;
}

.campaign-project-phone {
    display: inline-block;
    text-align: center;
}

.campaign-project-phone-item {
    font-weight: bolder;
    font-size: 110%;
    vertical-align: text-bottom;
    padding: 0.3em;
    background-color: rgba(var(--bs-secondary-color-rgb), 0.05);
    color: var(--bs-body-color);
}

.campaign-project-comment {
    display: inline-block;
    width: 100%;
    margin: 0.1em 0.5em;
    padding: 0.5em;
    text-align: center;
    border: 1px solid rgba(var(--bs-secondary-color-rgb), 0.1);
    border-radius: 0.5em;
    max-width: 300px;
}

.collapse-marker {
    font-size: 75%;
    vertical-align: middle;
    opacity: 60%;
}


/* Tags */

.tag {
    font-size: 0.9em;
    padding: .45em .65em;
}

html[data-bs-theme="dark"] .tag {
    opacity: 0.8;
}

.tag-deletable .tag-delete {
    display: none;
    border: 0;
    float: right;
}

.tag-deletable:hover .tag-delete {
    display: inline-block;
}



/* Project QR page */

.project-qr-container {
    height: 100vh;
    width: 100%;
    max-width: 800px;
    margin: auto;
    padding: 1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.project-qr-logos {
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.project-qr-logos img {
    width: 30vw;
    max-width: 15rem;
}

.project-qr-project-name {
    font-size: 2.5rem;
    line-height: 140%;
}

.project-qr-club-logo {
    height: 25px;
    max-width: 100px;
}

.project-qr-project-name .matricule {
    padding: .1em .4em .2em;
}

.project-lost-banner {
    max-width: 500px;
    margin: auto;
    padding: 10px;
    background-image: linear-gradient(150deg, #555 24%, var(--color-a) 26%, var(--color-a) 49%, #555 51%, #555 74%, var(--color-a) 76%, var(--color-a) 100%);
    background-size: 40.00px 23px;
    border-radius: 13px;
}

.project-lost-banner-inner {
    background-color: #ffffff;
    padding: 1em 2em;
    border-radius: 3px;
}


/* Help */

.help-menu-item:hover .help-menu-item-control {
    display: block !important;
}
