: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; 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; } .input-title { font-size: 2em; font-weight: bold; text-align: center; width: 100%; background-color: #00000000; border-color: #00000000; color: white; margin-bottom: -0.2em; } .input-slogan { font-family: var(--font-family); text-align: center; width: 100%; background-color: #00000000; border-color: #00000000; color: white; line-height: 1em; margin: 0.5em auto 0em auto; outline: none; } .input-title:focus, .input-slogan:focus { outline: none; } div.profilepicture img { display: flex; margin: 0 auto; margin-top: 2em; width: 50%; max-width: 250px; border-radius: 50%; } .content { flex: 1 0 auto; margin: 0 auto; max-width: 800px; width: 90%; margin-bottom: 2em; } .content li { line-height: 1.4em; text-align: left; } .content p { line-height: 1.4em; text-align: justify; } .content img { margin: 0 auto; width: 100%; margin: 1em 0; } footer { background-color: var(--hover-background); color: var(--unemph-color); text-align: center; width: 100%; margin: 1em auto 0 auto; padding-top: 1em; padding-bottom: 1em; } #dashDialog, #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: 1000; border-radius: 10px; text-align: left; overflow: auto; max-height: 70vh; } #dashDialog h2, #dashDialog p, #dialog h2, #dialog p { margin: 0; padding: 0 0 0.5em 0; text-align: justify; } #dashDialog button, #dialog button { margin: 0.5em 0.5em 0 0; padding: 1em; } #dashOverlay, #overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 999; } #dashOverlay { z-index: 1000; } #dashDialog input, #dialog input { text-align: left; font-size: 1em; display: block; width: 90%; color: var(--color); background: var(--hover-background); border: 1px solid var(--hover-border); border-radius: 10px; padding: 1em; margin: 1em auto; } #dashDialog input { display: none; } #form-container { padding-bottom: 1em; } #warning-message { display: none; } #warning-message p { text-decoration: underline; color: var(--warning-color); } button { padding: 0.5em; margin: 1em auto; color: var(--unemph-color); background: var(--background-color); border: 1px solid var(--hover-border); border-radius: 10px; } #dialog button:hover { background: var(--hover-background); color: var(--color); } #paypal-button-container > div { margin: 1.5em 0 0 0; } #checkout-success-message, #checkout-error-message { display: none; padding: 0.8em; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); margin: 2em 0; } #checkout-success-message { background-color: #d4edda; color: #155724; } #checkout-error-message { background-color: #f8d7da; color: #721c24; } #cancelDialogButton { justify-content: center; align-items: center; display: flex; background-color: var(--background-color); border: 1px solid var(--hover-border); color: var(--unemph-color); position: absolute; transition: 0.3s; border-radius: 50%; width: 1em; height: 1em; top: 0.5em; right: 0.5em; font-size: 1.1em; } .floating-buttons { display: flex; position: fixed; flex-direction: row; align-items: center; bottom: 0.2em; right: 0.5em; gap: 0.4em; z-index: 2000; } .floating-button { height: 2.5em; cursor: pointer; font-size: 1em; z-index: 2000; border-radius: 999px; box-sizing: border-box; color: rgba(255, 255, 255, 0.85); font-size: 1em; font-weight: bold; outline: 0 solid transparent; padding: 8px 18px; 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; } .floating-button:hover { background-color: #0056b3; } #updateSiteButton { background: linear-gradient(135deg, #214353, #4c9abf); box-shadow: #0099c5 0 10px 20px -15px; } #openDialogButton { 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; } .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; } #imageUpload { display: none; } .upload-button { position: absolute; top: 0.8em; left: 0.8em; display: inline-flex; width: 2em; height: 2em; border-radius: 10px; border: 1px solid var(--hover-border); cursor: pointer; align-items: center; justify-content: center; transition: background-color 0.2s ease; overflow: hidden; } .upload-button:hover { background-color: #ffffff40; } .upload-button .icon { width: 1em; height: 1em; } .dashboard { background-color: var(--background-color); height: 100%; width: 100%; position: fixed; top: 0; left: 0; display: flex; justify-content: center; align-items: center; flex-direction: column; z-index: 3000; } .dashboard-text { color: white; } .mode-button-container { width: var(--page-width); display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100vh; } .mode-button { width: 90%; padding: 1em; margin: 1em 0; border-radius: 15px; text-align: center; text-decoration: none; font-weight: bold; color: white; cursor: pointer; } .buyModeButton { background: linear-gradient(45deg, #21532a, #4fc764); } .buyModeButton:hover { background: linear-gradient(45deg, #173a1f, #3a9a4d); } .editModeButton { background: linear-gradient(45deg, #3498db, #007bff); } .editModeButton:hover { background: linear-gradient(45deg, #2980b9, #0056b3); } .dashboard { background: linear-gradient(315deg, #0c4848 3%, #071832 98%); animation: gradient 15s ease infinite; background-size: 400% 400%; } @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); } }