:root { --background-color: white; --color: black; --warning-color: #b24629; --page-width: 768px; --navbar-width: 50%; --font-family: sans-serif; --logo: url('logo.png'); --unemph-color: #505050; --hover-background: #dcdcdc; --hover-border: #aaa; --line-height: 1.7; --smaller-font: 0.75em; --hyper-color: #0f82af; --border-radius-regular: 10px; text-align: justify; margin: auto; } @media (prefers-color-scheme: dark) { :root { --background-color: #1d2021; --color: white; --hover-background: #282c2d; --unemph-color: #909090; --hover-border: #505050; --hyper-color: #00b4db; } #closeIcon { content: url('/static/svg/xd.svg'); } } @media (max-width: 900px) { :root { --page-width: 90%; --navbar-width: 50vh; } .floating-button span { display: none; } } html { background-color: var(--background-color); color: var(--color); font-family: var(--font-family); line-height: var(--line-height); } html, body { margin: 0 auto; height: 100%; } body { display: flex; flex-direction: column; } a { color: var(--hyper-color); } .banner { padding: 6vh; box-shadow: 0 15vh 30vh black inset; background-position: 50%; background-size: cover; margin-bottom: 1em; position: relative; } .banner-image { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: -1000; } .tool-button-input { display: none; } .tool-button { position: absolute; top: 0.8em; left: 0.8em; display: inline-flex; width: 2.2em; height: 2.2em; border-radius: var(--border-radius-regular); border: 1px solid var(--hover-border); cursor: pointer; align-items: center; justify-content: center; transition: background-color 0.2s ease; overflow: hidden; } .tool-button:hover { background-color: #ffffff40; } .tool-button .icon { width: 1.2em; height: 1.2em; } .input-title, .input-slogan, .input-title:focus, .input-slogan:focus { font-family: var(--font-family); width: 100%; background-color: #00000000; border-color: #00000000; color: white; text-align: center; outline: none; line-height: 1em; resize: none; } .input-title { font-size: 2em; font-weight: bold; } #editorjs { width: 90%; margin: 0 auto; } .floating-buttons-container { display: flex; position: fixed; flex-direction: row; align-items: center; bottom: 1.5em; right: 1.5em; gap: 0.6em; z-index: 30; } .floating-button { height: 2.5em; cursor: pointer; font-size: 1em; border-radius: 999px; box-sizing: border-box; color: #ffffff; padding: 0 1em; width: fit-content; word-break: break-word; border: 0; } .floating-button img { width: 1.2em; height: 1.2em; vertical-align: middle; } .floating-button span { margin-left: 0.6em; } #editButton { background: linear-gradient(135deg, #214353, #4c9abf); box-shadow: #0099c5 0 10px 20px -15px; } #buyButton { background: linear-gradient(135deg, #21532a, #4fc764); box-shadow: #27d100 0 10px 20px -15px; } #dashButton { background: linear-gradient(45deg, #9b59b6, #6f42c1); box-shadow: #8f53b9 0 10px 20px -15px; } #overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 50; } #dashboard { display: flex; background: linear-gradient(315deg, #0c4848 3%, #071832 98%); animation: gradient 15s ease infinite; background-size: 400% 400%; height: 100%; width: 100%; position: fixed; justify-content: center; align-items: center; flex-direction: column; z-index: 40; } .dashboard-content { color: white; width: var(--page-width); display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100vh; } .dashboard-content { position: fixed; top: -10%; } #buyModeButton, #editModeButton, #continueEditingModeButton { width: 90%; padding: 1em; margin: 1em 0; border-radius: var(--border-radius-regular); text-align: center; font-weight: bold; color: white; cursor: pointer; } #buyModeButton h4, #editModeButton h4, #continueEditingModeButton h4 { margin: 0; } #buyModeButton p, #editModeButton p, #continueEditingModeButton p { margin: 0; font-weight: normal; display: none; font-size: 0.8em; } #buyModeButton { background-image: linear-gradient(45deg, #043b0c, #39994b); } #editModeButton { background-image: linear-gradient(45deg, #154162, #56a2e8); } #continueEditingModeButton { display: none; background-image: linear-gradient(45deg, #4a3b72, #4a3b72); } @keyframes gradient { 0% { background-position: 0% 0%; } 50% { background-position: 100% 100%; } 100% { background-position: 0% 0%; } } .wave { background: #94e1f080; border-radius: 1000% 1000% 0 0; position: fixed; width: 200%; height: 12em; animation: wave 10s -3s linear infinite; transform: translate3d(0, 0, 0); opacity: 0.8; bottom: 0; left: 0; z-index: -1; } .wave:nth-of-type(2) { bottom: -1.25em; animation: wave 18s linear reverse infinite; opacity: 0.8; } .wave:nth-of-type(3) { bottom: -2.5em; animation: wave 20s -1s reverse infinite; opacity: 0.9; } @keyframes wave { 2% { transform: translateX(1); } 25% { transform: translateX(-25%); } 50% { transform: translateX(-50%); } 75% { transform: translateX(-25%); } 100% { transform: translateX(1); } } #dialog { width: 85%; max-width: 30em; display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 1.5em; background: var(--background-color); border: 1px solid var(--hover-border); box-shadow: 0 0 3em rgba(0, 0, 0, 0.4); z-index: 50; border-radius: 10px; text-align: left; overflow: auto; max-height: 70vh; } #dialog h2, #dialog p { margin: 0; padding: 0 0 0.5em 0; text-align: justify; } #dialog button { margin: 0.5em 0.5em 0 0; padding: 1em; } #dialog button { padding: 0.5em; color: var(--unemph-color); background: var(--background-color); border: 1px solid var(--hover-border); border-radius: 10px; position: absolute; right: 1em; bottom: 1em; } #dialog button:hover { background: var(--hover-background); color: var(--color); } #dialog #closeDialogButton { border: 0 solid black; color: var(--unemph-color); position: absolute; width: 2em; height: 2em; top: 0em; right: 0.2em; font-size: 0.9em; } .input-dialog { color: var(--color); border-width: 0; font-size: 1em; background: var(--hover-background); padding: 0.8em; border-radius: var(--border-radius-regular); margin: 1em auto 1em auto; width: 95%; display: block; } .status-popup { position: fixed; top: 19%; left: 50%; transform: translate(-50%, -50%); padding: 12px; border-radius: 8px; background-color: #f0f0f0; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); font-size: 16px; text-align: left; opacity: 0; visibility: hidden; transition: opacity 0.1s ease, visibility 0.1s ease; z-index: 10000; } .status-popup.show { opacity: 1; visibility: visible; } .status-popup.exists { background-color: #f8d7da; color: #721c24; } .status-popup.available { background-color: #d4edda; color: #155724; } .close-popup { position: absolute; top: -4px; right: 5px; cursor: pointer; font-weight: bold; } .message { display: none; padding: 0.8em; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); margin: 2em 0; } .success-message { background-color: #d4edda; color: #155724; } .error-message { background-color: #f8d7da; color: #721c24; } .loader { width: 1.5em; height: 1.5em; border: 0.2em solid #FFF; border-bottom-color: transparent; border-radius: 50%; display: inline-block; box-sizing: border-box; animation: rotation 1s linear infinite; display: none; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }