Files
cardconjurer/data/styles/main.css
2020-07-25 10:28:40 -07:00

522 lines
11 KiB
CSS

/*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 {
--site-background: #3a3838 url("/data/images/site/backgrounds/lowpolyDarkGreen.svg") left/cover no-repeat fixed;
--site-background-filter: none;
--layer-background: #242424 url("/data/images/site/backgrounds/lowpolyDarkGray.svg") left/cover no-repeat fixed;
--layer-background-selected: #1d1d1d;
--interactable-unselected: #666666;
--interactable-selected: #99ee99;
--font-color: #efefef;
--body-background: none;
}
html {
font: 12pt georgia;
color: var(--font-color);
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
html::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--site-background);
filter: var(--site-background-filter);
transition: 2s;
z-index: -1;
}
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;
}
.adGrid {
width: 100%;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(4rem, 1fr));
grid-auto-rows: min-content;
justify-items: center;
align-items: center;
margin: 1rem 0;
}
.adGrid > div {
width: 100%;
}
.interactable {
background: var(--layer-background);
border-top: 0.2rem solid var(--interactable-unselected);
cursor: pointer;
border-radius: 0.2rem;
transition: 0.25s;
position: relative;
top: 0;
}
.interactable.selected {
border-top-color: var(--interactable-selected);
background: var(--layer-background-selected);
}
.interactable:hover {
top: -0.25rem;
box-shadow: 0 0.25rem 0.5rem black;
}
.cardMaster {
margin: 0.9rem 0px;
}
.cardMasterElement {
font: 1rem belerenbsc;
margin-top: 0.25rem;
display: grid;
grid-template-columns: 2rem 4rem auto 2rem;
align-items: center;
}
.cardMasterElement > .handle {
cursor: move;
padding: 0.5rem;
text-align: center;
}
.cardMasterElement > div > img {
height: 2rem;
width: 2rem;
object-fit: contain;
}
.cardMasterElementMoving {
background: var(--layer-background-selected);
}
.cardMasterElement > .delete {
text-align: center;
}
.splitGrid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 0.25rem;
}
.autoGrid {
width: 100%;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
grid-auto-rows: min-content;
grid-gap: 0.25rem;
}
.frameGrid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(3rem, 1fr));
grid-auto-rows: min-content;
grid-gap: 0.25rem;
}
img {
-webkit-user-drag: none;
-khtml-user-drag: none;
-moz-user-drag: none;
-o-user-drag: none;
user-drag: none;
}
#framePicker, #maskPicker {
padding-top: 0.25rem;
margin-bottom: 0.25rem;
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;
}
#maskPicker > div {
padding: 0.5rem;
margin-bottom: 0.25rem;
}
#textPicker {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
grid-auto-rows: min-content;
grid-gap: 0.25rem;
margin: 0.25rem 0px;
}
#textPicker > div {
font: 1rem belerenbsc;
padding: 0.5rem;
}
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.25rem;
margin-bottom: 0.25rem;
}
.tabPicker > div {
font: 1.2rem belerenbsc;
text-align: center;
padding: 0.5rem 0;
}
input:not([type='checkbox']), textarea, button, select {
font: inherit;
color: inherit;
width: 100%;
background: var(--layer-background);
border: none;
outline: none;
padding: 0.25rem;
margin-top: 0.25rem;
}
input:not([type='checkbox']):active, textarea:active, button:active {
padding: 0.1rem;
border: 0.1rem solid var(--interactable-unselected);
}
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);}
}
.title {
text-align: center;
font: 2.5rem 'belerenbsc';
padding: 1rem !important;
}
.layer {
background: var(--layer-background);
}
.layer.clearLayer {
background: none;
}
.animated > div {
opacity: 0;
}
.animated.revealedAnimation > div {
opacity: 1;
}
.animated.revealedAnimation.fadeIn > div {
animation: fade-in 2s;
}
.animated.revealedAnimation.slideFromLeft > div {
animation: slide-from-left 0.8s;
}
.animated.revealedAnimation.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);
}*/
.animated.revealedAnimation > div > div > div > .sample1 {
animation: sample-one 2s;
transform: rotate(-10deg) translate(16%, 15%);
}
.animated.revealedAnimation > div > div > div > .sample2 {
animation: sample-two 2s;
transform: rotate(-5deg) translate(10%, 4%);
}
.animated.revealedAnimation > div > div > div > .sample4 {
animation: sample-four 2s;
transform: rotate(5deg) translate(-10%, 4%);
}
.animated.revealedAnimation > 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: 2rem;
}
.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.25rem;
border: 0.2rem solid var(--interactable-unselected);
border-radius: 0.2rem;
}
#textCodeReference > div {
background: var(--layer-background);
padding: 0.25rem;
}
.notificationContainer {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
}
.notification {
display: grid;
grid-template-columns: auto 1rem;
grid-gap: 1rem;
margin: 0.5rem;
padding: 0.5rem;
background: var(--layer-background-selected);
}
.notification > .deleteNotification {
text-align: center;
}
/*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(--layer-background);
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;
border: 0.2rem solid var(--interactable-unselected);
border-radius: 0.2rem;
}
@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;
}
}