Files
roll20-character-sheets/Beacon by PGG/beacon.css
T

778 lines
15 KiB
CSS

/*----------------- Main Layout ------------------*/
/* A CSS Grid example using "grid-template-areas"
https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas
*/
.charsheet main.sheet-character,
.charsheet main.sheet-gen,
.charsheet main.sheet-npc,
.charsheet main.sheet-npcgen{
display: none;
}
.charsheet .sheet-tabstoggle[value=character] ~ main.sheet-character,
.charsheet .sheet-tabstoggle[value=npc] ~ main.sheet-npc,
.charsheet .sheet-tabstoggle[value=gen] ~main.sheet-gen,
.charsheet .sheet-tabstoggle[value=npcgen] ~main.sheet-npcgen{
display: grid;
}
.charsheet div.tab-buttons {
display: flex;
gap: 2px;
margin-bottom: 2px;
}
.charsheet .text160{width:160px;}
.charsheet .resizedTextbox{width:120px;}
.charsheet .text80{width:80px;}
.charsheet .text60{width:60px;}
.charsheet .jobBox{width:100px;}
.charsheet .ancestryBox{width:100px;}
.charsheet .text105{width:105px;}
.charsheet .text40{width:40px;}
.charsheet textArea{
height: 60px;
width: auto;
background-color: white;
}
.charsheet textArea.textAtks{
height: 40px;
width: auto;
background-color: white;
}
table {
margin-left: auto;
margin-right:auto;
}
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
text-align: center;
}
th {
white-space: nowrap;
padding: 5px;
}
table.b, th.b, td.b {
border: none
}
th.b, td.b {
text-align: left;
}
th.b {
padding: 0px;
}
main.sheet-character {
display: grid;
width: 1007px;
height: 1100px;
grid-gap: 4px;
grid-template-columns: 200px 1fr 1fr 1fr 1fr;
grid-template-rows: 100px 1fr 1fr 1fr 2fr;
grid-template-areas:"header header header header header header"
"skill skill bars bars power power"
"misc misc attack attack power power"
"misc misc attack attack power power"
"misc misc attack attack talent talent"
"ult ult inv inv talent talent"
"ult ult inv inv talent talent"
}
/*----------------- GENERAL CSS ------------------*/
.charsheet{
height: 100%;
background-color: #333;
}
section.skill {
height: 200px;
}
section {
padding: 5px;
background-color: #dddddd;
border-radius: 2px;
margin-top: 2px;
margin-bottom: 2px;
margin-left: 2px;
margin-right: 2px;
position: relative;
min-height: 100px;
}
section:before {
content: '';
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
border: 1px solid #333;
border-radius: 5px;
z-index: -1;
}
section h2 {
font-size: 1.5rem;
font-weight: bold;
margin-bottom: 5px;
text-align: center;
text-transform: uppercase;
}
section p {
font-size: 1rem;
line-height: 1.5;
}
body {
font-family: 'Lucida Grande', 'Helvetica Neue', sans-serif;
background: #FDFDFD;
}
h1 {
font-size: 60px;
text-align: center;
margin: 40px;
color: #000;
}
h1.method2 {
-webkit-mask-image: -webkit-linear-gradient(top, rgba(0,0,0,1), rgba(0,0,0,.5) 50%, rgba(0,0,0,1));
-webkit-mask-image: linear-gradient(top, rgba(0,0,0,1), rgba(0,0,0,.5) 50%, rgba(0,0,0,1));
}
#contain {
width: 300px;
height: 500px;
margin: auto;
}
.accordion,.accordion div,.accordion h1,.accordion p,.accordion a,.accordion img,.accordion span,.accordion em,.accordion ul,.accordion li {
margin: 0;
padding: 0;
border: none;
}
/* Popout Box CSS */
body {
background: #f5f7fa;
overflow: hidden;
}
body > label {
position: absolute;
top: 50%;
left: 50%;
margin-top: -15px;
margin-left: -116px;
font-family: 'Montserrat', sans-serif;
cursor: pointer;
padding: 5px 25px;
background: #434a54;
border-radius: 2px;
font-weight: lighter;
color: #fff;
}
input#mycheckbox {
display: none;
}
input#mycheckbox:checked ~ #banner,
input#mycheckbox:checked ~ #modal {
display: block;
}
input#mycheckbox2 {
display: none;
}
input#mycheckbox2:checked ~ #banner,
input#mycheckbox2:checked ~ #modal {
display: block;
}
input#mycheckbox3 {
display: none;
}
input#mycheckbox3:checked ~ #banner,
input#mycheckbox3:checked ~ #modal {
display: block;
}
input#mycheckbox4 {
display: none;
}
input#mycheckbox4:checked ~ #banner,
input#mycheckbox4:checked ~ #modal {
display: block;
}
input#mycheckbox5 {
display: none;
}
input#mycheckbox5:checked ~ #banner,
input#mycheckbox5:checked ~ #modal {
display: block;
}
#banner {
display: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #da4453;
z-index: 0;
}
#modal {
position: absolute;
display: none;
left: 50%;
top: 50%;
width: 400px;
height: 200px;
margin-left: -200px;
margin-top: -100px;
text-align: center;
border-radius: 2px;
border: 1px solid #ddd;
background: #fff;
color: #424242;
-webkit-animation: fall-in 0.35s;
-moz-animation: fall-in 0.35s;
-o-animation: fall-in 0.35s;
animation: fall-in 0.35s;
}
#modal label {
position: absolute;
top: -6px;
right: -6px;
display: flex;
justify-content: center;
align-items: center;
width: 15px;
height: 15px;
border-radius: 50%;
color: black;
background: #434a54;
font-size: 8px;
cursor: pointer;
}
#modal i {
margin-top: 20px;
color: #da4453;
font-size: 5em;
text-shadow: 0px 4px #e6e9ed;
}
#modal h2 {
margin-bottom: 5px;
font-family: 'Montserrat', sans-serif;
font-weight: lighter;
}
#modal p {
padding: 0;
margin: 0;
font-size: 10px;
font-family: 'open sans', sans-serif;
color: #ccc;
}
#modal button {
background: #da4453;
color: #fff;
font-size: 14px;
padding: 5px 15px;
border: none;
border-radius: 2px;
margin-top: 10px;
}
@-moz-keyframes fall-in {
0% {
-ms-transform: scale(3, 3);
-webkit-transform: scale(3, 3);
transform: scale(3, 3);
opacity: 0;
}
50% {
-ms-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
opacity: 1;
}
60% {
-ms-transform: scale(1.1, 1.1);
-webkit-transform: scale(1.1, 1.1);
transform: scale(1.1, 1.1);
}
100% {
-ms-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}
}
@-webkit-keyframes fall-in {
0% {
-ms-transform: scale(3, 3);
-webkit-transform: scale(3, 3);
transform: scale(3, 3);
opacity: 0;
}
50% {
-ms-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
opacity: 1;
}
60% {
-ms-transform: scale(1.1, 1.1);
-webkit-transform: scale(1.1, 1.1);
transform: scale(1.1, 1.1);
}
100% {
-ms-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}
}
@-o-keyframes fall-in {
0% {
-ms-transform: scale(3, 3);
-webkit-transform: scale(3, 3);
transform: scale(3, 3);
opacity: 0;
}
50% {
-ms-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
opacity: 1;
}
60% {
-ms-transform: scale(1.1, 1.1);
-webkit-transform: scale(1.1, 1.1);
transform: scale(1.1, 1.1);
}
100% {
-ms-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}
}
@keyframes fall-in {
0% {
-ms-transform: scale(3, 3);
-webkit-transform: scale(3, 3);
transform: scale(3, 3);
opacity: 0;
}
50% {
-ms-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
opacity: 1;
}
60% {
-ms-transform: scale(1.1, 1.1);
-webkit-transform: scale(1.1, 1.1);
transform: scale(1.1, 1.1);
}
100% {
-ms-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}
}
/*loren*/
section.stats div {width:70px; display:inline-block;}
section.stats input {margin-right:55px;}
section.skill div {width:90px; display:inline-block;}
section.skill div.f-row {text-align:center;}
section.skill input {width:150%;}
section.skill div div {width:10px; display:inline-block;}
section.bars div {width:70px; display:inline-block;}
section.bars div.f-row {text-align:center;}
section.bars div div {width:70px; display:inline-block;}
section.npc-stats div {width:100px; display:inline-block;}
section.npc-stats div.f-row {text-align:center;}
section.npc-stats div div {width:100px; display:inline-block;}
input[type="number"] {
-moz-appearance: textfield;
text-align:center;
}
/*loren*/
section.bars {
font-size: 8px;
padding: -10px;
}
section.bars input {
width: 30px;
height: 40px;
font-size: 13px;
}
section.bars div {
font-size: 15px;
}
/* CSS Flexbox styling, used for adjusting how content inside section behaves */
.f-col {
display: flex;
flex-direction: column;
}
.f-row {
display: flex;
flex-direction: row;
}
.wrap {
display: flex;
flex-wrap: wrap;
}
.nowrap {
display: flex;
flex-wrap: nowrap;
}
.f-center {
align-items: center;
justify-content: center;
}
.sheet-flex-gauge-column
{
flex-shrink:0;
display:flex;
flex-flow:column;
}
.ancestryBox{width:80px;
}
.jobBox{width:80px;
}
.smallerTextbox{width:50px;
}
/*----------------- Text & Input styling -----------------*/
@import url("https://fonts.googleapis.com/css?family=Lexend&display=swap");
/* these are for overwriting default CSS that comes from Roll20 */
.charsheet * {
font-family: "Lexend";
}
.charsheet h3{
text-align: center;
}
.charsheet label{
margin: 3px;
padding: 3px 0 0 0;
color: #000000;
}
.charsheet input[type="text"], input[type="number"]{
margin: 2px 4px;
}
.charsheet input[type="number"]{
width:40px}
.charsheet input.sheet-toggle-showa:not(:checked) ~ div.sheet-bodya,
.charsheet input.sheet-toggle-hidea:checked ~ div.sheet-bodya {
display: none;
}
.charsheet input.sheet-toggle-showb:not(:checked) ~ div.sheet-bodyb,
.charsheet input.sheet-toggle-hideb:checked ~ div.sheet-bodyb {
display: none;
}
.charsheet input.sheet-toggle-show:not(:checked) ~ div.sheet-body,
.charsheet input.sheet-toggle-hide:checked ~ div.sheet-body {
display: none;
}
.charsheet input.sheet-toggle-show1:not(:checked) ~ div.sheet-body1,
.charsheet input.sheet-toggle-hide1:checked ~ div.sheet-body1 {
display: none;
}
.charsheet input.sheet-toggle-show2:not(:checked) ~ div.sheet-body2,
.charsheet input.sheet-toggle-hide2:checked ~ div.sheet-body2 {
display: none;
}
.charsheet input.sheet-toggle-show3:not(:checked) ~ div.sheet-body3,
.charsheet input.sheet-toggle-hide3:checked ~ div.sheet-body3 {
display: none;
}
.charsheet input.sheet-toggle-show4:not(:checked) ~ div.sheet-body4,
.charsheet input.sheet-toggle-hide4:checked ~ div.sheet-body4 {
display: none;
}
.charsheet input.sheet-toggle-show5:not(:checked) ~ div.sheet-body5,
.charsheet input.sheet-toggle-hide5:checked ~ div.sheet-body5 {
display: none;
}
.charsheet input.sheet-toggle-show6:not(:checked) ~ div.sheet-body6,
.charsheet input.sheet-toggle-hide6:checked ~ div.sheet-body6 {
display: none;
}
.charsheet input.sheet-toggle-show7:not(:checked) ~ div.sheet-body7,
.charsheet input.sheet-toggle-hide7:checked ~ div.sheet-body7 {
display: none;
}
.charsheet input.sheet-toggle-show8:not(:checked) ~ div.sheet-body8,
.charsheet input.sheet-toggle-hide8:checked ~ div.sheet-body8 {
display: none;
}
.charsheet input[type="checkbox"]{
min-width:0;
}
/*------------- Section-specific CSS -------------*/
.header {
grid-area: header;
flex-direction: column;
background-color: #333;
color: #333;
padding: 3px;
}
header h1 {
font-size: 2rem;
margin: 0;
}
header p {
font-size: 1rem;
margin: 0;
font-style: italic;
}
.skill {
grid-area: skill;
}
.common {
grid-area: common;
}
.ult {
grid-area: ult;
background-color: #E3854D;
}
.power {
grid-area: power;
background-color: #80B8E0;
}
.power .repcontainer[data-groupname="repeating_power"]{
padding-bottom: 0.2em;
}
.power .repcontainer[data-groupname="repeating_power"] .repitem{
margin: 4px 0px;
}
.talent {
grid-area: talent;
}
.bars {
grid-area: bars;
}
.stats {
grid-area: stats;
}
.attack {
grid-area: attack;
background-color: #a0a0a0;
}
.inv {
grid-area: inv;
background-color: #C1916A;
}
.misc {
grid-area: misc;
background-color: #CE4D51;
}
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-auto-rows: 100px;
grid-gap: 10px;
align-items: end;
}
.grid-header {
font-weight: bold;
text-align: center;
background-color: #333;
padding: 10px;
}
.grid-item {
background-color: #333;
padding: 10px;
min-height: 50px;
text-align: center;
}
/* NPC SHEET *\
\* */
main.sheet-npc {
display: grid;
width: 1000px;
height:900px;
grid-gap: 4px;
grid-template-columns: 200px 1fr 1fr 1fr 1fr;
grid-template-rows: 90px 1fr 1fr 1fr 15px;
grid-template-areas: "header header header header"
"npc-base npc-stats npc-bar npc-actions"
"npc-trts npc-atk npc-atk npc-actions"
"npc-trts npc-inv npc-inv npc-actions";
}
.npc-base {
grid-area: npc-base;
}
.npc-stats {
grid-area: npc-stats;
}
.npc-atk {
grid-area: npc-atk;
background-color: #a0a0a0;
}
.npc-trts {
grid-area: npc-trts;
background-color: #CE4D51;
}
.npc-actions {
grid-area: npc-actions;
background-color: #80B8E0;
}
.npc-inv {
grid-area: npc-inv;
background-color: #C1916A;
}
.npc-bar {
grid-area: npc-bar
}
/* GENERAL RULES TAB *\
\* */
main.sheet-gen {
display: grid;
width: 1000px;
grid-gap: 4px;
grid-template-columns: 200px 1fr 1fr 1fr 1fr;
grid-template-rows: 100px 1fr 1fr 20px;
grid-template-areas: "header header header header header"
"gen-misc reactions reactions surge surge"
"phase rerolltable rerolltable wounds wounds";}
.rerolltable {
grid-area: rerolltable
}
.surge {
grid-area: surge
}
.reactions {
grid-area: reactions
}
.gen_misc {
grid-area: gen-misc
}
.wounds {
grid-area: wounds
}
.phase {
grid-area: phase
}
/*------------------------------------*\
#ROLL TEMPLATES
\*------------------------------------*/
/*------------------------------------*\
#Tooltip CSS Style
\*------------------------------------*/
.sheet-tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted #000;
cursor: help;
}
.sheet-tooltip .sheet-tooltip-text {
visibility: hidden;
width: 225px;
background-color: #000;
color: #fff;
text-align: left;
padding: 5px;
border-radius: 5px;
position: absolute;
z-index: 1;
bottom: 100%;
left: 100%;
margin-left: 35px;
margin-bottom: 2px;
transform: translateX(-50%);
}
.sheet-tooltip .sheet-tooltip-text::before {
content: "";
position: absolute;
top: 100%;
left: 25%;
margin-left: -10px;
border-width: 5px;
transform: translateX(-50%);
border-style: solid;
border-color: black transparent transparent transparent;
}
.sheet-tooltip:hover .sheet-tooltip-text {
visibility: visible;
}