/* /assets/apps/workspace/css/page/page-new-ui.css */

::view-transition-old(root),
::view-transition-new(root)
{
    animation-duration: var(--howspace-animation-700);
}

.page .container-space .container-buttons {
    white-space: nowrap;
    position: relative;
    z-index: 1;
}

.page .container-space .container-buttons .btn,
.page .row-space .btn
{
    padding: .375rem .75rem;
}

.container:has(.widget) .delete-empty-container-btn,
.container:has(.column ~ .column) .delete-empty-container-btn
{
    display: none;
}

.container:has(.widget) .container-use-btn,
.container:has(.column ~ .column) .container-use-btn
{
    display: none;
}

.container:not(:has(.column ~ .column), :has(.widget)) .delete-empty-column-btn,
.column:has(.widget) .delete-empty-column-btn {
    display: none;
}

.page .widget-space {
    height: var(--howspace-size-3);
}

.page-container {
    padding: var(--howspace-size-2) var(--howspace-size-3);
}

body.edit-page .page-container {
    padding-bottom: 0;
    padding-top: 0;
}

body.view-page .page-container:nth-child(1 of :not(.no-widgets, .placeholder, .is-hidden, .d-none)) {
    padding-top: var(--howspace-size-3);
}

.page-container.placeholder:empty {
    display: none;
}

.page-container:is(:last-child) .link-containers-btn {
    display: none;
}

.page-container .container-badges {
    display: none;
    position: absolute;
    right: 1.5rem;
    top: 0;
    transform: translateY(-50%);
    z-index: 1;
}

.page-container .container-badges .badge {
    border: 1px solid rgba(0,0,0,.2);
    font-weight: 400;
    padding: .25rem .5rem;
}

.page-container:not(.is-hidden) .hidden-badge {
    display: none;
}

.page-container:not(.is-scheduled) :is(.scheduled-tooltip, .scheduled-badge) {
    display: none;
}

.page-container .page-container-content {
    padding: 0;
}

.page-container.is-hidden .page-container-content .widget[data-widget-mode="view"] > *:not(.position-absolute) {
    opacity: .6;
}

.page-container.is-hidden .hide-container-btn {
    display: none;
}

.page-container:not(.is-hidden) .show-container-btn {
    display: none;
}

.page-container.is-full-width .change-container-full-width-btn {
    display: none;
}

.page-container:not(.is-full-width) .change-container-normal-width-btn {
    display: none;
}

.page-container .container-admin-only-wrapper {
    display: grid;
    border: 2px dashed var(--howspace-color-black-25);
    border-radius: var(--howspace-border-radius-2);
    margin: 0 .5rem;
}

.page-container .container-admin-only-wrapper > .btn {
    justify-self: center;
    margin: .5rem 0;
    padding: .375rem 1rem .375rem .75rem;
    gap: .25rem;
}

.page-container .container-admin-only-wrapper > .collapse {
    margin-bottom: .5rem;
}

.page-container .move-btn {
    background-color: var(--howspace-color-white);
    border-radius: var(--howspace-border-radius-3);
    height: 2rem;
    left: 0;
    padding: 0;
    position: absolute;
    top: 0;
    transform: translateX(-50%) translateY(-50%);
    width: 2rem;
    z-index: 1;
    opacity: 0;
}

.page-container .move-widget-btn {
    transition: opacity var(--howspace-animation-350) ease-in-out;
}

body:not(.closing-edit-page) .page-container .move-btn {
    display: none;
}

.page-container .container-actions-dropdown {
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(50%) translateY(-50%);
}

.page-container .container-actions-dropdown > .btn {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: var(--howspace-color-white);
}

.page-container .container-actions-dropdown .howspace-menu .btn.selected .btn-text::after {
    content: " (" attr(data-selected-suffix) ")";
}

.page-container .row-space {
    padding: var(--howspace-size-2) 0;
}

.page-container .row .column-space {
    align-self: stretch;
    align-items: center;
    flex-shrink: 0;
    padding: 0 var(--howspace-size-2);
    z-index: 11;
}

.page-container .row .column-space:is(:first-child, :last-child) {
    padding: 0;
}

.page-container .row .column-space-buttons {
    position: sticky;
    top: calc(var(--top-height) + 1rem);
    bottom: 1rem;
}

.page-container .collapse.velocity-animating .row .column-space-buttons {
    /* Use static position for the duration of the collapse animation to mitigate buttons jumping around. */
    position: static;
}

.page-container .row .column-space-buttons .btn {
    padding: 0;
    height: 2rem;
    width: 2rem;
}

/* Touch action none prevents mobile page scrolling (and other native mobile touch actions such as pinch zoom). */
.page-container .row .column-space-buttons .drag-column-btn,
.page-container .move-btn
{
    touch-action: none;
}

/* Hide drag buttons from the first and last columns (show only in between columns). */
.page-container .row .column-space:first-child .drag-column-btn,
.page-container .row .column-space:last-child .drag-column-btn
{
    display: none;
}

.page-container .column-buttons {
    white-space: nowrap;
}

.page-container .column-buttons:first-child:last-child {
    margin-top: var(--howspace-size-3);
}

/* View page. */
body.view-page:not(.closing-edit-page) .page-container.is-hidden {
    display: none;
}

body.view-page:not(.closing-edit-page) .page-container.no-widgets {
    display: none;
}

body.view-page:not(.closing-edit-page) .page-container.no-widgets + .container-space {
    display: none;
}

body.view-page:not(.closing-edit-page) .page-container .container-actions-dropdown {
    display: none;
}

body.view-page:not(.closing-edit-page) .page .container-buttons .btn {
    display: none;
}

body.view-page:not(.closing-edit-page) .page-container .row-space .btn {
    display: none;
}

body.view-page:not(.closing-edit-page) .page-container .row .column-space-buttons .btn {
    display: none;
}

body.view-page:not(.closing-edit-page) .page-container .column-buttons {
    display: none;
}

/* Hide the first, last and just before column buttons widget spaces. */
body.view-page:not(.closing-edit-page) .page-container .widget-space:first-child,
body.view-page:not(.closing-edit-page) .page-container .widget-space:last-child,
body.view-page:not(.closing-edit-page) .page-container .widget-space:has(+ .column-buttons)
{
    display: none;
}

/* Edit page. */
body.edit-page .page-container-content {
    background-color: var(--howspace-color-container-background);
    border-radius: var(--howspace-border-radius-3);
    padding: var(--howspace-size-3) 0;
}

body.edit-page .page-container .container-admin-only-wrapper {
    margin: 0;
}

body.edit-page .page-container.is-admin-only .page-container-content {
    padding: var(--howspace-size-2);
}

body.edit-page .page-container .container-badges {
    display: block;
}

body.edit-page .page-container .row .column-space {
    padding: 0;
}

body.edit-page .page-container .widget-space {
    height: 1.5rem;
}

body.edit-page .widget:not(.mx-auto) {
    margin-left: .25rem;
    margin-right: .25rem;
}

body.edit-page .page-container .move-btn {
    display: inline-flex;
}

body.edit-page .page-container .move-container-btn,
body.edit-page .widget.dragging .move-widget-btn
{
    opacity: 1;
}

html.has-touch body.edit-page:not(.closing-edit-page) .page-container .move-widget-btn {
    opacity: 1;
}

html:not(.has-touch) body.edit-page:not(.dragging) .widget:hover .move-widget-btn,
html:not(.has-touch) body.edit-page:not(.dragging) .widget .move-widget-btn:focus-visible
{
    opacity: 1;
}

body:is(.edit-page, .closing-edit-page) .page .container-space::before {
    content: "";
    position: absolute;
    top: calc(50% - .1875rem);
    height: .375rem;
    width: 100%;
    border-radius: .375rem;
    background-color: var(--howspace-color-container-background);
}

body.edit-page .page .container-space:first-child {
    padding-bottom: var(--howspace-size-2);
    padding-top: var(--howspace-size-2);
}

body.edit-page .page .container-space:first-child:has(:hover, :focus-visible) {
    z-index: 1;
}

body.edit-page .page-container-content .column {
    background-color: var(--howspace-color-column-background);
    border-radius: var(--howspace-border-radius-3);
    padding-bottom: var(--howspace-size-3);
}

#page-trash-can .widget-title .icon {
    color: var(--howspace-color-widget-title);
}

#page-trash-can .trash-can-info,
#page-trash-can .empty-trash-can-info
{
    color: var(--howspace-color-black-75);
    padding: var(--howspace-size-2) var(--howspace-size-3);
}

.pages-modal .nav-item {
    display: block;
    text-align: left;
    width: fit-content;
}

/* Drag and drop. */
.dropzone {
    background-color: transparent;
    border-color: transparent;
    border-radius: var(--howspace-border-radius-3);
    transition:
        background-color var(--howspace-animation-200) ease-in-out,
        border-color var(--howspace-animation-200) ease-in-out;
}

body.edit-page .dropzone {
    border: 2px dashed transparent;
}

body.edit-page .page .dropzone.container-space {
    padding: .25rem 0;
}

body.edit-page .dropzone.column-space {
    margin-left: .25rem;
    margin-right: .25rem;
    margin-top: .25rem;
}

body.edit-page .dropzone.widget-space {
    margin: .25rem;
}

body.edit-page.dragging .dropzone:not(.disabled) {
    background-color: var(--howspace-color-white);
    border-color: rgba(0,0,0,.2);
}

body.edit-page.dragging .dropzone:not(.disabled) > * {
    opacity: 0;
    pointer-events: none;
}

body.edit-page.dragging .container-space.dropzone:not(.disabled)::before {
    opacity: 0;
}

body.edit-page.dragging .dropzone.active {
    background-color: var(--howspace-color-primary);
}

body.edit-page.dragging .widget.dragging {
    pointer-events: none;
}

body.edit-page.dragging .page-container.dragging .page-container-content > *:not(.position-absolute),
body.edit-page.dragging .widget.dragging > *:not(.position-absolute)
{
    opacity: .6;
}

body.edit-page .page-container-clone,
body.edit-page .widget-clone
{
    background-color: var(--howspace-color-white);
    border-radius: 1rem;
    box-shadow: 0 0 .5rem .125rem rgba(0,0,0,.2);
    pointer-events: none;
    position: fixed;
    transform: translateX(-1rem) translateY(-1rem);
    width: 2rem;
    height: 2rem;
    z-index: 20;
}

/* Show add widget menu in columns */
body.edit-page .howspace-menu.widgets-menu .menu-items {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 1rem;
}

body.edit-page .howspace-menu.widgets-menu .menu-items > div {
    flex-grow: 1;
}

/* Mobile UI styles. */
@container (max-width: 768px) {
    .page-container .row {
        flex-direction: column;
    }

    .page-container .row .column {
        /* Column width is using inline styles. We need !important to override width to 100% for mobile. */
        width: 100% !important;
    }

    .page-container .row .column-space {
        padding: var(--howspace-size-2) 0;
    }

    .page-container .row .column-space:is(:first-child, :last-child) {
        padding: 0;
    }

    .page-container .row .column-space-buttons .btn {
        display: none;
    }
}

@container (max-width: 600px) {
    body.edit-page .howspace-menu.widgets-menu .menu-items {
        display: block;
    }
}

.build-info {
    color: var(--howspace-color-black-55);
}

.exam-results-modal .howspace-lister .howspace-lister-items {
    box-shadow: none;
}


/* /assets/apps/workspace/css/page/path-mode-new-ui.css */

.page-path-navigator {
    --live-top-height: 0px;
}

#main.live-popout-top .page-path-navigator {
    --live-top-height: var(--live-popout-height);
}

.page-path-navigator .page-path-navigator-content {
    border-radius: 1.75rem;
}

.page-path-navigator .page-path-navigator-content .page-path-navigator-buttons {
    grid-template-columns: 1fr auto 1fr;
    min-height: 3.5rem;
}

.page-path-navigator .page-path-step-description-toggle-btn {
    left: .5rem;
    padding: .75rem;
}

.page-path-navigator.no-description .page-path-step-description-toggle-btn {
    display: none;
}

.page-path-navigator .path-step-description {
    border-top: 1px solid var(--howspace-color-black-15);
    margin: .25rem 1rem 0 1rem;
    padding: .5rem 0 1rem 0;
}

.facilitated-path-navigator .buttons-left {
    left: .5rem;
}

.facilitated-path-navigator .buttons-right {
    right: .75rem;
}

.facilitated-path-navigator .users-writing-info {
    display: flex;
    gap: .5rem;
    border-radius: 10rem;
    padding: .75rem .5rem;
    width: fit-content;
}

.facilitated-path-navigator .users-writing-info[data-users-writing-count="0"] {
    display: none;
}

.facilitated-path-navigator .users-writing-info::after {
    content: attr(data-users-writing-count);
}

.pinned-containers {
    padding-top: .5rem;
}

body.edit-page .page-path-navigator {
    display: none;
}

#path-mode-settings-dropdown-menu .btn:is(.disabled, [disabled]) {
    opacity: .7;
}

#path-mode-settings-dropdown-menu .btn.selected .btn-text::after,
#top .page-dropdown .btn.selected .btn-text::after
{
    content: " (" attr(data-selected-suffix) ")";
}

.participant-path-progress-modal .path-container:not(:first-child) {
    border-top: 1px solid var(--howspace-color-black-15);
    margin-top: 1rem;
    padding-top: 1rem;
}

.participant-path-progress-modal .path-container-header {
    font-size: 1rem;
    font-weight: 400;
    margin-top: 0;
}

.participant-path-progress-modal .howspace-lister-items {
    box-shadow: none;
}

.participant-path-progress-modal .howspace-lister-items .howspace-lister-cards {
    padding: 0;
}

.participant-path-progress-modal .howspace-lister-items .howspace-lister-no-items {
    padding: 0;
}

.page-path-navigator .page-path-navigator-toggle-btn[data-toggle="dropdown"] {
    border-radius: 10rem;
    padding: .6875rem 1rem;
}

.page-path-navigator .page-path-navigator-toggle-btn .btn-text::before,
.page-path-navigator .path-navigator-btn .btn-text::before
{
    content: attr(data-step-number) ": ";
}

.page-path-navigator .path-navigator-previous-btn,
.page-path-navigator .path-navigator-next-btn
{
    padding: .6875rem;
}

.page-path-navigator .path-completed-info {
    border-radius: 10rem;
    box-shadow: 0 0 0 0 var(--howspace-color-success);
    padding: .5rem 1rem;
    transition: box-shadow ease-out 1.2s;
}

.page-path-navigator .path-completed-info.highlight {
    box-shadow: 0 0 0 .75rem transparent;
}

@media (prefers-reduced-motion: reduce) {
    .page-path-navigator .path-completed-info {
        transition: none;
    }
}

.facilitated-path-navigator {
    position: sticky;
    top: calc(var(--top-height) + var(--live-top-height) + 1rem);
    z-index: 100;
}

.facilitated-path-navigator .page-path-navigator-content {
    background-color: var(--howspace-color-facilitated-path-navigator-bg);
}

body.edit-page .pinned-containers {
    background-color: var(--howspace-color-path-step-background);
    backdrop-filter: blur(24px);
    border: 3px solid var(--howspace-color-black-5);
    border-radius: var(--howspace-border-radius-3);
    margin: 2rem auto 0 auto;
    padding: 0 var(--howspace-size-1);
    position: relative;
    max-width: 1200px;
}

body.edit-page .pinned-containers:has(.page-container) {
    padding-top: 1.5rem;
}

body.edit-page .pinned-containers .pinned-containers-empty-space {
    padding: var(--howspace-size-2) var(--howspace-size-3);
}

body.edit-page .pinned-containers:has(.page-container) .pinned-containers-empty-space {
    display: none;
}

body.edit-page .pinned-containers:has(.page-container-content.narrow-width) {
    max-width: 800px;
}

body.edit-page .pinned-containers:has(.page-container-content.normal-width) {
    max-width: 1200px;
}

body.edit-page .pinned-containers:has(.page-container-content.full-width) {
    max-width: none;
}

.pinned-containers-title {
    display: none;
}

body.edit-page .pinned-containers-title {
    display: block;
    padding: .5rem 1rem;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 10;
}

body.edit-page .page.path-mode .dropzone.container-space {
    margin: .5rem auto;
    padding: .5rem 0;
}

body.edit-page .page.path-mode .page-container.path-container {
    --path-container-outline-color: var(--howspace-color-black-5);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

body.edit-page .page.path-mode .page-container.path-container.active {
    --path-container-outline-color: var(--howspace-color-primary);
}

body.edit-page .page.path-mode .page-container.path-container .page-container-content {
    box-shadow: 0 0 0 .5rem var(--howspace-color-path-step-background);
    outline: 3px solid var(--path-container-outline-color);
    outline-offset: .5rem;
    padding-top: 1.5rem;
}

body.edit-page .page.path-mode .page-container.path-container .dropzone.container-space {
    margin-top: 1.5rem;
}

.page.path-mode .container-title-wrapper {
    display: none;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateY(calc(-50% - .5rem)) translateX(-50%);
    z-index: 10;
}

body.edit-page .page.path-mode .page-container.path-container .container-title-wrapper {
    display: flex;
    align-items: center;
    gap: .25rem;
    background-color: var(--howspace-color-white);
    border: 3px solid var(--howspace-color-black-5);
    border-radius: 10rem;
    padding: .25rem .25rem .25rem 1rem;
}

body.edit-page .page.path-mode .page-container.active .container-title-wrapper {
    border-color: var(--howspace-color-primary);
}

body.edit-page .page.path-mode .page-container.path-container .container-title:empty::before {
    content: attr(data-default-title) attr(data-container-number);
}

body.edit-page .page.path-mode .page-container.path-container .edit-path-step-btn {
    margin-left: .5rem;
    padding: .375rem 1rem;
}

/* Widget is mandatory footer. */
.widget-path-mode-footer {
    background-color: rgba(0,0,0,.05);
    box-shadow: inset 0 8px 8px -8px rgba(0,0,0,.2);
    border-bottom-left-radius: var(--howspace-border-radius-3);
    border-bottom-right-radius: var(--howspace-border-radius-3);
}

.widget-path-mode-footer .is-mandatory-in-path-mode-checkbox-label,
.widget-path-mode-footer .mandatory-widget-info
{
    padding: .75rem 1rem;
}

.widget-path-mode-footer .is-mandatory-in-path-mode-checkbox-label {
    border-radius: 0 0 var(--howspace-border-radius-3) var(--howspace-border-radius-3);
}

.widget-path-mode-footer .is-mandatory-in-path-mode-checkbox-label:hover {
    background-color: rgba(0,0,0,.05);
}

body.view-page .widget-path-mode-footer .is-mandatory-in-path-mode-checkbox-label {
    display: none;
}

body.edit-page .widget-path-mode-footer .mandatory-widget-info,
.widget[data-user-has-interacted="true"] .widget-path-mode-footer .mandatory-widget-info,
.widget .widget-path-mode-footer:not(.is-mandatory) .mandatory-widget-info
{
    display: none;
}

.widget-path-mode-footer .mandatory-widget-info > i {
    color: var(--howspace-btn-primary-text-color);
}

.widget-path-mode-footer.is-mandatory {
    background-color: var(--howspace-btn-primary-background-color);
    color: var(--howspace-btn-primary-text-color);
}

.self-directed-path-navigator:not(.showing-full-page) .page-path-navigator-show-path-btn {
    display: none;
}

.self-directed-path-navigator.showing-full-page .path-navigator-previous-btn,
.self-directed-path-navigator.showing-full-page .path-navigator-next-btn,
.self-directed-path-navigator.showing-full-page .buttons-right .page-path-navigator-show-full-page-btn,
.self-directed-path-navigator.showing-full-page .page-path-navigator-ready-btn
{
    display: none;
}

.self-directed-path-navigator.showing-full-page .page-path-navigator-toggle-btn .btn-text::before {
    content: "";
}


/* /assets/apps/workspace/css/workspace-new-ui.css */

:root {
    --sidebar-width: 360px;
}

body {
    background: var(--howspace-background);
    background-color: var(--howspace-background-color);
    background-size: cover;
}

body.ms-teams .widget-live,
body.ms-teams .add-widget-btn[data-widget-type="live"] {
    display: none;
}

#grid-layout {
    display: grid;
    grid-template-rows: auto auto 1fr;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
        "top            top             top"
        "notifications  notifications   notifications"
        "left           main            right";
    min-height: 100vh;
    min-height: 100dvh;
}

.left-sidebar {
    grid-area: left;
    background: white;
    width: var(--sidebar-width);
    height: calc(100vh - var(--top-height));
    top: var(--top-height);
    position: sticky;
    overflow-x: hidden;
    overflow-y: auto;
    margin-left: 0;
}


.left-sidebar.collapsing, .left-sidebar.expanding {
    /* Minor elastic:  cubic-bezier(.66,.56,.07,1.87); */
    /* Bigger elastic: cubic-bezier(0.34, 1.56, 0.64, 1); */
    transition: margin var(--howspace-animation-350) ease-in-out;
    transform-origin: center left;
}

.left-sidebar.collapsing, .left-sidebar.collapsed {
    padding-left: 0;
    padding-right: 0;
    margin-left: calc(-1 * var(--sidebar-width));
}

.left-sidebar.collapsed {
    visibility: hidden;
}

/* Add a spinner on top of blurred "howspace-picture" images to clarify that the crisp image is being loaded. */
@keyframes rotate {
    to {
        transform: rotate(360deg);
    }
}


.left-sidebar::after {
    opacity: 0;
}

.left-sidebar.loading::after
{
    content: '';
    box-sizing: border-box;
    position: absolute;
    top: calc(50% - 3rem);
    left: calc(50% - 3rem);
    width: 6rem;
    aspect-ratio: 1;
    border-radius: 50%;
    border: clamp(.125rem, 3cqw, .5rem) solid var(--howspace-color-violet-50);
    border-top-color: transparent;
    animation: rotate .6s linear infinite;
    opacity: 1;
    transition: opacity 200ms linear;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .left-sidebar.loading::after,
    .left-sidebar.loaded::after
    {
        animation-duration: 5s;
    }
}

/* if under 600 px */
@media (max-width: 600px) {
    .left-sidebar {
        width: 100vw;
        height: calc(100vh - var(--top-height));
        z-index: 1;
        position: fixed;
    }
    .left-sidebar.collapsed, .left-sidebar.collapsing {
        margin-left: -100vw;
    }
    .sidebar-expanded #main {
        position: fixed;
    }
}

#main {
    grid-area: main;
    padding-bottom: 40px;
}

:where(#main .page-container > .layout-container) {
    margin-left: auto;
    margin-right: auto;
}

.shoutbox-modal .alert {
    line-height: 1.5;
}

.shoutbox-modal .alert em {
    font-style: italic;
}

.shoutbox-modal .alert p,
.shoutbox-modal .alert ul,
.shoutbox-modal .alert ol {
    margin: 0.5rem 0 0 0;
}

.fullscreen-viewer-modal-image .howspace-picture {
    height: 100%;
    max-width: none !important; /* In full screen we override the max-width inline style */
}

.fullscreen-viewer-modal-image .howspace-picture .howspace-image {
    max-width: 100%;
    max-height: calc(100% - 2rem);
    width: auto;
    height: auto;
    object-fit: contain;
}

.create-page-template-modal .poster-image-wrapper,
.create-page-template-modal .name-wrapper {
    display: none;
}

.select-page-template-modal .new-template-dropdown,
.select-page-template-modal .card-actions-dropdown {
    display: none;
}

/* Undo .card .card styles */
.select-page-template-modal .card .card.page-template-card {
    --card-padding: clamp(1rem, 2.25vw, 2rem);
    --z-index: 0;
    border: unset;
    border-radius: var(--howspace-border-radius-3);
    box-shadow: var(--howspace-box-shadow);
    z-index: var(--z-index);
    background: var(--howspace-color-widget-bg);
}

.select-page-template-modal .page-template-card .workspace-cover-picture img {
    aspect-ratio: 2240 / 1344 !important; /* force pictures to Template Gallery recommended ratio so the cards are roughly the same size */
    object-fit: cover;
}

.select-page-template-modal .page-template-card .card-content.has-padding {
    padding: 0.5rem;
}

.select-page-template-modal .page-template-card .card-content .page-template-card-content {
    height: 100%;
    grid-template-rows: auto 1fr;
}

.select-page-template-modal .page-template-card-content .badge {
    border: 1px solid var(--howspace-color-primary);
    background-color: var(--howspace-btn-primary-text-color);
    color: var(--howspace-color-primary);
    cursor: pointer;
    user-select: none;
}

.select-page-template-modal .page-template-card-content .title {
    font-weight: 500;
    font-size: 1.125rem;
}

.select-page-template-modal .modal-body {
    padding-left: 0;
    padding-right: 0;
}

/* Undo .card .card styles */
.select-workspace-template-modal .card .card.workspace-template-card {
    --card-padding: clamp(1rem, 2.25vw, 2rem);
    --z-index: 0;
    border: unset;
    border-radius: var(--howspace-border-radius-3);
    box-shadow: var(--howspace-box-shadow);
    z-index: var(--z-index);
    background: var(--howspace-color-widget-bg);
}

.select-workspace-template-modal .workspace-template-card .workspace-cover-picture img {
    aspect-ratio: 2240 / 1344 !important; /* force pictures to Template Gallery recommended ratio so the cards are roughly the same size */
    object-fit: cover;
}

.select-workspace-template-modal .workspace-template-card .card-actions-dropdown {
    display: none;
}

.select-workspace-template-modal .workspace-template-card .card-content.has-padding {
    padding: 0.5rem;
}

.select-workspace-template-modal .workspace-template-card .card-content .workspace-template-card-content {
    height: 100%;
    grid-template-rows: auto 1fr;
}

.select-workspace-template-modal .workspace-template-card-content .badge {
    border: 1px solid var(--howspace-color-primary);
    background-color: var(--howspace-btn-primary-text-color);
    color: var(--howspace-color-primary);
    cursor: pointer;
    user-select: none;
}

.select-workspace-template-modal .workspace-template-card-content .title {
    font-weight: 500;
    font-size: 1.125rem;
}

.select-workspace-template-modal .modal-body {
    padding-left: 0;
    padding-right: 0;
}


/* /assets/apps/workspace/css/workspace/mobile-menu-new-ui.css */

#mobile-menu {
    background-color: var(--howspace-color-navbar-background);
}

#mobile-menu .nav-item {
    color: var(--howspace-color-navbar-text);
    display: block;
    width: 100%;
    text-align: left;
    border-radius: 0;
    position: relative;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#mobile-menu .icon {
    color: var(--howspace-color-navbar-text);
}

#mobile-menu .nav-item:hover {
    background-color: var(--howspace-color-navbar-background);
}

#mobile-menu .nav-item.active,
#mobile-menu .nav-item:focus {
    background-color: var(--howspace-color-navbar-background-hover);
}

#mobile-menu .nav-item.active:before {
    content: '';
    position: absolute;
    width: 0.375rem;
    left: -0.1875rem;
    top: 0;
    bottom: 0;
    background: var(--howspace-color-navbar-text);
}

#mobile-menu .nav-item:hover:before {
    content: '';
    position: absolute;
    width: 0.375rem;
    left: -0.1875rem;
    top: 0;
    bottom: 0;
    background: var(--howspace-color-navbar-background-hover);
}

#mobile-menu .folder-collapse .nav-item {
    padding-left: 2.375rem;
}

#mobile-menu .folder-collapse .folder-collapse .nav-item {
    padding-left: 3.625rem;
}

#mobile-menu .folder-collapse .folder-collapse .folder-collapse .nav-item {
    padding-left: 4.875rem;
}

#mobile-menu .folder-collapse .folder-collapse .folder-collapse .folder-collapse .nav-item {
    padding-left: 6.125rem
}

#mobile-menu .folder-collapse .folder-collapse .folder-collapse .folder-collapse .folder-collapse .nav-item {
    padding-left: 7.375rem;
}



/* /assets/apps/workspace/css/workspace/my-progress-new-ui.css */

/* Header */

#my-progress-header {
    margin: 0.5rem 0;
}

#my-progress-header .activity {
    flex: 1;
}

#my-progress-header .activity .badge,
#my-progress-header .activity .howspace-time-tooltip {
    width: 100%;
}

#my-progress-header .badge.passed {
    background-color: var(--howspace-color-success);
    min-width: 1.5rem;
}

#my-progress-header .badge.failed,
#my-progress-header .badge.inactive {
    background-color: var(--howspace-color-black-25);
    min-width: 1.5rem;
}

#my-progress-header .badge.next {
    border: solid 1px var(--howspace-color-success);
    background-color: var(--howspace-color-white);
    min-width: 1.5rem;
    padding: .175rem;
}

/* Sidebar */

#my-progress a:not(.btn) {
    text-decoration: none;
    color: inherit;
}

#my-progress .activity-item {
    padding: 1.25rem;
    margin: .5rem;
    border-radius: var(--howspace-border-radius-3);
}

#my-progress .activity-item .icon {
    background-color: inherit;
    color: inherit;
}

#my-progress .activity-item .title {
    font-weight: 500;
}

#my-progress .activity-item .info {
    font-size: 0.875rem;
}

#my-progress .activity-item.passed {
    background-color: var(--howspace-color-success);
    color: var(--howspace-color-white);
}

#my-progress .activity-item.failed {
    background-color: var(--howspace-color-black-15);
}

#my-progress .activity-item.inactive {
    color: var(--howspace-color-black-55);
    border: solid 2px var(--howspace-color-black-55);
}

#my-progress .activity-item.next {
    border: solid 2px var(--howspace-color-success);
    background-color: var(--howspace-color-white);
}

#my-progress .activity-item.evaluation {
    border: dashed 2px var(--howspace-color-black-25);
    background-color: var(--howspace-color-white);
}


/* /assets/apps/workspace/css/workspace/notifications-new-ui.css */

#notifications {
    display: flex;
    grid-area: notifications;
    height: 0;
    justify-content: center;
    position: sticky;
    top: var(--top-height);
    transition: top 0.3s;
    z-index: 100;
}


/* /assets/apps/workspace/css/workspace/page-settings-menu-new-ui.css */

body:has(.page.landing-page) .page-buttons .page-dropdown .hide-on-landing-page {
    display: none;
}


/* /assets/apps/workspace/css/workspace/top-new-ui.css */

:root {
    --top-first-row-height: 3rem;
    --top-second-row-height: 2.25rem;
    --top-height: calc(var(--top-first-row-height) + var(--top-second-row-height));
    --scroll-margin: 2rem;
    --howspace-color-navbar-background-hover: color-mix(in oklab, var(--howspace-color-navbar-text), transparent 88%);
}

#main * {
    scroll-margin-top: calc(var(--top-height) + var(--scroll-margin));
    scroll-margin-bottom: var(--scroll-margin);
}

#top {
    grid-area: top;
    display: grid;
    align-items: center;
    background: var(--howspace-color-navbar-background);
    position: sticky;
    top: 0;
    z-index: 20;
    transition: top 0.3s; /* Transition effect when sliding down (and up) */
}

#top .top-main {
    display: flex;
    align-items: center;
    box-shadow: var(--howspace-navbar-box-shadow);
    font-family: var(--howspace-navbar-font-family);
}

#top .logo-wrapper {
    flex-shrink: 1;
    padding-left: 1.25rem;
    padding-right: 1rem;
    display: var(--howspace-logo-display);
}

#top .logo-wrapper > a > img {
    max-height: var(--howspace-logo-max-height);
}

#top .logo-wrapper .logo-btn {
    border-radius: var(--howspace-border-radius-2);
    padding: .25rem;
}

#top .logo-wrapper .logo-btn:hover,
#top .logo-wrapper .logo-btn:focus
{
    background-color: transparent;
}

#top .logo-wrapper .icon.logo {
    border-radius: .5rem;
}

body.ms-teams #top .logo-wrapper {
    display: none;
}

#top .top-menu-wrapper {
    height: var(--top-first-row-height);
    flex-grow: 1;
    display: flex;
}

#top .top-menu {
    display: flex;
    flex-grow: 1;
    height: var(--top-first-row-height);
    flex-wrap: wrap;
    overflow: hidden;
    white-space: nowrap;
}

#top .top-menu.d-none {
    display: none;
}

#top .burger-menu {
    margin-left: auto;
    height: var(--top-first-row-height);
    display: flex;
    align-items: center;
}

#top .burger-menu.d-none {
    display: none;
}

#top .top-menu > .nav-item {
    position: relative;
    text-decoration: none;
    display: flex;
    flex-shrink: 0;
    color: var(--howspace-color-navbar-text);
    height: var(--top-first-row-height);
}

#top .top-menu > .nav-item.d-none {
    display: none;
}

#top .top-menu > .nav-item.page,
#top .top-menu > .nav-item.folder > .btn
{
    padding: 0 1rem;
    border-radius: var(--howspace-border-radius-2);
}

#top .top-menu > .nav-item.page.active,
#top .top-menu > .nav-item.page:focus,
#top .top-menu > .nav-item.page:hover,
#top .top-menu > .nav-item.folder.active > .btn,
#top .top-menu > .nav-item.folder > .btn:focus,
#top .top-menu > .nav-item.folder > .btn:hover
{
    background-color: transparent;
}

#top .top-menu > .nav-item.page {
    align-items: center;
}

#top .top-menu > .nav-item.folder {
    align-items: stretch;
}

#top .top-menu > .nav-item::before {
    content: '';
    position: absolute;
    height: .375rem;
    top: -.1875rem;
    left: 0;
    right: 0;
}

#top .top-menu > .nav-item.page:focus-visible::before,
#top .top-menu > .nav-item:hover::before
{
    background-color: var(--howspace-color-navbar-background-hover);
}

/* Separate selector for :has() as long as Firefox doesn't support it. */
#top .top-menu > .nav-item.folder:has(:focus-visible)::before {
    background-color: var(--howspace-color-navbar-background-hover);
}

#top .top-menu > .nav-item.active::before {
    background-color: var(--howspace-color-navbar-text);
}

#top .top-menu .nav-item .icon {
    height: .75em;
    width: .75em;
    color: var(--howspace-color-navbar-text);
}

#top .howspace-menu .nav-item {
    padding-left: 1rem;
    padding-right: 1rem;
}

#top .top-buttons {
    display: flex;
    gap: .2rem;
    padding-right: 1rem;
    align-items: flex-end;
}


#top .top-menu .btn,
#top .burger-menu .btn,
#top .top-buttons .btn:not(.upgrade-freemium-btn)
{
    color: var(--howspace-color-navbar-text);
}

#top .top-menu .btn:is(.disabled, [disabled]),
#top .burger-menu .btn:is(.disabled, [disabled]),
#top .top-buttons .btn:is(.disabled, [disabled]):not(.upgrade-freemium-btn)
{
    opacity: .7;
}

#top :where(.btn.btn-tertiary:not(.disabled, [disabled]):hover),
#top :where(.btn.btn-tertiary:not(.disabled, [disabled]):focus),
#top :where(.btn.btn-tertiary.active:not(.disabled, [disabled])) {
    background-color: var(--howspace-color-navbar-background-hover);
}

#top .top-buttons > .btn:not(.upgrade-freemium-btn) {
    border-radius: var(--howspace-border-radius-2);
    padding: var(--howspace-size-1) var(--howspace-size-2);
}

#top .top-buttons > .upgrade-freemium-btn,
#top .top-menu-wrapper > .upgrade-freemium-btn
{
    align-self: center;
    padding: .4375rem 1.25rem;
}

@media (max-width: 599px) {
    #top .top-buttons > .upgrade-freemium-btn,
    #top .top-menu-wrapper > .upgrade-freemium-btn
    {
        display: none;
    }
}

#top .top-footer {
    height: var(--top-second-row-height);
    font-size: 0.875rem;
    padding: 0.3rem 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: .5rem;
}

#top .top-footer .breadcrumb {
    color: var(--howspace-color-navbar-text);
    padding-left: 1.25rem;
    overflow: hidden;
    white-space: nowrap;
}

#top .top-footer .breadcrumb .icon {
    color: currentColor;
    min-width: .875em;
}

#top .top-footer .breadcrumb .page-title {
    overflow: hidden;
    text-overflow: ellipsis;
}

body.view-page #top .top-footer .page-buttons .view-page-btn {
    display: none;
}

body.edit-page #top .top-footer .page-buttons .edit-page-btn {
    display: none;
}

#top .top-footer .page-buttons .dropdown .edit-page-btn,
#top .top-footer .page-buttons .dropdown .view-page-btn
{
    display: none;
}

@media (max-width: 599px) {
    #top .top-footer .page-buttons > .btn:not(.page-limited-access-btn, .page-read-only-btn, .page-is-hidden-btn),
    #top #path-mode-settings-dropdown
    {
        display: none;
    }

    #top .top-footer .page-buttons > .btn:is(.page-limited-access-btn, .page-read-only-btn, .page-is-hidden-btn) .btn-text {
        display: none;
    }

    body.view-page #top .top-footer .page-buttons .dropdown .edit-page-btn {
        display: inline-flex;
    }

    body.edit-page #top .top-footer .page-buttons .dropdown .view-page-btn {
        display: inline-flex;
    }
}

@media (min-width: 600px) {
    #top .page-dropdown .path-related {
        display: none;
    }
}

#top .top-footer .page-buttons > .btn,
#top .top-footer .participant-buttons > .btn {
    padding: .25rem .75rem;
}

#top .howspace-menu,
#top .howspace-menu .menu-items,
#top .howspace-menu > .arrow,
#top .howspace-menu > .arrow-shadow
{
    background-color: var(--howspace-color-navbar-background);
    color: var(--howspace-color-navbar-text);
}

#top .dropdown[data-vertical="bottom"] [role="menu"]::after {
    border-color: transparent transparent var(--howspace-color-navbar-background) transparent;
}

#top .page-buttons .btn,
#top .top-buttons .btn:not(.upgrade-freemium-btn)
{
    --howspace-btn-primary-border-color: transparent;
    --howspace-btn-secondary-background-color: var(--howspace-color-navbar-background);
    --howspace-btn-secondary-border-color: var(--howspace-color-primary);
    --howspace-btn-secondary-text-color: var(--howspace-color-primary);
    --howspace-btn-tertiary-text-color: var(--howspace-color-navbar-text);
}

#top .top-buttons > .btn:not(.upgrade-freemium-btn),
#top .top-buttons > .dropdown > .btn,
#burger-menu-dropdown > .btn
{
    gap: .125rem;
    min-width: 3rem;
}

#top .top-buttons > .btn:not(.upgrade-freemium-btn) .btn-text,
#top .top-buttons > .dropdown > .btn .btn-text,
#burger-menu-dropdown > .btn .btn-text
{
    font-size: .75rem;
}

#top .top-buttons .avatar {
    width: 1.5rem;
    height: 1.5rem;
    pointer-events: none;
}

#top .top-buttons .powered-by a {
    text-decoration: none;
}

#top .top-menu > .nav-item .btn-text {
    overflow: clip;
    overflow-clip-margin: 1rem;
    text-overflow: ellipsis;
    max-width: 60ch;
}

body.template-snapshot-mode #top,
body.template-snapshot-mode #template-notification-bar {
    display: none;
}


/* /assets/apps/workspace/css/workspace/users-modal-new-ui.css */

.users-modal .howspace-lister-items {
    box-shadow: none;
}

.users-modal .howspace-lister-items .howspace-lister-cards,
.users-modal .howspace-lister-items .howspace-lister-no-items
{
    padding: 0;
}


/* /assets/apps/workspace/css/workspace/whats-new-new-ui.css */

/* What's new. */
#whats-new-bar {
    align-items: center;
    display: flex;
    flex-grow: 1;
}

#whats-new-bar.closed > * {
    display: none;
}

#whats-new-bar .whats-new-show-next-btn {
    font-size: 1rem;
    padding: .25rem .75rem;
}

#whats-new-bar #whats-new-bar-actions-dropdown {
    margin: 0 .5rem;
}

#whats-new-bar .whats-new-separator {
    background: rgba(0,0,0,.15);
    margin-left: .5rem;
    height: 1.5rem;
    width: 1px;
}

/* Notification center. */
#notification-center .nav-title:first-child {
    margin-top: .5rem;
}

#notification-center #notification-center-actions-dropdown .btn {
    font-weight: 400;
}

#notification-center #notification-center-actions-dropdown {
    text-transform: none;
}

#notification-center .no-notifications {
    color: var(--howspace-color-black-75);
    padding: var(--howspace-size-2) var(--howspace-size-3);
}

#notification-center .page-notifications {
    padding: 0 1rem 1rem 1rem;
}

#notification-center .page-notifications .btn {
    border-radius: var(--howspace-border-radius-3);
    color: var(--howspace-color-black-100);
    padding: .5rem;
}

/* What's new dots. */
.whats-new-dot,
.whats-new-dot-personal
{
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--howspace-color-notification);
    box-shadow: 0 0 0 1px rgba(255,255,255,.5);
}

.whats-new-dot-personal {
    box-shadow: 0 0 0 3px rgba(255,255,255,.5);
    margin-left: .25rem;
    margin-right: .25rem;
    outline-offset: 2px;
    outline: 1px solid var(--howspace-color-notification);
}

/* Top nav items, hamburger menu button and notification center button. */
.notification-center-btn.new,
#burger-menu-dropdown:has(.new) > .btn,
.nav-item.new .btn-text,
.nav-item.folder:has(+ .folder-collapse.new) .btn-text,
.nav-item:has(.new) .btn-text
{
    position: relative;
}

.notification-center-btn.new::after,
#burger-menu-dropdown:has(.new) > .btn::after,
.nav-item.new > .btn-text::after,
.nav-item.folder:not(#burger-menu-dropdown):has(+ .folder-collapse.new) > .btn-text::after,
.nav-item.folder:not(#burger-menu-dropdown):has(.new) > .btn > .btn-text::after
{
    content: "";
    position: absolute;
    top: 0;
    right: -.75rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--howspace-color-notification);
    box-shadow: 0 0 0 1px var(--howspace-color-white);
}

.notification-center-btn.new::after,
#burger-menu-dropdown:has(.new) > .btn::after
{
    top: .25rem;
    right: .25rem;
}

.notification-center-btn.new.personal::after,
.nav-item.new.personal > .btn-text::after,
.nav-item.folder:has(+ .folder-collapse.new.personal) > .btn-text::after,
.nav-item.folder:has(.new.personal) > .btn > .btn-text::after
{
    box-shadow: 0 0 0 3px var(--howspace-color-white);
    outline-offset: 2px;
    outline: 1px solid var(--howspace-color-notification);
}

.notification-center-btn.new.alert::after {
    background-color: var(--howspace-color-alert);
    outline-color: var(--howspace-color-alert);
}

/* Admin notifications. */
#notification-center .admin-email-errors-notification {
    background-color: var(--howspace-color-alert);
    padding: .75rem;
    border-radius: var(--howspace-border-radius-2);
    margin: 0 1rem 1rem 1rem;
}


