/*In the CSS file, all class-names must have a sheet--prefix in their name, or Roll20 won't recognize the classes. In the HTML file, this prefix is not needed. */ .sheet-App { color: mediumspringgreen; border-style: solid; border-width: 2px; border-color: teal; background-color: black; } .sheet-menuborder { border-style: double; border-width: 5px; box-sizing: border box; border-color: mediumspringgreen; background: linear-gradient(to bottom right, mediumseagreen, rgba(0,0,0,0)); padding: 5px; } .sheet-menuborder-secondary { border-style: double; box-sizing: border box; border-color: mediumspringgreen; background: linear-gradient(to bottom right, mediumseagreen, rgba(0,0,0,0)); opacity: 0; padding: 5px; } .sheet-spell-tech-points { position: relative; left: 20%; width: 55%; } .sheet-menuborder-secondary:hover { border-radius: 15px; opacity: 100%; transition: all 0.3s ease-in; } .sheet-character-semi, .sheet-equipment-semi, .sheet-styles-semi, .sheet-spells-semi, .sheet-energy-techniques-semi, .sheet-melee-techniques-semi, .sheet-passives-semi, .sheet-inventory-semi, .sheet-training-semi, button.sheet-semi { background-color: teal; color: black; font-weight: bold; font-size: 11px; } .sheet-character-semi:hover, .sheet-equipment-semi:hover, .sheet-styles-semi:hover, .sheet-spells-semi:hover, .sheet-energy-techniques-semi:hover, .sheet-melee-techniques-semi:hover, .sheet-passives-semi:hover, .sheet-inventory-semi:hover, .sheet-training-semi:hover, .sheet-tabstoggle[value="character"] ~ button.sheet-character-semi, .sheet-tabstoggle[value="passives"] ~ button.sheet-passives-semi, .sheet-tabstoggle[value="inventory"] ~ button.sheet-inventory-semi, .sheet-tabstoggle[value="equipment"] ~ button.sheet-equipment-semi, .sheet-tabstoggle[value="spells"] ~ button.sheet-spells-semi, .sheet-tabstoggle[value="styles"] ~ button.sheet-styles-semi, .sheet-tabstoggle[value="meleetechniques"] ~ button.sheet-meleetechniques-semi, .sheet-tabstoggle[value="energytechniques"] ~ button.sheet-energytechniques-semi, .sheet-tabstoggle[value="training"] ~ button.sheet-training-semi, button.sheet-semi:hover, { background: black; font-weight: bold; color: teal; transition: all 0.2s ease-in; } .sheet-char-sect { width: 100%; display: flex; text-align: center; transition: all 0.4s ease-in; flex-flow: row; } .sheet-char-sect-secondary { width: 100%; display: flex; text-align: center; transition: all 0.4s ease-in; flex-flow: row; flex-basis: content; } div.sheet-stats, div.sheet-skills, div.sheet-energy-catalyst { width: 33%; height: 100%; background: linear-gradient(to bottom right, mediumseagreen, rgba(0,0,0,0)); opacity: 0; border-style: double; border-width: 5px; box-sizing: border box; border-color: mediumspringgreen; padding: 5px; } div.sheet-stats:hover, div.sheet-skills:hover, div.sheet-energy-catalyst:hover { border-radius: 15px; opacity: 100%; height: 100%; transition: all 0.3s ease-in; } span.sheet-label-energy:hover ~ div.sheet.energy-catalyst, span.sheet-label-stats:hover ~ div.sheet.stats, span.sheet-label-skills:hover ~ div.sheet.skills { border-radius: 15px; opacity: 100%; height: 100%; display: inline-block; transition: all 0.3s ease-in; } span.sheet-label-energy, span.sheet-label-skills, span.sheet-label-stats, span.sheet-label-general { color: deeppink; font-size: 20px; border-style: double; border-color: mediumseagreen; background: black; margin: 100px; } input.sheet-character-inputs { padding: 3px; background: linear-gradient(to top right, mediumseagreen, rgba(0,0,0,0)); text-align: center; border-color: mediumspringgreen; border-right: 35px; border-top: 35px; color: lime; width: 25%; font-size: 30px; } input.sheet-character-inputsleft { padding: 3px; background: linear-gradient(to top right, mediumseagreen, rgba(0,0,0,0)); text-align: center; position: relative; border-color: mediumspringgreen; border-right: 35px; border-top: 35px; color: lime; width: 25%; font-size: 30px; } input.sheet-character-inputsright { padding: 3px; background: linear-gradient(to top right, mediumseagreen, rgba(0,0,0,0)); text-align: center; position: relative; border-color: mediumspringgreen; border-right: 35px; border-top: 35px; color: lime; width: 25%; font-size: 30px; } input.sheet-character-inputs-secondary { position: relative; width: 5%; height: 5%; background: linear-gradient(to top right, mediumseagreen, rgba(0,0,0,0)); text-align: center; border-color: mediumspringgreen; color: lime; font-size: 30px; } input.sheet-entry-inputs { padding: 3px; background: linear-gradient(to top right, mediumseagreen, rgba(0,0,0,0)); text-align: center; border-color: mediumspringgreen; border-right: 35px; border-top: 35px; color: lime; width: 40%; font-size: 20px; } table.sheet-vitality-status { border-style: groove; position: relative; left: 2%; border-width: 5px; background: black; } /*Configure the tab buttons*/ .sheet-character, .sheet-passives, .sheet-inventory, .sheet-equipment, .sheet-spells, .sheet-styles, .sheet-meleetechniques, .sheet-energytechniques, .sheet-training, .sheet-memories, .sheet-minions, .sheet-assault, .sheet-vigilant, .sheet-caster, .sheet-universal, .sheet-phasestep, .sheet-phasejump, .sheet-reflect, .sheet-absorb, .sheet-barrier, .sheet-cutter, .sheet-armor1, .sheet-armor2, .sheet-armor3, .sheet-armor4, .sheet-armor5, .sheet-demon, .sheet-necro{ display: none; } /* Right side represent the input attribute, hidden or otherwise, that, when it has its value changed to the corrisponding string, will reveal the Left side block. The "name" of the attribute is not shown here; only the class */ .sheet-moduletype-toggle[value="assault"] ~ div.sheet-assault, .sheet-moduletype-toggle[value="vigilant"] ~ div.sheet-vigilant, .sheet-moduletype-toggle[value="caster"] ~ div.sheet-caster, .sheet-moduletype-toggle[value="universal"] ~ div.sheet-universal { display: block; } .sheet-tabstoggle[value="character"] ~ div.sheet-character, .sheet-tabstoggle[value="passives"] ~ div.sheet-passives, .sheet-tabstoggle[value="inventory"] ~ div.sheet-inventory, .sheet-tabstoggle[value="equipment"] ~ div.sheet-equipment, .sheet-tabstoggle[value="spells"] ~ div.sheet-spells, .sheet-tabstoggle[value="styles"] ~ div.sheet-styles, .sheet-tabstoggle[value="meleetechniques"] ~ div.sheet-meleetechniques, .sheet-tabstoggle[value="energytechniques"] ~ div.sheet-energytechniques, .sheet-tabstoggle[value="training"] ~ div.sheet-training, .sheet-tabstoggle[value="memories"] ~ div.sheet-memories, .sheet-tabstoggle[value="minions"] ~ div.sheet-minions { display: block; background-color: black; background-size: cover; background-image: url('https://raw.githubusercontent.com/Cacealeos/roll20-character-sheets/master/Generation/Avatar.png'); border-color: teal; } .sheet-defensive-technique-phasestep[value="active"] ~ div.sheet-phasestep, .sheet-defensive-technique-phasejump[value="active"] ~ div.sheet-phasejump, .sheet-defensive-technique-reflect[value="active"] ~ div.sheet-reflect, .sheet-defensive-technique-absorb[value="active"] ~ div.sheet-absorb, .sheet-defensive-technique-barrier[value="active"] ~ div.sheet-barrier, .sheet-defensive-technique-cutter[value="active"] ~ div.sheet-cutter, .sheet-defensive-module1:not([value=""]) ~ div.sheet-armor1, .sheet-defensive-module2:not([value=""]) ~ div.sheet-armor2, .sheet-defensive-module3:not([value=""]) ~ div.sheet-armor3, .sheet-defensive-module4:not([value=""]) ~ div.sheet-armor4, .sheet-defensive-module5:not([value=""]) ~ div.sheet-armor5 { display: block; background: radial-gradient(#00ffCC, #00CC99); color: teal; border-style: solid; border-width: 2px; border-color: teal; } .sheet-deathcovenant:not([value="0"]) ~ div.sheet-necro, .sheet-halfbreed:not([value="0"]) ~ div.sheet-demon { display: inline; } .sheet-center { display: flex; justify-content: center; align-items: center; height: 40px; } /* Configure a container for the radio buttons. */ .sheet-races { display: inline-flex; align-items: center; } /* Configure the button styling. This example makes it look like a radio. */ button.sheet-race { padding: 5; border: solid 1px #a8a8a8; cursor: pointer; width: 14px; height: 14px; border-radius: 50%; display: flex; justify-content: center; align-items: center; } button.sheet-race > span.sheet-checked { width: 6px; height: 6px; border-radius: 50%; background: buttontext; } /* Configure a container for the radio buttons. */ .sheet-energies { display: flex; align-items: center; } .sheet-deathcovenant:not([value="0"]) ~ button.sheet-necro, .sheet-halfbreed:not([value="0"]) ~ button.sheet-demon, button.sheet-energy { padding: 5; border: solid 1px #a8a8a8; cursor: pointer; width: 14px; height: 14px; border-radius: 50%; display: flex; justify-content: center; align-items: center; } button.sheet-demon > span.sheet-checked, button.sheet-necro > span.sheet-checked, button.sheet-energy > span.sheet-checked { width: 6px; height: 6px; border-radius: 50%; background: buttontext; } /* Configure the button styling. This example makes it look like a radio. */ .sheet-mods { display: flex; align-items: center; flex-flow: row wrap; } button.sheet-mod{ padding: 5; border: solid 1px #a8a8a8; cursor: pointer; width: 14px; height: 14px; border-radius: 50%; display: flex; justify-content: center; align-items: center; } button.sheet-mod > span.sheet-checked { width: 6px; height: 6px; border-radius: 50%; background: buttontext; } /* Hide the "checked" section of the radio if the attribute value does not match the radio */ input.sheet-energy:not([value="Mental"]) ~ button.sheet-energy-1 > span.sheet-checked, input.sheet-energy:not([value="Body"]) ~ button.sheet-energy-2 > span.sheet-checked, input.sheet-energy:not([value="Spirit"]) ~ button.sheet-energy-3 > span.sheet-checked, input.sheet-energy:not([value="Memory"]) ~ button.sheet-energy-4 > span.sheet-checked, input.sheet-energy:not([value="Demon"]) ~ button.sheet-demon > span.sheet-checked, input.sheet-energy:not([value="necroforce"]) ~ button.sheet-necro > span.sheet-checked, input.sheet-race:not([value="Ciaha"]) ~ button.sheet-race-1 > span.sheet-checked, input.sheet-race:not([value="Magian"]) ~ button.sheet-race-2 > span.sheet-checked, input.sheet-race:not([value="Adept"]) ~ button.sheet-race-3 > span.sheet-checked, input.sheet-race:not([value="Arbiter"]) ~ button.sheet-race-4 > span.sheet-checked, input.sheet-race:not([value="Necrian"]) ~ button.sheet-race-5 > span.sheet-checked, input.sheet-moduletype-toggle:not([value="assault"]) ~ button.sheet-mod-1 > span.sheet-checked, input.sheet-moduletype-toggle:not([value="vigilant"]) ~ button.sheet-mod-2 > span.sheet-checked, input.sheet-moduletype-toggle:not([value="caster"]) ~ button.sheet-mod-3 > span.sheet-checked, input.sheet-moduletype-toggle:not([value="universal"]) ~ button.sheet-mod-4 > span.sheet-checked, input.sheet-weapon-toggle:not([value="primary"]) ~ div.sheet-primaryweapon, input.sheet-weapon-toggle:not([value="secondary"]) ~ div.sheet-secondaryweapon, input.sheet-weapon-toggle:not([value="dual"]) ~ div.sheet-dualweapon, input.sheet-weapon-toggle:not([value="ranged"]) ~ div.sheet-rangedweapon,{ display: none; } /* Configure a container for the toggle */ .sheet-toggle-container { display: inline-flex; align-items: center; } /* Configure the button styling. This example makes it look like a checkbox. */ button.sheet-toggle { padding: 0; border: solid 1px #a8a8a8; cursor: pointer; width: 16px; height: 16px; border-radius: 3px; display: flex; justify-content: center; align-items: center; font-size: 12px; } /* Hide the "checked" section of the toggle if the attribute value is not "1". */ input.sheet-toggle:not([value="1"]) ~ button.sheet-toggle > span.sheet-checked { display: none; } /* Configure a container for the toggle */ .sheet-toggle-checkbox { display: inline-flex; align-items: center; } /* Configure the button styling. This example makes it look like a checkbox. */ button.sheet-checkbox { padding: 0; border: solid 1px #a8a8a8; cursor: pointer; width: 16px; height: 16px; border-radius: 3px; display: flex; justify-content: center; align-items: center; font-size: 12px; } /* Hide the "checked" section of the toggle if the attribute value is not "1". */ input.sheet-checkbox:not([value="1"]) ~ button.sheet-checkbox > span.sheet-checked { display: none; } div.sheet-cooldown { width: 35%; height: 20px; border: 1px solid black; color: gray; text-align: center; } input.sheet-cooldown[value="8"] ~ div.sheet-cooldown { background: purple; width: 100%; } input.sheet-cooldown[value="8"] ~ div.sheet-cooldown:before { content: "8 Turns of Cooldown"; } input.sheet-cooldown[value="7"] ~ div.sheet-cooldown { background: purple; width: 100%; } input.sheet-cooldown[value="7"] ~ div.sheet-cooldown:before { content: "7 Turns of Cooldown"; } input.sheet-cooldown[value="6"] ~ div.sheet-cooldown { background: red; width: 100%; } input.sheet-cooldown[value="6"] ~ div.sheet-cooldown:before { content: "6 Turns of Cooldown"; } input.sheet-cooldown[value="5"] ~ div.sheet-cooldown { background: red; width: 100%; } input.sheet-cooldown[value="5"] ~ div.sheet-cooldown:before { content: "5 Turns of Cooldown"; } input.sheet-cooldown[value="4"] ~ div.sheet-cooldown { background: yellow; width: 100%; } input.sheet-cooldown[value="4"] ~ div.sheet-cooldown:before { content: "4 Turns of Cooldown"; } input.sheet-cooldown[value="3"] ~ div.sheet-cooldown { background: yellow; width: 100%; } input.sheet-cooldown[value="3"] ~ div.sheet-cooldown:before { content: "3 Turns of Cooldown"; } input.sheet-cooldown[value="2"] ~ div.sheet-cooldown { background: green; width: 100%; } input.sheet-cooldown[value="2"] ~ div.sheet-cooldown:before { content: "2 Turns of Cooldown"; } input.sheet-cooldown[value="1"] ~ div.sheet-cooldown { background: green; width: 100%; } input.sheet-cooldown[value="1"] ~ div.sheet-cooldown:before { content: "1 Turns of Cooldown"; } input.sheet-cooldown[value=""] ~ div.sheet-cooldown { display: none; width: 100%; } div.sheet-techbar { width: 90%; height: 20px; border: 1px solid black; color: gray; text-align: center; } input.sheet-techbar[value="5"] ~ div.sheet-techbar { background: purple; } input.sheet-techbar[value="5"] ~ div.sheet-techbar:before { content: "5 Turns of Cooldown"; } input.sheet-techbar[value="4"] ~ div.sheet-techbar { background: red; } input.sheet-techbar[value="4"] ~ div.sheet-techbar:before { content: "4 Turns of Cooldown"; } input.sheet-techbar[value="3"] ~ div.sheet-techbar { background: orange; } input.sheet-techbar[value="3"] ~ div.sheet-techbar:before { content: "3 Turns of Cooldown"; } input.sheet-techbar[value="2"] ~ div.sheet-techbar { background: yellow; } input.sheet-techbar[value="2"] ~ div.sheet-techbar:before { content: "2 Turns of Cooldown"; } input.sheet-techbar[value="1"] ~ div.sheet-techbar { background: green; } input.sheet-techbar[value="1"] ~ div.sheet-techbar:before { content: "1 Turns of Cooldown"; } input.sheet-techbar[value=""] ~ div.sheet-techbar:before { background: white; } input.sheet-techbar[value=""] ~ div.sheet-techbar:before { content: "N/A"; } div.sheet-durbar { width: 90%; height: 20px; border: 1px solid black; color: gray; text-align: center; } input.sheet-durbar[value="5"] ~ div.sheet-durbar { background: green; } input.sheet-durbar[value="5"] ~ div.sheet-durbar:before { content: "~ 100%"; } input.sheet-durbar[value="4"] ~ div.sheet-durbar { background: yellow; } input.sheet-durbar[value="4"] ~ div.sheet-durbar:before { content: "~ 80%"; } input.sheet-durbar[value="3"] ~ div.sheet-durbar { background: orange; } input.sheet-durbar[value="3"] ~ div.sheet-durbar:before { content: "~ 60%"; } input.sheet-durbar[value="2"] ~ div.sheet-durbar { background: red; } input.sheet-durbar[value="2"] ~ div.sheet-durbar:before { content: "~ 40%"; } input.sheet-durbar[value="1"] ~ div.sheet-durbar { background: purple; } input.sheet-durbar[value="1"] ~ div.sheet-durbar:before { content: "~ 20%"; }