Files
roll20-character-sheets/ADnD_1E_Revised/1ESheet.css
T

5065 lines
144 KiB
CSS

@import url('https://fonts.googleapis.com/css2?family=Caladea:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Icons&display=swap');
/*
@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fira+Sans+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rye:wght@400;600&display=swap');
*/
/* Misc variables Custom colors for Roll Template */
:root,
.sheet-rolltemplate-attacks,
.sheet-rolltemplate-attacks-table,
.sheet-rolltemplate-general {
--black: rgb(0, 0, 0);
--blue: rgb(50, 94, 255);
--dark-accent: #702c91;
--dark-accent-alpha: rgb(112 44 145 / 22%);
--darkblue: rgb(0, 24, 150);
--darkgreen: rgb(11, 112, 0);
--darkgrey: rgb(90, 89, 87);
--darkorange: rgb(108, 53, 0);
--darkpink: rgb(172, 0, 172);
--darkpurple: rgb(67, 0, 84);
--darkred: rgb(133, 0, 10);
--darkyellow: rgb(153, 153, 0);
--font-base: 'Poppins', system-ui;
--font-headers: 'Caladea', serif;
--font-inputs: 'Poppins', system-ui;
--font-monster: 'Raleway', serif;
--green: rgb(17, 180, 0);
--grey: rgb(163, 163, 163);
--link-hover: #005ea2;
--orange: rgb(220, 107, 0);
--pink: rgb(255, 0, 255);
--portrait-min-xy: 130px;
--purple: rgb(116, 0, 145);
--red: rgb(214, 0, 16);
--white: rgb(255, 255, 255);
--yellow: rgb(252, 237, 36);
--text-sm: 1rem; /* 10px based on :root */
--text-med: 1.2rem;
--text-lg: 1.4rem;
--text-xl: 1.6rem;
--text-xxl: 1.8rem;
--text-xxxl: 2.4rem;
--font-buttons1: 'Poppins', system-ui;
--font-buttons2: 'Caladea', serif;
--text-wt100: 100;
--text-wt200: 200;
--text-wt300: 300;
--text-wt400: 400;
--text-wt500: 500;
--text-wt600: 600;
--text-wt700: 700;
--text-wt800: 800;
--text-wt900: 900;
--color-white1: #f5f5f5;
--color-white2: #e1e1e1;
--color-white3: #b3b3b3;
--color-lightgrey1: #999999;
--color-lightgrey2: #666666;
--color-darkgrey1: #333;
--color-black1: #222;
--color-black2: #000;
/* 10px */
/* used for roll templates */
/* misc */
}
.ui-dialog .tab-content .charsheet .charsheet .pictos {
font-family: 'Pictos';
}
.ui-dialog .tab-content .charsheet .material-icons {
font-family: 'Material Icons';
}
*,
*::after,
*::before {
box-sizing: border-box;
}
.charsheet span[title],
.charsheet label[title],
.charsheet label.readonly-span-textonly,
.charsheet span.readonly-span-textonly {
cursor: help;
}
.charsheet ::placeholder {
color: var(--color-lightgrey1);
font-style: italic;
}
.charsheet input {
border: 1px transparent;
border-bottom: 1px solid rgb(182, 182, 182);
margin: 2px;
min-width: 1em;
padding: unset;
text-align: center;
width: 100%;
}
/* hide flippers for number fields */
.charsheet input:hover[type=number],
.charsheet input:hover::-webkit-outer-spin-button,
.charsheet input:hover::-webkit-inner-spin-button {
-webkit-appearance: auto;
}
.charsheet input::-webkit-outer-spin-button,
.charsheet input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.charsheet input[disabled]:hover,
.charsheet input[disabled]:hover::-webkit-outer-spin-button,
.charsheet input[disabled]:hover::-webkit-inner-spin-button {
-webkit-appearance: none;
}
.charsheet input[type=number]{
-moz-appearance: textfield;
}
.charsheet .wrapper input,
.charsheet .wrapper select,
.charsheet .wrapper textarea {
color: var(--color-black1);
font-family: var(--font-inputs);
font-size: var(--text-med);
margin-inline: 2px;
}
.sheet-darkmode .tab-content .charsheet .wrapper .saves-box select option.option-bonus,
.charsheet .wrapper select option.option-bonus {
background-color: rgb(12, 85, 12);
color: #fff;
font-size: var(--text-sm);
}
.sheet-darkmode .tab-content .charsheet .wrapper .saves-box select option.option-penalty,
.charsheet .wrapper select option.option-penalty {
background-color: rgb(103, 9, 9);
color: #fff;
font-size: var(--text-sm);
}
.charsheet .background .wrapper .settings .reset-macros {
flex: 1 1 64px;
margin-inline: 0.75em;
max-width: 100px;
min-height: 2em;
}
.tab-content .tab-pane {
min-width: min-content;
}
.sheet-darkmode .tab-content .tab-pane,
.sheet-darkmode .tab-content .tab-pane .charsheet .background,
.sheet-darkmode .tab-content .tab-pane .charsheet .background .wrapper {
background-color: var(--color-black2);
color: var(--color-white3);
}
.sheet-darkmode .tab-content .charsheet .background .wrapper textarea,
.sheet-darkmode .tab-content .charsheet .background .wrapper input[type='text'],
.sheet-darkmode .tab-content .charsheet .background .wrapper input[type='number'],
.sheet-darkmode .tab-content .charsheet .background .wrapper select,
.sheet-darkmode .tab-content .charsheet .background .wrapper select option {
background-color: var(--color-black1);
color: var(--color-white3);
}
.sheet-darkmode .tab-content .charsheet .background .wrapper input:focus-within,
.sheet-darkmode .tab-content .charsheet .background .wrapper textarea:focus-within {
background-color: var(--color-lightgrey1);
color: var(--color-black2);
}
.sheet-darkmode .tab-content .charsheet ::placeholder {
color: var(--color-lightgrey2);
}
.sheet-darkmode .tab-content .charsheet .background .wrapper input:focus-within::placeholder,
.sheet-darkmode .tab-content .charsheet .background .wrapper textarea:focus-within::placeholder {
color: var(--color-darkgrey1);
}
.tab-content .charsheet {
padding: 0;
}
.tab-content .charsheet .linear-background {
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.3), transparent 90%);
}
.sheet-darkmode .tab-content .charsheet .linear-background {
background-image: linear-gradient(to top, rgba(255, 255, 255, 0.3), transparent 90%);
}
/* background toggle */
.charsheet .background {
background-color: transparent;
background-image: none;
color: var(--color-black1);
font-family: var(--font-base);
font-size: var(--text-med);
outline: 5px double var(--color-black1);
outline-offset: 0;
padding: 7px;
width: auto;
margin-block: 3em;
}
.sheet-darkmode .tab-content .charsheet .background {
background-color: transparent !important;
background-image: none !important;
color: var(--color-white3);
outline: 4px double var(--color-lightgrey2);
}
/*white*/
.charsheet .background-selection[value='1']:checked ~ .background {
background-color: #fff;
background-image: none;
}
/*parchment*/
.charsheet .background-selection[value='2']:checked ~ .background {
background-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/ADnD_1E_Revised/images/back2.jpg');
background-repeat: repeat;
overflow: visible;
}
/*light goldenrod*/
.charsheet .background-selection[value='7']:checked ~ .background {
background-color: #f6e8a7;
background-image: none;
}
.charsheet .background-selection[value='7']:checked ~ .background input,
.charsheet .background-selection[value='7']:checked ~ .background select {
background-color: rgb(255 255 255 / 40%);
}
/*goldenrod*/
.charsheet .background-selection[value='3']:checked ~ .background {
background-color: #f4d74f;
background-image: none;
}
/*moldvay*/
.charsheet .background-selection[value='4']:checked ~ .background {
background-color: #b5dcb3;
background-image: none;
}
/*light greyhawk*/
.charsheet .background-selection[value='5']:checked ~ .background {
background-color: var(--color-white1);
background-image: none;
}
/*greyhawk*/
.charsheet .background-selection[value='6']:checked ~ .background {
background-color: rgb(179 179 179 / 54%);
background-image: none;
}
.charsheet .background-selection[value='6']:checked ~ .background * {
color: #000;
}
.sheet-darkmode .background-selection[value='6']:checked ~ .background * {
color: inherit;
}
.charsheet .wrapper {
align-items: flex-start;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1em;
margin: -1.5em 0.5em 0 0.5em;
padding: 0.25em 0 0 0;
}
/* Tabs */
/* hide PC page */
.charsheet .background .npc-box,
.charsheet .background .header-box,
.charsheet .background .class-box,
.charsheet .background .armor-box,
.charsheet .background .personal-attributes-box,
.charsheet .background .abilities-box,
.charsheet .background .weapons-box,
.charsheet .background .saves-box,
.charsheet .background .equipment-box,
.charsheet .background .special-abilities-box,
.charsheet .background .nonweapon-proficiencies-box,
.charsheet .background .thief-skills-box,
.charsheet .background .spells-box,
.charsheet .background .notes-box,
.charsheet .background .options-box {
display: none;
}
.charsheet input[value='0'].toggle-npc ~ .background .header-box {
display: grid;
}
/* Show PC page */
.charsheet input[value='0'].toggle-npc ~ .background,
.charsheet input[value='99'].toggle-npc ~ .background {
min-width: 650px;
}
.charsheet input[value='0'].toggle-npc ~ .background .class-box,
.charsheet input[value='0'].toggle-npc ~ .background .armor-box,
.charsheet input[value='0'].toggle-npc ~ .background .personal-attributes-box,
.charsheet input[value='0'].toggle-npc ~ .background .abilities-box,
.charsheet input[value='0'].toggle-npc ~ .background .weapons-box,
.charsheet input[value='0'].toggle-npc ~ .background .saves-box,
.charsheet input[value='0'].toggle-npc ~ .background .equipment-box,
.charsheet input[value='0'].toggle-npc ~ .background .special-abilities-box,
.charsheet input[value='0'].toggle-npc ~ .background .nonweapon-proficiencies-box,
.charsheet input[value='0'].toggle-npc ~ .background .thief-skills-box,
.charsheet input[value='0'].toggle-npc ~ .background .spells-box,
.charsheet input[value='0'].toggle-npc ~ .background .notes-box {
display: block;
position: relative;
}
/* Hide Monster page*/
.charsheet input[value='0'].is-npc ~ .background .wrapper .top-header .npc-tabs input[value='1'].toggle-npc,
.charsheet input[value='0'].is-npc ~ .background .wrapper .top-header .npc-tabs input[value='1'].toggle-npc + span.tab,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .npc-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .header-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .class-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .armor-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .personal-attributes-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .abilities-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .weapons-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .saves-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .equipment-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .special-abilities-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .nonweapon-proficiencies-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .thief-skills-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .spells-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .notes-box,
.charsheet input[value='0'].is-npc + input[value='1'].toggle-npc ~ .background .options-box {
display: none;
}
/* show with Monster page*/
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box,
.charsheet input[value='1'].toggle-npc ~ .background .special-abilities-box {
display: block;
}
.charsheet input[value='1'].toggle-npc ~ .background {
min-width: 380px;
}
.charsheet input[value='1'].toggle-npc ~ .background .footer-box {
width: auto;
}
.charsheet input[value='1'].toggle-npc ~ .background .npc-box {
align-items: flex-start;
display: flex;
flex-direction: column;
row-gap: 2px;
}
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box {
grid-column: 1/-1;
grid-row-start: 4;
margin: 0 0 0 0.5em;
}
.charsheet input[value='1'].toggle-npc ~ .background .special-abilities-box {
grid-column: 1/-1;
grid-row-start: 5;
margin: 0 0 0 0.5em;
}
/* Show Sheet Options */
.charsheet input[value='99'].toggle-npc ~ .background .wrapper,
.charsheet input[value='99'].toggle-npc ~ .background .options-box {
display: block;
}
.charsheet input[value='99'].toggle-npc ~ .background .wrapper .options-box > .header,
.charsheet input[value='99'].toggle-npc ~ .background .wrapper .options-box > .sect-show:first-child {
margin-top: 1em;
}
/* Hide PC and Monster */
.charsheet input[value='99'].toggle-npc ~ .background .npc-box,
.charsheet input[value='99'].toggle-npc ~ .background .header-box,
.charsheet input[value='99'].toggle-npc ~ .background .class-box,
.charsheet input[value='99'].toggle-npc ~ .background .armor-box,
.charsheet input[value='99'].toggle-npc ~ .background .personal-attributes-box,
.charsheet input[value='99'].toggle-npc ~ .background .abilities-box,
.charsheet input[value='99'].toggle-npc ~ .background .saves-box,
.charsheet input[value='99'].toggle-npc ~ .background .equipment-box,
.charsheet input[value='99'].toggle-npc ~ .background .special-abilities-box,
.charsheet input[value='99'].toggle-npc ~ .background .nonweapon-proficiencies-box,
.charsheet input[value='99'].toggle-npc ~ .background .thief-skills-box,
.charsheet input[value='99'].toggle-npc ~ .background .spells-box,
.charsheet input[value='99'].toggle-npc ~ .background .notes-box {
display: none;
}
.charsheet input[value='0'].toggle-npc ~ .background .weapons-box .hide-as-pc,
.charsheet input[value='0'].toggle-npc ~ .background .special-abilities-box .hide-as-pc,
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box .hide-as-npc,
.charsheet input[value='1'].toggle-npc ~ .background .special-abilities-box .hide-as-npc,
.charsheet input[value='1'].toggle-npc ~ .background .special-abilities-box div.sect .hide-as-npc {
display: none;
}
/* toggle options */
/* Hide Sheet Areas */
.charsheet input[type='checkbox'].toggle-thief-skills:checked ~ .background .thief-skills-box,
.charsheet input[type='checkbox'].toggle-thief-skills:checked ~ .background .toggle-backstab,
.charsheet input[type='checkbox'].toggle-spells:checked ~ .background .spells-box,
.charsheet input[type='checkbox'].toggle-caster2:checked ~ .background .toggle-caster2,
.charsheet input[type='checkbox'].toggle-nwp:checked ~ .background .nonweapon-proficiencies-box,
.charsheet input[type='checkbox'].toggle-costs:checked ~ .background .toggle-costs,
.charsheet input[type='checkbox'].toggle-comeliness:checked ~ .background .toggle-comeliness,
.charsheet input[type='checkbox'].toggle-multiclass:checked ~ .background .toggle-multiclass,
.charsheet input[type='checkbox'].toggle-psionics:checked ~ .background .toggle-psionics,
.charsheet input[type='checkbox'].toggle-macros:checked ~ .background .toggle-macros,
.charsheet input[type='checkbox'].toggle-critdamage:not(:checked) ~ .background .toggle-critdamage,
.charsheet input[type='checkbox'].toggle-lbs:not(:checked) ~ .background span.toggle-lbs + span,
.charsheet input[type='checkbox'].toggle-lbs:checked ~ .background span.toggle-lbs {
display: none;
}
.charsheet .background .toggle-multiclass-swap {
display: none;
}
.charsheet input[type='checkbox'].toggle-multiclass:checked ~ .background .toggle-multiclass-swap {
display: flex;
margin-inline: inherit;
text-align: end;
}
/* hide costs all tabs*/
.charsheet input[type='checkbox'].toggle-costs:checked ~ .background .equipment-columns {
grid-template-columns:
3.5em minmax(7em, 2fr) minmax(4em, 1fr) minmax(3em, 7em) minmax(1em, 3em) minmax(3.5em, 5em) 0.5em minmax(1em, 3em) minmax(3em, 5em) minmax(1em, 3em) 0.5em minmax(1em, 3em) minmax(1em, 4em) 0;
}
/* hide costs Armor tab specific */
.charsheet .toggle-costs:checked ~ .background .equipment-display-type[value='2'] ~ .equipment-columns,
.charsheet .toggle-costs:checked ~ .background .equipment-display-type[value='2'] ~ .repcontainer .equipment-columns {
display: grid;
grid-template-columns:
3.5em minmax(7em, 2fr) minmax(4em, 1fr) minmax(3em, 7em) minmax(3.5em, 5em) minmax(3em, 5em) minmax(1em, 3em) 0.5em minmax(1em, 3em) minmax(1em, 4em);
}
/* prevent interaction until an armor type is chosen */
.charsheet .toggle-armor-details[value='99'] + label ~ label {
opacity: 0.5;
pointer-events: none;
user-select: none;
}
.charsheet input[type='checkbox'].toggle-costs:checked ~ .background .equipment-totals {
grid-template-columns: 8em 6em;
}
/*hide exceptional ability column */
.charsheet input[type='checkbox'].toggle-exceptional:checked ~ .background .toggle-exceptional,
.charsheet input[type='checkbox'].toggle-exceptional:checked ~ .background .exceptional:not(:checked) + .toggle-exceptional,
.charsheet input[type='checkbox'].toggle-exceptional:not(:checked) ~ .background .exceptional:not(:checked) + .toggle-exceptional {
margin: 0 5px 0 0;
min-width: 0;
visibility: hidden;
width: 0;
}
.charsheet input[type='checkbox'].toggle-exceptional:checked ~ .background .exceptional:not(:checked) + .toggle-exceptional.strength {
width: 1em;
visibility: visible;
position: relative;
margin-right: -1.75em;
opacity: 1;
}
.charsheet input[type='checkbox'].toggle-exceptional:checked ~ .background .exceptional:not(:checked) + .toggle-exceptional.strength input {
background-color: transparent;
}
.charsheet input[type='checkbox'].toggle-exceptional:checked ~ .background .wrapper .abilities-columns .exceptional:checked + label.toggle-exceptional.strength,
.charsheet input[type='checkbox'].toggle-exceptional:not(:checked) ~ .background .exceptional:checked + .toggle-exceptional {
margin: 0 2px 0 -5px;
min-width: 2.75em;
visibility: visible;
opacity: 1;
}
.charsheet input[type='checkbox'].toggle-exceptional:checked ~ .background .exceptional:not(:checked) + sup.toggle-exceptional.strength,
.charsheet input[type='checkbox'].toggle-exceptional:not(:checked) ~ .background .exceptional:not(:checked) + sup.toggle-exceptional.strength {
margin: -5px 0 0 -10px;
min-width: 0;
visibility: hidden;
width: 0;
}
.charsheet input[type='checkbox'].toggle-exceptional:checked ~ .background .exceptional:checked + sup.toggle-exceptional.strength,
.charsheet input[type='checkbox'].toggle-exceptional:not(:checked) ~ .background .exceptional:checked + sup.toggle-exceptional.strength {
margin: 5px 0 0 -10px;
min-width: 1em;
visibility: visible;
}
/*choose to hit table*/
.charsheet .toggle-to-hit-table ~ .subheader .matrix-box,
.charsheet .toggle-to-hit-table ~ .sect .matrix-box,
.charsheet .toggle-to-hit-table ~ .subheader .thac0-box,
.charsheet .toggle-to-hit-table ~ .sect .thac0-box {
display: none;
opacity: 1;
}
.charsheet .toggle-to-hit-table:not(:checked) ~ .subheader .matrix-box,
.charsheet .toggle-to-hit-table:not(:checked) ~ .sect .matrix-box,
.charsheet .toggle-to-hit-table:checked ~ .subheader .thac0-box,
.charsheet .toggle-to-hit-table:checked ~ .sect .thac0-box {
display: inline-flex;
}
.charsheet .toggle-to-hit-table:not(:checked) ~ .sect .matrix-class.matrix-box,
.charsheet .toggle-to-hit-table:checked ~ .sect .matrix-class.thac0-box {
display: grid;
}
/* indicates an input error */
.charsheet input[type='checkbox'].toggle-input-error:not(:checked) + label input[type='text'],
.charsheet input[type='checkbox'].toggle-input-error:not(:checked) + input[type='text'],
.charsheet input:invalid:required {
box-shadow: 0 0 0 2px red;
color: red;
outline: 2px dotted gold;
}
/* indicates attention */
.charsheet input[type='checkbox'].toggle-input-attention:checked + label input[type='text'] {
outline: 2px dashed #a5a1a7;
outline-offset: -1px;
}
.charsheet input[type='checkbox'].toggle-input-attention + label .material-icons,
.charsheet input[type='checkbox'].toggle-input-attention + .material-icons {
color: crimson;
display: none;
font-size: var(--text-xxl);
opacity: 0.9;
position: absolute;
}
/* encumbrance warning */
.charsheet input[type='checkbox'].toggle-input-attention:checked + label .material-icons {
display: block;
margin: 5px 0 0 -68px;
}
/* matrix warning */
.charsheet input[type='checkbox'].toggle-input-attention:checked + .material-icons {
display: block;
margin: 9px 0 0 -16px;
opacity: 1;
}
.charsheet .wrapper .autoexpand,
.charsheet .wrapper .npc-box .autoexpand {
height: 1.85em;
max-width: 15em;
min-width: 3em;
overflow: visible;
position: relative;
width: fit-content;
}
.charsheet .wrapper .notes-box .autoexpand {
max-width: 100%;
min-width: 12em;
}
.charsheet .wrapper .autoexpand span {
font-size: var(--text-med);
padding: 0 6px 0 6px;
visibility: hidden;
}
.charsheet .wrapper .autoexpand textarea {
display: block;
height: -webkit-fill-available;
height: 100%;
padding: 6px;
resize: none;
white-space: break-spaces;
z-index: 1;
}
.charsheet .wrapper .autoexpand textarea:hover {
resize: none;
}
.charsheet .wrapper .autoexpand textarea + span {
display: block;
line-height: normal;
margin: auto;
max-width: 100%;
overflow: hidden;
padding: 6px;
position: relative;
white-space: break-spaces;
}
.charsheet .wrapper .autoexpand textarea,
.charsheet .wrapper .autoexpand input {
font-size: var(--text-med);
margin: auto;
position: absolute;
width: 100%;
}
.charsheet .wrapper .autoexpand:has(textarea) {
display: block;
height: fit-content;
max-width: 100%;
min-height: 6em;
min-width: 100%;
width: 100%;
}
.charsheet .wrapper .autoexpand:has(input[placeholder='Description']) {
min-width: 7em;
}
.charsheet .shrink-on-placeholder:placeholder-shown {
order: -1;
visibility: collapse;
}
/* main grid */
/* general layout */
.charsheet .two-columns {
display: grid;
grid-template-columns: 1fr 1fr;
justify-items: center;
}
.charsheet .three-columns {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
justify-items: center;
width: 100%;
}
.charsheet .four-columns {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
justify-items: center;
width: 100%;
}
.charsheet .five-columns {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
justify-items: center;
width: 100%;
}
.charsheet .six-columns {
align-items: center;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
justify-items: center;
width: 100%;
}
.charsheet .eight-columns {
align-items: center;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
justify-items: center;
width: 100%;
}
.charsheet .span-two {
grid-column: span 2;
justify-self: left;
width: 100%;
}
.charsheet .span-three {
grid-column: span 3;
width: 100%;
}
.charsheet .span-four {
grid-column: span 4;
justify-content: space-evenly;
width: 100%;
}
.charsheet .span-five {
grid-column: span 5;
justify-content: space-evenly;
width: 100%;
}
.charsheet .span-six {
display: flex;
grid-column: span 6;
justify-content: space-evenly;
width: 100%;
}
.charsheet .span-seven {
grid-column: span 7;
justify-content: space-evenly;
width: 100%;
}
.charsheet .span-ten {
grid-column: span 10;
justify-content: space-evenly;
width: 100%;
}
.charsheet .span-all {
grid-column: 1/-1;
justify-self: left;
width: 100%;
}
details:hover,
summary:hover,
summary:hover * {
text-decoration: none;
}
details[open] summary:hover,
details[open]:focus-within summary {
border-radius: 0;
z-index: 1;
}
.sheet-darkmode .tab-content .charsheet details:hover summary,
.sheet-darkmode .tab-content .charsheet details:hover summary span,
.sheet-darkmode .tab-content .charsheet details:hover summary span label,
.sheet-darkmode .tab-content .charsheet details[open] summary,
.sheet-darkmode .tab-content .charsheet details[open]:hover summary + div,
.sheet-darkmode .tab-content .charsheet details[open]:hover summary + div label {
background-color: inherit;
color: inherit;
}
details {
padding: 2px;
}
details[open] {
border-radius: 4px;
outline: 1px solid var(--color-lightgrey2);
padding: 2px;
}
summary {
cursor: pointer;
}
summary > * {
display: inline;
}
summary::-webkit-details-marker {
display: none;
}
.charsheet details summary span.material-icons.custom-btn-nav::before,
.charsheet details summary span.material-icons.custom-btn-nav::before {
font-size: var(--text-med);
}
.charsheet input.sect-show:hover + span.material-icons::before,
.charsheet input.toggle-npc:hover + span.material-icons.custom-btn-nav::before,
.charsheet details summary:hover > span.material-icons.gear-nav::before,
/* works with new .top-row change*/
.charsheet .top-row:hover ~ details summary > span.material-icons.gear-nav::before,
.charsheet .top-row ~ details[open] summary > span.material-icons.gear-nav::before,
.charsheet details summary:hover > span.material-icons.custom-btn-nav::before {
color: var(--link-hover);
opacity: 1;
transform: rotate(180deg);
transform-origin: center;
z-index: 999;
}
.charsheet input.sect-show + span.material-icons::before,
.charsheet input.toggle-npc + span.material-icons::before,
.charsheet details summary span.material-icons::before {
content: 'settings';
cursor: pointer;
font-size: var(--text-med);
line-height: normal;
opacity: 0.5;
position: absolute;
transition: all 0.6s ease;
}
.charsheet details summary:hover span.material-icons.custom-btn-nav::before {
margin: auto;
}
.charsheet .weapons-row2 details summary:hover > span.material-icons.custom-btn-nav::before {
display: block;
margin: 0 -10px 0 -6px;
opacity: 1;
}
.charsheet .weapons-row2 details summary > span.material-icons.custom-btn-nav::before {
display: block;
margin: 0 -10px 0 -6px;
opacity: 0.5;
}
.charsheet details summary span.material-icons.custom-btn-nav::before {
margin: auto;
}
.charsheet input.toggle-npc:hover + span.material-icons.custom-btn-nav::before {
margin: -0.5em 0 0 0.25em;
z-index: 0;
}
.charsheet input.toggle-npc + span.material-icons.custom-btn-nav::before {
font-size: var(--text-xl);
margin: -0.5em 0 0 0.25em;
}
.charsheet details[open] summary span.material-icons::before {
opacity: 1;
}
.charsheet .material-icons.gear-nav {
left: 0;
position: absolute;
top: 0;
}
/* nav triangle placement for repeating rows */
.charsheet .repitem summary::before {
left: 3.75em;
top: 0.125em;
}
/* character name */
.charsheet .heading-box input.text-large {
margin: -0.5em 0 0.5em 0;
padding: 5px;
}
/* HP Heart */
.charsheet .heart {
display: inline-block;
height: 3em;
}
.charsheet .background .wrapper .logo-box input.heart-input {
background-color: transparent;
border: 0;
color: var(--color-white1);
display: block;
font-size: 2.12rem;
margin: -2em 0 0 0.125em;
padding: 2px 0 0 0;
position: relative;
width: 2em;
z-index: 1;
}
/*darkmode*/
.sheet-darkmode .tab-content .charsheet .wrapper input[type='text'].heart-input,
.sheet-darkmode .tab-content .charsheet .wrapper input[type='text'].shield-input {
background-color: transparent;
}
.sheet-darkmode .tab-content .charsheet .wrapper .heart::before,
.sheet-darkmode .tab-content .charsheet .wrapper .shield::before {
-webkit-text-fill-color: var(--color-black1);
-webkit-text-stroke: 2px var(--color-white3);
color: transparent;
}
.charsheet .heart::before {
-webkit-text-fill-color: var(--color-darkgrey1);
-webkit-text-stroke: 2px #000;
content: 'k';
font-family: Pictos;
font-size: 7.25rem;
margin: 0 0 0 -0.125em;
position: relative;
}
/* AC Shield */
.charsheet .shield {
display: inline-block;
height: 2.58em;
}
.charsheet .background .wrapper .logo-box input.shield-input {
background-color: transparent;
border: 0;
color: var(--color-white1);
display: block;
font-size: 2.12rem;
margin: -2.5em 0 0 0.3em;
padding: 3px 0 0 0;
position: relative;
width: 2em;
z-index: 1;
}
.charsheet .shield::before {
-webkit-text-fill-color: var(--color-darkgrey1);
-webkit-text-stroke: 2px #000;
content: 'b';
font-family: Pictos Three;
font-size: 7.25rem;
position: relative;
}
.charsheet .wrapper .column-header {
background-color: var(--color-darkgrey1);
border-bottom: 1px solid var(--color-darkgrey1);
border-top: 1px solid var(--color-darkgrey1);
color: var(--color-white1);
cursor: default;
margin: -1px -1px 0 -1px;
text-align: center;
width: calc(100% + 2px);
}
.charsheet .background .wrapper .sect .column-header span {
color: var(--color-white1);
}
.sheet-darkmode .background .wrapper .sect .column-header span {
color: var(--color-white2);
}
/* label is before field */
.charsheet label,
.charsheet .sect label,
.charsheet .inline-label {
align-items: center;
display: flex;
margin: auto;
padding: 0;
}
.charsheet .sect label > span,
.charsheet .label-under > span,
.charsheet .inline-label span,
.charsheet .label-under-small,
.charsheet .more + span {
font-size: var(--text-med);
font-weight: var(--text-wt600);
}
.charsheet .wrapper .inline-label label span,
.charsheet .wrapper label.inline-label span {
align-self: center;
margin: 0 2px 0 5px;
}
.charsheet .npc-box .inline-label.split label {
margin-inline: 0;
}
.charsheet .npc-box .inline-label.split label:first-child {
min-width: 33%;
width: min-content;
}
.charsheet .wrapper .npc-box label > span {
font-family: var(--font-monster);
font-size: var(--text-med);
font-weight: var(--text-wt600);
}
.charsheet .npc-box .four-columns span {
max-width: min-content;
text-align: center;
}
.charsheet .npc-box .four-columns span button {
height: 3.65em;
}
.charsheet .npc-box .npc-init-box {
justify-content: center;
}
.charsheet .long {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
/* label is under field */
.charsheet .wrapper .label-under {
flex-direction: column;
height: 100%;
}
.charsheet .background .wrapper .label-under-small,
.charsheet .background .wrapper .label-under-small span {
flex-direction: column;
font-size: calc(var(--text-sm) + 0.08rem);
}
.charsheet label input {
align-self: center;
margin-left: 0.125em;
white-space: nowrap;
}
.charsheet label:has(> input[type='checkbox']) {
margin: auto;
max-width: fit-content;
position: relative;
}
.charsheet .inline-label {
white-space: nowrap;
}
.charsheet .inline-label.wrap {
flex-wrap: wrap;
}
.charsheet .inline-label.wrap > * {
flex: 1;
max-width: fit-content;
min-width: auto;
width: auto;
}
.charsheet .inline-label.wrap > h4 {
max-width: fit-content;
}
.charsheet .hide-overflowing-text {
max-height: 1.35em;
overflow: hidden;
text-align: center;
}
.charsheet .label-under-small:has(.hide-overflowing-text) {
min-width: 10%;
}
.charsheet .label-percent::after {
content: '%';
font-size: var(--text-med);
font-weight: normal;
left: -4px;
position: relative;
}
.charsheet .label-equals::after {
content: '=';
margin: 0 -1ch 0 0;
}
.charsheet .label-plus::after {
content: '+';
margin: 0 -1ch 0 0;
}
.charsheet .label-plus-minus::after {
content: '±';
margin: 0 -1ch 0 0;
}
.charsheet .label-parenthesis-left::before {
content: '(';
font-weight: normal;
margin: 0 -1px 2px 0;
}
.charsheet .label-parenthesis-right::after {
content: ')';
font-weight: normal;
margin: 0 0 2px -1px;
}
.charsheet .material-icons.grid::after {
content: 'view_module';
display: inline-flex;
font-size: inherit;
opacity: 0.75;
position: relative;
vertical-align: middle;
}
.charsheet .material-icons.grid::before {
content: '';
}
.charsheet .top-header {
display: grid;
grid-column: 1/-1;
grid-template-columns: 1fr 1fr 1fr 1fr;
left: -1em;
margin: -2em 0 0 0;
position: relative;
width: 102%;
}
.charsheet .npc-toggle {
grid-column: 1/1;
grid-row-start: 1;
z-index: 1;
}
.charsheet .sheet-type {
display: grid;
position: relative;
top: -1.1em;
}
.charsheet .friend-foe > span {
position: relative;
top: 6px;
width: 91px;
}
.charsheet input.is-friend {
height: 1em;
left: 26px;
opacity: 0;
position: absolute;
top: -5px;
width: 2.75em;
z-index: 1;
}
.charsheet input.is-foe {
height: 1em;
width: 2em;
opacity: 0;
position: absolute;
top: -5px;
right: 0;
z-index: 1;
}
.charsheet .friend-foe .inline-label input.is-friend + span::before {
border-right: 1px solid var(--color-black1);
content: 'Friend';
line-height: 1em;
font-weight: normal;
opacity: .35;
padding-right: 5px;
position: absolute;
top: 0;
left: 27px;
}
.charsheet .friend-foe .inline-label input.is-foe + span::before {
border-left: 1px solid var(--color-black1);
content: 'Foe';
line-height: 1em;
font-weight: normal;
opacity: .35;
padding-left: 5px;
position: absolute;
right: 4px;
top: 0;
}
.charsheet .friend-foe .inline-label input[type="radio"].is-friend:checked + span::before,
.charsheet .friend-foe .inline-label input[type="radio"].is-foe:checked + span::before {
font-weight: bold;
opacity: 1;
text-decoration: underline;
}
.charsheet input.is-pc {
bottom: -12px;
height: 1em;
left: 16px;
opacity: 0;
position: absolute;
width: 1.2em;
z-index: 1;
}
.charsheet input.is-npc {
bottom: -12px;
height: 1em;
opacity: 0;
position: absolute;
right: 0;
width: 2em;
z-index: 1;
}
.charsheet .pc-npc .inline-label input.is-pc + span::before {
border-right: 1px solid var(--color-black1);
content: 'PC';
line-height: 1em;
font-weight: normal;
opacity: .35;
padding-right: 7px;
position: absolute;
left: 25px;
bottom: -8px;
}
.charsheet .pc-npc .inline-label input.is-npc + span::before {
border-left: 1px solid var(--color-black1);
content: 'NPC';
line-height: 1em;
font-weight: normal;
opacity: .35;
padding-left: 5px;
position: absolute;
right: 0;
bottom: -8px;
}
.charsheet .pc-npc .inline-label input[type="radio"].is-pc:checked + span::before,
.charsheet .pc-npc .inline-label input[type="radio"].is-npc:checked + span::before {
font-weight: bold;
opacity: 1;
text-decoration: underline;
}
.charsheet .friend-foe .inline-label input.is-friend:hover + span::before,
.charsheet .friend-foe .inline-label input.is-foe:hover + span::before,
.charsheet .pc-npc .inline-label input.is-pc:hover + span::before,
.charsheet .pc-npc .inline-label input.is-npc:hover + span::before {
font-weight: bold;
opacity: .75;
}
.charsheet .npc-toggle.npc-tabs {
border: none;
width: 10em;
}
.charsheet input.is-npc[value='0'] ~ .background .wrapper .top-header .npc-toggle input[value='0'] + span::after {
content: 'PC';
}
.charsheet input.is-npc[value='1'] ~ .background .wrapper .top-header .npc-toggle input[value='0'] + span::after {
content: 'NPC';
}
.charsheet .announcements-box {
display: grid;
grid-column: 2/-1;
grid-row-start: 1;
grid-template-columns: 6em auto 1fr;
justify-self: end;
margin-top: 7px;
}
.charsheet .announcements-box > input,
.charsheet .announcements-box > .header,
.charsheet .announcements-box > .material-icons {
bottom: -2px;
position: relative;
right: 0;
}
.charsheet .announcements-box input[type='checkbox'].sect-show {
bottom: 2px;
height: 15px;
margin: 0;
position: absolute;
right: -15px;
width: 22px;
}
.charsheet .npc-box.statblock1 {
grid-column: 1/2;
grid-row-start: 2;
padding-top: 0.75em;
}
.charsheet .npc-box.statblock2 {
grid-column: 1/2;
grid-row-start: 7;
padding-bottom: 1em;
}
.charsheet .npc-box.statblock3 {
grid-column: 2/3;
grid-row-start: 2;
height: 100%;
z-index: 0;
}
.charsheet .npc-box.statblock3-span {
grid-column: 1/3;
grid-row-start: 3;
margin-top: 2px;
max-width: 70vw;
min-width: 60vw;
}
/* center image */
section.npc-box.statblock3 .image-avatar {
align-self: center;
max-height: 100%;
}
/* hypertext image link */
.charsheet .background .wrapper .image-avatar img + button {
bottom: 50%;
display: none;
min-height: 100%;
min-width: 100%;
opacity: 0;
position: absolute;
top: 50%;
z-index: 3;
}
.charsheet .background .wrapper .image-avatar:hover:has(> img[src]) {
background-color: revert;
}
.charsheet .background .wrapper .image-avatar:hover img[src] + button {
display: block;
}
.charsheet .npc-box.statblock4 {
grid-column: 2/3;
grid-row-start: 7;
height: 100%;
padding: 0 1em 0 1em;
}
.charsheet .header .hide-as-pc {
color: initial;
display: inline-block;
font-family: var(--font-monster);
font-size: var(--text-med);
margin: 2px 0 2px -2px;
}
.sheet-darkmode .charsheet .header .hide-as-pc {
color: var(--color-white3);
}
.charsheet .wrapper .npc-box .image-avatar {
align-items: center;
display: inline-flex;
height: 100%;
margin: 0.5em;
max-height: 310px;
max-width: 310px;
min-height: 20px;
min-width: 120px;
overflow: visible;
padding-left: 0;
width: 100%;
}
.charsheet .npc-box .image-avatar img {
height: fit-content;
max-height: 310px;
object-fit: scale-down;
}
.charsheet .npc-box .inline-label {
width: 100%;
}
.charsheet .npc-box label > span + span {
justify-content: left;
text-align: left;
width: inherit;
}
.charsheet .npc-box label > span input,
.charsheet .npc-box label > input {
padding-left: clamp(2px, 7%, 10px);
text-align: left;
}
.charsheet .header-box {
align-items: center;
display: grid;
grid-column: 1/-1;
grid-row-start: 2;
grid-template-columns: 1fr 1.5fr auto;
justify-items: center;
position: relative;
}
.charsheet .heading-box {
align-self: center;
display: flex;
flex-direction: column;
grid-column-start: 1;
grid-row-start: 1;
min-width: 18em;
padding: 0 5px 5px 0;
row-gap: 3px;
z-index: 1;
}
.charsheet .logo-box {
align-content: space-evenly;
align-self: normal;
display: grid;
grid-template-columns: 1fr 1fr 4em;
grid-template-rows: 8em 8em;
justify-items: center;
max-width: 30em;
min-width: 280px;
width: 100%;
z-index: 1;
}
.charsheet .logo-box .two-columns {
align-content: end;
min-width: 18em;
}
.charsheet .logo-box .two-columns label {
justify-content: center;
margin: 0 0 1em 0;
max-width: none;
min-width: 0;
width: 50%;
}
.charsheet .logo-box .normalmode,
.charsheet .logo-box .darkmode {
background-position: 50% 0;
background-repeat: no-repeat;
background-size: contain;
height: 8em;
width: calc(100% - 25px);
}
.charsheet .logo-box .normalmode {
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/ADnD_1E/images/logo.png);
opacity: 0.9;
}
.charsheet .logo-box .darkmode {
display: none;
}
/* darkmode */
.sheet-darkmode .tab-content .charsheet .logo-box .darkmode {
background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/ADnD_1E/images/logo_inverted.png);
display: block;
opacity: 0.8;
}
.sheet-darkmode .tab-content .charsheet .logo-box .normalmode {
display: none;
}
.charsheet .portrait-box {
align-content: center;
display: flex;
grid-column: 3/4;
grid-row-start: 1;
position: absolute;
width: 100%;
}
/* sheet is set to no image */
.charsheet .portrait-box:has(input[type='hidden'].toggle-avatar[value="2"]),
.charsheet .wrapper .npc-box.statblock3:has(.toggle-avatar[value="2"]) {
display: none;
}
/* sheet image avatar or url toggle */
.charsheet .image-avatar img {
display: none;
}
/* hides the ghosted outline when no avatar has been selected yet */
.charsheet input[type='hidden'].toggle-avatar[value="1"] ~ .image-avatar img,
.charsheet input[type='hidden'].toggle-avatar[value="2"] ~ .image-avatar img {
display: none;
}
.charsheet input[type='hidden'].toggle-avatar[value="1"] ~ .image-avatar img[src] {
display: inherit;
}
/* needs important to override inline style added by roll20 */
.charsheet input[type='hidden'].toggle-avatar[value="1"] ~ .image-avatar,
.charsheet input[type='hidden'].toggle-avatar[value="2"] ~ .image-avatar {
background-image: none !important;
min-width: auto;
}
.charsheet .image-avatar {
align-items: center;
background-color: transparent;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
box-sizing: content-box;
display: flex;
flex-grow: 1;
height: 200px;
justify-content: center;
margin: 0 0.5em 0 0.5em;
max-width: 200px;
overflow: hidden;
padding-left: 10px;
position: relative;
right: -10px;
width: fit-content;
}
/* breakpoint behavior for sheet portrait */
/* img url is a background image which is not detected by the grid
this prevents collapsing the 3rd column when using an image */
.charsheet .header-box:has(.image-avatar:checked[style*='http']),
.charsheet .header-box:has(.toggle-avatar[value="1"] + .image-avatar img),
.charsheet .header-box:has(.toggle-avatar[value="2"] + .image-avatar img) {
grid-template-columns: 1fr 1.5fr auto;
}
.charsheet .header-box:has(.image-avatar[style*='http']),
.charsheet .header-box:has(.toggle-avatar[value="1"] + .image-avatar img[src]) {
grid-template-columns: 1fr 1.5fr 1fr;
position: relative;
}
.charsheet .background,
.charsheet .header-box,
.charsheet .logo-box,
.charsheet .image-avatar,
.charsheet .portrait-box {
container-type: inline-size;
}
@container (max-width: 281px) {
.charsheet .background .wrapper .header-box:has(.image-avatar[style*='http']) .logo-box .ac-columns,
.charsheet .background .wrapper .header-box:has(.toggle-avatar[value="1"] + .image-avatar img[src]) .logo-box .ac-columns {
align-self: baseline;
flex-direction: row;
margin: 4.1em -4.5em 0 0;
width: 100%;
}
.charsheet .background .wrapper .header-box:has(.image-avatar[style*='http']) .logo-box .ac-columns label:nth-child(2),
.charsheet .background .wrapper .header-box:has(.toggle-avatar[value="1"] + .image-avatar img[src]) .logo-box .ac-columns label:nth-child(2) {
margin-left: 5px;
}
.charsheet .background .wrapper .header-box:has(.image-avatar[style*='http']) .logo-box .ac-columns label:last-child,
.charsheet .background .wrapper .header-box:has(.toggle-avatar[value="1"] + .image-avatar img[src]) .logo-box .ac-columns label:last-child {
margin-left: 8px;
}
}
@container (max-width: 686px) {
.charsheet .background .wrapper .header-box .portrait-box {
display: block;
max-height: var(--portrait-min-xy);
min-height: var(--portrait-min-xy);
/* position: relative; */
right: 3.95vw;
top: 0;
}
}
/* works for avatar image */
@container (max-width: 188px) {
.charsheet .background .wrapper .header-box .portrait-box .image-avatar {
margin: auto;
max-height: var(--portrait-min-xy);
min-width: var(--portrait-min-xy);
overflow: visible;
}
}
/* applies the same breakpoint behavior for url image */
@container (max-width: 166px) {
.charsheet .wrapper .portrait-box .image-avatar img {
height: var(--portrait-min-xy);
min-width: var(--portrait-min-xy);
}
}
/* NPC single column */
@container (max-width: 518px) {
.charsheet .background .wrapper {
grid-template-columns: 100%;
}
.charsheet .background .footer-box {
grid-column: 1;
margin-top: 1em;
}
.charsheet .background section.npc-box.statblock3 div.image-avatar {
display: block;
max-height: 135px;
min-height: 26vw;
min-width: 135px;
right: 29vw;
top: -5px;
width: 26vw;
z-index: -1;
}
.charsheet .background .statblock1 > input[type='text'] {
width: 63%;
}
.charsheet .background .statblock3-span {
grid-column: 1/2;
}
.charsheet .background .statblock4 {
grid-column: 1/2;
grid-row-start: 8;
min-height: 10em;
padding: inherit;
}
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box .matrix-box,
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box .thac0-box,
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box label,
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box .to-hit-adj-box h4,
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box .to-hit-adj-box span span {
font-size: 85%;
}
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box > .sect {
margin-bottom: 0 !important;
}
.charsheet .toggle-npc ~ .background .weapons-box .matrix-box,
.charsheet .toggle-npc ~ .background .weapons-box .thac0-box {
display: none;
}
.charsheet input[value='1'].toggle-npc:checked ~ .background .weapons-box .matrix-box,
.charsheet input[value='1'].toggle-npc:checked ~ .background .weapons-box .thac0-box {
display: contents;
}
.charsheet input[value='1'].toggle-npc ~ .background .weapons-box .to-hit-adj-box {
display: grid;
overflow-x: scroll;
overflow-y: clip;
}
.charsheet input[value='1'].toggle-npc ~ .background .special-abilities-box .sect > span:first-child {
display: none;
}
.charsheet input[value='1'].toggle-npc ~ .background .special-abilities-box .repcontainer[data-groupname='repeating_ability'],
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities:not(:checked) ~ .background .repcontainer[data-groupname='repeating_ability'] {
column-count: 1;
column-gap: 0;
column-width: auto;
height: auto;
min-width: 100%;
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities:checked ~ .background .repcontainer[data-groupname='repeating_ability'] {
column-count: 1;
min-width: auto;
}
.charsheet input[value='1'].toggle-npc ~ .repcontainer[data-groupname='repeating_ability'] .repitem {
-webkit-column-break-inside: avoid;
break-inside: avoid-column;
display: grid;
page-break-inside: avoid;
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities ~ .background .special-abilities-row1.column-header.two-column-header {
display: none;
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities ~ .background .special-abilities-row1.two-column-header {
align-items: center;
display: grid;
grid-template-columns: 5em 1fr 7em 5em 1fr 7em;
justify-items: center;
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 {
display: grid;
grid-template-areas:
'a b b b c c c'
'd d d d d d d';
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 .ability-area-roll {
grid-area: a;
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 .ability-area-name {
grid-area: b;
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 .ability-area-uses {
grid-area: c;
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 .ability-area-desc {
grid-area: d;
}
.charsheet input[value='1'].toggle-npc ~ input.toggle-single-column-abilities ~ .background .special-abilities-box .spell-details-grid {
border: none;
max-width: fit-content;
}
/* NPC portrait breakpoint behavior */
/* attacks */
/* special abilities */
}
.charsheet .image-avatar img {
background-color: transparent;
height: 200px;
object-fit: scale-down;
overflow: hidden;
z-index: 1;
}
.charsheet .class-box {
grid-column: 1/-1;
grid-row-start: auto;
margin-top: -1em;
}
.charsheet .ac-columns {
align-self: end;
display: flex;
flex-direction: column;
padding-bottom: 1em;
row-gap: 0.5em;
}
.charsheet .armor-columns label:first-child {
font-weight: var(--text-wt400);
justify-content: center;
}
.charsheet .armor-columns input[type='checkbox']:checked:nth-of-type(1) ~ :not(*:nth-child(n + 12)) {
font-weight: var(--text-wt600);
}
/* only reveal calc button if auto-calc is disabled */
.charsheet .armor-columns input[type='checkbox']:checked + button[type='action'] {
display: none;
}
.charsheet .armor-box {
grid-column: 1/-1;
grid-row-start: auto;
margin-top: -1em;
}
.charsheet .class-box:has(input.sect-show:checked) ~ .armor-box {
margin-top: 0;
}
.charsheet .armor-columns {
align-items: center;
display: grid;
grid-template-columns: minmax(7em, 1.5fr) 3em minmax(11em, 2fr) repeat(4, minmax(3em, 1fr)) 3.5em 7em;
justify-items: center;
}
.charsheet .armor-box .armor-columns.sect {
padding: 0;
}
.charsheet .armor-box .material-icons + .armor-columns.sect {
margin-top: -1em;
}
.charsheet .armor-box .sect-show:not(:checked) ~ .sect + .armor-columns {
margin-top: -1em;
}
.charsheet div.background div.wrapper section.class-box > .sect-show:not(:checked),
.charsheet div.background div.wrapper section.armor-box > .sect-show:not(:checked) {
display: none;
}
.charsheet .ac-calc-columns {
display: grid;
grid-template-columns:
minmax(3em, 0.75fr) minmax(3em, 0.75fr) minmax(3em, 0.75fr) auto minmax(3em, 0.75fr) minmax(3em, 0.75fr) auto minmax(4em, 1fr) minmax(3em, 0.75fr) auto minmax(4em, 1fr) auto;
}
.charsheet .sync-lock > input[type='checkbox'],
.charsheet .sync-lock input[type='checkbox'] {
opacity: 0;
position: absolute;
}
.charsheet .sync-lock > span + input[type='checkbox'],
.charsheet .sync-lock label + input[type='checkbox'],
.charsheet .sync-lock span + input[type='checkbox'] {
opacity: 1;
position: relative;
}
.charsheet .sync-lock:hover,
.charsheet .sync-lock:hover > input[type='checkbox'] + span,
.charsheet .sync-lock:hover input[type='checkbox'] + span {
background-color: transparent;
color: var(--link-hover);
opacity: 1;
}
.charsheet .sync-lock > input[type='checkbox'] + span,
.charsheet .sync-lock input[type='checkbox'] + span {
min-width: 1.1em;
opacity: 0.5;
}
.charsheet .wrapper .armor-columns .span-six span.sync-lock input[type='checkbox'] + span {
margin: 0 0 2px 3px;
}
.charsheet .sync-lock > input[type='checkbox']:checked + span::before,
.charsheet .sync-lock input[type='checkbox']:checked + span::before {
content: '(';
font-family: 'Pictos';
}
.charsheet .sync-lock > input[type='checkbox'] + span::before,
.charsheet .sync-lock input[type='checkbox'] + span::before {
content: ')';
font-family: 'Pictos';
margin-right: -12px;
}
.charsheet .class-columns {
align-items: center;
display: grid;
grid-template-columns:
minmax(5em, 1fr) minmax(2em, 4em) minmax(2em, 4.75em) minmax(5em, 0.75fr) auto minmax(3em, 4em) 0.25fr minmax(4em,
0.5fr) minmax(4em, 0.5fr) minmax(2em, 4em);
justify-items: center;
}
.charsheet .hp-calc-columns {
align-items: end;
display: grid;
grid-column: 4/11;
grid-template-columns: minmax(7em, 1fr) auto minmax(6em, 1fr) 1em 1fr 0.25fr minmax(5.5em, 1fr) minmax(5em, 1fr);
justify-items: center;
}
.charsheet input[type='checkbox'].toggle-multiclass:checked ~ .background .hp-calc-columns {
grid-template-columns: minmax(7em, 1fr) auto minmax(6em, 1fr) 2em 1fr;
margin-left: 0 !important;
}
.charsheet .hp-calc-columns label {
align-items: center;
}
.charsheet .personal-attributes-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .details-row,
.charsheet .details-row1,
.charsheet .details-row2 {
display: flex;
flex-direction: row;
padding-bottom: 4px;
}
.charsheet .personal-attributes-box .sect .details-row2 label {
margin: auto 5px auto 0;
}
.charsheet .details-row1 {
display: inline-flex;
flex-wrap: wrap;
row-gap: 2px;
}
.charsheet .details-row1 .inline-label {
flex: 1 1 auto;
flex-basis: min-content;
justify-content: center;
margin-inline: 0;
max-width: fit-content;
min-width: min-content;
width: fit-content;
}
.charsheet .details-row3 {
display: inline;
}
.charsheet .class-details,
.charsheet .armor-details {
min-width: 9em;
padding: 0 1em 0 1em;
text-align: center;
white-space: nowrap;
width: 50%;
}
.charsheet .class-details {
text-align: left;
}
.charsheet .abilities-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .abilities-columns {
align-items: center;
display: grid;
gap: 4px 0;
grid-template-columns:
3.65em minmax(2.5em, 3.5em) auto minmax(4em, 1fr) 2.5em minmax(4em, 1.5fr) 3.5em minmax(4em, 1.5fr) 3.5em minmax(4em, 1fr) 3.5em minmax(4em, 0.85fr) minmax(3em, 4em);
margin: 0 -1em 0 -1em;
}
.charsheet .abilities-columns label {
justify-content: end;
justify-self: end;
margin-inline: auto;
margin-right: 2px;
width: auto;
}
.charsheet .abilities-columns label span,
.charsheet .abilities-columns button {
text-align: right;
}
/* hyperlink and image buttons */
.charsheet .background .wrapper button.image-link,
.charsheet .background .wrapper button.info-link {
background-image: none;
border: none;
box-shadow: none;
margin: auto;
margin-left: 0;
min-width: auto;
}
.charsheet .background .wrapper button.image-link:hover,
.charsheet .background .wrapper button.info-link:hover {
background-image: none;
border: none;
box-shadow: none;
}
.charsheet .background .wrapper button.image-link:hover::after,
.charsheet .background .wrapper button.info-link:hover::after {
color: var(--link-hover);
}
.charsheet .background .wrapper button.image-link::after,
.charsheet .background .wrapper button.info-link::after {
display: flex;
font-family: 'Pictos';
font-size: 14px;
opacity: 0.7;
}
.charsheet button.image-link::after {
content: 'P';
}
.charsheet button.info-link::after {
content: 'j';
rotate: -45deg;
}
.charsheet .wrapper label:has(textarea.image-link),
.charsheet .wrapper label:has(textarea.info-link) {
margin: auto;
margin-left: 0;
width: min-content;
}
.charsheet label:has(textarea.image-link:focus-within),
.charsheet label:has(textarea.info-link:focus-within) {
margin: auto;
margin-left: 0;
min-width: 18.5em;
width: 100%;
}
.charsheet .inline-label:has(textarea.info-link:focus-within) label:first-child {
width: auto;
}
.charsheet label .image-link + textarea.image-link,
.charsheet label .info-link + textarea.info-link {
line-height: normal;
margin-left: 2px;
max-height: 1.65em;
overflow: hidden;
padding: inherit;
resize: none;
width: 3.75em;
}
.charsheet label .image-link + textarea.image-link:focus-within,
.charsheet label .info-link + textarea.info-link:focus-within {
margin: auto;
margin-left: 2px;
width: 100%;
}
.charsheet label .image-link + textarea.image-link,
.charsheet label .image-link + textarea.image-link,
.charsheet label .info-link + textarea.info-link,
.charsheet label .info-link + textarea.info-link {
transition: width linear(0 0%,
0.22 2.1%,
0.86 6.5%,
1.11 8.6%,
1.3 10.7%,
1.35 11.8%,
1.37 12.9%,
1.37 13.7%,
1.36 14.5%,
1.32 16.2%,
1.03 21.8%,
0.94 24%,
0.89 25.9%,
0.88 26.85%,
0.87 27.8%,
0.87 29.25%,
0.88 30.7%,
0.91 32.4%,
0.98 36.4%,
1.01 38.3%,
1.04 40.5%,
1.05 42.7%,
1.05 44.1%,
1.04 45.7%,
1 53.3%,
0.99 55.4%,
0.98 57.5%,
0.99 60.7%,
1 68.1%,
1.01 72.2%,
1 86.7%,
1 100%) 0.4s;
}
.charsheet .basemove-columns {
align-items: center;
display: grid;
grid-template-columns:
minmax(7em, 1fr) minmax(4em, 1fr) minmax(4em, 1.5fr) minmax(5em, 1.5fr) minmax(4em, 1fr) auto minmax(4em, 1fr) minmax(5em, 1fr) minmax(5em, 1fr);
row-gap: 0.75em;
text-align: center;
}
.charsheet .saves-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .saves-columns {
align-items: center;
display: grid;
grid-template-columns: minmax(8em, 2fr) 1fr 2em 1fr 1em 1fr 1em 1fr 1em 1fr 1em 1fr 0.5em;
justify-items: center;
height: 2.65em;
}
.charsheet .saves-box .saves-columns label:first-child,
.charsheet .thief-skills-box .thief-columns label:first-child {
align-items: center;
justify-content: center;
min-height: 2.85em;
text-align: center;
}
.charsheet .thief-skills-box .thief-columns label:first-child {
min-height: revert;
}
.charsheet .repcontainer[data-groupname='repeating_weapon'] .repitem,
.charsheet .repcontainer[data-groupname='repeating_equipment'] .repitem,
.charsheet .repcontainer[data-groupname='repeating_ability'] .repitem,
.charsheet .repcontainer[data-groupname='repeating_nonweaponproficiencies'] .repitem,
.charsheet .repcontainer[data-groupname='repeating_notes'] .repitem {
margin-block: 1px;
}
.charsheet .repcontainer[data-groupname='repeating_equipment'].editmode .repitem:has(input.toggle-carry[value='0'] ~ .equipment-display-carry),
.charsheet .repcontainer[data-groupname='repeating_equipment'].editmode .repitem:has(input.toggle-carry[value='1'] ~ .equipment-display-carry) {
line-height: 1.4em;
margin: auto;
}
.charsheet .weapons-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .weapons-proficiency-box {
display: grid;
grid-template-columns: 0.75fr 1fr 1fr 1fr 3em .5em 5em;
justify-items: right;
padding: 4px;
}
.charsheet input[value='0'].weapon-type-toggle ~ .top-row .weapons-row1 .hide-if-melee,
.charsheet input[value='2'].weapon-type-toggle ~ .top-row .weapons-row1 .hide-if-melee,
.charsheet input[value='1'].weapon-type-toggle ~ .top-row .weapons-row1 .hide-if-ranged,
.charsheet input[value='3'].weapon-type-toggle ~ .top-row .weapons-row1 .hide-if-ranged,
.charsheet input[value='0'].weapon-type-toggle ~ .top-row .weapons-row2 .hide-if-melee,
.charsheet input[value='2'].weapon-type-toggle ~ .top-row .weapons-row2 .hide-if-melee,
.charsheet input[value='1'].weapon-type-toggle ~ .top-row .weapons-row2 .hide-if-ranged,
.charsheet input[value='3'].weapon-type-toggle ~ .top-row .weapons-row2 .hide-if-ranged {
display: none;
}
.charsheet input[value='1'].weapon-type-toggle ~ .top-row .weapons-row2 .ranged-touch,
.charsheet input[value='3'].weapon-type-toggle ~ .top-row .weapons-row2 .hide-if-ranged-touch {
display: none;
}
.charsheet .background .wrapper .weapons-row1,
.charsheet .background .wrapper .weapons-row2 {
align-content: flex-start;
align-items: center;
display: flex;
flex-wrap: wrap;
gap: 0 2px;
justify-content: flex-start;
}
.charsheet .background .wrapper .weapons-row1 {
padding-top: 2px;
}
.charsheet .background .wrapper .weapons-row1 > label,
.charsheet .background .wrapper .weapons-row2 > label {
flex: 1 0 6em;
margin: inherit;
margin-inline: auto;
max-width: min-content;
}
/* in-use toggle */
.charsheet .background .wrapper .weapons-row2 > label:first-child {
position: absolute;
top: 1.75em;
}
.charsheet .background .wrapper .weapons-row2 > label:first-child span {
margin: auto;
}
.charsheet .background .wrapper .weapons-row1 button[type='roll'].dice-button {
margin: 0 0 0 0.75em;
}
.charsheet .background .wrapper .weapons-row2 > details {
border: none;
margin: auto;
max-width: 7em;
min-width: 6em;
}
.charsheet .background .wrapper .weapons-row1 label.repeating-name {
flex: 19%;
max-width: 25em;
min-width: 8em;
padding-inline: 5px;
}
.charsheet .background .wrapper .repeating-name input {
font-size: var(--text-med);
font-weight: var(--text-wt500);
}
/* crit damage modal */
.charsheet .toggle-macros:checked ~ .background .wrapper .weapons-row2 > details.small-damage[open] summary + .toggle-critdamage,
.charsheet .toggle-macros:checked ~ .background .wrapper .weapons-row2 > details.large-damage[open] summary + .toggle-critdamage {
background-color: var(--color-white3);
border: 1px solid;
border-radius: 4px;
color: initial;
display: block;
height: 2em;
margin: 0 0 0 0;
max-width: none;
min-width: auto;
opacity: 1;
padding: 2px 0 2px 0;
position: absolute;
resize: none;
width: 77px;
z-index: 3;
}
.charsheet .toggle-macros:checked ~ .background .wrapper .weapons-row2 > details.small-damage[open] summary + .toggle-critdamage button,
.charsheet .toggle-macros:checked ~ .background .wrapper .weapons-row2 > details.large-damage[open] summary + .toggle-critdamage button {
margin-inline: auto;
}
.charsheet .background .wrapper .weapons-row2 > details :first-child button {
margin-inline: auto;
margin-top: -2px;
max-height: 1.125em;
min-width: fit-content;
padding-top: 0;
}
.charsheet .background .wrapper .weapons-row2 > details.small-damage[open] summary + .toggle-critdamage,
.charsheet .background .wrapper .weapons-row2 > details.large-damage[open] summary + .toggle-critdamage {
background-color: var(--color-white3);
border: 1px solid;
border-radius: 4px;
color: initial;
display: inline-grid;
grid-template-columns: 6em auto;
height: auto;
margin: 0 0 0 -3em;
max-width: none;
min-height: 2.5em;
min-width: 55%;
opacity: 1;
overflow: hidden;
padding: 2px 2px 2px 0;
position: absolute;
resize: horizontal;
width: 36%;
z-index: 3;
}
.charsheet .background .wrapper .weapons-row2 .toggle-critdamage textarea {
overflow: hidden;
resize: none;
border-color: #000;
background-color: revert;
}
.charsheet .weapons-row2 > details[open] input {
max-width: fit-content;
outline: 1px solid var(--color-lightgrey2);
}
.charsheet .toggle-critdamage:not(:checked) ~ .background .wrapper span.weapons-row2.center summary .custom-btn-nav + input,
.charsheet .toggle-critdamage:not(:checked) ~ .background .wrapper span.weapons-row2.center summary .custom-btn-nav ~ button {
width: 100%;
margin-inline: -1px;
}
.charsheet .background .wrapper .two-inputs-over-label {
display: inline;
margin: auto;
min-width: max-content;
}
.charsheet .select-over-label {
appearance: none;
margin: -3px 0 0 0;
max-width: 97%;
}
.charsheet .weapons-box .repitem summary::before {
left: 3.75em;
}
.charsheet .toggle-to-hit-table ~ .sect label,
.charsheet .thief-class label {
justify-content: center;
}
.charsheet .saves-class {
display: grid;
grid-template-columns: .75fr 1fr 6em;
margin: -20px 0 5px auto;
position: relative;
width: 50%;
z-index: 1;
}
.charsheet .npc-box .saves-class {
grid-template-columns: auto 1fr 7em;
width: 100%;
}
.charsheet .thief-class {
display: grid;
grid-template-columns: 1fr 6em 1fr 1fr;
margin: -1.5em .5em .5em auto;
position: relative;
width: 80%;
z-index: 2;
}
.charsheet .toggle-sync-class:checked ~ .thief-class {
grid-template-columns: 1fr 1fr 1fr 6em 1fr 1fr;
}
.charsheet .settings label:has(> input[type='checkbox']),
.charsheet .saves-class label:has(> input[type='checkbox']),
.charsheet .matrix-class label:has(> span + input[type='checkbox']),
.charsheet .thief-class label:has(> input[type='checkbox']) {
margin-right: 0;
}
.charsheet .background .wrapper input[type="checkbox"].toggle-matrix-autofill:not(:checked) ~ .matrix-class {
display: flex;
justify-self: left;
}
.charsheet .wrapper .toggle-matrix-autofill:not(:checked) ~ .matrix-class .inline-label ~ * {
display: none;
}
.charsheet .toggle-sync-class:not(:checked) ~ .matrix-class .show-sync-class,
.charsheet .toggle-sync-class:checked ~ .matrix-class .show-when-not-synced,
.charsheet .toggle-sync-class:not(:checked) ~ .thief-class .show-sync-class,
.charsheet .toggle-sync-class:checked ~ .thief-class .show-when-not-synced {
display: none;
}
.charsheet .toggle-sync-class:not(:checked) ~ .matrix-class .show-when-not-synced,
.charsheet .toggle-sync-class:checked ~ .matrix-class .show-sync-class,
.charsheet .toggle-sync-class:not(:checked) ~ .thief-class .show-when-not-synced,
.charsheet .toggle-sync-class:checked ~ .thief-class .show-sync-class {
display: flex;
}
.charsheet .toggle-sync-class:not(:checked) ~ .matrix-class {
display: grid;
grid-template-columns: 1fr 5em 2fr 2fr;
grid-template-rows: 1.2em 2em;
position: relative;
row-gap: 2px;
}
.charsheet .toggle-sync-class:checked ~ .matrix-class {
display: grid;
grid-template-columns: 1fr 7em 1fr 5em 2fr auto;
grid-template-rows: 1.2em 2em;
position: relative;
row-gap: 2px;
}
.charsheet .toggle-sync-class:not(:checked) + input[value='2'].toggle-fighter5 ~ .matrix-class {
display: grid;
grid-template-columns: 1fr 5em 2fr 5em 2fr;
}
.charsheet .toggle-sync-class:checked + input[value='2'].toggle-fighter5 ~ .matrix-class {
display: grid;
grid-template-columns: 1fr 7em 1fr 5em 2fr 5em auto;
}
.charsheet .class-selected ~ .show-none,
.charsheet .class-selected ~ .show-class1-name,
.charsheet .class-selected ~ .show-class2-name,
.charsheet .class-selected ~ .show-class3-name,
.charsheet .class-selected ~ .show-monster-name {
display: none;
}
.charsheet .class-selected[value="0"] ~ .show-none,
.charsheet .class-selected[value="1"] ~ .show-class1-name,
.charsheet .class-selected[value="2"] ~ .show-class2-name,
.charsheet .class-selected[value="3"] ~ .show-class3-name,
.charsheet .class-selected[value="4"] ~ .show-monster-name {
display: block;
}
.charsheet .matrix-class .fighter5 {
display: none;
}
.charsheet input[value='2'].toggle-fighter5 ~ .matrix-class .fighter5 {
display: flex;
}
.charsheet .toggle-matrixhd:not(:checked) ~ .matrix-class .matrix-hd,
.charsheet .toggle-matrixhd:checked ~ .matrix-class .matrix-level {
display: none;
}
.charsheet .to-hit-adj-box .to-hit,
.charsheet .to-hit-adj-box .to-hit-input {
align-items: end;
display: grid;
grid-template-columns:
minmax(3em, 5em) minmax(3em, 5em) minmax(3em, 5em) minmax(3em, 5em) minmax(7em, 10em) repeat(11, minmax(1.5em, 3em)) 4em;
justify-content: flex-start;
}
.charsheet .to-hit > input {
justify-self: center;
}
.charsheet .to-hit-input span {
background-color: var(--color-white1);
}
.sheet-darkmode .charsheet .to-hit-input span {
background-color: var(--color-black2);
}
.charsheet .to-hit,
.charsheet .to-hit-input {
display: grid;
grid-template-columns: repeat(21, 1fr);
}
.charsheet .equipment-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .equipment-columns,
/* overrides Armor grid when adding new gear on Armor tab */
.charsheet input[type="hidden"].equipment-display-type[value="2"] ~ .repcontainer .equipment-columns:has(.equipment-type[value="0"]) {
align-items: center;
display: grid;
justify-items: center;
padding: 0 2px 0 2px;
grid-template-columns:
3.5em minmax(7em, 2fr) minmax(4em, 1fr) minmax(3em, 7em) minmax(3.5em, 5em) minmax(1em, 3em) 0.5em minmax(1em, 3em) minmax(3em, 5em) minmax(1em, 3em) 0.5em minmax(1em, 3em) minmax(1em, 4em) minmax(1em, 4em);
}
/* Armor tab specific */
.charsheet .background input[type='hidden'].equipment-display-type[value='2'] ~ .equipment-columns,
.charsheet .background input[type='hidden'].equipment-display-type[value='2'] ~ .repcontainer .equipment-columns {
display: grid;
padding: 0 2px 0 2px;
grid-template-columns:
3.5em minmax(7em, 2fr) minmax(4em, 1fr) minmax(3em, 7em) minmax(3.5em, 5em) minmax(3em, 5em) minmax(1em, 3em) 0.5em minmax(1em, 3em) minmax(1em, 4em) minmax(1em, 4em);
}
.charsheet span.equipment-columns.column-header {
margin-top: 4px;
padding-top: 2px;
}
/* hide stuff for the weapons and armor tab*/
.charsheet .background input[type='hidden'].equipment-display-type[value='1'] ~ .equipment-columns .hidden-for-weapons,
.charsheet .equipment-type[value='1'] ~ .hidden-for-weapons,
.charsheet .background input[type='hidden'].equipment-display-type[value='2'] ~ .equipment-columns .hidden-for-armor,
.charsheet .equipment-type[value='2'] ~ .hidden-for-armor {
display: none;
}
/* needed as a placeholder for when all types of equipment are displayed */
.charsheet .equipment-display-type[value='-1'] ~ .repcontainer .equipment-type[value='2'] ~ .hidden-for-armor,
.charsheet .equipment-display-type[value='3'] ~ .repcontainer .equipment-type[value='2'] ~ .hidden-for-armor {
display: block;
opacity: 0;
pointer-events: none;
}
.charsheet .equipment-box > .material-icons + .sect {
margin-top: -1.5em;
width: min-content;
}
/* hide the weapon and armor details row for all other tabs */
.charsheet .equipment-box .show-for-weapons,
.charsheet .equipment-box .show-for-armor {
display: none;
}
/* show the weapon and armor details row only if on the weapon or armor tab */
.charsheet .repitem:has(.equipment-type[value='1']) details .show-for-weapons,
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor {
align-items: baseline;
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
padding: 2px;
}
.charsheet .repitem:has(.equipment-type[value='1']) details .show-for-weapons label,
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor label {
flex: 1 1 auto;
width: min-content;
}
/* show a different view of the AC/AR select for shield */
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor .toggle-armor-details ~ label .show-shield-only {
display: none;
}
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor .toggle-armor-details[value='3'] ~ label .show-shield-only,
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor .toggle-armor-details[value='6'] ~ label .show-shield-only,
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor .toggle-armor-details[value='7'] ~ label .show-shield-only,
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor .toggle-armor-details[value='8'] ~ label .show-shield-only,
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor .toggle-armor-details[value='9'] ~ label .show-shield-only,
.charsheet .repitem:has(.equipment-type[value='2']) details .show-for-armor .toggle-armor-details[value='10'] ~ label .show-shield-only {
display: flex;
}
.charsheet .toggle-armor-details[value='3'] ~ label .show-shield-only + select,
.charsheet .toggle-armor-details[value='6'] ~ label .show-shield-only + select,
.charsheet .toggle-armor-details[value='7'] ~ label .show-shield-only + select,
.charsheet .toggle-armor-details[value='8'] ~ label .show-shield-only + select,
.charsheet .toggle-armor-details[value='9'] ~ label .show-shield-only + select,
.charsheet .toggle-armor-details[value='10'] ~ label .show-shield-only + select {
display: none;
}
/* hide rep_equip armor fields to match their armor details row */
.charsheet .toggle-armor-details[value='0'] ~ label.hide-magic,
.charsheet .toggle-armor-details[value='0'] ~ label.hide-misc,
.charsheet .toggle-armor-details[value='1'] ~ label.hide-misc,
.charsheet .toggle-armor-details[value='2'] ~ label.hide-misc,
.charsheet .toggle-armor-details[value='4'] ~ label.hide-ar,
.charsheet .toggle-armor-details[value='4'] ~ label.hide-bulk,
.charsheet .toggle-armor-details[value='4'] ~ label.hide-misc,
.charsheet .toggle-armor-details[value='5'] ~ label.hide-bulk,
.charsheet .toggle-armor-details[value='6'] ~ label.hide-bulk,
.charsheet .toggle-armor-details[value='7'] ~ label.hide-bulk,
.charsheet .toggle-armor-details[value='8'] ~ label.hide-bulk,
.charsheet .toggle-armor-details[value='9'] ~ label.hide-bulk,
.charsheet .toggle-armor-details[value='10'] ~ label.hide-bulk {
display: none;
}
.charsheet .toggle-weapon-details[value='0'] ~ label.hide-ranged,
.charsheet .toggle-weapon-details[value='1'] ~ label.hide-melee,
.charsheet .toggle-weapon-details[value='2'] ~ label.hide-ranged {
display: none;
}
.charsheet .capacity-box {
display: flex;
flex-direction: column;
grid-column: span 3;
width: 99%;
}
.charsheet .coin-columns {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
justify-items: center;
margin: 0 0 0.5em 0;
}
.charsheet .capacity-box-loads {
align-items: center;
display: grid;
grid-column: 1/-1;
grid-template-columns: 1fr 1fr 2em 1fr 1fr 1fr 1fr;
justify-items: center;
}
.charsheet .equipment-totals {
align-items: center;
border: 1px solid var(--color-lightgrey2);
border-radius: 6px;
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0;
display: grid;
grid-column-gap: 1px;
grid-template-columns: 8em 6em 6em;
height: fit-content;
justify-items: center;
justify-self: right;
padding: 4px;
}
.charsheet .special-abilities-box {
grid-column: 1/-1;
grid-row-start: auto;
}
/*two columns*/
.charsheet .repcontainer[data-groupname='repeating_ability'],
.charsheet .repcontainer[data-groupname='repeating_spells'],
.charsheet .repcontainer[data-groupname='repeating_attributes'],
.charsheet .repcontainer[data-groupname='repeating_notes'] {
column-count: 2;
column-gap: 0.25em;
font-size: var(--text-sm);
}
/*single column*/
.charsheet input.toggle-single-column-abilities:checked ~ .background .repcontainer[data-groupname='repeating_ability'],
.charsheet input.toggle-single-column-spells:checked ~ .background .repcontainer[data-groupname='repeating_spells'],
.charsheet input.toggle-single-column-attributes:checked ~ .background .repcontainer[data-groupname='repeating_attributes'],
.charsheet input.toggle-single-column-notes:checked ~ .background .repcontainer[data-groupname='repeating_notes'] {
column-count: 1;
font-size: var(--text-med);
min-width: auto;
}
.charsheet .repcontainer[data-groupname='repeating_ability'] .repitem,
.charsheet .repcontainer[data-groupname='repeating_spells'] .repitem,
.charsheet .repcontainer[data-groupname='repeating_notes'] .repitem,
.charsheet .repcontainer[data-groupname='repeating_attributes'] .repitem {
-webkit-column-break-inside: avoid;
break-inside: avoid-column;
display: block;
page-break-inside: avoid;
}
.charsheet input.toggle-single-column-abilities:checked ~ .background .special-abilities-row1.column-header.two-column-header {
display: none;
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .special-abilities-row1.column-header {
display: none;
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .special-abilities-row1.two-column-header {
align-items: center;
display: grid;
grid-template-columns: 5em 1fr 7em 5em 1fr 7em;
justify-items: center;
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 {
display: grid;
grid-template-areas:
'a b b b c c c'
'd d d d d d d';
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 .ability-area-roll {
grid-area: a;
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 .ability-area-name {
grid-area: b;
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 .ability-area-uses {
grid-area: c;
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .repcontainer[data-groupname='repeating_ability'] .special-abilities-row1 .ability-area-desc {
grid-area: d;
}
.charsheet .special-abilities-row1 {
align-items: center;
display: grid;
grid-template-columns: 3.5em 3fr 5fr 7em;
justify-items: center;
padding: 0 2px 2px 2px;
}
.charsheet input.toggle-single-column-spells:checked ~ .background .repcontainer[data-groupname='repeating_spells'] .spells-repheader:has(~ details[open]),
.charsheet .repitem .special-abilities-row1:has(~ details[open]) {
margin-bottom: -0.75em;
}
.charsheet .repitem .nonweapon-proficiencies-row1:has(~ details[open]) {
margin-bottom: -0.5em;
}
.charsheet .repcontainer[data-groupname='repeating_spells'] .spells-repheader:has(~ details[open]) .spell-level {
display: none;
}
.charsheet .special-abilities-row2 {
display: grid;
grid-template-columns: 3em 5em auto;
justify-items: center;
padding: 2px;
}
.charsheet .nonweapon-proficiencies-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .nonweapon-proficiencies-row1 {
align-items: center;
display: grid;
grid-template-columns: 3.5em 2fr 2fr 1fr 4em 4em 4em;
justify-items: center;
padding: 0 2px 2px 2px;
}
.charsheet .thief-skills-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .thief-columns {
align-items: center;
display: grid;
grid-template-columns: minmax(8em, 2fr) 1fr 2em 1fr 2em 1fr 2em 1fr 2em 1fr 1em;
justify-items: center;
max-height: 3em;
}
.charsheet .thief-columns label {
justify-content: center;
}
.charsheet .spells-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .spells-top {
align-items: center;
display: grid;
grid-template-columns: repeat(10, 1fr);
justify-items: center;
}
.charsheet .spells-middle {
align-items: center;
display: grid;
grid-template-columns: repeat(20, 1fr);
justify-items: center;
}
.charsheet .spells-middle span input {
margin: 0;
padding: 0;
}
.sheet-darkmode .tab-content .charsheet .spells-middle > span:has(input.width-fill[name$="max"]) > input,
.charsheet .spells-middle > span:has(input.width-fill[name$="max"]) > input {
background-color: var(--color-white2);
color: var(--color-darkgrey1);
}
.charsheet .spells-middle span:nth-child(2n) {
background-color: var(--color-white2);
color: initial;
}
.charsheet .spells-middle span {
border: 1px solid var(--color-white3);
}
.charsheet .spells-bottom {
align-items: center;
display: grid;
grid-template-columns: repeat(10, 1fr);
margin-bottom: 0.5em;
}
.charsheet .spells-repheader {
display: flex;
font-size: var(--text-lg);
justify-items: center;
padding: 0 2px 2px 2px;
}
.charsheet div.spell-details-grid {
display: grid;
grid-template-columns: 1fr 1fr;
margin-inline: auto;
padding: 4px;
width: auto;
}
.charsheet .spell-details-grid .span-all label:first-child > select {
margin: auto;
margin-right: 4px;
width: fit-content;
}
.charsheet .spell-details-grid .span-all label:first-child > input {
max-width: 13em;
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .special-abilities-box .spell-details-grid,
.charsheet input.toggle-single-column-spells:not(:checked) ~ .background .spell-display .spell-details-grid {
border: none;
max-width: fit-content;
}
.charsheet input.toggle-single-column-spells:not(:checked) ~ .background .spell-display .spell-details-grid > :first-child {
margin-top: -0.75em;
}
.charsheet input.toggle-single-column-abilities:not(:checked) ~ .background .special-abilities-box .spell-details-grid {
margin-top: -1em;
}
.charsheet .spell-details-grid label {
justify-content: left;
text-align: left;
}
.charsheet .spell-details-grid label span {
margin: 0 2px 0 0;
white-space: nowrap;
}
.charsheet .notes-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .notes-norep-columns {
align-items: center;
display: grid;
grid-template-columns: 3.5em auto;
}
.charsheet .notes-columns {
display: grid;
grid-template-columns: 3.5em 1fr;
padding-right: 5px;
}
.charsheet .notes-box input {
text-align: left;
}
.charsheet .options-box {
grid-column: 1/-1;
grid-row-start: auto;
}
.charsheet .options-box .settings {
align-items: start;
background-color: rgb(116 116 116 / 40%);
border: 1px solid var(--color-lightgrey2);
border-radius: 6px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
min-width: 515px;
padding: 1em;
row-gap: 1em;
}
.sheet-darkmode .charsheet .options-box .settings {
background-color: var(--color-lightgrey2);
color: initial;
}
.charsheet .options-box .settings label,
.charsheet .wrapper .options-box .settings span h4 {
background-color: revert;
color: initial;
}
.sheet-darkmode .charsheet .options-box .settings label,
.sheet-darkmode .charsheet .options-box .settings .inline-label > span,
.sheet-darkmode .charsheet .options-box .settings .inline-label label > span,
.sheet-darkmode .charsheet .wrapper .options-box .settings span h4 {
color: initial;
}
.charsheet .options-box .settings .six-columns,
.charsheet .options-box .settings .eight-columns {
row-gap: 5px;
}
.charsheet .options-box .settings .inline-label h4,
.charsheet .options-box .settings .six-columns h4,
.charsheet .options-box .settings .eight-columns h4 {
color: inherit;
min-width: 8em;
text-align: center;
}
.charsheet .options-box .settings > span {
padding-block: 5px;
width: -webkit-fill-available;
}
.charsheet .options-box .settings > span:nth-child(odd) {
background-color: var(--color-white2);
width: 100%;
}
.charsheet .custom-attributes .custom-attributes-box {
display: grid;
grid-column-gap: 2px;
grid-template-columns: 1fr 6em 1fr 6em;
line-height: 1.85em;
margin-top: 0.25em;
}
.charsheet .repcontainer[data-groupname='repeating_attributes'] .repitem > div {
padding: 4px;
}
.charsheet .footer-box {
column-gap: 2em;
display: flex;
flex-wrap: wrap;
grid-column: 1/-1;
grid-row-start: 15;
justify-content: space-around;
margin: auto;
}
/* announcements */
.charsheet .announcements-box .announcements-title {
color: var(--link-hover);
font-size: 85%;
line-height: 2em;
margin: 1px -2px 0 5px;
padding: 0 0 0 5px;
position: relative;
}
.charsheet .wrapper .announcements {
background-color: var(--color-white3);
border: 2px solid var(--color-lightgrey2);
border-radius: 6px;
color: initial;
max-height: 400px;
overflow: hidden;
padding: 1em;
padding-top: 1.2em;
position: absolute;
right: 0.75em;
text-align: left;
top: 1.25em;
width: 75%;
z-index: 5;
}
.charsheet .center {
justify-content: center;
text-align: center;
}
.charsheet .wrapper .left,
.charsheet .wrapper label.left {
justify-self: left;
margin: auto;
margin-left: 0;
padding: 0 5px 0 5px;
text-align: left;
}
.charsheet .right,
.charsheet label.right {
justify-content: right;
justify-self: right;
margin: auto;
margin-right: 0;
text-align: right;
}
.charsheet .wrapper .width-auto,
.charsheet .wrapper .label.auto-width {
width: auto;
}
.charsheet .fill {
width: 100%;
}
.charsheet .border {
border: 1px solid var(--color-lightgrey2);
border-radius: 6px;
margin: 2px 0 2px 0;
}
.charsheet .border-top-half {
border-inline: 1px solid var(--color-lightgrey2);
border-top: 1px solid var(--color-lightgrey2);
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.charsheet .border-bottom-half {
border-bottom: 1px solid var(--color-lightgrey2);
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
margin-top: -3px;
}
.ui-dialog .charsheet .background .wrapper .sect .repitem details[open].border-bottom-half {
border: 1px solid;
border-top: none;
border-top-left-radius: 0;
border-top-right-radius: 0;
box-shadow: none;
display: block;
margin: auto;
outline: none;
}
.charsheet details[open].border-bottom-half > :not(*:first-child) {
margin-block: 2px;
}
.charsheet .border-light {
border: 1px solid var(--color-white3);
border-radius: 0;
margin: 2px 0 2px 0;
}
.charsheet .background .wrapper .no-border {
border: none;
}
.charsheet .background .wrapper .nowrap,
.charsheet .background .wrapper span.nowrap {
white-space: nowrap;
}
/* Emphasize Input */
.charsheet .wrapper .field-border,
.charsheet .wrapper .readonly-span.field-border {
border: 1px solid var(--color-lightgrey2);
border-radius: 3px;
font-size: var(--text-xxl);
margin: auto;
max-height: 3rem;
max-width: 3em;
min-width: 2.5em;
}
.charsheet .wrapper span.readonly-span.field-border {
padding: 9px 0 0 0;
}
.charsheet .hidden {
display: none;
}
/* Equipment Tabs */
.charsheet .repcontainer[data-groupname='repeating_equipment'] .repitem {
display: flex;
flex-direction: column;
height: 0;
margin: 0;
overflow: hidden;
}
.charsheet .repitem:has(input.toggle-carry[value='1'] ~ input.toggle-type[value='1'] + .equipment-display-carry .equipment-display-type) {
height: auto;
margin: auto;
}
.charsheet input.toggle-show[value='1'] ~ .spell-display.top-row {
padding-left: 1em;
}
.charsheet input.toggle-show[value='1'] ~ .spell-display.top-row label {
flex: 1 1 auto;
width: auto;
}
.charsheet input.toggle-show[value='1'] ~ .spell-display.top-row label:nth-child(3) {
max-width: fit-content;
}
/* Spells Tabs */
.charsheet .wrapper .repcontainer[data-groupname='repeating_spells'] .repitem {
display: block;
height: 0;
margin: 0;
overflow: hidden;
}
.charsheet .repcontainer[data-groupname='repeating_spells'] .repitem:has(input.toggle-show[value='1'] ~ .spell-display) {
height: auto;
margin: auto;
}
/* emphasize memorized */
.charsheet .toggle-show[value='1'] ~ .not-memorized ~ .spell-display {
opacity: 1;
}
.charsheet .toggle-show[value='1'] ~ .not-memorized[value='0'] ~ .spell-display {
opacity: 0.5;
}
/* toggle memorized only */
.charsheet .toggle-show[value='1'] ~ .toggle-memorized:checked + .toggle-all:not(:checked) ~ .spell-display {
display: flex;
}
.charsheet .toggle-show[value='1'] ~ .toggle-memorized:not(:checked) ~ .spell-display {
display: none;
}
.charsheet .toggle-show[value='1'] ~ .toggle-memorized:not(:checked) + .toggle-all:checked ~ .spell-display {
display: flex;
}
/* ensure un-memorized spells top-row and details get 100% opacity with hover/focus */
.charsheet .repcontainer[data-groupname='repeating_spells'] .repitem:focus-within .toggle-show[value='1'] ~ .not-memorized[value='0'] ~ .spell-display,
.charsheet .repcontainer[data-groupname='repeating_spells'] .repitem:hover .toggle-show[value='1'] ~ .not-memorized[value='0'] ~ .spell-display {
opacity: 1;
}
.charsheet .equipment-tabs,
.charsheet .spell-caster-tabs,
.charsheet .spell-tabs,
.charsheet .npc-tabs {
align-items: center;
display: flex;
height: 1.85em;
justify-content: start;
padding: 1.2em 0 0 0;
}
.charsheet .spell-tabs {
margin: 0 0 10px 0;
}
.charsheet details[open].spell-display summary,
.charsheet details[open].spell-display:hover summary,
.charsheet details[open].notes-box summary,
.charsheet details[open].notes-box:hover summary {
border: none;
padding: 0;
}
.charsheet span.tab {
background-color: rgba(148, 148, 148, 0.5);
border: 1px solid var(--color-lightgrey2);
border-bottom: 0;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
color: var(--color-white1);
display: inline-block;
max-height: 1.5em;
min-width: fit-content;
overflow: hidden;
padding-inline: 4px;
text-align: center;
white-space: nowrap;
width: 9%;
}
.charsheet .spell-caster-tabs {
margin: auto;
padding: 6px 0 0 0;
width: 100%;
}
.charsheet .spell-caster-tabs span.tab {
width: 4.5em;
}
.charsheet .npc-tabs span.tab {
width: 50%;
}
.charsheet input[type='radio'].tab-hidden + span.tab::before {
display: none;
}
.charsheet input[type='radio'].tab-hidden:not(:checked) + span.tab {
background-color: var(--color-black1);
color: var(--color-white1);
}
.charsheet input[type='radio'].tab-hidden:not(:checked):hover + span.tab {
background-color: var(--color-lightgrey2);
height: 1.85em;
margin: 0;
max-height: 1.85em;
transform: translateY(-0.125em);
transition: all 100ms ease;
}
.charsheet input[type='radio'].tab-hidden:checked + span.tab {
background-color: var(--color-white1);
box-shadow: 3px 2px 5px #000;
color: var(--color-darkgrey1);
font-weight: bold;
height: 1.85em;
margin: -5px 0 0 0;
max-height: 1.8em;
z-index: 0;
}
.charsheet div.equipment-tabs > input.tab-hidden,
.charsheet div.spell-caster-tabs > input.tab-hidden,
.charsheet div.spell-tabs > input.tab-hidden,
.charsheet section.npc-tabs > input.tab-hidden {
height: 1.3em;
margin: 0 -10% 0 0;
opacity: 0;
position: relative;
width: 10%;
z-index: 1;
}
.charsheet div.spell-caster-tabs > input.tab-hidden {
margin-right: -4.5em;
width: 4.5em;
}
.charsheet section.npc-tabs > input.tab-hidden {
margin: 0 -50% 0 0;
width: 50%;
}
.charsheet section.npc-tabs > input[value='99'].tab-hidden {
margin: 0 -25% 0 0;
width: 25%;
}
.charsheet input[type='checkbox'] {
margin: 0 2px 0 2px;
width: 10px;
}
.charsheet input[type='radio'].width-small {
margin-top: -1px;
width: auto;
}
.charsheet .width-smallest,
.charsheet input[type='number'].width-smallest,
.charsheet input[type='text'].width-smallest {
min-width: 2em;
padding-inline: 0;
text-align: center;
width: 2em;
}
.charsheet .width-smaller,
.charsheet input[type='number'].width-smaller,
.charsheet input[type='text'].width-smaller {
min-width: 2.5em;
padding-inline: 0;
text-align: center;
width: 2.5em;
}
.charsheet .width-small,
.charsheet input[type='number'].width-small,
.charsheet input[type='text'].width-small {
padding-inline: 0;
text-align: center;
width: 3em;
}
.charsheet .width-small-plus,
.charsheet input[type='number'].width-small-plus,
.charsheet input[type='text'].width-small-plus,
.charsheet select.width-small-plus {
min-width: 5em;
width: 5em;
}
.charsheet .width-medium,
.charsheet input[type='number'].width-medium,
.charsheet input[type='text'].width-medium,
.charsheet select.width-medium {
min-width: 5em;
overflow: hidden;
text-overflow: ellipsis;
width: 50%;
}
.charsheet .width-medium-plus,
.charsheet input[type='number'].width-medium-plus,
.charsheet input[type='text'].width-medium-plus,
.charsheet select.width-medium-plus {
min-width: 5em;
overflow: hidden;
text-overflow: ellipsis;
width: 80%;
}
.charsheet .width-large,
.charsheet input[type='number'].width-large,
.charsheet input[type='text'].width-large,
.charsheet select.width-large {
margin: 0;
min-width: 8em;
overflow: hidden;
text-overflow: ellipsis;
width: 80%;
}
.charsheet .width-fill,
.charsheet input[type='number'].width-fill,
.charsheet input[type='text'].width-fill,
.charsheet select.width-fill {
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
.charsheet .wrapper select.readonly,
.charsheet input[disabled],
.charsheet select[disabled],
.charsheet textarea[disabled],
.charsheet input[readonly] {
background-color: var(--color-white2);
border: 1px transparent;
border-bottom: 1px solid rgb(182, 182, 182);
border-bottom-color: transparent;
border-bottom-style: none;
border-bottom-width: 1px;
border-radius: 3px;
color: initial;
cursor: default;
}
.charsheet .wrapper input.readonly,
.charsheet .wrapper .readonly-span {
background-color: var(--color-white2);
border-radius: 3px;
color: var(--color-darkgrey1);
cursor: default;
display: inline-block;
font-size: var(--text-xl);
font-weight: normal;
margin: 2px;
min-width: 3.5rem;
padding: 3px;
pointer-events: none;
text-align: center;
}
.sheet-darkmode .tab-content .charsheet .background .wrapper select.readonly,
.sheet-darkmode .tab-content .charsheet .background .wrapper input.readonly,
.sheet-darkmode .tab-content .charsheet .background .wrapper .readonly-span {
background-color: var(--color-darkgrey1);
color: var(--color-white3);
}
.charsheet input.readonly {
font-size: inherit;
padding: inherit;
}
.charsheet .readonly-span-textonly {
cursor: default;
text-align: center;
width: auto;
}
.charsheet input[type='checkbox'].current-encumbrance {
height: 1.25em;
margin-top: 2.25em;
position: absolute;
width: 4.5em;
}
.charsheet input[type='checkbox'].current-encumbrance:hover {
cursor: pointer;
}
.charsheet .background .wrapper .current-encumbrance:checked ~ span:last-child,
.charsheet .background .wrapper input[type='checkbox'].current-encumbrance:hover ~ span:last-child {
background-color: var(--link-hover);
box-shadow: 1px 1px 3px var(--color-black1);
color: var(--color-white1);
cursor: pointer !important;
font-size: var(--text-med);
font-weight: normal;
padding-inline: 4px 4px;
}
.sheet-darkmode .background .wrapper .current-encumbrance:checked ~ span:last-child,
.sheet-darkmode .background .wrapper input[type='checkbox'].current-encumbrance:hover ~ span:last-child,
.sheet-darkmode input[type='radio'].tab-hidden:checked + span.tab {
background-color: var(--dark-accent);
color: var(--color-white2);
font-weight: normal;
}
.charsheet .current-encumbrance:checked ~ span:last-child::before {
content: '▶';
font-size: var(--text-med);
margin: 0 0.5em 0 0;
}
.charsheet .current-encumbrance:checked ~ span:last-child::after {
content: '◀';
font-size: var(--text-med);
margin: 0 0 0 0.5em;
}
.charsheet .announcements-box ul {
overflow-y: auto;
max-height: 300px;
}
.charsheet li {
position: relative;
list-style: disc !important;
margin-left: 2em;
}
.charsheet select {
align-self: center;
border-color: rgba(204, 204, 204, 0.44);
cursor: pointer;
margin: auto 1px auto 1px;
max-height: 1.75em;
min-width: 3.75em;
padding: 1px 0 0 2px;
text-align: center;
width: auto;
}
.charsheet select option:nth-child(even) {
background-color: var(--color-white2);
}
.charsheet select option:nth-child(odd) {
background-color: transparent;
}
.charsheet .wrapper button[type='roll'].url-roll,
.charsheet .wrapper button[type='roll'].url-roll > span,
.charsheet .wrapper button[type='roll'].url-roll:visited {
background-color: transparent;
background-image: none;
border: none;
box-shadow: none;
color: var(--link-hover);
font-size: var(--text-med);
max-height: 2em;
max-width: none;
padding-block: 0;
text-decoration: underline;
}
.charsheet .wrapper .footer-box button[type='roll'].url-roll {
font-size: var(--text-sm);
}
.charsheet .inline-label:has(.url-roll) {
display: inline-flex;
position: relative;
}
.charsheet .wrapper .announcements button[type='roll'].url-roll > span {
color: var(--link-hover);
font-size: var(--text-med);
}
.charsheet button[type='roll'].url-roll::before {
content: '';
}
.charsheet .wrapper button[type='roll'].dice-button,
.charsheet .wrapper .repitem button[type='roll'].dice-button {
align-self: baseline;
border-radius: 4px;
height: 18px;
margin: auto;
min-width: 18px;
width: 18px;
}
.charsheet .wrapper .abilities-columns .inline-label:has(.dice-button) {
container-type: inline-size;
width: 100%;
}
@container (max-width: 6.5em) {
.charsheet .wrapper .abilities-columns .inline-label .dice-button {
margin-right: 0;
}
.charsheet .wrapper .abilities-columns .inline-label .dice-button > span {
margin: 0 -2px 0 1px;
white-space: normal;
width: min-content;
}
}
.charsheet .wrapper button[type='roll'].dice-button span {
white-space: nowrap;
}
.charsheet .background .wrapper .repitem button[type='roll'].dice-button {
max-height: 20px;
max-width: 0;
min-width: 20px;
padding: 2px 0 0 1px;
}
.charsheet .wrapper button[type='roll'] span.dice-button {
display: flex;
flex-direction: row;
}
.charsheet .background .wrapper details button span::before {
margin-right: 2px;
}
.charsheet .wrapper button[type='roll'].dice-button::before,
.charsheet .wrapper button[type='roll'] span.dice-button::before {
align-self: center;
content: '0';
font-family: 'dicefontd20';
font-size: 14px;
opacity: 0.9;
}
.charsheet .wrapper button[type='roll'] span::before {
margin-right: 5px;
}
.charsheet .wrapper button span {
align-items: center;
color: initial;
display: flex;
flex-direction: column;
font-family: var(--font-buttons1);
font-size: var(--text-sm);
font-weight: var(--text-wt600);
height: fit-content;
justify-content: center;
line-height: 1.1em;
margin: auto;
min-height: 1.85em;
white-space: normal;
}
.charsheet .wrapper button[type='roll']::before,
.charsheet .wrapper button[type='roll']::after {
color: initial;
font-size: var(--text-lg);
font-weight: var(--text-wt600);
}
.charsheet .wrapper button[type='roll'],
.charsheet .wrapper button[type='action'] {
align-items: center;
background: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(176 176 176) 50%, rgb(163 163 163) 100%);
border-radius: 4px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 1px 1px 1px rgba(0, 0, 0, 1.5);
color: var(--color-black2);
cursor: pointer;
display: flex;
justify-content: center;
max-width: 7em;
min-width: 3.25em;
opacity: 1;
width: auto;
}
/* text-only buttons */
.charsheet .wrapper .npc-box button.text-only,
.charsheet .background .wrapper button.text-only {
align-items: stretch;
background-image: none;
border: none;
box-shadow: none;
justify-self: right;
margin-right: 2px;
max-width: none;
min-height: 1.5em;
min-width: auto;
width: auto;
}
.charsheet .wrapper .npc-box button.text-only span,
.charsheet .background .wrapper button.text-only span {
font-family: var(--font-base);
font-size: var(--text-med);
margin-left: 2px;
}
.charsheet .background .wrapper .npc-box button.text-only:hover,
.charsheet .background .wrapper button.text-only:hover {
background-image: none;
border: none;
box-shadow: none;
}
.charsheet .wrapper button[type='roll']:hover,
.charsheet .wrapper button[type='action']:hover {
background: linear-gradient(180deg, rgb(216 216 216) 0%, rgb(255 252 252) 50%, rgb(206 206 206) 100%);
}
.charsheet .wrapper button[type='roll']::before,
.charsheet .wrapper button[type='action']::before {
content: none;
}
.charsheet .wrapper button[type='roll'].ability-button {
margin: 0;
min-width: 2.25em;
padding: 0;
}
.charsheet .background .wrapper button[type='roll'].ability-button span {
font-family: var(--font-buttons2);
font-size: var(--text-xl);
margin-inline: auto;
}
.charsheet .toggle-comeliness button[type='roll'].ability-button:hover,
.charsheet .toggle-comeliness button[type='roll'].ability-button:focus {
box-shadow: none;
color: initial;
pointer-events: none;
user-select: none;
}
.charsheet .saves-columns button[type='roll'].saves-button,
.charsheet .thief-columns button[type='roll'].thiefskills-button {
justify-self: center;
margin-block: 1px;
min-width: 7.5em;
}
.charsheet .background .wrapper .saves-columns button.text-only span,
.charsheet .background .wrapper .thief-columns button.text-only span {
margin-inline: auto;
}
.sheet-darkmode .charsheet .background .wrapper button[type='roll']::after,
.sheet-darkmode .charsheet .background .wrapper button[type='action']::after,
.sheet-darkmode .charsheet .background .wrapper button[type='roll']::before,
.sheet-darkmode .charsheet .background .wrapper button[type='action']::before,
.sheet-darkmode .charsheet .background .wrapper button[type='roll'] span,
.sheet-darkmode .charsheet .background .wrapper button[type='action'] span,
.sheet-darkmode .saves-columns button[type='roll'].saves-button,
.sheet-darkmode .thief-columns button[type='roll'].thiefskills-button,
.sheet-darkmode .saves-columns button[type='roll'].saves-button span,
.sheet-darkmode .thief-columns button[type='roll'].thiefskills-button span {
color: var(--color-white3);
font-weight: normal;
overflow: hidden;
text-shadow: 1px 1px #000;
}
.sheet-darkmode .background .wrapper button[type='roll'].url-roll {
background-color: transparent;
background-image: none;
color: var(--dark-accent);
text-shadow: none;
}
.sheet-darkmode .background .wrapper button.url-roll:hover {
background-color: initial;
color: var(--link-hover);
outline: none;
text-shadow: none;
}
/* Dark Buttons */
.sheet-darkmode .background .wrapper button[type='roll'],
.sheet-darkmode .background .wrapper button[type='action'],
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks a[href^='!'],
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general a[href^='!'],
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks a[href^='~'],
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general a[href^='~'] {
background: rgb(40, 40, 40);
background: linear-gradient(180deg,
rgba(40, 40, 40, 1) 9%,
rgba(74, 74, 74, 1) 32%,
rgba(37, 37, 37, 1) 54%,
rgba(0, 0, 0, 0.9532313413646709) 83%,
rgba(74, 74, 74, 1) 100%);
border-radius: 4px;
border-top-width: 0;
color: var(--color-white3);
}
.sheet-darkmode .charsheet .background .wrapper button[type='roll']:hover,
.sheet-darkmode .charsheet .background .wrapper button[type='action']:hover,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks a[href^='!']:hover,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general a[href^='!']:hover,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks a[href^='~']:hover,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general a[href^='~']:hover {
background: linear-gradient(180deg,
rgba(79, 79, 79, 1) 0%,
rgba(0, 0, 0, 1) 21%,
rgb(112 44 145) 170%,
rgba(79, 79, 79, 1) 100%);
box-shadow: 0 0 1px 1px var(--color-white2);
}
.sheet-darkmode .charsheet .background .wrapper button[type='roll'].dice-button:hover::before,
.sheet-darkmode .charsheet .background .wrapper button[type='roll']:hover::after,
.sheet-darkmode .charsheet .background .wrapper button[type='roll']:hover span,
.sheet-darkmode .charsheet .background .wrapper button[type='action']:hover span,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks a[href^='!']:hover,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general a[href^='!']:hover,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks a[href^='~']:hover,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general a[href^='~']:hover {
color: var(--color-white2);
font-weight: normal;
}
.charsheet .statblock2 .five-columns button {
height: 100%;
min-width: min-content;
width: 90%;
}
.charsheet .saves-columns button[type='roll'].saves-button span,
.charsheet .thief-columns button[type='roll'].thiefskills-button span {
font-size: var(--text-med);
padding-block: 2px;
}
.charsheet .settings button[type='roll'],
.charsheet .settings button[type='action'] {
border-color: rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.5);
}
.charsheet .stack-text {
line-height: 1em;
max-width: 9em;
min-width: 4.5em;
text-align: center;
white-space: break-spaces;
}
.charsheet .stack-text-wide {
line-height: 1em;
max-width: 12em;
min-width: 6em;
text-align: center;
white-space: break-spaces;
}
.charsheet .thief-columns .label-percent:has(.field-border)::after {
left: 2px;
}
.charsheet .thief-columns .label-percent .field-border {
margin-inline: 0;
}
.charsheet .saves-columns details summary,
.charsheet .thief-columns details summary {
display: flex;
height: auto;
}
.charsheet .saves-columns details[open] summary + input,
.charsheet .thief-columns details[open] summary + input {
background-color: var(--color-white3);
border: 1px solid;
color: initial;
margin: 0 0 0 0;
max-width: none;
min-height: 2em;
padding: 2px;
position: absolute;
width: 10.4em;
z-index: 3;
}
/*custom button roll*/
.charsheet .weapons-row2 button[type='roll'].stack-text {
margin: auto;
width: 6em;
}
/*chat buttons*/
.sheet-rolltemplate-attacks a[href^='!'],
.sheet-rolltemplate-general a[href^='!'],
.sheet-rolltemplate-attacks a[href^='~'],
.sheet-rolltemplate-general a[href^='~'] {
background: linear-gradient(180deg, rgb(255 255 255) 0%, rgb(176 176 176) 50%, rgb(163 163 163) 100%);
border: 1px solid var(--color-lightgrey2);
border-radius: 4px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 1px 1px 1px rgba(0, 0, 0, 1.5);
color: initial;
cursor: pointer;
display: inline-block;
font-family: var(--font-buttons1);
font-size: var(--text-med);
font-weight: normal;
margin: 2px;
padding: 0 2px 0 2px;
text-shadow: none;
vertical-align: middle;
width: auto;
}
/* adding backtick removes sheet formatting & roll20 pink for chatmenu buttons */
.sheet-rolltemplate-attacks a[href^='`!'],
.sheet-rolltemplate-general a[href^='`!'],
.sheet-rolltemplate-attacks a[href^='`~'],
.sheet-rolltemplate-general a[href^='`~'] {
color: inherit;
display: inline-block;
font-weight: normal;
margin-block: 1px;
text-decoration: underline 1px solid #999;
white-space: normal;
}
/*urls*/
.sheet-rolltemplate-attacks a[href^='http'],
.sheet-rolltemplate-general a[href^='http'] {
color: var(--link-hover);
cursor: pointer;
display: inline-block;
font-weight: bold;
margin: 2px 0 2px;
padding: 0 2px 0 2px;
}
/*images*/
.sheet-rolltemplate-attacks a img,
.sheet-rolltemplate-general a img {
aspect-ratio: auto;
display: flex;
flex-direction: row;
justify-self: center;
margin: auto;
max-height: 50vw;
max-width: fit-content;
object-fit: contain;
object-position: center;
outline: 2px solid #000;
overflow: clip;
width: calc(100% - 5px);
}
.sheet-rolltemplate-attacks .sheet-subheader a img,
.sheet-rolltemplate-general .sheet-subheader a img {
max-height: 100px;
}
.charsheet button[type='action']:hover,
.charsheet button[type='roll']:hover,
.charsheet button[type='action']:focus,
.charsheet button[type='roll']:focus,
.sheet-rolltemplate-attacks a[href^='!']:hover,
.sheet-rolltemplate-general a[href^='!']:hover,
.sheet-rolltemplate-attacks a[href^='~']:hover,
.sheet-rolltemplate-general a[href^='~']:hover {
background-position: inherit;
border-radius: 4px;
box-shadow: 1px 1px 3px var(--color-darkgrey1);
color: var(--link-hover);
}
.sheet-rolltemplate-attacks a[href^='`!']:hover,
.sheet-rolltemplate-general a[href^='`!']:hover,
.sheet-rolltemplate-attacks a[href^='`~']:hover,
.sheet-rolltemplate-general a[href^='`~']:hover {
background-position: inherit;
color: var(--link-hover);
text-decoration-color: var(--link-hover);
}
.charsheet .background .wrapper button[type='action']:hover span,
.charsheet .background .wrapper button[type='roll']:hover span,
.charsheet .background .wrapper button[type='roll'].dice-button:hover::before,
.charsheet .background .wrapper button[type='roll'].dice-button:focus::before {
background-position: inherit;
color: var(--link-hover);
font-weight: var(--text-wt600);
overflow: visible;
}
.charsheet .header,
.charsheet .subheader {
display: inline-block;
font-family: var(--font-headers);
font-size: var(--text-lg);
font-weight: var(--text-wt600);
letter-spacing: 0.05rem;
opacity: 1;
}
.charsheet .wrapper .sect-show + .header,
.charsheet .wrapper .sect-show + .subheader {
opacity: 0.85;
}
.charsheet h4,
.charsheet h5 {
color: inherit;
font-size: var(--text-med);
font-weight: var(--text-wt600);
}
.charsheet h4 {
margin: 0.25em 0.5em 0.25em 0.5em;
text-align: right;
}
.charsheet hr {
border-top: 1px solid var(--color-white3);
margin: 5px;
}
.charsheet .background .wrapper .text-small,
.charsheet .background .wrapper .text-small span,
.charsheet .background .wrapper label.text-small,
.charsheet .background .wrapper label.text-small span {
font-size: var(--text-sm);
}
.charsheet .wrapper label .text-medium,
.charsheet .wrapper label.text-medium {
font-size: var(--text-med);
}
.charsheet .wrapper label .text-large,
.charsheet .wrapper label.text-large {
font-size: var(--text-lg);
}
.charsheet .wrapper label .text-larger,
.charsheet .wrapper label.text-larger {
font-size: var(--text-xl);
width: inherit;
}
.charsheet .wrapper textarea,
.charsheet .wrapper input[type='text'].textarea {
background-color: transparent;
border: 1px solid var(--color-white3);
font-family: var(--font-inputs);
height: 2em;
line-height: normal;
margin: auto;
min-height: 2em;
overflow: hidden;
padding: 2px;
resize: none;
}
.charsheet .wrapper textarea:focus,
.charsheet .wrapper textarea:focus-within,
.charsheet .wrapper textarea:hover,
.charsheet .wrapper input[type='text'].textarea:focus,
.charsheet .wrapper input[type='text'].textarea:focus-within,
.charsheet .wrapper input[type='text'].textarea:hover {
overflow: auto;
resize: vertical;
scrollbar-width: none;
}
.charsheet .background .wrapper button:focus,
.charsheet .background .wrapper select:focus,
.charsheet .background .wrapper textarea:focus,
.charsheet .background .wrapper input[type='number']:focus,
.charsheet .background .wrapper input[type='text']:focus,
.charsheet .background .wrapper button[type='roll']:focus-within,
.charsheet .background .wrapper select:focus-within,
.charsheet .background .wrapper textarea:focus-within,
.charsheet .background .wrapper input[type='number']:focus-within,
.charsheet .background .wrapper input[type='text']:focus-within {
background-color: revert;
color: var(--color-black1);
outline: outset 2px var(--link-hover);
}
.charsheet input[type='checkbox']:focus,
.charsheet input[type='checkbox']:focus-within {
outline: none;
}
.charsheet input[type='checkbox']:focus::before,
.charsheet input[type='checkbox']:focus-within::before {
content: '';
display: flex;
height: 1em;
margin: auto;
max-width: 1em;
min-width: fit-content;
outline: 1px solid var(--link-hover);
outline-offset: 2px;
}
.charsheet input[type='radio']:focus,
.charsheet input[type='radio']:focus-within,
.charsheet input.sect-show:focus-within {
outline: none;
}
.charsheet input.height-short,
.charsheet textarea.height-short {
height: 1.85em;
max-height: 15em;
min-height: 1.85em;
}
.charsheet input.height-medium,
.charsheet textarea.height-medium {
height: 3em;
max-height: 15em;
min-height: 3em;
}
.charsheet input.height-tall,
.charsheet textarea.height-tall {
height: 5em;
max-height: 15em;
min-height: 5em;
}
.charsheet input.height-half,
.charsheet textarea.height-half {
height: 50%;
margin-top: 2px;
max-height: 15em;
min-height: 3em;
}
.charsheet input.height-fill,
.charsheet textarea.height-fill {
height: 100%;
}
/*hide and seek magic*/
.charsheet .sect-show {
-webkit-appearance: none;
appearance: none;
}
.charsheet input[type='checkbox'].sect-show {
border: none;
cursor: pointer;
height: 1.5em;
max-width: 14em;
opacity: 0 !important;
position: absolute;
width: 100%;
z-index: 1;
}
.charsheet input[type='checkbox'].sect-show.more {
height: 0.85em;
min-width: 97%;
}
.charsheet .wrapper label:has(input[type='checkbox']):hover span,
.charsheet .wrapper input[type='checkbox'].sect-show:hover,
.charsheet .wrapper input[type='checkbox'].sect-show:hover + div,
.charsheet .wrapper input[type='checkbox'].sect-show:hover + div span,
.charsheet .wrapper input[type='checkbox'].sect-show:hover + span + span,
.charsheet .wrapper input[type='checkbox'].sect-show:hover + span,
.charsheet .wrapper input[type='checkbox'].sect-show:hover + b,
.charsheet .background .wrapper details:hover summary :first-child,
.charsheet .wrapper details[open] summary :first-child {
background-color: transparent;
color: var(--link-hover);
opacity: 1;
}
.sheet-darkmode .background .wrapper label:has(input[type='checkbox']):hover span,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover + div,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover + div span,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover + span,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover + span + span,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover + b,
.sheet-darkmode .background .wrapper details:hover summary :first-child,
.sheet-darkmode .background .wrapper details[open] summary :first-child,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover + span.material-icons::before,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover + span + span.material-icons::before,
.sheet-darkmode .background .wrapper input[type='checkbox'].sect-show:hover + div + span.material-icons::before,
.sheet-darkmode .background .wrapper input:hover + span.material-icons.custom-btn-nav::before,
.sheet-darkmode .background .wrapper .top-row:hover ~ details summary > span.material-icons.gear-nav::before,
.sheet-darkmode .background .wrapper .top-row ~ details[open] summary > span.material-icons.gear-nav::before,
.sheet-darkmode .background .wrapper details summary:hover > span.material-icons.custom-btn-nav::before {
color: var(--dark-accent);
}
.charsheet input[type='checkbox'].sect-show:checked + span,
.charsheet input[type='checkbox'].sect-show:checked + div {
opacity: 1;
}
.charsheet input[type='checkbox'].sect-show:hover::before {
color: var(--link-hover);
opacity: 1;
}
/*used with hidden checkbox to hide elements*/
.charsheet .sect-show:not(:checked) ~ .sect {
display: none;
}
.charsheet input[type='checkbox'].sect-show + span + span.material-icons::before,
.charsheet input[type='checkbox'].sect-show + div + span.material-icons::before {
content: 'arrow_right';
display: inline-flex;
font-size: inherit;
margin: -1.75rem 0 0 0;
opacity: 0.75;
position: absolute;
}
.charsheet .announcements-box input[type='checkbox'].sect-show ~ .material-icons::before {
content: 'menu';
font-size: 1.75rem;
margin: auto;
margin-top: 3px;
opacity: .5;
}
.charsheet .announcements-box input[type='checkbox'].sect-show:checked ~ .material-icons::before {
content: 'menu_open';
}
.charsheet .announcements input[type='checkbox'].sect-show {
height: 24px;
position: absolute;
right: 0;
top: 0;
width: 24px;
z-index: 1;
}
.charsheet .announcements input[type='checkbox'].sect-show:checked ~ .material-icons {
height: 20px;
position: absolute;
right: 0;
top: 0;
width: 20px;
z-index: 0;
}
.charsheet .announcements input[type='checkbox'].sect-show:checked ~ .material-icons::before {
content: 'close';
font-size: 15px;
font-weight: bold;
transition: none;
}
.charsheet button .undo::before {
content: '1';
font-family: 'Pictos';
font-size: 1.5rem;
font-weight: normal;
}
.charsheet .announcements input[type='checkbox'].sect-show:checked:hover ~ .material-icons::before {
transform: none;
}
.charsheet .armor-box input[type='checkbox'].sect-show + span + span.material-icons::before,
.charsheet .personal-attributes-box input[type='checkbox'].sect-show + span + span.material-icons::before,
.charsheet .class-details input[type='checkbox'].sect-show + span + span.material-icons::before,
.charsheet .armor-details input[type='checkbox'].sect-show + span + span.material-icons::before,
.charsheet .saves-columns input[type='checkbox'].sect-show + span + span.material-icons::before,
.charsheet .thief-skills-box input[type='checkbox'].sect-show + span + span.material-icons::before,
.charsheet .spells-box input[type='checkbox'].sect-show + span + span.material-icons::before {
margin: -1.62rem 0 0 0;
}
.charsheet input[type='checkbox'].sect-show:hover + span + span.material-icons::before,
.charsheet input[type='checkbox'].sect-show:hover + div + span.material-icons::before {
color: var(--link-hover);
opacity: 1;
}
/*trick to limit active hotspot to just the clickable text*/
.charsheet input[type='checkbox'].sect-show + span + span.material-icons::after,
.charsheet input[type='checkbox'].sect-show + div + span.material-icons::after {
content: '';
height: 1em;
margin: -1.75rem 0 0 2.5rem;
position: absolute;
width: 7em;
z-index: 2;
}
.charsheet .armor-box input[type='checkbox'].sect-show + span + span.material-icons::after {
display: none;
}
/* special attention needed here */
.charsheet .class-box input[type='checkbox'].sect-show + div + span.material-icons::after,
.charsheet .armor-box input[type='checkbox'].sect-show + div + span.material-icons::after,
.charsheet .class-details input[type='checkbox'].sect-show + span + span.material-icons::after,
.charsheet .armor-details input[type='checkbox'].sect-show + span + span.material-icons::after,
.charsheet .announcements-box input[type='checkbox'].sect-show + span + span.material-icons::after {
content: none;
}
.charsheet .class-details input[type='checkbox'].sect-show,
.charsheet .armor-details input[type='checkbox'].sect-show {
max-width: 9em;
width: 100%;
z-index: 3;
}
.charsheet input[type='checkbox'].sect-show:checked + span + span.material-icons::before,
.charsheet input[type='checkbox'].sect-show:checked + div + span.material-icons::before {
content: 'arrow_drop_down';
}
/*to-hit AC*/
.charsheet span.to-hit span:nth-child(odd) {
background-color: var(--color-lightgrey2);
color: var(--color-white1);
height: 1.5em;
}
.charsheet span.to-hit span:nth-child(even) {
background-color: var(--color-white1);
border: 1px solid #000;
color: initial;
height: 1.5em;
}
.charsheet .to-hit-input input {
height: 2em;
margin: 0;
outline: 1px solid var(--color-lightgrey2);
}
.charsheet .wrapper .version {
background-color: transparent;
border: none;
font-weight: bold;
height: 1.25em;
margin-left: 0;
margin-top: 0;
padding: 2px 0 0 0;
text-align: center;
}
/*Roll Templates*/
/* using darkmode variables from the vtt ::root*/
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks div,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks-table div,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general div {
background-color: var(--dark-background);
color: var(--color-white3);
}
.sheet-rolltemplate-attacks div,
.sheet-rolltemplate-attacks-table div,
.sheet-rolltemplate-general div {
-moz-background-clip: padding;
-moz-box-shadow: 2px 2px 5px #000;
-webkit-background-clip: padding-box;
-webkit-box-shadow: 2px 2px 5px #000;
background-clip: padding-box;
background-color: var(--color-white1);
border: 5px solid #000;
border-collapse: separate;
border-radius: 4px;
border-spacing: 0;
box-shadow: 2px 2px 5px #000;
color: var(--color-black1);
display: grid;
grid-template-columns: 1fr auto;
outline: 2px solid var(--color-white1);
outline-offset: -5px;
overflow: hidden;
position: relative;
width: auto;
z-index: 1;
}
.sheet-rolltemplate-attacks-table div {
border-top-color: transparent;
border-top-left-radius: 0;
border-top-right-radius: 0;
box-shadow: 2px 4px 5px #000;
margin: -3.75em 0 -1.5em 0;
padding-bottom: 0.25em;
}
.sheet-rolltemplate-attacks .sheet-row,
.sheet-rolltemplate-attacks-table .sheet-row,
.sheet-rolltemplate-general .sheet-row {
background-image: none;
border: none;
border-radius: 0;
box-shadow: none;
display: inline-grid;
font-family: var(--font-monster);
grid-column: span 2;
grid-template-columns: 1fr minmax(2em, auto);
margin: 0;
outline: none;
outline-offset: 0;
padding: 0;
text-align: center;
width: auto;
}
.sheet-rolltemplate-attacks .sheet-row:has(.sheet-big-text),
.sheet-rolltemplate-general .sheet-row:has(.sheet-big-text) {
line-height: 1.75em;
}
.sheet-rolltemplate-attacks .sheet-row.sheet-all-props,
.sheet-rolltemplate-general .sheet-row.sheet-all-props {
align-items: start;
text-align: center;
}
/* better all props handling */
/* left */
.sheet-rolltemplate-attacks .sheet-row.sheet-all-props .sheet-tcat:not(:empty):has(+ span br),
.sheet-rolltemplate-general .sheet-row.sheet-all-props .sheet-tcat:not(:empty):has(+ span br) {
display: inline-block;
grid-column: 1/-1;
text-align: left;
white-space: normal;
}
.sheet-rolltemplate-attacks .sheet-row.sheet-all-props span:first-child:not(.sheet-span-two),
.sheet-rolltemplate-general .sheet-row.sheet-all-props span:first-child:not(.sheet-span-two) {
display: inline-block;
text-align: left;
}
.sheet-rolltemplate-attacks .sheet-row span:first-child:not(.sheet-span-two),
.sheet-rolltemplate-general .sheet-row span:first-child:not(.sheet-span-two) {
align-self: center;
flex-direction: column;
flex-wrap: wrap;
margin-inline: auto;
margin-left: 0;
white-space: nowrap;
}
/* center */
.sheet-rolltemplate-attacks .sheet-row.sheet-all-props span.sheet-tcat:has(+ span:empty),
.sheet-rolltemplate-general .sheet-row.sheet-all-props span.sheet-tcat:has(+ span:empty) {
display: inline-block;
align-items: center;
grid-column: 1/-1;
margin-inline: auto;
text-align: center;
white-space: normal;
}
/* right */
.sheet-rolltemplate-attacks .sheet-row.sheet-all-props span:empty + span,
.sheet-rolltemplate-general .sheet-row.sheet-all-props span:empty + span {
display: inline-block;
grid-column: 1/-1;
margin-inline: auto;
margin-right: 0;
}
.sheet-rolltemplate-general .sheet-row:has(.sheet-span-two:empty):not(:last-child) {
display: none;
}
.sheet-rolltemplate-attacks .sheet-row:last-child,
.sheet-rolltemplate-general .sheet-row:last-child {
border: none;
}
.sheet-rolltemplate-general .sheet-row:nth-child(odd) {
background-color: var(--color-white3);
}
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general .sheet-row:nth-child(odd) {
background-color: var(--color-black1);
color: var(--color-white3);
font-weight: normal;
}
/* {{freetext}} background-color override */
.sheet-rolltemplate-general .sheet-row:nth-child(odd):has(.sheet-free-text),
.sheet-rolltemplate-general .sheet-row:nth-child(odd) .sheet-free-text,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general .sheet-row:nth-child(odd):has(.sheet-free-text),
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general .sheet-row:nth-child(odd) .sheet-free-text {
background-color: transparent;
}
.sheet-rolltemplate-attacks .sheet-span-two,
.sheet-rolltemplate-attacks-table .sheet-span-two,
.sheet-rolltemplate-general div span.sheet-span-two {
display: block;
grid-column: span 2;
justify-content: center;
position: relative;
text-align: center;
}
.sheet-rolltemplate-attacks .sheet-template-header,
.sheet-rolltemplate-attacks-table .sheet-template-header,
.sheet-rolltemplate-general .sheet-template-header {
background-color: var(--color-black2);
border-top: 3px solid transparent;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
color: var(--color-white1);
font-family: var(--font-headers);
font-size: var(--text-xxl);
padding: 2px;
text-align: center;
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
.sheet-rolltemplate-attacks .sheet-subheader,
.sheet-rolltemplate-attacks-table .sheet-subheader,
.sheet-rolltemplate-general .sheet-subheader {
background-color: var(--color-black2);
color: var(--color-white1);
font-family: var(--font-headers);
font-size: var(--text-lg);
padding: 2px;
text-align: center;
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
.sheet-rolltemplate-attacks .sheet-template-footer,
.sheet-rolltemplate-attacks-table .sheet-template-footer,
.sheet-rolltemplate-general .sheet-template-footer {
background-color: var(--color-black2);
border-bottom: 2px solid transparent;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
color: var(--color-white1);
margin-top: -2px;
min-height: 1em;
text-align: center;
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
/* needed to prevent visible notch when {{bigname}} and {{name}} are used together */
.sheet-rolltemplate-attacks .sheet-row:has(.sheet-bigger-text) + .sheet-row:has(.sheet-template-header) .sheet-template-header,
.sheet-rolltemplate-general .sheet-row:has(.sheet-bigger-text) + .sheet-row:has(.sheet-template-header) .sheet-template-header,
.sheet-rolltemplate-attacks .sheet-row:has(.sheet-bigger-text) + .sheet-row:has(.sheet-subheader) .sheet-subheader,
.sheet-rolltemplate-general .sheet-row:has(.sheet-bigger-text) + .sheet-row:has(.sheet-subheader) .sheet-subheader {
border-radius: 0;
margin-top: -2px;
}
.sheet-rolltemplate-attacks .sheet-bigger-text,
.sheet-rolltemplate-general .sheet-row .sheet-bigger-text {
font-size: calc(var(--text-xxl) * 1.5);
line-height: normal;
min-height: 1em;
padding: 2px;
z-index: 1;
}
.sheet-rolltemplate-attacks .sheet-big-text,
.sheet-rolltemplate-general .sheet-big-text {
/* font-family: var(--font-headers); */
font-size: var(--text-xxl);
}
.sheet-rolltemplate-attacks .sheet-smaller-text,
.sheet-rolltemplate-general .sheet-smaller-text {
font-size: var(--text-sm);
line-height: 1.85;
padding: 2px 0 2px 0;
}
/* border below header/subheader */
.sheet-rolltemplate-attacks .sheet-row:has(.sheet-template-header),
.sheet-rolltemplate-general .sheet-row:has(.sheet-template-header) {
border-bottom: 2px solid #000;
}
.sheet-rolltemplate-attacks .sheet-tcat,
.sheet-rolltemplate-attacks-table .sheet-tcat {
align-items: end;
/* font-family: var(--font-headers); */
font-size: var(--text-lg);
font-weight: bold;
}
.sheet-rolltemplate-attacks span,
.sheet-rolltemplate-attacks-table span {
display: inline-flex;
}
.sheet-rolltemplate-attacks span.sheet-text.sheet-text,
.sheet-rolltemplate-attacks-table span.sheet-text.sheet-text,
.sheet-rolltemplate-general span.sheet-text.sheet-text {
color: var(--color-black1);
display: block;
font-size: var(--text-med);
line-height: initial;
max-height: 10em;
overflow: auto;
padding: 0.25em 0.5em 0.25em 0.5em;
scrollbar-width: thin;
text-align: left;
}
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks-table span.sheet-text,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks span.sheet-text,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general span.sheet-text {
background-color: var(--dark-background);
color: var(--color-white3);
}
.sheet-rolltemplate-general .sheet-tcat + span,
.sheet-rolltemplate-attacks .sheet-tcat + span {
align-items: center;
flex-direction: row;
justify-content: end;
text-align: right;
}
.sheet-rolltemplate-attacks .sheet-row .sheet-tcat,
.sheet-rolltemplate-attacks .sheet-row .sheet-tcat + span,
.sheet-rolltemplate-general .sheet-row .sheet-tcat,
.sheet-rolltemplate-general .sheet-row .sheet-tcat + span {
padding-inline: 4px;
}
.sheet-rolltemplate-attacks .sheet-bold,
.sheet-rolltemplate-general .sheet-bold,
.sheet-rolltemplate-general .sheet-tcat,
.sheet-rolltemplate-general .sheet-tcat + span,
.sheet-rolltemplate-attacks .sheet-tcat + span {
font-weight: bold;
}
.sheet-rolltemplate-general .sheet-left,
.sheet-rolltemplate-general span span.sheet-left {
justify-content: left;
text-align: left;
}
.sheet-rolltemplate-general .sheet-right,
.sheet-rolltemplate-general span span.sheet-right {
justify-content: right;
margin-inline: auto;
margin-right: 0;
text-align: right;
}
.sheet-rolltemplate-attacks .sheet-center,
.sheet-rolltemplate-attacks-table .sheet-center,
.sheet-rolltemplate-general .sheet-center {
align-self: center;
text-align: center;
}
.sheet-rolltemplate-attacks div .sheet-ToHit,
.sheet-rolltemplate-attacks-table div .sheet-ToHit {
justify-self: center;
width: 22em;
}
.sheet-rolltemplate-attacks span.sheet-ToHit,
.sheet-rolltemplate-attacks-table span.sheet-ToHit {
background-color: transparent;
display: block;
font-family: monospace;
font-size: 10px;
line-height: 8px !important;
margin: 0;
margin-left: -1em;
min-width: fit-content;
overflow: hidden;
padding: 3px 3px 3px 0;
text-align: right;
transform: scaleX(1.07);
white-space: nowrap;
}
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks span.sheet-ToHit,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks-table span.sheet-ToHit {
background-color: var(--color-white3);
color: var(--surface-dark);
}
.sheet-rolltemplate-attacks span.sheet-ToHit > span.inlinerollresult,
.sheet-rolltemplate-attacks-table span.sheet-ToHit > span.inlinerollresult {
margin: 0;
min-width: 2ch;
}
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks span.sheet-ToHit > span.inlinerollresult,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks-table span.sheet-ToHit > span.inlinerollresult {
color: var(--surface-dark);
}
.sheet-rolltemplate-attacks span.sheet-ToHit + span.sheet-ToHit {
background-color: var(--color-white1);
}
.sheet-rolltemplate-attacks .sheet-ToHit strong,
.sheet-rolltemplate-attacks .sheet-ToHit span,
.sheet-rolltemplate-attacks-table .sheet-ToHit strong,
.sheet-rolltemplate-attacks-table .sheet-ToHit span {
min-width: 1.1em;
}
.sheet-rolltemplate-attacks span.sheet-ToHit span.inlinerollresult.showtip,
.sheet-rolltemplate-attacks-table span.sheet-ToHit span.inlinerollresult.showtip {
background-color: #fef68e;
border: none;
font-family: monospace;
font-size: var(--text-sm);
justify-content: right;
padding: 2px 0 0 0;
text-align: right;
}
.sheet-rolltemplate-attacks span.sheet-ToHit span.inlinerollresult[title$="20"],
.sheet-rolltemplate-attacks-table span.sheet-ToHit span.inlinerollresult[title$="20"],
.sheet-rolltemplate-attacks span.sheet-ToHit span.inlinerollresult[original-title$="20"],
.sheet-rolltemplate-attacks-table span.sheet-ToHit span.inlinerollresult[original-title$="20"] {
color: red;
}
.sheet-rolltemplate-general .sheet-success,
.sheet-rolltemplate-general .sheet-failure {
font-family: var(--font-headers);
font-size: var(--text-xl);
text-align: center;
}
.sheet-rolltemplate-general .sheet-success {
color: #3fb315;
}
.sheet-rolltemplate-general .sheet-failure {
color: #85000a;
}
.sheet-rolltemplate-general .sheet-row:has(.sheet-success) + .sheet-row:has(.inlinerollresult) .inlinerollresult:nth-child(2) {
border-color: #3fb315;
}
.sheet-rolltemplate-general .sheet-failure + .sheet-row:has(.inlinerollresult) .inlinerollresult:nth-child(2) {
border-color: #85000a;
}
.sheet-rolltemplate-general div .sheet-row:has(.sheet-tcat.sheet-success) {
background-color: initial;
}
.sheet-rolltemplate-general span {
align-content: baseline;
align-items: end;
display: inline-flex;
}
.sheet-rolltemplate-attacks .sheet-row span.inlinerollresult.inlinerollresult,
.sheet-rolltemplate-general .sheet-row span.inlinerollresult.inlinerollresult,
.sheet-rolltemplate-attacks .sheet-row.sheet-all-props span.inlinerollresult.inlinerollresult,
.sheet-rolltemplate-general .sheet-row.sheet-all-props span.inlinerollresult.inlinerollresult {
background-color: #fef68e;
color: #000;
display: inline-block;
font-family: var(--font-inputs);
line-height: 1em;
min-height: 1em;
min-width: 1.1em;
padding: 0 1px 0 1px;
text-align: center;
text-shadow: none;
white-space: nowrap;
}
.sheet-rolltemplate-general .sheet-inlineroll-reset span.inlinerollresult.inlinerollresult {
display: contents;
font-size: inherit;
}
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks .inlinerollresult,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks span.inlinerollresult.inlinerollresult,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general .inlinerollresult,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general span.inlinerollresult.inlinerollresult,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-general .sheet-row span.inlinerollresult.inlinerollresult {
background-color: var(--dark-gamecard);
color: var(--color-white3);
font-weight: normal;
}
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks .sheet-ToHit .inlinerollresult,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-attacks .sheet-ToHit span.inlinerollresult.inlinerollresult {
background-color: #fef68e;
border: none;
color: var(--color-black2);
}
/* uses and qty */
.sheet-rolltemplate-general div span.sheet-row.sheet-span-two span b + span.inlinerollresult {
font-size: revert;
min-height: auto;
min-width: auto;
padding: 0;
}
.sheet-rolltemplate-attacks .inlinerollresult.fullcrit,
.sheet-rolltemplate-attacks span.inlinerollresult.fullcrit,
.sheet-rolltemplate-general .inlinerollresult.fullcrit,
.sheet-rolltemplate-general span.inlinerollresult.fullcrit {
border: 2px solid #3fb315;
}
.sheet-rolltemplate-attacks .inlinerollresult.fullfail,
.sheet-rolltemplate-attacks span.inlinerollresult.fullfail,
.sheet-rolltemplate-general .inlinerollresult.fullfail,
.sheet-rolltemplate-general span.inlinerollresult.fullfail {
border: 2px solid #85000a;
}
.sheet-rolltemplate-attacks .inlinerollresult.importantroll,
.sheet-rolltemplate-attacks span.inlinerollresult.importantroll,
.sheet-rolltemplate-general .inlinerollresult.importantroll,
.sheet-rolltemplate-general span.inlinerollresult.importantroll {
border: 2px solid #4a57ed;
}
.sheet-rolltemplate-attacks,
.sheet-rolltemplate-attacks-table,
.sheet-rolltemplate-general {
margin: 0 0 0 -10px;
padding: 0 2px 0 2px;
width: calc(100% + 10px);
}
.sheet-rolltemplate-attacks div.sheet-color-black .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-black .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-black .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-black .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-black .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-black .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-black .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-black .sheet-subheader {
background-color: var(--black);
}
.sheet-rolltemplate-attacks div.sheet-color-white .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-white .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-white .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-white .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-white .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-white .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-white .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-white .sheet-subheader {
background-color: var(--white);
color: var(--color-black1);
text-shadow: none;
}
.sheet-rolltemplate-attacks div.sheet-color-grey .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-grey .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-grey .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-grey .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-grey .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-grey .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-grey .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-grey .sheet-subheader {
background-color: var(--grey);
}
.sheet-rolltemplate-attacks div.sheet-color-darkgrey .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-darkgrey .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-darkgrey .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-darkgrey .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-darkgrey .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-darkgrey .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-darkgrey .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-darkgrey .sheet-subheader {
background-color: var(--darkgrey);
}
.sheet-rolltemplate-attacks div.sheet-color-red .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-red .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-red .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-red .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-red .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-red .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-red .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-red .sheet-subheader {
background-color: var(--red);
}
.sheet-rolltemplate-attacks div.sheet-color-darkred .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-darkred .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-darkred .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-darkred .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-darkred .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-darkred .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-darkred .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-darkred .sheet-subheader {
background-color: var(--darkred);
}
.sheet-rolltemplate-attacks div.sheet-color-orange .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-orange .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-orange .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-orange .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-orange .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-orange .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-orange .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-orange .sheet-subheader {
background-color: var(--orange);
}
.sheet-rolltemplate-attacks div.sheet-color-darkorange .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-darkorange .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-darkorange .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-darkorange .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-darkorange .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-darkorange .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-darkorange .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-darkorange .sheet-subheader {
background-color: var(--darkorange);
}
.sheet-rolltemplate-attacks div.sheet-color-yellow .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-yellow .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-yellow .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-yellow .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-yellow .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-yellow .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-yellow .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-yellow .sheet-subheader {
background-color: var(--yellow);
color: var(--color-black1);
text-shadow: none;
}
.sheet-rolltemplate-attacks div.sheet-color-darkyellow .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-darkyellow .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-darkyellow .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-darkyellow .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-darkyellow .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-darkyellow .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-darkyellow .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-darkyellow .sheet-subheader {
background-color: var(--darkyellow);
}
.sheet-rolltemplate-attacks div.sheet-color-green .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-green .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-green .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-green .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-green .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-green .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-green .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-green .sheet-subheader {
background-color: var(--green);
}
.sheet-rolltemplate-attacks div.sheet-color-darkgreen .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-darkgreen .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-darkgreen .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-darkgreen .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-darkgreen .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-darkgreen .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-darkgreen .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-darkgreen .sheet-subheader {
background-color: var(--darkgreen);
}
.sheet-rolltemplate-attacks div.sheet-color-blue .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-blue .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-blue .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-blue .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-blue .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-blue .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-blue .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-blue .sheet-subheader {
background-color: var(--blue);
}
.sheet-rolltemplate-attacks div.sheet-color-darkblue .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-darkblue .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-darkblue .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-darkblue .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-darkblue .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-darkblue .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-darkblue .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-darkblue .sheet-subheader {
background-color: var(--darkblue);
}
.sheet-rolltemplate-attacks div.sheet-color-pink .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-pink .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-pink .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-pink .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-pink .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-pink .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-pink .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-pink .sheet-subheader {
background-color: var(--pink);
}
.sheet-rolltemplate-attacks div.sheet-color-darkpink .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-darkpink .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-darkpink .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-darkpink .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-darkpink .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-darkpink .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-darkpink .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-darkpink .sheet-subheader {
background-color: var(--darkpink);
}
.sheet-rolltemplate-attacks div.sheet-color-purple .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-purple .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-purple .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-purple .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-purple .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-purple .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-purple .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-purple .sheet-subheader {
background-color: var(--purple);
}
.sheet-rolltemplate-attacks div.sheet-color-darkpurple .sheet-template-header,
.sheet-rolltemplate-attacks div.sheet-color-darkpurple .sheet-template-footer,
.sheet-rolltemplate-attacks div.sheet-color-darkpurple .sheet-subheader,
.sheet-rolltemplate-attacks-table div.sheet-color-darkpurple .sheet-template-header,
.sheet-rolltemplate-attacks-table div.sheet-color-darkpurple .sheet-subheader,
.sheet-rolltemplate-general div.sheet-color-darkpurple .sheet-template-header,
.sheet-rolltemplate-general div.sheet-color-darkpurple .sheet-template-footer,
.sheet-rolltemplate-general div.sheet-color-darkpurple .sheet-subheader {
background-color: var(--darkpurple);
}
.charsheet .repcontrol {
display: flex;
width: 100%;
}
.charsheet .repcontrol .btn {
background: none;
border: medium none;
box-shadow: none;
font-size: 0;
padding: 2px 2px 0 2px;
}
.charsheet .repcontrol .btn:focus {
outline: 0;
}
.charsheet .repcontrol .repcontrol_edit:after,
.charsheet .repcontrol .repcontrol_add::before {
background-color: var(--color-white1);
border: 1px solid var(--color-lightgrey2);
border-radius: 2px;
color: var(--color-darkgrey1);
content: '(';
font-family: pictos;
font-size: var(--text-med);
padding: 2px 4px 2px 4px;
visibility: visible;
}
.charsheet .repcontrol .repcontrol_edit:after {
content: '(';
}
.charsheet .editmode ~ .repcontrol .repcontrol_edit:after {
content: ')';
}
.charsheet .repcontrol .repcontrol_add:before {
content: '&';
}
.charsheet .editmode ~ .repcontrol .repcontrol_edit:hover:after,
.charsheet .repcontrol .repcontrol_edit:hover:after,
.charsheet .repcontrol .repcontrol_add:hover:before {
color: var(--color-black2);
}
.charsheet .itemcontrol .repcontrol_del,
.charsheet .itemcontrol .repcontrol_move {
float: right;
font-size: var(--text-med);
height: 2rem;
margin: 4px auto auto auto;
padding: 0;
width: 2rem;
}
.charsheet .itemcontrol .repcontrol_move {
color: var(--link-hover);
outline: 1px solid var(--link-hover);
width: 4rem;
}
/*edit mode*/
.charsheet .editmode ~ .repcontrol .repcontrol_edit {
background-color: var(--color-white1);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
border: 1px solid var(--color-white3);
border-bottom-color: #bbb;
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
margin-top: 2px;
padding-block: 1px;
width: 100%;
}
.charsheet .repcontainer.ui-sortable.editmode {
outline: 1px solid red;
position: relative;
}
.charsheet .repitem.ui-sortable-helper {
display: inline-block;
opacity: 1;
outline: 1px solid red;
}
.charsheet .repcontainer.editmode .repitem .itemcontrol {
display: block;
z-index: 2;
}
.charsheet .editmode .repitem:has(.itemcontrol a:focus),
.charsheet .editmode .repitem:has(.itemcontrol a:active) {
color: red;
display: block;
outline: 2px solid red;
position: relative;
right: 0;
}