/*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: plantinsemibold;
	src: url("/data/fonts/plantin-semibold.otf");
}
@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: none;
	--layer-background-filter: grayscale(100) brightness(0.5);
	--layer-background-selected: #1d1d1d;
	--option-background: #888888;
	--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);
	backdrop-filter: var(--layer-background-filter);
	-webkit-backdrop-filter: var(--layer-background-filter);
	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 {
	margin-top: 0.25rem;
	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;
}



/*Hides anything*/
.hidden {
	display: none;
}
/*Overrides hiding custom uploaded frame images*/
.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;
}

/*Gives non-text inputs the pointer cursor*/
input:not([type='text']):not([type='number']), select, option, button {
    cursor: pointer;
}
/*Styles most of the inputs, except checkboxes*/
input:not([type='checkbox']), textarea, button, select {
	font: inherit;
	color: inherit;
	width: 100%;
	outline: none;
	border-style: solid none none none;
	padding: 0.25rem;
	margin-top: 0.25rem;
	background: var(--layer-background);
	backdrop-filter: var(--layer-background-filter);
	-webkit-backdrop-filter: var(--layer-background-filter);
	border-top: 0.1rem solid var(--interactable-unselected);
	border-radius: 0.1rem;
	transition: 0.25s;
	position: relative;
	top: 0;
}
option { 
    /* Whatever color  you want */
    background: var(--option-background);
}
/*Slightly lifts inputs upon hovering over them*/
input:not([type='checkbox']):hover, textarea:hover, button:hover, select:hover, select:focus {
	top: -0.1rem;
	box-shadow: 0 0.125rem 0.25rem black;
}
/*Shows that inputs that aren't checkboxes are in use*/
input:not([type='checkbox']):active, button:active, input:not([type='checkbox']):not([type='input']):focus, textarea:focus, select:active {
	border-top-color: var(--interactable-selected);
}
/*Styles checboxes*/
input[type='checkbox'] {
	position: relative;
	top: 0.25rem;
	width: 1rem;
	height: 1rem;
}
/*Allows resizing of the textarea*/
textarea {
	resize: vertical;
	min-height: 6rem;
	max-height: 12rem;
}

@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);
	backdrop-filter: var(--layer-background-filter);
	-webkit-backdrop-filter: var(--layer-background-filter);
}
.layer.clearLayer {
	background: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: 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 {
	background: var(--interactable-unselected);
	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);
	backdrop-filter: var(--layer-background-filter);
	-webkit-backdrop-filter: var(--layer-background-filter);
	padding: 0.25rem;
}
#textCodeReference > div:nth-child(2n + 1):not(:nth-child(1)) {
	user-select: all;
}


.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);
    backdrop-filter: var(--layer-background-filter);
	-webkit-backdrop-filter: var(--layer-background-filter);
    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;
	}
}
