* { box-sizing: border-box; margin: 0; padding: 0; border: none; } :root { --grey: #a7a3c2; --grey-light: #d5ceea; --grey-lighter: #f8f5ff; --black: #2a2c40; --main: #6116ff; --btnColor: #24008c; --btnBorder: #6116ff; --bg: #161827; /* Dark/Light Mode : */ --btnBg: #1c1f30; /* These custom properties are the colors that change */ --formText: #ffffff; /* when we switch from one mode to another */ --headerColor: #ffffff; --alertBg: #ffdb9b; --alertBorder: #ffa502; --alertColor: #ce8500; --alertCloseHover: #ffc766; } body { font-family: "Epilogue", sans-serif; } /* Button */ .tk-button { display: inline-flex; align-items: center; justify-content: center; border: none; padding: 12px; margin: 0; margin-bottom: 16px; text-decoration: none; background: var(--btnColor); color: #fff; font-family: "Epilogue", sans-serif; font-size: 15px; font-weight: 600; border-radius: 8px; cursor: pointer; position: relative; overflow: hidden; text-align: center; transition: all 150ms ease; -webkit-appearance: none; -moz-appearance: none; width: 100%; } .tk-button circle { transition: transform 150ms ease; } .tk-button > span { transition: transform 300ms ease; display: inline-block; } .tk-button:hover { box-shadow: 0px -4px 0px 0px var(--btnBorder) inset; -webkit-box-shadow: 0px -4px 0px 0px var(--btnBorder) inset; -moz-box-shadow: 0px -4px 0px 0px var(--btnBorder) inset; } .tk-button:hover circle { transform: translateX(5px); } .tk-button:hover > span { transform: translateX(-5px); } .tk-container { position: relative; width: 400px; height: 700px; /* had to fix the height because object height auto not working */ border: none; border-radius: 19px; background-color: var(--bg); box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; padding: 24px 24px 16px; transition: background-color 250ms; } .tk-header { display: flex; align-items: center; justify-content: center; text-align: center; margin-bottom: 24px; } .tk-header-title { font-size: 24px; color: var(--headerColor); font-weight: 900; } input { -webkit-appearance: none; -moz-appearance: none; } .tk-form-group { display: block; position: relative; width: 100%; margin-bottom: 24px; } .tk-form-label { position: absolute; top: calc(50% - 7.5px); transition: all 0.15s ease-in; pointer-events: none; font-size: 15px; color: var(--grey); } .tk-form-field { background: transparent; display: block; width: 100%; border: 0; border-bottom: 1px solid var(--grey-light); font-size: 15px; height: 40px; outline: 0; color: var(--formText); transition: color 250ms; } .tk-form-field:focus { border-color: var(--main); } .tk-form-field:focus + .tk-form-label, .tk-form-field:valid + .tk-form-label { top: -6px; font-size: 11px; font-weight: 600; color: var(--main); } /* Random position */ .random-switch { display: flex; margin-bottom: 18px; } .random-switch.active .tk-form-label { color: var(--formText); } .switch { display: inline-block; margin-left: auto; width: 40px; height: 24px; } .tk-slider { position: relative; cursor: pointer; width: 100%; height: 100%; display: block; background-color: #7d7a90; transition: 0.4s; border-radius: 34px; } .tk-slider:before { position: absolute; content: ""; border-radius: 50%; height: 20px; width: 20px; left: 2px; bottom: 2px; background-color: white; transition: 0.4s; } input:checked + .tk-slider { background-color: var(--btnColor); } input:focus + .tk-slider { box-shadow: 0 0 1px var(--btnColor); } input:checked + .tk-slider:before { transform: translateX(16px); } /* //////// */ .tk-row { display: flex; align-items: center; margin-bottom: 20px; } .tk-row .tk-form-group { margin-bottom: 0; } @keyframes diceShaking { 0% { transform: rotate(8deg); } 100% { transform: rotate(-8deg); } } .popup-overlay { position: fixed; z-index: 214740983; top: 0; bottom: 0; left: 0; border-radius: 19px; right: 0; margin: 0; width: 400px; height: 700px; padding: 0; } .popup-container { position: fixed; top: 0; right: 105px; width: 400px; height: 700px; /* height auto not working */ margin-top: 100px; padding: 0; background-color: white; border-radius: 19px; box-shadow: 0 1px 1px rgb(0 0 0 / 15%), 0 2px 2px rgb(0 0 0 / 15%), 0 4px 4px rgb(0 0 0 / 15%), 0 8px 8px rgb(0 0 0 / 15%); } .toasts { position: absolute; bottom: 20px; left: 0; transform: translate(64%); display: flex; max-width: 20%; flex-direction: column; align-items: flex-end; } .danger i { color: #ff355b; } .info i { color: #2f86eb; } .success { border-left: 8px solid #2dd672; background: #c5f3d7; } .success .msg, .success i { color: #4fbb85; } .success .close-btn { background: #94eab9; } .success .close-btn:hover { background: #94eab9; } .info { border-left: 8px solid #70c8ff; background: #d6f0fe; } .info .msg, .info i { color: #45b3fd; } .info .close-btn { background: #70c8ff; } .info .close-btn:hover { background: #54a9ee; } .danger { border-left: 8px solid #fb4b66; background: #fee1e3; } .danger .msg, .danger i { color: #eb6882; } .danger .close-btn { background: #fc99a4; } .danger .close-btn:hover { background: #f8a0aa; } .warning { border-left: 8px solid #ffc021; background: #ffdb9b; } .warning .msg, .warning i { color: #ce8500; } .warning .close-btn { background: #ffd080; } .warning .close-btn:hover { background: #ffc766; } .alert { margin: 5px; width: 100%; height: 80px; display: grid; grid-template-columns: 1.3fr 6fr 0.5fr; box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08); padding: 20px 40px; min-width: 423px; border-radius: 4px; overflow: hidden; opacity: 0; pointer-events: none; } .alert.showAlert { opacity: 1; pointer-events: auto; } .alert.show { animation: show_slide 1s ease forwards; } @keyframes show_slide { 0% { transform: translateX(100%); } 40% { transform: translateX(-10%); } 80% { transform: translateX(0%); } 100% { transform: translateX(-10px); } } .alert.hide { animation: hide_slide 1s ease forwards; } @keyframes hide_slide { 0% { transform: translateX(-10px); } 40% { transform: translateX(0%); } 80% { transform: translateX(-10%); } 100% { transform: translateX(100%); } } .alert .fa-exclamation-circle { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); font-size: 30px; } .alert .msg { padding: 0 20px; font-size: 18px; white-space: nowrap; } .alert .close-btn { position: absolute; right: 0px; top: 50%; transform: translateY(-50%); padding: 20px 18px; cursor: pointer; } .alert .close-btn .fas { font-size: 22px; line-height: 40px; } @media (min-width: 1000px) { .toasts { transform: translate(64%); } } @media (min-width: 500px) { .toasts { transform: translate(40%); } }