﻿body {
    z-index: 1;
    margin-bottom: 0 !important;
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

.brand-centered {
    display: flex;
    justify-content: center;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
}

.navbar-brand {
    display: flex;
    align-items: center;
}

    .navbar-brand img {
        width: 100px;
        margin-top: -15px;
    }

.navbar-nav {
    z-index: 10;
}

.navbar-toggler {
    z-index: 10;
}

.nav-link .bi {
    
}

.story-image {
    z-index: 2;
    position: absolute;
    width: 100vw;
    /*min-width: 640px;*/
    height: 40vh;
    top: 48px;
    left: 0;
    margin: 0;
}

    .story-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.story {
    margin-top: calc(40vh + 78px);
}

.story-part-image {
    width: 100%;
    height: 33%;
    margin: 0;
}

    .story-part-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.image-link, .map-link {
    position: relative;
}

    .image-link img, .map-link img {

    }

    .image-link:hover {
        opacity: 0.75;
    }

    .image-link .image-link-text {
        position: absolute;
        bottom: 0;
        right: 20px;
        visibility: hidden;
        text-align: right;
    }

    .image-link:hover .image-link-text {
        visibility: visible;
    }

.image-link-text h3 {
    padding-bottom: 0;
    margin-bottom: 0;
}

.image-link-text p {
    padding-top: 0;
    margin-top: -10px;
}

.image-link:hover img, .map-link:hover img {
    box-shadow: 0 0 1.5em #867453;
}

@media (pointer:coarse) {
    .image-link .image-link-text {
        visibility: visible;
    }
}

.navbar {
    z-index: 3 !important;
}

.bg-dark {
    background-color: #837B59 !important;
}

.border-dark {
    border-color: #837B59 !important;
}

.border-bottom-thick {
    border-bottom: 6px solid;
}

.bg-light {
    background-color: #F3EBC9 !important;
}

.shadow-top {
    box-shadow: 0 -0.5rem 1rem rgba(0,0,0,.15) !important;
}

.footer {
    white-space: inherit !important;
    line-height: inherit !important;
}

.nav-item.selected {
    position: relative;
}

@media (min-width: 768px) {
    .nav-item.selected:after {
        position: absolute;
        content: "";
        width: 10px;
        height: 10px;
        background: #837B59;
        left: 50%;
        margin-left: -5px;
        border-radius: 5px 5px 0 0;
    }
}

.story table {
    width: 100%;
}

.story tr:nth-child(even) {
    background-color: rgba(255, 255, 0, 0.25);
}

.story tr:nth-child(odd) {
    background-color: rgba(192, 192, 0, 0.25);
}

.story th {
    padding: 3px;
    padding-left: 6px;
    background-color: rgba(131, 123, 89, 0.5);
    color: white;
}

.story td {
    padding: 3px 10px 3px 10px;
    padding-left: 6px;
    min-width: 100px;
}

.mi {

}

.mi-lg {
    width: 32px;
    height: 32px;
}

.mi-md {
    width: 28px;
    height: 28px;
}

.mi-sm {
    width: 24px;
    height: 24px;
}

    .mi.classes { content: url('/images/icons/classes.png'); }
    .mi.downloads { content: url('/images/icons/downloads.png'); }
    .mi.equipment { content: url('/images/icons/equipment.png'); }
    .mi.geography { content: url('/images/icons/geography.png'); }
    .mi.lore { content: url('/images/icons/lore.png'); }
    .mi.magic { content: url('/images/icons/magic.png'); }
    .mi.rules { content: url('/images/icons/rules.png'); }
    .mi.money { content: url('/images/icons/money.png'); }
    .mi.monsters { content: url('/images/icons/monsters.png'); }
    .mi.shop { content: url('/images/icons/shop.png'); }
    .mi.tools { content: url('/images/icons/tools.png'); }
    .mi.wildlife { content: url('/images/icons/wildlife.png'); }

.flex-wrapper {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    justify-content: flex-start;
}

.mithrym-footer {
    
}

.flex-filler {
    flex-grow: 1;
}

a {
    font-weight: bold !important;
}

.nav-item a {
    font-weight: normal !important;
}

.social a {
    color: white;
}

    .social a:hover {
        text-decoration: none;
    }

.social img {
    height: 32px;
    width: auto !important;
    margin: 3px 6px 3px 6px;
}

.quote {
    font-family: "proxima nova";
    font-size: large;
}

a.bookmark {
    display: block;
    position: relative;
    top: -68px;
    visibility: hidden;
}

.alphabet-menu {
    text-align: center;
}

    .alphabet-menu h2 {
        display: inline-block;
        color: rgba(131, 131, 0, 0.25);
        font-size: larger;
    }

    .alphabet-menu a {
        color: #837B59;
    }

.rulesets ul {
    list-style-type: none;
}

.dice {
    font-size: x-large;
    font-weight: bold;
    letter-spacing: 3px;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-justify {
    text-align: justify;
}

.document {
    border: 3px solid black;
    border-radius: 5px 5px 5px 5px;
    z-index: 1;
    margin: 10px 0 10px 0;
}

.document-before {
    width: 50px;
    height: 50px;
    background: transparent;
    position: relative;
    top: 60px;
    left: calc(100% - 50px);
    z-index: 2;
    border-top: 50px solid #F3EBC9;
    border-left: 50px solid black;
    margin-top: -50px;
}

    .document-before::after {
        position: absolute;
        bottom: 3px;
        right: 7px;
        width: 40px;
        height: 40px;
        content: '';
        background: transparent;
        z-index: 3;
        border-top: 40px solid transparent;
        border-left: 40px solid white;
    }

.ability-head .ability-field {
    font-size: x-small;
    border: none;
    color: #535B39;
}

.ability-main .ability-field {
    font-size: xx-large;
    border: 4px solid #535B39;
    border-radius: 50% 50% 50% 50% / 12% 12% 12% 12%;
    margin-top: 0.25em;
    background-color: rgba(255, 255, 0, 0.25);
}

.ability-mod .ability-field {
    font-size: large;
    border: 4px solid #535B39;
    border-radius: 50% 50% 50% 50% / 12% 12% 88% 88%;
    margin-top: 0.5em;
    background-color: rgba(192, 192, 0, 0.25);
}

.ability-field {
    display: table;
    width: 100%;
}

.valign-text {
    display: table-cell;
    vertical-align: middle;
}

.stat-block {
    box-shadow: 0 0 1.5em #867453;
    background-color: #FDF1DC;
}

    .stat-block h1 {
        margin: 1rem -1rem -1rem 0;
    }

    .stat-block h4 {
        font-size: small;
    }

.orange-border {
    display: block;
    background: rgba(255, 255, 0, 0.25);
    border: 1px solid #000;
    height: 5px !important;
    padding: 0 10px 0;
    margin: -1px calc(-1rem - 1px) -1px calc(-1rem - 1px);
    box-sizing: initial;
    opacity: 1 !important;
}

    .orange-border.middle {
        margin: 0 1rem 0 1rem;
    }

    .orange-border.bottom {
        position: absolute;
        bottom: 0;
        left: 1rem;
        width: auto;
        right: 1rem;
    }

.form-control {
    border: 4px solid #535B39;
    border-radius: 50% 50% 50% 50% / 12% 12% 12% 12%;
    background: transparent !important;
    text-align: left;
    background-color: rgba(255, 255, 255, 0.5) !important;
}

.ability > .form-control {
    font-size: xx-large;
    border: 4px solid #535B39;
    border-radius: 50% 50% 50% 50% / 12% 12% 12% 12%;
    margin-top: 0.25em;
    text-align: center;
    background-color: rgba(255, 255, 0, 0.25) !important;
}

    .ability > .form-control.small {
        font-size: large;
        border: 4px solid #535B39;
        border-radius: 50% 50% 50% 50% / 12% 12% 88% 88%;
        margin-top: 0.5em;
        text-align: center;
        background-color: rgba(192, 192, 0, 0.25) !important;
    }

.skill > .form-control {
    font-size: xx-large;
    border: 4px solid #535B39;
    border-radius: 50% 50% 50% 50% / 12% 12% 12% 12%;
    margin-top: 0.25em;
    text-align: center;
    background-color: rgba(255, 255, 0, 0.25) !important;
}

.skill > .row {
    margin-top: 1em;
}

.notes-field {
    width: 100%;
    resize: none;
    border: 4px solid #535B39;
    border-radius: 2% 2% 2% 2% / 1% 1% 1% 1%;
    margin-top: 0.25em;
    background-color: rgba(255, 255, 255, 0.75) !important;
    padding: 0.25em 0.5em 0.25em 0.5em;
}

.simple-spell, .advanced-spell, .weapon-proficiency, .skill-proficiency, .craft-proficiency {
    display: inline-block;
    list-style-type: none;
    margin: 0.25em;
    padding: 0.25em 0.5em 0.25em 0.5em;
    border: 1px solid #000;
    color: #000;
    background: rgba(255, 255, 0, 0.25);
}

    .simple-spell:hover, .advanced-spell:hover, .weapon-proficiency:hover, .skill-proficiency:hover, .craft-proficiency:hover {
        cursor: pointer;
        background: #837B59;
        color: #fff;
        box-shadow: 0 0 1.5em #867453;
    }

    .simple-spell label:hover, .advanced-spell label:hover {
        cursor: pointer;
    }

ul:has(.simple-spell), ul:has(.advanced-spell), ul:has(.weapon-proficiency), ul:has(.skill-proficiency), ul:has(.craft-proficiency) {
    padding: 0;
}

.dice-launcher {
    position: fixed;
    top: 50%;
    left: -50px;
    border: 1px solid #000;
    font-size: 20px;
    height: 30px;
    line-height: 20px;
    margin: 0;
    padding: 5px 20px 5px 20px;
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    background: #198754;
    color: #fff;
}

    .dice-launcher:hover {
        box-shadow: 0 0 1.5em #867453;
        cursor: pointer;
    }

    .dice-launcher p {
    }

.character-image {
    box-shadow: 0 0 1.5em #867453;
}

.line-break {
    height: 25px;
    width: auto;
    opacity: 0.25;
}

button:has(> .shop-button) {
    border: none;
    background: none;
    padding: 0;
    margin: 0;
}

.shop-button {
    width: 128px;
    border-radius: 8px;
}

    .shop-button:hover {
        cursor: pointer;
        box-shadow: 0 0 1.5em #867453;
    }

.circle {
    border-radius: 50%;
}