/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Display:ital,wght@0,100..900;1,100..900&display=swap');
*/
:root {
    --rp-thread: #00ff0008;
    ---bs-font-sans-serif: "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    ---bs-body-font-weight: 400;
}

:target::before {
    content: '';
    display: block;
    height: 3rem;
    margin-top: -3rem;
}

#posts-area-outer p a {
    line-break: anywhere !important;
}
#modal-info-body p a {
    line-break: anywhere !important;
}
.form-label {
    font-size: 1.05rem;
}

.drophandler * {
    pointer-events: none;
}

.preview img {
    max-width: 100%;
}

.ooc-firstline {
    width: 100%;
    display: flex;
    align-items: baseline;
    flex-direction: row;
    justify-content: space-between;
}

.showdrop {
    position: absolute;
    top: 0;
    bottom: 0;
    background-color: rgb(0, 0, 0, .50);
    border: 4px dashed white;
    right: 0;
    left: 0;
    font-size: 2rem;
    display: flex;
    color: white;
    justify-content: center;
    flex-direction: column;
    font-weight: bolder;
    text-align: center;
}

#posts-area-bottomjump {
    position: fixed;
    right: 2em;
}

#posts-area-bottomjump button {
    filter: drop-shadow(2px 2px 4px gray);
}

#body-block {
    margin-top: 3.5em;
    min-height: calc(100vh - 6.75rem)
}

.modal-content {
    filter: drop-shadow(2px 4px 6px black);
}

#fetch-error {
    display: none;
}

#button-area {
    row-gap: .5rem;
}

#status-area {
    font-size: .75rem;
    height: 1.5rem;
    max-height: 1.5rem;
    overflow: hidden;
    position: relative;
}

#count-area {
    position: absolute;
    right: 0;
    font-weight: 100;
}

#typing-area {
    position: absolute;
    left: 0;
}

#new-post-divider {
    text-align: right;
        border-bottom: 2px solid red;
        padding: 0;
        margin: 0 .75rem .5rem .5rem;
    }

#new-post-divider span {
    border-radius: .25rem;
    background: red;
        padding: 0 .25rem;
        font-size: .75rem;
        margin: 0;
        border-bottom: 4px solid red;
        font-weight: 500;
}

.lnk {
    cursor: pointer;
}

div.wink:hover {
    opacity: 1 !important;
}

#thread-in-use {
    font-size: smaller;
}

.sml {
    font-size: .75rem;
}
.h-thread {
    background-color: var(--rp-thread) !important;
}

.h-reply {
    background-color: var(--bs-primary-bg-subtle) !important;
}

.h-edit,
.h-thread.h-edit,
.h-reply.h-edit,
.h-thread.h-reply.h-edit {
    background-color: var(--bs-danger-bg-subtle) !important;
}

.h-jump,
.h-jump .post-header,
.h-thread.h-jump,
.h-reply.h-jump,
.h-edit.h-jump {
    background-color: var(--bs-danger-border-subtle) !important;
    border-color: var(--bs-border-color);
}

.h-syspost {
    background-color: var(--bs-danger-border-subtle);
    border: .5rem solid var(--bs-danger);
    padding-top: .5rem;
    border-left: none;
    border-right: none;
    margin-bottom: .5rem;
}


#nav-bc {
    --bs-breadcrumb-margin-bottom: 0;
    align-items: center;
}


.tiny {
    font-size: .7em;
}

.vh-75 {
    height: 75vh;
}

.vh-50 {
    height: 50vh;
}

.img-browser {
    object-fit: contain;
    max-width: 100%;
}

blockquote {
    margin-left: 1rem;
    padding-left: 1rem;
    border-left: .25rem solid darkorange;
}

footer {
    font-size: .8rem;
    margin-bottom: -1rem;
}

.handle-big {
    font-size: 150%;
}

.edit-note {
    font-size: .75rem;
    margin-top: 1rem;
}

.handle-medium {
    font-size: 125%;
}

.role-badge,
.user-badge,
.room-badge {
    padding: 0 .3rem 0 .3rem;
    border-radius: 8px;
    margin-right: .1rem;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
    /* line-height: 1.6; */
        /* This caused tabbed menus to break when a badge was included */
}

#error-notice {
    position: fixed;
    bottom: 6em;
    left: 15%;
    right: 15%;
    z-index: 100;
    display: none;
}

#posts-area-roominfo img {
    margin: auto;
    display: block;
    max-height: 25vh;
}

.post-location a {
    color: yellow;
}

.handleinfo {
    font-size: 1.25rem;
}

.handleinfo img {
    max-width: 66% !important;
    float: right;
    margin-left: 1em !important;
}

#posts-area-outer {
    position: fixed;
    top: 3em;
    left: 0;
    right: 0;
    bottom: 0;
    /* margin-bottom: .5em; */
    overflow-y: scroll;
    align-content: end;
}

#posts-area-outer.undocked {
    scrollbar-color: unset;
}

#posts-area-outer.docked {
    scrollbar-color: green white;
}


#input-area {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
}

hr.ic-divider {
    padding: unset;
    border: unset;
    border-style: solid;
    border-image: linear-gradient(to right, rgb(108 117 125), rgb(73 80 87 / 0%), rgb(0, 0, 0, 0)) 1;
    border-width: 0 0 1px 0;
}

hr.ic-divider .left-align {
    border-image: linear-gradient(to left, rgb(108 117 125), rgb(73 80 87 / 0%), rgb(0, 0, 0, 0)) 1;
}

#input-spacer {
    height: .66em;
}

#input-bottom .input-group {
    height: 100%;
}

#selected-image {
    border: 3px dashed var(--bs-danger) !important;
        background-color: black;
}

#input-box {
    /* position: absolute; */
    width: 100%;
    height: 2.5em;
    resize: none;
}

#input-box::placeholder {
    font-weight: 100;
    color: var(--bs-tertiary-color)
}
.post-div img {
    max-width: 45vw;
    max-height: var(--max-image-size);
    display: block;
    margin: auto;
    cursor: pointer;
}

.post-div p img {
    width: auto;
    max-height: calc(var(--max-image-size) * .66);
    display: inline-block;
    cursor: pointer;
    vertical-align: bottom;
    border-radius: .5rem;
    margin-top: .5rem;
    margin-bottom: .5rem;
}

.post-div.post-ooc p img {
    max-height: var(--max-image-size);
    /* min-height: 150px; */

}

.post-ooc.post-hy .post-body {
    width: 100%;
    display: block;
}

.post-ooc.post-hy .post-body.post-reply {
    display: flex;
}

.post-hy .post-img {}

.post-hy .post-img img {
    float: right;
    margin-left: 1em;
    display: inline;
    margin-bottom: 1em;
}

.right-align img {
    float: right;
    margin-left: 1em;
}

.left-align img {
    float: left;
    margin-right: 1em;
}

.center-align img {
    display: block;
    margin: auto;
}

.post-img img {
    max-height: var(--max-image-size);
    cursor: pointer;
    margin-bottom: .5rem;
    border-radius: .5rem;
}

.post-div {
    clear: both;
}

.post-header-old {
    padding: .6em 1em .6em 1em;
    font-size: .75em;
}

.post-header {
    padding: .6em .5em .6em .5em;
    font-size: .75em;
    margin-right: .75em;
    margin-left: .5em;
    border-radius: .5em;
}

#popup-strip {
    width: 100%;
    height: auto;
    position: absolute;
    bottom: 6em;
    /* padding: .5em; */
    /* padding-bottom: 0; */
}

#image-controls {
    height: auto;
    /* display: none; */
    padding-bottom: .5em;
    position: relative;
}

#image-list {
    height: auto;
    overflow-x: auto;
    white-space: nowrap;
}

#handle-controls {
    height: auto;
    /* display: none; */
    padding-bottom: .5em;
}

#thread-controls {
    height: auto;
    padding-bottom: .5em;
}

#tag-list {
    height: auto;
    display: none;
    padding-bottom: .5em;
}

#room-list {
    height: auto;
    display: none;
    padding-bottom: .5em;
}

#reply-list,
#edit-area {
    height: auto;
    display: none;
    padding-bottom: .5em;
}

#slash-cmd-list {
    height: auto;
    display: none;
    padding-bottom: .5em;
}

#post-preview {
    height: auto;
    max-height: 50vh;
    overflow-y: scroll;
}

#post-preview-inner img {
    max-height: 25vh;
}

#image-list img {
    height: 150px;
    cursor: pointer;
}

#modal-body img {
    max-width: 100%;
    /* max-height: 33vw; */
    /* margin: auto; */
    /* display: block; */
}

.modal-info-body img {
    max-height: 30vh;
    display: flex;
        margin: auto;
}

.zoom-img {
    max-width: 100%;
    max-height: 75vh;
    margin: auto;
    display: block;
}

.post-ic .post-body {
    padding: .6em;
    padding-bottom: 0;
}

.post-ooc {
    display: flex;
    flex-direction: column;
    padding-bottom: .5em;
}

.post-ooc .post-body {
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: -.5em;
    margin-right: .5em;
}

.post-ooc .post-reply {
    display: flex;
    flex-direction: row;
    font-size: .75em;
}

.post-ic .post-reply {
    /* display: flex; */
    /* flex-direction: row; */
    font-size: .75em;
    margin-bottom: -.5em;
}

.post-ooc .post-img-gutter {
    min-width: 72px;
    display: flex;
    /* margin-right: .75em; */
    /* margin-bottom: 1em; */
    /* padding-top: .25em; */
}

.post-ic .post-img-gutter {
    min-width: 48px;
    display: flex;
    /* margin-right: .75em; */
    margin-bottom: 1em;
    padding-top: .5em;
}

.post-reply-tn,
.post-ooc .post-img-gutter img,
.t-48,
.i-48 {
    width: 48px;
    height: 48px;
    object-fit: cover;
    object-position: top;
    border-radius: 25%;
    border: none;
    margin-top: 0;
    /* border: 1px solid rgb(228, 228, 228) */
}

.i-48 {
    display: inline !important;
}

.t-48 {
    display: inline !important;
    margin-bottom: .5rem !important;
}

.w-48 {
    width: 48px;
    display: inline-block;
}

.post-ooc .post-img-gutter .empty-img {
    width: 48px;
    height: 48px;
    display: inline;
    object-fit: cover;
    object-position: top;
    border-radius: 25%;
    border: none;
    margin: auto;
    margin-top: 0;
    /* border: 1px solid rgb(228, 228, 228) */
}

.post-ooc .post-reply img {
    width: 20px;
    height: 20px;
    object-fit: cover;
    object-position: top;
    border-radius: 25%;
    margin-top: 0;
    margin-right: 6px;
}

.post-ic .post-reply img {
    width: 20px;
    height: 20px;
    object-fit: cover;
    object-position: top;
    border-radius: 25%;
    margin: unset;
    margin-top: 0;
    margin-right: 3px;
    margin-left: 3px;
    display: inline;
}

.post-reply {
    cursor: pointer;
}

.post-ooc .ooc-timestamp {
    font-size: .7em;
    padding-left: .5em;
}

#flyover-panel {
    position: absolute;
    z-index: 100;
    right: .5em;
    width: auto;
    filter: drop-shadow(2px 2px 4px gray);
}

.dieroll {
    display: flex;
    flex-direction: column;
}

@media (max-width: 767px) {
    .post-img img {
        /* max-height: 300px; */
    }

}

@media (min-width: 768px) {
    .post-img img {
        /* max-height: 400px; */
    }

    .post-div {
        /* font-size: 1.2em; */
    }
}

@media (max-width: 991px) {

    .img-browser {
        /* max-width: 90%; */
        /* height: 100px;
        width: 100px;
        object-fit: contain;
            */
    }
}

@media (min-width: 992px) {
    .post-img img {
        /* max-height: 600px; */
    }

    .post-div {

        /* font-size: 1.5em; */
    }
}

.priv-user,
.role-blue {
    color: darkblue
}

.priv-room-aide,
.role-green {
    color: darkgreen
}

.priv-room-host,
.role-gold {
    color: rgb(120, 115, 21);
}

.priv-room-owner,
.role-brown {
    color: rgb(146, 80, 0)
}

.priv-site-owner,
.role-red {
    color: red;
}

.priv-sysop,
.role-crimson {
    color: crimson
}

.priv-system,
.role-violet {
    color: violet;

}

.role-white {
    color: white;
}

[data-bs-theme=paper] {
    --bs-body-bg: #fff5d9;
    --rp-thread: #00ff0010;
}

[data-bs-theme=dark] {

    .priv-user,
    .role-blue {
        color: rgb(88, 88, 255)
    }

    .priv-room-aide,
    .role-green {
        color: green
    }

    .priv-room-host,
    .role-gold {
        color: rgb(207, 179, 20);
    }

    .priv-room-owner,
    .role-brown {
        color: rgb(194, 106, 0)
    }

    #posts-area-outer.docked {
        scrollbar-color: green black;
    }

    #posts-area-outer.undocked {
        scrollbar-color: unset;
    }

    .post-header {
        border-color: var(--bs-dark-border-subtle);
        border-width: 1px;
        border-style: solid;
    }
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 85%;
        margin-right: auto;
        margin-left: auto;
    }
}

.btn.btn-micro {
    --bs-btn-padding-y: 0;
    --bs-btn-padding-x: .33rem;
    --bs-btn-font-size: .75rem;
}
/* Custom markdown formatting rules */
.md-clr {
    clear: both;
    display: block;
}
.md-r,
.md-l {
    max-width: 50%;
}

.md-r.md-6,
.md-l.md-6 {
    max-width: 66%;
}
.md-r img,
.md-l img,
.md-c img {
    width: 100%;
}

.md-r {
    float: right;
    margin-left: 1rem;
}

.md-l {
    float: left;
    margin-right: 1rem;
}

.md-c {
    text-align: center;
    display: block;
}

.md-sm {
    font-size: .66rem;
}

.md-red {
    color: var(--bs-red)
}

.md-green {
    color: var(--bs-green)
}

.md-blue {
    color: var(--bs-blue)
}

.md-indigo {
    color: var(--bs-indigo)
}

.md-purple {
    color: var(--bs-purple)
}

.md-pink {
    color: var(--bs-pink)
}

.md-orange {
    color: var(--bs-orange)
}

.md-yellow {
    color: var(--bs-yellow)
}

.md-teal {
    color: var(--bs-teal)
}

.md-cyan {
    color: var(--bs-cyan)
}