/* CREATED by Gorthian Version 2.1 Letzte Änderung 2024-07-29 GitHub https://github.com/Gorthian/Roll20_NoReturn_CharacterSheet Wiki https://github.com/Gorthian/Roll20_NoReturn_CharacterSheet/wiki Bugs & Issues https://github.com/Gorthian/Roll20_NoReturn_CharacterSheet/issues */ /**********************************/ /* Externe Schriftarten einbinden */ /**********************************/ @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); /* Roboto als Fallback für Eras Medium */ @import url('https://fonts.googleapis.com/css2?family=Merriweather+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&family=Rubik+Distressed&display=swap'); /* Merriweather Sans als Fallback für Downcome */ /**********************************/ /* Schriftarten definieren */ /* Font-Variablen für den Sheet */ /**********************************/ div.sheet-noreturn { --font-standard : "Merriweather Sans", sans-serif, monospace; --font-h1-size : 1.3em; --font-h2-size : 1em; --font-big-size : 1em; --font-standard-size : 0.95em; --font-middle-size : 0.8em; --font-small-size : 0.7em; } div.sheet-noreturn { font-family : var(--font-standard); font-size : var(--font-standard-size); } div.sheet-noreturn h1, div.sheet-noreturn h2 { font-family : var(--font-standard); text-transform : uppercase; color : black; text-align : center; } div.sheet-noreturn h1 {font-size : var(--font-h1-size);} div.sheet-noreturn h2 {font-size : var(--font-h2-size);} .sheet-attribut-zeile, .sheet-sonderattribut-zeile, .sheet-sonderattribut-zeile-max-aktuell { text-transform : uppercase; } .sheet-fertigkeiten-zeile, .sheet-besondere-fertigkeiten-zeile, .sheet-style-skills-zeile, .sheet-charaktermerkmale-zeile, .sheet-sprachkenntnisse-zeile { text-transform : none; } div.sheet-noreturn div.sheet-kopfzeile, div.sheet-noreturn div.sheet-titel, div.sheet-noreturn div.sheet-sonderattribut-zeile div.sheet-sonderattribut-titel, div.sheet-noreturn div.sheet-sonderattribut-zeile div.sheet-sonderattribut-titel input[type='text'], div.sheet-noreturn div.sheet-sonderattribut-zeile-max-aktuell div.sheet-sonderattribut-titel, div.sheet-noreturn div.sheet-sonderattribut-zeile-max-aktuell div.sheet-sonderattribut-titel input[type='text'] { font-family : var(--font-standard); text-transform : uppercase; } div.sheet-noreturn div.sheet-kopfzeile { font-size : var(--font-middle-size); text-align : center; } div.sheet-noreturn div.sheet-titel, div.sheet-noreturn div.sheet-sonderattribut-zeile div.sheet-sonderattribut-titel, div.sheet-noreturn div.sheet-sonderattribut-zeile-max-aktuell div.sheet-sonderattribut-titel, div.sheet-noreturn div.sheet-sonderattribut-zeile div.sheet-sonderattribut-titel input[type='text'], div.sheet-noreturn div.sheet-sonderattribut-zeile-max-aktuell div.sheet-sonderattribut-titel input[type='text'] { font-size : var(--font-big-size); } div.sheet-noreturn div.sheet-sonderattribut-zeile div.sheet-sonderattribut-titel input[type='text'], div.sheet-noreturn div.sheet-sonderattribut-zeile-max-aktuell div.sheet-sonderattribut-titel input[type='text'] { position : relative; left : -0.25em; top : -0.25em; } div.sheet-noreturn input { font-family : var(--font-standard); font-size : var(--font-standard-size); } div.sheet-noreturn div.sheet-trefferzonen-liste div.sheet-trefferzone-zeile div:first-child { font-weight : bold; } div.sheet-noreturn div.sheet-trefferzone-zeile input[type="text"] { text-transform : uppercase; font-weight : bold; } div.sheet-noreturn .sheet-input-line .sheet-input-label { font-family : var(--font-standard); font-size : var(--font-h2-size); font-weight : normal; text-transform : uppercase; } .sheet-font-small-highlight { font-family : var(--font-standard); font-size : var(--font-small-size); text-transform : uppercase; } .sheet-font-darkgray-highlight { font-family : var(--font-standard); font-size : var(--font-big-size); text-transform : uppercase; color : darkgray; } /**********************************/ /* CSS-Variablen für den Sheet */ /**********************************/ div.sheet-noreturn { --max-line-width : 98%; --box-background-image : url("https://raw.githubusercontent.com/Gorthian/Roll20_NoReturn_CharacterSheet/main/images/white60tranz_10x10.png"); --background-color : #CEC1AE; --noreturn-color-bg : #CEC1AE; --noreturn-color-red : #6B0000; } div.sheet-noreturn { width : auto; min-width : 850px; background-color : var(--background-color); } div.sheet-noreturn img { display : block; margin : auto; } div.sheet-noreturn-body { width : auto; min-width : 800px; background-color : var(--background-color); display : grid; background-image : url("https://raw.githubusercontent.com/Gorthian/Roll20_NoReturn_CharacterSheet/main/images/background_800px.png"); background-repeat : no-repeat; background-size : cover; padding : 0.4em; } div.sheet-noreturn .sheet-logo { text-align : center; } div.sheet-noreturn .sheet-3cols { display : grid; grid-template-columns : repeat(3, 33%); width : var(--max-line-width); } div.sheet-noreturn .sheet-2cols { display : grid; grid-template-columns : 66% 33%; width : var(--max-line-width); } div.sheet-noreturn .sheet-2cols-50-50 { display : grid; grid-template-columns : 50% 50%; width : var(--max-line-width); } div.sheet-noreturn h1, div.sheet-noreturn h2 { width : 100%; position : relative; top : -0.5em; } div.sheet-noreturn div.sheet-box { background-image : var(--box-background-image); background-repeat : repeat; margin : 0.4em; } div.sheet-noreturn .sheet-attribute { display : grid; grid-template-columns : repeat(2, auto); } div.sheet-noreturn .sheet-sonderattribute { display : grid; grid-template-columns : repeat(3, auto); } div.sheet-noreturn .sheet-attribut-zeile { display : grid; grid-template-columns : 9em 1.8em 3.5em repeat(2, 5em) 2.5em ; } div.sheet-noreturn .sheet-sonderattribut-zeile { display : grid; grid-template-columns : 12em 5em; } div.sheet-noreturn .sheet-sonderattribut-zeile-max-aktuell { display : grid; grid-template-columns : 12em repeat(2, 5em); } div.sheet-noreturn .sheet-fertigkeiten-zeile { display : grid; grid-template-columns : 9.6em repeat(3, 2.2em) repeat(2, 2.55em); } div.sheet-noreturn .sheet-besondere-fertigkeiten-zeile { display : grid; grid-template-columns : 2em 10em 4em 3.5em; } div.sheet-noreturn .sheet-sprachkenntnisse-zeile { display : grid; grid-template-columns : 2em 10em 3.5em; } div.sheet-noreturn .sheet-fernkampfwaffen { display : grid; } div.sheet-noreturn .sheet-nahkampfwaffen { display : grid; } div.sheet-noreturn .sheet-fernkampfwaffen .sheet-fernkampfwaffen-kopfzeile{ display : grid; grid-template-columns : repeat(5, 10em) 2.5em auto; justify-items : stretch; font-family : var(--font-standard); font-size : var(--font-h2-size); font-weight : normal; text-transform : uppercase; } div.sheet-noreturn .sheet-fernkampfwaffen .sheet-fernkampfwaffen-zeile{ display : grid; grid-template-columns : 10em repeat(4, 2.5em) repeat(3, 10em) 2.5em auto; justify-items : stretch; border-bottom : 1px solid black; } div.sheet-noreturn .sheet-nahkampfwaffen .sheet-nahkampfwaffen-kopfzeile, div.sheet-noreturn .sheet-nahkampfwaffen .sheet-nahkampfwaffen-zeile{ display : grid; grid-template-columns : auto repeat(4, 6em); justify-items : stretch; } div.sheet-noreturn .sheet-nahkampfwaffen .sheet-nahkampfwaffen-kopfzeile{ font-family : var(--font-standard); font-size : var(--font-h2-size); font-weight : normal; text-transform : uppercase; } div.sheet-noreturn .sheet-nahkampfwaffen .sheet-nahkampfwaffen-zeile{ border-bottom : 1px solid black; } div.sheet-noreturn .sheet-style-skills-zeile { display : grid; grid-template-columns : 15em 5em; } div.sheet-noreturn .sheet-attribut-zeile div, div.sheet-noreturn .sheet-sonderattribut-zeile div, div.sheet-noreturn .sheet-sonderattribut-zeile-max-aktuell div, div.sheet-noreturn .sheet-fertigkeiten-zeile div, div.sheet-noreturn .sheet-besondere-fertigkeiten-zeile div, div.sheet-noreturn .sheet-sprachkenntnisse-zeile div, div.sheet-noreturn .sheet-style-skills-zeile div, div.sheet-noreturn .sheet-charaktermerkmale-zeile div { white-space : nowrap; } div.sheet-noreturn input[type="number"] { text-align : center; } div.sheet-noreturn div.sheet-infektionsresistenz input[type="number"] { height : 1.5em; width : 2.5em; } div.sheet-noreturn div.sheet-fernkampfwaffen-zeile input[type="number"], div.sheet-noreturn div.sheet-nahkampfwaffen-zeile input[type="number"], div.sheet-noreturn div.sheet-style-skills-zeile input[type="number"], div.sheet-noreturn div.sheet-fertigkeiten-zeile input[type="number"], div.sheet-noreturn div.sheet-attribut-zeile input[type="number"], div.sheet-noreturn div.sheet-fertigkeiten-zeile input[type="text"] { border : 2px solid black; height : 1.5em; width : 2.5em; } div.sheet-noreturn div.sheet-sonderattribut-zeile input[type="number"], div.sheet-noreturn div.sheet-sonderattribut-zeile-max-aktuell input[type="number"] { border : 2px solid black; height : 1.5em; width : 5em; } div.sheet-noreturn div.sheet-besondere-fertigkeiten-zeile input[type="number"], div.sheet-noreturn div.sheet-besondere-fertigkeiten-zeile input[type="text"], div.sheet-noreturn div.sheet-sprachkenntnisse-zeile input[type="number"], div.sheet-noreturn div.sheet-sprachkenntnisse-zeile input[type="text"], div.sheet-noreturn div.sheet-style-skills-zeile input[type="text"], div.sheet-noreturn div.sheet-charaktermerkmale-zeile input[type="text"] { border-style : none none solid none; border-width : 1px; border-color : black; border-radius : 0px; top : 0em; } div.sheet-noreturn div.sheet-besondere-fertigkeiten-zeile input[type="number"], div.sheet-noreturn div.sheet-sprachkenntnisse-zeile input[type="number"] { width : 2.5em; top : 0em; } div.sheet-noreturn input.sheet-input-underline { border-bottom : 1px dotted black; } div.sheet-noreturn textarea.sheet-style-skills { font-size : var(--font-middle-size); width : 90%; height : calc(6*var(--font-middle-size)); } div.sheet-noreturn textarea.sheet-textarea-klein { font-size : var(--font-middle-size); height : calc(4*var(--font-middle-size)); } div.sheet-noreturn div.sheet-besondere-fertigkeiten-zeile select { background-color : transparent; width : auto; } div.sheet-noreturn div.sheet-titel, div.sheet-noreturn div.sheet-sonderattribut-zeile div.sheet-sonderattribut-titel, div.sheet-noreturn div.sheet-sonderattribut-zeile-max-aktuell div.sheet-sonderattribut-titel { height : 1.5em; } div.sheet-noreturn div.sheet-trefferzonen-bild { z-index : 0; position : relative; display : inline-block; } div.sheet-noreturn div.sheet-trefferzonen-bild img { display : block; margin : auto; min-width : 300px; } div.sheet-noreturn div.sheet-trefferzonen-liste { display : grid; grid-template-columns : repeat(2, 115px); grid-gap : 5px; white-space : nowrap; } div.sheet-noreturn div.sheet-trefferzonen-liste div.sheet-trefferzonen-eintrag:first-child { grid-column : 1 / 3; margin : auto; } div.sheet-noreturn div.sheet-trefferzonen-liste div.sheet-trefferzonen-eintrag > div { display : grid; grid-template-columns : repeat(4, 26px); white-space : nowrap; } div.sheet-noreturn div.sheet-trefferzonen-liste div.sheet-trefferzone-zeile { border : 1px solid black; } div.sheet-noreturn div.sheet-trefferzonen-liste div.sheet-trefferzone-kopfzeile { text-align : center; } div.sheet-noreturn div.sheet-trefferzonen-liste div.sheet-trefferzone-zeile div:first-child { border-style : none solid none none; border-width : 2px; border-color : black; text-align : center; } div.sheet-noreturn div.sheet-trefferzone-zeile input[type="number"], div.sheet-noreturn div.sheet-trefferzone-zeile input[type="text"] { top : -2px; width : 35px; height : 17px; text-align : center; } div.sheet-noreturn div.sheet-max-current { background-color : #EEE8E0; margin : 10px 0px 0px 0px; border : 1px solid black; text-align : center; } div.sheet-noreturn div.sheet-max-current div.sheet-max-current-box { margin : 0 auto auto 0; padding : 5px; white-space : nowrap; } div.sheet-noreturn div.sheet-max-current input[type="number"] { width : 90%; text-align : center; border-bottom : 1px solid black; } div.sheet-noreturn .sheet-input-line { border-bottom : 1px solid black; white-space : nowrap; } div.sheet-noreturn .sheet-input-line div { display : table-cell; } div.sheet-noreturn .sheet-input-line .sheet-input-label { position : relative; } div.sheet-noreturn input { border : none; background-color : transparent; width : 100%; } div.sheet-noreturn textarea { border : 2px dotted black; border-radius : 0.2em; background-color : transparent; width : 95%; font-size : var(--font-middle-size); height : calc(10 * var(--font-middle-size)); } /******************************/ /* Trefferzonen Schadenszähler*/ /******************************/ div.sheet-noreturn div.sheet-schadenszaehler { position : absolute; display : inline; --top-line : 4em; --left-line : 5.5em; --top-1 : var(--top-line); --top-2 : calc(var(--top-1) + 1.1em); --top-3 : calc(var(--top-2) + 2.2em); --top-4 : calc(var(--top-3) + 2.2em); --top-5 : calc(var(--top-4) + 1.8em); --top-6 : calc(var(--top-5) + 2.2em); --top-7 : calc(var(--top-6) + 4.2em); --left-1 : var(--left-line); --left-2 : calc(var(--left-1) + 1.5em); --left-3 : calc(var(--left-2) + 1.4em); --left-4 : calc(var(--left-3) + 2.4em); --left-5 : calc(var(--left-4) + 1.5em); --left-6 : calc(var(--left-5) + 1.3em); --left-7 : calc(var(--left-6) + 1em); --left-8 : calc(var(--left-7) + 1.7em); } .sheet-trefferzone-12 {top:var(--top-1);} .sheet-trefferzone-5, .sheet-trefferzone-9 {top:var(--top-2);} .sheet-trefferzone-6, .sheet-trefferzone-8 {top:var(--top-3);} .sheet-trefferzone-7 {top:var(--top-4);} .sheet-trefferzone-2 {top:var(--top-5);} .sheet-trefferzone-4, .sheet-trefferzone-10 {top:var(--top-6);} .sheet-trefferzone-3, .sheet-trefferzone-11 {top:var(--top-7);} .sheet-trefferzone-5 {left:var(--left-1);} .sheet-trefferzone-3 {left:var(--left-2);} .sheet-trefferzone-4, .sheet-trefferzone-6 {left:var(--left-3);} .sheet-trefferzone-12 {left:var(--left-4);} .sheet-trefferzone-7, .sheet-trefferzone-2 {left:var(--left-5);} .sheet-trefferzone-8, .sheet-trefferzone-10 {left:var(--left-6);} .sheet-trefferzone-11 {left:var(--left-7);} .sheet-trefferzone-9 {left:var(--left-8);} div.sheet-noreturn div.sheet-schadenszaehler input[type="number"] { border : 1px solid black; background-image : var(--box-background-image); width : 2em; height : 1.5em; text-align : center; font-family : var(--font-standard); font-weight : bold; } /******************************/ /* Tooltip */ /******************************/ .sheet-tooltip { position : relative; display : inline-block; } .sheet-tooltip .sheet-tooltiptext { font-family : var(--font-standard); font-size : var(--font-small-size); visibility : hidden; background-color : black; color : #fff; text-align : center; padding : 5px 2px; border-radius : 6px; min-width : 40px; /* Position the tooltip text */ position : absolute; z-index : 100; bottom : 100%; left : 20%; } .sheet-tooltip:hover .sheet-tooltiptext { visibility : visible; } .sheet-tooltip .sheet-tooltiptext:empty, .sheet-tooltip:hover .sheet-tooltiptext:empty { visibility : hidden; } /******************************/ /* Details & Summary */ /******************************/ div.sheet-noreturn details summary:after { content : url("https://raw.githubusercontent.com/Gorthian/Roll20_NoReturn_CharacterSheet/main/images/bio_hazard_red_20px.png"); color : black; position : absolute; right : 0em; top : -0.2em; } div.sheet-noreturn details.sheet-fertigkeiten summary:after { position : relative; display : block; left : 90%; top : -1.6em; height : 0em; } div.sheet-noreturn details[open] summary:after { content : url("https://raw.githubusercontent.com/Gorthian/Roll20_NoReturn_CharacterSheet/main/images/bio_hazard_red_20px_rotate.png"); } /******************************/ /* Der Dicebot */ /******************************/ div.sheet-dicebot-container { z-index : 100; position : sticky; background-color : transparent; height : auto; top : 2px; } div.sheet-dicebot { border : 2px solid var(--noreturn-color-red); border-radius : 25px; padding-left : 5px; padding-top : 5px; padding-bottom : 5px; background-color : var(--noreturn-color-bg); top : 0; margin-left : auto; margin-right : auto; width : 98%; height : 100%; font-family : var(--font-standard); font-size : var(--font-h2-size); display : grid; grid-auto-flow : row; justify-content : start; } div.sheet-dicebot div.sheet-dicebot-row { display : grid; grid-auto-flow : column; justify-content : start; grid-gap : 5px; } div.sheet-dicebot input[type=number] { border : 2px solid black; top : unset; text-align : center; font-weight : bold; } div.sheet-dicebot span, div.sheet-dicebot label { font-size : var(--font-big-size); font-weight : normal; color : black; margin : auto; } /* Chrome, Safari, Edge, Opera */ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } /* Firefox */ input[type=number] { -moz-appearance: textfield; appearance: textfield; } /*Configure the tab buttons*/ div.sheet-noreturn button.sheet-toggle-button { display : inline-block; font-family : var(--font-standard); text-transform : uppercase; font-size : 1.5em; white-space : nowrap; } .sheet-page-one, .sheet-page-two, .sheet-page-three, .sheet-page-four { display: none; } /* TAB MENU */ .sheet-tabstoggle[value="page-one"] ~ div.sheet-page-one, .sheet-tabstoggle[value="page-two"] ~ div.sheet-page-two, .sheet-tabstoggle[value="page-three"] ~ div.sheet-page-three, .sheet-tabstoggle[value="page-four"] ~ div.sheet-page-four { display: block; } /* Buttons */ div.sheet-noreturn button, div.sheet-noreturn .btn { position : relative; z-index : 50; } div.sheet-noreturn button.sheet-button-transparent { font-size : unset; background-color : transparent; background-repeat : no-repeat; border : none; cursor : pointer; overflow : hidden; outline : none; } div.sheet-noreturn button.sheet-button-d6 { border : none; background-color : transparent; outline : none; } div.sheet-noreturn button.sheet-button-d6::before { font-family : 'dicefontd6'; content : 'F '; font-size : 1.8em; } div.sheet-noreturn div.sheet-attribut-zeile button.sheet-button-d6::before { position : relative; left : -0.3em; top : -0.1em; } /* Die Rolltemplates */ .sheet-rolltemplate-trefferzone div.sheet-template-container, .sheet-rolltemplate-probe_offen div.sheet-template-container, .sheet-rolltemplate-infektionsresistenz div.sheet-template-container { background-color : whitesmoke; color : black; margin : 5px; border-radius : 15px; border : 1px solid gray; } .sheet-rolltemplate-trefferzone div.sheet-template-header, .sheet-rolltemplate-infektionsresistenz div.sheet-template-header, .sheet-rolltemplate-probe_offen div.sheet-template-header { font-family : "Merriweather Sans", sans-serif, monospace; font-size : 14pt; text-align : center; } .sheet-rolltemplate-trefferzone div.sheet-template-row, .sheet-rolltemplate-infektionsresistenz div.sheet-template-row, .sheet-rolltemplate-probe_offen div.sheet-template-row { font-family : "Merriweather Sans", sans-serif, monospace; font-size : 12pt; line-height : 14pt; margin : 5px; } .sheet-rolltemplate-trefferzone div.sheet-template-row, .sheet-rolltemplate-infektionsresistenz div.sheet-template-row, .sheet-rolltemplate-probe_offen div.sheet-template-row { display : grid; grid-template-columns : 80% 20%; } .sheet-rolltemplate-infektionsresistenz div.sheet-template-row span.sheet-template-zahlen, .sheet-rolltemplate-probe_offen div.sheet-template-row span.sheet-template-zahlen { font-family : "Merriweather Sans", sans-serif, monospace; font-weight : bold; } .sheet-rolltemplate-trefferzone hr, .sheet-rolltemplate-infektionsresistenz hr, .sheet-rolltemplate-probe_offen hr { margin : unset; } .sheet-rolltemplate-trefferzone .inlinerollresult, .sheet-rolltemplate-infektionsresistenz .inlinerollresult, .sheet-rolltemplate-probe_offen .inlinerollresult { background-color : unset !important; /*Important wird für den Darkmode benötigt*/ border : unset !important; /*Important wird für den Darkmode benötigt*/ padding : unset; font-weight : unset; cursor : help; font-size : 1.2em; } .sheet-rolltemplate-trefferzone .inlinerollresult.importantroll, .sheet-rolltemplate-trefferzone .inlinerollresult.fullcrit, .sheet-rolltemplate-trefferzone .inlinerollresult.fullfail, .sheet-rolltemplate-infektionsresistenz .inlinerollresult.importantroll, .sheet-rolltemplate-infektionsresistenz .inlinerollresult.fullcrit, .sheet-rolltemplate-infektionsresistenz .inlinerollresult.fullfail, .sheet-rolltemplate-probe_offen .inlinerollresult.importantroll, .sheet-rolltemplate-probe_offen .inlinerollresult.fullcrit, .sheet-rolltemplate-probe_offen .inlinerollresult.fullfail { border : unset; } .sheet-rolltemplate-infektionsresistenz .sheet-template-regular-di, .sheet-rolltemplate-infektionsresistenz .sheet-template-hazard-di, .sheet-rolltemplate-probe_offen .sheet-template-regular-di, .sheet-rolltemplate-probe_offen .sheet-template-hazard-di { display : block; background-size : 20px; background-repeat : repeat; width : fit-content; max-width : 182px; } .sheet-rolltemplate-infektionsresistenz .sheet-template-regular-di, .sheet-rolltemplate-probe_offen .sheet-template-regular-di { background-image : url("https://raw.githubusercontent.com/Gorthian/Roll20_NoReturn_CharacterSheet/main/images/dice_white_space.png"); } .sheet-rolltemplate-infektionsresistenz .sheet-template-hazard-di, .sheet-rolltemplate-probe_offen .sheet-template-hazard-di { background-image : url("https://raw.githubusercontent.com/Gorthian/Roll20_NoReturn_CharacterSheet/main/images/dice_red_space.png"); color : white; } .sheet-rolltemplate-infektionsresistenz .sheet-template-regular-di span, .sheet-rolltemplate-infektionsresistenz .sheet-template-hazard-di span, .sheet-rolltemplate-probe_offen .sheet-template-regular-di span, .sheet-rolltemplate-probe_offen .sheet-template-hazard-di span{ position : relative; font-family : monospace; font-size : 13px; letter-spacing : 13px; font-weight : bold; line-height : 20px; padding-top : 2px; padding-bottom : 3px; left : 5px; } /*****************************************/ /* Anpassungen speziell für den Darkmode */ /*****************************************/ .sheet-darkmode div.sheet-noreturn label { color : black; }