mirror of
https://github.com/Investigamer/cardconjurer.git
synced 2025-07-26 21:04:58 -05:00
restructure
This commit is contained in:
510
data/styles/main.css
Normal file
510
data/styles/main.css
Normal file
@@ -0,0 +1,510 @@
|
||||
/*fonts*/
|
||||
@font-face {
|
||||
font-family: gothammedium;
|
||||
src: url("/data/fonts/gotham-medium.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: belerenb;
|
||||
src: url("/data/fonts/beleren-b.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: belerenbsc;
|
||||
src: url("/data/fonts/beleren-bsc.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: matrix;
|
||||
src: url("/data/fonts/matrix.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: matrixb;
|
||||
src: url("/data/fonts/matrix-b.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: matrixbsc;
|
||||
src: url("/data/fonts/matrix-bsc.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: mplantin;
|
||||
src: url("/data/fonts/mplantin.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: mplantini;
|
||||
src: url("/data/fonts/mplantin-i.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: goudymedieval;
|
||||
src: url("/data/fonts/goudy-medieval.ttf");
|
||||
}
|
||||
@font-face {
|
||||
font-family: phyrexian;
|
||||
src: url("/data/fonts/phyrexian.ttf");
|
||||
}
|
||||
|
||||
:root {
|
||||
--background-color: #f5f5f5;
|
||||
--background-color-contrast: #e4e4e4;
|
||||
--interactable-color: #dfdfdf;
|
||||
--interactable-selected-color: #cccccc;
|
||||
--input-color: #dadada;
|
||||
--input-font-color: #000;
|
||||
--font-color: #000;
|
||||
--font-color-contrast: #000;
|
||||
--body-background: none;
|
||||
}
|
||||
|
||||
html {
|
||||
font: 12pt georgia;
|
||||
background: var(--background-color);
|
||||
color: var(--font-color);
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
html, body {
|
||||
margin: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
body {
|
||||
background: var(--body-background);
|
||||
}
|
||||
a {
|
||||
font: inherit;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.ad {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.title {
|
||||
text-align: center;
|
||||
font: 2.5rem 'belerenbsc';
|
||||
padding: 1rem 0;
|
||||
}
|
||||
|
||||
.cardMaster {
|
||||
margin: 0.9rem 0px;
|
||||
}
|
||||
.cardMasterElement {
|
||||
font: 1rem belerenbsc;
|
||||
margin-top: 0.1rem;
|
||||
display: grid;
|
||||
grid-template-columns: 2rem 4rem auto 2rem;
|
||||
align-items: center;
|
||||
background: var(--interactable-color);
|
||||
color: var(--input-font-color);
|
||||
cursor: pointer;
|
||||
}
|
||||
.cardMasterElement > .handle {
|
||||
cursor: move;
|
||||
padding: 0.5rem;
|
||||
text-align: center;
|
||||
}
|
||||
.cardMasterElement > div > img {
|
||||
height: 2rem;
|
||||
width: 2rem;
|
||||
object-fit: contain;
|
||||
}
|
||||
.cardMasterElementMoving {
|
||||
background: var(--interactable-selected-color);
|
||||
}
|
||||
.cardMasterElement > .delete {
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
}
|
||||
.cardMasterElement.cardMasterElementSelected {
|
||||
background: var(--interactable-selected-color);
|
||||
}
|
||||
|
||||
.splitGrid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-gap: 0.1rem;
|
||||
}
|
||||
.autoGrid {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
|
||||
grid-auto-rows: min-content;
|
||||
grid-gap: 0.1rem;
|
||||
}
|
||||
.frameGrid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(3rem, 1fr));
|
||||
grid-auto-rows: min-content;
|
||||
grid-gap: 0.1rem;
|
||||
}
|
||||
img {
|
||||
-webkit-user-drag: none;
|
||||
-khtml-user-drag: none;
|
||||
-moz-user-drag: none;
|
||||
-o-user-drag: none;
|
||||
user-drag: none;
|
||||
}
|
||||
#framePicker, #maskPicker {
|
||||
max-height: 260pt;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
#framePicker > div {
|
||||
height: 3rem;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
#framePicker img {
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
object-fit: contain;
|
||||
}
|
||||
#maskPicker img {
|
||||
max-width: 1.5rem;
|
||||
max-height: 1.5rem;
|
||||
}
|
||||
#framePicker > div.frameOptionSelected, #maskPicker > div.maskOptionSelected {
|
||||
background: var(--interactable-selected-color);
|
||||
}
|
||||
#maskPicker > div, #framePicker > div {
|
||||
background: var(--interactable-color);
|
||||
color: var(--input-font-color);
|
||||
cursor: pointer;
|
||||
}
|
||||
#maskPicker > div {
|
||||
padding: 0.5rem;
|
||||
margin-bottom: 0.1rem;
|
||||
}
|
||||
|
||||
#textPicker {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
|
||||
grid-auto-rows: min-content;
|
||||
grid-gap: 0.1rem;
|
||||
margin: 0.1rem 0px;
|
||||
}
|
||||
#textPicker > div {
|
||||
font: 1rem belerenbsc;
|
||||
background: var(--interactable-color);
|
||||
color: var(--input-font-color);
|
||||
padding: 0.5rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
#textPicker > div.selectedText {
|
||||
background: var(--interactable-selected-color);
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: vertical;
|
||||
min-height: 4rem;
|
||||
max-height: 12rem;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.hidden.frameClassCustom {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.tabPicker {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(8.2rem, 1fr));
|
||||
grid-auto-rows: min-content;
|
||||
grid-gap: 0.1rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
.tabPicker > div {
|
||||
font: 1.2rem belerenbsc;
|
||||
text-align: center;
|
||||
padding: 0.5rem 0;
|
||||
background: var(--interactable-color);
|
||||
color: var(--input-font-color);
|
||||
cursor: pointer;
|
||||
}
|
||||
.tabPicker > div.tabOptionSelected {
|
||||
background: var(--interactable-selected-color);
|
||||
}
|
||||
|
||||
input:not([type='checkbox']), textarea, button, select {
|
||||
font: inherit;
|
||||
color: var(--input-font-color);
|
||||
width: 100%;
|
||||
background: var(--input-color);
|
||||
border: none;
|
||||
outline: none;
|
||||
padding: 0.2rem;
|
||||
margin-top: 0.1rem;
|
||||
}
|
||||
input:not([type='checkbox']):active, textarea:active, button:active {
|
||||
border: 0.1rem solid var(--input-font-color);
|
||||
padding: 0.1rem;
|
||||
}
|
||||
input[type='checkbox'] {
|
||||
position: relative;
|
||||
top: 0.25rem;
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
}
|
||||
input[type='checkbox'], select, option, input[type='file'], button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@keyframes fade-in {
|
||||
from {opacity: 0;}
|
||||
to {opacity: 1;}
|
||||
}
|
||||
@keyframes slide-from-left {
|
||||
0% {transform: translate(-100vw, 0);}
|
||||
100% {transform: translate(0, 0);}
|
||||
}
|
||||
@keyframes slide-from-right {
|
||||
0% {transform: translate(100vw, 0);}
|
||||
100% {transform: translate(0, 0);}
|
||||
}
|
||||
.layerTitle {
|
||||
text-align: center;
|
||||
font: 2rem 'belerenbsc';
|
||||
}
|
||||
.darkLayer {
|
||||
background: var(--background-color-contrast);
|
||||
color: var(--font-color-contrast);
|
||||
}
|
||||
.layer > div {
|
||||
opacity: 0;
|
||||
}
|
||||
.layer.revealedLayer > div {
|
||||
opacity: 1;
|
||||
}
|
||||
.layer.revealedLayer.fadeIn > div {
|
||||
animation: fade-in 2s;
|
||||
}
|
||||
.layer.revealedLayer.slideFromLeft > div {
|
||||
animation: slide-from-left 0.8s;
|
||||
}
|
||||
.layer.revealedLayer.slideFromRight > div {
|
||||
animation: slide-from-right 0.8s;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.fiveSampleCards {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.fiveSampleCards > div > img {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
.fiveSampleCards > div {
|
||||
transition: transform 0.5s;
|
||||
}
|
||||
/*.fiveSampleCards > div:hover {
|
||||
z-index: 100;
|
||||
transform: translate(0, -1em);
|
||||
}*/
|
||||
.layer.revealedLayer > div > div > div > .sample1 {
|
||||
animation: sample-one 2s;
|
||||
transform: rotate(-10deg) translate(16%, 15%);
|
||||
}
|
||||
.layer.revealedLayer > div > div > div > .sample2 {
|
||||
animation: sample-two 2s;
|
||||
transform: rotate(-5deg) translate(10%, 4%);
|
||||
}
|
||||
.layer.revealedLayer > div > div > div > .sample4 {
|
||||
animation: sample-four 2s;
|
||||
transform: rotate(5deg) translate(-10%, 4%);
|
||||
}
|
||||
.layer.revealedLayer > div > div > div > .sample5 {
|
||||
animation: sample-five 2s;
|
||||
transform: rotate(10deg) translate(-16%, 15%);
|
||||
}
|
||||
@keyframes sample-one {
|
||||
0% {transform: rotate(0deg) translate(0, 0); position: relative; left: 200%;}
|
||||
10% {transform: rotate(0deg) translate(0, 0); position: relative; left: 200%;}
|
||||
100% {transform: rotate(-10deg) translate(16%, 15%); position: relative; left: 0;}
|
||||
}
|
||||
@keyframes sample-two {
|
||||
0% {transform: rotate(0deg) translate(0, 0); position: relative; left: 100%;}
|
||||
10% {transform: rotate(0deg) translate(0, 0); position: relative; left: 100%;}
|
||||
100% {transform: rotate(-5deg) translate(10%, 4%); position: relative; left: 0;}
|
||||
}
|
||||
@keyframes sample-four {
|
||||
0% {transform: rotate(0deg) translate(0, 0); position: relative; left: -100%;}
|
||||
10% {transform: rotate(0deg) translate(0, 0); position: relative; left: -100%;}
|
||||
100% {transform: rotate(5deg) translate(-10%, 4%); position: relative; left: 0;}
|
||||
}
|
||||
@keyframes sample-five {
|
||||
0% {transform: rotate(0deg) translate(0, 0); position: relative; left: -200%;}
|
||||
10% {transform: rotate(0deg) translate(0, 0); position: relative; left: -200%;}
|
||||
100% {transform: rotate(10deg) translate(-16%, 15%); position: relative; left: 0;}
|
||||
}
|
||||
|
||||
#inputColorPalette {
|
||||
font: inherit;
|
||||
width: 10rem;
|
||||
textAlign: left;
|
||||
}
|
||||
|
||||
.downloadCardImage {
|
||||
margin-top: 0.5rem;
|
||||
text-align: center;
|
||||
font: 2rem belerenbsc;
|
||||
}
|
||||
|
||||
::placeholder {
|
||||
color: inherit;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.indent {
|
||||
text-indent: 2em;
|
||||
}
|
||||
|
||||
.truncate {
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.cornered {
|
||||
border-radius: 0.5rem;
|
||||
}
|
||||
|
||||
.justify {
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
#textCodeReference {
|
||||
display: grid;
|
||||
grid-template-columns: 7rem auto;
|
||||
margin-top: 1rem;
|
||||
grid-gap: 0.1rem;
|
||||
}
|
||||
#textCodeReference > div {
|
||||
background: var(--input-color);
|
||||
padding: 0.1rem;
|
||||
color: var(--input-font-color);
|
||||
}
|
||||
|
||||
|
||||
.notificationContainer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
color: black;
|
||||
}
|
||||
.notification {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1rem;
|
||||
grid-gap: 1rem;
|
||||
margin: 0.5rem;
|
||||
padding: 0.5rem;
|
||||
background: green;
|
||||
}
|
||||
.notification > .deleteNotification {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
/*ANYTHING THAT CHANGES BASED ON SCREEN WIDTH GOES HERE*/
|
||||
.mainGrid {
|
||||
display: grid;
|
||||
grid-template-columns: auto;
|
||||
justify-items: center;
|
||||
grid-gap: 1rem;
|
||||
padding: 1rem;
|
||||
}
|
||||
.layer {
|
||||
padding: 2rem;
|
||||
}
|
||||
.cardLayerGrid {
|
||||
display: grid;
|
||||
grid-template-columns: auto;
|
||||
grid-gap: 1rem;
|
||||
justify-items: center;
|
||||
align-items: center;
|
||||
}
|
||||
.cardLayerGrid > img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
canvas {
|
||||
width: 100%;
|
||||
}
|
||||
footer {
|
||||
background: var(--background-color-contrast);
|
||||
color: var(--font-color-contrast);
|
||||
font: 1rem arial;
|
||||
}
|
||||
.footer {
|
||||
width: 10rem;
|
||||
padding: 1rem 0;
|
||||
margin: 0 auto;
|
||||
display: grid;
|
||||
grid-template-columns: auto;
|
||||
grid-gap: 2rem;
|
||||
}
|
||||
.footer > div > div:first-child {
|
||||
margin-bottom: 0.2rem;
|
||||
}
|
||||
.footer > div > div:not(:first-child) {
|
||||
/* font-weight: bold;*/
|
||||
}
|
||||
.footer > div > div > select {
|
||||
width: auto !important;
|
||||
}
|
||||
@media screen and (min-width: 909pt) { /*Screen is wide enough to show the card next to the editor menu*/
|
||||
.mainGrid {
|
||||
grid-template-columns: 750px auto;
|
||||
justify-items: stretch;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 800pt) { /*Screen is wide enough for cardLayerGrids to display side by side, and for more padding*/
|
||||
.cardLayerGrid {
|
||||
grid-template-columns: auto auto;
|
||||
}
|
||||
.layer {
|
||||
padding: 4rem;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 618pt) { /*Screen is wide enough for padding*/
|
||||
.mainGrid {
|
||||
/*padding: 1rem 1rem;*/
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 768px) { /*Screen is wide enough for the card image to be 750px wide. Scrollbar is 18 pixels?*/
|
||||
canvas {
|
||||
width: 750px;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 50rem) { /*Screen is wide enough for the footer to display horizontally*/
|
||||
.footer {
|
||||
width: 30rem;
|
||||
padding: 2rem 0;
|
||||
grid-template-columns: repeat(4, 6rem);
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 392pt) { /*Screen is wide enough for the samples to be a constant size*/
|
||||
.cardLayerGrid > img {
|
||||
width: 300pt;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 300pt) { /*Screen is wide enough for larger text*/
|
||||
html {
|
||||
font: 20pt georgia;
|
||||
}
|
||||
footer {
|
||||
font: 0.6rem arial;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user