/* --- --- GOOGLE FONTS --- --- */ @import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Archivo+Black&display=swap'); /* --- --- VARIABLES --- --- */ :root { --primary-font: 'Poppins', sans-serif; --normal-weight: normal; --normal-style: normal; --titleFont: 'Archivo Black", sans-serif'; --primary-color: #b7b7b7; --accent-color: #219c90; --hover-color: #116d6e; --disabled-color: #ff8a8a; --bg-color: #202020; } /* --- --- CSS RESET --- --- */ *, *::before, *::after, body { outline: none; border: none; text-decoration: none; list-style: none; margin: 0; padding: 0; box-sizing: border-box; } /* --- --- STYLES --- --- */ body { background-color: var(--bg-color); color: var(--primary-color); font-family: var(--primary-font); font-weight: var(--normal-weight); font-style: var(--normal-style); text-align: justify; display: flex; justify-content: center; align-items: center; height: 100vh; padding: 20px 0; } h1#mainTitle { font-family: var(--titleFont); text-align: center; margin-bottom: 5px; font-size: 3rem; color: var(--accent-color); } h2#subTitle { font-family: var(--titleFont); text-align: center; margin-bottom: 20px; font-size: 1.2rem; } p#toolInfo { margin-bottom: 20px; } .container { max-width: 90%; width: 600px; } label { font-weight: bold; color: var(--accent-color); display: block; width: 100%; margin: 10px 0; } input, button { font-family: var(--primary-font); padding: 12px; font-size: 1rem; width: 100%; background-color: var(--bg-color); border: var(--accent-color) solid 1px; border-radius: 3px; margin: 5px 0; border: var(--accent-color) 1px solid; } input::placeholder { color: var(--primary-color); opacity: 0.6; font-style: italic; } input:focus, button:focus { outline: 2px solid var(--accent-color); outline-offset: 0px; color: var(--primary-color); } input:not(:focus) { font-family: var(--primary-font); font-weight: var(--normal-weight); font-style: var(--normal-style); color: var(--primary-color); } button { color: var(--primary-color); font-weight: bold; background-color: var(--accent-color); cursor: pointer; } button:hover { background-color: var(--hover-color); border: var(--hover-color) 1px solid; } button:disabled { background-color: var(--bg-color); color: var(--disabled-color); cursor: not-allowed; border: var(--disabled-color) 1px solid; } #progress { text-align: center; margin-top: 20px; font-size: 1rem; color: var(--primary-color); font-family: var(--primary-font); font-weight: bold; } #progress[role='status'] { outline: none; } #progressBar { width: 100%; height: 5px; background-color: #444; border-radius: 5px; margin-top: 10px; } #progressBar div { height: 100%; background-color: var(--accent-color); width: 0; border-radius: 5px; } /* --- --- STYLING FILE SELECT --- --- */ .file-upload-wrapper { display: flex; align-items: center; margin-bottom: 20px; } .custom-file-upload { width: auto; display: inline-block; padding: 10px 20px; background-color: var(--accent-color); color: var(--primary-color); border-radius: 3px; cursor: pointer; font-family: var(--primary-font); font-size: 1rem; } .custom-file-upload:hover { background-color: var(--hover-color); } .file-name { margin-left: 15px; font-family: var(--primary-font); color: var(--accent-color); font-size: 1rem; font-weight: bold; } input[type='file'] { display: none; /* Hide the native input */ } /* --- --- FOOTER --- --- */ footer { text-align: center; margin-block: 20px; font-size: small; opacity: 0.5; } footer span#year { color: var(--primary-color); font-weight: bold; } footer p#prohibition { color: var(--disabled-color); font-weight: bold; } /* Media Queries for responsiveness */ @media (max-width: 768px) { .container { width: 90%; } h1 { font-size: 2rem; } input, button { font-size: 1rem; padding: 10px; } } @media (max-width: 480px) { h1 { font-size: 1.8rem; } input, button { font-size: 0.9rem; padding: 8px; } }