/* ----------------------------------------- #Details_Container ----------------------------------------- */
#details-container {
    position: fixed;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    left: 1.5vw;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.4s ease-in-out;
    width: var(--details-container-width);
    min-height: 50vh;
    height: auto;
    max-height: calc(100vh - var(--toolbar-height) - var(--details-buttons-size) * 2 - var(--tab-bar-height));
    background-color: var(--menu-background-color);
    border-radius: 10px;
    padding: 2vmin;
}
.details-view #details-container,
.kanban-details-view #details-container  {
    display: flex;
}
/* ----------------------------------------- #Details_Bubble ----------------------------------------- */
.details-bubble {
    position: relative;
    font-family: 'Calibri', sans-serif;
    line-height: 1.15 !important;
    word-wrap: break-word !important;
    white-space: pre-wrap !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    color: #255992 !important;
    cursor: default;
    transition: all 0.4s ease-in-out !important;
    text-align: left;
    width: 100%;
}
.details-bubble.renaming {
    padding-bottom: calc(var(--details-bubble-font-size)/1.5);
}
.details-bubble .bubble-text,
.details-bubble .bubble-title,
.details-bubble .bubble-rank {
    position: relative;
    font-family: 'Calibri', sans-serif;
    line-height: 1.15 !important;
    word-wrap: break-word !important;
    white-space: pre-wrap !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    color: var(--dark-gray-font-color);
    cursor: default !important;
    transition: all 0.4s ease-in-out !important;
    text-align: left;
    font-size: var(--details-bubble-font-size);
    display: inline;
    outline: none;
    border: none;
    /* Always capital letters */
    text-transform: uppercase;
    font-weight: bold;
}
.details-bubble .char-counter{
    position: absolute;
    bottom: 0%; 
    right: 0%;           
    text-align: right;
    font-size: calc(var(--details-bubble-font-size)/2);
    color: var(--details-bubble-char-counter-color);
    font-family: 'Calibri', sans-serif;
    pointer-events: none;
    white-space: nowrap;
    z-index: 10;
    font-weight: 5;
    display: none;
}
/* ----------------------------------------- #Boxes ----------------------------------------- */
.box-separator {
    height: clamp(2px, 2px, 2px) !important;
    min-height: 2px !important;
    max-height: 2px !important;
    overflow-y: hidden;
    background-color: var(--details-box-separator-line-color);
    margin-top: 8px;
    width: 100%;
}
/* ----------------------------------------- #Statements_Boxes ----------------------------------------- */
.statement-element {
    position: relative;
    background-color: var(--statement-box-background-color);
    color: var(--dark-gray-font-color);
    border-radius: 15px;
    padding: 6px 3px 2px 1px;
    width: 100%;
    min-height: 6vh;
    transition: all 0.4s ease-in-out;
    margin-top: 10px;
    container-type: inline-size;
    container-name: details-page;
}
.statement-header {
    user-select: none;
    padding-bottom: 4px;
    font-size: clamp(7px, 2cqw + 0.65vh + 1px, 27px);
    font-weight: bold;
    resize: none;
    text-align: left;
    padding-left: 7px;
}
.statement-element .info-icon{
    user-select: none;
    position: absolute;
    padding-left: clamp(1px, 2cqw, 5px);
    padding-top: clamp(1px, 0.5cqw + 0.1625vh - 0.3px, 7px);
    width: clamp(7px, 2cqw + 0.65vh - 1px, 27px);
    height: clamp(7px, 2cqw + 0.65vh - 1px, 27px);
    cursor: pointer;
}
.statement-content {
    font-size: var(--statement-font-size);
    text-align: left;
    color: var(--dark-gray-font-color);
    padding-left: 8px;
    resize: none;
    outline: none;
    transition: all 0.4s ease-in-out;
}
.statement-element.renaming .statement-content{
    padding-bottom: calc(var(--statement-font-size) + 5px);
}
.statement-content.empty::before {
    content: attr(data-placeholder);
    color: var(--statement-data-placeholder-color);
    font-style: italic;
}
.statement-element .char-counter{
    user-select: none;
    font-size: clamp(6px, 2cqw + 0.65vh , 24px);
    position: absolute;
    right: 7px;
    bottom: 4px;
    padding-top: 3px;
    color: var(--statement-char-counter-color);
    display: none;
}
/* ----------------------------------------- #States_Boxes ----------------------------------------- */
.states-box {
    display: flex;
    height: auto;
    flex-wrap: wrap;
    max-width: 95%;
    justify-content: flex-start; 
    gap: 5px;
}
.states-box-title {
    font-weight: bold;
    text-align: left;
    margin: 10px 0px;
    color: var(--dark-gray-font-color);
}
.state-element{
    display: flex;
    align-items: center;
    background-color: var(--state-element-background);
    border-radius: 4px;
    padding: 2px 5px 4px 5px;
    width: fit-content;
}
.state-element-name {
    color: var(--state-element-text);
    font-weight: 500;
    font-size: clamp(7px,3px + 4cqw,16px);
}
.state-element.todo {
    border-top: 2px dashed var(--note-state-border-color);
}
.state-element.inprogress {
    border-top: 2px solid var(--note-state-border-color);
}
.state-element.done {
    border-top: 6px double var(--note-state-border-color);
}
.state-element.selected {
    border-bottom: 2px solid var(--note-select-border-color);
    border-left: 2px solid var(--note-select-border-color);
    border-right: 2px solid var(--note-select-border-color);
    border-top-color: var(--note-select-border-color) !important;
}
/* ----------------------------------------- #Contributors_Boxes ----------------------------------------- */
.contributor-box {
    display: flex;
    height: auto;
    flex-wrap: wrap;
    max-width: 95%;
    justify-content: flex-start; 
    gap: 10px; 
}
.contributors-box-title {
    font-weight: bold;
    text-align: left;
    margin: 10px 0px;
    color: var(--dark-gray-font-color);
}
/* ----------------------------------------- #Tags_Boxes ----------------------------------------- */
.tags-box {
    display: flex;
    height: auto;
    flex-wrap: wrap;
    max-width: 95%;
    justify-content: flex-start; 
    gap: 10px; 
}
.tags-box-title {
    font-weight: bold;
    text-align: left;
    margin: 10px 0px;
    color: var(--dark-gray-font-color);
}
/* ----------------------------------------- #Buttons ----------------------------------------- */
.details-button {
    position: absolute;
    width: clamp(30px,5vmin,50px);
    aspect-ratio: 1 / 1;
    height: auto;
    display: none;
    z-index: 2000;
    background-size: contain;
    background-repeat: no-repeat;
    top: calc(var(--toolbar-height) + 1vw);
    cursor: pointer;
}
.details-view .details-button,
.kanban-details-view .details-button {
    display: block;
}
.back-button {
    left: 1.5vw;
    background-image: url('./icons/back-to-up.png');
}
.previous-button {
    left: calc(var(--details-buttons-size) + 1.5vw + 5px);
    background-image: url('./icons/previous-button.png');

}
.next-button {
    left: calc(var(--details-buttons-size) * 2 + 1.5vw + 10px);
    background-image: url('./icons/next-button.png');
}
.back-button:hover {
    scale: 1.2;
    background-image: url('./icons/back-to-up-hover.png');
}
.previous-button:hover {
    scale: 1.2;
    background-image: url('./icons/previous-button-hover.png');
}
.next-button:hover {
    scale: 1.2;
    background-image: url('./icons/next-button-hover.png');
}
.details-view #addBubbleButton,
.kanban-details-view #addBubbleButton {
    background-color: #FFE86D;
    color: black;
    scale:0.8;
    border-radius: 10%;
}
/* ----------------------------------------- #View_Change_Handling ----------------------------------------- */
/* ----------------------------------------- #View_Change_Handling ----------------------------------------- */
/* ----------------------------------------- #View_Change_Handling ----------------------------------------- */
body.bubbles-view .details-button,
body.details-view #bubble-container,
body.bubbles-view #details-container,
body.bubbles-view .sticky-note {
    display: none;
}
body.details-view #details-container {
    display: flex;
}
body.bubbles-view #bubble-container {
    display: block;
}
