Files
roll20-character-sheets/Paladin/paladin.scss
T
Sophie Lagace 916d733394 Paladin (#6436)
* Paladin first draft

Paladin: Warriors of Charlemagne mod of Pendragon 5.2 character sheet.

* Font update.

Importing Google font families.

* Tweaks to repeating fields, fonts

* New preview image

* Add new terms to translation disctionary.

* Stylesheet and dictionary improvements

Reordered fields to match print character sheet
Beautified code for supplementary tabs
Resolved image location problem
Added missing translation dictionary entries
Changed font of the roll results in the chat window
Fixed the Squire skills repeating container
2020-05-11 15:24:54 -04:00

855 lines
18 KiB
SCSS

// COLORS
// ============================= *
$primary: #cc1122;
$secondary : rgb(214, 175, 94);
$light : #fefcea;
$dark : hsl(0, 6%, 0%);
$dark-font: #000;
$gray : #4c4c4c;
$transparentGray: hsla(0, 0%, 30%, 0.0784313725490196);
$white : hsl(0, 0%, 96%);
/* GLOBALS
============================= */
* {
box-sizing: border-box;
font-family: sans-serif;
}
button {
text-overflow: ellipsis;
font-family: serif;
font-variant: small-caps;
&:before {
display: none;
}
&:focus,
&:hover,
&:active {
background: none;
background-color: $primary !important;
color: #fff;
}
&[type="roll"],
&[type="action"] {
background-color: $white;
border: {
bottom : 0.01em solid #666;
bottom-right-radius: 0.01em;
color : hsl(0, 0%, 70%);
radius : 0.25em;
right : 0.02em solid hsl(0, 0%, 20%);
style : outset;
}
margin: 0.2em !important;
padding: 0.1em !important;
}
}
div {
background-color: transparent;
width: 100%;
}
fieldset {
background-color: transparent;
}
h1 {
color: $primary;
text-transform: capitalize;
font-family: serif;
}
h2 {
font-size: 1em;
line-height: 1.4em;
text-transform: capitalize;
&.sheet-label {
border-bottom: 0.15em solid $dark;
text-align: center;
margin-left: 3%;
}
}
h3 {
font-size: 1.25em;
line-height: 36px;
text-transform: capitalize;
}
input {
&[type="text"],
&[type="number"] {
background-color: transparent;
border-bottom: 0.15em solid $dark;
border: {
left : 0em;
radius: 0em;
right : 0em;
top : 0em;
};
height : 2.1em;
width: 100%;
&::placeholder {
background-color: $light;
border: 0.1em dotted $primary;
}
}
&[type='number'] {
text-align: center;
width: 100% !important;
}
&::-webkit-outer-spin-button,
&::-webkit-inner-spin-button {
margin: 0;
}
}
label {
margin-bottom: 0px;
padding-right: 0px;
}
select {
margin-bottom: 0px;
vertical-align: bottom;
border: 2px solid $primary;
font-weight: bold;
text-transform: capitalize;
margin-top: 8%;
width: 100%;
}
span {
word-break: break-word;
}
textarea {
text-align: left;
border-bottom : 0.2em dotted $light;
font-size : 12px;
font-weight : normal;
min-height : 50px;
line-height : 18px;
overflow : hidden;
overflow-wrap : break-word;
padding : 2px;
resize : vertical;
vertical-align: top;
overflow: scroll;
}
.charsheet {
width: 825px;
div.sheet-row {
margin-bottom: 0px;
}
}
/* GRID
============================= */
div.sheet-grid {
display: inline-grid;
grid-column-gap: 1%;
grid-row-gap: 0.5%;
}
%gridRowCol {
display: inline-grid;
overflow: hidden;
grid-auto-rows: min-content;
grid-column-gap: 1%;
}
/* GENERIC CLASSES
============================= */
div.sheet-background {
background-color: $transparentGray;
}
.sheet-border {
border: 0.15em solid $gray;
}
.sheet-bottom-border {
border-bottom: 0.2em solid $dark;
}
.sheet-pictos {
font-family: "pictos";
}
.sheet-d20 {
font-family: "dicefontd20";
}
.sheet-text-center {
text-align: center;
}
.sheet-text-right {
text-align: right;
}
.sheet-font-weight-bold {
font-weight: bold;
}
.sheet-text-primary {
color: $primary;
}
.sheet-text-uppercase {
text-transform: uppercase;
}
.sheet-text-capitalize {
text-transform: capitalize;
}
div.sheet-2column {
grid-template-columns: 1fr 1fr;
}
div.sheet-3column {
grid-template-columns: 1fr 1fr 1fr;
}
div.sheet-4column {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
div.sheet-6column {
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
div.sheet-2autocolumn {
grid-template-columns: auto 1fr;
}
div.sheet-3autocolumn {
grid-template-columns: auto 1fr 10%;
}
div.sheet-col-3 {
grid-template-columns: 1fr 3.5em 10%;
}
div.sheet-gold-left-border {
border-left: 0.2em solid $secondary;
padding-left: 1%;
}
div.sheet-gold-bottom-border {
border-bottom: 0.2em solid $secondary;
padding-bottom: 2%;
}
div.sheet-header {
margin-top: 2%;
border-top: 2px solid $primary;
border-bottom: 2px solid $primary;
text-align: center;
background: #fefcea; /* Old browsers */
background: -moz-linear-gradient(top, #fefcea 0%, #ede4b4 50%, #fefcea 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #fefcea 0%,#ede4b4 50%,#fefcea 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #fefcea 0%,#ede4b4 50%,#fefcea 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefcea', endColorstr='#fefcea',GradientType=0 ); /* IE6-9 */
}
span.sheet-display {
border-bottom: 2px dotted $dark;
padding-top: 3%;
}
div.sheet-repeating-container {
button {
font-variant: none;
}
}
/* STYLED CHECKBOXES
============================= */
label.sheet-styled-checkbox {
input, span {
grid-area: 1 / 1 / 1 / 1;
height: 15px;
width: 15px;
position: relative;
left: 20%;
}
span {
border: 2px solid $primary;
display: inline-block;
top: -20%;
color: transparent;
text-align: center;
font-size: 1em;
line-height: 90%;
}
input {
opacity: 0;
top: 20%;
z-index: 2;
&[type="checkbox"]:checked + span {
background-color: $primary;
color : #fff;
}
}
}
/* TAB
============================= */
div.sheet-tabs {
grid-template-columns: 3fr 1fr;
div.sheet-type {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
div.sheet-col {
@extend %gridRowCol;
}
input {
grid-column: 1;
height: auto;
opacity: 0;
width: 100%;
&:checked ~ span {
background-color: $secondary;
}
}
span {
border: 2px solid $primary;
text-transform: capitalize;
display: inline-block;
grid-column: 1;
width: 80%;
cursor: pointer;
}
}
/* PC
============================= */
div.sheet-character {
grid-template-columns: 1.8fr 1fr 1fr;
h2 {
padding-top: 5%;
text-overflow: ellipsis;
width: fit-content;
&[data-i18n="Knight's Character Sheet"] {
padding-top: 1%;
}
}
div.sheet-row, div.sheet-col {
@extend %gridRowCol
}
div.sheet-personality-traits {
div.sheet-traits {
grid-template-columns: 2% 5% 3fr 1fr 1% 1fr 3fr 5%;
div.sheet-font-weight-bold {
padding: 100% 2%;
}
}
div.sheet-repeating-container {
div.sheet-row {
grid-template-columns: auto 2fr 1fr 5% 10%;
}
}
}
div.sheet-passions {
div.sheet-row {
grid-template-columns: 1fr 45% 5%;
}
div.sheet-repeating-container {
div.sheet-row {
grid-template-columns: 1fr 20% 5% 10%;
}
}
}
div.sheet-equipment-carried {
div.sheet-armor, div.sheet-clothing {
grid-template-columns: auto 1fr auto 3.5em;
}
div.sheet-gear {
grid-template-columns: 5% auto 1fr auto 3em;
h2 {
padding-top: 10%;
margin-left: 2%;
}
}
}
div.sheet-attributes {
div.sheet-size {
grid-template-columns: auto 1fr auto;
}
div.sheet-constitution {
grid-template-columns: auto 1fr 2fr auto;
}
div.sheet-damage {
grid-template-columns: auto 1fr auto;
}
}
div.sheet-distinctive-features {
textarea {
height: 80px;
}
div.sheet-repeating-container {
div.sheet-row {
grid-template-columns: 1fr 5% 10%;
}
}
}
div.sheet-skills {
div.sheet-read, div.sheet-play, div.sheet-religion {
grid-template-columns: auto 2fr 1fr 10%;
}
}
div.sheet-combat-skills,
div.sheet-skills,
div.sheet-squire {
div.sheet-repeating-container {
div.sheet-row {
grid-template-columns: 3fr 1fr 10% 15%;
}
}
}
div.sheet-knight-details {
textarea {
min-height: 80px;
height: 80px;
}
}
div.sheet-current-hit-points {
textarea {
height: 60%;
}
input[name='attr_current_hit_points'] {
border: 2px solid gold;
min-height: 30px;
}
div.sheet-chirurgery-needed {
grid-template-columns: 10% 1fr;
grid-column-gap: 2%;
}
}
div.sheet-horse {
div.sheet-other-horse {
grid-template-columns: auto 2fr auto 1fr;
}
div.sheet-repeating-container {
div.sheet-row {
grid-template-columns: 3fr auto 1fr;
}
}
}
}
/* ENTOURAGE
============================= */
div.sheet-entourage {
div.sheet-col, div.sheet-row {
@extend %gridRowCol;
}
div.sheet-col-2 {
grid-template-columns: 2fr 1fr;
}
div.sheet-knight {
div.sheet-2column {
grid-template-columns: 1.5fr 1fr;
}
}
div.sheet-damage {
grid-template-columns: auto 1fr 1.2em;
}
.repitem {
padding: 2% 1%;
}
div.sheet-wife {
div.sheet-2column {
grid-template-columns: 2fr 1fr;
}
}
}
/* HOLDINGS
============================= */
div.sheet-holdings {
grid-template-columns: 1fr 55%;
button[type='roll'] {
text-transform: capitalize;
}
h2 {
padding-top: 5%;
text-overflow: ellipsis;
width: fit-content;
}
div.sheet-row, div.sheet-col {
@extend %gridRowCol
}
div.sheet-annual-glory {
h2[data-i18n='total'] {
font-style: italic;
}
}
div.sheet-family-history {
textarea {
margin-top: 1%;
}
div.sheet-col-4 {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
div.sheet-col-3 {
grid-template-columns: 1fr 1fr 1fr;
}
}
div.sheet-character-history {
div.sheet-gold-bottom-border {
grid-template-columns: 3fr 1fr;
}
div.sheet-events {
grid-template-columns: 5em 4fr 0.8fr 0.8fr;
}
}
}
/* GAMEMASTER FEAST RECORD
============================= */
div.sheet-feast {
min-height: 800px;
div.sheet-row, div.sheet-col {
@extend %gridRowCol
}
div.sheet-record {
grid-row-gap: 2%;
div.sheet-sub-header,
div.sheet-repeating-container div.sheet-row {
grid-template-columns: 1fr 5em 5em 60%;
}
div.sheet-6column {
grid-column-gap: 5%;
h3 {
font-size: 1em;
}
}
div.sheet-sub-header {
div.sheet-table {
grid-column: 1 / 4;
}
}
div.sheet-sub-header:nth-of-type(even) {
background-color: $light;
}
}
div.sheet-characters {
div.sheet-sub-header,
div.sheet-repeating-row {
grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
grid-row-gap: 5%;
}
div.sheet-bottom-border,
div.sheet-3column,
div.sheet-notes {
margin-top: 2%;
}
div.sheet-sub-header {
margin-top: 1%;
}
div.sheet-repeating-row {
padding-bottom: 1%;
}
}
}
/* FOOTER
============================= */
div.sheet-footer {
margin-top: 5%;
font-style: italic;
font-size: 0.8em;
text-align: center;
}
/* SHOW & HIDE SHEETS
============================= */
%displaynone { display: none; }
%displayInlineGrid { display: inline-grid;}
$sheets: 'character', 'holdings', 'feast', 'npc', 'entourage';
@each $value in $sheets {
div.sheet-#{$value} {
@extend %displayInlineGrid;
}
input[name='attr_sheet_type']:not([value='#{$value}']) ~ div.sheet-#{$value} {
@extend %displaynone;
}
}
input[name='attr_sheet_type']:not([value='feast']) ~ div.sheet-tabs select[name='attr_feast_type'],
input[name='attr_sheet_type'][value='feast'] ~ div.sheet-tabs select[name='attr_character_type'] {
@extend %displaynone;
}
$types: 'knight', 'woman';
@each $value in $types {
input[name='attr_character_type']:not([value="#{$value}"]) ~ div.sheet-character div.sheet-col,
input[name='attr_character_type']:not([value="#{$value}"]) ~ div.sheet-holdings div.sheet-col,
input[name='attr_character_type']:not([value="#{$value}"]) ~ div.sheet-entourage div.sheet-row {
& div.sheet-row .sheet-#{$value},
& div.sheet-personal-data div.sheet-row .sheet-#{$value},
& div.sheet-personality-traits .sheet-#{$value},
& div.sheet-personality-traits div.sheet-row .sheet-#{$value},
& div.sheet-equipment-carried .sheet-#{$value},
& div.sheet-skills .sheet-#{$value},
& div.sheet-squire .sheet-#{$value},
& .sheet-#{$value},
& div.sheet-combat-skills .sheet-#{$value},
& div.sheet-horse div.sheet-row .sheet-#{$value},
& div.sheeet-family-history div.sheet-row,
& .sheet-#{$value},
& div.sheet-col .sheet-#{$value} {
@extend %displaynone;
}
}
}
$feasttypes: 'record', 'characters';
@each $value in $feasttypes {
input[name='attr_feast_type']:not([value="#{$value}"]) ~ div.sheet-feast div.sheet-#{$value} {
@extend %displaynone;
}
}
/* SWITCH
============================= */
.sheet-switch {
position: relative;
display: inline-block;
width: 50px;
height: 24px;
/* Hide default HTML checkbox */
input {
opacity: 0;
width: 0;
height: 0;
}
}
/* The slider */
.sheet-slider {
-webkit-transition: .4s;
background-color: #ccc;
border-radius: 34px;
bottom: 0;
cursor: pointer;
left: 0;
position: absolute;
right: 0;
top: 0;
transition: .4s;
&:before {
-webkit-transition: .4s;
background-color: white;
border-radius: 50%;
bottom: 4px;
content: "";
height: 16px;
left: 4px;
position: absolute;
transition: .4s;
width: 16px;
}
input:checked + & {
background-color: black;
&:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
}
input:focus + & {
box-shadow: 0 0 1px black;
}
}
/* ROLL TEMPLATE STYLE
----------------------------- */
.sheet-rolltemplate-rolls {
div.sheet-template-container {
border: 2px solid $dark;
border-radius: 0.3em;
box-shadow: inset 0px 0px 3px 1px $primary;
text-align: center;
font-family: 'fantasy';
/* DICE ROLL STYLES
----------------------------- */
.inlinerollresult.fullfail,
.inlinerollresult.fullcrit,
.inlinerollresult.importantroll {
border: none;
}
.inlinerollresult.fullfail, .inlinerollresult.fullcrit {
color: $primary;
}
.inlinerollresult {
background-color: transparent;
border: none;
font-size: 2em;
padding: unset;
}
div.sheet-template-header {
@extend div.sheet-header;
color: $primary;
font-size: 1.5em;
border-bottom: 2px solid $dark;
padding: 3% 2%;
text-transform: capitalize;
margin-top:0px;
}
div.sheet-template-body {
background-color: $white;
div.sheet-template-row {
&:nth-child(2n+0) { background-color: $light; }
span {
&.sheet-inlinerollresult {
color: $primary;
font-size: 2em;
font-weight: bold;
cursor: help;
padding: 0 3px 0 3px;
font-weight: bold;
}
&.sheet-percent,
&.sheet-template-desc {
color: $primary;
font-size: 1em;
}
}
}
div.sheet-template-damage {
background-color: #fff;
padding: 3% 2%;
}
div.sheet-template-roll {
display: inline-grid;
grid-template-columns: 1fr 1fr;
width: 100%;
div.sheet-template-col {
padding: 5%;
&:nth-of-type(2) {
border-left: 2px solid $dark;
}
span {
display: block;
&:last-child {
margin-top: 5%;
}
}
}
}
}
}
}
/* REPEATING SECTIONS
----------------------------- */
.itemcontrol .repcontrol_del {
background-color: darkred;
font-family: "pictos";
}
.repitem:nth-of-type(even) {
background-color: $transparentGray;
}