﻿/* Color Palette of GEGEE */

/*
Blue
#00aeff
Light Blue
#80ffff
White Blue
#aeffff
Purple
#ae00ff
Deep Purple
#ae00ae
Green
#00AE00
Orange
#FF8000
Light Orange
#FFAE00	
Deep Orange
#FF4000
Red
#FF4040
Pink
#FF0040
Yellow
#FFFF40
Cyan
#FF00AE
Lime
#AEFF00
Green
#40FF00
Brown-Red
#400000

Main Gradient (All equally spaced)
Purple ~ Blue ~ Light Cyan ~ Blue ~ Light blue
*/

:root {
	--gegee-blue: #00aeff;
	--gegee-cyan: #00ffae;
	--gegee-orange: #ff8000;
	--gegee-redish-orange: #ffae80;
	--gegee-red: #ff4040;
	--gegee-light-red: #ffdddd;
	--gegee-green: #00ae00;
	--gegee-light-green: #80ff80;
	--gegee-magenta: #ae00ff;
	--gegee-purple: #ae80ff;
	--keyboard-top: #000020;
	--keyboard-side: #303050;
	--keyboard-bottom: #505070;
	--keyboard-bg: #101030;
	/* For foreign */
	--fkeyboard-top: #633200;
	--fkeyboard-side: #BA5D00;
	--fkeyboard-bottom: #FF8000;
	--fkeyboard-bg: #884400;
	/* For consonants */
	--ckeyboard-top: #631919;
	--ckeyboard-side: #BA2F2F;
	--ckeyboard-bottom: #FF4040;
	--ckeyboard-bg: #882222;
	/* For vowels */
	--vkeyboard-top: #446300;
	--vkeyboard-side: #7FBA00;
	--vkeyboard-bottom: #AEFF00;
	--vkeyboard-bg: #5D8800;
	/* For misc. */
	--mkeyboard-top: #440063;
	--mkeyboard-side: #7F00BA;
	--mkeyboard-bottom: #AE00FF;
	--mkeyboard-bg: #5D0088;
	/* Special */
	--nkeyboard-top: #004400;
	--nkeyboard-side: #007F00;
	--nkeyboard-bottom: #00AE00;
	--nkeyboard-bg: #005D00;
}

/*
Main Font
*/

@font-face {
	font-family: "Noto Sans Mongolian";
	src: local("Noto Sans Mongolian"), url("resources/fonts/NotoSansMongolian.ttf");
}

/*
Additional Fonts by user request
*/

@font-face {
	font-family: "Mongolian Writing";
	src: local("Mongolian Writing"), url("resources/fonts/Writing.ttf");
}

@font-face {
	font-family: "Mongol Garchag";
	src: local("Mongol Garchag"), url("resources/fonts/Title.ttf");
}

/*
Custom emoji fonts; removed bcuz unused
*/

/*
@font-face { /* http://emojione.com/developers/ 
  font-family: Emojione;
  src: local("EmojiOne BW"), local("EmojiOne"), local("Emoji One"),
       url("https://cdn.rawgit.com/Ranks/emojione/master/assets/fonts/emojione-svg.woff2") format("woff2"),
       url("https://cdn.rawgit.com/Ranks/emojione/master/assets/fonts/emojione-svg.woff") format("woff"),
       url("https://cdn.rawgit.com/Ranks/emojione/master/assets/fonts/emojione-svg.otf") format("truetype");
}
@font-face { /* https://www.google.com/get/noto/#noto-emoji-zsye 
  font-family: Noto;
  src: local("Noto Emoji"), local("Noto Color Emoji"), local("Noto"), 
       url("https://cdn.rawgit.com/googlei18n/noto-emoji/master/fonts/NotoEmoji-Regular.ttf");
}
@font-face { /* https://github.com/eosrei/twemoji-color-font/releases 
  font-family: Twemoji;
  src: local("Twemoji");
}
@font-face { /* http://users.teilar.gr/~g1951d/ 
  font-family: Symbola;
  src: local("Symbola");
}*/

/*
	Loading screen
*/

.loadingScreen {
	width: 100vw;
	height: 100vh;
	position: fixed;
	left: 0;
	background: black linear-gradient(to right bottom, var(--gegee-orange), var(--gegee-red), var(--gegee-magenta)) 0% 0% / 200% 100% no-repeat;
	z-index: 100000;
	animation: cascadingBackground 3s ease-in-out infinite;
	-webkit-transition: all 0.4s ease-in-out;
	-o-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
}

.loadingScreen span {
	font-size: 200%;
	color: white;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: absolute;
}

/*
Super Global Settings
*/

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

img {
	-webkit-user-drag: none !important;
	-khtml-user-drag: none !important;
	-moz-user-drag: none !important;
	-o-user-drag: none !important;
	-webkit-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

body, html {
	min-width: 800px !important;
	min-height: 400px !important;
	width: 100vw;
	height: 100vh !important;
	position: relative;
	font-family: "Noto Sans Mongolian", sans-serif;
	overflow-y: hidden;
	/*background-image: linear-gradient(to bottom right, #00aeff, #ae00ff, #ff00ae, #ffae00);*/
}

/*
Global traditional Mongolian text setting
*/

.tm {
	font-family: 'Noto Sans Mongolian', sans-serif;
	-webkit-writing-mode: vertical-lr;
	-moz-writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
	-webkit-text-orientation: sideways-right;
	text-orientation: sideways-right;
	font-size: 110%;
}

.hz {
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	font-family: sans-serif;
}

.upright {
	-webkit-text-orientation: upright;
	text-orientation: upright;
}

.justify {
	text-align: justify;
	max-height: 99%;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.continuous {
	max-height: 99%;
}

/*
Flex & Grid container basic setting
*/

.flex {
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	left: 45vw;
	right: 0;
	top: 0;
	min-width: 55vw;
	height: 100vh;
}

/*
Modular Setting
*/

.modular {
	/*outline: 2px dashed gray;*/
	outline-offset: -0.5vw;
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	/*margin: 0.5vw;*/
}

/*
.modular.col1 {
	min-width: 80px;
}

.modular.col2 {
	min-width: 168px;
}

.modular.col3 {
	min-width: 256px;
}

.modular.col4 {
	min-width: 344px;
}

.modular.col5 {
	min-width: 432px;
}

.modular.col6 {
	min-width: 520px;
}*/

.modular-ico {
	min-width: 16px;
	min-height: 16px;
	cursor: pointer;
	position: relative;
	top: 0;
}

.wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

div.wrapper {
	position: relative;
	width: calc(100% - 1vw);
	height: calc(100% - 1vw);
	left: 0.5vw;
	top: 0.5vw;
	bottom: 0.5vw;
	right: 0.5vw;
	;
	-webkit-box-align: center;
	;
	-ms-flex-align: center;
	;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

/*
Table setting
*/

.col1 {
	width: 16.66666667%;
}

.col2 {
	width: 33.33333333%;
}

.col3 {
	width: 50%;
}

.col4 {
	width: 66.66666667%;
}

.col5 {
	width: 83.33333333%;
}

.col6 {
	width: 100%;
}

.row1[y="0"] {
	bottom: 66.66666667%;
}

.row1[y="1"] {
	bottom: 33.33333333%;
}

.row1[y="2"] {
	bottom: 0;
}

.row2[y="0"] {
	bottom: 33.33333333%;
}

.row2[y="1"] {
	bottom: 0;
}

.row3 {
	bottom: 0;
}

*[y="0"] {
	top: 0%;
}

*[y="1"] {
	top: 33%;
}

*[y="2"] {
	top: 66%;
}

*[x="0"] {
	left: 0;
}

*[x="1"] {
	left: 16.66666667%;
}

*[x="2"] {
	left: 33.33333333%;
}

*[x="3"] {
	left: 50%;
}

*[x="4"] {
	left: 66.66666667%;
}

*[x="5"] {
	left: 83.33333333%;
}

*[x="6"] {
	left: 100%;
}

*[x="7"] {
	left: 116.66666667%;
}

*[x="8"] {
	left: 133.33333333%;
}

*[x="9"] {
	left: 150%;
}

*[x="10"] {
	left: 166.66666667%;
}

*[x="11"] {
	left: 183.33333333%;
}

*[x="12"] {
	left: 200%;
}

*[x="13"] {
	left: 216.66666667%;
}

/*
Canvas, its container setting
--Constant width @(minmax 240px & 30vw)--
*/

#canvas {
	min-width: 240px;
	width: 30vw;
	max-width: 30vw;
	position: relative;
	background: white;
}

#konvas {
	min-width: 208px;
	border: 1px solid var(--gegee-blue);
	z-index: 2;
}

#konvas .konvajs-content {
	max-width: 100%;
	max-height: 100%;
}

#canvas .function-buttons {
	position: absolute;
	top: 0;
	right: 0;
	width: 4vw;
	min-width: 32px;
	border: 1px solid black;
	border-left: none;
	border-radius: 0 1vw 1vw 0;
}

#canvas .function-buttons.bottom {
	top: unset;
	bottom: 0;
}

#gegee-download-type {
	border-radius: 25%;
	border: 1px solid gray;
	background: url("resources/icons/canvas-quality.svg") left 100% / 100% 150% no-repeat;
	background-position-y: 100%;
	width: 80%;
	padding-top: 80%;
}

/*
	Special case for width is wider than height case
*/

div.hidden {
	display: none;
}

/*
	X button
*/

#blockerX {
	width: 2vw;
	height: 2vw;
	padding: 2vw;
	border-radius: 1vw;
	background: transparent url("resources/icons/X.svg") top left / contain;
	position: absolute;
	top: 0;
	left: 94vw;
	margin: 1vw;
	z-index: 25;
}

.horizontalKonvasFunctionButtons {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	height: 4vw;
	min-height: 20px;
	left: 0;
	position: absolute;
	bottom: unset !important;
	top: 100% !important;
	/*transform: rotate(90deg) translateX(-300%);
	transform-origin: bottom left;*/
}

.horizontalKonvasFunctionButtons.bottom {
	left: unset;
	right: 4vw;
}

.horizontalKonvasFunctionButtons #gegee-download-type {
	width: 3.2vw;
	height: 3.2vw !important;
	padding-top: unset;
}

.horizontalKonvasFunctionButtons .function-button {
	width: 3.2vw;
	height: 3.2vw !important;
	margin: 0.4vw;
	min-width: 16px;
	min-height: 16px;
	padding-top: unset;
}

/*
Textarea Settings
*/

#gegee_textarea_container {
	white-space: nowrap;
	float: left;
	width: 75%;
}

pre#gegee_textarea_0 {
	display: inline-block;
	position: absolute;
	background: white;
	color: black;
	top: 0;
	bottom: 0;
	overflow-x: auto;
	width: 100%;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
	-webkit-writing-mode: vertical-lr;
	resize: none;
}

.konvasDimensionsInput {
	width: 5em;
	border: 1px solid gray;
}

#submitKonvasUserDimensions {
	width: 1.5em;
	height: 1.5em;
	vertical-align: middle;
	border: none;
	cursor: pointer;
}

.wondering {
	cursor: help;
	border-radius: 50%;
	width: 1em !important;
	height: 1em !important;
	border: none;
	font-family: sans-serif;
	background: transparent url("resources/icons/wondering.svg") 10% 10% / 80% 80% no-repeat !important;
	display: inline-block;
}

.information {
	cursor: help;
	border-radius: 50%;
	border: 1px solid black;
	content: "i";
	width: 1em !important;
	height: 1em !important;
	font-family: sans-serif;
	display: inline-block;
}

/*
Main element on the grid column, as a global
*/

.main-component {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 75%;
	z-index: 2;
	border: 1px solid black;
}

.col2 .main-component {
	width: 88%;
}

.col3 .main-component {
	width: 92%;
}

.col4 .main-component {
	width: 94%;
}

.col5 .main-component {
	width: 95%;
}

.col6 .main-component {
	width: 96%;
}

.no-function-buttons .main-component {
	width: 100%;
}

/*
Function buttons, as a global
*/

.function-buttons {
	position: absolute;
	top: 0;
	right: 0;
	width: 25%;
	min-width: 20px;
	background: white;
	border-top: 1px solid black;
	border-right: 1px solid black;
	border-bottom: 1px solid black;
	border-radius: 0 1vw 1vw 0;
}

.modular .function-buttons {
	max-width: 2.5vw;
}

.horizontalScrollerButton {
	-webkit-transition: 500ms;
	-o-transition: 500ms;
	transition: 500ms;
}

.col2 .function-buttons {
	width: 12%;
}

.col3 .function-buttons {
	width: 8%;
}

.col4 .function-buttons {
	width: 6%;
}

.col5 .function-buttons {
	width: 5%;
}

.col6 .function-buttons {
	width: 4%;
}

.function-buttons.bottom {
	top: unset;
	bottom: 0;
}

.function-buttons span {
	max-width: 100%;
}

.function-button {
	width: 80%;
	margin: 10%;
	padding-top: 80%;
	background-size: cover;
}

.function-button-setting {
	border-radius: 50%;
	border: 1px solid black;
}

/*Button individuals*/

#canvasButton_sizing {
	background: transparent url("resources/icons/canvas-sizing.svg") 0 0 / 100% 300% no-repeat;
}

#canvasButton_bg {
	background: transparent url("resources/icons/canvas-bg.svg") center / cover !important;
}

#chooseBackgroundColor {
	width: 6em;
	height: 6em;
	vertical-align: middle;
}

#canvasButton_fullscreen {
	background: transparent url("resources/icons/canvas-fullscreen.svg") top left / cover !important;
}

#canvasButton_resize {
	background: transparent url("resources/icons/canvas-resize.svg") top left / cover !important;
}

#canvasButton_clipboard {
	background: transparent url("resources/icons/canvas-download.svg") top left / cover !important;
}

#canvasButton_download {
	background: transparent url("resources/icons/canvas-download.svg") top left / cover !important;
}

/*Text section button individuals*/

#remove_textarea {
	background: transparent url("resources/icons/textarea-remove.svg") top left / cover !important;
}

#add_textarea {
	background: transparent url("resources/icons/textarea-add.svg") top left / cover !important;
}

#textarea_showKeyboardLayout {
	background: transparent url("resources/icons/textarea-settings.svg") top left / cover !important;
}

#remove_textarea {
	background: transparent url("resources/icons/textarea-remove.svg") top left / cover !important;
}

/*Text section specials*/

#remove_textarea[data-gegee-id='0'] {
	display: none;
}

/*Convertor section buttons*/

#writeConvertor {
	background: transparent url("resources/icons/placeText.svg") top left / cover !important;
}

#copyConvertor {
	background: transparent url("resources/icons/copy.svg") top left / cover !important;
}

#convertorSettings {
	background: transparent url("resources/icons/settings.svg") top left / cover !important;
}

/* Horizontal scrolling set up*/

.horizontalScrollerButton {
	-webkit-transition: 500ms;
	-o-transition: 500ms;
	transition: 500ms;
}

#font {
	background: url("resources/icons/textarea-fonts.svg") left 100% / 100% 300% no-repeat;
	background-position-y: 0%;
}

#textalign {
	background: url("resources/icons/textarea-textalign.svg") left 100% / 100% 150% no-repeat;
	background-position-y: 50%;
}

#autoConversion {
	background: url("resources/icons/textarea-autoswitch.svg") left 100% / cover no-repeat;
	opacity: 1;
}

.flex \ .function-buttons \ button#textarea_showKeyboardLayout:nth-of-type(1) {
	display: none;
}

button#outline-picker, button#fill-picker {
	border: 1px solid black !important;
	padding-top: 75%;
	position: relative;
}

.gegee-colorpicker {
	width: 0;
	height: 0;
	padding: 0;
	margin: 0;
	position: unset;
	z-index: 15;
	display: inline-block;
	background-color: white;
}

.gegee-colorpicker img.close {
	right: 0;
	width: 1.5em;
	height: 1.5em;
	margin: .2em !important;
}

/*
Stickerpack arrenger
*/

.gegee-sticker {
	position: absolute;
	background: #fdfdfd;
	border: 1px solid gray;
	border-radius: 1em;
}

.sticker-selector {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	max-width: 80%;
	width: 80%;
	max-height: 100%;
	text-align: center;
}

.stickerpack {
	display: none;
	overflow: auto;
	border-radius: 1em;
	width: 100%;
}

.stickerpack.activeSticker {
	display: block;
}

.stickerpack img:hover {
	background-color: #d0d0d0;
}

.sticker-tab {
	height: 100%;
	border-left: 1px solid gray;
	position: absolute;
	left: 80%;
	max-width: 20%;
	width: 20%;
	right: 0;
	border-radius: 0 1em 1em 0;
}

.sticker-tab img {
	width: 90%;
	margin: 5%;
	border: 1px solid gray;
	border-radius: 50%;
	cursor: pointer;
	opacity: 0.6;
	-webkit-transition: 250ms;
	-o-transition: 250ms;
	transition: 250ms;
}

.sticker-tab img.selected {
	opacity: 1;
}

#stickershop {
	text-align: center;
	height: 20em;
}

span#kawaii-shop img {
	width: 4em;
	height: 4em;
	margin: 1em;
}

span#kawaii-shop {
	display: inline-block;
	padding: 1em;
	border: 1px solid var(--gegee-blue);
	border-radius: 1em;
}

img#kawaii-shop {
	width: 10em !important;
	height: 10em !important;
	border-radius: 1em;
}

/*shop - kawaii stickers*/

.shop {
	position: absolute;
	width: 90%;
	padding-top: 90%;
	margin: 5%;
	bottom: 0;
	background: transparent url("resources/icons/shop.svg") 50% 50% / 80% 80% no-repeat !important;
}

#wrapper-stickers::-webkit-scrollbar {
	display: none;
}

#wrapper-stickers {
	max-height: 80%;
	overflow-y: auto;
	scrollbar-width: none;
}

.small.customScrollbar {
	scrollbar-width: 0.33em;
}

.customScrollbar {
	scrollbar-width: 0.66em;
	scrollbar-color: #00aeff;
	scrollbar-highlight-color: #40aeff;
}

.large.customScrollbar {
	scrollbar-width: 1em;
}

.tm::-webkit-scrollbar {
	width: 0.66em;
	height: 0.66em;
}

.small.customScrollbar::-webkit-scrollbar {
	width: 0.33em;
	height: 0.33em;
}

.customScrollbar::-webkit-scrollbar {
	width: 0.66em;
	height: 0.66em;
}

.large.customScrollbar::-webkit-scrollbar {
	width: 1em;
	height: 1em;
}

.customScrollbar::-webkit-scrollbar-thumb {
	background: #00aeff;
}

.customScrollbar::-webkit-scrollbar-thumb:hover {
	background: #40aeff;
}

img#sticker {
	cursor: pointer;
	vertical-align: middle;
	position: relative;
	max-width: 45%;
	width: 40%;
	max-height: 60%;
	margin: 2%;
	-webkit-transition: background-color 0.3s;
	-o-transition: background-color 0.3s;
	transition: background-color 0.3s;
	border-radius: 1em;
}

#stickerInformation {
	display: inline-block;
	width: 40%;
	height: 30%;
	position: relative;
	border-radius: none;
	border: 1px solid black;
}

/*
	Social poilcy
*/

#socialNetworks {
	border: 1px solid gray;
	border-radius: 1em;
}

#titleSocial {
	width: 10%;
	left: 0;
	height: 100%;
	text-align: center;
	vertical-align: middle;
	font-size: inherit;
	border-top-left-radius: 1em;
	border-bottom-left-radius: 1em;
}

#socialButtons {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	width: 90%;
	height: 100%;
}

.socialNetwork {
	flex: 0 50%;
}

.socialNetwork:nth-of-type(3) img {
	border: 0.2em solid #3b76ec;
}

.socialNetwork img {
	width: 90%;
	margin: 0 5%;
	border-radius: 50%;
}

/*
Gegee convertor
*/

.gegee-convertor {
	border: 1px solid gray;
	border-radius: 1em;
}

.gegee-convertor textarea {
	position: absolute;
	left: 5%;
	top: 0.5em;
	width: 90%;
	min-height: 30%;
	max-height: 60%;
	overflow-x: hidden;
	overflow-y: auto;
	font-family: sans-serif;
	resize: vertical;
}

.convertorButtons button {
	width: 20%;
	padding-top: 20%;
}

.convertorButtons {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 0;
	-ms-flex: 0;
	flex: 0;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	width: 100%;
	bottom: 0.5em;
	left: 0;
	position: absolute;
}

/*
Gegee popup policy he'a
*/

.gegee-popup {
	display: none;
	position: absolute !important;
	z-index: 20;
}

.gegee-popup.shown {
	display: block;
}

/*
Gegee popper policy is he'a
*/

.gegee-blocker {
	display: none;
	position: fixed;
	width: 1000%;
	height: 1000%;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 8;
}

#gegee-blockerlvl2 {
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 28;
}

.gegee-popper {
	display: none;
	position: fixed;
	z-index: 10;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	padding: 1em;
	background: white;
	max-height: 75vh;
	max-width: 90vw;
	overflow: auto;
	border-radius: 3vw;
}

.gegee-popper.lvl2 {
	z-index: 30;
}

.gegee-popper.popped {
	-webkit-animation: drop .3s ease-in-out;
	animation: drop .3s ease-in-out;
	display: block;
}

.gegee-popper.popped.bg.fancy {
	-webkit-animation: drop .3s ease-in-out, cascadingBackground 4s infinite;
	animation: drop .3s ease-in-out, cascadingBackground 4s infinite;
	display: block;
}

.gegee-popper.flex.popped {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-animation: drop .3s ease-in-out;
	animation: drop .3s ease-in-out;
}

/*
Special Case for Colorpicker div
*/

.gegee-colorpicker {
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	height: -webkit-max-content;
	height: -moz-max-content;
	height: max-content;
}

/*
Special drag & drop feature for bg
*/

.highlighted_upload#canvas_bg * {
	visibility: hidden;
}

#canvas_bg::after {
	display: none;
}

.highlighted_upload#canvas_bg {
	background: white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='512pt' viewBox='0 0 512 512' width='512pt'%3E%3Cpath d='m354 60c0-33.085938-26.914062-60-60-60h-234c-33.085938 0-60 26.914062-60 60v234c0 33.085938 26.914062 60 60 60h96v40h40v-40h98c33.085938 0 60-26.914062 60-60v-96h39v-40h-39zm-40 234c0 11.027344-8.972656 20-20 20h-234c-11.027344 0-20-8.972656-20-20v-234c0-11.027344 8.972656-20 20-20h234c11.027344 0 20 8.972656 20 20zm158 138h40v40c0 22.089844-17.910156 40-40 40h-39v-40h39zm-199 40h40v40h-40zm80 0h40v40h-40zm159-274v40h-40v-40h-39v-40h39c22.089844 0 40 17.910156 40 40zm-40 78h40v40h-40zm0 78h40v40h-40zm-276 118h39v40h-39c-22.089844 0-40-17.910156-40-40v-40h40zm37-318h40v120h-120v-40h51.714844l-71.359375-71.359375 28.285156-28.28125 71.359375 71.355469zm0 0'/%3E%3C/svg%3E") 50% 50% / 3em 3em no-repeat;
	border: 0.4em dashed gray;
}

/*
Convertor table layout - Ah real mess!
*/

#conversionUnits.popped {
	display: block !important;
}

#conversionUnits {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	text-align: center;
}

#conversionGuide {
	display: inline-table;
	text-align: left;
	border: 1px solid black;
	border-collapse: collapse;
	margin-left: 1em;
}

#conversionGuide th, #conversionGuide tr, #conversionGuide td {
	border: 1px solid black;
	padding: 3px 6px;
}

#convertorLayoutInput {
	width: 1.3em;
	height: 1.3em;
	margin: 0.5em;
}

#convertorLayoutSetInputButton {
	border-radius: 0.5em;
	display: inline-block;
}

/*
Keyboard table layout ~ Ah real mess!
*/

#keyboardSettings {
	display: inline-table;
	background: white;
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	border: 1px solid black;
	padding: 1em;
	border-radius: 1em;
	text-align: center;
}

#keyboardSettings td {
	display: inline-block;
	margin: 0 0.1em;
}

#keyboardSettings tr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
	border: unset;
	border-radius: unset;
	margin: 0.1em 0;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

/*
td.key input {
	display: inline-block;
	background-color: #202040;
	width: 2vw;
	height: 2vw;
	text-align: center;
	border-left: 0.2vw solid #404060 !important;
	border-right: 0.2vw solid #404060 !important;
	border-top: 0.1vw solid black !important;
	border-bottom: 0.3vw solid #606080 !important;
	-webkit-writing-mode: horizontal-tb !important;
	-ms-writing-mode: lr-tb !important;
	writing-mode: horizontal-tb !important;
	color: white;
	font-size: 50%;
}*/

#keyboardSettings tr td input {
	background-color: var(--keyboard-bg) !important;
	cursor: pointer;
	width: 2vw;
	height: 2vw;
	color: white;
	font-size: 1.25vw;
	font-family: "Noto Sans Mongolian";
	border: 1px solid gray;
	border-left: 0.2vw solid var(--keyboard-side) !important;
	border-right: 0.2vw solid var(--keyboard-side) !important;
	border-top: 0.1vw solid var(--keyboard-top) !important;
	border-bottom: 0.3vw solid var(--keyboard-bottom) !important;
	background-image: unset;
	background-size: contain;
	text-align: center;
}

#keyboardSettings tr td input.clicked {
	font-weight: bold;
	text-transform: uppercase;
}

#keyboardSettings tr td input.custom {
	height: 2vw;
	background: var(--keyboard-bg);
	color: white;
	border: 1px solid gray;
	text-align: center;
	border-left: 0.2vw solid var(--keyboard-side) !important;
	border-right: 0.2vw solid var(--keyboard-side) !important;
	border-top: 0.1vw solid var(--keyboard-top) !important;
	border-bottom: 0.3vw solid var(--keyboard-bottom) !important;
	-webkit-transform: unset;
	-ms-transform: unset;
	transform: unset;
	font-size: 75%;
}

input.highlightButton {
	animation: highlightButton 2s;
}

#keyboardSettings tr td input:placeholder-shown {
	background-image: url("resources/icons/dot.svg");
}

#keyboardSettings tr td input[value=" "] {
	background-image: url("resources/icons/NNBSP.png");
}

#keyboardSettings tr td input[value="‍"] {
	background-image: url("resources/icons/ZWJ.png");
}

#keyboardSettings tr td input[value="‌"] {
	background-image: url("resources/icons/ZWNJ.png");
}

#keyboardSettings tr td input[value="᠎"] {
	background-image: url("resources/icons/MVS.png");
}

#keyboardSettings tr td input[value="᠋"] {
	background-image: url("resources/icons/FVS1.png");
}

#keyboardSettings tr td input[value="᠌"] {
	background-image: url("resources/icons/FVS2.png");
}

#keyboardSettings tr td input[value="᠍"] {
	background-image: url("resources/icons/FVS3.png");
}

#keyboardLayout {
	text-align: center;
	min-height: 25vw;
}

#gegee-keyboardLayout-UI {
	text-align: left;
	padding: 1em;
	margin: 0 1em 0 1em;
	border: 1px solid black;
	border-radius: 1em;
	height: 50%;
	font-size: 80%;
}

#saveUserConversionLayout {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
	padding: 0 1em;
	margin: 1em;
	height: 5em;
	border: none;
	border-radius: 1em;
}

/*
	Keyboard Button Chooser
*/

#keyboardButtonSelector {
	overflow: visible;
	flex-direction: column;
}

#keyboardButtonSelectorModeWrapper {
	display: flex;
	justify-content: space-around;
}

.keyboardButtonSelectorMode {
	display: none;
	font-family: "Noto Sans Mongolian";
}

.keyboardButtonSelection {
	display: none;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	/*flex-direction: column;
	max-width: 50vw;*/
	transition: 1s;
	overflow: visible;
}

.activeSelection {
	display: flex;
}

#customCharacter {
	font-size: 1.2vw;
	height: 6em;
	width: 3em;
}

#customCharacterInput {
	background: none;
	border: 1px solid white;
	color: white;
	width: 1.4em;
	height: 1.4em;
	font-size: 120%;
	position: absolute;
	margin: 0.5em 0;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
}

#customCharacterInputButton {
	position: absolute;
	margin: 0.5em 0;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	cursor: pointer;
	width: 1.5em;
	height: 1.5em;
	border-radius: 50%;
	border: 0.2em solid white;
	background: transparent url('resources/icons/okay.svg') 0 0 / contain no-repeat !important;
}

.keyboardButtonSelectorMode {
	height: 30% !important;
	width: 3em !important;
	padding: 0.5em !important;
	cursor: pointer;
	writing-mode: vertical-lr !important;
	-webkit-writing-mode: vertical-lr !important;
	-moz-writing-mode: vertical-lr !important;
}

#aboutSection {
	text-align: center;
	font-size: 150%;
	border: unset;
}

#aboutSection #justWrapper {
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: absolute;
	height: 100%;
	width: 100%;
}

.aboutButton {
	display: inline-block;
	position: relative;
	width: 15%;
	height: 95%;
	text-align: center;
	border: 1px solid gray;
	border-radius: 1em;
	padding: 0 2.5%;
	margin: 2.5%;
	cursor: pointer;
}

.aboutButton span.inverted {
	position: absolute;
	left: 50%;
	top: 50%;
	height: 100%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#thanks span {
	padding: 2em;
}

#userSuggestWord {
	border: 1px solid gray;
	border-radius: 1em;
	overflow-x: hidden;
	overflow-y: auto;
	text-align: center;
	padding: .5em;
}

#userSuggestWord button {
	border-radius: 1em;
	padding: 1em 3em;
	position: relative;
}

#userSuggestWordField {
	position: relative;
	width: 98%;
	height: 40%;
	font-family: "Noto Sans Mongolian", sans-serif;
	resize: vertical;
}

#donate.popped {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
}

#donate .tm {
	text-align: left;
	max-height: 100%;
}

#contact.popped {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.infoContainer {
	background: rgba(255, 255, 255, .5);
	color: black;
	padding: 1em;
	/*width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	height: -webkit-max-content;
	height: -moz-max-content;
	height: max-content;*/
	/*display: inline-block;*/
	border-radius: 1em;
	text-align: center;
}

/*Seperator for table*/

tr[seperator] {
	background: black;
	border-radius: 1em;
	width: 100%;
}

tr[seperator]:after {
	content: "↓ Shift ↓";
	position: relative;
	left: 0;
	top: 50%;
	color: white;
}

/*another popper for canvas size config*/

#canvas_size {
	text-align: center;
	overflow: visible !important;
}

#canvas_bg_pattern {
	max-width: 40vw !important;
	max-height: 90vh;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-transition: 250ms;
	-o-transition: 250ms;
	transition: 250ms;
}

#canvas_bg {
	-webkit-transition: 250ms;
	-o-transition: 250ms;
	transition: 250ms;
	text-align: center;
	max-height: 90vh;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 2em;
	max-width: 40vw !important;
}

#canvas_size button {
	margin: 1em;
}

/*policy for images in poppers*/

.popper-choice.pattern {
	width: 4em;
	height: 4em;
	border: 1px solid black;
}

.popper-choice {
	max-width: 8em;
	height: 8em;
	min-height: 4em;
	cursor: pointer;
	border-radius: 0.5em;
	margin: 0.5em;
}

#canvas_bg button:nth-of-type(1) img {
	width: 8em;
	height: 8em;
	border: none !important;
}

#canvas_bg .popper-choice {
	border: 1px solid black;
}

/*
	Colorpickers
*/

.colorpickers {
	/*Dummy element; just container to organize elements*/
	width: 0;
	height: 0;
}

/*
Design implementations
*/

.round {
	border-radius: 50%;
}

.h1 {
	font-size: 120%;
	font-weight: bold;
}

code.keyboardButton.custom {
	width: auto;
}

code.keyboardButton {
	display: inline-block;
	background-color: var(--keyboard-bg);
	padding: 0.3em;
	margin: 0.3em;
	width: 3em;
	height: 3em;
	text-align: center;
	border-left: 0.4em solid var(--keyboard-side) !important;
	border-right: 0.4em solid var(--keyboard-side) !important;
	border-top: 0.2em solid var(--keyboard-top) !important;
	border-bottom: 0.6em solid var(--keyboard-bottom) !important;
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	color: white;
}

code.keyChooser {
	writing-mode: vertical-lr !important;
	-moz-writing-mode: vertical-lr !important;
	-webkit-writing-mode: vertical-lr !important;
	font-family: "Noto Sans Mongolian";
	background-size: contain;
	font-size: 1.2vw;
}

code.keyChooser.f {
	background-color: var(--fkeyboard-bg) !important;
	border-left: 0.4em solid var(--fkeyboard-side) !important;
	border-right: 0.4em solid var(--fkeyboard-side) !important;
	border-top: 0.2em solid var(--fkeyboard-top) !important;
	border-bottom: 0.6em solid var(--fkeyboard-bottom) !important;
}

code.keyChooser.c {
	background-color: var(--ckeyboard-bg) !important;
	border-left: 0.4em solid var(--ckeyboard-side) !important;
	border-right: 0.4em solid var(--ckeyboard-side) !important;
	border-top: 0.2em solid var(--ckeyboard-top) !important;
	border-bottom: 0.6em solid var(--ckeyboard-bottom) !important;
}

code.keyChooser.m {
	background-color: var(--mkeyboard-bg) !important;
	border-left: 0.4em solid var(--mkeyboard-side) !important;
	border-right: 0.4em solid var(--mkeyboard-side) !important;
	border-top: 0.2em solid var(--mkeyboard-top) !important;
	border-bottom: 0.6em solid var(--mkeyboard-bottom) !important;
}

code.keyChooser.v {
	background-color: var(--vkeyboard-bg) !important;
	border-left: 0.4em solid var(--vkeyboard-side) !important;
	border-right: 0.4em solid var(--vkeyboard-side) !important;
	border-top: 0.2em solid var(--vkeyboard-top) !important;
	border-bottom: 0.6em solid var(--vkeyboard-bottom) !important;
}

code.keyChooser.n {
	background-color: var(--nkeyboard-bg) !important;
	border-left: 0.4em solid var(--nkeyboard-side) !important;
	border-right: 0.4em solid var(--nkeyboard-side) !important;
	border-top: 0.2em solid var(--nkeyboard-top) !important;
	border-bottom: 0.6em solid var(--nkeyboard-bottom) !important;
}

code[gegee-key-data="NNBSP"] {
	background-image: url("resources/icons/NNBSP.png");
}

code[gegee-key-data="ZWJ"] {
	background-image: url("resources/icons/ZWJ.png");
}

code[gegee-key-data="ZWNJ"] {
	background-image: url("resources/icons/ZWNJ.png");
}

code[gegee-key-data="MVS"] {
	background-image: url("resources/icons/MVS.png");
}

code[gegee-key-data="FVS1"] {
	background-image: url("resources/icons/FVS1.png");
}

code[gegee-key-data="FVS2"] {
	background-image: url("resources/icons/FVS2.png");
}

code[gegee-key-data="FVS3"] {
	background-image: url("resources/icons/FVS3.png");
}

/* Useless */

/*div {background: rgba(221, 221, 221, 0.5);}*/

/*
Auto.js; modified. Trad. Mongolian Ver by Me
*/

#suggestionBox_GEGEE {
	border: 1px solid black;
	height: 100%;
	border-radius: 0.5em 0 0 0.5em;
	z-index: 7;
}

#suggestionBox_GEGEE_suggestion {
	background: #dedede;
	padding: 1vh 2px;
	border-radius: 10px;
}

/*
	When the device is less than 800px
*/

@media only screen and (max-width: 800px) {
	.horizontalKonvasFunctionButtons.bottom {
		right: 32px !important;
	}
	/*
	Flex & Grid container basic setting
	*/
	.flex {
		left: 360px;
		right: 0;
		top: 0;
		min-width: 440px;
	}
	/*
	Modular Setting
	*/
	.modular {
		outline-offset: -4px;
	}
	*[x="0"] {
		left: 0;
	}
	*[x="1"] {
		left: 84px;
	}
	*[x="2"] {
		left: 168px;
	}
	*[x="3"] {
		left: 252px;
	}
	*[x="4"] {
		left: 336px;
	}
	*[x="5"] {
		left: 420px;
	}
	*[x="6"] {
		left: 504px;
	}
	*[x="7"] {
		left: 588px;
	}
	*[x="8"] {
		left: 672px;
	}
	*[x="9"] {
		left: 756px;
	}
	*[x="10"] {
		left: 840px;
	}
	*[x="11"] {
		left: 183.33333333%;
	}
	*[x="12"] {
		left: 200%;
	}
	*[x="13"] {
		left: 216.66666667%;
	}
	.modular.col1 {
		width: 80px;
	}
	.modular.col2 {
		width: 168px;
	}
	.modular.col3 {
		width: 256px;
	}
	.modular.col4 {
		width: 344px;
	}
	.modular.col5 {
		width: 432px;
	}
	.modular.col6 {
		width: 520px;
	}
	.modular-ico {
		width: 16px;
		height: 16px !important;
		padding-top: unset !important;
	}
	.wrapper {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	div.wrapper {
		position: relative;
		width: calc(100% - 1vw);
		height: calc(100% - 1vw);
		left: 4px;
		top: 4px;
		bottom: 4px;
		right: 4px;
	}
	#canvas {
		min-width: 240px;
		max-width: 240px;
	}
	canvas#main {
		width: 208px !important;
		height: 369px !important;
	}
	#canvas .function-buttons {
		width: 32px !important;
	}
	#canvas .function-buttons .function-button {
		width: 24px;
		height: 24px !important;
		padding-top: unset !important;
	}
	/*
	Main element on the grid column, as a global
	*/
	.col2 .main-component {
		width: 88%;
	}
	.col3 .main-component {
		width: 92%;
	}
	.col4 .main-component {
		width: 94%;
	}
	.col5 .main-component {
		width: 95%;
	}
	.col6 .main-component {
		width: 96%;
	}
	.no-function-buttons .main-component {
		width: 100%;
	}
	/*
	Function buttons, as a global
	*/
	.function-buttons {
		width: 20px !important;
	}
	.aboutButton {
		width: 24px;
		height: calc(100% - 4px);
		border-radius: 12px;
		padding: 0 2px;
		margin: 2px;
		font-size: 90%;
		text-align: center;
	}
}