﻿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 {
        position: absolute;
        top: 0;
        left: 50%;
        margin: 10px 0 0 -25px;
        width: 60px;
        height: 60px;
    }

@media (max-width: 991px) {
    .navbar-brand img {
        position: absolute;
        top: 0;
        left: 50%;
        margin: 10px 0 0 -25px;
        width: 50px;
        height: 50px;
    }

    h2 {
        font-size: 1.25rem;
    }

    h6 {
        font-size: 0.75rem;
    }
}

@media (max-width: 767px) {
    .navbar-brand img {
        position: absolute;
        top: 0;
        left: 50%;
        margin: 10px 0 0 -15px;
        width: 30px;
        height: 30px;
    }

    h2 {
        font-size: 2.5rem;
    }

    h6 {
        font-size: 1.5rem;
    }
}

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

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

.nav-link .bi {
}

.story-image {
    z-index: -1;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    margin: 0;
}

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

.story {
    margin-top: 100px;
}

.data-block {
    background: #111122;
    color: #00d1fa;
    padding: 15px 20px 15px 20px;
    border: 1px solid #00d1fa;
    border-radius: 5px;
    position: relative;
    margin-top: 1em;
}

    .data-block:before {
        position: absolute;
        z-index: -1;
        top: -5px;
        left: -5px;
        width: calc(100% + 10px);
        height: calc(100% + 10px);
        content: '';
        border: 5px solid #111122;
        border-radius: 10px;
    }

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

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

.image-link {
    position: relative;
}

    .image-link img {
        border: 1px solid #00d1fa;
    }

    .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;
    font-size: xx-large;
    font-weight: bolder;
}

.image-link:hover img {
    position: relative;
    opacity: 0.75;
    box-shadow: 0 0 1.5em #00d1fa;
    transform: scale(1.05);
}

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

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

.bg-dark {
    background-color: #597B83 !important;
}

.border-dark {
    border-color: #597B83 !important;
}

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

.bg-light {
    background-color: #C9EBF3 !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: 1200px) {
    .nav-item.selected a {
        color: #111122 !important;
        background: #15AAC8;
    }
}

@media (min-width: 768px) {
    .nav-item.selected:after {
        position: absolute;
        content: "";
        width: 10px;
        height: 10px;
        background: #00d1fa;
        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.game {
    content: url('/images/icons/game.png');
}

a:has(.mi.game):hover .mi.game {
    content: url('/images/icons/game-hover.png');
}

a:has(.mi.game):hover .mi.game {
    content: url('/images/icons/game-hover.png');
}

.mi.geography {
    content: url('/images/icons/geography.png');
}

a:has(.mi.geography):hover .mi.geography {
    content: url('/images/icons/geography-hover.png');
}

.mi.travel {
    content: url('/images/icons/travel.png');
}

a:has(.mi.travel):hover .mi.travel {
    content: url('/images/icons/travel-hover.png');
}

.mi.equipment {
    content: url('/images/icons/equipment.png');
}

a:has(.mi.equipment):hover .mi.equipment {
    content: url('/images/icons/equipment-hover.png');
}

.mi.money {
    content: url('/images/icons/money.png');
}

a:has(.mi.money):hover .mi.money {
    content: url('/images/icons/money-hover.png');
}

.mi.human {
    content: url('/images/icons/human.png');
}

a:has(.mi.human):hover .mi.human {
    content: url('/images/icons/human-hover.png');
}

.mi.classes {
    content: url('/images/icons/classes.png');
}

a:has(.mi.classes):hover .mi.classes {
    content: url('/images/icons/classes-hover.png');
}

.mi.creatures {
    content: url('/images/icons/creatures.png');
}

a:has(.mi.creatures):hover .mi.creatures {
    content: url('/images/icons/creatures-hover.png');
}

.mi.downloads {
    content: url('/images/icons/downloads.png');
}

a:has(.mi.downloads):hover .mi.downloads {
    content: url('/images/icons/downloads-hover.png');
}

.mi.shop {
    content: url('/images/icons/shop.png');
}

a:has(.mi.shop):hover .mi.shop {
    content: url('/images/icons/shop-hover.png');
}

a:has(.mi) {
    align-content: center;
    text-align: center;
}

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

.citiesofsten-footer {
}

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

a {
    font-weight: bold !important;
}

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

.social a {
    color: #00d1fa;
}

    .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: #597B83;
    }

.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 #C9EBF3;
    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: #597B83;
        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%;
}

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

.border-light {
    border-color: #00d1fa !important;
}

.text-light {
    color: #00d1fa !important;
}

a.nav-link {
    padding: inherit;
    width: auto;
    text-align: left;
    border-radius: 0;
    margin: inherit;
}

    a.nav-link:hover {
        background: none;
        color: inherit;
    }

@media (min-width: 576px) {
    a.nav-link {
        padding: 4px;
        width: 36px;
        height: 36px;
        text-align: center;
        border-radius: 5px;
        margin: 4px;
    }

        a.nav-link:hover {
            background: #00d1fa;
            color: #111122 !important;
        }
}

@media (min-width: 768px) {
    a.nav-link {
        padding: 6px;
        width: 42px;
        height: 42px;
        text-align: center;
        border-radius: 5px;
        margin: 6px;
    }

        a.nav-link:hover {
            background: #00d1fa;
            color: #111122 !important;
        }
}

@media (min-width: 992px) {
    a.nav-link {
        padding: 8px;
        width: 46px;
        height: 46px;
        text-align: center;
        border-radius: 5px;
        margin: 8px;
    }

        a.nav-link:hover {
            background: #00d1fa;
            color: #111122 !important;
        }
}

@media (min-width: 1199px) {
    a.nav-link {
        border: 1px solid;
        margin: 0.5em;
        width: 80px;
        text-align: center;
        border-radius: 5px;
    }

        a.nav-link:hover {
            background: #00d1fa;
            color: #111122 !important;
        }
}

/* CUSTOM WIDTH OF COLUMNS */

   .data-block.col-1 { width: calc(8.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-2 { width: calc(16.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-3 { width: calc(25.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-4 { width: calc(33.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-5 { width: calc(41.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-6 { width: calc(50.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-7 { width: calc(58.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-8 { width: calc(66.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-9 { width: calc(75.00000000% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-10 { width: calc(83.33333333% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-11 { width: calc(91.66666666% - 20px); margin: 10px 10px 10px 10px; }
.data-block.col-12 { width: calc(100.00000000% - 20px); margin: 10px 10px 10px 10px; }

@media (max-width: 567px){
   .data-block.col-xs-1 { width: calc(8.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xs-2 { width: calc(16.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xs-3 { width: calc(25.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xs-4 { width: calc(33.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xs-5 { width: calc(41.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xs-6 { width: calc(50.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xs-7 { width: calc(58.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xs-8 { width: calc(66.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xs-9 { width: calc(75.00000000% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-xs-10 { width: calc(83.33333333% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-xs-11 { width: calc(91.66666666% - 20px); margin: 10px 10px 10px 10px; }
.data-block.col-xs-12 { width: calc(100.00000000% - 20px); margin: 10px 10px 10px 10px; }
}

@media (min-width: 568px){
   .data-block.col-sm-1 { width: calc(8.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-sm-2 { width: calc(16.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-sm-3 { width: calc(25.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-sm-4 { width: calc(33.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-sm-5 { width: calc(41.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-sm-6 { width: calc(50.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-sm-7 { width: calc(58.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-sm-8 { width: calc(66.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-sm-9 { width: calc(75.00000000% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-sm-10 { width: calc(83.33333333% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-sm-11 { width: calc(91.66666666% - 20px); margin: 10px 10px 10px 10px; }
.data-block.col-sm-12 { width: calc(100.00000000% - 20px); margin: 10px 10px 10px 10px; }
}

@media (min-width: 768px){
   .data-block.col-md-1 { width: calc(8.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-md-2 { width: calc(16.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-md-3 { width: calc(25.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-md-4 { width: calc(33.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-md-5 { width: calc(41.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-md-6 { width: calc(50.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-md-7 { width: calc(58.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-md-8 { width: calc(66.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-md-9 { width: calc(75.00000000% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-md-10 { width: calc(83.33333333% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-md-11 { width: calc(91.66666666% - 20px); margin: 10px 10px 10px 10px; }
.data-block.col-md-12 { width: calc(100.00000000% - 20px); margin: 10px 10px 10px 10px; }
}

@media (min-width: 992px){
   .data-block.col-lg-1 { width: calc(8.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-lg-2 { width: calc(16.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-lg-3 { width: calc(25.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-lg-4 { width: calc(33.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-lg-5 { width: calc(41.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-lg-6 { width: calc(50.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-lg-7 { width: calc(58.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-lg-8 { width: calc(66.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-lg-9 { width: calc(75.00000000% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-lg-10 { width: calc(83.33333333% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-lg-11 { width: calc(91.66666666% - 20px); margin: 10px 10px 10px 10px; }
.data-block.col-lg-12 { width: calc(100.00000000% - 20px); margin: 10px 10px 10px 10px; }
}

@media (min-width: 1200px){
   .data-block.col-xl-1 { width: calc(8.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xl-2 { width: calc(16.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xl-3 { width: calc(25.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xl-4 { width: calc(33.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xl-5 { width: calc(41.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xl-6 { width: calc(50.00000000% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xl-7 { width: calc(58.33333333% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xl-8 { width: calc(66.66666666% - 20px); margin: 10px 10px 10px 10px; }
  .data-block.col-xl-9 { width: calc(75.00000000% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-xl-10 { width: calc(83.33333333% - 20px); margin: 10px 10px 10px 10px; }
 .data-block.col-xl-11 { width: calc(91.66666666% - 20px); margin: 10px 10px 10px 10px; }
.data-block.col-xl-12 { width: calc(100.00000000% - 20px); margin: 10px 10px 10px 10px; }
}

.data-block {
    position: relative;
}

.data-block a {
    color: #00d1fa;
}

.data-block a:hover {
    color: #00d1fa;
}

.footer-link {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    font-size: 20px !important;
}

.with-footer-link {
    padding-bottom: 40px;
}