*, *::after, *::before { box-sizing: border-box; margin: 0; padding: 0; } body { background: #fff; color: #000; font-family: Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.618; display: flex; flex-flow: column nowrap; min-height: 100vh; } .header, .main, .footer { width: min(calc(100vw - 2rem), 80ch); margin-left: auto; margin-right: auto; } .header { padding: 2rem 0 3rem; text-align: center; } .main { flex: 1; display: flex; flex-flow: column nowrap; align-content: flex-start; } .footer { margin-top: 2rem; padding: 1rem 0; } .copyright { font-size: 0.9rem; text-align: center; } .form { border: solid 2px hsl(219, 64%, 35%); border-radius: 5px; padding: 1rem; margin: 0 auto; } .form__fieldset { border: none; display: flex; flex-flow: row wrap; align-items: center; gap: 0.5rem; } .form__legend { color: hsl(219, 64%, 35%); font-weight: 600; font-size: 1.1rem; margin-bottom: 2rem; } .form__label { cursor: pointer; font-weight: 600; } .form__input { border: 1px solid hsl(219, 64%, 35%); font: inherit; line-height: inherit; padding: 0.2rem 0.5rem; } .btn { background: #fff; border: 2px solid hsl(219, 64%, 35%); color: hsl(219, 64%, 35%); font: inherit; font-weight: 600; line-height: inherit; padding: 0.2rem 0.5rem; cursor: pointer; } .btn:hover, .btn:focus { background: hsl(219, 64%, 35%); color: #fff; } .error-box { border: 1px solid hsl(0, 75%, 38%); color: hsl(0, 75%, 38%); font-weight: 600; margin: 0 auto 2rem; padding: 1rem; width: max-content; } .result-box { display: flex; gap: 0.5rem; margin-top: 2rem; } .result-box__label { font-weight: 600; }