:root { --primary: #4338ca; --secondary: #333; } * { box-sizing: border-box; } :focus { outline: 0; } body { font-family: "Segoe UI", "Helvetica Neue", Inter, sans-serif; font-size: 16px; line-height: 24px; color: #111; margin: 0 auto; } h1, h2, h3, h4 { line-height: 1.3em; } a { color: var(--primary); } a:hover { color: #111; text-decoration: none; } input, select, button { border-radius: 5px; border: 1px solid #ddd; font-size: 1.3rem; padding: 10px 15px; width: 100%; } input:focus, select:focus { border-color: var(--primary); } button { border-color: var(--primary); background: var(--primary); color: #fff; cursor: pointer; width: auto; padding: 10px 30px; } button:focus, button:hover { border-color: var(--secondary); background: var(--secondary); } label { display: block; padding-bottom: 0.5rem; } .box { box-shadow: 1px 1px 4px #eee; border: 1px solid #eee; padding: 30px; border-radius: 3px; } .hidden { display: none !important; } .main { margin: 60px auto 30px auto; max-width: 900px; } header { text-align: center; font-size: 1.5em; margin-bottom: 60px; } .logo span { color: var(--primary); font-weight: 900; } form { margin-bottom: 45px; } .row { display: flex; margin-bottom: 15px; } .row .field { flex: 50%; } .row .field:last-child { margin-left: 30px; } .submit { text-align: right; } .help { color: #666; font-size: 0.875em; } #message { color: #ff3300; } table.box { width: 100%; max-width: 100%; padding: 0; } table th { background: #f9fafb; color: #666; font-size: 0.875em; border-bottom: 1px solid #ddd; } table th, tbody td { padding: 10px 15px; text-align: left; } td.name { font-weight: bold; } th.type, td.type { text-align: center; } td.type { background: #d1fae5; color: #065f46; font-weight: bold; } footer { margin: 60px 0 0 0; text-align: center; } footer a { text-decoration: none; } @media (max-width: 650px) { .main { margin: 60px 30px 30px 30px; } .box { box-shadow: none; border: 0; padding: 0; } .row { display: block; } .field { margin: 0 0 20px 0; } .row .field:last-child { margin: 0; } .submit button { width: 100%; } table { table-layout: fixed; } table th { width: 100%; } table tr { border-bottom: 0; display: flex; flex-direction: row; flex-wrap: wrap; margin-bottom: 30px; } table td { border: 1px solid #eee; margin: 0 -1px -1px 0; position: relative; width: 100%; word-wrap:break-word; } table th.type, table td.type { text-align: left; } table td span { display: block; } }